V I S U A L B A S I C
PENDAHULUAN
Visual Basic adalah salah satu bahasa pemrograman komputer. Bahasa pemrograman adalah perintah-perintah yang dimengerti oleh komputer untuk melakukan tugas-tugas tertentu. Bahasa pemrograman Visual Basic, yang dikembangkan oleh Microsoft sejak tahun 1991, merupakan pengembangan dari pendahulunya yaitu bahasa pemrograman BASIC (Beginner’s All-purpose Symbolic Instruction Code) yang dikembangkan pada era 1950-an. Visual Basic merupakan salah satu Development Tool yaitu alat bantu untuk membuat berbagai macam program komputer, khususnya yang menggunakan sistem operasi Windows.
Dalam pengembangan aplikasi, Visual Basic menggunakan pendekatan Visual untuk merancang user interface dalam bentuk form, sedangkan untuk kodingnya menggunakan dialek bahasa Basic yang cenderung mudah dipelajari. Visual Basic telah menjadi tools yang terkenal bagi para pemula maupun para developer. Dalam lingkungan Window's User-interface sangat memegang peranan penting, karena dalam pemakaian aplikasi yang kita buat, pemakai senantiasa berinteraksi dengan User-interface tanpa menyadari bahwa dibelakangnya berjalan instruksi-instruksi program yang mendukung tampilan dan proses yang dilakukan. Pada pemrograman Visual, pengembangan aplikasi dimulai dengan pembentukkan user interface, kemudian mengatur properti dari objek-objek yang digunakan dalam user interface, dan baru dilakukan penulisan kode program untuk menangani kejadian-kejadian (event).
IDE VISUAL BASIC
Salah satu cara untuk mengaktifkan IDE Visual Basic adalah menjalankannya dari Menu Start, pilih menu Proggram Files, dan pilih Microsoft Visual Basic 6.0 dan akhirnya Microsoft Visual Basic 6.0. Sesaat anda aktif di IDE Visual Basic, maka anda akan dihadapkan pada suatu pilihan terhadap jenis Project yang ingin anda buat sebagaimana yang ditunjukan oleh Gambar 1 berikut.
Gambar 1. Dialog box New Project
IDE Visual Basic 6 menggunakan model MDI (Multiple Document Interface). Berikut ini adalah gambar yang menunjukan bagian-bagian dan nama-nama jendela yang dapat tampil pada IDE Visual Basic. Mungkin pada IDE anda hanya ditampilkan sebagian jendela dibandingkan dengan Gambar 2 anda tidak perlu terkejut, karena penampilan dari jendela-jendela tersebut dapat diatur dengan perintah pada menu View.
Gambar 2 IDE Visual Basic 6
Keterangan :
1. Menubar
Digunakan untuk memilih tugas-tugas tertentu seperti menyimpan project, membuka project, dll.
2. Toolbar
Digunakan untuk melakukan tugas-tugas tertentu dengan cepat.
3. Toolbox
Jendela ini berisi komponen-komponen yang dapat anda gunakan untuk mengembangkan user interface.
4. Jendela Form
Jendela ini merupakan tempat anda untuk merancang user interface dari aplikasi anda.
5. Jendela Code
Merupakan tempat bagi anda untuk menulis koding. Anda dapat menampilkan jendela ini dengan menggunakan kombinasi Shift-F7.
6. Jendela Project Explorer
Jendela ini berisi gambaran dari semua modul, form, class, dll yang terdapat dalam aplikasi anda. Anda dapat menggunakan icon Toggle Folders untuk menampilkan modul-modul dalam jendela tersebut secara di group atau berurut berdasarkan nama. Anda dapat menggunakan Ctrl+R untuk menampilkan jendela project, ataupun menggunakan icon Project Explorer.
7. Jendela Properties
Merupakan daftar properti-properti object yang sedang terpilih. Sebagai contohnya anda dapat mengubah warna tulisan (foreground) dan warna latarbelakang (background). Anda dapat menggunakan F4 untuk menampilkan jendela properti.
Memahami Istilah Object, Property, Method dan Event
Dalam pemrograman berbasis obyek (OOP), anda perlu memahami istilah object, property, method dan event sebagai berikut :
Object : komponen di dalam sebuah program
Property : karakteristik yang dimiliki object
Method : aksi yang dapat dilakukan oleh object
Event : kejadian yang dapat dialami oleh object
Sebagai ilustrasi anda dapat menganggap sebuah mobil sebagai obyek yang memiliki property, method dan event. Perhatikan gambar berikut :
Gambar 3
Implementasinya dalam sebuah aplikasi misalnya anda membuat form, maka form tersebut memiliki property, method, dan event. Sebagaimana pemrograman visual lain seperti Delphi dan Java, VB juga bersifat event driven progamming. Artinya anda dapat menyisipkan kode program pada event yang dimiliki suatu obyek.
Kontrol Standard
Kontrol standard terdapat pada semua versi Visual Basic, baik pada Learning Edition, Profesional Edition, maupun Enterprised Edition.
Kontrol-kontrol standard ini akan sering anda gunakan untuk pembentukkan user interface pada setiap project yang anda buat. Pada bagian ini kita akan membahas beberapa kontrol standard beserta properti-properti, event-event dan metoda-metoda yang bekerja pada masing-masing kontrol. Dengan memahami properti, event dan metoda akan sangat membantu anda dalam memanfaatkan kontrol-kontrol tersebut secara efektif dan efisien. |
Label
Digunakan untuk menampilkan text tanpa bisa diubah oleh pemakai pada saat runtime.Beberapa properti pada label :
Properti
|
Fungsi
|
Alignment
| Digunakan untuk menentukan pemerataan tulisan pada kontrol label (0 - Left Justify, 1 - Right Justify, 2 - Center) |
Appearance
|
Digunakan untuk menentukan tampilan dari kontrol label di cat atau tidak (0 - Flat, 1 - 3D)
|
AutoSize
|
Digunakan untuk menentukan apakah ukuran kontrol otomatis disesuaikan dengan ukuran tulisan (False, True)
|
BackColor
|
Digunakan untuk menentukan warna latar belakang (properti ini saling berkaitan dengan properti Appearance)
|
BackStyle
| Digunakan untuk menentukan prilaku latar belakang kontrol label (0 - Transparent, 1 - Opaque), kalau transparan, maka BackColor menjadi tidak berarti, demikian juga Appearance. |
BorderStyle
| Digunakan untuk menentukan bentuk border, apakah (0- None, 1 - Fixed Single) |
Caption
|
Digunakan untuk menentukan tulisan pada kontrol label, mungkin ini adalah properti yang paling sering anda gunakan.
|
DragIcon
|
Digunakan untuk menentukan icon yang digunakan pada operasi drag-n-drop pada kontrol label
|
DragMode
|
Menentukan modus drag-n-drop (0 - manual, 1 - automatic)
|
Enabled
|
Menentukan apakah kontrol label dapat menerima event yang dibuat oleh pemakai, misalnya event Click, MouseDown, MouseUp, dll.
|
Font
|
Digunakan untuk menentukan jenis font, ukuran, style, dll
|
ForeColor
|
Digunakan untuk menentukan warna tulisan
|
Height
|
Digunakan untuk menentukan tinggi dari control
|
Index
|
Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array.
|
Left
|
Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.
|
MouseIcon
|
Digunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada diatas kontrol label tersebut, properti ini berarti bila properti MousePointer diset menjadi (99 - Custom)
|
MousePointer
|
Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada diatas kontrol label tersebut.
|
Tag
|
Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan dengan control label tersebut
|
ToolTipText
|
Digunakan untuk menentukan tip tulisan ketika mouse pointer berada diatas kontrol
|
Top
|
Digunakan untuk menentukan jarak atas kontrol dari kontainernya.
|
UseMnenomic
|
Digunakan untuk menentukan perlakuan terhadap tanda & ampersand sebagai access key, atau sebagai simbol & (False, True)
|
Visible
|
Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False, True)
|
Width
|
Digunakan untuk menentukan lebar kontrol label
|
WordWrap
|
Digunakan untuk menentukan apakah tulisan dalam kontrol label dapat dilipat menjadi beberapa baris.
|
Adapun event-event yang efektif pada kontrol label adalah :
Event
|
Keterangan
|
Change
|
Event ini terjadi ketika nilai properti Caption dari kontrol
|
Click
|
Event ini terjadi ketika pemakai melakukan klik pada kontrol, event ini terjadi dengan urutan (MouseDown, MouseUp, Click)
|
DblClick
|
Event ini terjadi ketika pemakai melakukan double klik pada kontrol, event ini terjadi dengan urutan (MouseDown, MouseUp, Click, MouseDown, DblClick, MouseUp)
|
MouseDown
|
Event ini terjadi ketika pemakai melakukan penekanan tombol mouse pada kontrol, parameter yang dapat digunakan adalah Button (1 - Tombol kiri, 2 - Tombol kanan), Shift (1 - Shift, 2 - Ctrl, 3 - Alt), X (posisi kolom pointer), Y (posisi baris pointer)
|
MouseMove
|
Event ini terjadi ketika pamakai mengerakan mouse pada kontrol, parameter yang dapat digunakan adalah Button (1 - Tombol kiri, 2 - Tombol kanan), Shift (1 - Shift, 2 - Ctrl, 3 - Alt), X (posisi kolom pointer), Y (posisi baris pointer)
|
MouseUp
|
Event ini terjadi ketika pemakai melepaskan penekanan tombol mouse pada kontrol, parameter yang dapat digunakan adalah Button (1 - Tombol kiri, 2 - Tombol kanan), Shift (1 - Shift, 2 - Ctrl, 3 - Alt), X (posisi kolom pointer), Y (posisi baris pointer)
|
Adapun metoda yang efektif pada kontrol label adalah :
Metoda
|
Keterangan
|
Move
|
Metoda ini digunakan untuk memindahkan letak (koordinat Left, Top) dari kontrol label maupun ukurannya (ukuran Height, Width)
|
Refresh
|
Metoda ini digunakan untuk mencetak ulang kontrol label.
|
ZOrder
|
Metoda ini digunakan untuk menentukan order kontrol, apakah diatas atau dibawah kontrol lain.
|
Textbox
Digunakan untuk menampilkan text yang dapat diubah oleh pemakai pada saat runtime
Properti
|
Fungsi
|
Alignment
|
Sda
|
Appearance
|
Sda
|
BackColor
|
Sda
|
BorderStyle
|
Sda
|
CauseValidation
|
Digunakan untuk menentukan apakan event Validate di aktifkan ketika kontrol akan kehilangan fokus (False, True)
|
DragIcon
|
Sda
|
DragMode
|
Sda
|
Enabled
|
Sda
|
Font
|
Sda
|
ForeColor
|
Sda
|
Height
|
Sda
|
HideSelection
|
Digunakan untuk menentukan apakah selection disembunyikan ketika kontrol kehilangan focus
|
Index
|
Sda
|
Left
|
Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.
|
Locked
|
Digunakan untuk menentukan apakah text dalam kontrol textbox dapat di perbaharui oleh pemakai atau tidak (False, True)
|
MaxLength
|
Digunakan untuk menentukan jumlah huruf maksimal yang dapat diketikkan dalam textbox (0 s/d 65535), 0 tidak dibatasi.
|
MouseIcon
|
Digunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada diatas kontrol label tersebut, properti ini berarti bila properti MousePointer diset menjadi (99 - Custom)
|
MousePointer
|
Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada diatas kontrol label tersebut.
|
MultiLine
| Digunakan untuk menentukan apakah tulisan dalam textbox dapat ditampilkan dalam bentuk beberapa baris, dan mengenali Enter untuk memasuki baris baru. (False, True) |
PasswordChar
| Digunakan untuk menentukan karakter yang digunakan untuk menyandikan tampilan huruf yang diketik oleh pemakai. Biasanya digunakan untuk pengisian password, dimana huruf yang ditekan ditampilkan dalam bentuk * |
ScrollBars
| Digunakan untuk menentukan penampilan ScrollBar pada textbox, properti ini efektif jika setting properti MultiLine adalah True (0 - None, 1 - Horizontal, 2 - Vertical, 3 - Both) |
TabIndex
|
Digunakan untuk menentukan urutan tabindex, 0 adalah kontrol yang pertama mendapat fokus jika form dijalankan. Properti ini efektif jika setting properti TabStop adalah True
|
TabStop
|
Digunakan untuk menentukan apakah textbox dapat menerima fokus karena penekanan tombol TAB oleh pemakai (False, True)
|
Tag
|
Sda
|
Text
|
Properti ini berisi tulisan yang berada dalam textbox
|
ToolTipText
|
Sda
|
Top
|
Sda
|
Width
|
Sda
|
Adapun event-event yang efektif pada kontrol Textbox adalah :
Event
|
Keterangan
|
Change
|
Event ini terjadi ketika nilai properti Text dari kontrol mengalami perubahan
|
Click
|
Sda
|
DblClick
|
Sda
|
GotFocus
|
Event ini terjadi ketika kontrol mendapatkan fokus
|
KeyDown
|
Event ini terjadi ketika pemakai mengetik karakter pada kontrol
|
KeyPress
|
Event ini terjadi setelah event KeyDown ketika pemakai mengetik karakter pada kontrol, parameter yang dapat digunakan adalah KeyAscii. Anda dapat memanipulasi tombol yang diketik dengan melakukan perubahan pada nilai KeyAscii.
Contoh :Private Sub txtNama_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then SendKeys "{Tab}" End If End Sub |
KeyUp
|
Event ini terjadi setelah event KeyPress ketika pemakai mengetik karakter pada kontrol dengan urutan (KeyDown, KeyPress, KeyUp, Change)
|
LostFocus
|
Event ini terjadi ketika kontrol kehilangan fokus
|
MouseDown
|
Sda
|
MouseMove
|
Sda
|
MouseUp
|
Sda
|
Validate
|
Event ini terjadi ketika kontrol akan kehilangan fokus.
|
Adapun metoda yang efektif pada kontrol Textbox adalah :
Metoda
|
Keterangan
|
Move
|
Sda
|
Refresh
|
Sda
|
Setfocus
|
Metoda ini digunakan untuk menimdahkan fokus ke kontrol yang bersangkutan
|
ZOrder
|
Sda
|
Option
Digunakan untuk menampilkan beberapa pilihan yang hanya dapat dipilih salah satu dalam suatu form, untuk
Properti
|
Fungsi
|
Alignment
|
Sda
|
Appearance
|
Sda
|
BackColor
|
Sda
|
Caption
|
sda
|
CauseValidation
|
sda
|
DisablePicture
|
Digunakan untuk menentukan gambar yang ditampilkan ketika kontrol Option disable (properti Enabled = False), properti ini efektif jika setting properti Style adalah (1- Graphical)
|
DownPicture
|
Digunakan untuk menentukan gambar yang ditampilkan ketika kontrol Option dipilih (properti Value = True), properti ini efektif jika setting properti Style adalah (1- Graphical)
|
DragIcon
|
sda
|
DragMode
|
sda
|
Enabled
|
sda
|
Font
|
sda
|
ForeColor
|
sda
|
Height
|
Sda
|
Index
|
Sda
|
Left
|
Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.
|
MaskColor
|
Digunakan untuk warna pada bitmap yang akan dijadikan transparan, properti ini efektif jika picture yang masukkan adalah (*.bmp), dan setting properti UseMaskColor adalah True
|
MouseIcon
|
Sda
|
MousePointer
|
Sda
|
Picture
|
Digunakan untuk menentukan gambar yang digunakan, properti ini efektif jika setting properti Style adalah (1 - Graphical)
|
Style
|
Digunakan untuk menentukan jenis style pada kontrol option (0 - Standard, 1 - Graphical)
|
TabIndex
|
Sda
|
TabStop
|
Sda
|
Tag
|
Sda
|
ToolTipText
|
Sda
|
Top
|
Sda
|
UseMaskColor
|
Digunakan akan warna yang ditentukan pada MaskColor efektif atau tidak (False, True)
|
Value
|
Adalah nilai kontrol option button (True - terpilih, False - tidak terpilih)
|
Visible
|
Digunakan untuk menentukan apakah kontrol Visibel atau tidak.
|
Width
|
Sda
|
Adapun event-event yang efektif pada kontrol option adalah :
Event
|
Keterangan
|
Click
|
sda, pada option event ini juga dibangkitkan ketika kontrol menerima fokus, maupun ketika pemakai menekan space pada kontrol bersangkutan.
|
DblClick
|
Sda
|
GotFocus
|
Sda
|
KeyDown
|
Sda
|
KeyPress
|
Sda
|
KeyUp
|
Sda
|
LostFocus
|
Sda
|
MouseDown
|
Sda
|
MouseMove
|
Sda
|
MouseUp
|
Sda
|
Validate
|
Sda
|
Adapun metoda yang efektif pada kontrol Option adalah :
Metoda
|
Keterangan
|
Move
|
Sda
|
Refresh
|
Sda
|
Setfocus
|
sda, pada kontrol option, metoda ini akan membangkitkan event Click.
|
ZOrder
|
Sda
|
Check
Digunakan untuk menampilkan beberapa pilihan yang dapat dipilih lebih dari satu Properti kontrol Check, maupun event dapat dilihat pada properti Option
Frame
Digunakan untuk mengelompokan sekelompok kontrol. Pemakaian kontrol frame yang paling nyata adalah untuk mengelompokan sejumlah option, sebagaimana kita ketahui, pada suatu form, hanya 1 option yang dapat dipilih setiap saat, hal ini dapat diatasi dengan pemakaian frame, sehingga option dapat dipilih sesuai dengan konteks yang diwakili.
Properti
|
Fungsi
|
Appearance
|
Sda
|
BackColor
|
Sda
|
BorderStyle
|
Sda
|
Caption
|
Sda
|
CauseValidation
|
Sda
|
DragIcon
|
Sda
|
DragMode
|
Sda
|
Enabled
|
Sda
|
Font
|
Sda
|
ForeColor
|
Sda
|
Height
|
Sda
|
Index
|
Sda
|
Left
|
Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.
|
MouseIcon
|
Sda
|
MousePointer
|
Sda
|
TabIndex
|
Sda
|
Tag
|
Sda
|
ToolTipText
|
Sda
|
Top
|
Sda
|
Visible
|
Digunakan untuk menentukan apakah kontrol Visibel atau tidak, jika Visible false, maka semua kontrol yang berada diatasnya menjadi tidak kelihatan.
|
Width
|
Sda
|
Adapun event-event yang efektif pada kontrol frame adalah :
Event
|
Keterangan
|
Click
|
Sda
|
DblClick
|
Sda
|
MouseDown
|
Sda
|
MouseMove
|
Sda
|
MouseUp
|
Sda
|
Adapun metoda yang efektif pada kontrol Frame adalah :
Metoda
|
Keterangan
|
Move
|
Sda
|
Refresh
|
Sda
|
ZOrder
|
Sda
|
CommandButton
Digunakan untuk mendapatkan konfirmasi pemakai untuk pelaksanaan fungsi tertentu.
Properti
|
Fungsi
|
Alignment
|
sda
|
Appearance
|
sda
|
BackColor
|
sda
|
Cancel
|
Digunakan untuk menentukan apakah command button merupakan perintah Cancel untuk form tersebut , jika properti ini True, maka ketika pemakai menekan ESC, akan membangkitkan event Click untuk kontrol tersebut.
|
Caption
|
Sda
|
CauseValidation
|
Sda
|
Default
|
Digunakan untuk menentukan apakan command button merupakan Default command untuk form tersebut, jika properti ini True, maka ketika pemakai menekan Enter, akan membangkitkan event Click untuk kontrol tersebut.
|
DragIcon
|
Sda
|
DragMode
|
Sda
|
Enabled
|
Sda
|
Font
|
Sda
|
ForeColor
|
Sda
|
Height
|
Sda
|
Index
|
Sda
|
Left
|
Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.
|
MaskColor
|
Digunakan untuk warna pada bitmap yang akan dijadikan transparan, properti ini efektif jika picture yang masukkan adalah (*.bmp), dan setting properti UseMaskColor adalah True
|
MouseIcon
|
Sda
|
MousePointer
|
Sda
|
Picture
|
Sda
|
Style
|
Sda
|
TabIndex
|
Sda
|
TabStop
|
Sda
|
Tag
|
Sda
|
ToolTipText
|
Sda
|
Top
|
Sda
|
UseMaskColor
|
Sda
|
Visible
|
Digunakan untuk menentukan apakah kontrol Visibel atau tidak.
|
Width
|
Sda
|
Adapun event-event yang efektif pada kontrol commandbutton adalah :
Event
|
Keterangan
|
Click
|
sda, pada commandbutton, event ini juga dibangkitkan ketika pemakai menekan space pada kontrol tersebut.
|
GotFocus
|
Sda
|
KeyDown
|
Sda
|
KeyPress
|
Sda
|
KeyUp
|
Sda
|
LostFocus
|
Sda
|
MouseDown
|
Sda
|
MouseMove
|
Sda
|
MouseUp
|
Sda
|
Adapun metoda yang efektif pada kontrol CommandButton adalah :
Metoda
|
Keterangan
|
Move
|
Sda
|
Refresh
|
Sda
|
Setfocus
|
Sda
|
ZOrder
|
Sda
|
Catatan
Untuk penamaan objek di dalam pemroggraman harap dibiasakan memakai prefix seperti di bawah ini.
Prefix Object type
cbo Combo box
chk Check box
cmd Command button
dir Directory list box
drv Drive list box
fil File list box
fra Frame
frm Form
grd Grid
hsb Horizontal scrollbar
img Image
lbl Label
lin Line
lst List box
mnu Menu
mod Module
ole OLE
opt Option button
pic Picture box
res Resource
shp Shape
tmr Timer
txt Text box
typ User-defined data type
vsb Vertical scrollbar