Untuk menuliskan algoritma, kita mebggunakan notasi tertentu.
Ada banyak notasi algoritma, setiap orang bebas menggunakan notasi algoritma
yang ia sukai, yang terpenting algoritma tersebut mudah dibaca dan
dipahami oleh pembaca (manusia).
Dibawah ini dikemukakan beberapa notasi yang digunakan untuk
menulis algoritma. Sebagai ilustrasi digunakan contoh masalah mencari pembagi
bersama terbesar dengan menggunakan algoritma Euclidean.
1.
Notasi I : menyatakan langkah-langkah
algoritma dalam deretan kalimat deskriptif.
PROGRAM
Euclidean
{Diberikan dua buah bilangan bulat
tak-negatif m dan n (m ≥ n). Algoritma Euclidean mencari pembagi bersama
terbesar, gcd, dari kedua bilangan tersebut, yaitu bilangan bulat positif
terbesar yang habis membagi m dan n.}
ALGORITMA
:
1.
Jika n
= 0 maka m adalah jawabannya; stop.
Tetapi jika n
≠
0, lanjutkan ke langkah 2.
2.
Bagilah m
dengan n dan misalkan r adalah sisanya.
3.
Ganti nilai m dengan nilai n dengan
nilai r, lalu ulang kembali ke
langkah 1.
|
4. Notasi III :
menggunakan pseudo-code
Para ilmuwan komputer lebih menyukai
menuliskan algoritma dalam notasi yang lebih praktis, yaitu notasi pseudo-code (pseudo artinya semu atau tidak sebenarnya) adalah notasi yang
mirip-mirip dengan notasi bahasa pemrograman tingkat tinggi. Lebih tepat pseudo-code disebut sebagai campuran
antara bahasa alami dengan bahasa pemrograman. Bila bahasa pemrograman sangat
rigid dalam urusan sintaks seperti tanda titik koma (semicolon), cara menulis indeks, format luaran, aturan khusus, dan
sebagainya, maka sebaliknya notasi pseudo-code
mengabaikannya.
Dibawah ini
contoh penulisan notasi algoritma menggunakan pseudo-code :
PROGRAM Euclidean
{Program untuk mencari
pembagi bersama terbesar, gcd, dari kedua bilangan tersebut, yaitu
bilangan bulat positif terbesar yang habis membagi m dan n (m ≥ n).
gcd dari m dan n adalah bilangan bulat positif terbesar yang habis membagi m
dan n.}
DEKLARASI
m, n : integer {bilangan bulat yang akan
dicari pbt-nya}
r : integer {sisa hasil bagi}
ALGORITMA
Read(m, n) {asumsi: m ≥ n}
While n ≠ 0 do
r ß m MOD n {bagi m dengan n dan simpan sisannya di r}
m ß n {ganti nilai m dengan nilai n}
n ß r {ganti nilai n dengan nilai r}
end while
{kondisi akhir pengulangan: n = 0}
Write(m) {m berisi gcd dari kedua bilangan yang
dicari}
|
REFERENSI
Rinaldi Munir, Leony Lidya., Algoritma dan Pemrograman dalam bahasa
pascal, C, dan C ++, Informatika,
2016.
0 komentar:
Posting Komentar