Mengenai Algoritma dan Kriteria Algoritma yang Baik.
Apa itu Algoritma?
Algoritma merupakan tahapan-tahapan perhitungan yang sistematis tentang
jalannya suatu program dari awal sampai akhir yang digunakan untuk menyelesaikan suatu masalah. 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.Algoritma berasal dari kata algoris dan ritmis yang pertama
kali diungkapkan oleh Abu Ja’farMohammad Ibn Musa Al Khowarizmi (825M) dalam
buku Al- Jabr Wa-al Muqobla. Penggunaan Pertama pada tahun 1950, algoritma pertama kali
digunakan pada Algoritma Eucliden (Euclid Algorithm). Euclid sendiri merupakan
seorang matemaitkawan Yunani yang lahir sekitar 350 SM. Euclid menulis buku
yang berjudul Element. Di dalam buku tersebut, dijelaskan langkah-langkah untuk
menemukan pembagi bersama terbesar (common greatest divisor) dari dua bilangan
bulat, yakni m dan n. Namun, Eucliden pada saat itu tidak menyebutkan bahwa
cara yang digunakannya adalah metode algoritma. Hal tersebut baru disebut
sebagai algoritma pada abad-abad modern.
Dalam pemrograman algortima berarti suatu metode
khusus yang tepat dan terdiri dari serangkaian langkah-langkah yang terstruktur
dan dituliskan secara sistematis yang akan dikerjakan untuk menyelesaikan
masalah dengan bantuan komputer.Secara sederhanya algoritma dapat didefinisikan urutan
langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Kata
logis berarti bahwa nilai kebenarannya harus dapat ditentukan, benar atau
salah. Langkah-langkah yang tidak benar dapat memberikan hasil yang salah
Contoh nyata dari algoritma sederhana yang biasa atau mungkin sering kita lakukan dalam kehidupan sehari-hari adalah
pada saat kegatan kita memasak air. Hal-hal yang perlu dilakukan dalam proses memasak air kurang lebih seperti
berikut : siapkan panci, masukkan air secukupnya ke dalam panci, tutup panci
tersebut, letakkan panci tersebut di atas kompor, hidupkan kompor dengan api
sedang, apabila air sudah mendidih, matikan kompor, setelah itu angkat panci
tersebut dari kompor. Langkah-langkah untuk memasak air tersebut merupakan
algoritma memasak air. Sehingga memiliki urutan langkah-langkah yang logis.
Kriteria Algoritma Menurut Donald E. Knuth.
Menurut Bapa "Analisis Algoritma" Donald Ervin Knuth, atau biasa dipanggil dengan Knuth ini, ada 5 kriteria menuurut beliau yang menjadi syarat algoritma itu baik dan benar, dan algoritma yang baik dan benar harus memiliki kriteria-kriteria berikut ini:
1. Input
Program minimal harus memiliki nol input atau lebih dari
luar. Setiap program pasti memiliki input. Yang dimaksud dengan memiliki nol
input berarti program tidak mendapat masukan data dari pengguna secara
langsung, namun semua data akan digunakan oleh program yang sudah
dideklarasikan di dalam kode program yang akan dieksekusi. Jadi tidak perlu
diinputkan dari luar. Sedangkan mendapat input dari pengguna, data bisa
dimaksukkan melalui program.
2. Output
Program minimal harus memiliki 1 output keluaran hasil
eksekusi. Setiap program pasti memiliki output karena program dibuat untuk
tujuan tertentu. Output program bisa berbentuk file, video, teks, dll, atau
disimpan di clipboard yang kemudian digunakan di program lain atau disimpan
dalam basis data.
3. Finiteness (Ada batasnya)
Program yang dibuat harus pasti dan ada batasnya. Suatu
program yang dieksekusi haruslah berhenti dan selesai, bukan harus berjalan
terus-menerus hingga hang up atau not responding, dan ujung-ujungnya harus
di-kill atau dimatikan dengan paksa, jadi pada algoritma pemogramanya harus memiliki
titik berhenti atau stopping role. Suatu program
dapat mengalami infinite (tak terbatas) karena kesalahan dari programmer. Walau
sistem operasi tidak terbatas (infinite), tetapi sistem operasi juga akan mati
jika komputer di shutdown.
4. Definiteness (Pasti)
Suatu program harus jelas arah dan tujuannya. Program harus
jelas kapan mulai dan kapan berakhir, apa tujuannya, dan memiliki logika yang jelas
agar dapat menghasilkan output yang sesuai dengan yang diinginkan. Contoh nyata keambiguan dalam kehidupan sehari-hari misalkan anda memerintah seorang yang berada pada lantai 7 sebuah gedung untuk turun kebawah, itu adalah perintah ambigu karena tidak secara sepesifik perintah tadi. Bawah mana? bawah tanah kah?.
5. Effectiveness (tepat dan efisien)
Algoritma atau
program harus tepat dan efisien, artinya program tidak memakan banyak memori,
tidak melakukan hal-hal yang tidak perlu. Kenapa? Karena setiap program akan
memakan waktu untuk eksekusi. Jika melakukan hal-hal yang tidak perlu, bukan
tidak mungkin program tesebut akan lelet. Algoritma sebisa mungkin harus dapat
dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0
atau A = A * 1
Sekian mengenai sedikit penjelasan tentang algoritma, Wassalam.
0 komentar:
Posting Komentar