DESAIN WEB

About Me

Selasa, 04 Desember 2012



ALGORITMA DALAM KEHIDUPAN SEHARI-HARI
Proses semacam algoritma sebenarnya dijumpai dalam sehari-hari. Jika Anda membaca resep makanan, selain bahan-bahan digunakan, Anda juga akan melihat prosedur untuk membuat masakan. Prosedur dalam resep seperti itu sebenarnya menyatakan semacam algoritma. Dengan mengikuti langkah-langkah yang diberikan itu maka Anda akan dapat membuat masakan itu. Dalam pengertian sekarang, algoritma mempunyai kesamaan tidak hanya dengan resep makanan, tetapi juga dengan proses metode, atau prosedur. Sebagai contoh, Gambar 3.1 memperlihatkan suatu prosedur untuk memanaskan makanan ke dalam oven microwave.

            1. Taruhlah makanan dalam wadah yang aman untuk microwave.
            2. Tutuplah pintu microwave dengan rapat.
            3. Tancapkan steker ke stop kontak.
            4. Putarlah knop ke posisi 5 menit.
            5. Tunggu sampai lampu mati dan ada bunyi ‘ting’.
            6. Lepaskan steker dari stop kontak.
            7. Bukalah pintu oven microwave dan keluarkan wadah yang berisi makanan tersebut.
Gambar 3.1 Contoh suatu prosedur
Prosedur itu merupakan suatu urutan yang memandu orang untuk melakukan suatu proses.
 Namun, ada perbedaan antara algoritma dan prosedur. Prosedur biasanya bersifat global dengan mengasumsikan bahwa manusia telah mengetahui rincian langkah-langkah tertentu. Sebagai contoh, perhatikan prosedur berikut :

1. Ambil 5 buah kartu.
2. Urutkan kartu tersebut.
Pada langkah kedua, manusia bisa mengurutkan kartu tersebut dengan mudah tanpa harus diberi tahu caranya. Namun hal seperti itu tidak bisa diterapkan pada computer. Jika komputer mengenal lima buah data dan kita mengharapkan komputer untuk mengurutkannya, kita harus member tahu secara detail bagaimana cara mengurutkannya. Itulah sebabnya di dalam ilmu komputer terdapat berbagai algoritma yang ditujukan untuk mengurutkan data, seperti bubble sort, insertion sort, dan quick sort. Algoritma-algoritma ini menjamin bahwa setiap langkah akan dapat dikerjakan oleh komputer.

3.2      DASAR PENYUSUNAN ALGORITMA

Sejauh ini tidak ada standarisasi tentang bagaimana menyusun algoritma. Secara prinsip, Anda mempunyai kebebasan untuk menyusun bentuk suatu algoritma. Anda bisa menggunakan kata-kata dalam bahasa manusia,pseukode atau bahkan diagram alir untuk mewujudkan suatu algoritma.

Walaupun begitu ada beberapa hal yang perlu diperhatikan dalam menyusun suatu algoritma. Menurut Knuth (1973, hal. 4) dan juga Horowitz dkk (1999, hal. 1), ada lima cirri penting yang harus dimiliki sebuah algoritma yaitu berupa finiteness, definitiness, masukan, keluaran, dan efektivitas.

1. Finitiness. Finitiness  menyatakan bahwa suatu algoritma harus berakhir untuk semua kondisi setelah memproses sejumlah langkah.

2. Definitiness. Definitiness menyatakan bahwa setiap langkah harus dinyatakan dengan jelas (tidak rancu atau mendua-arti).

3. Masukan. Setiap algoritma bisa tidak memiliki masukan atau mempunyai satu atau beberapa masukan. Masukan merupakan suatu besaran yang diberikan di awal sebelum algoritma diproses.

4. Keluaran. Setiap algoritma memiliki keluaran, entah hanya sebuah atau banyak keluaran. Keluaran merupakan besaran yang mempunyai kaitan atau hubungan dengan masukan.

5. Efektivitas. Setiap algoritma diharapkan bersifat efektif, dalam arti semua operasi yang dilaksanakan oleh algoritma haruslah sederhana dan dapat dikerjakan dalam waktu yang terbatas. Secara prinsip, setiap instruksi dalam algoritma dapat dikerjakan oleh orang dengan hanya menggunakan kertas dan pensil.


Menurut Cormen, dkk. (1994, hal. 2), sebuah algoritma dikatakan benar, untuk berbagai ragam masukan, jika algoritma berakhir dengan keluaran yang benar. Pada keadaan seperti ini, algoritma menyelesaikan masalah komputasi yang diberikan.

Selain ketentuan-ketentuan yang telah disebutkan, patut pula ditekankan disini untuk selalu menghindari langkah yang merujuk ke langkah lain. Contoh perujukan ke langkah lain ditunjukkan pada contoh berikut, yang membahas algoritma Euclid yang dijelaskan oleh Knuth (1973, hal 2.).

0 komentar:

Posting Komentar