Kriteria-Kriteria Algoritma yang Baik dan Benar

Kriteria-Kriteria Algoritma yang Baik dan Benar

Kriteria Algoritma – 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:

Artikel Lain : Definisi Algoritma Menurut Para Ahli

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 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.

Artikel Lain : Langkah Awal Belajar Bahasa Pemrograman

5. Efisien

Kriteria dalam penyusunan 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 tidah 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 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]

24 Comments

  1. Cumilebay
    8 November 2016

    Ujung2 nya fokus pda masalah dan penyelesaian nya

    Balas
    1. Irwin Andriyanto
      10 November 2016

      Betul banget om Toro, semua masalah pasti kita mikirnya menyelesaikan masalahnya bukan menambahkan masalah… Betul gak om??

      Balas
  2. Helmi mail
    8 November 2016

    Harus bner2 paham masalah yang mau diselesaikan. Hehe

    Balas
    1. Irwin Andriyanto
      10 November 2016

      Betul banget mas Helmi, kita harus tau masalah nya… Yang penting jangan cari masalah

      Balas
  3. NoeyLab
    8 November 2016

    Jujur saya baru tau kriteris algoritma begini Mas Irwin..hehhee

    Balas
    1. Irwin Andriyanto
      13 November 2016

      Wah kalo saya sudah lama mas… sekitar pas tahun 2011 lah hihi pas mau masuk kuliah hehehe

      Balas
  4. Hendra Suhendra
    8 November 2016

    Yang dimaksud dengan penyelesaian yang ada itu seperti apa penjabarannya mas? Hehehe, penasaran

    Balas
    1. Irwin Andriyanto
      13 November 2016

      yah bisa diartikan solusi atau jalan keluar dari masalah yang sedang dihadapi

      Balas
  5. Kreasikan
    8 November 2016

    oh ini kriteria dari algoritma, baru tau saya mas, tapi emang penyelesaiannya itu loh kadang bikin pusing

    Balas
    1. Irwin Andriyanto
      13 November 2016

      Jangan di ambil pusing mas,,, nikmati saja setiap masalahnya nanti juga ada jalan keluarnya… yang penting mau berusaha saja

      Balas
  6. nunu amir
    13 November 2016

    Woowww… programmer rupanya!!!
    baca ini jadi ingat mata kuliah logika dan algoritma

    Balas
    1. Irwin Andriyanto
      13 November 2016

      siapa ??? siapa yang programmer mba???

      Balas
  7. Reza Andrian
    1 Desember 2016

    Lama nggak main ke blognya mas Irwin… jadi sekarang brandnya udah diubah ya? Hmm, kalau memang itu jalan yang terbaik, lanjutkan, mas!
    Ngomong-ngomong soal algoritma… kriteria algoritma di atas masuk di soal UTS gue kemarin. Hahaha

    Balas
    1. Irwin Andriyanto
      4 Desember 2016

      brand apa nih mas??? hihi

      wah saya telat donk nulisnya hihi

      Balas
  8. saleo
    6 Desember 2016

    Apa algoritma cinta juga berpatokan pada kriteria-kriteria ini? #halah

    Balas
    1. Irwin Andriyanto
      6 Desember 2016

      Duh Gimana jawabnya ini….

      Balas
  9. muhammad nashi
    15 Desember 2016

    wah ada kriteria juga ya gan bau tau ane btw apakah harus runtut??

    Balas
    1. Irwin Andriyanto
      15 Desember 2016

      Runtut apa nih ? Kriteria algoritmanya?

      tidak perlu runtut tapi disarankan memenuhi semuanya dalam perancangan sebuah algoritma

      karena masing-masing kriteria saling berkaitan

      Balas
  10. Mymastah
    15 Desember 2016

    Pusing ane belajar pemrograman, tanya tanya,dapat saran harus belajar algoritma dlu. Tambah bingung lgi :3

    Balas
    1. Irwin Andriyanto
      15 Desember 2016

      yang penting niat nya kuat pasti ketemu jalannya dan gak bingung lagi 😀

      Balas
  11. Artha N Jonar
    15 Desember 2016

    wah ini konseptual banget, dulu kayaknya malah saya gak pernah dapat mengenai konsep ini

    Balas
    1. Irwin Andriyanto
      15 Desember 2016

      Makasih Pak,,,, Senang bisa sharing

      Balas
  12. Dwi siswanto
    15 Desember 2016

    Matep gan lni yang saya tunggu, artikel yang keren ,komplit dan mudah di cerna,,sangat sangat membatu, makasih gan

    Balas
    1. Irwin Andriyanto
      15 Desember 2016

      *Tepuk Tangan*

      Balas

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *