pemrograman berorientasi objek ii 02 struktur program dan debugging

49
Struktur Program dan Debugging Pemrograman Berorientasi Objek II Pertemuan – 2 Edri Yunizal, S.Kom., M.T. Lita Sari Muchlis, M.Kom. 1

Upload: edri-yunizal

Post on 30-Jun-2015

1.182 views

Category:

Education


1 download

DESCRIPTION

struktur program dan debugging dalam visual basic

TRANSCRIPT

Page 1: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Struktur Program dan Debugging

Pemrograman Berorientasi Objek IIPertemuan – 2

Edri Yunizal, S.Kom., M.T.Lita Sari Muchlis, M.Kom.

1

Page 2: Pemrograman berorientasi objek ii   02 struktur program dan debugging

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

Page 3: Pemrograman berorientasi objek ii   02 struktur program dan debugging

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

Page 4: Pemrograman berorientasi objek ii   02 struktur program dan debugging

2 langkah penting dalam mendesain program

• Identifikasi apa diinginkan dari program• Mengatakan pada komputer apa yang harus

dilakukan, langkah per-langkah

4

Page 5: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Memulai visual basic

5

Page 6: Pemrograman berorientasi objek ii   02 struktur program dan debugging

IDE Visual Basic

Jendela Properties

Jendela Project Explorer

Tampil objek

Tampil Kode

Jendela Utama objek / kode

Kotak objek

Ikon ShortcutIkon menu

6

Page 7: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Spaghetti programming

• Membuat program sangat mudah

• Buat, tes, tambah instruksi, sampai selesai

• Program yang baik:– Awal– Akhir

• Makin besar program makin susah dikelola

7

Page 8: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Perbandingan

Spaghetti programming Program sederhana

Project2 spaghetti programming

Project3 program sederhana

8

Page 9: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Koding dg VB

Klik ganda disini

9

Page 10: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Koding dg VB...

• Ketik kode program• Jalankan program dengan tombol F5 (run)

Ketik kode program disini

10

Page 11: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Bagian koding dalam vb

Blok method form_load

Blok method form_load

Deklarasi variabelInstruksi-instruksi

11

Page 12: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Tipe data dalam visual basicType Stores Memory

RequirementRange of Values

Integer Whole numbers 2 bytes -32,768 to 32,767Long Whole numbers 4 bytes Approximately +/- 2.1E9Single Decimal

numbers4 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

Currency

Numbers with up to 15 digits left of the decimal and 4 digits right of the decimal

8 bytes -922,337,203,685,477.5808 to 922,337,203,685,477.5807

12

Page 13: Pemrograman berorientasi objek ii   02 struktur program dan debugging

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

Boolean

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

Page 14: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Macam-macam instruksi

Setiap program terdiri dari 3 macam instruksi•Instruksi sekuensial•Instruksi percabangan•Instruksi perulangan

14

Page 15: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Instruksi sekuensial

• Program menjalankan instruksi satu persatu

• Dari instruksi pertama sampai terakhir

• Alasan: bisa melaksanakan masing-masing instruksi satu kali sebelum program berakhir

15

Page 16: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Contoh sekuensial

project4 program sekuensial

16

Page 17: Pemrograman berorientasi objek ii   02 struktur program dan debugging

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

Page 18: Pemrograman berorientasi objek ii   02 struktur program dan debugging

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

Page 19: Pemrograman berorientasi objek ii   02 struktur program dan debugging

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

Page 20: Pemrograman berorientasi objek ii   02 struktur program dan debugging

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 IntegerFor i = 1 To 1000

MsgBox "Cetak " & iNextEnd

End Subproject6 program tanpa perulangan

project7 program dengan perulangan

20

10

Page 21: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Blok pembangun program

• Setiap program terdiri dari 3 blok pembangun: sekuensial, percabangan, dan perulangan

• Contoh 3 blok pembangun program yang meminta password

21

Page 22: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Flowchart program password

pwd

pwd=“x123”

Start

“Selamat datang di arsip FBI”

“Login anda gagal!, Coba Lagi!”

Stoppwd=“x123”

22

Page 23: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Kode program password

Sekuensial

Sekuensial

Sekuensial

Sekuensial

Sekuensial

Perulangan

Perulangan

Percabangan

Percabangan

Percabangan

Sekuensial

Sekuensial

project8 program password

23

Page 24: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Subprogram

• Semakin kompleks tugas > semakin banyak kode program > semakin sulit dibaca dan dipahami

• Satu halaman saja?• Buku > halaman• Program > subprogram

24

Page 25: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Program password dengan subprogram

Program utamaSub program

project9 subprogram25

Page 26: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Penggunaan subprogram

• Function / procedure• Library• Object

26

Page 27: Pemrograman berorientasi objek ii   02 struktur program dan debugging

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

Page 28: Pemrograman berorientasi objek ii   02 struktur program dan debugging

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

Page 29: Pemrograman berorientasi objek ii   02 struktur program dan debugging

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

Page 30: Pemrograman berorientasi objek ii   02 struktur program dan debugging

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

Page 31: Pemrograman berorientasi objek ii   02 struktur program dan debugging

DEBUGGINGMengatasi kesalahan dalam pembuatan program

31

Page 32: Pemrograman berorientasi objek ii   02 struktur program dan debugging

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

Page 33: Pemrograman berorientasi objek ii   02 struktur program dan debugging

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

Page 34: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Opsi debugging

• Ceklis pada – Auto syntax check– Require variable declaration

34

Page 35: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Kesalahan sintak

• Salah tulis perintah• Salah buat karakter• Salah eja

35

Page 36: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Salah tulis perintah

Pesan error

Bug

Subprogram yang harus diperbaiki

project10 salah tulis perintah

36

Page 37: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Salah buat karakterKarakter salah buat, ‘ seharusnya “

37

project11 salah buat karakter

Page 38: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Salah eja

38

project12 salah eja

Page 39: Pemrograman berorientasi objek ii   02 struktur program dan debugging

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

Page 40: Pemrograman berorientasi objek ii   02 struktur program dan debugging

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

Page 41: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Run-time eror: overflow

41

project13 overflow

Page 42: Pemrograman berorientasi objek ii   02 struktur program dan debugging

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

Page 43: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Contoh

project14 kesalahan logika

43

Page 44: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Step

• Tekan tombol F8 untuk setiap perintah

44

Page 45: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Breakpoint

• Program akan berhenti pada setiap breakpoint

45

Page 46: Pemrograman berorientasi objek ii   02 struktur program dan debugging

Watch• Melihat isi variabel

ketika program sedang berjalan

46

Page 47: Pemrograman berorientasi objek ii   02 struktur program dan debugging

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

Page 48: Pemrograman berorientasi objek ii   02 struktur program dan debugging

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

Page 49: Pemrograman berorientasi objek ii   02 struktur program dan debugging

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