Sabtu, 24 Desember 2011

PENGANTAR ALGORITMA DAN PROGRAM : Menilai Sebuah Algoritma


1.2. Menilai Sebuah Algoritma 

 Oleh : Fahrorozi

Ketika manusia berusaha memecahkan masalah, metode atau teknik yang digunakan untuk memecahkan masalah itu ada kemungkinan bisa banyak (tidak hanya satu). Dan kita memilih mana yang terbaik di antara teknik-teknik itu. Hal ini sama juga dengan algoritma, yang memungkinkan suatu permasalahan dipecahkan dengan metode dan logika yang berlainan. Yang menjadi pertanyaan adalah bagaimana mengukur mana algoritma yang terbaik?

Beberapa persyaratan untuk menjadi algoritma yang baik adalah:
•  Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar.
•  Pemrosesan yang efisien (cost rendah). Proses harus diselesaikan secepat mungkin dan frekuensi kalkulasi yang sependek mungkin.

•  Sifatnya general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain yang lebih general.
•  Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan requirement yang ada.
•  Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami algoritma Anda. Susah dimengertinya suatu program akan membuat susah di-maintenance (kelola).
• Portabilitas yang tinggi (portability). Bisa dengan mudah diimplementasikan di berbagai platform komputer.
•   Precise (tepat, betul, teliti). Setiap instruksi harus ditulis dengan seksama dan tidak ada keragu-raguan, dengan demikian setiap instruksi harus dinyatakan secara eksplisit dan tidak ada bagian yang dihilangkan karena pemroses dianggap sudah mengerti. Setiap langkah harus jelas dan pasti.
  Contoh:   Tambahkan 1 atau 2 pada x.
      Instruksi di atas terdapat keraguan.
•  Jumlah langkah atau instruksi berhingga dan tertentu. Artinya, untuk kasus yang sama banyaknya, langkah harus tetap dan tertentu meskipun datanya berbeda.
•  Efektif. Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh
pemroses yang akan menjalankannya.
  Contoh: Hitung akar 2 dengan presisi sempurna.
  Instruksi di atas tidak efektif, agar efektif instruksi tersebut diubah.
Misal: Hitung akar 2 sampai lima digit di belakang koma.
•  Harus  terminate. Jalannya algoritma harus ada kriteria berhenti.
Pertanyaannya adalah apakah bila jumlah instruksinya berhingga maka
pasti terminate?
•   Output yang dihasilkan tepat. Jika langkah-langkah algoritmanya logis
dan diikuti dengan seksama maka dihasilkan output yang diinginkan.

Tidak ada komentar:

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Online Project management