Anda di halaman 1dari 56

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. 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.

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.

Algoritma dengan Pseudocode


Input (a,b,c) 2. Jml = a+b+c 3. Rerata = Jml/3 4. output (Rerata)
1.

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

Anda mungkin juga menyukai