Sejauh ini sebetulnya belum ada standarisasi tentang bagaimana menyusun algoritma. Namun pada prinsipnya, kita diberikan kebebasan untuk menyusun bentuk algoritma (algorithm). Kendati begitu, kita pasti memerlukan sebuah kriteria algoritma atau dasar untuk merancang algoritma yang baik dan benar.
Lalu apa kriteria itu? Menurut KBBI, Kriteria adalah ukuran yang menjadi dasar penilaian atau penetapan sesuatu. Dan pada postingan kali ini, kita akan mempelajari apa saja ukuran dasar dari penyusunan algoritma.
Kriteria yang akan dijabarkan diambil dari buku yang ditulis oleh Donald E. Knuth. Beliau adalah seorang ilmuwan komputer, matematikawan dan sudah menulis banyak buku tentang Algoritma. Dan berikut adalah penjabarannya:
Daftar Isi
Kriteria Penyusunan Algoritma
1. Input (Masukan)
Sebuah Algoritma harus memiliki nol input atau inputan dari pengguna (user). Apa yang dimaksud dengan nol input? Nol input dapat diartikan algoritma atau program tidak mendapat inputan data dari pengguna. Bukan berarti algoritma tidak memiliki masukan sama sekali, tetapi inputan pada algoritma sudah di deklarasikan diawal program.
Contoh :
Program mencari sebuah luas lingkaran yang memiliki rumus phi x jari-jari x jari-jari. Pada program tersebut pengguna hanya menginputkan nilai dari jari-jari tetapi tidak nilai phi. Hal ini dikarenakan nilai phi sudah dideklarasikan pada program yaitu 22/7 atau 3.14
Sedangkan yang dimaksud dengan inputan dari pengguna. Seperti contoh diatas, dimana panjang jari-jari perlu diinputkan agar program dapat berjalan dan memberikan hasil yang diinginkan.
2. Output (Keluaran)
Dalam penyusunan kriteria algoritma yang baik dan benar minimal harus memiliki satu output. Ini karena algoritma mengusung teori IPO (Input-Proses-Output) dimana setiap ada masukan pasti ada proses dan keluarannya.
Output yang dikeluarkan oleh program dapat berbentuk File, Video, teks, audio dan lain sebagainya. Dapat juga output nya sebagai sebuah data yang disimpan di database.
3. Finiteness (Terbatas)
Terbatas disini bukan artinya mempunyai keterbatasan dalam pengembangan algoritma tetapi algoritma yang dijalankan harus mempunyai batas.
Atau bisa diartikan juga suatu program yang dirancang dan dieksekusi haruslah berhenti dan selesai pada output. Program yang buruk adalah program yang mengalami infinite, yaitu semacam program berjalan terus menerus sampai not responding atau bahasa kerennya nge-Hang.
4. Definiteness (Pasti)
Dalam perancangan, program harus memiliki algoritma yang pasti dimana arah dan tujuan yang jelas. Program yang baik adalah program yang memiliki algoritma dengan pernyataan yang jelas seperti kapan mulai dan kapan berakhirnya sebuah progam, tujuan dari program dan output yang jelas.
Pada hal ini cukup diperlukan tingkat ke peka an dalam membangun program (software) guna memperkecil persentasi hasil yang tidak diinginkan.
5. Efisien
Penyusunan kriteria algoritma yang terakhir adalah Efisien. Menurut KBBI (Kamus Besar Bahasa Indonesia), efisien adalah tepat atau sesuai untuk mengerjakan (menghasilkan) seauatu dengan tidak membuang-buang waktu, tenaga dan biaya. Hal ini menandakan bahwa algoritma yang ditulis pada program haruslah efisien.
Bagaimana program yang efisien? Program yang efisien adalah program yang tidak memakan banyak memori dan tidak melakukan hal-hal yang tidak diperlukan selama proses. Lalu kenapa efisien masuk dalam kriteria algoritma yang baik? Karena setiap program akan memakan waktu dalam setiap proses eksekusinya. Jika program mengerjakan hal-hal yang tidak perlu dilakukan, maka bisa dipastikan program tersebut akan berjalan lambat.
Kesimpulan Kriteria Algoritma
Dari kriteria-kriteria algoritma diatas, kita dapat menarik beberapa kesimpulan antara lain :
- Penyusunan Kriteria Algoritma harus jelas dan logis, fokus terhadap masalah yang harus diselesaikan.
- Proses yang dijalankan harus jelas (tidak rancu atau mempunyai dua arti) dan mempunyai batasan dimana algoritma akan berakhir.
- Algoritma haruslah efektif dan efisien untuk menyelesaikan masalah yang ada.
Sekian dari saya, semoga postingan “Kriteria-kriteria Algoritma yang Baik dan Benar” dapat memberikan kita pengetahuan tentang kriteria algoritma lebih dalam lagi. Bila ada kesalahan dalam penulisan mohon dikoreksi, saya menunggu respon mengenai postingan ini dari rekan-rekan semua dapat melalui kolom komentar ataupun email ke me@masirwin.com. Terima kasih, keep calm and always code programming!!!
Wasallam,
Sumber :
- Knuth, D. E. 1973. The Art of Computer Programming. Addison-Wesley Published Company.
- Kamus Besar Bahasa Indonesia. Kriteria. http://kbbi.web.id/kriteria [diakses 1 November 2016]
- Kamus Besar Bahasa Indonesia. Efisien. http://kbbi.web.id/efisien [diakses 2 November 2016]