Representasi Algoritma

21
PERTEMUAN KE-2 : REPRESENTASI ALGORITMA ALGORITMA PEMROGRAMAN DAN STRUKTUR DATA

Transcript of Representasi Algoritma

Page 1: Representasi Algoritma

PERTEMUAN KE-2 :

REPRESENTASI ALGORITMA

ALGORITMA PEMROGRAMAN DAN STRUKTUR DATA

Page 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)

Page 3: Representasi Algoritma

1. Uraian Deskriptif

Uraian deskriptif merupakan algoritma yang disajikan dengan menggunakan struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris).

Page 4: Representasi Algoritma

Contoh Uraian Deskriptif

Menghitung luas persegi panjang.Baca panjang dan lebar (P,L)Hitung luas (Luas = P * L)Cetak hasil (Luas)

Page 5: Representasi Algoritma

Menghitung rata-rata 3 buah data.Baca bilangan a, b dan cJumlahkan ketiga bilangan tersebutBagi jumlah tersebut dengan 3Tulis hasilnya

Page 6: Representasi Algoritma

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.

Page 7: Representasi Algoritma

Dalam pseudocode selalu terdiri dari tiga bagian yaitu :

Judul (header)KamusAlgoritma

Pada setiap bagian tersebut apabila akan dituliskan komentar mengenai setiap bagian tersebut dituliskan diantara tanda kurung kurawal.Contoh :

{ Komentar }

Page 8: Representasi Algoritma

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 }

Page 9: Representasi 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.

Page 10: Representasi Algoritma

Contoh :

Program Luas_Kubus { Menghitung luas kubus untuk ukuran sisi yang dibaca dari piranti masukan lalu mencetak hasilnya ke piranti keluaran }

Page 11: Representasi Algoritma

Kamus (Deklarasi)

Kamus adalah bagian teks algoritma sebagai tempat untuk mendefinisikan : Nama Tipe Nama Konstanta Nama Variabel Nama Fungsi Nama Prosedur

Page 12: Representasi Algoritma

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 }

Page 13: Representasi Algoritma

  { 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 }

Page 14: Representasi Algoritma

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}

Page 15: Representasi Algoritma

Program Luas_Persegi{ }

Kamus p : integer l : real luas : real

Algoritma input(p,l) luas <- p*l output (luas)

Page 16: Representasi Algoritma

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

Page 17: Representasi Algoritma

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.

Page 18: Representasi Algoritma

Simbol-simbol yang digunakan :

Input Output

Manual Input

Proses

Magnetic Disk

File

Arah Proses

Page 19: Representasi Algoritma

Flowchart Program

Yaitu bagan yang menggambarkan urutan logika dari suatu prosedur pemecahan masalah.

Simbol-simbol yang digunakan :

Page 20: Representasi Algoritma

(terminal symbol), menunjukan awal dan akhirsebuah program

(preparation symbol), memberikan nilai awalpada suatu variabel

(processing symbol), menunjukan pengolahanaritmatika dan pemindahan data

(input/output symbol), menunjukan proses inputatau output

(decision symbol), untuk mewakili operasiperbandingan logika

(predefined process symbol), proses yang ditulissebagai sub program, yaitu prosedur/fungsi

(connector symbol), penghubung pada halamanyang sama

(off page connector symbol), penghubung padahalaman yang berbeda

Arah Proses

Page 21: Representasi Algoritma

Contoh : Menghitung Luas Persegi Panjang