Pertemuan 8
Pemrograman
Dokumentasi • Flowchart: – Lambang, simbol, gambar – Arah panah
• Pseudo code – Uraian sistematis dengan bahasa biasa
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
3
Print harga
Contoh Sequence (1)
• Program akan dikerjakan dengan input: – 2, 1500 step
Instruksi
1
Input jmlBrg, hrgSat
2
harga ← jmlBrg x hrgSat
3
Print harga
step Variabel jmlBrg
Output hrgSat
harga
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 1
Output
jmlBrg
hrgSat
2
1500
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 1 2
Output
jmlBrg
hrgSat
harga
2 2
1500 1500
3000
Contoh Sequence (4)
•
Langkah-3:
– Tampilkan isi variabel harga
step
Instruksi
1
Input jmlBrg, hrgSat
2
harga ← jmlBrg x hrgSat
3
Print harga
step Variabel 1 2 3
Output
jmlBrg
hrgSat
harga
2 2 2
1500 1500 1500
3000 3000
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 5
ELSE harga <= jmlBrg x hrgSat
6
ENDIF
7
Print harga
step
Variabel jmlBrg
hrgSat
harga
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 5
ELSE harga ← jmlBrg x hrgSat
6
ENDIF
7
Print harga
step 1
Variabel jmlBrg
hrgSat
2
1500
harga
Next step 2
Output
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 5
ELSE harga ← jmlBrg x hrgSat
6
ENDIF
7
Print harga
step 1 2
Variabel jmlBrg
hrgSat
2 2
1500 1500
harga
Next step 2 5
Output
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 harga ← jmlBrg x hrgSat
5
step
6
ENDIF
7
Print harga
Variabel
Next step Output
jmlBrg
hrgSat
harga
1
2
1500
2
2
2
1500
5
5
2
1500
3000
6
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 harga ← jmlBrg x hrgSat
5
step
6
ENDIF
7
Print harga
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
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 harga ← jmlBrg x hrgSat
5
step
6
ENDIF
7
Print harga
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) •
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
Akan dijalankan dengan input – 2, 1500 – 6, 100 – 11, 2000
END REPEAT
step
Variabel jmlBrg
Next step Output hrgSat
harga
Contoh Loop (1) •
step
Instruksi
1
Input jmlBrg, hrgSat
2
WHILE jmlBrg lebih kecil dari 10
– 2, 1500
3
Print ‘Tidak boleh kurang dari 10’
4
Input jmlBrg, hrgSat
5
Input pertama
•
Input berikutnya – 6, 100 – 11, 2000
END REPEAT
step 1
Variabel
Next step Output
jmlBrg
hrgSat
2
1500
harga
2
Contoh Loop (2) step
Instruksi
1
Input jmlBrg, hrgSat
2
WHILE jmlBrg lebih kecil dari 10
• Input berikutnya
3
Print ‘Tidak boleh kurang dari 10’
4
Input jmlBrg, hrgSat
5
– 6, 100 – 11, 2000
END REPEAT
step
Variabel
Next step Output
jmlBrg
hrgSat
harga
1
2
1500
2
2
2
1500
3
Contoh Loop (3) step
Instruksi
1
Input jmlBrg, hrgSat
2
WHILE jmlBrg lebih kecil dari 10
• Input berikutnya
3
Print ‘Tidak boleh kurang dari 10’
4
Input jmlBrg, hrgSat
5
– 6, 100 – 11, 2000
END REPEAT
step
Variabel harga
Next step
jmlBrg
hrgSat
1
2
1500
2
2
2
1500
3
3
2
1500
4
Output
Tidak boleh kurang dari 10
Contoh Loop (4) • Input sekarang
step
Instruksi
1
Input jmlBrg, hrgSat
2
WHILE jmlBrg lebih kecil dari 10
– 6, 100
• Input berikutnya
3
Print ‘Tidak boleh kurang dari 10’
4
Input jmlBrg, hrgSat
5
– 11, 2000
END REPEAT
step
Variabel harga
Next step
Output
jmlBrg
hrgSat
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 (5) step
Instruksi
1
Input jmlBrg, hrgSat
2
WHILE jmlBrg lebih kecil dari 10
• Input berikutnya – 11, 2000
3
Print ‘Tidak boleh kurang dari 10’
4
Input jmlBrg, hrgSat
5
END REPEAT
step
Variabel harga
Next step
Output
jmlBrg
hrgSat
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
Contoh Loop (6) step
Instruksi
1
Input jmlBrg, hrgSat
2
WHILE jmlBrg lebih kecil dari 10
• Input berikutnya
3
Print ‘Tidak boleh kurang dari 10’
4
Input jmlBrg, hrgSat
5
– 11, 2000
END REPEAT
step
Variabel harga
Next step
Output
jmlBrg
hrgSat
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
Contoh Loop (7) step
Instruksi
1
Input jmlBrg, hrgSat
2
WHILE jmlBrg lebih kecil dari 10
• Input berikutnya – 11, 2000
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
4
11
2000
5
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
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
Next step
Output
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
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
2
11
2000
6
Next step
Output
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
– Propagated
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++ – Tools software: netbean, Turbo J, Vj/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
– polymorphism
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 diterimanya, sesuai dengan method dan property object itu sendiri.
Catatan: