SlideShare uma empresa Scribd logo
1 de 49
Struktur Program dan Debugging
Pemrograman Berorientasi Objek II
Pertemuan – 2
Edri Yunizal, S.Kom., M.T.
Lita Sari Muchlis, M.Kom.
1
STRUKTUR PROGRAM
Memperkenalkan pada mahasiswa tentang struktur dari sebuah
program, pengantar tentang perulangan dan pengambilan keputusan,
serta menjelaskan kenapa pemrograman berorientasi objek lebih baik
dari pemrograman terstruktur seperti menghemat kode dan lain
sebagainya.
•Mendesain program
•Menggunakan objek
2
Struktur program
• Setiap program terdiri dari instruksi
• Instruksi menentukan apa yang dilakukan
program
• Koding=menulis instruksi-instruksi
• Program sederhana bisa terdiri dari satu
instruksi saja. Contoh dalam Visual Basic:
Msgbox “Hello World”
• > baris program, >yang bisa dilakukan
program 3
2 langkah penting dalam mendesain
program
• Identifikasi apa diinginkan dari program
• Mengatakan pada komputer apa yang harus
dilakukan, langkah per-langkah
4
Memulai visual basic
5
IDE Visual Basic
Jendela
Properties
Jendela
Project
Explorer
Tampil
objek
Tampil
Kode
Jendela Utama
objek / kode
Kotak objek
Ikon Shortcut
Ikon menu
6
Spaghetti programming
• Membuat program sangat
mudah
• Buat, tes, tambah instruksi,
sampai selesai
• Program yang baik:
– Awal
– Akhir
• Makin besar program makin
susah dikelola
7
Perbandingan
Spaghetti programming Program sederhana
Project2 spaghetti programming
Project3 program sederhana
8
Koding dg VB
Klik ganda disini
9
Koding dg VB...
• Ketik kode program
• Jalankan program dengan tombol F5 (run)
Ketik kode
program disini
10
Bagian koding dalam vb
Blok method form_load
Blok method form_load
Deklarasi variabel
Instruksi-
instruksi
11
Tipe data dalam visual basic
Type Stores Memory
Requirement
Range of Values
Integer Whole numbers 2 bytes -32,768 to 32,767
Long Whole numbers 4 bytes Approximately +/- 2.1E9
Single Decimal
numbers
4 bytes -3.402823E38 to -1.401298E-45 for negative
values and 1.401298E-45 to 3.402823E38
for positive values
Double Decimal
numbers
(double-
precision
floating-point)
8 bytes -1.79769313486232E308 to
-4.94065645841247E-324 for negative
values and 4.94065645841247E-324 to
1.79769313486232E308 for positive values
Currenc
y
Numbers with
up to 15 digits
left of the
decimal and 4
digits right of
8 bytes -922,337,203,685,477.5808 to
922,337,203,685,477.5807
12
String Text
information
1 byte per
character
Up to 65,000 characters for fixed-length
strings and up to 2 billion characters for
dynamic strings
Byte Whole
numbers
1 byte 0 to 255
Boolea
n
Logical values 2 bytes True or False
Date Date and time
information
8 bytes Jan 1st 100 to December 31st 9999
Object Pictures and
any object
reference
4 bytes N/A
Variant Any of the
preceding
data types
16 bytes + 1
byte per
character
N/A
13
Macam-macam instruksi
Setiap program terdiri dari 3 macam instruksi
•Instruksi sekuensial
•Instruksi percabangan
•Instruksi perulangan
14
Instruksi sekuensial
• Program menjalankan
instruksi satu persatu
• Dari instruksi pertama
sampai terakhir
• Alasan: bisa
melaksanakan masing-
masing instruksi satu
kali sebelum program
berakhir
15
Contoh sekuensial
project4 program sekuensial
16
Instruksi percabangan
• Program yg berguna dan
responsif menerima input
dan bereaksi thd input tsb
• Cth: game
• Percabangan: menyuruh
komputer untuk melakukan
instruksi yang berbeda
tergantung nilai tertentu
yang diinputkan
• Cth: menghapus file di
komputer
17
Contoh percabangan
• Instruksi percabangan membiarkan program bereaksi terhadap data
tertentu.
• terdiri dari dua atau lebih alternatif solusi
• Hanya satu yang akan dijalankan pada satu waktu
project5 program percabangan
18
Instruksi perulangan
• Sekuensial dan percabangan
hanya dilaksanakan 1 kali
• Untuk menjaga agar program
tetap berjalan sampai waktu yang
diinginkan dibutuhkan instruksi
perulangan
• Instruksi perulangan membuat
komputer mengulang satu atau
lebih instruksi
• Membantu menggunakan
instruksi yang sama berkali-kali
19
Contoh perulangan:Menampilkan
angka 1 s.d 10
• Tanpa perulangan: • Dengan perulangan:
• Kurang jelas?
• Lebih sedikit
• Cth 1 s.d 1000:
Private Sub Form_Load()
Dim i As Integer
For i = 1 To 1000
MsgBox "Cetak " & i
Next
End
End Sub
project6 program tanpa perulangan
project7 program dengan perulangan
20
10
Blok pembangun program
• Setiap program terdiri
dari 3 blok pembangun:
sekuensial,
percabangan, dan
perulangan
• Contoh 3 blok
pembangun program
yang meminta
password
21
Flowchart program password
pwd
pwd=“x123”
Start
“Selamat datang
di arsip FBI”
“Login anda gagal!,
Coba Lagi!”
Stoppwd=“x123”
22
Kode program password
Sekuensial
Sekuensial
Sekuensial
Sekuensial
Sekuensial
Perulangan
Perulangan
Percabangan
Percabangan
Percabangan
Sekuensial
Sekuensial
project8 program password
23
Subprogram
• Semakin kompleks tugas > semakin banyak
kode program > semakin sulit dibaca dan
dipahami
• Satu halaman saja?
• Buku > halaman
• Program > subprogram
24
Program password dengan
subprogram
Program utama
Sub program
project9 subprogram
25
Penggunaan subprogram
• Function / procedure
• Library
• Object
26
Function / procedure
• Keuntungan
– Membagi program menjadi bagian yang lebih kecil, mudah dibaca dan ditulis
– Program diisolasi shg pengeditan lebih mudah, (cth: mengganti bata yang
rusak ganti yang baru)
27
Library
• Membagi program yang
besar menjadi kecil dengan
subprogram =
mengorganisasikan instruksi
• Library=memisahkan
subprogram ke file lain
• 1 program bisa terdiri lebih
dari 1 file, terhubung pada 1
atau lebih library• Keuntungan
– Membaca program lebih mudah, daripada membuka seluruh file, buka file
yang dibutuhkan saja
– Library bisa digunakan kembali oleh program lain
– Ukuran program utama bisa jadi lebih kecil
28
Object
• Library memiliki
beberapa kelemahan:
– Perbaikan library berarti
memperbaiki
keseluruhan library yang
ada
– Perbedaan versi antar
library
• OOP bukan menyalin
subprogram secara fisik
tapi membuat sebuah
salinan virtual
• Keuntungan
– Subprogram bisa digunakan secara bersama
– Subprogram bisa dimodifikasi tanpa
mempengaruhi subprogram aslinya (karena disalin
secara virtual) 29
Polymorphism
• Salinan virtual bisa bekerja seperti
salinan fisik, namun tidak bisa
mengubah subprogram aslinya
(versi tidak akan berganti)
• Jika ingin memperbaiki subprogram
asli (yang disimpan dalam objek),
sekali diperbaiki maka mengupdate
secara otomatis salinan virtualnya
• Jika ingin menambahkan fitur
dalam objek, cukup membuat
salinan virtualnya dan kemudian
menambahkan fitur tsb
(polymorphism) 30
DEBUGGING
Mengatasi kesalahan dalam pembuatan program
31
Debugging
• Tidak ada yang bisa membuat program selalu 100%
benar
• Satu instruksi yang salah, asumsi yang salah, kurang
satu instruksi -> komputer tidak tahu -> gagal / crash
• Program yang tidak benar -> memiliki bug
• Proses mencari yang salah didalam
program=debugging
• Bahasa pemrograman menyediakan fasilitas untuk
melacak bug dalam program
32
Anatomi bug komputer
• Tiga kategori
– Kesalahan sintak: perintah yang dikodekan dengan tidak
benar misal Msgbox ditulis MessageBox atau lupa
memberikan kurung tutup )
– Kesalahan run-time (waktu menjalankan): program
melakukan sesuatu yang tidak diharapkan, misal
disediakan input umur, pengguna tidak mengetikkan
angka tapi malah berupa huruf “tiga puluh dua”
– Kesalahan logika: program jalan, tapi tidak bekerja sesuai
yang diharapkan
33
Opsi debugging
• Ceklis pada
– Auto syntax check
– Require variable declaration
34
Kesalahan sintak
• Salah tulis perintah
• Salah buat karakter
• Salah eja
35
Salah tulis perintah
Pesan
error
Bug
Subprogram
yang harus
diperbaiki
project10 salah tulis perintah
36
Salah buat karakter
Karakter salah buat, ‘
seharusnya “
37
project11 salah buat karakter
Salah eja
38
project12 salah eja
Kesalahan Run-time
• Run-time eror: kesalahan ketika program dijalankan
• Tersembunyi dalam program
• Program berjalan dengan baik
• Tiba-tiba eror karena mendapatkan data yang tidak
diharapkan
• Ada versi beta
• Cara mengatasi
– Mengetes program berulang-ulang
– Membatasi input
39
Contoh kesalahan run-time
• Membuka file yang tidak ada
• Log in pada database dengan username dan password yang
salah
• Mengakses direktori tertentu tanpa hak
• Mengakses data dari tabel yang namanya sudah diganti
• Membuka file dari server yang sedang down
• Mengakses URL internet yang tidak ada lagi
• Membagi angka dengan 0
• Pengguna memasukkan angka ketika dibutuhkan string
• Overflow
40
Run-time eror: overflow
41
project13 overflow
Kesalahan logika
• Yang paling berbahaya
– Kesalahan sintak / run-time bisa diketahui dengan cepat
– Terjadi setelah instruksi dibuat dengan benar, namun
instruksi yang dibuat adalah instruksi yang salah, karena
programmer berasumsi instruksinya benar
• Cara mengatasi
– Step
– Breakpoint
– Watch
42
Contoh
project14 kesalahan logika
43
Step
• Tekan tombol F8
untuk setiap
perintah
44
Breakpoint
• Program akan
berhenti pada
setiap breakpoint
45
Watch
• Melihat isi variabel
ketika program
sedang berjalan
46
Tugas 1
• Buatlah project-project berikut:
– project2 Spaghetti programming
– project3 program sederhana
– project4 program sekuensial
– project5 program percabangan
– project6 program tanpa perulangan
– project7 program dengan perulangan
– project8 program password
• Serahkan dalam bentuk CD (satu lokal boleh 1 CD), paling
lambat minggu depan (pertemuan 3)
• Masing-masing project dibuat directori / foldernya dengan
nama seperti diatas
• Masing-masing mahasiswa dibuat direktori / foldernya
dengan nama:
NIM – NAMA MAHASISWA
• project9 subprogram
• project10 salah tulis perintah
• project11 salah buat karakter
• project12 salah eja
• project13 overflow
• project14 kesalahan logika
47
Tugas 2
• Cari 1 buah ebook tentang pemrograman berorientasi objek
(pdf), object oriented programming, OOP, bahasa inggris atau
indonesia
• 1 orang 1 ebook (tidak boleh ada yang sama)
• Buat sebuah folder dengan NIM – NAMA MAHASISWA, yang
berisi:
– File pdf ebook
– Readme.txt yang isinya adalah alamat website tempat mendownload
buku tsb
• Dikumpulkan 2 minggu lagi (pertemuan 4)
• Diserahkan dalam bentuk CD (1 lokal boleh 1 CD)
48
Sumber
• Wang, Wallace (2007).Beginning
Programming for Dummies, 4th Edition.
Indianapolis: Wiley Publishing
• QUE.Using Visual Basic 6. Macmillan
Computer Publishing
• Petroutsos, Evangelos (2002). Mastering
Visual Basic .NET. Alameda: SYBEX
49

Mais conteúdo relacionado

Semelhante a Struktur Program dan Debugging

pengenalan algoritma komputasi untuk kuliah
pengenalan algoritma komputasi untuk kuliahpengenalan algoritma komputasi untuk kuliah
pengenalan algoritma komputasi untuk kuliahDikyAnggoro2
 
pengenalan algoritma komputasi sains untuk kuliah
pengenalan algoritma komputasi sains untuk kuliahpengenalan algoritma komputasi sains untuk kuliah
pengenalan algoritma komputasi sains untuk kuliahDikyAnggoro2
 
Slide-INF-Modul-1.pptx
Slide-INF-Modul-1.pptxSlide-INF-Modul-1.pptx
Slide-INF-Modul-1.pptxNitha Thatha
 
Slide-INF-Modul-1.pptx
Slide-INF-Modul-1.pptxSlide-INF-Modul-1.pptx
Slide-INF-Modul-1.pptxyunusziliwu
 
Lanjutan Pert 2.pptx
Lanjutan Pert 2.pptxLanjutan Pert 2.pptx
Lanjutan Pert 2.pptxmerisipahutar
 
TD-666-01-teknik-pemrograman
TD-666-01-teknik-pemrogramanTD-666-01-teknik-pemrograman
TD-666-01-teknik-pemrogramanTino Dwiantoro
 
Proses and thread
Proses and thread Proses and thread
Proses and thread Gus Dan
 
Silabus kkpi-smk-kelas-x
Silabus kkpi-smk-kelas-xSilabus kkpi-smk-kelas-x
Silabus kkpi-smk-kelas-xWong Ndeso
 
Teknik kompilasi
Teknik kompilasi Teknik kompilasi
Teknik kompilasi Mr. FM
 
Materi_1_Pengantar_Algoritma.pptx
Materi_1_Pengantar_Algoritma.pptxMateri_1_Pengantar_Algoritma.pptx
Materi_1_Pengantar_Algoritma.pptxwahyu479353
 
Slide struktur codeigneter
Slide struktur codeigneterSlide struktur codeigneter
Slide struktur codeigneterCecilia Cintahta
 
06. memahami pemograman visual berbasis desktop
06. memahami pemograman visual berbasis desktop06. memahami pemograman visual berbasis desktop
06. memahami pemograman visual berbasis desktopOji Daroji
 
436457871-KD-3-7-Menerapkan-Instalasi-Software-Aplikasi.pptx
436457871-KD-3-7-Menerapkan-Instalasi-Software-Aplikasi.pptx436457871-KD-3-7-Menerapkan-Instalasi-Software-Aplikasi.pptx
436457871-KD-3-7-Menerapkan-Instalasi-Software-Aplikasi.pptxFadillaKhadli
 
Analisa dan Perancangan Sistem Informasi Pert 15
Analisa dan Perancangan Sistem Informasi Pert 15Analisa dan Perancangan Sistem Informasi Pert 15
Analisa dan Perancangan Sistem Informasi Pert 15septianopratama2
 

Semelhante a Struktur Program dan Debugging (20)

pengenalan algoritma komputasi untuk kuliah
pengenalan algoritma komputasi untuk kuliahpengenalan algoritma komputasi untuk kuliah
pengenalan algoritma komputasi untuk kuliah
 
pengenalan algoritma komputasi sains untuk kuliah
pengenalan algoritma komputasi sains untuk kuliahpengenalan algoritma komputasi sains untuk kuliah
pengenalan algoritma komputasi sains untuk kuliah
 
Slide-INF-Modul-1.pptx
Slide-INF-Modul-1.pptxSlide-INF-Modul-1.pptx
Slide-INF-Modul-1.pptx
 
Slide-INF-Modul-1.pptx
Slide-INF-Modul-1.pptxSlide-INF-Modul-1.pptx
Slide-INF-Modul-1.pptx
 
Lanjutan Pert 2.pptx
Lanjutan Pert 2.pptxLanjutan Pert 2.pptx
Lanjutan Pert 2.pptx
 
TD-666-01-teknik-pemrograman
TD-666-01-teknik-pemrogramanTD-666-01-teknik-pemrograman
TD-666-01-teknik-pemrograman
 
Ragam dialog
Ragam dialogRagam dialog
Ragam dialog
 
rpl-2-1.pptx
rpl-2-1.pptxrpl-2-1.pptx
rpl-2-1.pptx
 
Proses and thread
Proses and thread Proses and thread
Proses and thread
 
Silabus kkpi-smk-kelas-x
Silabus kkpi-smk-kelas-xSilabus kkpi-smk-kelas-x
Silabus kkpi-smk-kelas-x
 
Teknik kompilasi
Teknik kompilasi Teknik kompilasi
Teknik kompilasi
 
3-1 Algoritma.pptx
3-1 Algoritma.pptx3-1 Algoritma.pptx
3-1 Algoritma.pptx
 
Materi_1_Pengantar_Algoritma.pptx
Materi_1_Pengantar_Algoritma.pptxMateri_1_Pengantar_Algoritma.pptx
Materi_1_Pengantar_Algoritma.pptx
 
Slide struktur codeigneter
Slide struktur codeigneterSlide struktur codeigneter
Slide struktur codeigneter
 
06. memahami pemograman visual berbasis desktop
06. memahami pemograman visual berbasis desktop06. memahami pemograman visual berbasis desktop
06. memahami pemograman visual berbasis desktop
 
Materi 1 - Algoritma & Pemrogaman
Materi 1 - Algoritma & PemrogamanMateri 1 - Algoritma & Pemrogaman
Materi 1 - Algoritma & Pemrogaman
 
436457871-KD-3-7-Menerapkan-Instalasi-Software-Aplikasi.pptx
436457871-KD-3-7-Menerapkan-Instalasi-Software-Aplikasi.pptx436457871-KD-3-7-Menerapkan-Instalasi-Software-Aplikasi.pptx
436457871-KD-3-7-Menerapkan-Instalasi-Software-Aplikasi.pptx
 
Bab 4
Bab 4Bab 4
Bab 4
 
Perisian
PerisianPerisian
Perisian
 
Analisa dan Perancangan Sistem Informasi Pert 15
Analisa dan Perancangan Sistem Informasi Pert 15Analisa dan Perancangan Sistem Informasi Pert 15
Analisa dan Perancangan Sistem Informasi Pert 15
 

Mais de Edri Yunizal

Pengantar Windows 8, Desktop
Pengantar Windows 8, DesktopPengantar Windows 8, Desktop
Pengantar Windows 8, DesktopEdri Yunizal
 
Pendaftaran sekolah untuk jalur prestasi akademik spmb ptain 2013
Pendaftaran sekolah untuk jalur prestasi akademik spmb ptain 2013Pendaftaran sekolah untuk jalur prestasi akademik spmb ptain 2013
Pendaftaran sekolah untuk jalur prestasi akademik spmb ptain 2013Edri Yunizal
 
Kuliah PBOII-4 Visual Basic .NET 2010, Access 2007: Membuat Form Entri Database
Kuliah PBOII-4 Visual Basic .NET 2010, Access 2007: Membuat Form Entri DatabaseKuliah PBOII-4 Visual Basic .NET 2010, Access 2007: Membuat Form Entri Database
Kuliah PBOII-4 Visual Basic .NET 2010, Access 2007: Membuat Form Entri DatabaseEdri Yunizal
 
