Rabu, 21 September 2016

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.

Share:

0 komentar:

Posting Komentar