Algoritma Menggunakan Bahasa Natural
Secara
garis besar, algoritma dapat disajikan dengan 3 cara, yaitu :
1.
Menggunakan bahasa natural (bahasa sehari-hari)
2.
Menggunakan Pseudocode
3.
Menggunakan Flowchart
Algoritma
dengan bahasa natural atau bahasa sehari dapat dengan mudah kita jumpai di
kehidupan sehari-hari. Penyajian algoritma dalam bahasa natural, menggunakan
kalimat deskriptif, yaitu menjelaskan secara detail suatu algoritma dengan
bahasa atau kata-kata yang mudah dipahami. Penyajian algoritma ini cocok untuk
algoritma yang singkat namun sulit untuk algoritma yang besar. Selain itu
algoritma ini akan sulit dikonversi ke bahasa Pemrograman.
Contoh algoritma dalam bentuk bahasa natural
:
Algoritma VolumeBalok
Input berupa
panjang, lebar, dan tinggi Balok dalam dalam cm
Output
berupa Volume Balok
Langkah-langkah:
1) Baca
panjang
2) Baca
lebar
3) Baca
tinggi
4) Hitung
volume balok adalah hasil panjang x lebar x tinggi
5)
Tuliskan Volume Balok
Penyajian
Algoritma yang Baik
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.
0 komentar:
Post a Comment