Kuliah PBOII-3 Visual Basic .NET 2010, Access 2007: Perkenalan Perintah SQL U...
Kuliah PBOII-3 Visual Basic .NET 2010, Access 2007: Perkenalan Perintah SQL U...Kuliah PBOII-3 Visual Basic .NET 2010, Access 2007: Perkenalan Perintah SQL U...
Kuliah PBOII-3 Visual Basic .NET 2010, Access 2007: Perkenalan Perintah SQL U...Edri Yunizal
 
Kuliah PBOII-2 Visual Basic .NET 2010, Access 2007: Perkenalan SQL Insert pad...
Kuliah PBOII-2 Visual Basic .NET 2010, Access 2007: Perkenalan SQL Insert pad...Kuliah PBOII-2 Visual Basic .NET 2010, Access 2007: Perkenalan SQL Insert pad...
Kuliah PBOII-2 Visual Basic .NET 2010, Access 2007: Perkenalan SQL Insert pad...Edri Yunizal
 
Kuliah SBOP-16-17 Visual Basic 6, Crystal Report 8.5, Access 2007 Membuat Lap...
Kuliah SBOP-16-17 Visual Basic 6, Crystal Report 8.5, Access 2007 Membuat Lap...Kuliah SBOP-16-17 Visual Basic 6, Crystal Report 8.5, Access 2007 Membuat Lap...
Kuliah SBOP-16-17 Visual Basic 6, Crystal Report 8.5, Access 2007 Membuat Lap...Edri Yunizal
 
Analisa dan Perancangan Sistem Informasi Pertemuan 9 - Normalisasi Data
Analisa dan Perancangan Sistem Informasi Pertemuan 9 - Normalisasi DataAnalisa dan Perancangan Sistem Informasi Pertemuan 9 - Normalisasi Data
Analisa dan Perancangan Sistem Informasi Pertemuan 9 - Normalisasi DataEdri Yunizal
 
Pemrograman berorientasi objek ii 12 sql server
Pemrograman berorientasi objek ii   12 sql serverPemrograman berorientasi objek ii   12 sql server
Pemrograman berorientasi objek ii 12 sql serverEdri Yunizal
 
Pemrograman berorientasi objek ii 11 active x object
Pemrograman berorientasi objek ii   11 active x objectPemrograman berorientasi objek ii   11 active x object
Pemrograman berorientasi objek ii 11 active x objectEdri Yunizal
 
Pemrograman berorientasi objek ii 10 class
Pemrograman berorientasi objek ii   10 classPemrograman berorientasi objek ii   10 class
Pemrograman berorientasi objek ii 10 classEdri Yunizal
 
Pemrograman berorientasi objek ii 06
Pemrograman berorientasi objek ii   06 Pemrograman berorientasi objek ii   06
Pemrograman berorientasi objek ii 06 Edri Yunizal
 
Pemrograman berorientasi objek ii 05 prosedur dan fungsi (latihan) - copy
Pemrograman berorientasi objek ii   05 prosedur dan fungsi (latihan) - copyPemrograman berorientasi objek ii   05 prosedur dan fungsi (latihan) - copy
Pemrograman berorientasi objek ii 05 prosedur dan fungsi (latihan) - copyEdri Yunizal
 
Pemrograman berorientasi objek ii 04 prosedur dan fungsi
Pemrograman berorientasi objek ii   04 prosedur dan fungsiPemrograman berorientasi objek ii   04 prosedur dan fungsi
Pemrograman berorientasi objek ii 04 prosedur dan fungsiEdri Yunizal
 
Pemrograman berorientasi objek ii 03 variabel, percabangan, perulangan
Pemrograman berorientasi objek ii   03 variabel, percabangan, perulanganPemrograman berorientasi objek ii   03 variabel, percabangan, perulangan
Pemrograman berorientasi objek ii 03 variabel, percabangan, perulanganEdri Yunizal
 
Pemrograman berorientasi objek ii 03 variabel, percabangan, perulangan
Pemrograman berorientasi objek ii   03 variabel, percabangan, perulanganPemrograman berorientasi objek ii   03 variabel, percabangan, perulangan
Pemrograman berorientasi objek ii 03 variabel, percabangan, perulanganEdri Yunizal
 
Pemrograman berorientasi objek ii 01
Pemrograman berorientasi objek ii   01Pemrograman berorientasi objek ii   01
Pemrograman berorientasi objek ii 01Edri Yunizal
 
Pemrograman berorientasi objek ii 13 mengakses sql server melalui visual basic
Pemrograman berorientasi objek ii   13 mengakses sql server melalui visual basicPemrograman berorientasi objek ii   13 mengakses sql server melalui visual basic
Pemrograman berorientasi objek ii 13 mengakses sql server melalui visual basicEdri Yunizal
 
Analisa dan perancangan sistem informasi 07 entity relationship diagram
Analisa dan perancangan sistem informasi 07   entity relationship diagramAnalisa dan perancangan sistem informasi 07   entity relationship diagram
Analisa dan perancangan sistem informasi 07 entity relationship diagramEdri Yunizal
 
Analisa dan perancangan sistem informasi 02 analisa sistem
Analisa dan perancangan sistem informasi 02   analisa sistemAnalisa dan perancangan sistem informasi 02   analisa sistem
Analisa dan perancangan sistem informasi 02 analisa sistemEdri Yunizal
 
Analisa dan perancangan sistem informasi 03 aliran sistem informasi
Analisa dan perancangan sistem informasi 03   aliran sistem informasiAnalisa dan perancangan sistem informasi 03   aliran sistem informasi
Analisa dan perancangan sistem informasi 03 aliran sistem informasiEdri Yunizal
 

Mais de Edri Yunizal (20)

Pengantar Windows 8, Desktop
Pengantar Windows 8, DesktopPengantar Windows 8, Desktop
Pengantar Windows 8, Desktop
 
Pendaftaran sekolah untuk jalur prestasi akademik spmb ptain 2013
Pendaftaran sekolah untuk jalur prestasi akademik spmb ptain 2013Pendaftaran sekolah untuk jalur prestasi akademik spmb ptain 2013
Pendaftaran sekolah untuk jalur prestasi akademik spmb ptain 2013
 
Kuliah PBOII-4 Visual Basic .NET 2010, Access 2007: Membuat Form Entri Database
Kuliah PBOII-4 Visual Basic .NET 2010, Access 2007: Membuat Form Entri DatabaseKuliah PBOII-4 Visual Basic .NET 2010, Access 2007: Membuat Form Entri Database
Kuliah PBOII-4 Visual Basic .NET 2010, Access 2007: Membuat Form Entri Database
 
Kuliah PBOII-3 Visual Basic .NET 2010, Access 2007: Perkenalan Perintah SQL U...
Kuliah PBOII-3 Visual Basic .NET 2010, Access 2007: Perkenalan Perintah SQL U...Kuliah PBOII-3 Visual Basic .NET 2010, Access 2007: Perkenalan Perintah SQL U...
Kuliah PBOII-3 Visual Basic .NET 2010, Access 2007: Perkenalan Perintah SQL U...
 
Kuliah PBOII-2 Visual Basic .NET 2010, Access 2007: Perkenalan SQL Insert pad...
Kuliah PBOII-2 Visual Basic .NET 2010, Access 2007: Perkenalan SQL Insert pad...Kuliah PBOII-2 Visual Basic .NET 2010, Access 2007: Perkenalan SQL Insert pad...
Kuliah PBOII-2 Visual Basic .NET 2010, Access 2007: Perkenalan SQL Insert pad...
 
Kuliah SBOP-16-17 Visual Basic 6, Crystal Report 8.5, Access 2007 Membuat Lap...
Kuliah SBOP-16-17 Visual Basic 6, Crystal Report 8.5, Access 2007 Membuat Lap...Kuliah SBOP-16-17 Visual Basic 6, Crystal Report 8.5, Access 2007 Membuat Lap...
Kuliah SBOP-16-17 Visual Basic 6, Crystal Report 8.5, Access 2007 Membuat Lap...
 
Analisa dan Perancangan Sistem Informasi Pertemuan 9 - Normalisasi Data
Analisa dan Perancangan Sistem Informasi Pertemuan 9 - Normalisasi DataAnalisa dan Perancangan Sistem Informasi Pertemuan 9 - Normalisasi Data
Analisa dan Perancangan Sistem Informasi Pertemuan 9 - Normalisasi Data
 
Pemrograman berorientasi objek ii 12 sql server
Pemrograman berorientasi objek ii   12 sql serverPemrograman berorientasi objek ii   12 sql server
Pemrograman berorientasi objek ii 12 sql server
 
Pemrograman berorientasi objek ii 11 active x object
Pemrograman berorientasi objek ii   11 active x objectPemrograman berorientasi objek ii   11 active x object
Pemrograman berorientasi objek ii 11 active x object
 
Pemrograman berorientasi objek ii 10 class
Pemrograman berorientasi objek ii   10 classPemrograman berorientasi objek ii   10 class
Pemrograman berorientasi objek ii 10 class
 
Pemrograman berorientasi objek ii 06
Pemrograman berorientasi objek ii   06 Pemrograman berorientasi objek ii   06
Pemrograman berorientasi objek ii 06
 
Pemrograman berorientasi objek ii 05 prosedur dan fungsi (latihan) - copy
Pemrograman berorientasi objek ii   05 prosedur dan fungsi (latihan) - copyPemrograman berorientasi objek ii   05 prosedur dan fungsi (latihan) - copy
Pemrograman berorientasi objek ii 05 prosedur dan fungsi (latihan) - copy
 
Pemrograman berorientasi objek ii 04 prosedur dan fungsi
Pemrograman berorientasi objek ii   04 prosedur dan fungsiPemrograman berorientasi objek ii   04 prosedur dan fungsi
Pemrograman berorientasi objek ii 04 prosedur dan fungsi
 
Pemrograman berorientasi objek ii 03 variabel, percabangan, perulangan
Pemrograman berorientasi objek ii   03 variabel, percabangan, perulanganPemrograman berorientasi objek ii   03 variabel, percabangan, perulangan
Pemrograman berorientasi objek ii 03 variabel, percabangan, perulangan
 
Pemrograman berorientasi objek ii 03 variabel, percabangan, perulangan
Pemrograman berorientasi objek ii   03 variabel, percabangan, perulanganPemrograman berorientasi objek ii   03 variabel, percabangan, perulangan
Pemrograman berorientasi objek ii 03 variabel, percabangan, perulangan
 
Pemrograman berorientasi objek ii 01
Pemrograman berorientasi objek ii   01Pemrograman berorientasi objek ii   01
Pemrograman berorientasi objek ii 01
 
Pemrograman berorientasi objek ii 13 mengakses sql server melalui visual basic
Pemrograman berorientasi objek ii   13 mengakses sql server melalui visual basicPemrograman berorientasi objek ii   13 mengakses sql server melalui visual basic
Pemrograman berorientasi objek ii 13 mengakses sql server melalui visual basic
 
Analisa dan perancangan sistem informasi 07 entity relationship diagram
Analisa dan perancangan sistem informasi 07   entity relationship diagramAnalisa dan perancangan sistem informasi 07   entity relationship diagram
Analisa dan perancangan sistem informasi 07 entity relationship diagram
 
Analisa dan perancangan sistem informasi 02 analisa sistem
Analisa dan perancangan sistem informasi 02   analisa sistemAnalisa dan perancangan sistem informasi 02   analisa sistem
Analisa dan perancangan sistem informasi 02 analisa sistem
 
Analisa dan perancangan sistem informasi 03 aliran sistem informasi
Analisa dan perancangan sistem informasi 03   aliran sistem informasiAnalisa dan perancangan sistem informasi 03   aliran sistem informasi
Analisa dan perancangan sistem informasi 03 aliran sistem informasi
 

Último

Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdfvebronialite32
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfTaqdirAlfiandi1
 
1.2.a.6 Dekon modul 1.2. DINI FITRIANI.pdf
1.2.a.6 Dekon modul 1.2. DINI FITRIANI.pdf1.2.a.6 Dekon modul 1.2. DINI FITRIANI.pdf
1.2.a.6 Dekon modul 1.2. DINI FITRIANI.pdfsandi625870
 
LATIHAN SOAL SISTEM PENCERNAAN KELAS 11pptx
LATIHAN SOAL SISTEM PENCERNAAN KELAS 11pptxLATIHAN SOAL SISTEM PENCERNAAN KELAS 11pptx
LATIHAN SOAL SISTEM PENCERNAAN KELAS 11pptxnataliadwiasty
 
SBM_Kelompok-7_Alat dan Media Pembelajaran.pptx
SBM_Kelompok-7_Alat dan Media Pembelajaran.pptxSBM_Kelompok-7_Alat dan Media Pembelajaran.pptx
SBM_Kelompok-7_Alat dan Media Pembelajaran.pptxFardanassegaf
 
rpp bangun-ruang-sisi-datar kelas 8 smp.pdf
rpp bangun-ruang-sisi-datar kelas 8 smp.pdfrpp bangun-ruang-sisi-datar kelas 8 smp.pdf
rpp bangun-ruang-sisi-datar kelas 8 smp.pdfGugunGunawan93
 
