Monday, September 18, 2017

Penyajian Algoritma

Menurut Donald Ervin Knuth, tang dikenal dengan Bapak "Analisis Algoritma", algoritma yang baik dan benar harus memiliki kriteria-kriteria berikut ini:

  • Input
  • Output
  • Finite
  • Definite
  • Efisien

1. Input

Algoritma memiliki nol input atau lebih dari pengguna. Setiap algoritma pasti memiliki input. Yang dimaksud dengan nol input dari pengguna adalah bahwa algoritma tidak mendapatkan masukan dari pengguna, tapi semua data inputan yang digunakan algoritma tidak dari pengguna secara langsung, namun semua data yang akan diproses sudah dideklarasikan oleh algoritma terlebih dahulu. Sebagai contoh sebuah algoritma menghitung 100 bilangan genap yang pertama tidak memerluakan input dari pengguna karena sudah diketahui bahwa banyaknya bilangan genap adalah 100. Berbeda jika algoritm tersebut digunakan untuk menghitung n bilangan genap pertama, dengan nilai n dari pengguna. Berarti ada masukan dari pengguna yaitu n.

2. Output

Algoritma minimal harus memiliki 1 output. Tujuan dari algoritma adalah memberikan penyelesaian dari suatu permasalahan dengan langkah-langkah tertentu. Penyelesaian itulah output dari algoritma yang dimaksud. Output dapat berupa apa saja, teks, file, video, suara, dan lain-lain atau suatu nilai yang disimpan untuk digunakan algoritma lain atau disimpan di basis data. 
3. Finite (Terbatas)

Algoritma yang baik haruslah mempunyai langkah-langkah terbatas, yang berakhir pada suatu titik di mana algoritma itu akan berhenti dan menghasilkan suatu output. Algoritma tidak boleh berjalan terus –menerus tanpa titik henti, hingga menyebabkan hang atau not responding jika diterapkan pada komputer. Ketika sebuah algoritma berjalan terus menerus (infinite), maka ini mengindikasikan ada kesalahan yang dibuat oleh programmer dalam mengembangkan algoritma.

4. Define (Pasti)

Makna dari langkah logis pada definisi algoritma terdahulu tercermin dari langkah-langkah yang pasti, tidak ambigu atau bermakna ganda. Suatu program harus mempunyai arah dan tujuan yang jelas ,kapan mulai dan kapan berakhir. Dalam menyusun langkah-langkah dalam algoritma perlu dihindari kata-kata seperti secukupnya, beberapa, sesuatu, sebentar, lama, atau kata lain yang tidak terukur dengan pasti. Pemberian nomor pada algoritma dapat membantu pengguna mengikuti setiap langkah dengan pasti hingga mencapai akhir dari algoritma, yaitu solusi dari permasalahan.

5. Efisien

Program menghasilkan output yang benar, itu wajib. Tapi bagaimna jika output yang benar itu dilakukan dengan waktu yang lama padahal ada algoritma lain yang lebih cepat? Hal ini menunjukkan bahwa setiap algoritma, khususnya jika sudah diterapkan pada pemrograman, mempunyai waktu eksekusi (running time). Algoritma disebut efisien jika untuk mendapatkan suatu solusi tidak memerlukan memori yang banyak, proses yang berbelit-belit dan tidak perlu. Jika algoritma terlalu banyak melakukan hal-hal yang tidak perlu akan menyebabkan waktu eksekusi menjadi lebih lama. 

23 comments:

  1. algoritma itu dipakai buat apa sih gan sebenarnya? saya masih kurang paham, bisa dibuat artikel algoritma itu untuk apa? dan manfaat penggunaan algoritama

    ReplyDelete
  2. niatnya mau belajar ini cuman pu s i ng :v

    ReplyDelete
  3. wah mamtab suhu pemyajian nya lengkap ane jd tau apa itu algoritma thanks gan

    ReplyDelete
  4. akhirnya paham juga penyajian algoritama

    ReplyDelete
  5. pelajaran yg bikin pusing algoritma :v

    ReplyDelete
  6. Mau belajar algoritma disini aja dah

    ReplyDelete
  7. Kalo gaada kriteria diatas bakal jadi seperti apa itu algoritma gan?

    ReplyDelete
  8. Pembahasan yang lengkap bang, makasih atas info yang bermanfa'at ini.

    ReplyDelete
  9. Selain input dan output ternyta msih harus phami lgi yg lainnya.. Artikel ny bermanfaat min izin share

    ReplyDelete
  10. agak mumet juga ya algoritma itu, makasih gan sudah diberi infonya biar lumayan paham sekarang

    ReplyDelete
  11. Penhetahuan baru nih seputar algoritma...

    ReplyDelete
  12. Ini nih dasar-dasar buat yang suka dengan pemrograman. Saya akan rekomendasikan ke ade saya yang suka programming

    ReplyDelete
  13. Owh, Ane Baru Tahu Gan Thanks Infonya

    ReplyDelete
  14. Yang paling susah dipahami itu ini wkwk

    ReplyDelete
  15. Waah Mantep Gan Penjelasannya, Jadi Kalau Ada Tugas Algoritma Bisa Lihat Disini Penjelasannya :D

    ReplyDelete