1 Algoritma & Flowchart Brigida Arie Minartiningtyas, M.Kom2 Review What is Algoritma?? Urutan langkah-langkah logis penyelesaian masalah yang disusun...
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. 2. 3. 4.
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
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
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
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 Baca bilangan a, b, dan c 2. Jumlahkan ketiga bilangan tersebut 3. Bagi jumlah tersebut dengan 3 4. Tulis hasilnya 1.
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.