Apakah itu Algoritma?
Ditinjau dari asal-usul katanya, kata algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan algorits jika anda menghitung menggunakan angka arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. nAkhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis Buku Arab yang terkenal, yaitu Abu Jafar Muhammad Ibnu Musa Al-Khauarizm, Al-Khuarizm, dibaca orang barat menjadi algorism. Al-khuarizm menulis buku yang berjudul Kitab Al-Jabar Wal-Muqabala yang artinya "Buku Pemograman dan Pengurungan" (The Book of Restonation and Reduction). Dari judul buku itu kita juga memperoleh akar kata "Al Jabar" (Al Gebra).
Perubahan kata dari Algorism menjadi Algoritma muncul karena kata Algorism sering dikelirukan dengan arithmetic. Karena perhitungan dengan angka arab sudah menjadi hal biasa, maka lambat laun kata algoritm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umu, sehingga kehilangan makna aslinya. Dalam Bahasa Indonesia, kata Algorithm diserap menjadi Algoritma.
Defini Algoritma
"Algortima adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis." Kata logis merupakan kata kunci dalam algoritma langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu pertimbangan dalam pemilihan algoritma tertentu adalah pertama, algoritma haruslah benar, artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah pastilah algoritma tersebut bukanlah algoritma yang tepat.
Pertimbangan kedua yang harus diperhatikan adlaah kita harus mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukan aproksinasi hasil (hasil yang hanya berupa pendekatan) algoritma yang baik harus mampu memberikan hasil sedekat mungkin dengan nilai yang sebenernya.
Ketiga adalah efisiensi algoritma dapat dituju dari 2 hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar (paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipakai setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar memori yang dipakai maka semakin buruklah algoritma tersebut. Dalam kenyataanya setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahn, walaupun terjadi perbedaan dalam menyusun algoritma. Tentunya kitaa mengharap keluaran yang sama. Jika terjadi demikian, carilah algoritma yang paling efisiensi dan cepat.
Perbedaan Algoritma dan Program
Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan dalam program adalah logaritma. Program ditulis dengan menggunakan bahasa pemograman. Jadi program adalah suatu plementasi dari bahasa pemograman. Beberapa pakar memberi formula bahwa
Program = algoritma+bahasa (struktur data)
Bagaimana pun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik, demikian juga sebaliknya. Pembuatan algoritma mempunyai banyak keuntungan diantaranya :
Beberapa hal yang perlu diperhatikan dalam membuat algoritma :
Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan dalam program adalah logaritma. Program ditulis dengan menggunakan bahasa pemograman. Jadi program adalah suatu plementasi dari bahasa pemograman. Beberapa pakar memberi formula bahwa
Program = algoritma+bahasa (struktur data)
Bagaimana pun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik, demikian juga sebaliknya. Pembuatan algoritma mempunyai banyak keuntungan diantaranya :
- Pembuatan atau penulisan tidak tergantung pada bahasa pemograman manapun, artinya penulisan algoritma independen dari bahasa pemogramandan komputer yang melaksanakannya.
- Notasi algoritma dapat diterjemahkan kedalam berbagai bahasa pemograman.
- Apapun bahasa pemogramannya output yang akan dikeluarkan sama karena algoritmanya sama.
Beberapa hal yang perlu diperhatikan dalam membuat algoritma :
- Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskrpsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti.
- Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmatik.
- Setiap orang dapat membuat aturan penulisan dan notasi algoritmatik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun supaya notasi algoritmatik mudah ditranslasikan atau diterjemahkan ke dalam notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemograman secara umum.
- Notasi algoritmik bukan notasi bahasa pemograman karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer pseudocode dalam notasi bahasa pemograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terlibat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalankannya.
- Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemograman sort ." atau pertanyaan ini: "Bagaimana algoritma dan program menggambarkan grafik tersebut?" Jika Anda sudah memahami pengertian algoritma yang sudah disebutkan sebelum ini, Anda dapat membedakan arti kata algoritma danprogram. Algoritma adalah langkah-langkah penyelesaian masalah, sedangkan program adalah realisasi algoritma dalam bahasa pemograman (programming). Orang yang menulis program disebut pemogram (Programmer). Tiap-tiap langkah didalam program disebut pernyataan atau intruksi. Jadi, program tersusun atas sederetan intruksi. Bila suatu intruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan intruksi tersebut dikerjakan komputer.
Tidak ada komentar
Posting Komentar