ALGORITMA PEMROGRAMAN DAN STRUKTUR DATA
PERTEMUAN KE-2 : REPRESENTASI ALGORITMA
Bentuk Representasi Algoritma :
Bentuk tulisan Uraian deskriptif Pseudocode Bentuk gambar Flowchart Structure chart DFD (Data Flow Diagram) Warnier Diagram IPO (Input Process Output) HIPO (Hierarchical Input Process Output)
1. Uraian Deskriptif
Uraian deskriptif merupakan algoritma yang disajikan dengan menggunakan struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris).
Contoh Uraian Deskriptif
Menghitung luas persegi panjang. Baca panjang dan lebar (P,L) Hitung luas (Luas = P * L) Cetak hasil (Luas)
Menghitung rata-rata 3 buah data. Baca bilangan a, b dan c Jumlahkan ketiga bilangan tersebut Bagi jumlah tersebut dengan 3 Tulis hasilnya
2. Pseudocode
Pseudocode adalah algoritma yang mirip dengan
kode pemrograman yang sebenarnya. Pseudocode ditulis berbasiskan bahasa pemrograman tertentu misalnya Pascal, C atau Python, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan dengan pemrogram. Pseudocode lebih rinci dibandingkan dengan uraian deskriptif, misalnya dalam menyatakan sintaksis, variabel, tipe data yang digunakan dan lain-lain.
Dalam pseudocode selalu terdiri dari tiga bagian yaitu : Judul (header) Kamus Algoritma Pada setiap bagian tersebut apabila akan dituliskan komentar mengenai setiap bagian tersebut dituliskan diantara tanda kurung kurawal. Contoh : { Komentar }
Judul { Pada bagian ini adalah komentar mengenai algoritma seperti cara kerja program, kondisi awal dan kondisi akhir dari algoritma }
Kamus { Pada bagian ini adalah mendefinisikan nama konstanta, nama variabel, nama prosedur dan nama fungsi }
Algoritma { Pada bagian ini algoritma dituliskan. Semua teks yang dituliskan tidak diantara tanda kurung kurawal akan dianggap sebagai notasi algoritma yang akan berpengaruh terhadap kebenaran algoritma }
Judul (header)
Judul adalah bagian teks algoritma yang digunakan
sebagai tempat mendefinisikan nama dengan menentukan apakah teks tersebut adalah program, prosedur, atau fungsi. Nama algoritma sebaiknya singkat namun cukup menggambarkan apa yang akan dilakukan oleh algoritma tersebut.
Contoh :
Program Luas_Kubus { Menghitung luas kubus untuk ukuran sisi yang dibaca dari piranti masukan lalu mencetak hasilnya ke piranti keluaran }
Kamus (Deklarasi)
Kamus adalah bagian teks algoritma sebagai
tempat untuk mendefinisikan :
Nama Tipe Nama Konstanta Nama Variabel Nama Fungsi Nama Prosedur
Contoh :
Kamus { Nama type hanya untuk typr yang bukan type dasar } type jam : <hh,mm,ss : integer>
{ Nama konstanta, harus menyebutkan type dan nilai } constant phi : real = 3,14159 constant nama : string = Alex constant benar : boolean = true
{ Nama variabel, harus menyebutkan type } x, y : integer { nilai yang bertipe bilangan bulat } max : real { nilai yang bertipe bilangan real } nama : string { merupakan kumpulan karakter } cari : boolean { nilai logika }
{ Nama fungsi, menyebutkan domain dan range }
function RealtoInt (x : real) integer { Nama prosedur, menyebutkan inisial state (IS), final state (FS) dan proses } Procedure tukar (input/output x,y : integer) { IS x dan y terdefinisi, x = a dan y = b FS x = b dan y = a Proses menukar isi informasi bilangan x dan y }
Algoritma (deskripsi)
Algoritma adalah bagian inti dari suatu algoritma
yang berisi instruksi atau pemanggilan aksi yang telah didefinisikan.
Contoh :
Algoritma input (sisi) {menerima masukan untuk variabel sisi} luas sisi*sisi {luas di assignment oleh nilai sisi*sisi} output (luas) {hasil keluaran berupa bilangan luas}
Program Luas_Persegi { } Kamus p : integer l : real luas : real Algoritma input(p,l) luas <- p*l output (luas)
3. Flowchart
Flowchart (bagan alir) merupakan representasi
secara grafik dari suatu algoritma atau prosedur untuk menyelesaikan suatu masalah. Flowchart terdiri dari dua macam, yaitu :
Flowchart Sistem Flowchart Program
Flowchart Sistem
Yaitu diagram alir yang menggambarkan suatu
sistem peralatan komputer yang digunakan dalam proses pengolahan data dan koneksi antar peralatan tersebut. Flowchart sistem digunakan untuk menggambarkan urutan langkah dalam memecahkan masalah, tetapi hanya berisi prosedur dalam sistem yang dibentuk.
Simbol-simbol yang digunakan :
Input Output Manual Input Proses Magnetic Disk File Arah Proses
Flowchart Program
Yaitu bagan yang menggambarkan urutan logika dari suatu prosedur pemecahan masalah. Simbol-simbol yang digunakan :
(terminal symbol), menunjukan awal dan akhir sebuah program (preparation symbol), memberikan nilai awal pada suatu variabel (processing symbol), menunjukan pengolahan aritmatika dan pemindahan data (input/output symbol), menunjukan proses input atau output (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 : Menghitung Luas Persegi Panjang