RENCANA + Link2 Materi TRAINING "Effective LEADERSHIP & SUPERVISORY SKILL",
RENCANA + Link2 Materi TRAINING "Effective LEADERSHIP & SUPERVISORY  SKILL",RENCANA + Link2 Materi TRAINING "Effective LEADERSHIP & SUPERVISORY  SKILL",
RENCANA + Link2 Materi TRAINING "Effective LEADERSHIP & SUPERVISORY SKILL",Kanaidi ken
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxherisriwahyuni
 
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxTopik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxsyafnasir
 
Materi Kelas Online Ministry Learning Center - Bedah Kitab 1 Tesalonika
Materi Kelas Online Ministry Learning Center - Bedah Kitab 1 TesalonikaMateri Kelas Online Ministry Learning Center - Bedah Kitab 1 Tesalonika
Materi Kelas Online Ministry Learning Center - Bedah Kitab 1 TesalonikaSABDA
 
PPT IPS Geografi SMA Kelas X_Bab 5_Atmosfer.pptx_20240214_193530_0000.pdf
PPT IPS Geografi SMA Kelas X_Bab 5_Atmosfer.pptx_20240214_193530_0000.pdfPPT IPS Geografi SMA Kelas X_Bab 5_Atmosfer.pptx_20240214_193530_0000.pdf
PPT IPS Geografi SMA Kelas X_Bab 5_Atmosfer.pptx_20240214_193530_0000.pdfNatasyaA11
 
Buku Saku Layanan Haji Ramah Lansia 2.pdf
Buku Saku Layanan Haji Ramah Lansia 2.pdfBuku Saku Layanan Haji Ramah Lansia 2.pdf
Buku Saku Layanan Haji Ramah Lansia 2.pdfWahyudinST
 
Dinamika perwujudan Pancasila sebagai Dasar Negara dan Pandangan Hidup Bangsa
Dinamika perwujudan Pancasila sebagai Dasar Negara dan Pandangan Hidup BangsaDinamika perwujudan Pancasila sebagai Dasar Negara dan Pandangan Hidup Bangsa
Dinamika perwujudan Pancasila sebagai Dasar Negara dan Pandangan Hidup BangsaEzraCalva
 
LA PI 2 PE NDIDIKAN GURU PENGGERAK A9 OK
LA PI 2 PE NDIDIKAN GURU PENGGERAK A9 OKLA PI 2 PE NDIDIKAN GURU PENGGERAK A9 OK
LA PI 2 PE NDIDIKAN GURU PENGGERAK A9 OKDeviIndriaMustikorin
 
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdfShintaNovianti1
 
Modul Ajar Matematika Kelas 2 Fase A Kurikulum Merdeka
Modul Ajar Matematika Kelas 2 Fase A Kurikulum MerdekaModul Ajar Matematika Kelas 2 Fase A Kurikulum Merdeka
Modul Ajar Matematika Kelas 2 Fase A Kurikulum MerdekaAbdiera
 
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...Kanaidi ken
 
slide presentation bab 2 sain form 2.pdf
slide presentation bab 2 sain form 2.pdfslide presentation bab 2 sain form 2.pdf
slide presentation bab 2 sain form 2.pdfNURAFIFAHBINTIJAMALU
 
PPT kecerdasan emosi dan pengendalian diri.pptx
PPT kecerdasan emosi dan pengendalian diri.pptxPPT kecerdasan emosi dan pengendalian diri.pptx
PPT kecerdasan emosi dan pengendalian diri.pptxINyomanAgusSeputraSP
 
Panduan Mengisi Dokumen Tindak Lanjut.pdf
Panduan Mengisi Dokumen Tindak Lanjut.pdfPanduan Mengisi Dokumen Tindak Lanjut.pdf
Panduan Mengisi Dokumen Tindak Lanjut.pdfandriasyulianto57
 

Último (20)

Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdf
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
 
1.2.a.6 Dekon modul 1.2. DINI FITRIANI.pdf
1.2.a.6 Dekon modul 1.2. DINI FITRIANI.pdf1.2.a.6 Dekon modul 1.2. DINI FITRIANI.pdf
1.2.a.6 Dekon modul 1.2. DINI FITRIANI.pdf
 
LATIHAN SOAL SISTEM PENCERNAAN KELAS 11pptx
LATIHAN SOAL SISTEM PENCERNAAN KELAS 11pptxLATIHAN SOAL SISTEM PENCERNAAN KELAS 11pptx
LATIHAN SOAL SISTEM PENCERNAAN KELAS 11pptx
 
SBM_Kelompok-7_Alat dan Media Pembelajaran.pptx
SBM_Kelompok-7_Alat dan Media Pembelajaran.pptxSBM_Kelompok-7_Alat dan Media Pembelajaran.pptx
SBM_Kelompok-7_Alat dan Media Pembelajaran.pptx
 
rpp bangun-ruang-sisi-datar kelas 8 smp.pdf
rpp bangun-ruang-sisi-datar kelas 8 smp.pdfrpp bangun-ruang-sisi-datar kelas 8 smp.pdf
rpp bangun-ruang-sisi-datar kelas 8 smp.pdf
 
RENCANA + Link2 Materi TRAINING "Effective LEADERSHIP & SUPERVISORY SKILL",
RENCANA + Link2 Materi TRAINING "Effective LEADERSHIP & SUPERVISORY  SKILL",RENCANA + Link2 Materi TRAINING "Effective LEADERSHIP & SUPERVISORY  SKILL",
RENCANA + Link2 Materi TRAINING "Effective LEADERSHIP & SUPERVISORY SKILL",
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
 
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxTopik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
 
Materi Kelas Online Ministry Learning Center - Bedah Kitab 1 Tesalonika
Materi Kelas Online Ministry Learning Center - Bedah Kitab 1 TesalonikaMateri Kelas Online Ministry Learning Center - Bedah Kitab 1 Tesalonika
Materi Kelas Online Ministry Learning Center - Bedah Kitab 1 Tesalonika
 
PPT IPS Geografi SMA Kelas X_Bab 5_Atmosfer.pptx_20240214_193530_0000.pdf
PPT IPS Geografi SMA Kelas X_Bab 5_Atmosfer.pptx_20240214_193530_0000.pdfPPT IPS Geografi SMA Kelas X_Bab 5_Atmosfer.pptx_20240214_193530_0000.pdf
PPT IPS Geografi SMA Kelas X_Bab 5_Atmosfer.pptx_20240214_193530_0000.pdf
 
Buku Saku Layanan Haji Ramah Lansia 2.pdf
Buku Saku Layanan Haji Ramah Lansia 2.pdfBuku Saku Layanan Haji Ramah Lansia 2.pdf
Buku Saku Layanan Haji Ramah Lansia 2.pdf
 
