Penyajian Algoritma
Khusnawi, S.Kom, M.Eng
PENYAJIAN ALGORITMA Algoritma dapat disajikan dalam dua bentuk, yaitu : tulisan dan gambar/simbol. Penyajian algoritma dalam bentuk tulisan biasanya menggunakan Metode Structure Language dan Pseudocode, Panyajian dalam bentuk gambar biasanya menggunakan metode : Flowchart, HIPO, dan lain-lain.
FLOWCHART Tujuan utama dari penggunaan flowchart adalah untuk menggambarkan suatu tahapan penyelesaian masalah secara sederhana, terurai, rapi dan jelas dengan menggunakan simbolsimbol standart. Ada 2 macam Flowchart : – System Flowchart urutan proses dalam system dengan menunjukkan alat media input, output serta jenis media penyimpanan dalam proses pengolahan data. – Program Flowchart urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu program.
Simbol Flowchart Program
(terminal symbol), menunjukkan awal dan akhir dari program
(preparation symbol), memberikan niai awal pada suatu variabel atau counter (processing symbol), menunjukkan pengolahan aritmatika dan pemindahan data
(input/output symbol), menunjukkan proses input atau output
Simbol Flowchart Program
(decision symbol), untuk mewakili operasi perbandingan logika
(predefined process symbol), proses yang ditulis sebagai sub program, yaitu prosedur/ fungsi (connector symbol), penghubung pada halaman yang sama (off page connector symbol), penghubung pada halaman yang berbeda Arah proses
Contoh
flowchart untuk menjumlahkan dua buah data:
Menentukan apakah suatu bilangan termasuk bilangan positif, negatif atau nol!
Mulai Baca bil
T Bil=0
Cetak “nol”
F Bil<0
F Cetak “positif”
Selesai
T Cetak “negatif”
PSEUDOCODE Pseudo berarti imitasi atau mirip atau menyerupai dan code menunjukkan kode dari program, pseudocode adalah kode yang mirip dengan instruksi kode program yang sebenarnya. Pseudocode berbasis pada bahasa pemrograman yang sesungguhnya sepertin COBOL, FORTRAN, Pascal atau Basic sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada Programmer.
Contoh: Pseudocode menhitung luas dan keliling lingkaran 1. Mulai 2. Input (jari) 3. Keliling 2 * phi * jari 4. Luas phi * jari * jari 5. Print (kaliling, luas) 6. Selesai Contoh: Untuk menukar nilai var A dan B 1. temp A 2. A B 3. B temp 4. Print ( A, B )
Language Structure Bentuk penyajian algortima ini berdasarkan struktur bahasa yang dipakai dalam sehari-hari tanpa melihat aturan-aturan yang berlaku di algortima. Contoh : Algortima memasak telor dadar 1. Mulai 2. Siapkan bahan : telor, minyak goring, garam 3. Siapkan alat : kompor, wajan dll 4. Panaskan minyak 5. Goreng telor 6. Kalau telor sudah matang kelangkah 7, kalau belum kelangkah 5 7. Angkat telor 8. Letakan dipiring 9. Selesai
Contoh kasus Algoritma Kelulusan_mhs Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus. Notasi algortima: 1. Mulai 2. baca nama dan nilai mahasiswa. 3. jika nilai >= 60 maka keterangan = lulus tetapi jika keterangan = tidak lulus. 4. tulis nama dan keterangan 5. Selesai
Aturan Umum Penulisan Teks Algoritma( Pseudocode)
Judul algoritma
Bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama sebaiknya singkat dan menggambarkan apa yang dilakukan oleh algoritma tersebut. Deklarasi Bagian untuk mendefinisikan semua nama yang digunakan di dalam program. Nama tersebut dapat berupa nama tetapan, peubah, tipe, prosedur dan fungsi. Deskripsi Bagian ini berisi uraian langkah-langkah penyelesaian masalah yang ditulis dengan menggunakan notasi yang akan dijelaskan selanjutnya
Example: Algoritma Luas_Kell_Lingkaran {<- ini judul algoritma} {menghitung luas dan keliling lingkaran untuk ukuran jari-jari tertentu. Algoritma menerima masukan jari-jari lingkaran, menghitung luas dan kelilingnya, dan mencetak luas lingkaranke piranti keluaran <- ini spesifikasi algoritma} DEKLARASI : const phi = 3.14 R : real Luas : real Keliling : real DESKRIPSI : read (R) Luas <- phi * R *R Keliling <- 2 * phi * R write(luas, keliling)