buku alpro

Post on 28-Jun-2015

132 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Buku Alpro

BY: Satria ade nikron

10.1.03.02.0413 / 1i

Algoritma

Flowchart

Iterasi

ALGORITMA

Urutan Tata Cara Melakukan Sesuatu

Dibagi :

Runtutan

Pemilihan

Perulangan

Ciri-Ciri :

Algoritma dilambangkan dengan = A

Contoh :

A. Registrasi sim card HP = Runtutan

1. Input nama

2. Input alamat

3. Input tempat lahir

4. Input tanggal lahir

5. Input nomor identitas

6. Persetujuan

7. Terima konfirmasi

Runtutan

Pemilihan

Perulangan

A. Membuat kopi / teh celup = Pemilihan

1. Siapkan kopi / teh celup, air panas, gula, cangkir, sendok

2. Masukkan air panas dan kopi / teh celup ke cangkir

3. Pakai gula ?

a. Ya, masukkan gula ke cangkir

b. Tidak, (bisa ditulis, bisa tidak) langsung aduk saja

4. Aduk sesuai selera

A. Melangkah 10 langkah = Perulangan

1. Langkah = 0

2. Melangkah 1 langkah

3. Langkah = Langkah + 1

4. Jika langkah < 10, ulangi no 2

5. Berhenti (jika sudah 10 langkah)

Algoritma yang baik :

1. Isi sesuai dengan judul

2. Tidak menimbulkan pertanyaan dari pembacanya

3. Measure / ukuran harus disertakan jika yakin atau pasti

4. Satu nomor, menjabarkan / perintah

5. Harus mempunyai akhir

6. Penanaman suatu benda dalam 1 algoritma tidak boleh lebih dari 1 nama (untuk 1

nomor 1 perintah tidak boleh lebih)

Algoritma boleh diganti dengan “cara”

Pemilihan :

A B C A B C

1. Lingkaran di pindah di kotak C

2. Segitiga dipindah di kotak B

3. Lingkaran di pindah di kotak A

A. Mengukur suatu benda

X Y A B C

1. Terberat A > B

A > C B > C

A C CB

1. Letakkan A di X dan B di Y

2. Apakah A lebih berat dari B ?

a. Ya, lakukan :

- Ganti B dengan C

- Apakah A lebih berat dari C ?

1. Ya, A yang terberat

2. Tidak, C yang terberat

b. Tidak, lakukan :

- Ganti A dengan C

- Apakah B lebih berat dari C ?

1. Ya, B lebih berat

2. Tidak, C lebih berat

2. Teringan A < B

3. Sedang – Sedang A > B

A < C B < C

A C CB

1. Letakkan A di X dan B di Y

2. Apakah A lebih ringan dari B ?

a. Ya, lakukan :

- Ganti B dengan C

- Apakah A lebih ringan dari C ?

1. Ya, A yang teringan

2. Tidak, C yang teringan

b. Tidak, lakukan :

- Ganti A dengan C

- Apakah B lebih ringan dari C ?

1. Ya, B yang teringan

2. Tidak, C yang teringan

A > C B > C

B C CA

B > C A A > C B

1. Letakkan A di X dan B di Y

2. Apakah A sedang-sedang dari B ?

a. Ya, ganti B dengan C

1. Apakah A sedang-sedang dari C ?

a. Ya, lakukan :

1. Ganti A dengan B

2. Apakah B sedang-sedang dari C ?

a. Ya, B sedang-sedang

b. Tidak, C sedang-sedang

b. Tidak, lakukan :

1. Ganti A dengan C

2. Apakah B sedang-sedang dari C ?

A. Berjalan dengan arah mata angin

1

1. N = 0

2. Melangkah satu langkah ke utara

3. N = N + 1

4. Apakah N < 5 ?

5. Kembali ke N = 0

6. Melangkah 1 langkah ke arah timur

7. N = N + 1

8. Apakah N < U ?

a. Ya, kembali ke no 6

b. Tidak, berhenti

2

1. N = 0

2. Melangkah satu langkah ke arah timur

a. Ya, lakukan :

1. Ganti B dengan A

2. Apakah A sedang-sedang

dari C ?

a. Ya, A sedang-sedang

b. Tidak, C sedang-sedang

b. Tidak, B sedang-sedang

T

U

B

S

4

5

3 4

5

3. N = N + 1

4. Apakah N < 3 ?

a. Ya, kembali ke no 2

b. Tidak, kembali ke no 2

5. N = 0

6. Melangkah 1 langkah kearah utara

7. N = 0

8. Apakah N < 4 ?

a. Ya, kembali ke no 6

b. Tidak, berhenti

9. N = 0

10. Melangkah 1 langkah kearaha timur

11. N = N = 1

12. Apaka N < 5 ?

a. Ya, kembali ke no 10

b. Tidak, berhenti

A. Menentukan berjalan dengan perintah baris berbaris

1

1. N = 0

2. Melangkah 1 langkah ke kanan

3. N = N + 1

4. Apakah N < 4 ?

a. Ya, kembali ke no 2

b. Tidak, belok kanan

4

35

5. N = 0

6. Melangkah 1 langkah

7. N = N + 1

8. Apakah N < 5

9. N = 0

10. Melangkah 1 langkah

11. N = N + 1

12. Apakah N < 3 ?

a. Ya, kembali ke no 10

b. Tidak, berhenti

2

1. N = 0

2. Melangkah 1 langkah

3. N = N + 1

4. Apakah N < 4 ?

a. Ya, kembali ke no 2

b. Tidak, serong kanan

5. N = 0

6. Melangkah 1 langkah

7. N = N + 1

8. Apakah N < 3 ?

a. Ya, kembali ke no 6

b. Tidak, serong kiri

9. N = 0

4 35

10. Melangkah 1 langkah

11. N = N + 1

12. Apakah N < 5 ?

a. Ya, kembali ke nomor 10

b. Tidak, berhenti

EXCEL :

NH Nilai NH Nilai IF (N >80;”A”;IF(N>70;”B”;IF(N>55;”C”;IF(N>35; “D”;”E”))))

A 81-100 D 36-55

B 71-80 E 0-35

C 56-70

1. Jika N > 80

a. Ya, NH = A

b. Tidak, N > 70

a. Ya, NH = B

b. Tidak, N > 55

a. Ya, NH = C

b. Tidak, N > 35

a. Ya, NH > D

b. Tidak, NH = E

Searching / Pencarian

A B CD A = 1 (Assigment)

65 gr TE A = 1 (Equal)

Ada / tidak

T B 1 → ada

F S 0 → tidak

A = = 65

Perulangan 2

“anak ayam turun “ x” mati 1 tinggal”

1. X = 3 → Input

2. Selama X > 0, lakukan :

1. Cetak “anak ayam turun”t x t

“mati 1 tinggal 1”

2. Apakah X = = 1 ?

a. Ya, cetak “induknya”

b. Tidak, cetak X-1

3. X = X – 1

Input t → proses → output

/terasi / penelusuran

X = 3 AAt 3 M 1 t 2

X = 2 AAt 2 M 1 t 1

X = 1 AAt 1 M 1 t 0

X = 0 selesai

B C

ty

B

B = = 65

C D

C = = 65

C Tidak ada

X-1 Induknya

Jono mempunyai restoran disuruh menginput

3000 5000

Dengan pelanggan pertama 6, gunakan counter / pencacahan ?

1. N = 6 X = 0 Uang = 0

2. Selama X < N, lakukan :

1. Apakah “A” ?

a. Ya, uang = Uang + 3000

b. Tidak, uang = uang + 5000

2. X = X + 1

A. X = 0 uang = 0 + 3000 = 3000

B. X = 1 uang = 3000 + 5000 = 8000

A. X = 2 uang = 8000 + 3000 = 11.000

B. X = 3 uang = 11.000 + 5000 = 16.000

A. X = 4 uang = 16.000 + 3000 = 19.000

B. X = 5 uang = 19.000 + 5000 = 24.000

X = selesai

Sebuah indomaret mengadakan undian uang A = 5000, B = 2000, C = 500

1. N = 7 X = 0 uang = 0

2. Selama X < N, lakukan :

1. Apakah “A”?

a. Ya, uang + 5000

b. Tidak, apakah “B” ?

a. Ya, uang = uang + 2000

b. Tidak, uang = uang + 500

2. X = X + 1

A B

INPUTAN :

C X = 0 uang = 0 + 500 = 500

C X = 1 uang = 500 + 500 = 1000

A X = 2 uang = 1000 + 5000 = 6000

C X = 3 uang = 6000 + 500 = 6500

C X = 4 uang = 6500 + 500 = 7000

B X = 5 uang = 7000 + 2000 = 9000

C X = 6 uang = 9000 + 500 = 9500

X = 7 selesai

1. L = 1000 →Agen pemesanan minyak tanah

2. Selama L > 0, lakukan :

1. Apakah “B” ?

a. Ya, L = L – 200

b. Tidak, L = L – 50

B S K S K B K B K B

1 2 3 4 5 6 7 8 9 10

B L : 1000 – 200 = 800

S L : 800 – 100 = 700

K L : 700 – 50 = 650

S L : 650 – 100 = 550

K L : 550 – 50 = 500

B L : 500 – 200 = 300

K L : 300 – 50 = 250

B L : 250 – 200 = 50

K L : 50 – 50 = 0

B L : selesai

Uang / saldo = 10.000.000

Bunga / tahun = BPT → BPT/ 12 = 1

Bulan 10

Bunga per tahun = 12 %

X = 0 saldo = 10.000.000

X = 1 bunga = 10.000.0p00 x 1%

1. B = 10 X = 0 saldo (s) = 10.000.000

2. Selama X < B, lakukan :

1. Bunga = saldo x 1 %

2. Saldo = saldo + bunga

3. X = X + 1

Counter / Pencacahan

→Penampung / turus

Mencetak 1 – 10

1. N = 10, a = 0 1. N = 10, a = 1

2. Selama a , N, lakukan 2. Selama a < = N, lakukan

1. Cetak a + 1 1. Cetak a.

2. a = a + 1a : 0 0 + 1 = 1

a : 1 1 + 1 = 2

a : 2 2 + 1 = 3

a : 3 3 + 1 = 4

a : 4 4 + 1 = 5

a : 5 5 + 1 = 6

a : 6 6 + 1 = 7

a : 7 7 + 1 = 8

a : 8 8 + 1 = 9

a : 9 9 + 1 = 10

a : 10 ---

a : 1 1

a : 2 2

a : 3 3

a : 4 4

a : 5 5

a : 6 6

a : 7 7

a : 8 8

a : 9 9

a : 10 10

a : 11 ---

Mencetak jumlah 1 – 10

1. N = 10, a = 1, t = 0

2. Selama a < = N, lakukan :

1. t : t + a

2. a : a + 1

3. Cetak t

SOAL :

Buat algoritma dan iterasi untuk mencetak dan mencetak jumlah :

a. 10 9 8 7 6 5 4 3 2 1 0

b. 3 6 9 12 15 18 21

c. 1 3 5 7 9 11 13 15 17

Mencetak :

a. 1. X = 0 a = 11

2.selama a > X, lakukan :

1. Cetak a – 1

2. a = a – 1

a : 1 t : 0 + 1 = 1

a : 2 t : 1 + 2 = 3

a : 3 t : 3 + 3 = 6

a : 4 t : 6 + 4 = 10

a : 5 t : 10 + 5 = 15

a : 6 t : 15 + 6 = 21

a : 7 t : 21 + 7 = 28

a : 8 t : 28 + 8 = 36

a : 9 t : 36 + 9 = 45

a : 10 t : 45 + 10 = 55

a : 11 ---

a : 11 11 - 1 = 10

a : 10 10 - 1 = 9

a : 9 9 - 1 = 8

a : 8 8 - 1 = 7

a : 7 7 - 1 = 6

b. 1. N = 2 a = 1 t,

2.selama a < N, lakukan :

1. Cetak a x 3

2. a = a + 1

c. 1. N = 17 a = - 1

2.selama a < N, lakukan :

1. Cetak a + 2

2. a = a + 2

a : 6 6 - 1 = 5

a : 5 5 - 1 = 4

a : 4 4 - 1 = 3

a : 3 3 - 1 = 2

a : 2 2 - 1 = 1

a : 1 1 - 1 = 0

a : 0 ----

a : 1 1 x 3 = 3

a : 2 2 x 3 = 6

a : 3 3 x 3 = 9

a : 4 4 x 3 = 12

a : 5 5 x 3 = 15

a : 6 6 x 3 = 18

a : 7 7 x 3 = 21

a : 8 -----

a : - 1 -1 + 2 = 1

a : 1 1 + 2 = 3

a : 3 3 + 2 = 5

a : 5 5 + 2 = 7

a : 7 7 + 2 = 9

a : 9 9 + 2 = 11

a : 11 11 + 2 = 13

a : 13 13 + 2 = 15

a : 15 15 + 2 = 17

a : 17 ------

MENCETAK JUMLAH

a. 1. N = 0 a = 10 t = 0

2.selama a > N, lakukan :

1. t = t + a

2. a = a – 1

3. cetak t

b. 1. N = 2 a = 3 t = 0

2.selama a < N, lakukan :

1. Cetak t = a + t

2. a + 3

3. cetak t

c. 1. N = 9 a = 1 t = 0

2.selama a < N, lakukan :

1. Cetak t = a + t

2. a = 2 + 1

3. cetak t

a : 10 t : 0 + 10 = 10

a : 9 t : 10 + 9 = 19

a : 8 t : 19 + 8 = 27

a : 7 t : 27 + 7 = 34

a : 6 t : 34 + 6 = 40

a : 5 t : 40 + 5 = 45

a : 4 t : 45 + 4 = 49

a : 3 t : 49 + 3 = 52

a : 2 t : 52 + 2 = 54

a : 1 t : 54 + 1 = 55

a : 0 t : 55 + 0 = 55

a : ------

a : 3 t : 0 + 3 = 3

a : 6 t : 3 + 6 = 9

a : 9 t : 9 + 9 = 18

a : 12 t : 18 + 12 = 30

a : 15 t : 30 + 15 = 45

a : 18 t : 45 + 18 = 63

a : 21 t : 63 + 21 = 84

a : 24 ------

a : 1 t : 0 + 1 = 1

a : 3 t : 1 + 3 = 4

a : 5 t : 4 + 5 = 9

a : 7 t : 9 + 7 = 16

a : 9 t : 16 + 9 = 25

a : 11 t : 25 + 11 = 36

a : 13 t : 36 + 13 = 49

a : 15 t : 49 + 15 = 64

a : 17 t :64 + 17 = 81

a : 19 -------

SOAL LATIHAN :

I. Buat algoritma dan iterasi untuk mencetak :

a. 4 6 8 10 12 14 16 18 20

b. 19 17 15 13 11 9 7 5 3 1

c. 4 7 10 13 16 19 22 25

d. 1 4 9 16 25 36 49 64 81

e. 1 2 4 8 16 32 64 128 256

II. Buat algoritma dan iterasi untuk mencetak jumlah dari deret diatas :

JAWABAN :

ALGORITMA

a. 1. N = 10 a = 2

2. selama N > a, lakukan :

a. Cetak a * 2

b. a = a + 1

b. 1. N = 1 a = 21

2. selama a > N, lakukan :

a. Cetak a – 2

b. a = a – 2

c. 1. N = 10 a = 21

2. selama a< n, lakukan :

a. Cetak a + 3

b. a = a + 3

I d. 1. N = 9 a = 1

2. selama a< N, lakukan :

a. Cetak a ˆ 2

b. a = a ˆ 2

e. 1. N = 256 a = 1

2. selama a< N, lakukan :

a. Cetak a

b. a = a x 2

a. 1. N = 20 a = 4 t = 2

2. selama a < = N, lakukan :

a. t = t + a

b. a = a + 1

3.cetak t

b. 1. N = 1 a = 19 t = 0

2. selama a > = N, lakukan :

a. t = t + a

b. a = a – 2

3.cetak t

c. 1. N = 25 a = 4 t = 0

2. selama a < N, lakukan :

a. t = t + a

b. a = a + 3

3.cetak t

ITERASI

a.

II d. 1. N = 9 a = 1 t = 0

2. selama a > N, lakukan :

a. t = a ˆ 2 + t

b. a = a + 1

3. cetak t

e. 1. N = 256 a = 1 t = 0

2. selama a < = N, lakukan :

a. t = t + 2

b. a = a x 2

3. cetak t

a : 2 a : 2 * 2 = 4

a : 3 a : 3 * 2 = 6

a : 4 a : 4 * 2 = 8

a : 5 a : 5 * 2 = 10

a : 6 a : 6 * 2 = 12

a : 7 a : 7 * 2 = 14

a : 8 a : 8 * 2 = 16

a : 9 a : 9 * 2 = 18

a :10 a :10 * 2 = 20

a :11 -------

a : 21 a : 21 – 2 = 19

a : 19 a : 19 – 2 = 17

a : 17 a : 17 – 2 = 15

a : 15 a : 15 – 2 = 13

a : 13 a : 13 – 2 = 11

a : 11 a : 11 – 2 = 9

a : 9 a : 9 – 2 = 7

a : 7 a : 7 – 2 = 5

a : 5 a : 5 – 2 = 3

a : 3 a : 3 – 2 = 1

a : 1 -------

b.I.

a : 1 a : 1 + 3 = 4

a : 4 a : 4 + 3 = 7

a : 7 a : 7 + 3 = 10

a : 10 a : 10 + 3 = 13

a : 13 a : 13 + 3 = 16

a : 16 a : 16 + 3 = 19

a : 19 a : 19 + 3 = 22

a : 22 a : 22 + 3 = 25

a : 25 ------

c. a : 1 a : 1 ˆ 2 = 2

a : 2 a : 2 ˆ 2 = 4

a : 3 a : 3 ˆ 2 = 9

a : 4 a : 4 ˆ 2 = 16

a : 5 a : 5 ˆ 2 = 25

a : 6 a : 6 ˆ 2 = 36

a : 7 a : 7 ˆ 2 = 49

a : 8 a : 8 ˆ 2 = 64

a : 9 a : 9 ˆ 2 = 81

a : 10 ------

d.

a : 1

a : 2

a : 4

a : 8

a : 16

a : 32

a : 64

a : 128

a : 256

a : ------

e.

II. a : 4 t : 4 + 2 = 6

a : 6 t : 6 + 4 = 10

a : 8 t : 10 + 8 = 18

a : 10 t : 18 + 10 = 28

a : 12 t : 28 + 12 = 40

a : 14 t : 40 + 14 = 54

a : 16 t : 54 + 16 = 70

a : 18 t : 70 + 18 = 88

a : 20 t : 88 + 20 = 108

a : 22 -------

a. a : 19 t : 0 + 19 = 19

a : 17 t : 19 + 17 = 36

a : 15 t : 36 + 15 = 51

a : 13 t : 51 + 13 = 64

a : 11 t : 64 + 11 = 75

a : 9 t : 75 + 9 = 84

a : 7 t : 84 + 7 = 91

a : 5 t : 91 + 5 = 96

a : 3 t : 96 + 3 = 99

a : 1 t : 99 + 1 = 100

a : 1 -------

b.

108100

DERET

92 70 51 35 22 12 5 1

1. a = 92 b = - 22

2. selama a > = 1, lakukan :

a. Cetak a

b. a = a + b

c. b + 3

a : 4 t : 0 + 4 = 4

a : 7 t : 4 + 7 = 11

a : 10 t : 11 + 10 = 21

a : 13 t : 21 + 13 = 34

a : 16 t : 34 + 16 = 50

a : 19 t : 50 + 19 = 69

a : 22 t : 69 + 22 = 91

a : 25 t : 91 + 25 = 116

a : 28 ----------

c. a : 1 t : 0 + 1 = 1

a : 4 t : 4 + 1 = 5

a : 9 t : 9 + 5 = 14

a : 16 t : 16 + 14 = 30

a : 25 t : 30 + 25 = 55

a : 36 t : 55 + 36 = 91

a : 49 t : 91 + 49 = 140

a : 81 t : 140 + 81 = 221

a : 100 ----------

d.

a : 1 t : 0 + 1 = 1

a : 2 t : 1 + 2 = 3

a : 4 t : 3 + 4 = 7

a : 8 t : 7 + 8 = 15

a : 16 t : 15 + 16 = 31

a : 32 t : 31 + 32 = 63

a : 64 t : 63 + 64 = 127

a : 128 t : 127 + 128 = 255

a : 256 t : 255 + 256 = 511

a : 512 ----------

e.

116 221

511

FLOW CHART

Flowchart (Diagram Alir)

Adalah penyajian yang sistematis tentang proses dan logika dari kegiatan penanganan

informasi / penggambaran secara gafik dari langkah-langkah dan urut-urutan prosedur

dari suatu program

atau

Bagan (Chart) yang menunjukkan alir (flow) di dalam program / prosedur system

secara logika.

Manfaat Flowchart

1. Flowchart digambarkan dari halaman atas kebawah dan dari kiri ke kanan

2. Aktifitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini

harus dapat dimengerti oleh pembacanya

3. Masing-masing kegiatan di dalam bagan alir harus di dalam urutan yang

semestinya

4. Kapan aktifitas dimulai dan berakhir harus secara jelas

5. Setiap langkah dari aktifitas harus diuraikan dengan menggunakan diskripsi kata

kerja

6. Setiap langkah dari aktifitas harus berada pada urutan yang benar

7. Gunakan symbol-simbol flowchart yang standart

8. Lingkup-lingkup range dari aktifitas yang sedang digambarkan harus ditelusuri

dengan hati-hati

9. Kegiatan yang terpotong akan disambung di tempat lain harus di tunjukkan dengan

jelas menggunakan symbol conector / penghubung.

JENIS – JENIS FLOWCHART

System Flowchart

Document Flowchart

Scematic Flowchart

Program Flowchart

Proses Flowchart

System Flowchart

Bagan yang menunjukkan arus pekerjaan secara keseluruhan dari system. Bagan ini

menjelaskan urut-urutan dari prosedur yang ada di dalam system. Bagan alir system

menunjukkan apa yang dikerjakann system.

Document Flowchart

Bagan alir yang menunjukkan aru dari laporan-laporan formulir termasuk tembusan-

tembusannya. Bagan alir doc ini menggunakan symbol-simbol yang sama dengan

yang digunakan dalam bagan alir system.

Scematic Flowchart

Bagan alir yang mirip dengan bagan alir system, yaitu untuk menggambarkan

prosedur di dalam system. Perbedaannya adalah, bagan alir skematik selain

menggunakan simbol-simbol bagan alir system juga menggunakan gambar-gambar

computer peralatan lainnya yang digunakan.

Maksud penggunaan gambar-gambar ini adalah untuk memudahkan komunikasi

kepada orang yang kurang paham dengan simbol-simbol bagan alir.

Penggunaan gambar-gambar ini memudahkan untuk dipahami, tetap sulit dan lama

menggambarnya.

Program Flowchart

Bagan yang menjelaskan secara rinci langkah-langkah dari proses program bagan alir

program dibuat dari derivikasi bagan alir system.

Proses Flowchart

Bagan alir yang banyak digunakan di teknik industri. Bagan alir ini juga berguna bagi

analis system untuk menggambarkan proses dalam suatu prosedur.

Catatan : untuk pembahasan berikutnya yang dimaksudkan dengan flowchart nantinya

adalah program flowchart. Dan dalam penggunaan simbolnya hati-hati karena pada

beberapa sumber ada yang menggunakan symbol system flowchart sebagai symbol

program flowchart.

Simbol Flowchart :

1. Terminator

2. Preparation

3. Process

4. Input dan out put

5. Decision

6. Sub program

7. On page connector

8. Off page connector

TERMINATOR

Simbol ini digunakan untuk memulai (start) dan mengakhiri (end) sebuah flowchart.

Semua flowchart wajib dan harus mempunyai awal dan akhir.

start Process end

PREPARATION

Simbol ini digunakan untuk proses pengenalan atau pendeklarasian

dan penginisiasian atau pemberian nilai awal satu / lebih variable.

PROCESS

Simbol ini digunakan untuk proses / perintah selain cetak dan baca.

Biasanya digunakan untuk proses Assigment / pemberian nilai.

Input dan out put

Simbol ini digunakan untuk perintah baca dan cetak. Symbol ini

terkadang digantikan juga dengan symbol system flowchart yaitu display, doc. Dan

manual input. Tetapi jika yang kita maksud adalah program flowchart, maka kita

wajib menggunakan symbol diatas.

Input /output (PF)

Display (out put)

Doc (out put)

Manual input (input)

Decision

Symbol ini digunakan untuk proses pengambilan keputusa. Symbol ini

memiliki 2 jenis output, yaitu jika “YA” / “YES” dan jika “TIDAK” / “NO”

A = 1, B = 2, C, D

Jumlah = Jumlah + A

Baca N Cetak N

Bilangan < =Nya tidak

Sub program

Symbol ini digunakan untuk pemanggilan dan pembuatan

sub program / prosedur (bukan fungsi). Perbedaan prosedur

dan fungsi akan dibahas pada materi pemrogaman.

On page connector

Simbol ini digunakan untuk mempermudahkan dalam

menghubungkan antar symbol tanpa harus membuat garis yang

panjang dalam satu flowchart pada halaman yang sama

Off page connector

Simbol ini digunakan untuk mempermudah dalam menghubungkan

antar symbol tanpa harus membuat garis yang panjang dalam satu

flowchart pada halaman yang berbeda.

ALGORITMA FLOWCHART

Flowchart adalah algoritma yang digambarkan dalam bentuk symbol-simbol dalam

pembuatan flowchart kita bias langsung / membuat algoritmanya terlebih dahulu, karena

keduanya memiliki fungsi yang sama tetapi lebih dulu disarankan untuk membuat

algoritmanya dahulu.

Contoh 01 : Luas segitiga (tanpa input)

Algoritma :

1. Alas = 10, tinggi = 20, luas = 0

Cetak

A A

P-2,A P-2,A

2. Luas = alas kaki * tinggi / 2

3. Cetak luas

Iterasi

Alas = 10

Tinggi = 20

Luas = 0

Luas = 10 * 20/2 = 100

Contoh 02 : Menghitung luas segitiga (alas dan tinggi diinputkan)

Algoritma :

1. Alas = 0, tinggi = 0, luas = 0

2. Baca alas dan tinggi

3. Luas = alas * tinggi / 2

4. Cetak luas

start

Alas = 10, tinggi = 20, luas = 0

Luas = alas * tinggi / 2

Cetak luas

end

100

Iterasi

Alas = 0

Tinggi = 0

Luas = 0

Alas = 4 ←

Tinggi = 5 ←

Luas = 4 * 5 / 2 = 10

Contoh 03 : Cekusia dewasa / 18 tahun (usia diinputkan)

Algoritma :

1. Usia = 0

2. Baca, usia

10

start

Alas = 0, tinggi = 0, luas = 0

Luas = alas * tinggi / 2

Baca alas – tinggi

end

Cetak luas

3. Apakah usia > = 18 >

a. Ya, cetak “sudah dewasa”

b. Tidak, cetak “belum dewasa”

Iterasi

Usia = 0

Usia = 16 ┘

16 > = 18 ? X

Belum dewasa

start

Usia = 0

Baca usia

Cetak “belum dewasa”

Usia > = Cetak “sudah dewasa”

start

ya

tidak

Contoh 04 : mencetak 1 – 10

Algoritma :

1. N = 10, A = 1

2. Selama A < = N, lakukan :

1. Cetak A

2. A = A + 1

start

N = 10, A = 1

A = a + 1

Cetak a

A< =N

YES

NO END

Iterasi

N = 10

A = 1

1 < = 10 ? V

A = 1 + 1 = 2

2 < = 10 ? V

A = 2 + 1 = 3

3 < = 10 ? V

A = 3 + 1 = 4

4 < = 10 ? V

A = 4 + 1 = 5

10 < = 10 ? V

10

A = 10 + 1 = 11

11 < = 10 ? X

Selesai

1

2

3

4

Contoh 05 : Mencetak 1 – N ( N diinputkan)

Algoritma :

1. N = 0, A = 1

2. Baca N

3. Selama A < = N, dilakukan :

1. Cetak A

2. A = A + 1

start

N = 0, A = 1

A = a + 1

Cetak a

A< =N

YES

NO END

Baca N

Iterasi

N = 0

A = 1

N = 3

1 < = 3 ? V

A = 1 + 1 = 2

2 < = 3 ? V

A = 2 + 1 = 3

3 < = 3 ? V

A = 3 + 1 = 4

4 < = 3 ? X

Selesai

1

2

3

Contoh 06 : Mencetak jumlah 1 – 10

Algoritma :

1. N = 0, A = 1 Jum = 0

2. Selama A < = N, lakukan :

1. Jum = Jum + A

2. A = A + 1

3. Cetak Jum

Iterasi

N = 0

A = 1 Jum = 0

