Pertemuan 8
Dokumentasi
• Flowchart:
– Lambang, simbol, gambar
– Arah panah
• Pseudo code
Program Control Structure
• Sequence structure
• Branch structure
• Loop structure
Sequence
• Instruksi dikerjakan secara berurutan.
– dari atas ke bawah
step
Instruksi
1
Input
jmlBrg
,
hrgSat
2
harga
←
jmlBrg
x
hrgSat
Contoh Sequence (1)
• Program akan dikerjakan dengan input:
– 2, 1500
step Variabel
Output
jmlBrg hrgSat harga
step Instruksi
1 Input jmlBrg, hrgSat
2 harga ← jmlBrg x hrgSat
Contoh Sequence (2)
•
Mulai dengan langkah-1:
– Input 2, 1500
step Instruksi
1 Input jmlBrg, hrgSat
2 harga ← jmlBrg x hrgSat
3 Print harga
step Variabel
Output
jmlBrg hrgSat harga
Contoh Sequence (3)
•
Langkah-2:
– Hitung perkalian, simpan
hasilnya di variabel harga
step Instruksi
1 Input jmlBrg, hrgSat
2 harga ← jmlBrg x hrgSat
3 Print harga
step Variabel
Output
jmlBrg hrgSat harga
1
2
1500
Contoh Sequence (4)
•
Langkah-3:
– Tampilkan isi
variabel harga
step Instruksi 1 Input jmlBrg, hrgSat 2 harga ← jmlBrg x hrgSat 3 Print hargastep Variabel
Output
jmlBrg hrgSat harga
1
2
1500
2
2
1500
3000
Contoh Branch (0)
step Instruksi
1 Input jmlBrg, hrgSat
2 IF jmlBrg lebih besar dari 100 THEN
3 harga <= 90% x jmlBrg x hrgSat
4 ELSE
5 harga <= jmlBrg x hrgSat
6 ENDIF
7 Print harga
step
Variabel
Next
step
Output
Contoh Branch (1)
step Instruksi
1 Input jmlBrg, hrgSat
2 IF jmlBrg lebih besar dari 100 THEN 3 harga ← 90% x jmlBrg x hrgSat
4 ELSE
5 harga ← jmlBrg x hrgSat
6 ENDIF 7 Print harga
step
Variabel
Next
step
Output
jmlBrg hrgSat harga
Contoh Branch (2)
step Instruksi
1 Input jmlBrg, hrgSat
2 IF jmlBrg lebih besar dari 100 THEN 3 harga ← 90% x jmlBrg x hrgSat
4 ELSE
5 harga ← jmlBrg x hrgSat
6 ENDIF 7 Print harga
step
Variabel
Next
step
Output
jmlBrg hrgSat harga
1
2
1500
2
Contoh Branch (3)
step Instruksi
1 Input jmlBrg, hrgSat
2 IF jmlBrg lebih besar dari 100 THEN 3 harga ← 90% x jmlBrg x hrgSat
4 ELSE
5 harga ← jmlBrg x hrgSat
6 ENDIF 7 Print harga
step
Variabel
Next step Output
jmlBrg hrgSat harga
1 2 1500 2
2 2 1500 5
Contoh Branch (4)
step Instruksi
1 Input jmlBrg, hrgSat
2 IF jmlBrg lebih besar dari 100 THEN 3 harga ← 90% x jmlBrg x hrgSat
4 ELSE
5 harga ← jmlBrg x hrgSat
6 ENDIF 7 Print harga
step
Variabel
Next step Output
jmlBrg hrgSat harga
1 2 1500 2
2 2 1500 5
5 2 1500 3000 6
Contoh Branch (5)
step Instruksi
1 Input jmlBrg, hrgSat
2 IF jmlBrg lebih besar dari 100 THEN 3 harga ← 90% x jmlBrg x hrgSat
4 ELSE
5 harga ← jmlBrg x hrgSat
6 ENDIF 7 Print harga
step
Variabel
Next step Output
jmlBrg hrgSat harga 1 2 1500 2 2 2 1500 5 5 2 1500 3000 6 6 2 1500 3000 7 7 2 1500 3000 selesai 3000
Contoh Loop (0)
•
Akan dijalankan dengan input
– 2, 1500
– 6, 100
– 11, 2000
step Instruksi
1 Input jmlBrg, hrgSat
2 WHILE jmlBrg lebih kecil dari 10 3 Print ‘Tidak boleh kurang dari 10’ 4 Input jmlBrg, hrgSat
5 END REPEAT
step
Variabel
Next step Output
Contoh Loop (1)
•
Input pertama
– 2, 1500
•
Input berikutnya
– 6, 100
– 11, 2000
step Instruksi 1 Input jmlBrg, hrgSat2 WHILE jmlBrg lebih kecil dari 10 3 Print ‘Tidak boleh kurang dari 10’ 4 Input jmlBrg, hrgSat
5 END REPEAT
step
Variabel
Next step Output
jmlBrg hrgSat harga
Contoh Loop (2)
• Input berikutnya
– 6, 100
– 11, 2000
step Instruksi 1 Input jmlBrg, hrgSat2 WHILE jmlBrg lebih kecil dari 10 3 Print ‘Tidak boleh kurang dari 10’ 4 Input jmlBrg, hrgSat
5 END REPEAT
step
Variabel
Next step Output
jmlBrg hrgSat harga
1
2
1500
2
Contoh Loop (3)
• Input berikutnya
– 6, 100
– 11, 2000
step Instruksi 1 Input jmlBrg, hrgSat2 WHILE jmlBrg lebih kecil dari 10 3 Print ‘Tidak boleh kurang dari 10’ 4 Input jmlBrg, hrgSat
5 END REPEAT
step
Variabel
Next
step
Output
jmlBrg hrgSat harga
1
2
1500
2
2
2
1500
3
Contoh Loop (4)
• Input sekarang
– 6, 100
• Input berikutnya
– 11, 2000
step Instruksi 1 Input jmlBrg, hrgSat2 WHILE jmlBrg lebih kecil dari 10 3 Print ‘Tidak boleh kurang dari 10’ 4 Input jmlBrg, hrgSat
5 END REPEAT
step
Variabel
Next
step
Output
jmlBrg hrgSat harga
1
2
1500
2
2
2
1500
3
3
2
1500
4
Tidak boleh kurang dari 10
Contoh Loop (5)
• Input berikutnya
– 11, 2000
step Instruksi
1 Input jmlBrg, hrgSat
2 WHILE jmlBrg lebih kecil dari 10 3 Print ‘Tidak boleh kurang dari 10’ 4 Input jmlBrg, hrgSat
5 END REPEAT
step
Variabel
Next
step
Output
jmlBrg hrgSat harga
1
2
1500
2
2
2
1500
3
3
2
1500
4
Tidak boleh kurang dari 10
4
6
100
5
Tidak boleh kurang dari 10
Contoh Loop (6)
• Input berikutnya
– 11, 2000
step Instruksi
1 Input jmlBrg, hrgSat
2 WHILE jmlBrg lebih kecil dari 10 3 Print ‘Tidak boleh kurang dari 10’ 4 Input jmlBrg, hrgSat
5 END REPEAT
step
Variabel
Next
step
Output
jmlBrg hrgSat harga
1 2 1500 2
2 2 1500 3
3 2 1500 4 Tidak boleh kurang dari 10 4 6 100 5 Tidak boleh kurang dari 10
5 6 100 2 Tidak boleh kurang dari 10
Contoh Loop (7)
• Input berikutnya
– 11, 2000
step Instruksi
1 Input jmlBrg, hrgSat
2 WHILE jmlBrg lebih kecil dari 10 3 Print ‘Tidak boleh kurang dari 10’ 4 Input jmlBrg, hrgSat
5 END REPEAT
step Variabel Next step Output
jmlBrg hrgSat harga
1 2 1500 2
2 2 1500 3
3 2 1500 4 Tidak boleh kurang dari 10 4 6 100 5 Tidak boleh kurang dari 10
5 6 100 2 Tidak boleh kurang dari 10
2 6 100 3 Tidak boleh kurang dari 10 3 6 100 4 Tidak boleh kurang dari 10
Contoh Loop (8)
step Instruksi
1 Input jmlBrg, hrgSat
2 WHILE jmlBrg lebih kecil dari 10 3 Print ‘Tidak boleh kurang dari 10’ 4 Input jmlBrg, hrgSat
5 END REPEAT
step Variabel Next step Output
jmlBrg hrgSat harga
1 2 1500 2
2 2 1500 3
3 2 1500 4 Tidak boleh kurang dari 10 4 6 100 5 Tidak boleh kurang dari 10
5 6 100 2 Tidak boleh kurang dari 10
2 6 100 3 Tidak boleh kurang dari 10
3 6 100 4 Tidak boleh kurang dari 10
Contoh Loop (9)
step Instruksi
1 Input jmlBrg, hrgSat
2 WHILE jmlBrg lebih kecil dari 10 3 Print ‘Tidak boleh kurang dari 10’ 4 Input jmlBrg, hrgSat
5 END REPEAT
Step jmlBrg hrgSat harga Next step Output
1 2 1500 2
2 2 1500 3
3 2 1500 4 Tidak boleh kurang dari 10 4 6 100 5 Tidak boleh kurang dari 10
5 6 100 2 Tidak boleh kurang dari 10
2 6 100 3 Tidak boleh kurang dari 10
3 6 100 4 Tidak boleh kurang dari 10
4 11 2000 5 Tidak boleh kurang dari 10
Contoh Loop (10)
step Instruksi
1 Input jmlBrg, hrgSat
2 WHILE jmlBrg lebih kecil dari 10 3 Print ‘Tidak boleh kurang dari 10’ 4 Input jmlBrg, hrgSat
5 END REPEAT
Step jmlBrg hrgSat harga Next step Output
1 2 1500 2
2 2 1500 3
3 2 1500 4 Tidak boleh kurang dari 10 4 6 100 5 Tidak boleh kurang dari 10
5 6 100 2 Tidak boleh kurang dari 10
2 6 100 3 Tidak boleh kurang dari 10
3 6 100 4 Tidak boleh kurang dari 10
4 11 2000 5 Tidak boleh kurang dari 10
5 11 2000 2 Tidak boleh kurang dari 10
Kesalahan
• Syntax : tata bahasa
– Diinginkan:
IF a > b THEN
– Tertulis :
IF a -> b THEN
• Logical : algoritma
– Diinginkan:
INPUT harga
– Tertulis :
INPUT jumlah
• Numerical : perhitungan
– Original data
– Truncation
– Round off
– Propagated
Kesalahan
• Syntax : tata bahasa
• Logical : algoritma
• Numerical : perhitungan
– Original data
• Misal, input harga, seharusnya 5000
• Terrekam: 3999
– Truncation
• Misal, pi = 3,1415926535897932384626433832795
• Kapasitas memory hanya merekam pi=3,1415
– Round off
• Misal, pembulatan pi=3,14159 ... menjadi pi=3,1416
Bahasa Pemrograman
• Procedure oriented
– Procedure : sekumpulan langkah
– Function, routine, subroutine
– Contoh: pascal, C, basic
– Tools sofware: Tubo pascal, Tubo C, Visual
C, Turbo basic, visual basic
• Object oriented programming (OOP)
– Contoh: java, C++
Bahasa Pemrograman
• Procedure oriented
• Object oriented programming (OOP), konsep:
– Class : user-defined type, object template, meta-object,
package, module, concept
• Komponen class
– (class) Properties / Attributes – (class) Method / behaviour
• Inheritance : menuliskan class baru berdasarkan class yang sudah
ada.
– subclass – superclass
– Object : class instance
• encapsulation
Bahasa Pemrograman
• Procedure oriented
• Object oriented programming (OOP), konsep:
– Class : user-defined type, object template, meta-object, package, module, concept
– Object : class instance
– (object) Properties / Attributes : field, slot, instance variable, data member
– (object) Method : selector, handler, message handler, feature, member function, operation,
package operation
– (object) Event : object method that is activated by event.
– superclass : parent class
– subclass : child class, derived class
– Objects memiliki sifat umum:
– inheritance : subclassing, class specialization, derivation, semua karakteristik sebuah class
akan dimiliki oleh class lain yang dibuat-berdasarkan (diturunkan) class tersebut.
– encapsulation: sebuah object merupakan unit yang berdiri sendiri; object mencakup data
dan instruksi yang terkait; property, attribute, data dalam object memiliki privacy.
– polymorphism: setiap object memahami dan melaksanakan perintah-perintah yang