Review
What is Algoritma??
Urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.
Kata logis berarti bahwa nilai kebenarannya harus dapat ditentukan, benar atau salah.
Problem
Misalkan terdapat dua buah gelas, gelas A dan gelas B. Gelas A berisi air berwarna merah dan gelas B berisi air berwarna biru Kita ingin menukartan isi air kedua gelas tersebut, sehingga gelas A berisi air berwarna biru dan gelas B berisi air berwarna merah.
Answer
Algoritma Tukar_Isi_Gelas
Tuangkan air dari gelas A ke gelas B Tuangkan air dari gelas B ke gelas A
Keadaan Awal
Keadaan Akhir
Kasus 1
Ada tiga pasang kekasih yang sedang memadu kasih di tepian sungai. Tiga pasang kekasih itu hendak menyebrangi sungai. Sialnya di sana hanya ada 1 buah perahu, yang bisa membawa tidak lebih dari 2 orang. Proses penyebrangan ini semakin rumit karena para pria sangat pencemburu dan tidak mau meninggalkan pasangannya jika ada pria lain.
Jawaban
X = Pria
Y = Wanita
Pasangan pertama x1 y1 Pasangan kedua x2 y2 Pasangan ketiga x3 y3
Algoritma
1. 2. 3. 4. 5. y1 y2 ke seberang kemudian y2 balik (d seberang ada y1) y2 y3 ke seberang kemudian y3 balik (d seberang ada y1 y2) x1 x2 ke seberang kemudian y2 dan x2 balik (d seberang ada x1 y1) y2 y3 ke seberang kemudian x1 balik (d seberang ada y1 y2 y3) x1 x2 ke seberang kemudian y3 balik (d seberang ada x1 y1 x2 y2)
6.
Kasus 2
Misalkan terdapat dua buah ember, masing-masing mempunyai volume 5 liter dan 3 liter. Buat algoritma untuk memperoleh air sebanyak 1 liter dengan hanya menggunakan 2 ember tersebut.
Jawaban
Isi ember 3 liter penuh dengan air Tuangkan air dari ember 3 liter ke ember 5 liter Isi kembali ember 3 liter penuh dengan air Tuangkan air dari ember 3 liter ke ember 5 liter hingga ember 5 liter penuh dengan air Sisa air di ember 3 liter tersebut pasti berisi sebanyak 1 liter.
Notasi Algoritma
Notasi Algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman. Analoginya sama dengan resep membuat kue. Sebuah resep dapat ditulis dalam bahasa apapun. Bahasa Jepang, Inggris, Perancis, Indonesia, dan lain sebagainya. Apapun bahasanya, kue yang dihasilkan tetap sama asalkan semua aturan pada resep diikuti.
Representasi Algoritma
Flowchart
Pseudocode
Flowchart
Gambaran dalam bentuk diagram alir dari algoritma-algoritma dalam suatu program, yang menyatakan arah alur program tersebut
Jenis Flowchart
System Flowchart
Urutan proses dalam sistem dengan menunjukkan alat media input, output, dan jenis media penyimpanan dalam proses pengolahan data
Program Flowchart
Urutan instruksi penyelesaian persoalan yang digambarkan dengan simbol tertentu
Flowchart System
Flowchart Program
Masih Ingat???
5. 6.
7.
Nyalakan api kompor Tuangkan minyak ke dalam wajan Pecahkan telur ayam ke dalam mangkok Tambahkan garam secukupnya Aduk campuran telur dan garam Tuang adonan telur ke dalam wajan Masak telur hingga matang
START
Aduk campuran telur dan garam Tuang adonan telur dan garam ke dalam wajan Masak telur hingga matang
END
STARTpersiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan READmembaca data dari suatu peralatan input PROSESpemecahan persoalan sesuai dengan data yang dibaca WRITEmerekam hasil kegiatan ke peralatan outpute. ENDmengakhiri kegiatan pengolahan
Hindari pengulangan proses yang tidak perlu dan logika yang berbelit
Digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas
Diawali dari satu titik START dan diakhiri dengan END
Instruksi Bersyarat
Instruksi Pengulangan
Contoh
PSEUDOCODE
Pseudocode
Pseudo berarti imitasi atau mirip atau menyerupai Code nenunjukkan kode dari program
Pseudocode adalah kode yang mirip dengan instruksi kode program yang sebenarnya.
Pseudocode akan memudahkan programmer untuk memahami dan menggunakannya, karena mirip dengan kode-kode program yang sebenarnya.
Pada setiap bagian tersebut apabila akan dituliskan komentar mengenai setiap bagian tersebut dituliskan diantara tanda kurung kurawal,contoh { Komentar }. Notasi algoritmis yang dituliskan diantara tanda ini tidak akan dieksekusi oleh program.
Judul
PSEUDOCODE
Kamus (Deklarasi)
Algoritma
Algoritma adalah bagian inti yang berisi instruksi atau pemanggilan aksi yang telah didefinisikan
Instruksi dasar seperti input/output, assignment Sequence (runtutan) Analisa kasus Perulangan
Contoh 1
Pseudocode
Flowchart
Contoh 2
Menentukan nilai terbesar dari bilangan bulat yang dibaca dari piranti masukan dan menuliskan hasilnya ke piranti keluaran.
Pseudocode