1 < = 10 ? V

Jum = 0 + 1 = 1

A = 1 + 1 = 2

2 < = 10 ? V

Jum = 1 + 2 = 3

A = 2 + 1 = 3

3 < = 10 ? V

Jum 3 + 3 = 6

A = 3 + 1 = 4

4 < = 10 ? X

Jum 6 + 4 = 10

A = 4 + 1 = 5

10 < = 10 ? V

Jum = 45 + 10 = 5

A = 10 + 1 = 11

11 < = 10 ? X

Selesai

start

N = 10, A = 1 jum = 0

A = A + 1

A< =N

YES

NO

END

Cetak jum

Jum = Jum + A

55

Contoh 07 : Mencetak jumlah 1 – N (N diinputkan)

Algoritma :

1. N = 0, A = 1 Jum = 0

2. Baca N

3. Selama A < = N, lakukan :

1. Jumlah = Jumlah + A

2. A = A + 1

4. Cetak Jum

Iterasi

N = 0

A = 1 Jum = 0

N = 3

1 < = 3 ? V

Jum = 0 + 1 = 1

A = 1 + 1 = 2

2 < = 3 ? V

Jum 1 + 2 = 3

A = 2 + 1 = 3

3 < = 3 ? V

Jum 3 + 3 = 6

A = 3 + 1 = 4

4 < = 3 ? X

4

start

N = 10, A = 1 jum = 0

A = A + 1

A< =N

YES

NO

END

Cetak jum

Jum = Jum + A

Baca N

Contoh 08 : Mencetak deret

1, 3, 6, 10, 15, 21, 28, 36, 45, 55,

Algoritma :

1. N = 0, A = 1

2. Selama A < = N, lakukan :

1. Cetak A * (A+1) / 2

2. A = A + 1

3. Cetak Jum

Iterasi

N = 0

A = 1

1. = 10 ? V

1*(1+2)/2 = 1

A= 1 + 1 = 1

2. < 10 ≥ V

2 * (2+1)/2 = 3

A = 2 + 1 = 3

3. < = 10 ? V

3* (3+1)/2 = 6

A = 3 + 1 = 4

||

10. < = 10 ? V

10 * (10+1) / 2 =

55

A = 10 + 1 = 11

11 < = 10 ? V

Selesai

start

N = 10, A = 1 jum = 0

A< =N yes Cetak*(A+1)/2NOend

A = A + 1

Flowchart

start

Usia = 0

Baca usia

Cetak “belum dewasa”

Usia > = Cetak “sudah dewasa”

start

ya

1.

tidak

Iterasi

Usia = 0

Usia = 16

16 > = 18 ? X

A = 1 + 1 = 2

6

2.

2.a 1. N = 0, a = 2, b = 1, t = 0

2. Baca N

3. Selama b < = N, lakukan

1. Cetakan

2. a = a + 4

3. b = b + 1

F. start

N = 0, a = 2, b = 1, t = 0

t = t + 4

b< =N

YES

NO

Baca N

cetaka

a = t + 2

b = b + 1

end

Iterasi

N = 0

t = 0

a = 1

b = 1

N = 2

1 < = 2 ? V

a = 2

t = 0 + 4 = 4

a = 4 + 2 = 6

b = 1 + 1 = 2

2 < = 2 ? V

A = 2

t = 4 + 4 = 8

a = 8 + 2 = 10

b = 2 + 1 = 3

3 < = 2 ? X

Selesai

A Kelipatan 3

A % 3 = = 0

Mencetak bilangan genap antara N – M

1. N = 0 , M = 0

2. Baca N , M

3. Selama N < = M , lakukan

1. Apakah N % 2 = = 1 ?

a. Ya, cetak N

2. N = N + 1

Mengecek apakah a bilangan ganjil

1. A = 0

2. Baca A

3. Apakah A % 2 = = 1 ?

a. Ya, cetak “A* bilangan ganjil”

b. Tidak, cetak “A*bukan bilangan ganjil” 4.end

Mencetak N bil kelipatan 3 yang bukan kelipatan 2

1. N = 0, A = 1

2. Baca N

3. Selama A < = N, L

1. Cetak 6* A – 3

2. A = A + 1

% → modulus sisa hasil bagi 5 % 10 = 5

10 % 3 = 1

√ → sqrt

== sama dengan (equal)

&& = dan / and

// = or / atau

T = true / benar

F = False / salah

I = tidak sama dengan (equal)

Mencetak N bilangan ganjil

1. N = 0, a = 1, b = 1

2. Baca N

3. Selama b < N, lakukan :

1. Cetak a cetak 2*b-1

2. a = a + 2 b = b + 1

3. b = b + 1

Mencetak bilangan genap antara 3 – 11

1. A3, B = 11

2. Selama A < = B, lakukan

1. Apakah A % 2 = = 0 ?

a. Ya, cetak A

2. A = A + 1

Iterasi

3 % 2 = 1 8 % 2 = 0

4 % 2 = 0 9 % 2 = 1

5 % 2 = 1 10 % 2 = 0

6 % 2 = 0 11 % 2 = 1

7 % 2 = 1

Mencetak N bil kelipatan 2 yang bukan 3

1. N = 0, A = 1, B = 1

2. Baca N

3. Selama, B < = N, lakukan :

1. Apakah A % 3 = 0 ?

a. Ya, lakukan :

1. Cetak 2 *A

2. B = B + 1

2. A = A + 1

Cari yang terberat :

1. A = 0, B = 0, C = 0

2. Baca a, B, C

3. Apakah A > B && A > C ?

a. Ya, cetak “A”

b. Tidak, apakah B >A && B > C ?

a. Ya, cetak “B”

b. Tidak, apakah C > A && C > B ?

a. Ya, cetak “C”

b. Tidak, selesai

A B C

1. n = 0

Buat Flowchart & Iterasi dari salah satu algoritma berikut :

1. A = 1000, B = 1, C = 0

