Notasi Algoritma Independen Terhadap Bahasa Pemrograman dan Mesin Komputer

Algoritma dari spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman. Analoginya sama dengan resep membuat kue. Sebuah resep dapat ditulis dalam bahasa manapun, bahasa inggris, Perancis, Indonesia, Jepang dsb. Adapun bahasanya, kue yang dihasilkan tetap sama, sebab algoritmanya sama (dengan catatan semua aturan pada resep diikuti). Mengapa bisa demikian? karena setiaip juru masak (yang merupakan pemroses) mampu melakukan operasi dasar yang sama, seperti mengocok telur, menimbang berat gula dan sebagainya. Jadi, resep membuat kue tidak terkait pada bahasa dan juru masak yang mengerjakannya.

Demikian pula halnya komputer. Meskipun setiaip komputer erbeda teknologinya, tetapu secara umum semua komputer dapat melakukan operasi-operasi dasar dalam pemrograman seperti operasi pembacaan data, operasi perbandingan, operasi aritmetika dan sebagainya. Perkembangan teknologi komputer tidak mengubah operasi-operasi dasar itu yang berubah hanyalah kecepatan, biaya atau tingkat ketelitian. pada sisi lain, setiap program dalam bahasa tingkat tinggi selalu diterjemahkan ke dalam bahasa mesin sebelum akhirnya dikerjakan oleh CPU. Setiap instruksi dalam bahasa mesin menyajikan operasi dasar yang sesuai dan menghasilkan efek netto yang sama pada setiap komputer.

Notasi algoritma bukan notasi bahasa pemrograman, sehingga siapa pun dapat membuat notasi algoritma yang berbeda. Hal yang penting mengenai notasi tersebut adalah mudah dibaca dan dimengerti. Selain itu, meskipun notasi algoritma bukan notasi baku sebagaimana pada notasi bahasa pemrograman. Ketaatasasan terhadap notasi perlu diperhatikan untuk menghindari kekeliruan.

Dibawah ini ddikemukakan beberapa notasi yang digunakan dalam penulisan algoritma. masalah yang dijadikan contoh adalah menghitung pembagi bersama terbesar dengan algoritma Euclidean.

1. Notasi 1 menyatakan langkah-langkah algoritma dengan untaian kalimat deskriptif.

Algoritma EUCLIDEDAN
Diberikan dua buah bilangan tak-negatif m dan n (m ≥ n). Carilahpembagi bersama terbesasr, pbt, dari kedua bilangan tersebut, yaitu bilangan bulat positif terbesar yang habis membagi m dan n.

DESKRIPSI
1. Jika n = 0 maka
m adalah jawabannya:
stop.

Tetapi jika m ≠ 0,
Lanjutkan ke langkah 2.
2. Bagilah m dengan n dan misalkan r adalah sisanya.
3. Ganti nilai m dengan nilai n dan nilai n dengan nilai r, lalu ulang kembali ke langkah 1.

Dengan notasi bergaya kalimat ini, deskripsi setiap langkah dijelaskan dengan bahasa yang gamblang. Proses diawali dengan kata kerja seperti "baca", "hitung", "bagi", "ganti" dan sebagainya, sedangkan pernyataan kondisional dinyatakan dengan "jika....maka...". Notasi ini bagus untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak mangkus. Selalin itu, pengkonversian notasi algoritma ke notasi bahasa pemrograman cenderung relatif sukar.

2. Notasi II, menggunakan diagram alir (flow chart).

Diagram alir populer pada awal-awal era pemrograman dengan komputer (terutama dengan bahasa Basic, Fortran dan Cobol. Sampai saat ini diagram alir masih digunakan orang. Diagram alir lebih menggambarkanaliran isntruksi di dalam program secara visual ketimbang memperhatikan struktur program. Kotak empat persegi panjang menyatakan proses, sedangkan pernyataan kondisional dinyatakan dengan bentuk intan (diamond). Seperti halnya pada notasi pertama, notasi algoritma dengan diagram alir cocok untuk masalah yang kecil tidak cocok untuk masalah yang besar karena membutuhkan berlembar halaman kertas. Selain itu pengkonversian notasi algoritma ke notasi bahasa pemrograman cenderung relatif sukar.

3. Notasi III, menggunakan pseudo-code
Pseudo-code (pseudo artinya semu atau tidak sebenarnya) adalah notasi yang menerupai notasi bahasa pemrograman tingkat tinggi, khususnya Bahasa Pascal dan C. Hasil pengamatan memperlihatkan bahwa bahasa pemrograman umumnya mempunyai notasi yang hampir mirip untuk beberapa instruksi, seperti notasi if-then-else, wihle-do, repeat-until, read, write dan sebagainya. Berdasarkan pengamatan tersebut, maka beberapa penulis buku algoritma mendefinisikan notasi algoritma yang disebut pseudo-code itu.

Tidak seperti bahasa pemrograman yang direpotkan dengan tanda titik koma (semicolon), indeks, format keluaran, kata-kata khusus dan sebagainya, sembarang versi pseudocode dapat diterima asalkan perintahnya tidak membingungkan pembaca. Keuntungan menggunakan notasi pseudocode adalah kemudahan mengkonversinya lebih tepat disebut mentranslasi ke notasi bahasa pemrograman, karena terdapat korespondensi antara setiap pseudocode dengan notasi bahasa pemrograman. Korespondensi ini dapat diwujudkan pseudocode dengan notasi bahasa pemrograman. Korespondensi ini dapat diwujudkan dengan tabel translasi dari notasi algoritma ke notasi bahasa pemrograman apapun.

No comments:

Post a Comment

Spam comment will be deleted...!!