Algoritma dan Flowchart - brigidaarie.files.wordpress.com · Algoritma dan Pemrograman” ke...
Transcript of Algoritma dan Flowchart - brigidaarie.files.wordpress.com · Algoritma dan Pemrograman” ke...
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
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
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.
PSEUDOCODE
Judul
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