Selasa, 27 Januari 2009

1.1. Konsep Algoritma

Penyelesaian permasalahan dengan menggunakan alat bantu sistem komputer paling tidak akan melibatkan lima tahapan, yaitu:
1. Analisis masalah
2. Merancang algoritma
3. Membuat program komputer
4. Menguji hasil program komputer
5. Dokumentasi

Tahapan-tahapan tersebut dapat dikelompokkan menjadi dua, yaitu fase penyelesaian permasalahan (problem solving phase) dan fase implementasi (implementation phase). Fase penyelesaian permasalahan, terdiri atas dua langkah paling awal, yaitu:
1. Analisis masalah, dan
2. Merancang algoritma
Sedangkan fase implementasi meliputi tiga langkah berikutnya, yaitu:
3. Membuat program komputer (coding),
4. Menguji hasil program komputer (debuging), dan
5. Dokumentasi (documentation)

Langkah pertama, yaitu analisis masalah merupakan langkah paling awal untuk mengetahui lebih jauh tentang permasalahan yang akan diselesaikan dengan menggunakan alat bantu sistem komputer. Langkah ini bertujuan untuk menemukan ide-ide kemungkinan solusi terhadap permasalahan.

Langkah kedua, yaitu merancang algoritma dilakukan dengan tujuan utama sebagai berikut:
a. Menentukan ide solusi
b. Menyatakan algoritma
c. Memvalidasi algoritma
d. Menganalisis algoritma

Ide solusi merupakan ide prosedur / urutan proses penyelesaian permasalahan secara global. Selanjutnya prosedur global tersebut perlu dirinci menjadi serangkaian langkah terstruktur yang lebih terperinci dan dinyatakan dalam bentuk algoritma.

Validasi algoritma diperlukan untuk menguji validitas prosedur yang telah dinyatakan dalam algoritma terhadap seluruh kemungkinan data yang di-input-kan. Sedangkan analisis algoritma dimaksudkan untuk mengetahui tingkat efisiensi proses dalam algoritma, yang berkaitan dengan efisiensi waktu dan efisiensi penggunaan memori dalam sistem komputer.

Untuk itu prosedur penyelesaian permasalahan dalam bentuk algoritma harus memenuhi kriteria berikut:
1. Setiap langkah harus bersifat pasti / tertentu (definite)
2. Minimal menghasilkan sebuah output
3. Bersifat terstruktur dan sistematis
4. Memiliki kriteria untuk menghentikan proses
Namun demikian, untuk memenuhi kriteria sebagai algoritma yang baik, maka ada kriteria tambahan yang harus dipenuhi, sehingga secara keseluruhan algoritma yang baik harus bersifat efisien, baik dari sisi waktu maupun penggunaan memori dalam sistem komputer.

Hasil akhir fase penyelesaian permasalahan, adalah sebuah solusi dalam bentuk algoritma. Istilah algoritma sendiri dapat diartikan sebagai himpunan berhingga langkah-langkah / prosedur-prosedur logika yang harus dilaksanakan untuk menyelesaikan suatu permasalahan yang berorientasi pada pemrograman komputer. Tujuan algoritma adalah memberikan petunjuk tentang langkah-langkah logika penyelesaian permasalahan dalam bentuk yang mudah dipahami nalar manusia sebagai acuan yang membantu dalam mengembangkan program komputer. Pemahaman tentang algoritma akan mencegah sejak dini kemungkinan terjadinya kesalahan logika pada program komputer yang dikembangkan.

Untuk mencapai tujuan di atas terdapat lima syarat yang harus dipenuhi dalam algoritma, yaitu :
1. Logika prosedur pada algoritma harus cukup mudah dipahami nalar manusia
2. Validitas prosedur pada algoritma dapat ditelusuri dengan mudah
3. Tidak menimbulkan kerancuan interpretasi bagi orang lain
4. Prosedur pada algoritma harus cukup mudah dikonversi ke program komputer
5. Prosedur pada algoritma tidak terpengaruh / bergantung pada bahasa pemrograman apapun

Pada dasarnya tidak ada aturan yang baku tentang cara menuliskan solusi dalam bentuk algoritma. Namun demikian, agar solusi bentuk algoritma dapat digunakan dengan baik, maka umumnya dapat dinyatakan dalam dua kemungkinan bentuk, yaitu:
a. Bentuk uraian / deskriptif atau pseudocode
b. Bentuk gambar, yaitu menggunakan simbol-simbol grafis dalam bentuk bagan alir (flowchart)
Solusi dalam bentuk algoritma sangat diperlukan dan banyak membantu dalam menyelesaikan permasalahan komputasi, karena umumnya kesulitan-kesulitan sering dijumpai dan kesalahan-kesalahan akan banyak timbul jika suatu permasalahan diselesaikan secara langsung dalam bentuk program komputer.

Pada beberapa kasus, sering terjadi bahwa suatu permasalahan yang diselesaikan sesuai prosedur yang dikembangkan (yang dianggap sudah benar) ternyata masih dijumpai kesalahan pada hasil yang diberikan. Jika terjadi demikian, maka telusuri dan periksa kembali prosedur yang telah dibuat. Perbaiki pada bagian yang ditemukan kesalahan, kemudian periksa kembali dengan mencoba menerapkannya dalam berbagai macam kemungkinan kasus lain hingga akhirnya tidak ditemukan kesalahan.

Sebagai dasar pemahaman awal Gambar 1.1 menunjukkan hubungan antara suatu permasalahan, algoritma, dan program komputer.