Pemrograman Berorientasi Objek Visual Basic By Rita Wiryasaputra,ST., M. Cs.
1
Visual Basic 6.0 Daftar Pustaka: • Pembangunan Database dengan Visual Basic 6,Kok Yung, Elex Media, 2002 • Pemrograman Visual Basic 6,Adi Kurniadi, Elex Media, 2003 • Tutorial Membuat Program dengan VB, Salemba Infotek, Wahana Komputer,edisi 1, 2004 • Database Terdistribusi dengan VB, Djoni Setiabudi dan Ibnu Gunawan, Elex Media, 2003 • Microsoft Visual Basic 6,Pamungkas, Elex Media,2000 • Pemrograman Database dengan VB,Ario Suryo, Elex Media, 2002 2
• Pembangunan aplikasi sms handphone dengan Mobile FBUS • Pembangunan movie player dengan activeX • Pembangunan program Spreadsheet seperti Microsoft Excel dengan activeX spreadsheet • Pembangunan tokoh kartun yang dapat berbicara dengan Microsoft Agent 3
Pendahuluan Terdapat 2 jenis software yaitu: • Sistem Operasi → perangkat lunak dasar dari seluruh perangkat lunak yang ada dan berisi rutin tingkat dasar sebagai „penghubung‟ antar hardware dengan programmer. Contohnya: DOS, Linux, Windows • Program Aplikasi → Tidak dapat bekerja tanpa adanya software sistem operasi. 4
Bahasa Pemrograman • berbasis teks dan dieksekusi secara sekuen misal: BASIC,PASCAL • berbasis windows misal:VB,Delphi
5
Sifat bahasa pemrograman • Linear programming penulisan program, cara eksekusi dilakukan dari atas ke bawah secara segaris. • Modular programming kode program letaknya tersebar di dalam modul (objek) yang terpisah • OOP lebih ditekankan pada penampilan dan sarana pengembangannya bersifat grafis. Pemrograman berbasis OOP membagi program menjadi bagian-bagian kecil yang disebut objek. Tiap objek memiliki entiti yang terpisah, dapat diolah tersendiri dan memiliki kumpulan sifat dan metode tertentu dengan entiti objek lain dalam lingkungannya. • Data dibungkus (encapsulation) dengan kelas
6
Visual Basic • Visual Basic merupakan suatu visualisasi dan pengendalian keadaan/kejadian yang diatur dalam bahasa pemrograman. • Program Visual Basic dibuat dari beberapa subprogram, dimana tiap sub program mempunyai kode tersendiri dan dapat dieksekusi secara bebas. Pada saat bersamaan tiap kode tersebut dapat saling berhubungan satu sama lain. • Visual Basic mempunyai fasilitas editor yang multiguna (IDE) dengan memberi kemudahan dalam mengelola sumber program dan menyediakan apa yang dibutuhkan programmer. 7
Kemampuan VB • Membuat program aplikasi berbasis windows • Membuat objek pembantu program seperti file Help, aplikasi internet • Menghasilkan program dengan berakhiran .EXE (executable)
8
Dasar Pemrograman Visual Basic • Kelanjutan Bahasa pemrog. BASIC (Beginner‟s All-purpose Symbolic Instruction Code) berbasis OOP dan memiliki konsep modular programming yang dikembangkan dalam era tahun 80 • Event-driven=program menunggu sampai ada respon dari user berupa kejadian tertentu terhadap suatu objek • User-friendly (dibentuk dlm form visual) • Interface grafis (GUI) 9
Sejarah • • • •
1991 → VB untuk DOS dan Windows 1993 → VB 3.0 1995 → VB 4.0 VB 6.0
10
Edisi Visual Basic • Personal/Standard • Professional : sarana pengembangan database yang lebih baik,menunjang pemrograman internet • Enterprise : sarana pengembangan aplikasi client/server pada jaringan
11
Fasilitas pemrog. VB: • Object komponen berbentuk fisik yang dapat dilihat untuk melakukan tugas tertentu dengan batasan tertentu • Bahasa pemrog sekumpulan perintah/instruksi yang dimengerti oleh komputer disusun dalam aturan tertentu untuk melakukan suatu tugas
12
Objek • Objek komponen berbentuk fisik yang dapat dilihat untuk melakukan tugas tertentu dengan batasan tertentu • Form sebagai objek ayah yang merupakan tempat meletakkan objek atau kontrol lain diatasnya. • Form akan menjadi latar belakang dari aplikasi
13
Komponen objek • Properti/atribut → karakteristik objek. Misalnya warna teks adalah biru,jenis teks.. dsb • Metode → serangkaian prosedur miliki objek yang akan dijalankan sesuai dengan respon dari suatu perintah/kejadian. Misalnya objek kontrol Exit memiliki metode untuk keluar dari aplikasi • Event → segala sesuatu yang dialami oleh objek. Contoh: objek mobil → properti warna,merk →metode berhenti, berjalan maju →event dikendarai, pintunya dibuka, ditabrak 14
Pemberian nama Objek Pemberian nama yang penting adalah properti caption, name, filename (penamaannya CASE SENSITIVE) • Caption → nama judul yang biasanya akan ditampilkan pada objek tersebut saat program aplikasi dijalankan • Name → nama internal yang akan digunakan dalam pemrograman. • Filename → nama file yang akan digunakan untuk menyimpan komponen aplikasi pada media penyimpanan
15
Form designer
Project Explorer
Properties window
Toolbox
Code editor
Form layout window
16
Lingkungan Kerja VB: IDE (Integrated Development Environment) • Form Designer : tempat merancang user interface • Toolbox : icon objek atau kontrol untuk membangun aplikasi • Properti window : menentukan dan mengubah properti(atribut) • Project explorer: menampilkan semua file yang terkandung dalam projek. • Code Editor : menulis dan menyunting kode program • Form layout window : menggambarkan posisi dari form yang ditampilkan pada layar monitor saat aplikasi dijalankan
17
Properti Window • Tab alphabetic → properti objek diurutkan berdasarkan abjad • Tab categorized → semua properti dikelompokkan berdasar jenisnya • Pada dasarnya properti dalam tab alphabetic terdapat pula pada tab categorized
18
Proses Pembuatan Aplikasi • Perancangan aplikasi : form apa saja yang dibutuhkan dan bagaimana tampilannya. • Pembuatan projek (kump file penyusun aplikasi) • Penyutingan kode • Debug dan kompilasi aplikasi
19
Nama objek/kontrol
Nama event
20
• • • •
Nama objek/kontrol : nama objek Nama event : jenis event yg dialami objek Private sub : tanda awal dr prosedur Btmerah_click() : nama objek beserta metodenya • End sub : tanda akhir dr prosedur
21
Pengorganisasian VB a. Project → file pusat yang mengelola dan mencatat seluruh file yang dibutuhkan untuk membentuk suatu aplikasi (.VBP) b. File pendukung aplikasi → file form(.frm), file modul(.bas) Terdapat 2 penamaan: • Nama internal → digunakan dalam proyek dan menjadi identitas sebuah objek • Nama eksternal → digunakan untuk menyimpan komponen aplikasi. (ditulis dalam tanda kurung)
Penamaan Project • Project_pertama = nama komponen/nama internal • Frmwarna.frm = nama eksternal yg disimpan dlm media penyimpanan
File run-time • • • • •
Dll → file komponen ActiveX in-process Ocx → file control ActiveX Exe → untuk mengkompilasi program Vbd → file dokumen ActiveX Wct → file template WebClass HTML
24
File design time dan penunjang • Cls → file class untuk menyimpan program class • Frm → file form untuk menyimpan informasi berupa form dan kode-kode yang terdapat pada form tersebut • Ico → file icon berisi gambar • Bmp → file bitmap yang berisi gambar • Txt → file text untuk menyimpan data berupa text atau tulisan • Vbp → file project untuk menyimpan infomasi proyek yang terdiri dari beberapa file 25
Data dan Variabel • Susunan bahasa pemrograman → judul, deklarasi, deskripsi • Data → nilai mentah yg dapat diolah • Tipe data: integer, byte,decimal,boolean,string,single,double,date ,currency,long,object,variant • Variabel → tempat untuk menyimpan nilai sementara pada aplikasi 26
Data • Data/Datum nilai mentah yang tidak memiliki arti jika berdiri sendiri. • Tipe data : integer, byte, decimal, boolean, string, single, double, date, currency, long, object,variant
27
Variabel • Variabel tempat untuk menyimpan nilai data sementara. Sifatnya tidak tetap (berubah). • Deklarasi variabel : Dim namavariabel As tipevariabel Contoh: Dim alamat As string *25
28
Cara deklarasi • DEFAULT (non implicit atau non explicit) untuk data berjenis variant → berisi data numerik, string, tanggal(date) • IMPLICIT → harus menggunakan akhiran yang sesuai dengan tabel. Contoh : variable string →Vartext$ = “Saya”, Variable integer → jumlah%=450 • EXPLICIT → semua perhitungan matematis belum tentu dapat dipastikan hasilnya, sangat dimungkinkan adanya kesalahan jenis data 29
Jangkauan variabel explicit • Tingkatan prosedur → Contoh : DIM var int as integer. Bila prosedur telah selesai dijalankan maka isi variabel akan kosong seperti sebelum dideklarasi • Tingkatan prosedur, static 1 → Contoh : static varint as integer. Variabel yang dideklarasikan dalam sebuah prosedur dan masih mempunyai nilai setelah prosedur tersebut selesai dijalankan 30
Jangkauan variabel explicit (lanjutan) • Tingkatan form dan modul → Contoh : Dim varint as integer. Akan tetap dikenal oleh semua prosedur yang ada dalam form/modul. Diletakkan pada posisi declarations dengan objek general • Tingkatan public → Contoh : Public varint as integer. Variabel pada tingkatan public akan tetap nilainya dan dikenal oleh semua prosedur yang ada dalam aplikasi. Harus dideklarasi dengan menggunakan modul dan pendeklarasiannya diletakkan pada posisi declarations dengan objek general.
31
Jenis Akhiran deklarasi Implicit Jenis data
Akhiran
Jenis data
Boolean
Tidak Ada
Single(float)
!
Date
Double(float)
#
Object
Currency
@
Variant
String
$
Integer
%
Long(int)
&
Akhiran
32
Konstanta • Konstanta/literal nilai yang tetap selama aplikasi • Konstanta bertipe numerik dan boolean (langsung ditulis apa adanya) • Konstanta string diapit tanda kutip dua, contoh: “kata sayang” • Konstanta date diapit tanda pagar, contoh: # 15:23 AM # 33
Operator • Operator perintah memanipulasi variabel dan memberikan suatu hasil. • Operator aritmatika • Operator perbandingan • Operator logika
34
Penambahan Form dan Menutup Aplikasi • Penambahan Form → Biasanya untuk aplikasi yang kompleks, suatu Project dapat memuat lebih dari 1 form. Caranya: Project, Add Form • Penutupan aplikasi → pada toolbar menu, pilih File,Remove Project atau pada project explorer, pilih nama proyek, klik mouse kanan lalu dalam menu pilih remove project
35
END,Unload,Komentar • End → perintah utk menghentikan (terminasi) suatu eksekusi. Semua aplikasi dan objek yg terbuka akan ditutup • Unload → melepas sebuah form dari memori • Komentar(remark) →berfungsi memperjelas program. Contoh: rem atau „ (tanda kutip tunggal) • Garis bawah dipergunakan untuk menyambung instruksi lebih dari 1 baris Contoh : baris 1 …Bulan = log(final * x) _ baris 2 … +Q-R • Untuk menjalankan program aplikasi→ tekan F5 36
Hotkey dan TooltipText • Hotkey → tombol cepat yang diakses dengan menekan tombol ALT dengan huruf yang digarisbawahi. • Tanda & (ampersand) yang ditulis didepan caption kontrol command Contoh: Exit →pada properti caption E&xit • Tooltip → kotak kecil berisi keterangan yang akan muncul apabila sebuah kursor diletakkan di atas sebuah objek. 37
Array Kontrol • Array kontrol → sekelompok kontrol yang memiliki nama yang sama, digunakan bilangan indeks yang dimulai dari nol (0) • Contoh: command1(0)
38
Program Kesatu 'Nama project : prowarna.vbp 'Deskripsi : pembuatan kontrol warna (frmwarna.frm) 'Spesifikasi : a. 1 bh label „b. 3 bh command button (dgn non paste array) 'dibuat oleh : Rita W. • Ubah properti Form : caption(aft. Borderstyle),name(lbwarna) label1 : caption,name,font Button1 : caption, name(btmerah) Button2 : caption, name(btkuning),enabled Button3 : caption, name(btstop)
• Private Sub btmerah_Click() lbwarna.ForeColor = vbRed btmerah.Enabled = False btkuning.Enabled = True End Sub • Private Sub btkuning_Click() lbwarna.ForeColor = vbyellow btmerah.Enabled = true btkuning.Enabled = false End Sub • Private Sub btstop_Click() End End Sub
39
Program Kedua 'Nama project : proarray.vbp 'Deskripsi : membuat array kontrol (frmarray.frm) 'Spesifikasi : a. 3 bh command button (dgn paste array) ' b. 2 bh command button utk exit dan clear ' c. merubah properti ToolTipText 'dibuat oleh : Rita W. Private Sub btclear_Click() Command1(0).Caption = " " Command1(1).Caption = " " Command1(2).Caption = " " End Sub Private Sub btexit_Click() End End Sub Private Sub Command1_Click(Index As Integer) Command1(0).Caption = "VB" Command1(1).Caption = "aku bisa" Command1(2).Caption = "jagoan" End Sub 40
Program Kedua (lanjutan) 'Nama project : proarray.vbp 'Deskripsi : menambah form,mengatur „ tampilan form ' melalui project,properties (frmjudul.frm) 'Spesifikasi : a. 1 bh command button utk next ' b. 4 bh label ' c. 3 bh textbox, kosongkan „ properti text 'dibuat oleh : Rita W. Private Sub cmdnext_Click() Load Form1 Form1.Show End Sub
41
Struktur algoritma • Runtunan/Sequence • Pemilihan/Selection (IF dan CASE) • Pengulangan/Repetition (For next, Do while,do until)
42
IF • IF pernyataan berkondisi untuk membandingkan suatu keadaan tertentu. • Jika kondisi terpenuhi, maka akan dijalankan ekspresi tertentu • Jika kondisi tidak terpenuhi, maka blok IF akan terlompati dan ekspresi di dalam IF tidak akan dijalankan
43
Sintaks pernyataan IF If (kondisi) then ekspresi 1 Else ekspresi 2 End if
44
Select CASE • Select case digunakan untuk pemilihan kondisi yang jumlahnya banyak dan operator yang dipergunakan adalah „=„
45
Sintaks Pernyataan Select Case Select Case ekspresi Case nilai : ekspresi 1 Case nilai : ekspresi 2 Case nilai : ekspresi 3 Case else nilai : ekspresi 4 End Select
46
47
Dim intpil Private Sub txtpilnama_Change() intpil = txtpilnama.Text Select Case intpil Case 1: txtpilharga.Text = "Rp 10.000" Case 2: txtpilharga.Text = "Rp 12.000" Case 3: txtpilharga.Text = "Rp 15.000" End Select End Sub 48
Pengulangan/Repetition • Pengulangan/Repetition suatu pernyataan instruksi sehingga suatu tugas dapat dikerjakan berulang-ulang berdasarkan kondisi tertentu.
49
For Next • For next pernyataan pengulangan loop yang jumlah pengulangannya telah ditentukan • Sintaks pernyataan : For counter = nilaiawal TO nilaiakhir [step kenaikan] …Ekspresi Next counter 50
51
Dim intjum, intawal, intakhir, intcounter Private Sub cmdkeluar_Click() End End Sub Private Sub txtakhir_Change() intjum = 0 intawal = txtawal.Text intakhir = txtakhir.Text For incounter = intawal To intakhir intjum = intjum + incounter Next incounter txtjum.Text = intjum End Sub
52
Do While • Do while akan melakukan pengulangan terus menerus selama suatu kondisi memenuhi syarat • Sintaks pernyataan : Do while kondisi …ekspresi loop 53
Private Sub txtjum_Click() intjum = 0 intawal = 2 Do While intawal <= intakhir intjum = intjum + intawal intawal = intawal + 1 Loop txtjum.Text = intjum End Sub 54
Do Until • Do until akan melakukan pengulangan terus menerus selama suatu kondisi tidak memenuhi syarat • Pengulangan akan berhenti jika sudah memenuhi suatu kondisi (kebalikan dari do while)
55
Sintaks Pernyataan Do Until Do until kondisi …Ekspresi loop
56
Private Sub txtjum_Click() intjum = 0 intawal = 2 Do Until intawal > 4 intjum = intjum + intawal intawal = intawal + 1 Loop txtjum.Text = intjum End Sub 57
Project References • • • • •
Visual Basic for applications Visual Basic Runtime Objects and Procedures Visual Basic Objects and Procedures OLE automation Microsoft ActiveX Data Object 2,6 library
58
Command Button, Option Button dan Check Box
• Command button/tombol perintah untuk mengeksekusi perintah tertentu • Option button/tombol pilihan user dapat memilih salah satu (pilihan tunggal) dari beberapa pilihan yang ada • Check box user dapat memilih lebih dari 1 pilihan.
59
Program Ketiga 'Nama project : promhs1.vbp 'Deskripsi : membuat kontrol (frminput.frm) 'Spesifikasi : „a. 1 bh command button utk keluar ' b. 6 bh label,3 textbox, 1 dtpicker,1 combobox 'dibuat oleh : Rita W. Private Sub cmdkeluar_Click() End End Sub 60
Text Box • Text box Kontrol yang menerima input dari user dalam bentuk pengetikan teks • Kontrol text box tidak memiliki caption tapi memiliki properti TEXT. Biasanya properti ini dikosongkan agar kotak teks tidak berisi teks apapun saat aplikasi dijalankan.
61
Properti text box ALAMAT (txt alamat): • Multiline : teks yang diketikkan dapat lebih dari 1 baris (true) • Scrollbars : menampilkan scrollbar (penggulung), jika properti multiline terpilih
62
• Kadang utk meng-input suatu nilai dalam aplikasi, user dpt memilih dari daftar yang ada dengan meng-klik. • Kotak pilihan yang dapat dibuat adalah list box,combo box
63
Combo Box • Combo box kotak pilihan yang diisikan nilai lain. Macam/style combo box: • Drop-down daftar terbuka dan ditampilkan dalam 1 baris • Simple mirip tampilan daftar list box dan dapat diisikan nilai • Drop-down list tampilan dalam 1 baris, user tidak dapat memasukkan nilai seperti pada drop-down
64
• Isi daftar combo (pada list dalam properti combo) atau • Pada coding: Private Sub Form_Load() cmbjk.AddItem “Pria” cmbjk.AddItem “Wanita” End Sub • Jika ada perubahan pada daftar (penambahan atau pengurangan), penentuan daftar isi list akan lebih mudah dilakukan melalui coding 65
List Box • List box kotak pilihan yang tidak dapat diisikan nilai lain. • Macam: standard list box, check box list box
66
• Isi daftar list box (pada list dalam properti list) atau • Pada coding: Private Sub Form_Load() namalist.AddItem “isi item list” End Sub
67
68
List Box • Tambahkan 2 label utk kota, 1 textbox dan 1 list box pd program ketiga Private Sub Form_Load() lstkota.AddItem "Jakarta" lstkota.AddItem "Bogor" lstkota.AddItem "Bandung" End Sub
Private Sub lstkota_Click() txtitem.Text = lstkota.Text End Sub 69
DateTimePicker • DTPicker kontrol utk menampilkan, berinteraksi dan memodifikasi informasi kalendar/waktu. Menampilkan icon kontrol: • Project,components,controls • Microsoft windows common control-2 6.0 Contoh: label.caption = format (now,”dddd”) → hari • Format(now,”d”) → tanggal • Format (now,”mmmm”) → bulan • Format (now, “yyyy”) → tahun • Format (now,”hh.mm.ss”) → waktu 70
71
• Enable untuk txttotal dibuat menjadi FALSE sehingga tidak dapat diinput. Hanya untuk menampilkan hasil perhitungan
72
73
74
MENU • Menu adalah serangkaian pilihan yang dapat diklik atau dipilih untuk melakukan tugas tertentu • Dengan adanya menu,maka program menjadi lebih praktis dan efektif sehingga menjadi daya tarik konsumen program aplikasi
75
Macam-macam Elemen Menu • Menu bar menu standar yang berlaku sebagai menu utama. Terletak di bagian atas suatu aplikasi dan mengandung pilihan-pilihan menu • Pilihan menu pilihan menu yang dapat dipilih oleh user • Submenu pilihan menu di dalam menu
76
Pengaktifan Menu • Pilihlah menu Tools> Menu Editor • Pembuatan separator (garis pemisah) diatas menu Exit adlh dgn memberikan tanda hubung(-) pada kotak Caption. Pilih insert menu Exit.
77
78
79
'Nama project : promhs1.vbp 'Nama form : frmjudul.frm 'Deskripsi : menambah form,mengatur tampilan form ' melalui project,properties (frmjudul.frm) 'Spesifikasi : a. 1 bh command button utk next ' b. 4 bh label ' c. 3 bh textbox, kosongkan properti text 'dibuat oleh : Rita W. Private Sub cmdkeluar_Click() End End Sub Private Sub mnexit_Click() End End Sub Private Sub mninput_Click() Load frminput frminput.Show Unload Me End Sub 80
Nama project : promhs1.vbp Nama form : frmjudul.frm Private Sub mnnilai_Click() Load frmnilai frmnilai.Show Unload Me End Sub Private Sub txtjurusan_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then cmdnext.SetFocus End If End Sub Private Sub txtnama_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then txtnim.SetFocus End If End Sub
81
Nama project : promhs1.vbp Nama form : frmjudul.frm Private Sub txtnim_Change() If Len(txtnim.Text) = 8 Then txtjurusan.SetFocus End If End Sub Private Sub txtnim_LostFocus() If Len(txtnim.Text) < 8 Then MsgBox "NIM hrs 8 digit", vbCritical + vbOKOnly, "Warning" txtnim.SetFocus End If End Sub 82
'Nama project : promhs1.vbp 'Nama form : frmnilaimhs.frm 'Deskripsi : perhit nilai dgn konsep val, ' set focus dan keyascii 13 'dibuat oleh : Rita W. Private Sub cmdkeluar_Click() End End Sub Private Sub txtkuis_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then txttugas.SetFocus End If End Sub Private Sub txtmid_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then txtuas.SetFocus End If End Sub
83
Nama project : promhs1.vbp Nama form : frmnilaimhs.frm Private Sub txtnamanilai_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then txtabsen.SetFocus End If End Sub Private Sub txttugas_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then txtmid.SetFocus End If End Sub Private Sub txtuas_Change() If KeyAscii = 13 Then txttotal.SetFocus End If txttotal.Text = Val(txttugas.Text) * 0.2 + Val(txtkuis.Text) * 0.1 + Val(txtmid.Text) * 0.3 + Val(txtuas.Text) * 0.4 cmdkeluar.SetFocus End Sub
84
'Nama project : promhs1.vbp 'Nama form : frmdatamhs.frm 'Deskripsi : membuat kontrol 'Spesifikasi : a. 1 bh command button utk keluar ' b. 6 bh label,3 textbox, 1 dtpicker,1 combobox 'dibuat oleh : Rita W. Private Sub cmdkeluar_Click() End End Sub Private Sub cmdnext_Click() Load frmnilai frmnilai.Show Unload Me End Sub Private Sub Form_Load() lstkota.AddItem "Jakarta" lstkota.AddItem "Bogor" lstkota.AddItem "Bandung" End Sub 85
Nama project : promhs1.vbp Nama form : frmdatamhs.frm Private Sub lstkota_Click() txtitem.Text = lstkota.Text End Sub
Private Sub opbiru_Click() lbjudul.ForeColor = vbBlue End Sub Private Sub opcyan_Click() lbjudul.ForeColor = vbCyan End Sub 86
87
88
Private Sub cmdexit_Click() End End Sub Private Sub Form_Load() lstsatuan.AddItem "kilogram" lstsatuan.AddItem "liter" lstsatuan.AddItem "meter" lstsatuan.AddItem "lusin" lstsatuan.AddItem "buah" End Sub Private Sub lstsatuan_Click() txtterpilih.Text = lstsatuan.Text txtharsat.SetFocus End Sub Private Sub lstsatuan_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then txtharsat.SetFocus End If End Sub
89
Private Sub txtharsat_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then txtjml.SetFocus End If End Sub Private Sub txtjml_Change() If KeyAscii = 13 Then txtjmlharga.SetFocus End If txtjmlharga.Text = Val(txtharsat.Text) * Val(txtjml.Text) cmdexit.SetFocus End Sub
Private Sub txtkode_Change() If Len(txtkode.Text) = 5 Then txtnama.SetFocus End If End Sub
90
Private Sub txtkode_LostFocus() If Len(txtkode.Text) < 5 Then MsgBox "Kode hrs 5 digit", vbCritical + vbOKOnly, "Warning" txtkode.SetFocus End If End Sub Private Sub txtnama_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then lstsatuan.SetFocus End If End Sub
91
Fungsi • Fungsi rutin program yang mampu menerima berbagai nilai (argumen) dan memberikan satu hasil tertentu • Fungsi InputBox() menampilkan kotak dialog yang meminta user untuk mengisi nilai tertentu (string) • strNamaVariabel = InputBox(pesan[,strJudul,strDefault,intXPos,in tYPos]) 92
Fungsi MsgBox () • Fungsi MsgBox fungsi yang menampilkan kotak pesan untuk user, lalu menunggu konfirmasi penekanan tombol dari user. • intNamavariabel = MsgBox (pesan [,intType,strJudul])
93
Jenis Tombol Nilai
Konstanta
0
vbOKOnly
1
vbOKCancel
2
vbAbortRetryIgnore
3
vbYesNoCancel
4
vbYesNo
5
vbRetryCancel 94
Jenis Icon Nilai
Konstanta
16
vbCritical
32
vbQuestion
48
vbExclamation
64
vbInformation
95
96
Status Bar • Statusbar baris status yang terdapat di bawah layar aplikasi dan berfungsi memberi keterangan mengenai aplikasi tersebut • Aktifkan komponen Microsoft Windows Common Controls 6.0 pada menu Project, Components • Klik ganda icon statusbar
97
Status Bar-Lanjutan • Pada jendela properties, pilih custom
98
Status Bar-Lanjutan •
Pada tab General digunakan untuk menentukan jenis dan gaya dari statusbar (style) 0-sbrnormal statusbar dapat menampilkan beberapa komponen (teks, gambar… dst) 1-sbrsimple statusbar hanya terdiri dari satu komponen (teks) • Tab Panels menambahkan panel komponen pada statusbar
99
Status Bar-Lanjutan Private Sub txtnama_GotFocus() StatusBar1.Panels(4).Text = "ketikkan nama" End Sub Private Sub txtnim_GotFocus() StatusBar1.Panels(4).Text = "ketikkan nim" End Sub
Private Sub txtjurusan_GotFocus() StatusBar1.Panels(4).Text = "ketikkan jurusan" End Sub 100
Konsep Basis Data • H/W : I, P, O • S/W : O/S : DOS, Windows, UNIX Database (kump. Data yg berintegrasi dan shareable). Hierarki data : char, field, record, file DBMS (sistem pengelola basis data yg menangani permintaan user) : Dbase, SQL
• B/W : Programmer, DBA, End-user
101
• Data kumpulan dari fakta (seperti nomor telepon, nama pelanggan ) yang saling berkaitan secara logis, dirancang untuk memenuhi kebutuhan sebuah organisasi • Database kumpulan data yang saling berkaitan • DBMS sistem perangkat lunak yang mengelola dan mengendalikan akses terhadap database
102
Database • Kebutuhan dasar manajemen adalah efisiensi dan penghematan. Dalam bidang pendataan dikenal dengan nama database dan relational untuk manajemen database. • Database tidak dapat menyediakan informasi secara langsung terhadap user. User harus menjalankan aplikasi untuk mengakses data dalam database. • Sistem Database lebih teroganisasi dengan baik karena tidak ada duplikasi data
103
Kegunaan Database • Mampu menyimpan semua data yang relevan ke dalam database • Dapat menghapus data yang tidak diperlukan
104
Kemampuan DBMS: • Mendefinisikan database melalui DDL (data definition languange) create, drop • Kapasitas besar • Mengendalikan akses terhadap database meliputi : Sistem keamanan mencegah user yang tidak berhak mengakses database Sistem integritas memelihara konsistensi data
105
Lanjutan kemampuan DBMS • Pencarian (query) menampilkan informasi sesuai dengan kriteria tertentu • Pengurutan menyusun informasi dengan urutan khusus • Laporan menghasilkan laporan dengan format tertentu. • Entri data/modifikasi/menghapus data dari database melalui DML (data manipulation languange) insert, delete 106
Bahasa Basis Data • DDL (Data Definition Language) : pendefinisian tabel. C/o: create,alter,drop • DML (Data Manipulation Language): manipulasi data. C/o: select,insert DML Prosedural : penentuandata apa yg diperlukan dan bgmn cara mendapatkannya DML non Prosedural : penentuan data tanpa menyebutkan bagaimana cara mendapatkannya
107
Satuan DATA • Character satuan terkecil dari data • Field/Atribut kumpulan character yang membentuk 1 unit tertentu • Record/Tuple/Baris kumpulan field yang membentuk unit tertentu • File kumpulan record yang membentuk 1 unit tertentu • Database kumpulan file 108
Tabel 1 Nama Tony Andi Tony Andi Tuti
Alamat
Kota
Jl. Beo 34 Jakarta Jl. Siaran Bandung Jl. Beo 34 Jakarta Jl. Siaran Bandung Jl. Buntu Bogor
Jumlah
Pesanan
3 4 6 5 3
Sapu Piring Melamin Ember Sapu Ember
109
• Dalam tabel 1 terlihat adanya data yang berulang/redudansi data. Kendala : apabila terjadi perubahan data maka banyak record terkait yang harus diubah. • Solusi dari redudansi data adalah normalisasi (memecah tabel tunggal menjadi beberapa tabel yang saling berhubungan)
110
Tabel 2.1 Tabel Pelanggan Kode Pelanggan 201 202 203
Nama Tony Andi Tuti
Alamat
Kota
Jl. Beo 34 Jakarta Jl. Siaran Bandung Jl. Buntu Bogor
111
Tabel 2.2 Tabel Pesanan No pesanan 1230 1231 1232 1233 1234
Kode Pelanggan 201 202 201 202 203
Jumlah
Pesanan
3 4 6 5 3
Sapu Piring Melamin Ember Sapu Ember
112
Relational Database • Sistem pengorganisasian data yg efektif dlm database krn menggunakan himp. Teori matematika utk pengaturan data. • Relasi = data yg dihimpun dlm tabel dan berhubungan dengan tabel lain • Fitur yg memungkinkan aplikasi utk menyimpan dan memanipulasi data, spesifik database, hub konsisten antar tabel dlm database (referential integrity) 113
Key/ Kunci • Hubungan antara tabel satu dengan lainnya melalui field yang sama disebut relasi • Relasi dibuat dengan menggunakan key
114
Primary Key Jika menambahkan constraint primary key pada kolom, DBMS akan mengecek data dlm kolom yang terlibat. Pengecekannya meliputi : • Tidak ada data dgn nilai null • Tidak ada nilai duplikasi (data bersifat unik) Constraint primary key tidak dapat dihapus jika diacu oleh tabel lain dengan constraint foreign key • Hanya dapat mendefinisikan 1 buah constraint primary key dgn 1 kolom atau lebih kolom.
115
Foreign Key • Merupakan kolom atau kombinasi beberapa kolom yg dipakai utk menghubungkan sebuah tabel dgn tabel lainnya. • Sebuah tabel dapat memiliki beberapa constraint foreign key
116
Bentuk Relasi antar tabel Terdapat 3 bentuk relasi antartabel : • One to one : contoh belajar privat • One to many : contoh belajar sekolah • Many to many : contoh belajar perkuliahan
117
Komponen database Visual Basic User
Aplikasi Visual Basic (Kontrol Data)
Engine Database :.jet
Database 118
• Kontrol Data objek Visual Basic yang menghubungkan aplikasi dengan database melalui engine database • Engine database program pengelola informasi dalam database (JET=Joint Engine Technology)
119
• Kontrol data terikat (data bound controls) digunakan untuk menampilkan informasi dalam recordset yang dibuat oleh kontrol data • Kontrol data dapat digunakan dengan kontrol intrinsik (label,image..dst) atau nonintrinsik (format .ocx file kontrol ActiveX)
120
Kegunaan kontrol data • Koneksi ke database • Membuka tabel database tertentu • Membuat tabel visual berdasar query database • Menutup database • Berhubungan dengan tool Visual Basic lainnya untuk menampilkan,mengedit data 121
Antarmuka akses data: • DAO (Data Access Object) didesain untuk mengakses database desktop, menggunakan engine Jet (utk akses database Access) • RDO (Remote Data Object) untuk database clientserver • ADO (ActiveX Data Object) • OLE_DB (Object Linking and Embedding Database)
122
• ADO memungkinkan user untuk menggunakan internet • ADO Tidak menggunakan engine Jet • ADO dapat mengakses sumber data lain seperti SQL server
123
DAO
Icon data 124
• Pilihlah database yang akan digunakan properti databasename • Pilihlah tabel yang akan digunakan properti recordsource • Pilihlah text untuk melihat data dari database • Pilihlah properti datasource, properti datafield
125
ADO • Pilihlah project,Tambahkan component • Microsoft ADO Data Control (OLEDB) • Microsoft Datalist Control 6.0 (OLEDB)
126
Icon adodc 127
• Connectionstring mengatur sumber data yang akan diakses dan memberitahukan kepada ADO bagaimana mendapatkannya • Jendela Dialog Data link properties Microsoft Jet 3.51 OLEDB Provider • Pilihlah file database • Recordsource cara memanggil record dari tabel, maka commandtype pilih 2-adcmdtable • Table nama tabel yang akan diakses 128
Data Environment • Data environment penghubung yang memperbolehkan user untuk mengatur, menentukan hubungan database dan recordset untuk sebuah proyek dalam 1 lokasi, dimana semua form dan modul dpt dihubungkan pada recordset
129
• Project, add data environment
130
Pengaturan Connection • Klik connection1, gantilah properti name menjadi cn • Pilih cn dan klik kanan mouse, pilih properties • Untuk datalink, pilih Microsoft Jet 4.0 OLEDB Provider jika menggunakan Access 2000 dan pilihlah Microsoft Jet 3.51 OLEDB Provider untuk Access 97 • Tab connection pilih select or enter a database name
131
132
Penambahan command/table • Pada cn dalam jendela Data environment, klik kanan mouse, pilih addcommand • Klik kanan pada command1, pilih properties • Untuk source data, pilihlah database objek lalu pilih tabel (object name) • Pada tab advanced, pilih locktype Optimistic provider akan mengunci record hanya jika metode update dipanggil 133
• Readonly tidak mengijinkan perubahan data • Pessimistic provider akan melakukan apa yang diperlukan untuk memastikan proses editing terhadap record sukses. Biasanya dengan langsung mengunci record pada sumber data • Batchoptimistic provider akan mengunci record hanya jika metode update dipanggil pada batch mode
134
Private Sub cmdtampil_Click() On Error Resume Next With rs .MoveNext If .EOF Then .MoveFirst End If txtnamabarang.Text = !namaplg txtjumambil.Text = !kodeplg End With End Sub 135
Private Sub Form_Load() 'lstkode.SetFocus Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Dim strconnect As String 'buat koneksi baru Set cn = New ADODB.Connection 'buat recordset baru Set rs = New ADODB.Recordset 136
'membuat string koneksi dan membuka cn.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;" _ & "Data source=C:\Documents and Settings\Win Xp\My Documents\latihan\manisan.mdb" cn.Open 'strconnect = "select * from Pelanggan" rs.Open "select * from pelanggan", cn, adOpenStatic, adLockOptimistic End Sub 137
Private Sub Form_Load() Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Dim strconnect As String Set cn = New ADODB.Connection Set rs = New ADODB.Recordset strconnect = "Provider=Microsoft.Jet.OLEDB.4.0;" _ & "Data Source=C:\Documents and Settings\Win Xp\My Documents\latihan\manisan.mdb"
138
cn.Open strconnect rs.Open "pelanggan", cn Do Until rs.EOF List1.AddItem rs!namaplg rs.MoveNext Loop rs.Close cn.Close End Sub 139
Private Sub cmdakhir_Click() DataEnvironment1.rsPelanggan.MoveLast End Sub Private Sub cmdpertama_Click() DataEnvironment1.rsPelanggan.MoveFirst End Sub Private Sub cmdsblm_Click() DataEnvironment1.rsPelanggan.MovePrevious If DataEnvironment1.rsPelanggan.BOF Then DataEnvironment1.rsPelanggan.MoveFirst End If End Sub 140
Private Sub cmdsdh_Click() DataEnvironment1.rsPelanggan.MoveNext If DataEnvironment1.rsPelanggan.EOF Then DataEnvironment1.rsPelanggan.MoveLast End If End Sub
141
Penyesuaian diri • Jika database dibuat dengan Visual Data Manager (dibuat oleh Microsoft Access versi 97) dapat digunakan konsep DAO
142
143
•Buatlah database lalu klik kanan dari properties lalu pilih new table
144
ODBC
145
ODBC lanjutan
146
Koneksi Database dengan ODBC
147
148
149
150