2. Selama A > = 0, lakukan :

a. C = B * 100

b. Cetak “C”

c. B = C + 100

d. A = A – C

e. B = B / 100

3. Cetak A

start

A = 0, B = 0, C = 0

A>B&&A>

tidak

ya

Baca A, B, C

Cetak “A”

A>B&&A>

tidak

ya Cetak “B”

C>A&&C>

tidak

ya Cetak “C”

end

Buat Flowchart dan Iterasi dari algoritma

1. A = 1000, B = 1, C = 0

2. Selama A > = 0, lakukan :

a. C = B * 100

b. Cetak “ C “

c. B = C + 100

d. A = A – C

e. B = B / 100

3. Cetak A

Iterasi :

A = 1000

B = 1

C = 0

1000 > = 0 ?

C = 1 * 100 = 100

B = 100 + 100 = 200

A = 1000 – 100 = 900

B = 200 / 100 = 2

900 > = 0 ? V

C

start

A = 1000, B = 1, C = 0

A > = 0 Cetak A end

C = B * 100

Cetak “C”

B = C + 100

A = A – C B = B / 100

B = 400 + 100 = 500

A = 400 – 400 = 0

B = 500 / 100 = 5

0 > = 0 ? V

C = 5 * 100 = 500

B = 500 + 100 = 600

A = 0 – 500 = - 500

B = 600 / 100 = 6

-500 > = 0 ? X

Mencetak A = 5

C

-500

C = 2 * 100 = 200

B = 200 + 100 = 300

A = 900 – 200 = 700

B = 300 / 100 = 3

700 > = 0 ? V

C = 3 * 100 = 300

B = 300 + 100 = 400

A = 700 – 300 = 400

B = 400 / 100 = 4

400 > = 0 ? V

C 4 * 100 = 400

C

C

C

start

A = 1, N =1 0

A < = N end

C = B * 100

t

A = = 5

Cetak A

t

Iterasi :

A = 1

N = 10

1 < = 10 ? V

1 = = 5 ? X

A = 1 + 1 = 2

2 < = 10 ? V

2 = = 5 ? X

A = 2 + 1 = 3

3 < = 10 ? V

3 = = 5 ? X

A = 3 + 1 = 4

4 < = 10 ? V

4 = = 5 ? X

A = 4 = 1 = 5

5 < = 10 ? V

5 = = 5 ? V

A = 5 + 1 = 6

6 < = 10 ? V

6 = = 5 ? X → dst

5

Buat Flowchart dan Iterasi dari :

2, 3, 5, 6, 8, 9, 11, 12, 14, 15

start

A = 2, N =1 5

A < = N

tidak

A % 3 = =

Cetak A

ya

A = A + 1`

tidak

end

ya

A = 2

N = 15

2 < = 15 ? V

2 % 3 = = 1 ? X

A = 2 + 1 = 3

3 < = 15 ? V

3 % 3 = = 1 ? X

A = 3 + 1 = 4

4 < = 15 ? V

4 % 3 = = 1 ? V

A = 4 + 1 = 5

5 % 3 = = 1 ? X

A = 5 + 1 = 6

6 < = 15 ? V

6 % 3 = = 1 ? X

dst

6

2

5

5

Buat Flowchart dan Iterasi

start

A = 1, N =1 5

A < = N

t

A % 3 = =

y

A = A + 1`

t ya

end

Cetak A

A % 3 = =

A % 3 = =

t

t

X = = 9

A = 1

A = = 11a = =

Iterasi

A = 1

N = 15

1 < = 15 V

1 % 3 = 1 V

A = 1 + 1 = 2

2 < = 15 ?

2 % 3 = = 1 ? X

2 % 3 = = 0 ? X

2 % 3 = = 2 ? V

a = = 2 V

a = 2 + 1 = 3

a < = 15 ? V

y

y

t

yt

y

y

t

66

6

1

3 % 3 = 1 X

3 % 3 = = 0 ? V

a = = 9 X

a = 3 + 1 = 4

4 < = 15 ? V

4 % 3 = 1 V

A = 4 + 1 = 5

5 < = 15 V

5 % 3 = 1 X

5 % 3 = 0 X

5 % = = 2 ? V

a = = 2 X

a = = 2 X

3

4

5

5

a = = 2 X

a = 5 + 1 = 6

6 < = 15 V

5

1 b. Mencetak luas jajar genjang jika diketahui alas dan tinggi algoritma

1. a = 0, t = 0 L = 02. baca a dan t3. L = a*t4. Cetak L

start

a = 0 t = 0 L = 0

Baca a dan t

end

L = a * t

Cetak L

Iterasi

a = 0

t = 0

L = 0

a = 5

t = 7

L = 5 *7 = 35

35

1 C Mencetak Volume prisma segitiga, jika diketahui alas, tinggi segitiga dan

tinggi prisma

Algoritma :

1. A = 0, t = 0, T = 0, V = 0

2. Baca A, t, T

3. L = A * t/2

4. V = L * T

5. Cetak V

start

a = 0 t = 0 T = 0 V = 0

Baca a, t dan T

end

L = A*t/2

Cetak V

V = L* T

Iterasi

A = 0

T = 0

T = 0

L = 0

V = 0

A = 4

t = 5

T = 6

L = 4*5/2 = 10

V = 10 * 6 = 60

60

2a. Mencetak N bilangan kelipatan 2 yang bukan kelipatan

N = 5 → 2, 6, 10, 14, 18

Algoritma :

1. N = 0 a = 2 b = 1

2. Baca N

3. Selama b < N, lakukan :

1. Cetak a

2. a = a ? 4

3. b = b+1

start

N = 0, a=2 b=1

Baca N

end

a = a = 4

B = b + 1

B < = N

Cetak a

yes

no

Iterasi

N = 0

A = 2

B = 1

N = 2

1 < = 2 ? ya

a =

a = 2 + 4 = 6

b = 1 + 1 = 2

2 < = 2 ? V ya

