Algoritma & Flowchart Brigida Arie Minartiningtyas, M.Kom
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.
Gimana caranya ya??
Answer Algoritma Tukar_Isi_Gelas Tuangkan air dari gelas A ke gelas B Tuangkan air dari gelas B ke gelas A
Keadaan Awal
1. Tuangkan air dari gelas A ke gelas C
2. Tuangkan air dari gelas B ke gelas A
3. Tuangkan air dari gelas C ke gelas B
Keadaan Akhir
Algoritma yang Benar Tuangkan air dari gelas A ke gelas C Tuangkan air dari gelas B ke gelas A Tuangkan air dari gelas C ke gelas B
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.
Buatlah algoritma menyebrang sungai untuk tiga pasang kekasih tersebut!!
Jawaban X = Pria Y = Wanita Pasangan pertama x1 y1 Pasangan kedua x2 y2 Pasangan ketiga x3 y3 Algoritma 1. y1 y2 ke seberang kemudian y2 balik (d seberang ada y1) 2. y2 y3 ke seberang kemudian y3 balik (d seberang ada y1 y2) 3. x1 x2 ke seberang kemudian y2 dan x2 balik (d seberang ada x1 y1) 4. y2 y3 ke seberang kemudian x1 balik (d seberang ada y1 y2 y3) 5. x1 x2 ke seberang kemudian y3 balik (d seberang ada x1 y1 x2 y2) 6. x3 y3 ke seberang (d seberang lengkap)
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
Contoh Flowchart System
Masih Ingat???
Algoritma Telur Dadar 1. Nyalakan api kompor 2. Tuangkan minyak ke dalam wajan 3. Pecahkan telur ayam ke dalam mangkok 4. Tambahkan garam secukupnya 5. Aduk campuran telur dan garam 6. Tuang adonan telur ke dalam wajan 7. Masak telur hingga matang
FLOWCHART TELUR DADAR
START Nyalakan api kompor Tuangkan minyak ke wajan Pecahkan telur ke dalam mangkok Tambahkan garam Aduk campuran telur dan garam Tuang adonan telur dan garam ke dalam wajan Masak telur hingga matang END
Kaidah Umum Pembuatan Flowchart Tidak ada rumus atau patokan yang bersifat mutlak Dapat bervariasi antara satu pemrogram dengan yang lainnya Setiap pengolahan selalu terdiri dari 3 bagian utama Input Proses pengolahan Output
Pengolahan dengan Komputer START persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan READ membaca data dari suatu peralatan input PROSES pemecahan persoalan sesuai dengan data yang dibaca WRITE merekam hasil kegiatan ke peralatan outpute. END mengakhiri kegiatan pengolahan
Anjuran dalam pembuatan Flowchart 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
BAGAN ARUS LOGIKA FLOWCHART
Instruksi Tanpa Syarat
Instruksi Bersyarat
Instruksi Pengulangan
Contoh Buat algoritma untuk mencari rata-rata dari 3 bilangan yang diinputkan
Algoritma dengan Bahasa Indonesia 1. Baca bilangan a, b, dan c 2. Jumlahkan ketiga bilangan tersebut 3. Bagi jumlah tersebut dengan 3 4. Tulis hasilnya
Algoritma dengan Pseudocode 1. Input (a,b,c) 2. Jml = a+b+c 3. Rerata = Jml/3 4. output (Rerata)
Algoritma dengan Flowchart
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.
Aturan Penulisan Pseudocode Setiap Algoritma akan 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 }. Notasi algoritmis yang dituliskan diantara tanda ini tidak akan dieksekusi oleh program.
Judul PSEUDOCODE
Kamus (Deklarasi) Kamus adalah bagian teks algoritma sebagai tempat untuk mendefinisikan Nama type Nama konstanta Nama variabel Nama fungsi Nama prosedur
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 Mencetak String Selamat Belajar Algoritma dan Pemrograman ke piranti Keluaran.
Pseudocode
Flowchart
Contoh 2 Menentukan nilai terbesar dari bilangan bulat yang dibaca dari piranti masukan dan menuliskan hasilnya ke piranti keluaran.
Pseudocode