Buku Alpro
-
Upload
satriaadenikron -
Category
Documents
-
view
132 -
download
5
Transcript of Buku Alpro
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