Algoritma dan Flowchart - brigidaarie.files.wordpress.com · Algoritma dan Pemrograman” ke...

Post on 23-Sep-2020

46 views 0 download

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