2. algoritma

27
DIAGRAM ALUR (FLOWCHART) Castaka Agus Sugianto, M.Kom., MCS 1

Transcript of 2. algoritma

Page 1: 2. algoritma

DIAGRAM ALUR (FLOWCHART)

Castaka Agus Sugianto, M.Kom., MCS

1

Page 2: 2. algoritma

Tiga buah cakram yang masing - masing berdiameter berbeda mempunyai lubang di titik pusatnya. Ketiga cakram tersebut dimasukan pada sebuah batang besi A sedemikian hingga cakram yang berdiameter lebih besar selalu terletak di bawah cakram yg berdiameter lebih kecil. Tulislah algoritma untuk memindahkan sebuah cakram tersebut batang besi B: setiap kali hanya satu cakram yang boleh dipindahkan, tetapi pada setiap perpindahan tidak boleh ada cakram yang lebih besar berada di atas cakram kecil. Batang besi C dapat dipakai sebagai tempat peralihan dengan tetap memegang aturan yang telah disebutkan.

2

Page 3: 2. algoritma

DIAGRAM ALUR (FLOWCHART)

FLOWCHART ADALAH SUATU DIAGRAM YANG MENGGAMBARKAN SUSUNAN LOGIKA SUATU PROGRAM.

SIMBOL SIMBOL YANG DIGUNAKAN ADALAH SEBAGAI BERIKUT :

Proses/prosessing, satu atau beberapa himpunan penugasan yang akan dilaksanakan secara berurutan.

Input / Output data yg akan dibaca & dimasukan ke dalam memori komputer dari suatu alat input

Terminal, berfungsi sebagai awal (berisi ‘Start’)& sebagai akhir (berisi ‘End’) dari suatu

proses alur. 3

Page 4: 2. algoritma

Decision (kotak keputusan) berfungsi utk memutuskan arah/percabangan yg

diambil sesuai dgn kondisi yg dipenuhi, yaitu Benar/Salah. (dibahas dalam struktur branching).

Subroutine digunakan untuk menjalankan proses suatu bagian (sub program) atau prosedur.

Preparation digunakan untuk pemberian harga awal.

4

Page 5: 2. algoritma

Connector/penghubung, digunakan untuk menghubungkan diagram alur yang terputus dimana bagian tersebut masih berada pada halaman yang sama.

On page Connector, Untuk menghubungkan sambungan dari bagian flowchart yang terputus dimana sambungannya berada pada halaman lain.

Flowline, menunjukkan bagian arah instruksi dijalankan

5

Page 6: 2. algoritma

Diagram Alur untuk Program Komputer.

Pada dasarnya suatu program komputer umumnya terdiri atas :

1. Pembacaan / pemasukan data ke dalam komputer

2. Melakukan komputasi/perhitungan terhadap data tersebut

3. Mengeluarkan / mencetak/ menampilkan hasilnya.

6

Page 7: 2. algoritma

Flowchart terdiri dari tiga struktur :1. Stuktur squence / Struktur sederhana

Contoh :

7

Page 8: 2. algoritma

2. Struktur BranchingContoh :

y t

8

Page 9: 2. algoritma

3. Stuktur Looping

Contoh :

9

Page 10: 2. algoritma

Catatan : Ketiga struktur diatas dapat digunakan secara bersamaan pada satu diagram alur.

Memberi harga kepada suatu Variabel (Cara I)Suatu variabel dapat diartikan sebagai suatu nilai yg dapat berubah harganya.

Contoh menggambarkan pemberian harga suatu variabel :

X = 5 variabel X diberi harga sebesar 5

10

Page 11: 2. algoritma

S =S + T

KOTAK PROSES/PENUGASAN DPT BERFUNGSI ANTARA LAIN UNTUK :Variabel C diberi harga sebesar harga

var. P dikurangi harga var. Q (dlm hal ini, harga variabel P & Q harus sudah ada)

Harga yg terbaru dari variabel N adalah harga lama dari variabel N ditambah 1 (atau dengan kata lain, harga variabel N bertambah 1)

Harga yg baru dari var. S adalah harga lama S ditambah dengan harga variabel T.

1. Jenis variabel terbagi atas 2 macam, yaitu :

1. Variabel Numerik/bil., 2. Variabel untai kata/string,

C= P - Q

N = N + 1

11

Page 12: 2. algoritma

Memberi harga kepada suatu variabel (Cara II)Dgn menggunakan kotak masukan/baca/input/read, STRUKTUR SQUENCE / STRUKTUR SEDERHANADiagram yang alurnya mengalir secara berurutan

dari ataske bawah atau dengan kata lain tidak adanya

percabanganatau pengulangan .

Keterangan :1. Masukan Nilai Variable A mis : 32. Proses A dengan A*23. Cetak hasil proses diatas A=A*2 yg menghasilkan A=6

START

A=A*2