a=

a = 6 + 4 = 10

b = 2 + 1 = 3

3 < 2 ? X tidak

selesai

2

6

4. Mencari ruang ujian mahasiswa sesuai dengan 3 digit NPM yang (diinputkan)

Ruang NPMLab KimiaLab BahasaLab KomputerLab Jaringan

0 – 2526 – 50 80 – 9951 - 75

start

NPM = 0

NPM >=0 && NPM

Baca NPM

Cetak “Lab Kimia”

end

NPM >=25 && NPM <=50

NPM >=50 && NPM

NPM >=80 && NPM

Cetak “Lab Bahasa”

Cetak “Lab jaringan”

Cetak “Lab komputer”

2 C. Mencetak beberapa kata sesuai ketentuannya sbb :

Saat bil adalah kelipatan 2 cetak “ gajah”

Saat bil adalah kelipatan 3 cetak “orang”

Saat Bil adalah kelipatan 5 cetak “semut”

Untuk semua Bil, dimana bil = 1, 2, 3, 4, ……, N

Algoritma :

1. A = 1, N = 0

2. Baca N

3. Selama A <= N, lakukan :

1. Apakah A% 2 = = 0 ?

a. Ya, cetak “gajah”

2. Apakah A % 3 = = 0 ?

a. Ya, cetak “orang”

3. Apakah A % 5 = = 0 ?

a. Ya, cetak “semut”

4. A = A+1

start

A = 1, N = 0

A < = N

ya

tidak

Baca N

Cetak “semut”

A % 2 = =

tidak

ya

Cetak “gajah”

A % 3 = =

tidak

ya

Cetak “orang”

end

A % 5 = =

A = A+1

ya

ya

Iterasi

A = 1

N = 0

N = 5

1 < 4 ? ya V

1 % 2 = = 0 ? ya X

1 % 3 = = 0 ? ya X

1 % 5 = = 0 ? ya X

A = 1 + 1 = 2

2 < = 5 V

2 % 2 = = 0 ? V

2 % 3 = = 0 ? V

A = 2 + 1 = 3

3 < = 5 ? V

3 % 2 = = 0 ? X

3 % 3 = = 0 ? V

gajah

orang

3 % 5 = = 0 ? X

A = 3 = + 1 = 4

4 < = 5 ? V

4 % 2 = = 0 ? V

4 % 3 = = ? X

4 % 5 = = ? X

A = 4 + 1 = 5

$ < = 5 ? V

5 % 2 = = 0 ? X

5 % 5t = = 0 ? V

gajah

semut

3 Mencari batu yang punya berat sedang, bukan terberat atau teringan, dari 3 buah batu ,

dimana masing-masing berat batu diketyahui. Apabila ketiga batu tersebut punya berat

yang sama, munculkan pesan “semua batu beratnya sama”, apabila 2 diantara batu-

batu tersebut puinya berat yang sama maka munculkan pesan “tidak ada ukuran

sedang”.

start

A = 0p, B = 0, C = 0

A==B && B==C Cetak “semua sama”

Baca A, B, C

A ==B

A>B&&B>C

C>B && B>A

B>A && A>C

C>A && A>B

A>C && C>B

B>C && C>A

Cetak “tidak ada yang sedang

Cetak “yang sedang C”

Cetak “yang sedang A”

Cetak “yang sedang B”

ya

ya

ya

ya

ya

ya

ya

ya

tidak

tidak

tidak

tidak

tidak

tidak

tidak

end

2 b. Mencetak nilai factorial dari suatu bilangan (N)

N ! = N* (N-1) . (N-2) . (N-3)…….

N = 5 → F = 5 *4*3*2*1 = 120

Algoritma :

1. N = 5, t = 1, a = 12. Baca N3. Selama a < = N, lakukan

1. T = t*a2. A = a+1

4. Cetak t

start

N = 5 t = 1 a = 1

Baca N

A < = N

T = t*a

A = a + 1

Cetak t

end

ya

No

Iterasi :

a = 1 t = 1 * 1 = 1

a = 2 t = 1 * 2 = 2

a = 3 t = 2 * 3 = 6

a = 4 t = 6 * 4 = 24

a = 5 t = 24 * 5 = 120

a = 6 120

a. Mencetak N bilangan ganjil

1. N = 0, a = 1, b = 1

2. Baca N

3. Selama b < = N, lakukan :

1. Cetak 2 * b – 1

2. B = b + 1

b. Mencetak bilangan genap antara 3 – 11

1. A = 3 B = 11 C = 1

2. Selama A < = B, lakukan

1. Apakah A % 2 == 0 ?

a. Ya, cetak A

2. A = A + 1

1. N = 0 M = )

2. Baca N, M

3. Selama N < = M, lakukan :

1. Apakah N % 2 == 1 ?

a. Ya, cetak N

2. N = N + 1

Atau, mencetak bilangan genap antara N – M

Iterasi :

3 % 2 = 1

4 % 2 = 0

5 % 2 = 1

6 % 2 = 0

7 % 2 = 1

8 % 2 = 0

9 % 2 = 1

10 % 2 = 0

11 % 2 = 1

c. Mencetak apakah A bilangan ganjil ?

1. A = 0

2. Baca A

3. Apakah A % 2 = = 1 ?

a. Ya, cetak A “bilangan ganjil “

b. Tidak, cetak A “bikan bilangan ganjil”

4. End

d. Mencetak N bilangan kelipatan 3 yang bukan kelipatan 2

1. N = 0 A = 1

2. Baca N

3. Selama A < = N, lakukan :

1. Cetak 6y * A – 3

2. A = A + 1

e. Mencetak N bilangan kelipatan 2 yang bukan kelipatan 2

1. N = 0 A = 1 B = 1

2. Baca N

3. Selama B < = N, lakukan

1. Apakah A % 3 ! = 0 ?

a. Ya, lakukan :

1. Cetak 2 * A

2. B = B + 1

2. A = A + 1

top related