Muhammad Riska B. PTIK FT UNM Notasi Algoritmik Muhammad Riska B. PTIK FT UNM
Pseudo-code Notasi algoritmik yang baik adalah notasi yang mudah dibaca dan mudah pula ditraslasikan ke dalam notasi Bahasa pemrograman. Notasi algoritmik berupa pseudo-code mempunyai korespondensi dengan notasi Bahasa pemrograman sehingga proses penerjemah dari pseudo-code program menjadi lebih mudah
Pseudo-code Sebuah pernytaan dalam notasi deksriptif: tulis nilai X dan Y Maka pseudo-code dalam notasi algoritmik mungkin ditulis: write (X,Y) Notasi write berarti nilai X di cetak ke piranti keluaran. Dengan notasi algoritmik, kita tidak terlalu mempersoalkan format tampilan keluaran, misalnya apakah hasil penulisan antara x dan y dipisah dengan spasi atau dengan koma, apakah x dan y dicetak di dalam baris yang sama atau tidak, apakah x dan y dicetak pada koodinat tertentu di layar, dan sebagainya.
Pseudo-code Notasi algoritmik dalam bentuk pseudo-coede sebaiknya mudah ditranslasikan ke dalam notasi Bahasa pemrograman pada saat coding. Notasi write didalam algoritma berkoresponden dengan: write atau writeln di Bahasa Pascal printf dalam Bahasa C WRITE dalam Bahasa pemrograman Basic, write dalam Bahasa Fotran System.out.printl dalam Bahasa Java
Contoh Algoritmik: --------- Write (X,Y) Bahasa Pascal ----- write (X,Y); Bahasa C ----------- printf(“%d %d”, X,Y); Bahasa Basic ------- WRITE X,Y Bahasa fotran ------ (*,*) X,Y Bahasa Java -------- System.out.printl (X,Y); Perhatikan bahwa setiap Bahasa mempunyai cara berbeda dalam menulis perintah penulisan. Bahasa C misalnya, mengharuskan pemakaian penentu-format (seperti “%d” pada contoh di atas) untuk nilai yang dicetak. Penentu format “%d” berarti field tersebut nilai yang akan dicetak bertipe baingan bulat).
Contoh Sebuah Pernytaan dalam notasi deskriptif: Isikan nilai X ke dalam min maka pseudo-code-nya dalam notasi algoritmik menjadi min ← X Notasi “←” berarti mengisi (assign) peubah (variable) min dengan nilai x. Translasi “←” dalam Bahasa Pascal adalah “:=“, dalam Bahasa C adalah “=“, dalam Bahasa basic adalah “=“ dan dalam Bahasa fotran juga “=“.
Algoritmik: min ← X Bahasa Pascal ----- min := X; Bahasa C ------------ min = X; Bahasa Basic ------- min = X Bahasa Fotran ----- min = X
Struktur Teks Algoritma “Hello, World” Program HelloWorld { Program untuk mecetak “Hello world” masukan: - keluaran: string ‘Hello, world” } Deklarasi { tidak ada} Algoritma write (“Hello, World”)
Contoh 2, Program untuk mencetak table konversi suhu dalam derajat Fahrenheit (F) dan suku ekivalennya dalam derajat Celcius (C) dengan menggunakan rumus. C=5/9 (f-32) Data masukan adalah suhu awal (x) dam suhu akhir (y). Tael keluaran suhu mulai dari x sampai y ºF dengan kenaikan sebesar step. Misalnya jika X=0, y=100, dan step=20, table yang ingin dihasilkan kira-kira seperti di bawah ini: -17.8 20 -6.7 40 4.4 60 15.6 80 26.7 100 37.8
Contoh Algoritmanya Program FahrenheitCelcius {Program untuk mencetak table Fahrenheit-Celcius dari x sampai y dengan kenaikan sebesar step. Masukan: suhu awal, suhu akhir, step Keluaran: Tabel konversi suhu dalam C dan F } Deklarasi F, C : real x, y, step : integer Algoritma: read(x, y, step) F ← x while F ≤ y do C = 5/9*(f-32) write (F,C) F ← F + step
Melihat dari 2 contoh tadi maka teks algoritma selalu disusun oleh tiga bagian (blok), yaitu: 1. bagian judul (header) 2. bagian deklarasi (declaration), 3. bagian algoritma
Secara umum di tunjukkan sebagai berikut: Program Nama Program {Penjelasan tentang algoritma, yang berisi uraian singkat mengenai masalah apa yang akan diselesaikan, termasuk masukan dan keluaran} Deklarasi {semua nama yang dipakai, meliputi nama tipe, nama kosntanta, nama peubah, nama prosedur dan nama fungsi diumumkan di sini} Algoritma {berisi langkah-langkah penyelesaian masalah}
Bagian Judul Judul ada bagian yang terdiri dari atas nama program dan penjelasan (spesifikasi) tentang program tersebut. Judul diawali dengan kata PROGRAM dan nama program X PROGRAM HelloWorld {Program untuk mencetak “Hello, world” Masukan program ini tidak ada. Keluarannya adalah tulisan ‘Hello, World’ tercetak di layar’ } PROGRAM FahrenheitCelcius {Program untuk mencetak table Fahrenheit-Celcius dari x sampai y dengan kenaikan sebesar Step. Masukan program ini adalah suhu awal, suhu akhir, step dan keluaran adalah table konversi Suhu dalam C dan F }
Bagian Deklarasi Bagian ini digunakan untuk mengumumkan nama yang dipakai di dalam algoritma beserta propertinya. Nama tersebut bias berupa konstanta, nama peubah, nama tipe, nama prosedur dan nama fungsi. DEKLARASI F, C : real x, y, step : integer F, C, x, y, dan step adalah nama peubah yang digunakan di dalam bagian algoritma. Nama peubah ini beserta tipenya harus di umumkan di bagian deklarasi sebelum mereka digunakan.
Latihan Tulislah notasi algorima jika sebuah persegi panjang di ketahui panjangnya dan lebarnya untuk menentukan luasnya; Diberikan tiga buah bilangan bulat. Carilah bilangan bulat maksimum diantara ketiga bilangan tersebut. Deklarasi : Bil1,Bil2,Bil3 : integer {bilangan yang dicari maksimumnya} MAX : integer {variabel bantu} Deskripsi : Read (Bil1,Bil2) If Bil1 >= Bil 2 then Bil1 = MAX Else Bil2 = MAX Read (Bil3) If Bil3 >= MAX then Bil3 = MAX Write (MAX)
Terima Kasih