Dinamika perwujudan Pancasila sebagai Dasar Negara dan Pandangan Hidup Bangsa
Dinamika perwujudan Pancasila sebagai Dasar Negara dan Pandangan Hidup BangsaDinamika perwujudan Pancasila sebagai Dasar Negara dan Pandangan Hidup Bangsa
Dinamika perwujudan Pancasila sebagai Dasar Negara dan Pandangan Hidup Bangsa
 
LA PI 2 PE NDIDIKAN GURU PENGGERAK A9 OK
LA PI 2 PE NDIDIKAN GURU PENGGERAK A9 OKLA PI 2 PE NDIDIKAN GURU PENGGERAK A9 OK
LA PI 2 PE NDIDIKAN GURU PENGGERAK A9 OK
 
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
 
Modul Ajar Matematika Kelas 2 Fase A Kurikulum Merdeka
Modul Ajar Matematika Kelas 2 Fase A Kurikulum MerdekaModul Ajar Matematika Kelas 2 Fase A Kurikulum Merdeka
Modul Ajar Matematika Kelas 2 Fase A Kurikulum Merdeka
 
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
 
slide presentation bab 2 sain form 2.pdf
slide presentation bab 2 sain form 2.pdfslide presentation bab 2 sain form 2.pdf
slide presentation bab 2 sain form 2.pdf
 
PPT kecerdasan emosi dan pengendalian diri.pptx
PPT kecerdasan emosi dan pengendalian diri.pptxPPT kecerdasan emosi dan pengendalian diri.pptx
PPT kecerdasan emosi dan pengendalian diri.pptx
 
Panduan Mengisi Dokumen Tindak Lanjut.pdf
Panduan Mengisi Dokumen Tindak Lanjut.pdfPanduan Mengisi Dokumen Tindak Lanjut.pdf
Panduan Mengisi Dokumen Tindak Lanjut.pdf
 

Struktur Program dan Debugging

  • 1. Struktur Program dan Debugging Pemrograman Berorientasi Objek II Pertemuan – 2 Edri Yunizal, S.Kom., M.T. Lita Sari Muchlis, M.Kom. 1
  • 2. STRUKTUR PROGRAM Memperkenalkan pada mahasiswa tentang struktur dari sebuah program, pengantar tentang perulangan dan pengambilan keputusan, serta menjelaskan kenapa pemrograman berorientasi objek lebih baik dari pemrograman terstruktur seperti menghemat kode dan lain sebagainya. •Mendesain program •Menggunakan objek 2
  • 3. Struktur program • Setiap program terdiri dari instruksi • Instruksi menentukan apa yang dilakukan program • Koding=menulis instruksi-instruksi • Program sederhana bisa terdiri dari satu instruksi saja. Contoh dalam Visual Basic: Msgbox “Hello World” • > baris program, >yang bisa dilakukan program 3
  • 4. 2 langkah penting dalam mendesain program • Identifikasi apa diinginkan dari program • Mengatakan pada komputer apa yang harus dilakukan, langkah per-langkah 4
  • 7. Spaghetti programming • Membuat program sangat mudah • Buat, tes, tambah instruksi, sampai selesai • Program yang baik: – Awal – Akhir • Makin besar program makin susah dikelola 7
  • 8. Perbandingan Spaghetti programming Program sederhana Project2 spaghetti programming Project3 program sederhana 8
  • 9. Koding dg VB Klik ganda disini 9
  • 10. Koding dg VB... • Ketik kode program • Jalankan program dengan tombol F5 (run) Ketik kode program disini 10
  • 11. Bagian koding dalam vb Blok method form_load Blok method form_load Deklarasi variabel Instruksi- instruksi 11
  • 12. Tipe data dalam visual basic Type Stores Memory Requirement Range of Values Integer Whole numbers 2 bytes -32,768 to 32,767 Long Whole numbers 4 bytes Approximately +/- 2.1E9 Single Decimal numbers 4 bytes -3.402823E38 to -1.401298E-45 for negative values and 1.401298E-45 to 3.402823E38 for positive values Double Decimal numbers (double- precision floating-point) 8 bytes -1.79769313486232E308 to -4.94065645841247E-324 for negative values and 4.94065645841247E-324 to 1.79769313486232E308 for positive values Currenc y Numbers with up to 15 digits left of the decimal and 4 digits right of 8 bytes -922,337,203,685,477.5808 to 922,337,203,685,477.5807 12
  • 13. String Text information 1 byte per character Up to 65,000 characters for fixed-length strings and up to 2 billion characters for dynamic strings Byte Whole numbers 1 byte 0 to 255 Boolea n Logical values 2 bytes True or False Date Date and time information 8 bytes Jan 1st 100 to December 31st 9999 Object Pictures and any object reference 4 bytes N/A Variant Any of the preceding data types 16 bytes + 1 byte per character N/A 13
  • 14. Macam-macam instruksi Setiap program terdiri dari 3 macam instruksi •Instruksi sekuensial •Instruksi percabangan •Instruksi perulangan 14
  • 15. Instruksi sekuensial • Program menjalankan instruksi satu persatu • Dari instruksi pertama sampai terakhir • Alasan: bisa melaksanakan masing- masing instruksi satu kali sebelum program berakhir 15
  • 17. Instruksi percabangan • Program yg berguna dan responsif menerima input dan bereaksi thd input tsb • Cth: game • Percabangan: menyuruh komputer untuk melakukan instruksi yang berbeda tergantung nilai tertentu yang diinputkan • Cth: menghapus file di komputer 17
  • 18. Contoh percabangan • Instruksi percabangan membiarkan program bereaksi terhadap data tertentu. • terdiri dari dua atau lebih alternatif solusi • Hanya satu yang akan dijalankan pada satu waktu project5 program percabangan 18
  • 19. Instruksi perulangan • Sekuensial dan percabangan hanya dilaksanakan 1 kali • Untuk menjaga agar program tetap berjalan sampai waktu yang diinginkan dibutuhkan instruksi perulangan • Instruksi perulangan membuat komputer mengulang satu atau lebih instruksi • Membantu menggunakan instruksi yang sama berkali-kali 19
  • 20. Contoh perulangan:Menampilkan angka 1 s.d 10 • Tanpa perulangan: • Dengan perulangan: • Kurang jelas? • Lebih sedikit • Cth 1 s.d 1000: Private Sub Form_Load() Dim i As Integer For i = 1 To 1000 MsgBox "Cetak " & i Next End End Sub project6 program tanpa perulangan project7 program dengan perulangan 20 10
  • 21. Blok pembangun program • Setiap program terdiri dari 3 blok pembangun: sekuensial, percabangan, dan perulangan • Contoh 3 blok pembangun program yang meminta password 21
  • 22. Flowchart program password pwd pwd=“x123” Start “Selamat datang di arsip FBI” “Login anda gagal!, Coba Lagi!” Stoppwd=“x123” 22
  • 24. Subprogram • Semakin kompleks tugas > semakin banyak kode program > semakin sulit dibaca dan dipahami • Satu halaman saja? • Buku > halaman • Program > subprogram 24
  • 25. Program password dengan subprogram Program utama Sub program project9 subprogram 25
  • 26. Penggunaan subprogram • Function / procedure • Library • Object 26
  • 27. Function / procedure • Keuntungan – Membagi program menjadi bagian yang lebih kecil, mudah dibaca dan ditulis – Program diisolasi shg pengeditan lebih mudah, (cth: mengganti bata yang rusak ganti yang baru) 27
  • 28. Library • Membagi program yang besar menjadi kecil dengan subprogram = mengorganisasikan instruksi • Library=memisahkan subprogram ke file lain • 1 program bisa terdiri lebih dari 1 file, terhubung pada 1 atau lebih library• Keuntungan – Membaca program lebih mudah, daripada membuka seluruh file, buka file yang dibutuhkan saja – Library bisa digunakan kembali oleh program lain – Ukuran program utama bisa jadi lebih kecil 28
  • 29. Object • Library memiliki beberapa kelemahan: – Perbaikan library berarti memperbaiki keseluruhan library yang ada – Perbedaan versi antar library • OOP bukan menyalin subprogram secara fisik tapi membuat sebuah salinan virtual • Keuntungan – Subprogram bisa digunakan secara bersama – Subprogram bisa dimodifikasi tanpa mempengaruhi subprogram aslinya (karena disalin secara virtual) 29
  • 30. Polymorphism • Salinan virtual bisa bekerja seperti salinan fisik, namun tidak bisa mengubah subprogram aslinya (versi tidak akan berganti) • Jika ingin memperbaiki subprogram asli (yang disimpan dalam objek), sekali diperbaiki maka mengupdate secara otomatis salinan virtualnya • Jika ingin menambahkan fitur dalam objek, cukup membuat salinan virtualnya dan kemudian menambahkan fitur tsb (polymorphism) 30
  • 31. DEBUGGING Mengatasi kesalahan dalam pembuatan program 31
  • 32. Debugging • Tidak ada yang bisa membuat program selalu 100% benar • Satu instruksi yang salah, asumsi yang salah, kurang satu instruksi -> komputer tidak tahu -> gagal / crash • Program yang tidak benar -> memiliki bug • Proses mencari yang salah didalam program=debugging • Bahasa pemrograman menyediakan fasilitas untuk melacak bug dalam program 32
  • 33. Anatomi bug komputer • Tiga kategori – Kesalahan sintak: perintah yang dikodekan dengan tidak benar misal Msgbox ditulis MessageBox atau lupa memberikan kurung tutup ) – Kesalahan run-time (waktu menjalankan): program melakukan sesuatu yang tidak diharapkan, misal disediakan input umur, pengguna tidak mengetikkan angka tapi malah berupa huruf “tiga puluh dua” – Kesalahan logika: program jalan, tapi tidak bekerja sesuai yang diharapkan 33
  • 34. Opsi debugging • Ceklis pada – Auto syntax check – Require variable declaration 34
  • 35. Kesalahan sintak • Salah tulis perintah • Salah buat karakter • Salah eja 35
  • 36. Salah tulis perintah Pesan error Bug Subprogram yang harus diperbaiki project10 salah tulis perintah 36
  • 37. Salah buat karakter Karakter salah buat, ‘ seharusnya “ 37 project11 salah buat karakter
  • 39. Kesalahan Run-time • Run-time eror: kesalahan ketika program dijalankan • Tersembunyi dalam program • Program berjalan dengan baik • Tiba-tiba eror karena mendapatkan data yang tidak diharapkan • Ada versi beta • Cara mengatasi – Mengetes program berulang-ulang – Membatasi input 39
  • 40. Contoh kesalahan run-time • Membuka file yang tidak ada • Log in pada database dengan username dan password yang salah • Mengakses direktori tertentu tanpa hak • Mengakses data dari tabel yang namanya sudah diganti • Membuka file dari server yang sedang down • Mengakses URL internet yang tidak ada lagi • Membagi angka dengan 0 • Pengguna memasukkan angka ketika dibutuhkan string • Overflow 40
  • 42. Kesalahan logika • Yang paling berbahaya – Kesalahan sintak / run-time bisa diketahui dengan cepat – Terjadi setelah instruksi dibuat dengan benar, namun instruksi yang dibuat adalah instruksi yang salah, karena programmer berasumsi instruksinya benar • Cara mengatasi – Step – Breakpoint – Watch 42
  • 44. Step • Tekan tombol F8 untuk setiap perintah 44
  • 45. Breakpoint • Program akan berhenti pada setiap breakpoint 45
  • 46. Watch • Melihat isi variabel ketika program sedang berjalan 46
  • 47. Tugas 1 • Buatlah project-project berikut: – project2 Spaghetti programming – project3 program sederhana – project4 program sekuensial – project5 program percabangan – project6 program tanpa perulangan – project7 program dengan perulangan – project8 program password • Serahkan dalam bentuk CD (satu lokal boleh 1 CD), paling lambat minggu depan (pertemuan 3) • Masing-masing project dibuat directori / foldernya dengan nama seperti diatas • Masing-masing mahasiswa dibuat direktori / foldernya dengan nama: NIM – NAMA MAHASISWA • project9 subprogram • project10 salah tulis perintah • project11 salah buat karakter • project12 salah eja • project13 overflow • project14 kesalahan logika 47
  • 48. Tugas 2 • Cari 1 buah ebook tentang pemrograman berorientasi objek (pdf), object oriented programming, OOP, bahasa inggris atau indonesia • 1 orang 1 ebook (tidak boleh ada yang sama) • Buat sebuah folder dengan NIM – NAMA MAHASISWA, yang berisi: – File pdf ebook – Readme.txt yang isinya adalah alamat website tempat mendownload buku tsb • Dikumpulkan 2 minggu lagi (pertemuan 4) • Diserahkan dalam bentuk CD (1 lokal boleh 1 CD) 48
  • 49. Sumber • Wang, Wallace (2007).Beginning Programming for Dummies, 4th Edition. Indianapolis: Wiley Publishing • QUE.Using Visual Basic 6. Macmillan Computer Publishing • Petroutsos, Evangelos (2002). Mastering Visual Basic .NET. Alameda: SYBEX 49