InputA

END

Cetak A

12

Page 13: 2. algoritma

STRUKTUR BRANCHING (Percabangan)A. Bersyarat

1. IF2. IF......ELSE3. NESTED IF atau IF ELSE Majemuk4. SWITCH.....CASE

B. Tidak Bersyarat Goto

13

Page 14: 2. algoritma

A. Bersyarat1. IF Diagram yg alurnya ada/banyak terjadi alih kontrol

berupa percabangan & terjadi apabila kita dihadapkan pada suatu Kondisi dengan dua pilihan BENAR/ SALAH.

Bentuk Umum :if (kondisi) pernyataan ;

Struktur Branching/percabangan: y

t 14

Page 15: 2. algoritma

2. IF ...... ELSEBentuk umum :

if (kondisi)perintah1;

elseperintah 2;

Diagram alur dr pemakaian IF......ELSE sbb:

kondisi

Perintah 2Perintah 1

15

y

t

Page 16: 2. algoritma

3. Nested IF Pernyataan if yang berada dalam pernyataan if yang lain

Bentuk umum :if (syarat)

if (syarat) y ....perintah; telse ....perintah; y

else tif (syarat) ....perintah; y else t ....perintah;

kondisi1 perintah

kondisi2

kondisi3

perintah

perintah

perintah

16

Page 17: 2. algoritma

IF.....ELSE Majemuk (bertingkat)If-else majemuk mirip dengan nested if. Keuntungan penggunaan if-else majemuk adalah bentuk penulisan yang lebih sederhana.

Bentuk umum :if (syarat){... Perintah;

} else if (syarat) {

... Perintah; } else {

... Perintah; } 17

Page 18: 2. algoritma

4. Switch Caseuntuk menangani pengambilan keputusan yang melibatkan sejumlah atau banyak alternatif.

Bentuk Umum :  switch (ekspresi integer atau karakter) {

case konstanta1:...perintah;break;

case konstanta2:...perintah;break;

default :...perintah;break;

}18

Page 19: 2. algoritma

B. Tidak Bersyarat Go To

Bentuk umum : goto label;

Contoh :Hitung : statement; statement;

statement;statement;

Goto hitung;

19

Page 20: 2. algoritma

LATIHAN :TENTUKAN OUTPUT DARI FLOWCHART DIBAWAH INI :

INPUT X

X=2*X

X=X+10

X=X+7

X=5*X

X=X+5

START

END

INPUT A

INPUT B

A > B?

START

END

Y

T

CETAK X

Cetak ‘A lebih

besar’

Cetak ‘B lebih

besar’

20

Page 21: 2. algoritma

TUGAS KELOMPOK (Max 5 orang) dibuat menggunakan Microsoft Office Visio1. Buatlah Flowchartnya dari pseudocode berikut ini:

a. Masukan kode barangb. Masukan harga barangc. Masukan Jumlah barangd. Hitung bayar = harga * Jumlah barange. Jika bayar >= 100.000 maka diberikan

discount 10%, selain dari itu tidak mendapat discount

f. Hitung total bayar = bayar - discountg. Cetak total bayar

21

Page 22: 2. algoritma

2. Buatlah Flowchartnya dari pseudocode berikut ini:

a. Diketahui phi=3.14b. Masukan nilai jari-jari (r)c. Hitung Keliling = 2 * phi * rd. Cetak Keliling

e. Ingin menghitung kembali? Jika Ya maka kembali ke proses awal, jika Tidak maka program berhenti.

22

Page 23: 2. algoritma

3. Buatlah Flowchartnya dari pseudocode berikut ini:

a. Masukan pilihan b. Jika pilihan=1 maka menu=“nasi goreng”

jika pilihan=2 maka menu=“mie goreng” jika pilihan=3 maka menu=“capcay”

c. Cetak menud. Ingin pilih kembali? Jika Ya maka kembali ke proses awal, jika Tidak maka program berhenti.

23

Page 24: 2. algoritma

LATIHAN SOAL

24

Page 25: 2. algoritma

1. Simbol flowchart yang digunakan sebagai awal dan akhir suatu proses adalah….a. Terminal d. Input b. Preparation e. Outputc. Decision

2. Apabila terjadi dua kondisi (benar atau salah), pada pembuatan flowchart menggunakan simbol….

a. d.

b. e.

c ..

25

Page 26: 2. algoritma

3. Simbol Flowcahart yang digunakan untuk penghubung dalam satu halaman yang sama adalah …...

a. d.

b e.

c.

26

4. Urutan instruksi-instruksi atau langkah-langkah yang menggunakan bahasa awam disebut :

a. Algoritma d. Flowchartb. Pseudocode e. Programc. prosedur

Page 27: 2. algoritma

5. Simbol Flowchart yang dapat digunakan untuk mencetak keluaran adalah….

a. d.

b. e.

c.

27