Dasar Pemrograman Visual Basic
Dasar Pemrograman Visual Basic
Menjalankan IDE
Salah satu cara untuk mengaktifkan IDE Visual Basic adalah menjalankannya dari Menu
Start, pilih menu Command, dan pilih Microsoft Visual Basic 6.0 dan akhirnya
Microsoft Visual Basic 6.0.
Indoprog 1
Dasar Pemrograman Visual Basic Hendra, S.T.
Catatan : Seperti aplikasi Windows umumnya, anda dapat juga mengaktifkan IDE
Visual Basic dengan melakukan open terhadap file yang berkaitan dengan Visual
Basic, misalnya file *.vbp yang merupakan file project dari Visual Basic.
Sebagai langkah awal dari proses belajar adalah memilih project Standard EXE.
Gambar 1-2. Dialog box New Project ditampilkan sesaat anda menjalankan IDE Visual
Basic 6.
Jendela IDE
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
Indoprog 2
Dasar Pemrograman Visual Basic Hendra, S.T.
jendela dibandingkan dengan Gambar 1-3 anda tidak perlu terkejut, karena penampilan
dari jendela-jendela tersebut dapat diatur dengan perintah pada menu View.
Sebagai langkah awal dari proses belajar, tidak semua jendela akan kita gunakan, tetapi
hanya beberapa yang penting, sedangkan yang lainnya bersifat khusus.
Sebagaimana dengan proses belajar ini, kita akan fokus pada beberapa jendela yang
penting terlebih dahulu sehingga konsentrasi tidak menjadi pecah, dan peserta belajar
menjadi bingung. Adapun jendela-jendela yang perlu anda perhatikan adalah sebagai
berikut :
Indoprog 3
Dasar Pemrograman Visual Basic Hendra, S.T.
Jika jendela-jendela tersebut tidak ada, anda dapat memunculkannya dengan Menu View
dan pilih :
Toolbox
Jendela Toolbox merupakan jendela yang sangat penting bagi anda. Dari jendela ini anda
dapat mengambil komponen-komponen (object) yang akan ditanamkan pada form untuk
membentuk user interface.
Indoprog 4
Dasar Pemrograman Visual Basic Hendra, S.T.
Adapun secara garis besar fungsi dari masing-masing intrinsic kontrol tersebut adalah
sebagai berikut :
• Pointer bukan merupakan suatu kontrol; gunakan icon ini ketika anda ingin
memilih kontrol yang sudah berada pada form.
• PictureBox adalah kontrol yang digunakan untuk menampilkan image dengan
format: BMP, DIB (bitmap), ICO (icon), CUR (cursor), WMF (metafile), EMF
(enhanced metafile), GIF, dan JPEG.
• Label adalah kontrol yang digunakan untuk menampilkan teks yang tidak dapat
diperbaiki oleh pemakai.
Indoprog 5
Dasar Pemrograman Visual Basic Hendra, S.T.
• TextBox adalah kontrol yang mengandung string yang dapat diperbaiki oleh
pemakai, dapat berupa satu baris tunggal, atau banyak baris.
• Frame adalah kontrol yang digunakan sebagai kontainer bagi kontrol lainnya.
• CommandButton merupakan kontrol hampir ditemukan pada setiap form, dan
digunakan untuk membangkitkan event proses tertentu ketika pemakai melakukan
klik padanya.
• CheckBox digunakan untuk pilihan yang isinya bernilai yes/no, true/false.
• OptionButton sering digunakan lebih dari satu sebagai pilihan terhadap beberapa
option yang hanya dapat dipilih satu.
• ListBox mengandung sejumlah item, dan user dapat memilih lebih dari satu
(bergantung pada property MultiSelect).
• ComboBox merupakan konbinasi dari TextBox dan suatu ListBox dimana
pemasukkan data dapat dilakukan dengan pengetikkan maupun pemilihan.
• HScrollBar dan VScrollBar digunakan untuk membentuk scrollbar berdiri sendiri.
• Timer digunakan untuk proses background yang diaktifkan berdasarkan interval
waktu tertentu. Merupakan kontrol non-visual.
• DriveListBox, DirListBox, dan FileListBox sering digunakan untuk membentuk
dialog box yang berkaitan dengan file.
• Shape dan Line digunakan untuk menampilkan bentuk seperti garis, persegi,
bulatan, oval.
• Image berfungsi menyerupai image box, tetapi tidak dapat digunakan sebagai
kontainer bagi kontrol lainnya. Sesuatu yang perlu diketahui bahwa kontrol image
menggunakan resource yang lebih kecil dibandingkan dengan PictureBox
• Data digunakan untuk data binding
• OLE dapat digunakan sebagai tempat bagi program eksternal seperti Microsoft
Excel, Word, dll.
• Mengatur Editor
Indoprog 6
Dasar Pemrograman Visual Basic Hendra, S.T.
Catatan penulis:
Indoprog 7
Dasar Pemrograman Visual Basic Hendra, S.T.
• Mengatur Environment
Indoprog 8
Dasar Pemrograman Visual Basic Hendra, S.T.
Indoprog 9
Dasar Pemrograman Visual Basic Hendra, S.T.
Catatan Penulis :
Pada latihan berikut ini mengandung pembelajaran step by step, tetapi sebelum anda
memulai latihan ini sebaiknya anda membaca semua tulisan modul ini. Penulis tidak akan
berpanjang lebar dengan teori-teori pemrograman, tetapi sebaiknya kita dapat langsung
bekerja dan memahami dasar-dasar dari Visual Basic.
Semua latihan ini dirancang berdasarkan pengalaman penulis dalam pengajaran untuk
proses pembelajaran yang efektif
Latihan 1
Judul : Mengenal IDE Visual Basic
1. Aktifkan IDE Visual Basic anda dengan memilih Start, kemudian Programs,
kemudian Microsoft Visual Basic 6, dan Microsoft Visual Basic 6.
2. Pada dialog box New Project, pilihlah Standard EXE, kemudian klik pada Open
3. Pada hadapan anda akan muncul IDE Visual Basic, dan kenali masing-masing bagian
berikut :
Indoprog 10
Dasar Pemrograman Visual Basic Hendra, S.T.
• Menu Bar
• Main Toolbar
• Jendela Toolbox
• Jendela Form
• Jendela Project Explorer
• Jendela Properties
• Pointer
• PictureBox
• Label
• Textbox
• Frame
• CommandButton
• Checkbox
• OptionButton
• Combobox
• Listbox
• Image
Indoprog 11
Dasar Pemrograman Visual Basic Hendra, S.T.
Lakukan klik pada Form1 (Form1), dan klik pada icon View Code, maka akan
ditampilkan Jendela Code
Lakukan klik pada icon View Object, maka akan ditampilkan Form1
6. Periksalah setting IDE Visual Basic, dan aktifkan hal-hal berikut pada menu Tools,
Option :
Indoprog 12
Dasar Pemrograman Visual Basic Hendra, S.T.
• Auto List Member, secara otomatis menampilkan syntax penulisan perintah dan
fungsi
Keluar dari IDE Visual Basic, dengan memilih menu File, pilih Exit, atau menekan
Alt+Q
Indoprog 13
Dasar Pemrograman Visual Basic Hendra, S.T.
Jadi penguasaan terhadap VBA merupakan syarat mutlak bagi programmer yang ingin
mendalami pemrograman Visual Basic.
Type Variabel
Dibandingkan dengan type data yang terdapat pada bahasa basic, maka pada VBA, type
data yang disediakan lebih banyak, seperti type Currency, Decimal, Object, dan Variant..
Variant merupakan type variabel yang istimewa, karena dapat berubah dari satu type ke
type yang lain, sesuai dengan evaluasi ekspresi oleh Visual Basic.
Ketepatan pemilihan type variabel akan sangat menentukan pemakaian resources oleh
aplikasi yang dihasilkan, adalah tugas programmer untuk memilih type yang sesuai untuk
menghasilkan program yang efisien dan berperfomance tinggi.
Catatan penulis :
Sebagai awal proses belajar, anda tidak perlu terlalu dipusingkan oleh banyaknya tipe
data yang disediakan oleh Visual Basic, yang penting adalah kalau anda membutuhkan
tipe data berupa kondisi benar (true) atau salah (false), anda dapat menggunakan tipe
Boolean. Kalau anda membutuhkan bilangan bulat (integer), anda dapat memilih salah
satu dari byte, integer, long sesuai dengan jangkauan yang dibutuhkan, sedangkan kalau
anda membutuhkan tipe pecahkan (floating point) anda dapat memilih single, double, dan
decimal sesuai dengan ketelitian yang dibutuhkan. Khusus untuk uang dapat digunakan
Indoprog 14
Dasar Pemrograman Visual Basic Hendra, S.T.
currency, khusus untuk tanggal dan waktu dapat digunakan date, dan untuk kalimat dapat
digunakan string.
Variant merupakan tipe data khusus yang sangat digemari oleh programmer pemula,
karena variabel dengan tipe data ini dapat menampung data dari semua tipe variabel yang
ada tanpa menyebabkan kesalahan pada saat kompilasi maupun runtime. Tetapi penulis
menyarankan untuk tidak terlena dengan tipe data ini, karena pada pengembangan
selanjutnya (VB.net), tipe data ini tidak didukung lagi, karena tipe ini dapat
menyebabkan bugs jika program telah berkembang menjadi besar.
Contoh :
B = (1 + 2) * 3 'Akan menghasilkan 9
Tabel 1-2. Operator pada Visual Basic dan urutan operasi dari atas ke bawah
Catatan penulis :
Salah satu bugs yang sering terjadi pada programmer pemula adalah kesalahan dalam
pemakaian operator karena kurangnya memahami urutan operasi.
Operator Like
Salah satu operator yang menarik untuk dibahas adalah operator like, karena operator ini
tidak tersedia pada bahasa BASIC. Operator digunakan untuk operasi pencocokan pola
pada string yang akan sangat membantu programmer.
Indoprog 15
Dasar Pemrograman Visual Basic Hendra, S.T.
Syntax :
Contoh :
Deklarasi Variabel
Visual Basic memungkinkan kita untuk menggunakan variabel tanpa deklarasi. Tetapi hal
ini adalah kurang baik untuk praktek pemrograman yang terstruktur dan menghindari
kesalahan pengolahan yang diakibatkan oleh kesalahan dalam pengetikkan nama
variabel.
Agar setiap variabel yang digunakan harus dideklarasikan, dapat digunakan perintah :
Option Explicit
Pada setiap awal module, atau pada menu Tools, pilih Option, pilih tab Editor, buat tanda
check pada Require Variable Declaration.
Deklarasi variabel pada Visual Basic dapat dilakukan dengan Keyword berikut :
Indoprog 16
Dasar Pemrograman Visual Basic Hendra, S.T.
Syntax :
Contoh :
Catatan penulis :
Penjelasan tentang Public, Private, dan Static akan menjadi lebih mudah setelah anda
mempelajari topik Module, Sub dan Function.
Keyword yang tercadang adalah kata yang Visual Basic gunakan sebagai bagian dari
bahasanya. Ini terdiri dari predefined statements (seperti If dan Loop), function (seperti
Len dan Abs), dan operator (seperti Or dan Mod).
Deklarasi Variabel
• Deklarasi variabel pada bagian deklarasi (general declaration) di suatu form,
standard, atau class module, dari pada dalam suatu procedure, membuat
variabel itu berlaku untuk semua procedure dan function dalam module
tersebut
• Deklarasi variabel dengan menggunakan keyword Public membuatnya
berlaku pada keseluruhan aplikasi anda.
• Deklarasi suatu variabel lokal dengan menggunakanan keyword Static akan
menyimpan nilainya ketika suatu procedure berakhir.
Deklarasi Implicit
Anda tidak perlu mendeklarasikan suatu variabel sebelum menggunakan, tetapi fasilitas
ini tidak disarankan oleh penulis, karena dapat mengakibatkan bug-bug tersembunyi
Indoprog 17
Dasar Pemrograman Visual Basic Hendra, S.T.
karena pemakaian variabel yang tidak konsisten dan kemungkinan kesalahan pengetikan
nama variabel.
Deklarasi Explicit
Untuk mencegah kesalahan mengetik variabel, dan Visual Basic akan selalu memberikan
peringatan jika menemukan nama yang tidak dideklarasikan terlebih dahulu sebagai suatu
variabel.
Catatan :
Pernyataan Option Explicit hanya bekerja per-module, sehingga harus diletakkan pada
bagian deklarasi pada setiap form, dan class module yang mana anda ingin Visual Basic
memaksakan suatu explicit variabel deklarasi
Struktur Keputusan
Struktur keputusan yang didukung oleh Visual Basic adalah sebagai berikut :
If...Then
Gunakan suatu struktur If...Then untuk menjalankan suatu pernyataan secara kondisional.
Anda dapat menggunakan syntax satu baris ataupun syntax banyak baris :
atau
If kondisi Then
pernyataan-pernyataan
End If
Kondisi biasanya berupa suatu perbandingan, maupun ekspresi yang menghasilkan nilai
numerik. Visual Basic menginterpretasikan False sebagai nol (0), dan True sebagai bukan
nol.
Indoprog 18
Dasar Pemrograman Visual Basic Hendra, S.T.
If...Then...Else
If kondisi1 Then
[blok pernyataan-1]
[ElseIf kondisi2 Then
[blok pernyataan-2]] ...
[Else
[blok pernyataan-n]]
End If
Visual Basic awalnya akan mencoba kondisi1. Jika False, maka Visual Basic akan
memeriksa kondisi2, dan seterusnya sampai menemukan suatu kondisi True untuk
dijalankan blok pernyataannya.
Contoh :
Select Case
Visual Basic menyediakan struktur Select Case sebagai suatu alternatif terhadap
If...Then...Else. Suatu Select Case statement memiliki kemampuan yang sama dengan
If…Then…Else…, tetapi membuat code lebih mudah dibaca.
Struktur Select Case bekerja dengan suatu percobaan tunggal yang hanya dievaluasi satu
kali pada bagian atas struktur. Visual Basic then membandingkan hasil ekspresi dengan
nilai pada setiap Case didalam struktur tersebut, jika ada yang sesuai, akan dijalankan
blok statement yang sesuai
End Select
Indoprog 19
Dasar Pemrograman Visual Basic Hendra, S.T.
Contoh :
Select Case x
Case 0: angka = "Nol"
Case 1:
If posisi = 1 Then
angka = "Satu "
Else
angka = "Se"
End If
Case 2: angka = "Dua "
Case 3: angka = "Tiga "
Case 4: angka = "Empat "
Case 5: angka = "Lima "
Case 6: angka = "Enam "
Case 7: angka = "Tujuh "
Case 8: angka = "Delapan "
Case 9: angka = "Sembilan "
Case 10: angka = "Sepuluh "
Case 11: angka = "Sebelas "
Case 12: angka = "Duabelas "
Case 13: angka = "Tigabelas "
Case 14: angka = "Empatbelas "
Case 15: angka = "Limabelas "
Case 16: angka = "Enambelas "
Case 17: angka = "Tujuhbelas "
Case 18: angka = "Delapanbelas "
Case 19: angka = "Sembilanbelas "
End Select
Deklarasi Konstanta
Anda sering menjumpai suatu kode yang mengandung nilai yang berulang-ulang ataupu
nilai yang memiliki arti khusus, atau anda menemukan bahwa angka tersebut susah
diingat. Dalam hal ini anda dapat membuat code anda menjadi lebih mudah dibaca-lebih
mudah ditangani-dengan menggunakan suatu konstanta. Suatu konstanta adalah nama
yang menyimpan dari suatu nilai yang tidak dapat berubah. Ada dua sumber dari suatu
konstanta :
• Intrinsic atau System-defined konstanta yang disediakan oleh suatu aplikasi atau
control. Konstanta Visual Basic terdaftar pada Visual Basic (VB), Visual Basic
for Application (VBA), dan Data Access (DAO).
• Symbolic atau User-defined konstanta adalah dideklarasikan dengan
menggunakan statement Const.
Indoprog 20
Dasar Pemrograman Visual Basic Hendra, S.T.
Contoh :
Const Pi = 3.12159265358979
Public Const Planet As Integer= 9
Const ReleaseDate = #7/1/95#
• Membuat suatu konstanta yang mana hanya ada dalam suatu procedure,
deklarasikan di dalam procedure tersebut
• Membuat suatu konstanta berlaku pada semua procedure dalam suatu module,
deklarasikan dia pada bagian deklarasi di module tersebut
• Membuat suatu konstanta berlaku pada semua aplikasi, deklarasikan dia dengan
keyword Public sebelum kata Const.
Struktur Perulangan
Struktur loop memperbolehkan anda untuk melaksanakan sekelompok baris lebih dari
satu kali :
Do...Loop
Gunakan Do loop untuk mengeksekusi suatu blok statement dengan jumlah perulangan
yang tak terhingga, ada beberapa Do...Loop statement, tetapi masing-masing
mengevaluasi suatu kondisi untuk menentukan apakah melanjutkan eksekusi
Berikut ini adalah statement Do…Loop, yang dijalankan selama kondisi benar :
Do While condition
statements
Loop
Ketika Visual menjalankan Do loop ini, pertama kali akan di coba kondisinya, jika
kondisi False (zero), akan diloncati semua statements yang mengikuti kondisi tersebut.
Visual Basic akan menjalankan statements jika kondisi benar dan kembali ke Do…Loop
berikutnya.
Indoprog 21
Dasar Pemrograman Visual Basic Hendra, S.T.
Faktorial = count
End Function
Variasi lain dari statement Do…Loop, yang menjamin minimal satu kali statement
dijalankan :
Do
statements
Loop While condition
Dua variasi yang analog dengan dua contoh sebelumnya adalah perulangan minimal satu
kali. Dan berikut ini adalah berulang atau tidak sama sekali :
Do Until condition
statements
Loop
Do
statements
Loop Until condition
For...Next
Do loops bekerja dengan baik, ketika anda tidak tahu berapa bayak kali untuk butuhkan
untuk menjalankan statement. Ketika anda mengetahui harus menjalankan statement
sejumlah kali, bagaimanapun For…Next adalah pilihan yang lebih baik. Tidak seperti Do
Loop, For…loop menggunakan suatu variabel yang disebut counter yang mana akan
bertambah atau berkurang pada setiap perulangan. Syntaxnya adalah :
Code berikut akan mencetak semua item yang terdapat pada suatu daftar list.
Indoprog 22
Dasar Pemrograman Visual Basic Hendra, S.T.
Anda dapat meletakkan suatu struktur kendali didalam struktur kendali lainnya, yang
dikenal dengan istilah nested. Struktur kendali pada Visual Basic dapat nested sebanyak
level yang anda inginkan.
Statement Exit memperbolehkan anda untuk keluar langsung dari suatu For loop, Do
Loop, syntax untuk statement Exit adalah sederhana : Exit For dapat muncul sebanyak
mungkin dalam suatu For. Loop, demikian juga Exit Do untuk Do loop.
Sesaat setelah anda menambahkan module, maka pada Jendela Project Explorer akan
nampak Module1
Indoprog 23
Dasar Pemrograman Visual Basic Hendra, S.T.
Untuk melakukan koding, anda dapat melakukan double klik pada Module tersebut.
Contoh :
Indoprog 24
Dasar Pemrograman Visual Basic Hendra, S.T.
Contoh :
Sub Tengah(x)
x.Move (Screen.Width - x.Width) \ 2, _
(Screen.Height - x.Height) \ 2
End Sub
Mengenal Procedure
Procedure digunakan untuk memadatkan tugas-tugas berulang ataupun proses yang
digunakan bersama, seperti perhitungan yang sering dilakukan, text dan manipulasi
kontrol, serta operasi database.
Secara umum ada dua keuntungan dengan pemakaian procedure dalam program :
Sub Procedure
pernyataan-pernyataan
End Sub
Setiap kali procedure dipanggil, maka pernyataan-pernyataan yang berada di antara Sub
dan End Sub akan dijalankan.
Argumen pada procedure adalah nilai yang akan dilewatkan saat pemanggilan procedure.
Indoprog 25
Dasar Pemrograman Visual Basic Hendra, S.T.
• General Procedure
• Event Procedure
Contoh, sub Tengah yang dapat digunakan untuk menampilkan form ketengah Layar,
dimana x adalah parameter yang merupakan form yang akan dibuat ketengah layar.
Function Procedure
Pada Visual Basic telah tersedia berbagai fungsi bawaan seperti Sqr, Cos, dan Chr, tetapi
fungsi-fungsi yang tersedia tersebut bersifat umum dan kandang-kadang tidak memenuhi
kebutuhan programer, untuk keperluan tersebut anda dapat menciptakan fungsi-fungsi
sendiri yang dikenal dengan Function procedure.
statements
End Function
Contoh Fungsi ciptaan untuk mengembalikan nama bulan dari suatu tanggal dalam
bahasa Indonesia.
Indoprog 26
Dasar Pemrograman Visual Basic Hendra, S.T.
Bulan = sRet
End Function
Indoprog 27
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 2
Judul : Project anda yang pertama
2. Pada form1 tanamkan kontrol label (Label1, Label2, Label3) dan kontrol text (Text1,
Text2, Text3), serta CommandButton (Command1 dan Command2)
Caranya :
Catatan : Kontrol, kontrol tersebut ditanamkan satu per satu, dan jangan menggunakan
cara Copy dan Paste karena akan menyebabkan kontrol-kontrol tersebut menjadi kontrol
array.
Indoprog 28
Dasar Pemrograman Visual Basic Hendra, S.T.
Caranya :
Name cmdSelesai
Command2
Caption &Selesai
Catatan : tanda ampersand & pada Visual Basic digunakan sebagai penanda kunci akses
penekanan Alt oleh pemakai.
4. Lakukan koding untuk menghitung Luas, ketika pemakai melakukan klik atau Alt H,
pada cmdHitung
Caranya :
Indoprog 29
Dasar Pemrograman Visual Basic Hendra, S.T.
Lakukan double klik pada kontrol cmdHitung, sehingga akan muncul jendela koding dan procedure event
cmdHitung_Click :
End Sub
procedure event, adalah subrutin yang akan dibangkitkan oleh aplikasi, ketika pemakai melakukan klik pada
kontrol cmdHitung. Perintah-perintah yang anda ketik diantara Sub dan End Sub akan dijalankan.
Cara lain :
Tekan F7 untuk menampilkan jendela koding, kemudian pilih nama kontrol dari daftar kontrol seperti gambar
berikut :
kemudian pilih daftar kejadian (event) seperti yang ditunjukkan pada gambar berikut :
Catatan : sebaiknya anda senantiasa menggunakan salah satu cara diatas untuk melakukan koding untuk
menjamin kebenaran penulisan pada masing-masing event procedure.
5. Tampilkan kembali MyForm dengan klik View Object pada jendela Project Explorer
Indoprog 30
Dasar Pemrograman Visual Basic Hendra, S.T.
6. Menyimpan project :
Klik pada icon save atau gunakan menu File, dan pilih
Pilih Save in pada folder Vb2, dan nama form MyForm.frm, dan klik Save
10. Atur tab index masing-masing kontrol, dimana Label1 (0), txtPanjang (1), Label2
(2), txtLebar (3), Label3 (4), txtLuas(5), cmdHitung (6), cmdSelesai (7).
Indoprog 31
Dasar Pemrograman Visual Basic Hendra, S.T.
Caranya :
Klik pada cmdSelesai, atau properti tabindexnya menjadi 0, kemudian klik pada cmdHitung, atur properti
indexnya menjadi 0, kemudian txtLuas, Label3, txtLebar, Label2, txtPanjang, Label1, masing-masing menjadi 0,
sekarang semua kontrol telah berurut sesuai dengan yang kita inginkan. (Ini adalah salah satu trik untuk
menomori tabindex dengan mudah)
11. Jalankan kembali program anda, sekarang coba tekan Alt+P, Alt+L, sekarang anda
dapat mengaktifkan textbox Panjang dengan Alt+H (akses key dari Label1), dst.
12. Atur properti project anda, dengan menu Project, kemudian Project Properties, akan
muncul dialog sebagai berikut
14. Aktifkan kembali Visual Basic anda, dan klik pada tab Recent, dan pilih kembali
MyProject1.
Indoprog 32
Dasar Pemrograman Visual Basic Hendra, S.T.
Indoprog 33
Dasar Pemrograman Visual Basic Hendra, S.T.
Selanjutnya akan muncul jendela koding untuk Module1, dan ketikan program
berikut
Simpanlah program diatas dengan nama MyProject2, dan analisa file apa saja
yang terbentuk berkaitan dengan project diatas.
Catatan penulis:
Saya yakin anda lebih familiar dengan alur program kedua dimana program berjalan
mulai dari masukkan panjang, kemudian lebar, menghitung luas, serta mencetaknya. Hal
tersebut sesuai dengan program konvensional, sedangkan pada program yang
menggunakan form, eksekusi perhitungan baru dilakukan setelah pemakai melakukan
klik pada tombol Hitung.
Disinilah letak tantangan bagi anda yang berasal dari latar belakang pemrograman seperti
Basic, Pascal, C/C++ maupun Clipper yang mulai belajar Visual Basic, dimana eksekusi
program ditentukan oleh Event yang terjadi sehingga menuntut ketelitian untuk
mengantisipasi segala aksi yang mungkin dilakukan pemakai, yang kalau tidak dapat
menyebabkan bug pada program.
Kesulitan yang sama juga terjadi pada sisi pengajar, dimana dalam menerangkan alur
program menjadi agak susah.
Indoprog 34
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 3
Judul : Memahami operator pada VBA
• ?1+2
• ? "1" + "2"
• ? 1 + "2"
• ? "1" + 2
• ?1&2
• ? "1" & "2"
• ? "1" & 2
Catatan : Pada Visual Basic data date/time ditulis dengan #tanggal#, Operator +
digunakan untuk menambah sejumlah hari, Operator - digunakan untuk mengurangi
sejumlah hari atau selisih hari.
• ? True + 0
Indoprog 35
Dasar Pemrograman Visual Basic Hendra, S.T.
• ? True + "0"
• ? False
• ? False + 0
• ? True = -1
• ? False = 0
Catatan : Pada Visual Basic nilai True adalah sama dengan -1, dan nilai False adalah 0
• ? 1 and 3 'Mengapa ?
• ? 1 or 4
• ? 2 xor 2
Catatan : Operator and, or, xor, eqv, imp, dan not dapat digunakan untuk operasi bitwise
2. Tanamkan sebuah kontrol CommandButton pada Form1, dan atau properti name :
cmdCoba, dan caption : &Coba, seperti berikut ini :
Indoprog 36
Dasar Pemrograman Visual Basic Hendra, S.T.
Jalankan program, dan klik pada tombol Coba, dan perhatikan hasilnya, apakah sesuai
dengan perkiraan anda?
Indoprog 37
Dasar Pemrograman Visual Basic Hendra, S.T.
Catatan Penulis :
Sesuatu yang perlu ditekankan disini adalah belajar bahasa pemrograman Visual Basic
tidak sama dengan belajar pemrograman berorientasi objek, lagi pula sesuatu hal yang
harus disadari adalah Visual Basic tidak mendukung konsep OOP secara murni seperti
C++ maupun Java.
• Kontrol-kontrol yang barada pada jendela Toolbox pada Visual Basic merupakan
class-class. Objek tersebut dikenal sebagai kontrol tidak akan ada sampai anda
menanamkannya pada suatu form. Ketika anda menanamkan suatu kontrol, anda
telah membuat suatu duplikasi atau instance dari class kontrol tersebut.
• Form dimana anda bekerja pada saat desain adalah suatu class. Pada saat run time,
Visual Basic menciptakan suatu instance dari class form.
Gambar 2-1, kontrol Text1 yang ditanam diatas form berasal dari class Textbox
Misalnya anda menamkan sebuah textbox diatas form1, coba perhatikan jendela properti
kontrol tersebut akan menampilkan Text1 (nama dari kontrol textbox tersebut) dan
Textbox (nama dari class kontrol tersebut).
Indoprog 38
Dasar Pemrograman Visual Basic Hendra, S.T.
Gambar 2-2, jendela property menunjukkan nama kontrol dan jenis Class-nya
Semua objek merupakan duplikasi dari class mereka. Sesaat setelah menjadi objek berdiri
sendiri, masing-masing dapat memiliki properti yang berbeda-beda.
Misalnya anda menanam tiga buah command button pada suatu form, masing-masing
command button merupakan instance dari class CommandButton sehingga memiliki
sejumlah karakteristik dan kemampuan (properti-properti, metode-metode, dan event-
event) yang sama, dimana yang terdefinisi pada class-nya. Tetapi, masing-masing dapat
memiliki Name, Caption, BackColor, Style yang berbeda sesuai dengan pengaturan pada
masing-masing properti.
Catatan penulis :
Jadi tombol Tambah, Perbaiki dan Simpan berasal dari Class yang sama yaitu Command
Button, tetapi setelah mereka ditanam diatas form, masing-masing tombol merupakan
objek yang berdiri sendiri dan memiliki properti yang berbeda.
Dalam istilah OOP tombol Tambah, Perbaiki dan Simpan adalah objek yang merupakan
instance dari Class Command Button.
Indoprog 39
Dasar Pemrograman Visual Basic Hendra, S.T.
Anda dapat langsung mengatur nilai properti suatu kontrol pada jendela properti, maupun
pada saat runtime dengan menggunakan bentuk penulisan berikut :
Objek.properti = ekspresi
Contoh :
Gambar 2-4, pengaturan properti dapat dilakukan melalui jendela properti pada waktu
desain
atau
Anda dapat mengambil nilai dari properti suatu objek dengan penulisan sebagai berikut :
Variabel = Objek.properti
Contoh :
Indoprog 40
Dasar Pemrograman Visual Basic Hendra, S.T.
Ketika anda mengunakan suatu metode dalam kode anda, hal tersebut tergantung kepada
bagaimana kaitan perintah dan berapa argumen yang diperlukan, dan apakah metode
tersebut mengembalikan suatu nilai. Ketika suatu metode tidak membutuhkan argumen
anda dapat menulisnya sebagai berikut ::
Objek.Metode
Contoh :
Catatan penulis :
Salah satu kesulitan programmer yang menggunakan bahasa konvensional seperti Basic,
Pascal, maupun Clipper yang mempelajari Visual Basic adalah dalam memahami topik
tentang objek dan event programming, karena merupakan hal yang tidak ada pada bahasa
tersebut.
Jika anda memikirkan kembali istilah properti, metode dan event, maka properti
merupakan ciri-ciri yang membedakan, misalnya si Budi dan si Amat yang sama-sama
merupakan instance dari Class manusia, tetapi properti mereka dapat berbeda
Sedangkan metode merupakan aksi yang dapat dilakukan oleh si Budi dan si Amat
seperti berjalan, berlari, berbicara, ketawa, dll
Sedangkan event merupakan reaksi terhadap suatu kejadian, contoh kalau dipukul maka
apa yang harus dilakukan ?
Program pada Visual Basic akan berjalan berdasarkan event-event yang terjadi, baik yang
event dibangkitkan oleh sistem operasi maupun event yang dibangkitkan karena aksi oleh
pemakai.
Indoprog 41
Dasar Pemrograman Visual Basic Hendra, S.T.
Berikut ini akan dibahas beberapa properti yang umum yang hampir terdapat pada semua
intrinsic kontrol pada Visual Basic.
Semua objek yang visible memiliki properti yang menentukan letak dan ukurannya. Nilai
properti Left dan Top sifatnya relatif terhadap kontainernya (misalnya suatu textbox yang
ditanamkan diatas form, maka form tersebut disebut sebagai kontainer bagi textbox
tersebut), sedangkan Width dan Height menentukan ukuran dari objek tersebut.
Nb. Pada defaultnya nilai properti ini dinyatakan dalam twips ( 1 inch = 1440 twips; 1 cm
= 576 twips)
Perhatian : Properti Width dan Height pada control Combobox sifatnya readonly.
Catatan penulis :
Tidak semua objek pada Visual Basic dapat menjadi kontainer bagi objek lainnya,
kontrol standar yang dapat berlaku sebagai kontainer adalah form, frame, picturebox.
Umumnya objek yang visible memiliki properti Forecolor dan Backcolor, yang
mempengaruhi warna tulisan dan warna latarbelakang, tetapi beberapa diantaranya tidak
ada (misalnya control scroll-bars), pada command button tidak terdapat properti
Forecolor, dan Backcolornya hanya berfungsi jika anda menganti properti style menjadi 1
- Graphical.
Indoprog 42
Dasar Pemrograman Visual Basic Hendra, S.T.
Nb. Setting properti Backcolor menjadi tidak berfungsi jika anda menset properti
BackStyle menjadi 0 - transparent.
Ketika anda menentukan nilai untuk properti ini, anda dapat menggunakan suatu warna
standard, atau warna custom (saya menyarankan anda untuk menggunakan warna
standard untuk menjaga nilai rasa pemakai integrasi dengan sistem operasi)
Indoprog 43
Dasar Pemrograman Visual Basic Hendra, S.T.
Properti Font
Pada waktu desain, anda dapat menentukan properti Font dengan dialog box, tetapi pada
saat runtime, hal tersebut harus dilakukan dengan properti Name, Size, Bold, Italic,
Underline, and Strikethrough, karena sebenarnya Font adalah suatu objek campuran.
Contoh :
Text1.Font.Name = "Tahoma"
Text1.Font.Size = 12
Text1.Font.Bold = True
Text1.Font.Underline = True
Caption adalah tulisan yang tampil dalam suatu control (atau title pada objek form) yang
mana pemakai tidak dapat melakukan modifikasi langsung (control Label,
CommandButton, Checkbox, Optionbutton, Data, dan Frame), sebaliknya Text adalah
tulisan yang dapat dimodifikasi oleh pemakai (control Textbox, Listbox dan Combobox).
Gambar 2-8, pengaturan Font melalui dialog box Font dari jendela properti
Nb. Pada properti Caption, kita dapat menggunakan tanda & (ampersand) untuk
menyatakan hotkey bagi control tersebut. Properti Text dapat diabaikan, karena
merupakan properti default bagi suatu control.
Contoh :
Indoprog 44
Dasar Pemrograman Visual Basic Hendra, S.T.
Pada defaultnya semua control dan form adalah Enabled dan Visible. Anda dapat
menyembunyikan suatu kontrol dengan menggunakan properti Visible = False. Kontrol
yang properti Enabled = False tidak dapat diakses oleh pemakai, tetapi dapat diakses
secara kode.
Programmer dapat juga menggunakan properti Locked = True untuk membuat suatu
kontrol read only.
Suatu kontrol yang dapat menerima fokus input memiliki properti TabStop. Kontrol yang
memiliki properti TabStop juga memiliki properti TabIndex. Properti TabStop
menentukan apakah suatu kontrol dapat menerima fokus pada penekanan tombol Tab
oleh pemakai, defaultnya adalah true, sedangkan properti TabIndex menentukan urutan
fokus pada saat pemakai menekan Tab.
Properti ini akan menentukan bentuk kursor mouse ketika berada diatas kontrol tersebut.
Windows memperbolehkan kita mengatur tampilan mouse untuk setiap form dan kontrol
dengan mengikuti aturan berikut :
Properti MouseIcon dapat digunakan untuk menampilkan bentuk pointer mouse sesuai
dengan keinginan pemakai, tetapi sebelumnya properti MouseIcon harus di set ke 99-
vbCustom, dan kemudian set suatu icon pada properti MouseIcon.
Indoprog 45
Dasar Pemrograman Visual Basic Hendra, S.T.
Gambar 2-9, pengaturan Mouse Pointer dan Mouse Pointer melalui jendela properti
Properti Tag
Semua kontrol mendukung properti Tag, tanpa kecuali, karena properti ini disediakan
oleh Visual Basic, bukan oleh kontrol. Properti Tag digunakan sebagai kontainer untuk
bagi data dari kontrol yang anda ingin simpan (misalnya anda dapat mengunakannya
untuk menyimpan nilai awal dari textbox, sehingga pemakai dapat melakukan Undo
dengan mengembalikan nilai awal tersebut dari properti Tag).
Berikut ini akan dibahas beberapa metode yang umum yang hampir terdapat pada semua
intrinsic kontrol pada Visual Basic.
Metode Move
Jika suatu kontrol mendukung properti Left, Top, Width, dan Height, juga mendukung
metode Move, dengannya dimana anda dapat mengubah beberapa atau semua properti
dalam satu operasi tunggal. Contoh berikut mengubah tiga properti: Left, Top, dan Width.
Contoh :
Form1.Move 0, 0, Form1.Width * 2
Indoprog 46
Dasar Pemrograman Visual Basic Hendra, S.T.
Metode Refresh
Metode refresh menyebabkan suatu form akan digambar ulang. Pada dasarnya Visual
Basic otomatis memanggil metode ini setiap ada kesempatan, tetapi anda dapat
menggunakannya untuk mengupdate tampilan seketika.
Contoh :
Metode SetFocus
Metode ini memindahkan fokus input ke kontrol tertentu. Sesuatu masalah yang sering
terjadi adalah metode ini akan menyebabkan error ketika diterapkan pada kontrol yang
sedang di Disable atau dalam keadaan Invisible. Untuk menhindari hal ini, metode
SetFocus jangan digunakan pada bagian Form Load.
Contoh :
Metode ZOrder
Metode ZOrder memberikan efek tampilan kontrol yang saling menimpa. Anda
menggunakan metode ini untuk memindahkan kontrol keatas kontrol yang lain. Gunakan
argumen satu untuk sebaliknya.
Contoh :
Pada saat design, anda dapat menggunakan Ctrl+J untuk memindahkan kontrol ke depan,
dan Ctrl+K untuk memindahkan form ke belakang.
Indoprog 47
Dasar Pemrograman Visual Basic Hendra, S.T.
Berikut ini akan dibahas beberapa metode yang umum yang hampir terdapat pada semua
intrinsic kontrol pada Visual Basic.
Event click terjadi ketika pemakai melakukan klik pada tombol kiri mouse. demikian
juga Event DblClick terjadi karena pemakai melakukan klik dua kali.
Pada kontrol-kontrol seperti Checkbox dan OptionButton, event Click juga dibangkitkan
kalau terjadi perubahan nilai properti Value secara koding.
ListBox dan Combobox juga melakukan hal yang sama kalau properti ListIndex-nya
berubah.
Adalah penting untuk menghindari pemakaian Event Click dan DblClick pada satu
kontrol yang sama, karena tidak menjamin Event DblClick dibangkitkan setelah Event
Click terjadi.
Indoprog 48
Dasar Pemrograman Visual Basic Hendra, S.T.
Event Change
Event Change dibangkitkan ketika isi dari suatu kontrol berubah. Tetapi pada CheckBox,
dan OptionButton Event Click yang dibangkitkan.
Pada kontrol TextBox dan ComboBox dibangkitkan ketika pemakai mengetik sesuatu.
(Tetapi pada kontrol ComboBox, kontrol membangkitkan event Click kalau pemakai
memilih item dari list dari pada mengetiknya). Pada kontrol Scroll bar event Change
terjadi ketika pemakai melakukan klik baik pada panah maupun scroll box. Event Change
juga terdapat pada PictureBox, DriveListBox, dan kontrol DirListBox.
Event Change juga dibangkitan oleh isi kontrol yang diubah melalui koding.
Event-event ini dibangkitkan ketika pemakai menekan tombol pada keyboard pada
kontrol yang memiliki fokus. Urutan eventnya adalah : KeyDown (ketika pemakai
menekan tombol), KeyPress (Visual Basic menterjemahkan tombol ke numerik ANSI
code), dan KeyUp (ketika pemakai melepas tombol). Hanya tombol yang berkaitan
dengan tombol kontrol (Ctrl+x, BackSpace, Enter, dan Escape) serta karakter yang dapat
dicetak membangkitkan event KeyPress event. Tombol lainnya--termasuk tombol panah,
tombol fungsi, kombinasi Alt+x, tidak menyebabkan event ini, hanay membangkitkan
event KeyDown dan KeyUp.
Event KeyPress melewatkan ANSI code dari tombol yang ditekan. Anda dapat
memanipulasinya untuk keperluan tertentu.
Objek Browser
Anda dapat melihat properti-properti, metode-metode, dan event-event pada suatu objek
dengan menggunakan fasilitas Objek Browser yang dapat diaktifkan dengan
menggunakan menu View, Object Browser.
Indoprog 49
Dasar Pemrograman Visual Basic Hendra, S.T.
Gambar 2-11, jendela objek browser untuk melihat isi suatu objek
Indoprog 50
Dasar Pemrograman Visual Basic Hendra, S.T.
Catatan penulis :
Secara default Visual Basic akan memberikan nomor Tab Index pada setiap kontrol
berdasarkan urutan penempatannya pada saat design. Urutan tab index ini akan
menentukan urutan fokus pada saat keaktifan Form pertama kali, dan fokus berikutnya
pada setiap penekanan tombol Tab.
Anda dapat mengubah urutan Tab Index pada masing-masing kontrol dengan mengatur
properti TabIndex.
Untuk memudah anda dalam menempatkan kontrol-kontrol pada form, periksalah option
seperti Show Grid dan ukurannya, serta Align Control to Grid, pengaturan ini dapat
dilakukan dengan menu Tools, Option, kemudian memilih tab General.
Indoprog 51
Dasar Pemrograman Visual Basic Hendra, S.T.
Untuk memudahkan anda mengatur ukuran, jarak antar kontrol maupun pemerataan
kontrol-kontrol yang anda tempatkan diatas form, anda dapat menggunakan kelompok
menu format
Indoprog 52
Dasar Pemrograman Visual Basic Hendra, S.T.
maupun Private. Bagian ini biasanya terletak pada bagian teratas pada jendela
koding.
• Bagian General Procedure, bagian ini merupakan subrutin maupun fungsi yang
dibuat oleh pemakai. Bagian ini ditandai dengan (General), dan nama subrutin.
• Bagian Event Procedure, bagian ini merupakan subrutin yang digunakan untuk
menangani kejadian yang diakibatkan oleh aksi pemakai terhadap kontrol tertentu.
Ditandai dengan nama kontrol dan jenis eventnya.
Indoprog 53
Dasar Pemrograman Visual Basic Hendra, S.T.
Event Initialize
Event ini terjadi pertama kali ketika Form dibuat dari Class-nya dan hanya sekali selama
keberadaan form tersebut, Event ini digunakan untuk menginisialisasi nilai awal variabel.
Event Terminate
Event ini terjadi ketika objek Form akan dimusnahkan dari memori.
Event Load
Event ini terjadi ketika suatu form di Load. Pada Event procedure ini anda letakkan
statement yang digunakan untuk mengatur setting awal form anda, misalnya membuka
file, menginisialisasi nilai awal variabel, dan mengatur properti kontrol-kontrol pada
form.
Contoh :
Indoprog 54
Dasar Pemrograman Visual Basic Hendra, S.T.
Posisi = 0
End If
Call Tampil
End Sub
Event QueryUnload
Event ini terjadi ketika suatu form akan tutup, dan dapat mempelajari bagaimana pemakai
menutup form tersebut dengan mempelajari parameter UnloadMode.
Contoh :
Parameter Cancel dapat digunakan untuk menentukan apakah proses dilanjutkan ke Event
UnLoad atau tidak. (0 berarti proses dihentikan, 1 berarti proses dilanjutkan ke Event
Unload)
Event UnLoad
Event ini terjadi ketika suatu form di unload dengan menggunakan command Close pada
Control menu atau dengan statement UnLoad. Event ini terjadi setelah Event
QueryUnload. Anda dapat mengetikkan kode-kode untuk menutup file-file yang terbuka
pada Event ini.
Contoh :
Parameter Cancel dapat digunakan untuk menentukan apakah proses UnLoad dilakukan
atau tidak. (0 berarti proses UnLoad dilakukan, 1 berarti proses Unload dibatalkan)
Indoprog 55
Dasar Pemrograman Visual Basic Hendra, S.T.
Contoh :
Event Resize
Event ini terjadi ketika form pertama kali ditampilkan atau ukuran dari suatu object
berubah.
Contoh :
Catatan :
ScaleWidth, properti yang mengembalikan nilai ukuran lebar interior dari suatu kontrol
ScaleHeight, properti yang mengembalikan nilai ukuran lebar interior dari suatu kontrol
Event Activate
Event Activate terjadi ketika suatu form menjadi jendela aktif, ketika user melakukan
klik pada form, atau menggunakan metode SHOW atau SETFOCUS.
Event DeActivate
Event DeActivate terjadi ketika suatu form menjadi jendela yang tidak aktif, dimana
ketika focus bergeser ke form lain. Event ini tidak terjadi pada saat UNLOAD.
Perintah Load
Syntax :
Indoprog 56
Dasar Pemrograman Visual Basic Hendra, S.T.
Load form
Contoh :
Metoda Show
Syntax :
object.Show
Contoh :
Metoda Hide
Syntax :
object.Hide
Contoh :
Perintah UnLoad
Syntax :
UnLoad form
Contoh :
Indoprog 57
Dasar Pemrograman Visual Basic Hendra, S.T.
End Sub
Initialize, hanya sekali yaitu ketika form pertama kali dibuat dari Class-nya
Load, Activate
Deactivate
Indoprog 58
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 4
Judul : Memahami urutan event, metoda, dan perintah pada Form
1. Tambahkan Form2 ke dalam project anda (caranya : Pada menu Project, pilih Add
Form), Kemudian tanamkan Command1 pada Form2, sehingga menjadi sebagai berikut :
2. Aktifkan jendela koding Form2 dengan menekan F7, atau pada Menu View, pilih
Code, atau klik icon View Code pada jendela Project Explorer. Pada DropDownList
object, pilih Form, dan pada DropDownList procedure pilih Initialize.
Dan lakukan koding untuk Event Initialize untuk form2, sebagai berikut :
Indoprog 59
Dasar Pemrograman Visual Basic Hendra, S.T.
Dan dengan cara yang sama lakukan juga koding untuk Event-Event berikut :
3. Tampilkan kembali Form1. (caranya : Double Klik pada Form1 di jendela Project
Explorer), dan kemudian tanamkan Command1 s/d 4 diatasnya, dan lakukan koding
berikut :
Indoprog 60
Dasar Pemrograman Visual Basic Hendra, S.T.
Indoprog 61
Dasar Pemrograman Visual Basic Hendra, S.T.
• Lakukan klik pada Show, dan perhatikan tulisan pada message box, yang
menunjukkan urutan Event pada Form2, klik Ok untuk menutup masing-masing
MsgBox.
• Alih keaktifan ke Form1 tanpa menutup Form2, perhatikan tulisan pada message
box, yang menunjukkan Event yang terjadi.
• Aktifkan kembali ke Form2 dengan klik pada Form2 (bukan klik pada
Command1 di Form1), perhatikan Event yang terjadi.
• Tutup Form2, dengan klik pada Command1, dan perhatikan urutan Event yang
terjadi.
• Buka kembali Form2, dengan klik pada Command1 diatas Form1, dan perhatikan
urutan Event yang terjadi (apakah Event Initialize dijalankan ?)
• Tutup Form2
• Tutup Form1, dan perhatikan Event yang terjadi (mengapa Event Terminate
Form2 terjadi ?)
• Lakukan klik pada Load, dan perhatikan tulisan pada message box, yang
menunjukkan urutan Event pada Form2, klik Ok untuk menutup masing-masing
MsgBox.
• Lakukan klik pada Show, dan perhatikan Event yang terjadi.
Indoprog 62
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 5
Judul : Pengaturan Form, Properti, dan Event yang diterapkan pada
pengolahan Random File
1. Buatlah suatu project baru, dan periksalah setting grid pada form anda, dengan menu
Tools, Option, General. Adapun hal yang perlu diperhatikan adalah keaktifan Show
Grid, dan Align Control to Grid
cc
Indoprog 63
Dasar Pemrograman Visual Basic Hendra, S.T.
Pilihlah kontrol Label1, Label2, dan Label3 (caranya : klik pada Label1, kemudian tekan
tombol Ctrl dan jangan di lepas, klik pada Label2, dan klik pada Label3, akhirnya tombol
Ctrl di lepas), kemudian pada menu Format Pilih Align pilih Left.
Pilih Text1, Text2, dan Text3, dan, kemudian pada menu Format, pilih Make Same
Size, pilih Both, dan juga dibuat rata Kiri.
2. Aturlah properti dari masing-masing kontrol sehingga menjadi sebagai berikut, dan
jangan lupa untuk mengatur tabindex dengan urutan txtCCode, txtNama,txtEkstension,
fraAkses, optLokal, optSLJJ, optSLI, baru kemudian urutan untuk commandbutton :
Indoprog 64
Dasar Pemrograman Visual Basic Hendra, S.T.
Icon
Label1 Caption CCode
Label2 Caption Nama
Label3 Caption Ekstension
Text txtCCode
Text1
Name txtCCode
Text txtNama
Text2
Name txtNama
Text txtEkstension
Text3
Name txtEkstension
Caption &Akses
Frame1
Name fraAkses
Caption &Lokal
Option1
Name cmdLokal
Caption &SLJJ
Option2
Name cmdSLJJ
Caption SL&I
Option3
Name cmdSLI
Caption &First
Command1
Name cmdFirst
Caption &Prev
Command2
Name cmdPrev
Caption &Next
Command3
Name cmdNext
Caption &Last
Command4
Name cmdLast
Caption &Add
Command5
Name cmdAdd
Caption &Edit
Command6
Name cmdEdit
Caption &Update
Command7
Name cmdUpdate
3. Aktifkan ke jendela Koding, dengan menekan tombol F7, atau pada jendela Project
Explorer, klik pada frmPemakai, dan klik pada icon View Code, dan pilih General,
Declaration
Indoprog 65
Dasar Pemrograman Visual Basic Hendra, S.T.
Option Explicit
Sub Kunci()
'Mengunci kontrol Text, dan OptionButton
txtCCode.Locked = True
Indoprog 66
Dasar Pemrograman Visual Basic Hendra, S.T.
txtNama.Locked = True
txtEkstension.Locked = True
FraAkses.Enabled = False 'Kalau framenya disable, maka isinya tidak dapat
diakses
End Sub
Sub Buka()
txtCCode.Locked = False
txtNama.Locked = False
txtEkstension.Locked = False
FraAkses.Enabled = True
End Sub
Sub Tampil()
'Sub rutin ini digunakan untuk menampilkan isi record ke
'Masing-masing kontrol yang bersesuaian
If Posisi > 0 Then 'Jika posisi record lebih besar dari 0
Get #1, Posisi, DatPemakai 'Baca record berdasarkan posisi
txtCCode.Text = DatPemakai.CCode
txtNama.Text = DatPemakai.Nama
txtEkstension.Text = DatPemakai.Ekstension
optLocal.Value = DatPemakai.Local
optSLJJ.Value = DatPemakai.SLJJ
optSLI.Value = DatPemakai.SLI
Else
Call Kosong
End If
Aksi = flNone 'Tandai Flag Aksi adalah None
Call Kunci 'Buat semua kontrol tidak dapat diperbaki
End Sub
Sub Kosong()
'Subrutin ini akan mengosongkan semua nilai pada masing-masing kontrol
txtCCode.Text = ""
txtNama.Text = ""
txtEkstension.Text = ""
optLocal.Value = False
optSLJJ.Value = False
optSLI.Value = False
End Sub
4. Kembali ke tampilan Form1 (gunakan Shift-F7 atau icon view Object pada Project
Explorer), dan double klik pada frmPemakai, sehingga muncul Event Procedure
Form_Load, dan ketiklah kode berikut :
Indoprog 67
Dasar Pemrograman Visual Basic Hendra, S.T.
Indoprog 68
Dasar Pemrograman Visual Basic Hendra, S.T.
End If
End Sub
Indoprog 69
Dasar Pemrograman Visual Basic Hendra, S.T.
DatPemakai.SLI = optSLI.Value
Put #1, Posisi, DatPemakai
Call Kunci
End If
End Sub
5. Gunakan menu Format, Lock Controls, untuk mengunci semua kontrol yang berada
pada form agar ditidak dapat digeser dan diubah ukurannya, hal ini cocok dilakukan pada
form yang telah selesai.
7. Aktifkan Objek browser, dan amati objek-objek yang ada pada Project1, dengan menu
View, Object Browser, kemudian pilih Project1.
Indoprog 70
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 6
Judul : Tantangan pemrograman
Lengkapi program diatas dengan fasilitas Find, dimana jika tombol Find ditekan akan
muncul suatu InputBox yang menanyakan nama yang dicari, jika ketemu, akan
ditampilkan, dan jika tidak ketemu akan muncuk message box data tidak ada.
End If
End Sub
Indoprog 71
Dasar Pemrograman Visual Basic Hendra, S.T.
Pada Modul ini kita akan membahas Label, Textbox, Option, Check,
Frame dan Command.
Label
Digunakan untuk menampilkan text tanpa bisa diubah oleh pemakai pada saat runtime.
Beberapa properti pada label :
Properti Fungsi
Digunakan untuk menentukan pemerataan tulisan pada kontrol label (0 - Left Justify, 1 -
Right Justify, 2 - Center)
Alignment
Appearance Digunakan untuk menentukan tampilan dari kontrol label di cat atau tidak (0 - Flat, 1 - 3D)
Digunakan untuk menentukan apakah ukuran kontrol otomatis disesuaikan dengan ukuran
AutoSize
tulisan (False, True)
Digunakan untuk menentukan warna latar belakang (properti ini saling berkaitan dengan
BackColor
properti Appearance)
Digunakan untuk menentukan prilaku latar belakang kontrol label (0 - Transparent, 1 -
BackStyle Opaque), kalau transparan, maka BackColor menjadi tidak berarti, demikian juga
Appearance.
Indoprog 72
Dasar Pemrograman Visual Basic Hendra, S.T.
Digunakan untuk menentukan bentuk border, apakah (0- None, 1 - Fixed Single)
BorderStyle
Digunakan untuk menentukan tulisan pada kontrol label, mungkin ini adalah properti yang
Caption
paling sering anda gunakan.
Digunakan untuk menentukan icon yang digunakan pada operasi drag-n-drop pada kontrol
DragIcon
label
DragMode Menentukan modus drag-n-drop (0 - manual, 1 - automatic)
Menentukan apakah kontrol label dapat menerima event yang dibuat oleh pemakai, misalnya
Enabled
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 kontrol
Index Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array.
Left Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.
Digunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada
MouseIcon diatas kontrol label tersebut, properti ini berarti bila properti MousePointer diset menjadi (99
- Custom)
Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada
MousePointer
diatas kontrol label tersebut.
Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan
Tag
dengan kontrol label tersebut
ToolTipText Digunakan untuk menentukan tip tulisan ketika mouse pointer berada diatas kontrol
Top Digunakan untuk menentukan jarak atas kontrol dari kontainernya.
Digunakan untuk menentukan perlakuan terhadap tanda & ampersand sebagai access key,
UseMnenomic
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
Digunakan untuk menentukan apakah tulisan dalam kontrol label dapat dilipat menjadi
WordWrap
beberapa baris.
Indoprog 73
Dasar Pemrograman Visual Basic Hendra, S.T.
Event Keterangan
Change Event ini terjadi ketika nilai properti Caption dari kontrol
Event ini terjadi ketika pemakai melakukan klik pada kontrol, event ini terjadi dengan urutan
Click
(MouseDown, MouseUp, Click)
Event ini terjadi ketika pemakai melakukan double klik pada kontrol, event ini terjadi dengan
DblClick
urutan (MouseDown, MouseUp, Click, MouseDown, DblClick, MouseUp)
Event ini terjadi ketika pemakai melakukan penekanan tombol mouse pada kontrol,
MouseDown 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)
Event ini terjadi ketika pamakai mengerakan mouse pada kontrol, parameter yang dapat
MouseMove digunakan adalah Button (1 - Tombol kiri, 2 - Tombol kanan), Shift (1 - Shift, 2 - Ctrl, 3 -
Alt), X (posisi kolom pointer), Y (posisi baris pointer)
Event ini terjadi ketika pemakai melepaskan penekanan tombol mouse pada kontrol,
MouseUp 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)
Metoda Keterangan
Metoda ini digunakan untuk memindahkan letak (koordinat Left, Top) dari kontrol label
Move
maupun ukurannya (ukuran Height, Width)
Refresh Metoda ini digunakan untuk mencetak ulang kontrol label.
Metoda ini digunakan untuk menentukan order kontrol, apakah diatas atau dibawah kontrol
ZOrder
lain.
Textbox
Indoprog 74
Dasar Pemrograman Visual Basic Hendra, S.T.
Digunakan untuk menampilkan text yang dapat diubah oleh pemakai pada saat runtime
Properti Fungsi
Alignment sda
Appearance sda
BackColor sda
BorderStyle sda
Digunakan untuk menentukan apakan event Validate di aktifkan ketika kontrol akan
CauseValidation
kehilangan fokus (False, True)
DragIcon sda
DragMode sda
Enabled sda
Font sda
ForeColor sda
Height sda
Digunakan untuk menentukan apakah selection disembunyikan ketika kontrol kehilangan
HideSelection
fokus
Index sda
Left Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.
Digunakan untuk menentukan apakah text dalam kontrol textbox dapat di perbaharui oleh
Locked
pemakai atau tidak (False, True)
Digunakan untuk menentukan jumlah huruf maksimal yang dapat diketikkan dalam textbox
MaxLength
(0 s/d 65535), 0 tidak dibatasi.
Digunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada
MouseIcon diatas kontrol label tersebut, properti ini berarti bila properti MousePointer diset menjadi (99
- Custom)
Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada
MousePointer
diatas kontrol label tersebut.
Digunakan untuk menentukan apakah tulisan dalam textbox dapat ditampilkan dalam
bentuk beberapa baris, dan mengenali Enter untuk memasuki baris baru. (False, True)
MultiLine
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 *
PasswordChar
Digunakan untuk menentukan penampilan ScrollBar pada textbox, properti ini efektif jika
ScrollBars
setting properti MultiLine adalah True (0 - None, 1 - Horizontal, 2 - Vertical, 3 - Both)
Indoprog 75
Dasar Pemrograman Visual Basic Hendra, S.T.
Digunakan untuk menentukan urutan tabindex, 0 adalah kontrol yang pertama mendapat
TabIndex
fokus jika form dijalankan. Properti ini efektif jika setting properti TabStop adalah True
Digunakan untuk menentukan apakah textbox dapat menerima fokus karena penekanan
TabStop
tombol TAB oleh pemakai (False, True)
Tag sda
Text Properti ini berisi tulisan yang berada dalam textbox
ToolTipText sda
Top sda
Width sda
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
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.
KeyPress
Contoh :
Indoprog 76
Dasar Pemrograman Visual Basic Hendra, S.T.
If KeyAscii = 13 Then
SendKeys "{Tab}"
End If
End Sub
Event ini terjadi setelah event KeyPress ketika pemakai mengetik karakter pada kontrol
KeyUp
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.
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
Digunakan untuk menentukan gambar yang ditampilkan ketika kontrol Option disable (properti
DisablePicture
Enabled = False), properti ini efektif jika setting properti Style adalah (1- Graphical)
Digunakan untuk menentukan gambar yang ditampilkan ketika kontrol Option dipilih (properti
DownPicture
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.
Digunakan untuk warna pada bitmap yang akan dijadikan transparan, properti ini efektif jika
MaskColor
picture yang masukkan adalah (*.bmp), dan setting properti UseMaskColor adalah True
Indoprog 77
Dasar Pemrograman Visual Basic Hendra, S.T.
MouseIcon sda
MousePointer sda
Digunakan untuk menentukan gambar yang digunakan, properti ini efektif jika setting properti
Picture
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
Event Keterangan
sda, pada option event ini juga dibangkitkan ketika kontrol menerima fokus, maupun ketika
Click
pemakai menekan space pada kontrol bersangkutan.
DblClick sda
GotFocus sda
KeyDown sda
KeyPress sda
KeyUp sda
LostFocus sda
MouseDown sda
MouseMove sda
Indoprog 78
Dasar Pemrograman Visual Basic Hendra, S.T.
MouseUp sda
Validate sda
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
Indoprog 79
Dasar Pemrograman Visual Basic Hendra, S.T.
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
Digunakan untuk menentukan apakah kontrol Visibel atau tidak, jika Visible false, maka
Visible
semua kontrol yang berada diatasnya menjadi tidak kelihatan.
Width sda
Indoprog 80
Dasar Pemrograman Visual Basic Hendra, S.T.
Event Keterangan
Click sda
DblClick sda
MouseDown sda
MouseMove sda
MouseUp sda
Metoda Keterangan
Move sda
Refresh sda
ZOrder sda
CommandButton
Properti Fungsi
Alignment sda
Appearance sda
BackColor sda
Digunakan untuk menentukan apakah command button merupakan perintah Cancel untuk
Cancel form tersebut , jika properti ini True, maka ketika pemakai menekan ESC, akan
membangkitkan event Click untuk kontrol tersebut.
Caption sda
CauseValidation sda
Digunakan untuk menentukan apakan command button merupakan Default command untuk
Default 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.
Digunakan untuk warna pada bitmap yang akan dijadikan transparan, properti ini efektif jika
MaskColor
picture yang masukkan adalah (*.bmp), dan setting properti UseMaskColor adalah True
MouseIcon sda
MousePointer sda
Picture sda
Style sda
Indoprog 81
Dasar Pemrograman Visual Basic Hendra, S.T.
TabIndex sda
TabStop sda
Tag sda
ToolTipText sda
Top sda
UseMaskColor sda
Visible Digunakan untuk menentukan apakah kontrol Visibel atau tidak.
Width sda
Event Keterangan
sda, pada commandbutton, event ini juga dibangkitkan ketika pemakai menekan space pada
Click
kontrol tersebut.
GotFocus sda
KeyDown sda
KeyPress sda
KeyUp sda
LostFocus sda
MouseDown sda
MouseMove sda
MouseUp sda
Metoda Keterangan
Move sda
Refresh sda
Setfocus sda
ZOrder sda
Indoprog 82
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 7
Judul : Mengenal Properti Label, Text, Option, Check,
Frame dan Command
1. Buatlah project baru yang berisi form, form berikut :
Form 1
Form 2
Form 3
Indoprog 83
Dasar Pemrograman Visual Basic Hendra, S.T.
Form 4
Form 5
Indoprog 84
Dasar Pemrograman Visual Basic Hendra, S.T.
Form 6
Indoprog 85
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 8
Judul : Memahami beberapa event yang umum pada
kontrol.
1. Buatlah project baru, dengan Form1
Indoprog 86
Dasar Pemrograman Visual Basic Hendra, S.T.
Indoprog 87
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 9
Judul : Tantangan melengkapi program data pemakai
Telepon Latihan Bab2
1. Aktifkan program Latihan 2-2, modul sebelumnya.
1. txtCCode, maksimal pengetikkan 4 huruf, dan tidak boleh kurang dari 4 huruf, dan
yang dapat diketik hanya digit (0 s/d 9)
2. txtNama, maksimal pengetikkan 30 huruf, dan huruf pertama setiap suku kata otomatis
besar, misalnya Hendra Wijaya, Susan Dewichan
3. txtEkstension, maksimal pengetikkan 3 huruf, dan yang dapat diketik hanya digit (0 s/d
9), dan nomor ekstension terkecil 100, terbesar 600.
5. Option SLI, hanya bisa dipilih untuk ekstension 100 s/d 199, SLJJ, hanya dipilih untuk
ekstension 200 s/d 299
Indoprog 88
Dasar Pemrograman Visual Basic Hendra, S.T.
Properti Fungsi
Appearance Digunakan untuk menentukan tampilan dari kontrol (0 - Flat, 1 - 3D)
BackColor Digunakan untuk menentukan warna latar belakang.
Digunakan untuk menentukan apakan event Validate di aktifkan ketika kontrol akan
CauseValidation
kehilangan fokus (False, True)
Digunakan untuk menentukan apakah daftar pilihan dalam listbox ditampilkan 1 kolom
vertikal kebawah (0), atau kebawah dan menyamping sesuai dengan jumlah kolom yang
ditentukan jika daftar pilihan cukup panjang.
Column
Digunakan untuk menentukan icon yang digunakan pada operasi drag-n-drop pada kontrol
DragIcon
label
DragMode Menentukan modus drag-n-drop (0 - manual, 1 - automatic)
Menentukan apakah kontrol label dapat menerima event yang dibuat oleh pemakai, misalnya
Enabled
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 kontrol
Index Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array.
Digunakan untuk menentukan tinggi dari kontrol (Height) sedemikian rupa sehingga tidak
ada item yang ditampilkan sebagian ( False, True)
IntegralHeight
Adalah daftar yang dapat digunakan untuk menyimpan nilai numerik yang berkaitan dengan
ItemData
item-item yang terdapat dalam listbox. Berkoresponden satu-satu.
Left Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.
Merupakan properti yang berisi pilihan dalam Listbox, untuk mengetik itemnya anda harus
List
menggunakan Ctrl-Enter untuk memasukki item yang berikutnya.
MouseIcon Digunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada
Indoprog 89
Dasar Pemrograman Visual Basic Hendra, S.T.
diatas kontrol label tersebut, properti ini berarti bila properti MousePointer diset menjadi (99
- Custom)
Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada
MousePointer
diatas kontrol label tersebut.
Digunakan untuk menentukan apakah item dalam listbox dapat dipilih lebih dari satu atau
tidak (0 - None, 1 - Simple, 2 - Extended) Perbedaan antara 1 - Simple dengan 2 -
Extended, adalah pada Simple pemilihan beberapa item sekaligus tidak dapat menggunakan
bantuan Shift.
MultiSelect
Digunakan untuk menentukan apakah item dalam listbox otomatis diurut berdasarkan
Sorted
aphabetik atau tidak (False, True)
Digunakan untuk menentukan bentuk tampilan item yang digunakan (0 - Standard, 1 -
Checkbox)
Style
Digunakan untuk menentukan urutan tabindex, 0 adalah kontrol yang pertama mendapat
TabIndex
fokus jika form dijalankan. Properti ini efektif jika setting properti TabStop adalah True
Digunakan untuk menentukan apakah textbox dapat menerima fokus karena penekanan
TabStop
tombol TAB oleh pemakai (False, True)
Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan
Tag
dengan kontrol label tersebut
ToolTipText Digunakan untuk menentukan tip tulisan ketika mouse pointer berada diatas kontrol
Top Digunakan untuk menentukan jarak atas kontrol dari kontainernya.
Visible Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False, True)
Width Digunakan untuk menentukan lebar kontrol label
Untuk menentukan isi listbox anda dapat mengetikkannya pada waktu design dengan
mengisinya di properti List. Misalnya daftar pilihan yang diinginkan adalah Satu, Dua,
Tiga ..., Lima, maka :
Indoprog 90
Dasar Pemrograman Visual Basic Hendra, S.T.
Cara lain adalah dengan menggunakan metoda AddItem(string, index) pada Event Load
pada Form, dimana string adalah item yang ingin ditambahkan ke ListBox, sedangkan
index adalah posisi dimana item akan disisip, defaultnya adalah posisi terakhir. Contoh :
Untuk mendapatkan jumlah item dalam Listbox anda dapat menggunakan properti
ListCount.
Pada Listbox jenis Multiselect = False, maka item yang dapat dipilih oleh pemakai hanya
satu, sehingga hal tersebut efektif diambil dengan menggunakan properti Text dari
Listbox. Contoh berikut akan menampilkan item yang diklik oleh pemakai.
Jika pada Listbox dengan Multiselect = True, maka pekerjaan menjadi sedikit lebih rumit,
dimana kita perlu memeriksa item pada listbox satu persatu untuk memeriksa apakah
item tersebut dalam keadaan terpilih (diperiksa dengan properti selected(index) atau
tidak. Contoh berikut akan menampilkan kotak pesan yang berisi item-item yang terpilih.
Sesuatu hal yang perlu diingat bahwa nomor index item pada Listbox dimulai dari 0 s/d
ListCount - 1
Untuk mendapatkan posisi item yang sedang difokus pada Listbox dapat digunakan
properti ListIndex
Indoprog 91
Dasar Pemrograman Visual Basic Hendra, S.T.
Contoh : Untuk memindahkan item yang terpilih pada ListBox kiri ke listbox kanan,
dimana setting properti pada Listbox kiri Multiselect = False.
Pada Listbox yang MultiSelect = False, properti ListIndex menunjukkan nomor index
(mulai dari 0) item yang sedang terpilih, dan jika tidak ada yang terpilih nilainya -1.
Untuk mengosongkan isi seluruh Listbox, anda dapat menggunakan Metoda Clear.
Event Keterangan
Event ini terjadi ketika pemakai melakukan klik pada kontrol, event ini terjadi dengan urutan
Click
(MouseDown, MouseUp, Click)
Event ini terjadi ketika pemakai melakukan double klik pada kontrol, event ini terjadi dengan
DblClick
urutan (MouseDown, MouseUp, Click, MouseDown, DblClick, MouseUp)
GotFocus Event ini terjadi ketika kontrol mendapatkan fokus
Event ini terjadi ketika pemakai melakukan klik untuk menandai checkbox pada item
ItemCheck
Listbox, Event ini efektif pada ListBox yang Style = Checkbox
KeyDown Event ini terjadi ketika pemakai mengetik karakter pada kontrol
KeyPress Event ini terjadi setelah event KeyDown ketika pemakai mengetik karakter pada kontrol,
Indoprog 92
Dasar Pemrograman Visual Basic Hendra, S.T.
parameter yang dapat digunakan adalah KeyAscii. Anda dapat memanipulasi tombol yang
diketik dengan melakukan perubahan pada nilai KeyAscii.
Event ini terjadi setelah event KeyPress ketika pemakai mengetik karakter pada kontrol
KeyUp
dengan urutan (KeyDown, KeyPress, KeyUp, Change)
LostFocus Event ini terjadi ketika kontrol kehilangan fokus
Event ini terjadi ketika pemakai melakukan penekanan tombol mouse pada kontrol,
MouseDown 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)
Event ini terjadi ketika pamakai mengerakan mouse pada kontrol, parameter yang dapat
MouseMove digunakan adalah Button (1 - Tombol kiri, 2 - Tombol kanan), Shift (1 - Shift, 2 - Ctrl, 3 -
Alt), X (posisi kolom pointer), Y (posisi baris pointer)
Event ini terjadi ketika pemakai melepaskan penekanan tombol mouse pada kontrol,
MouseUp 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)
Scroll Event ini terjadi ketika Listbox mengalami scroll.
Validate Event ini terjadi ketika kontrol akan kehilangan fokus.
Combo Box
Jika dibandingkan dengan Listbox, maka ComboBox lebih menghemat pemakaian tempat
pada form, dimana hasil pilihan pemakai ditempilkan dalam suatu textbox, dimana
pilihan-pilihan dapat di drop-down dalam bentuk listbox. Pada Combobox pemakai juga
dapat mengetik langsung pilihannya, tetapi hal ini sangat bergantung pada Style yang
digunakan. Jika pada Listbox dimungkinkan pemakai melakukan MultiSelect, tetapi pada
Combobox hal tersebut tidak dapat dilakukan.
Properti Fungsi
BackColor sda
CauseValidation sda
DragIcon sda
DragMode sda
Enabled sda
Font sda
ForeColor sda
Height sda
Index sda
IntegralHeight sda
ItemData sda
Left sda
Locked sda
MouseIcon sda
MousePointer sda
Sorted sda
Digunakan untuk menentukan bentuk tampilan combo yang digunakan (0 - Dropdown
Combo, 1 - Simple Combo, 2 - Dropdown List), pada Dropdown Combo, pemakai
Style diperbolehkan mengetik tulisan yang tidak ada di list, pada Simple Combo, pemakai boleh
mengetik atau memilih dengan tombol keatas atau kebawah dan daftar tidak bisa terbuka,
pada Dropdown List, tulisan hanya dapat dipilih dari daftar.
Indoprog 93
Dasar Pemrograman Visual Basic Hendra, S.T.
TabIndex sda
TabStop sda
Tag sda
Text sda
ToolTipText sda
Top sda
Visible sda
Width sda
Untuk pengolahan ComboBox tidak jauh berbeda dengan Listbox, untuk itu perhatikan
kembali contoh-contoh pengolahan Listbox diatas dengan sedikit perbedaan karakteristik
antara Listbox dan ComboBox.
Event Keterangan
Click sda
DblClick sda
GotFocus sda
KeyDown sda
KeyPress sda
KeyUp sda
LostFocus sda
MouseDown sda
MouseMove sda
MouseUp sda
Validate sda
Indoprog 94
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 10
Judul : Memahami kontrol Listbox yang diaplikasikan
untuk pengolahan nama negara dan propinsi
1. Buatlah program yang menyimpan nama-nama negara didalam sebuah text file
Negara.txt, dimana setiap kali form diaktifkan, maka isi file Negara.txt akan dibaca dan
ditampilkan dalam suatu listbox, kemudian pemakai dapat melakukan tambah, perbaiki
maupun hapus item dalam listbox, dan isi daftar akan disimpan kembali ke file Negara.txt
setiap pemakai melakukan klik pada Simpan ke file.
Membaca dari file Negara.txt dan mengisikannya kedalam lstNegara, serta membuat
setting awal variabel pada Event Form Load
Indoprog 95
Dasar Pemrograman Visual Basic Hendra, S.T.
End If
End Sub
Melakukan koding untuk menangani event klik pada kontrol cmdTambah, adapun hal
yang perlu dilakukan adalah menandai Aksi sebagai flAdd dan mimindahkan fokus ke
txtItem.
Melakukan koding untuk menangani event klik pada kontrol cmdPerbaiki, adapun hal
yang perlu dilakukan adalah memeriksa apakah pemakai ada memilih item yang
diperbaiki, kemudian memasukkan item yang diperbaiki ke txtItem, kemudian menandai
Aksi sebagai flEdit, kemudian memindahkan fokus ke txtItem.
Else
txtItem = LstNegara.Text
txtItem.SetFocus
Aksi = flEdit
End If
End Sub
Indoprog 96
Dasar Pemrograman Visual Basic Hendra, S.T.
Melakukan koding untuk menangani event klik pada kontrol cmdHapus, adapauh hal
yang perlu dilakukan adalah memeriksa Aksi, apakah flAdd atau flEdit, jika flAdd, maka
tulisan dalam txtItem ditambahkan ke listbox, kalau flEdit maka item pada listbox
dihapus, dan tulisan pada txtItem ditambahkan, kemudian Aksi di set ke flNone dan isi
txtItem dikosongkan
End If
End Sub
Melakukan koding untuk menangani event klik pada cmdHapus, dengan memeriksa
apakah ada item yang dipilih, kalau ada remove item tersebut,dan reset flag Aksi
LstNegara.RemoveItem LstNegara.ListIndex
End If
Aksi = flNone
End Sub
Melakukan koding untuk menangani event klik pada cmdSimpankeFile, dengan looping
dari item 0 s/d Listcount -1.
Indoprog 97
Dasar Pemrograman Visual Basic Hendra, S.T.
Next i
End Sub
2. Buatlah program yang menyimpan nama-nama propinsi didalam sebuah text file
Indonesia.txt, dimana setiap kali form diaktifkan, maka isi file Indonesia.txt akan dibaca
dan ditampilkan dalam suatu listbox, kemudian pemakai dapat melakukan tambah,
perbaiki maupun hapus item dalam listbox, dan isi daftar akan disimpan kembali ke file
Indonesia.txt setiap pemakai melakukan klik pada Simpan ke file.
Indoprog 98
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 11
Judul : Memahami kontrol ComboBox yang
diaplikasikan untuk pengolahan data Peserta Indoprog-
vb
1. Buatlah program untuk menyimpan data perserta indoprog-vb kesebuah random file
Peserta.Dat yang memiliki struktur sebagai berikut :
Pada masing-masing textbox dibatasi panjang pengetikkan terbatas sesuai dengan ukuran
masing-masing field, seperti tampilan berikut :
Isi ComboBox cboNegara diisi dari file Negara.txt, dan Propinsi dari file Propinsi.txt,
sehingga menghasilkan tampilan sebagai berikut :
Indoprog 99
Dasar Pemrograman Visual Basic Hendra, S.T.
Petunjuk, lakukan hal tersebut pada Event Form_Load, adapun potongan programnya
adalah sebagai berikut :
Indoprog 100
Dasar Pemrograman Visual Basic Hendra, S.T.
End Sub
Untuk koding pada event-event tombol harus anda buat sendiri dengan mempelajari dan
mencontoh Latihan pada Modul-modul sebelumnya untuk kemajuan anda sendiri.
Indoprog 101
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 12
Judul : Tantangan penyempurnaan Program Peserta
Indoprog-vb
1. Buka kembali program Latihan1 diatas, jalankan program diatas, dan carilah
kelemahan-kelemahan yang ada, serta lengkapi program diatas untuk menutupi lubang
kelemahan tersebut.
3. Lengkapi program Latihan2 dengan kemampuan Find Next, dimana mencari data
memenuhi syarat yang berikutnya.
4. Buatlah semua form-form diatas ditampilkan ditengah layar pada saat di jalankan.
Indoprog 102
Dasar Pemrograman Visual Basic Hendra, S.T.
Properti Fungsi
Digunakan untuk menentukan jenis border yang digunakan (0 - None, 1 - Fixed Single)
BorderStyle
Digunakan untuk menentukan icon yang digunakan pada operasi drag-n-drop pada kontrol
DragIcon
label
DragMode Menentukan modus drag-n-drop (0 - manual, 1 - automatic)
Menentukan apakah kontrol dapat menerima event yang dibuat oleh pemakai, misalnya
Enabled
event Click, MouseDown, MouseUp, dll.
Height Digunakan untuk menentukan tinggi dari kontrol
Index Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array.
Left Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.
Digunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada
MouseIcon diatas kontrol label tersebut, properti ini berarti bila properti MousePointer diset menjadi (99
- Custom)
Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada
MousePointer
diatas kontrol label tersebut.
Digunakan untuk menentukan apakah gambar disesuaikan dengan ukuran kontrol (gambar
Stretch
dapat menggalami pengecilan maupun pembesaran)
Indoprog 103
Dasar Pemrograman Visual Basic Hendra, S.T.
Picture Digunakan untuk menentukan gambar dalam image, atau mengambil gambar dalam image.
Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan
Tag
dengan kontrol picture tersebut
ToolTipText Digunakan untuk menentukan tip tulisan ketika mouse pointer berada diatas kontrol
Top Digunakan untuk menentukan jarak atas kontrol dari kontainernya.
Visible Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False, True)
Width Digunakan untuk menentukan lebar kontrol label
Pada saat design anda dapat mengisikan gambar kedalam image box dengan
menggunakan properti Picture, sedangkan pada runtime anda dapat menggunakan fungsi
LoadPicture(namafile) untuk memuat gambar ke properti Picture dari kontrol image,
contoh :
MyImage.Picture = LoadPicture("C:\Grafik\Indoprog.gif")
Catatan :
Fungsi LoadPicture(namafile) digunakan untuk memuat file grafik dengan format grafik
bitmap (.bmp), icon (.ico), run-length encoded (.rle), metafile (.wmf), enhanced metafiles
(.emf), GIF, JPEG (.jpg).
MyImage.Picture = Clipboard.GetData
Catatan :
Indoprog 104
Dasar Pemrograman Visual Basic Hendra, S.T.
Metoda GetData Mengembalikan suatu grafik dari objek Clipboard, format adalah suatu
konstanta optional yang menentukan format grafik. Jika format adalah 0 (nol) atau
diabaikan, GetData secara otomatis.
argumen format Optional. Suatu konstanta atau nilai yang menunjukkan format grafik
pada clipboard, Jika format 0 (nol) atau diabaikan, GetData otomatis menggunakan
format yang sesuai. Adapun nilai konstanta untuk argumen format Optional adalah
sebagai berikut :
Untuk mengosongkan kontrol image pada saat runtime, anda dapat menggunakan fungsi
LoadPicture, tanpa menggunakan argumen nama file, contoh :
MyImage.Picture = LoadPicture
Anda dapat juga menggunakan fungsi LoadPicture tanpa argumen untuk memeriksa
apakah kontrol image dalam keadaan kosong atau tidak.
Catatan :
Perintah SavePicture akan selalu menyimpan gambar ke format bitmap (.bmp), tanpa
memperhatikan format sumber gambar.
PictureBox
Indoprog 105
Dasar Pemrograman Visual Basic Hendra, S.T.
Kalau image digunakan untuk menampilkan gambar, demikian juga picturebox. Selain
menampilkan gambar picture box mendukung berbagai metoda untuk operasi grafik, dan
dapat berfungsi sebagai kontainer bagi kontrol-kontrol lain.
Contoh :
Indoprog 106
Dasar Pemrograman Visual Basic Hendra, S.T.
Properti Fungsi
Digunakan untuk menentukan bagaimana pemerataan objek pada form (0 - None, 1 - Align
Align
Top, 2 - Align Bottom, 3 - Align Left, 4 - Align Right)
Appearance sda
Digunakan untuk menentukan warna latar belakang.
BackColor
Digunakan untuk menentukan apakah grafik yang dihasilkan dengan metoda pengambaran
AutoRedraw
(Line, Circle, PSet) akan dijadikan sebagai bitmap yang tetap.
Digunakan untuk menentukan apakah ukuran kontrol otomatis disesuaikan dengan ukuran
AutoSize
objek picture.
BorderStyle sda
Digunakan untuk menentukan apakan event Validate di aktifkan ketika kontrol akan
CauseValidation
kehilangan fokus (False, True)
Digunakan untuk menentukan icon yang digunakan pada operasi drag-n-drop pada kontrol
ClipControl
label
Digunakan untuk menentukan icon yang digunakan pada operasi drag-n-drop pada kontrol
DragIcon
label
DragMode Menentukan modus drag-n-drop (0 - manual, 1 - automatic)
Menentukan jenis modus yang digunakan pada saat pengambaran grafik dalam picture
DrawMode dimana merupakan interaksi antara warna latar belakang dengan warna garis sehingga
menghasilkan warna baru.
DrawStyle Menentukan style garis yang digunakan dalam mengambar garis.
DrawWidth Menentukan ukuran garis pengambaran
Menentukan apakah kontrol label dapat menerima event yang dibuat oleh pemakai, misalnya
Enabled
event Click, MouseDown, MouseUp, dll.
FillColor Menentukan warna pengisian grafik
Indoprog 107
Dasar Pemrograman Visual Basic Hendra, S.T.
FillStyle
Contoh :
ForeColor
Private Sub cmdGrafik_Click()
MyPicture.ScaleMode = 0
MyPicture.ScaleWidth = 360
MyPicture.ScaleHeight = 2
MyPicture.ScaleLeft = 0
MyPicture.ScaleTop = -1
MyPicture.ForeColor = vbBlack 'Set ForeColor jadi hitam
MyPicture.Line (0, 0)-(360, 0) 'Garis hitam
For i = 0 To 360
MyPicture.ForeColor = vbRed
MyPicture.PSet (i, -Sin(i * 3.14 / 180)) 'Titik
Merah
MyPicture.ForeColor = vbBlue
MyPicture.PSet (i, -Cos(i * 3.14 / 180)) 'Titik Biru
Next i
End Sub
FontTransparant Digunakan untuk menentukan apakah latar belakang tulisan transparant atau tidak.
Indoprog 108
Dasar Pemrograman Visual Basic Hendra, S.T.
1 inchi = 72 point
ScaleMode
1 character = (120 Twip untuk lebar, 240 untuk tinggi)
Anda dapat membuat modus skala sendiri dengan menset properti ini menjadi 0 - User, dan
skala anda dapat ditentukan pada ScaleWidth dan ScaleHeight, perhatikan kembali contoh
Grafik sinus sebelumnya.
Digunakan untuk menentukan nilai koodinat horizontal paling kiri, anda dapat menggunakan
ScaleLeft
properti ini untuk menentukan koordinat paling kiri dari suatu sumbu X.
Digunakan untuk menentukan nilai koodinat vertikal paling atas, anda dapat menggunakan
ScaleTop
properti ini untuk menentukan koordinat paling atas dari suatu sumbu Y.
ScaleHeight Digunakan untuk menentukan tinggi sumbu vertikal. Menentukan panjang sumbu Y.
ScaleWidth Digunakan untuk menentukan panjang sumbu horizontal. Menentukan panjang sumbu X.
Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan
Tag
dengan kontrol picture tersebut
ToolTipText Digunakan untuk menentukan tip tulisan ketika mouse pointer berada diatas kontrol
Top Digunakan untuk menentukan jarak atas kontrol dari kontainernya.
Visible Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False, True)
Width Digunakan untuk menentukan lebar picturebox
Indoprog 109
Dasar Pemrograman Visual Basic Hendra, S.T.
Properti Fungsi
Digunakan untuk mendapatkan/menentukan posisi X yang sedang aktif, digunakan untuk
CurrentX
perintah Print
Digunakan untuk mendapatkan/menentukan posisi Y yang sedang aktif, digunakan untuk
CurrentY
perintah Print
Pengolahan gambar dalam Picturebox dapat dicontoh dari contoh pada Image diatas.
Salah satu perbedaan antara Image dengan Picturebox adalah tersedianya berbagai
metoda pengambaran grafik pada Picturebox, antara lain :
Metoda Keterangan
Mengambarkan sebuah lingkaran dengan berpusat pada koordinat x,y dan jari-
Circle(x,y),r,warna,awal,akhir,Aspek jari r dengan warna garis, mulai dari sudut awal, sampai sudut akhir yang
dinyatakan dalam radian), serta aspek perbandingkan tinggi dengan lebar.
Cls Membersihkan Picturebox dengan warna BackColor
Line (x1,y1) - (x2, y2),warna Mengambarkan garis tunggal dari koordinat x1,y1 sampai dengan x2,y2
Line (x1,y1) - (x2, y2),warna,B Mengambarkan kotak dari koordinat x1,y1 sampai dengan x2,y2
Line (x1,y1) - (x2, y2),warna,BF Mengambarkan kotak berisi dari koordinat x1,y1 sampai dengan x2,y2
Mencetak dot (titik) pada koordinat tertentu pada Form, Picturebox, dan
PSet (x,y)
Printer, pada koordinat yang ditentukan
PSet Step (x,y) Mencetak dot (titik) pada koordinat relatif terhadap posisi dot sebelunnya.
Mendapatkan warna dot (titik) tertentu pada layar
Point(x,y) Contoh :
Color& = MyPicture.Point(100,200)
Refresh Menyebabkan kontrol picture dan bitmap tetapnya digambar ulang.
Event Paint akan diaktifkan ketika PictureBox mengalami pengambaran. Anda dapat
menggunakan event ini untuk menjalankan fungsi-fungsi tertentu ketika PictureBox
digambar.
Indoprog 110
Dasar Pemrograman Visual Basic Hendra, S.T.
Untuk meyimpan ataupun mengambil grafik yang terdapat dalam suatu picturebox, baik
yang di muat dari suatu file gambar, maupun yang dibuat dengan menggunakan metoda
pengambaran, Anda dapat menggunakan properti image.
Contoh :
Indoprog 111
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 12
Judul : Memanfaatkan kontrol image untuk
menampilkan Foto perserta
Pada Latihan ini kita akan meningkatkan fasilitas project Modul 4 Latihan 1 sebelumnya
dengan kemampuan menampilkan foto dan menyimpan foto perserta. Adapun foto dari
masing-masing peserta akan disimpan pada file-file eksternal yang diberi nama
Fotox.bmp, dimana x disesuaikan dengan nomor record data dalam random file. Misalnya
pada record 1, maka nama file fotonya adalah Foto1.bmp, record 2 nama file fotonya
adalah Foto2.bmp, dst.
1. Bukalah project Modul 4 Latihan 1, dan tambahkan kontrol image serta command
sehingga menjadi sebagai berikut :
2. Pada bagian general declaration tambahkan deklarasi variabel cFileFoto yang akan
digunakan untuk menyimpan nama file foto. Adapun penamaan file foto adalah
Fotox.bmp, dimana x disesuaikan dengan nomor record data dalam random file. Misalnya
Indoprog 112
Dasar Pemrograman Visual Basic Hendra, S.T.
pada record 1, maka nama file fotonya adalah Foto1.bmp, record 2 nama file fotonya
adalah Foto2.bmp, dst.
3. Lakukan koding untuk event klik pada cmdPaste yang berfungsi untuk mengisi kontrol
imgFoto dengan isi dari Clipboard.
4. Tambahkan koding pada bagian cmdUpdate klik dimana berfungsi menyimpan gambar
dalam imgFoto ke media penyimpanan dengan nama Fotox.bmp, dimana x disesuaikan
dengna nomor posisi record penulisan. Misalnya pada record 1, maka nama file fotonya
adalah Foto1.bmp, record 2 nama file fotonya adalah Foto2.bmp, dst.
cFileFoto = "Foto" & Posisi & ".bmp" 'Buat nama file Fotox.bmp
If imgFoto.Picture <> LoadPicture Then 'Periksa apakah kontrol image
kosong
SavePicture imgFoto.Picture, cFileFoto 'Simpan gambar ke file dengan
nama yang
End If 'telah dibuat
Indoprog 113
Dasar Pemrograman Visual Basic Hendra, S.T.
DatPeserta.Email = txtEmail.Text
DatPeserta.nama = txtNama.Text
DatPeserta.Alamat = txtAlamat.Text
DatPeserta.Kota = txtKota.Text
DatPeserta.Negara = cboNegara.Text
DatPeserta.Propinsi = cboPropinsi.Text
DatPeserta.Tempat = txtTempat.Text
DatPeserta.TglLahir = txtTglLahir.Text
DatPeserta.Pria = chkPria.Value
Put #1, Posisi, DatPeserta
cFileFoto = "Foto" & Posisi & ".bmp" 'Bagian yang ditambahkan
If imgFoto.Picture <> LoadPicture Then
SavePicture imgFoto.Picture, cFileFoto
End If
Call Kunci
End If
End Sub
5. Pada Sub Tampil tambahkan koding yang berfungsi membaca file foto dari disk dan
menampilkan ke kontrol image. Adapun proses yang dilakukan adalah membentuk nama
file foto berdasarkan posisi record yang ditampilkan, kemudian memeriksa keberadaan
file foto tersebut dalam media penyimpanan, jika ada, maka baca dan tampilkan pada
kontrol imgFoto.
cFileFoto = "Foto" & Posisi & ".bmp" 'Bentuk nama file yaitu
Fotox.bmp
If Dir(cFileFoto) <> "" Then 'Periksa keberadaan file
tersebut
imgFoto.Picture = LoadPicture(cFileFoto) 'Baca dan tampilkan
Else
imgFoto.Picture = LoadPicture
End If
Sub Tampil()
If Posisi > 0 Then
Get #1, Posisi, DatPeserta
txtEmail.Text = DatPeserta.Email
txtNama.Text = DatPeserta.nama
txtAlamat.Text = DatPeserta.Alamat
txtKota.Text = DatPeserta.Kota
cboNegara.Text = DatPeserta.Negara
cboPropinsi.Text = DatPeserta.Propinsi
txtTempat.Text = DatPeserta.Tempat
txtTglLahir.Text = DatPeserta.TglLahir
chkPria.Value = DatPeserta.Pria
cFileFoto = "Foto" & Posisi & ".bmp" 'Ini yang ditambahkan
If Dir(cFileFoto) <> "" Then
imgFoto.Picture = LoadPicture(cFileFoto)
Else
imgFoto.Picture = LoadPicture
End If
Call Kosong
Indoprog 114
Dasar Pemrograman Visual Basic Hendra, S.T.
End If
Aksi = flNone
Call Kunci
End Sub
6. Jalankan software paintbrush, dan buka suatu file gambar, select suatu lokasi tertentu,
kemudian klik Edit Copy.
7. Jalankan project diatas, dan klik pada Edit, kemudian klik pada Paste, dan Klik
Update. Tutup program dan jalankan kembali, apakah foto masih ada disana ?
Indoprog 115
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 13
Judul : Memahami properti dan metoda serta event
pada picturebox
1. Buatlah grafik 2 Sin x (warna hijau), Cos x (warna biru), dan 2 Sin x + Cos x (warna
merah), dengan sumbu Y dari -3 s/d 3, dan Sumbu X dari 0 sampai 720 derajat.
Solusi :
MyPicture.ScaleMode = 0
MyPicture.ScaleWidth = 720
MyPicture.ScaleHeight = 6
MyPicture.ScaleLeft = 0
MyPicture.ScaleTop = -3
Indoprog 116
Dasar Pemrograman Visual Basic Hendra, S.T.
6. Gambarkan sumbu Y, dengan metode Line, mulai dari koordinat 0,0 s/d 720,0
7. Lakukan looping mulai dari 0 s/d 720 untuk menggambarkan titik-titik 2 Sin x, Cos x,
dan 2 Sin x + Cos x.
For i = 0 To 720
MyPicture.ForeColor = vbGreen 'Warna Hijau
MyPicture.PSet (i, -2 * Sin(i * 3.14 / 180))
MyPicture.ForeColor = vbBlue 'Warna Biru
MyPicture.PSet (i, -Cos(i * 3.14 / 180))
MyPicture.ForeColor = vbRed 'Warna Merah
MyPicture.PSet (i, -2 * Sin(i * 3.14 / 180) - Cos(i * 3.14 / 180))
Next i
2. Jalankan program dan klik pada command Grafik, dan perhatikan hasilnya.
Indoprog 117
Dasar Pemrograman Visual Basic Hendra, S.T.
4. Jalankan kembali program, dan klik pada command Grafik, dan klik pada command
Refresh, dan perhatikan hal yang terjadi.
6. Jalankan kembali program, dan klik pada command Grafik, dan klik pada command
Refresh, dan perhatikan hal yang terjadi. Apa perbedaannya dengan yang sebelumnya.
Indoprog 118
Dasar Pemrograman Visual Basic Hendra, S.T.
8. (Memahami event Paint) Tanamkan pada Form anda suatu Picturebox berukuran
1550 Twips x 1550 Twips, kemudian lakukan koding berikut pada Event Paint, dan
jalankan project tersebut, dan perhatikan picturebox anda.
Indoprog 119
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 14
Judul : Tantangan membuat Mari Menggambar
Buatlah program mari yang mampu menggambar bentuk Lingkaran, Persegi, Garis, Titik,
dan dapat menyimpan hasil ke suatu file bmp.
Berikut ini adalah contoh solusi untuk menggambar Lingkaran, yang lainnya adalah tugas
anda untuk melengkapinya.
Indoprog 120
Dasar Pemrograman Visual Basic Hendra, S.T.
Pusaty = Y
Tahap = 2 'tandai tahap berikutnya yaitu penentuan
jari-jari
End If
End If
End Sub
Private Sub PicKanvas_MouseMove(Button As Integer, Shift As Integer, X
As Single, Y As Single)
If Aksi = Lingkar Then
If Tahap = 2 Then
PicKanvas.Refresh
jari = Sqr((Y - Pusaty) ^ 2 + (X - Pusatx) ^ 2)
PicKanvas.Circle (Pusatx, Pusaty), jari
End If
End If
End Sub
Private Sub PicKanvas_MouseUp(Button As Integer, Shift As Integer, X As
Single, Y As Single)
If Aksi = Lingkar Then
If Tahap = 2 Then
PicKanvas.Refresh
PicKanvas.AutoRedraw = True
jari = Sqr((Y - Pusaty) ^ 2 + (X - Pusatx) ^ 2)
PicKanvas.Circle (Pusatx, Pusaty), jari
PicKanvas.AutoRedraw = False
Aksi = None
End If
End If
End Sub
Indoprog 121
Dasar Pemrograman Visual Basic Hendra, S.T.
Properti Fungsi
Digunakan untuk menentukan apakan event Validate di aktifkan ketika kontrol akan
CauseValidation
kehilangan fokus (False, True)
DragMode Menentukan modus drag-n-drop (0 - manual, 1 - automatic)
DragIcon Digunakan untuk menentukan icon yang digunakan pada operasi drag-n-drop pada kontrol.
Menentukan apakah kontrol label dapat menerima event yang dibuat oleh pemakai, misalnya
Enabled
event Click, MouseDown, MouseUp, dll.
Height Digunakan untuk menentukan tinggi dari kontrol
Index Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array.
Digunakan untuk menentukan besar perubahan Value ketika pemakai melakukan klik di
LargeChange antara tanda Arah dan Bar, atau ketika pemakai melakukan penekanan tombol PgUp dan
PgDn pada saat aktif di ScrollBar.
Left Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.
Digunakan untuk menentukan nilai Maksimal dari kontrol ScrollBar, ketika Bar rapat ke
kanan atau ketika pemakai melakukan penekanan tombol End pada saat aktif di ScrollBar.
Max
Digunakan untuk menentukan nilai Minimal dari kontrol ScrollBar, ketika Bar rapat ke kiri
atau ketika pemakai melakukan penekanan tombol Home pada saat aktif di ScrollBar.
Min
Digunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada
MouseIcon diatas kontrol label tersebut, properti ini berarti bila properti MousePointer diset menjadi (99
- Custom)
Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada
MousePointer
diatas kontrol label tersebut.
Digunakan untuk menentukan besar perubahan Value ketika pemakai melakukan klik pada
SmallChange tanda Arah, atau ketika pemakai melakukan penekanan tombol panah kiri dan kanan pada
saat aktif di ScrollBar.
Digunakan untuk menentukan urutan tabindex, 0 adalah kontrol yang pertama mendapat
TabIndex
fokus jika form dijalankan. Properti ini efektif jika setting properti TabStop adalah True
Indoprog 122
Dasar Pemrograman Visual Basic Hendra, S.T.
Digunakan untuk menentukan apakah textbox dapat menerima fokus karena penekanan
TabStop
tombol TAB oleh pemakai (False, True)
Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan
Tag
dengan kontrol label tersebut
Top Digunakan untuk menentukan jarak atas kontrol dari kontainernya.
Value Digunakan untuk mendapatkan / menentukan nilai dari ScrollBar
Visible Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False, True)
Width Digunakan untuk menentukan lebar kontrol.
Pada ScrollBar ada dua event yang perlu diperhatikan, yaitu Event Change dan Event
Scroll, dimana :
Event Change, akan dibangkitkan ketika terjadi perubahan Value pada ScrollBar, tetapi
event ini tidak dibangkitkan ketika pemakai masih melakukan pengeseran terhadap Bar,
kecuali kalau pemakai telah melepaskan tombol kiri Mouse.
Contoh :
Event Scroll, akan dibangkitkan ketika pemakai melakukan pergeseran terhadap Bar
dengan menggunakan drag pada tombol kiri mouse, jadi Event Scroll akan terjadi ketika
pemakai melakukan pergeseran dengan menekan tombol kiri mouse, dan diakhiri dengan
Event Change ketika pemakai melepas penekenan tombol mouse.
Jadi anda harus memanfaatkan kedua event tersebut untuk mendapatkan hasil yang baik
dari pemakaian ScrollBar.
BackColor
BackStyle Menentukan jenis latarbelakang dari suatu Shape, apakah (0 - Transparent, 1 - Opaque)
Indoprog 123
Dasar Pemrograman Visual Basic Hendra, S.T.
Menentukan warna bingkai dari suatu Shape. Properti ini efektif jika setting BorderStyle
bukan (0 - Transparent)
BorderColor
BorderStyle
BorderWidth
DrawMode
FillColor
Menentukan jenis arsiran yang digunakan untuk isian kontrol Shape. Lihat gambar pada
FillStyle
properti FillColor.
Height Digunakan untuk menentukan tinggi dari kontrol
Index Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array.
Left Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.
Digunakan untuk menentukan bentuk Shape (0 - Rectangle, 1 - Square, 2 - Oval, 3 - Circle,
Shape
4 - Rounded Rectangle, 5 - Rounded Square)
Tag Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan
Indoprog 124
Dasar Pemrograman Visual Basic Hendra, S.T.
Timer
Properti Fungsi
Enabled Menentukan apakah kontrol dapat efektif terhadap Event Timer.
Index Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array.
Interval Menentukan nilai interval dalam mili detik (1/1000) antar pemanggilan Event Timer.
Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan
Tag
dengan kontrol label tersebut
Event Timer
Event Timer adalah event yang dibangkitkan oleh kontrol timer berdasarkan interval
waktu yang telah ditentukan.
Contoh :
Indoprog 125
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 15
Judul : Memanfaatkan HScrollBar dan VScrollBar
untuk membuat gambar yang dapat bergeser.
Trik : Untuk membuat gambar yang dapat bergeser anda perlu menanamkan sebuah
kontrol image, kontrol VscrollBar dan HScrollBar diatas sebuah kontrol Picture. Jadi
dalam hal ini kontrol Picture bertindak sebagai kontainer.
Membuat Sub StatusBingkai yang berfungsi membuat ukuran Picturebox sama dengan
ukuran Form sebelah dalam (ScaleWidth, ScaleHeight) dengan menggunakan Metoda
Move. Dan membuat kontrol imgGambar rapat kiri atas terhadap kontainernya (0,0)
Membuat Sub AturScrollBar yang berfungsi menentukan keaktifan tampilan dari VScroll
dan HScroll. Adapun syarat penampilan dari kedua kontrol tersebut adalah :
HScroll, jika ukuran lebar gambar (imgGambar.Width) > ukuran tinggi bingkai
(PicPingkai.Width)
Indoprog 126
Dasar Pemrograman Visual Basic Hendra, S.T.
VScroll, jika ukuran tinggi gambar (imgGambar.Height) > ukuran tinggi bingkai
(PicPingkai.Height)
Indoprog 127
Dasar Pemrograman Visual Basic Hendra, S.T.
End Sub
Melakukan Koding terhadap Event Change pada VScroll dan HScroll, yang berfungsi
mengatur Top dan Left dari imgGambar terhadap kontainernya, dimana adalah jika
pemakai melakukan geser kebawah, maka imgGambar perlu digeser keatas ( -
VScroll.Value), dan jika pemakai melakukan geser kekanan, maka imgGambar perlu
digeser kekiri (-HScroll.Value)
Untuk melakukan percobaan terhadap project ini anda perlu menentukan gambar yang
berukuran besar pada imgGambar.
Indoprog 128
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 16
Judul : Memanfaatkan Shape, Line, dan Timer untuk
membuat Jam Analog
Untuk membuat jam analog beberapa hal yang perlu diketahui adalah :
Jam 1 = 60 derajat
Jam 2 = 30 derajat
Jam 3 = 0 derajat
Rumus deret aritmatika adalah (n-1) * b + a, dimana n adalah suku, a adalah nilai awal, b
adalah beda, maka berdasarkan deret diatas :
b = -30
a = 60
(Jam - 1) * -30 + 60
(Menit - 1) * -6 + 84
Indoprog 129
Dasar Pemrograman Visual Basic Hendra, S.T.
(Detik - 1) * -6 + 84
2. Menghitung koordinat Cartesius (x,y) untuk jarum jam, menit dan detik
Untuk menghitung koordinat Cartesius, kita perlu menguraikan suatu koordinat Polar
menjadi komponen X dan Y dengan rumus :
X = R Cos sudut
Y = R Sin sudut
Tanamkan pada Form 1 Shape, 3 Line, dan 1 Timer, sehingga menjadi sebagai berikut :
Option Explicit
Indoprog 130
Dasar Pemrograman Visual Basic Hendra, S.T.
Sub HitungSkala, berfungsi membuat diameter Bingkai menjadi cocok pada form,
menghitung panjang masing-masing jarum, dan menghitung titik pusat bingkai.
Sub HitungSkala()
Bingkai.Top = 0
Bingkai.Left = 0
Bingkai.Height = Me.ScaleHeight 'Hitung diameter bingkai
Bingkai.Width = Me.ScaleWidth
PanjangJJam = (4 / 10 * Me.ScaleHeight) \ 2 'Hitung panjang jarum
Jam (40% dari diameter)
PanjangJMenit = (6 / 10 * Me.ScaleHeight) \ 2 ' 60% dari diameter
PanjangJDetik = (8 / 10 * Me.ScaleHeight) \ 2 ' 80% dari diameter
PusatX = Me.ScaleWidth \ 2 'Hitung titik pusat
Bingkai
PusatY = Me.ScaleHeight \ 2
End Sub
Sub AturJarumJam, berfungsi menghitung sudut jarum jam berdasarkan waktu komputer,
menghitung koordinat cartesius berdasarkan sudut, dan mengeser JarumJam berdasarkan
koordinat.
Indoprog 131
Dasar Pemrograman Visual Basic Hendra, S.T.
JarumMenit.X1 = PusatX
JarumMenit.Y1 = PusatY
JarumMenit.X2 = PusatX + x
JarumMenit.Y2 = PusatY - y
End Sub
Private Sub AturJarumDetik()
Dim WaktuSekarang As Single
Dim DetikSekarang As Integer
Dim SudutDetik As Integer
Dim x, y
WaktuSekarang = (Now - Int(Now)) * 24 * 60
DetikSekarang = (WaktuSekarang - Int(WaktuSekarang)) * 60
SudutDetik = (DetikSekarang - 1) * -6 + 84
x = PanjangJDetik * Cos(SudutDetik * 3.14 / 180)
y = PanjangJDetik * Sin(SudutDetik * 3.14 / 180)
JarumDetik.X1 = PusatX
JarumDetik.Y1 = PusatY
JarumDetik.X2 = PusatX + x
JarumDetik.Y2 = PusatY - y
End Sub
Private Sub AturJarum()
Call AturJarumJam 'Atur Jarum Jam
Call AturJarumMenit 'Atur Jarum Menit
Call AturJarumDetik 'Atur Jarun Detik
End Sub
Dengan menggunakan fungsi API, anda dapat membuat form berbentuk Bulat sesuai
dengan ukuran Jam Analog Diatas, adapun perubahan yang perlu dilakukan adalah :
Indoprog 132
Dasar Pemrograman Visual Basic Hendra, S.T.
Tambahkan sebuah module kedalam project anda dan lakukan koding sebagai berikut :
Public XP As Single
Public yp As Single
Lakukan perubahan koding pada event Form Load dan Form Resize
Indoprog 133
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 17
Judul : Tantangan Pemrograman
1. Buka kembali Latihan 1, dan tambahkan fasilitas Zoom (+) kalau klik kiri, Zoom (-)
kalau klik kanan pada Gambar. Adapun persentase pembesaran maupun pengecilan
adalah 25%
2. Buka kembali Latihan 2, dan tambahkan fasilitas memindahkan jam Analog setelah
form berbentuk Lingkaran, karena BorderStyle 0-None tidak dapat dipindah-pindahkan.
3. Buatlah program yang dapat mencatat Absensi Karyawan ke sebuah text file dengan
format, pada Form tampil Jam Digital dan Analog, sebuah textbox untuk pemasukkan No
Induk Pegawai :
DDMMYYYYHHMMXXXXXXK
Dimana :
DDMMYYYY (Tanggal)
HHMM (Jam dan Menit)
XXXXXX (No Induk Pegawai)
K (Kode 1 = Masuk 2 = Keluar)
Indoprog 134
Dasar Pemrograman Visual Basic Hendra, S.T.
Properti Fungsi
Indoprog 135
Dasar Pemrograman Visual Basic Hendra, S.T.
Untuk mendapatkan drive yang aktif di DriveListBox, anda dapat menggunakan properti
Drive.
DirListBox
DirListBox dapat digunakan untuk menampilkan folder-folder yang terdapat didrive yang
aktif.
Properti Fungsi
Appearance Digunakan untuk menentukan penampilan dari kontrol (0 - Flat, 1 - 3D)
BackColor Digunakan untuk menentukan warna latarbelakang kontrol
Digunakan untuk menentukan apakan event Validate di aktifkan ketika kontrol akan
CauseValidation
kehilangan fokus (False, True)
DragMode Menentukan modus drag-n-drop (0 - manual, 1 - automatic)
Digunakan untuk menentukan icon yang digunakan pada operasi drag-n-drop pada kontrol
DragIcon
label
Menentukan apakah kontrol label dapat menerima event yang dibuat oleh pemakai, misalnya
Enabled
event Click, MouseDown, MouseUp, dll.
Font Digunakan untuk menentukan Font, Size, dan Style huruf yang digunakan pada kontrol.
ForeColor Digunakan untuk menentukan warna tulisan yang digunakan pada kontrol.
Height Digunakan untuk menentukan tinggi dari kontrol
Index Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array.
Left Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.
Digunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada
MouseIcon 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
Indoprog 136
Dasar Pemrograman Visual Basic Hendra, S.T.
Untuk mendapatkan Path yang sedang aktif pada DirListBox, anda dapat menggunakan
properti Path.
FileListBox
DirListBox dapat digunakan untuk menampilkan file-file yang terdapat pada folder yang
sedang aktif.
Properti Fungsi
Appearance Digunakan untuk menentukan penampilan dari kontrol (0 - Flat, 1 - 3D)
Digunakan untuk menentukan apakah FileListBox dapat menampilkan file dengan atribut
Archive
Archive atau tidak.
BackColor Digunakan untuk menentukan warna latarbelakang kontrol
Digunakan untuk menentukan apakan event Validate di aktifkan ketika kontrol akan
CauseValidation
kehilangan fokus (False, True)
DragMode Menentukan modus drag-n-drop (0 - manual, 1 - automatic)
Digunakan untuk menentukan icon yang digunakan pada operasi drag-n-drop pada kontrol
DragIcon
label
Menentukan apakah kontrol label dapat menerima event yang dibuat oleh pemakai, misalnya
Enabled
event Click, MouseDown, MouseUp, dll.
Indoprog 137
Dasar Pemrograman Visual Basic Hendra, S.T.
Font Digunakan untuk menentukan Font, Size, dan Style huruf yang digunakan pada kontroi.
ForeColor Digunakan untuk menentukan warna tulisan yang digunakan pada kontrol.
Digunakan untuk menentukan apakah FileListBox dapat menampilkan file dengan atribut
Hidden
Hidden atau tidak.
Height Digunakan untuk menentukan tinggi dari kontrol
Index Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array.
Left Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.
Digunakan untuk menentukan apakah FileListBox dapat menampilkan file dengan atribut
Normal
Normal atau tidak.
Digunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada
MouseIcon diatas kontrol label tersebut, properti ini berarti bila properti MousePointer diset menjadi (99
- Custom)
Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada
MousePointer
diatas kontrol label tersebut.
Digunakan untuk menentukan apakah item dalam listbox dapat dipilih lebih dari satu atau
tidak (0 - None, 1 - Simple, 2 - Extended) Perbedaan antara 1 - Simple dengan 2 - Extended,
MultiSelect
adalah pada Simple pemilihan beberapa item sekaligus tidak dapat menggunakan bantuan
Shift.
Digunakan untuk menentukan pola wildcard yang digunakan untuk membatasi file yang akan
Pattern
ditampilkan dalam kontrol (*.* semua file, *.bmp, ?A*.jpg)
Digunakan untuk menentukan apakah FileListBox dapat menampilkan file dengan atribut
ReadOnly
ReadOnly atau tidak.
Digunakan untuk menentukan apakah FileListBox dapat menampilkan file dengan atribut
System
System atau tidak.
Digunakan untuk menentukan urutan tabindex, 0 adalah kontrol yang pertama mendapat
TabIndex
fokus jika form dijalankan. Properti ini efektif jika setting properti TabStop adalah True
Digunakan untuk menentukan apakah textbox dapat menerima fokus karena penekanan
TabStop
tombol TAB oleh pemakai (False, True)
Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan
Tag
dengan kontrol label tersebut
Top Digunakan untuk menentukan jarak atas kontrol dari kontainernya.
Value Digunakan untuk mendapatkan / menentukan nilai dari ScrollBar
Visible Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False, True)
Width Digunakan untuk menentukan lebar kontrol.
Untuk membatasi file berdasarkan nama file, anda dapat menggunakan properti Pattern,
misalnya kalau file yang ingin ditampilkan hanya berupa file bitmap, maka kita dapat
menggunakan (*.bmp), kalau file yang ingin ditampilkan berupa file grafik kita dapat
menggunakan (*.bmp;*.jpg;*.gif;*.wmf;*.ico)
Contoh :
MyFile.System = False
Indoprog 138
Dasar Pemrograman Visual Basic Hendra, S.T.
Indoprog 139
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 18
Judul : Membuat Picture Viewer
Tanamkan pada form anda kontrol-kontrol berikut : DriveListBox, DirListBox,
FileListbox, Line, dan Image
Kita perlu mempersiapkan beberapa variabel Form Level yang dapat digunakan oleh
semua Sub yang ada, adapun variabel tersebut adalah :
Selanjutnya kita buat sebuah Sub untuk menentukan posisi dan ukuran masing-masing
kontrol diatas form ketika ukuran Form berubah :
Indoprog 140
Dasar Pemrograman Visual Basic Hendra, S.T.
Kita juga perlu membuat sebuah Sub yang berfungsi membuat tampilan Gambar berada
ditengah kalau ukurannya lebih kecil dari tempat gambar yang tersedia.
Selanjutnya kita lakukan koding pada Event Load untuk membatasi jenis file yang
ditampilkan pada FileListBox:
Lakukan koding untuk Event Resize pada Form untuk memposisikan ulang semua
kontrol kalau terjadi perubahaan ukuran Form :
Indoprog 141
Dasar Pemrograman Visual Basic Hendra, S.T.
Indoprog 142
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 19
Judul : Membuat Splash Screen
Aktifkan kembali project Latihan 1
2. Pada menu Project, pilih Add Form, kemudian pilih Splash Screen.
Kemudian pada menu Project, pilih Project Properties, dan pilih tab Make
Properti Value
Title Penampil Gambar
Icon frmSplash
Comments Peringatan : Hak cipta di lindungi Undang-undang
Company Name [email protected]
Legal Copyright Hak Cipta dan Distribusi oleh :
ProductName Just4U
Indoprog 143
Dasar Pemrograman Visual Basic Hendra, S.T.
4. Selanjutnya tambahkan sebuah modul, dengan menu Project AddModule, dan lakukan
koding berikut :
Pada menu Project, Project Properties, tentukan StartUp Object menjadi SubMain
Indoprog 144
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 20
Judul : Tantangan pemrograman
Aktifkan kembali Latihan Sebelumnya, dan :
Indoprog 145
Dasar Pemrograman Visual Basic Hendra, S.T.
Pada aplikasi SDI, setiap form merupakan form-form yang berdiri sendiri, Aplikasi SDI
pada windows terdapat pada aplikasi seperti Notepad, WordPad dan Paint.
Sedangkan aplikasi seperti Microsoft Word menggunakan MDI, yaitu terdiri dari suatu
MDIForm, dan didalamnya merupakan form-form anak (MDIchild).
Ada beberapa hal yang harus diperhatikan dalam penggunaan MDIForm adalah :
Indoprog 146
Dasar Pemrograman Visual Basic Hendra, S.T.
• Semua child form tidak dapat dipindahkan keluar dari MDI Form.
• Ketika suatu child form diminimize, akan menjadi icon dibawah MDI Form.
• Anda dapat menentukan apakah child form secara otomatis ditampilkan atau tidak
dengan menggunakan properti AutoShowChildren pada MDIForm.
• Jika pada child form ada menu, maka menu akan ditampilkan pada MDIform
menu.
Pada MDIform anda tidak dapat menempatkan kontrol-kontrol visible yang tidak
mendukung alignment, kecuali kalau anda menempatkannya kedalam suatu kontainer
seperti Picturebox, dan Toolbar. Sedangkan kontrol non-visible seperti Timer dan
CommonDialog box dapat ditempatkan diatas MDIForm.
Untuk mendapatkan form-form yang sedang aktif didalam suatu MDIform, anda dapat
menggunakan properti ActiveForm, contoh :
Anda dapat menggunakan metoda Arrange untuk mengatur penyusunan form-form yang
sedang aktif didalam suatu MDI form. Metoda Arrange ini diikuti oleh suatu parameter
yang menentukan jenis penyusunan yang akan dilakukan, contoh :
Indoprog 147
Dasar Pemrograman Visual Basic Hendra, S.T.
End Sub
Pada dasarnya setiap item menu memiliki Caption dan sebuah Nama. Anda dapat
membentuk Kunci Akses dengan menggunakan tanda & (ampersand) pada Caption dari
menu tersebut. Untuk membuat menu anda cukup mengetikan Caption dan Name,
selanjutnya klik pada Next, dan ketikkan menu yang berikutnya, sampai selesai.
Selanjutnya adalah menbuat Sub Menu dengan melakukan klik pada panah kanan dan
sebaliknya. Anda dapat membuat sampai 5 Sub Menu (6 kalau termasuk Menu Utama).
Indoprog 148
Dasar Pemrograman Visual Basic Hendra, S.T.
Anda dapat menggunakan tanda - (karakter hypen) untuk membuat garis pemisah antar
menu pada Caption.
Indoprog 149
Dasar Pemrograman Visual Basic Hendra, S.T.
Untuk melakukan koding terhadap item menu, anda dapat membuka menu pada saat
design dan akan menghasilkan Event Click untuk item menu tersebut, contoh :
Anda dapat membuat menu yang memiliki tanda Check dengan memanfaatkan option
Checked pada Menu Editor.
Indoprog 150
Dasar Pemrograman Visual Basic Hendra, S.T.
Anda dapat mengatur keaktifan tanda Check dari item menu tersebut dengan koding
sebagai berikut :
Indoprog 151
Dasar Pemrograman Visual Basic Hendra, S.T.
End Sub
Pada Visual Basic, anda dapat membuat menu pop up dengan memanfaatkan menu
Editor untuk mendefinisikan nama kelompok menu Pop Up beserta Sub Menunya, dan
menonaktifkan option Visible dari kelompok menu tersebut.
Sehingga kalau dilakukan klik kanan pada form akan menanpilkan suatu Pop Up menu
yang berupa Sub Menu dari mnuAtur.
Indoprog 152
Dasar Pemrograman Visual Basic Hendra, S.T.
Indoprog 153
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 21
Judul : Membuat MDIform dan Menu
1. Aktifkan kembali Latihan Modul 4
2. Tambahkan MDIForm pada project tersebut, dengan menu Project, kemudian pilih
Add MDIform, kemudian aturlah properti sebagai berikut :
3. Jadikan form-form lain yang berada pada project tersebut menjadi MDIChild, dengan
membuat properti MDIChild pada masing-masing form menjadi True.
4. Kemudian tambahkan menu berikut pada MDIForm anda, dengan menu Tools, Menu
Editor, dan ketikan data berikut.
Data mnuData
- Peserta mnuDataPeserta
- Negara mnuDataNegara
- Propinsi mnuDataPropinsi
- Ujian mnuDataUjian
Laporan mnuLaporan
Cetak mnuCetak
Selesai mnuSelesai
- Ya mnuYa
- Tidak mnuTidak
Indoprog 154
Dasar Pemrograman Visual Basic Hendra, S.T.
End Sub
Private Sub mnuDataNegara_Click()
frmNegara.Show
End Sub
Private Sub mnuDataPropinsi_Click()
frmPropinsi.Show
End Sub
Private Sub mnuYa_Click()
Unload Me
End Sub
Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As
Integer)
If Not Me.ActiveForm Is Nothing Then
MsgBox "Masih ada Form yang aktif"
Cancel = True
End If
End Sub
Indoprog 155
Dasar Pemrograman Visual Basic Hendra, S.T.
Anda dapat menggunakan metoda print untuk mengirim tulisan yang akan dicetak ke
objek printer. Anda dapat juga menggunakan metoda Newpage untuk membuat printer
mencetak tulisan berikutnya ke halaman baru. Metoda EndDoc untuk memulai
pencetakan yang sebenarnya, sedangkan KillDoc untuk membatalkan pencetakan. Anda
juga dapat menggunakan properti Page untuk mendapatkan nomor halaman.
Contoh :
Contoh :
Printer.Copies = 2
Printer.Print "Indoprog-vb, forum diskusi dan belajar bersama Visual
Basic"
Printer.NewPage
Printer.Print "Ini akan dicetak pada halaman kedua"
Printer.EndDoc
Anda dapat juga menggunakan metode pengambaran grafik seperti Line, Circle, PSet,
dan PaintPicture seperti yang terdapat pada Form dan PictureBox.
Indoprog 156
Dasar Pemrograman Visual Basic Hendra, S.T.
Contoh :
Printer.PaperSize = vbPRPSLetter
Contoh :
Printer.CurrentX = 0.5*1440 '1/2 inch
Printer.CurrentY = 1*1440 '1 inch
Printer.Print "Hello Indoprog-vb"
Anda dapat mengatur font pencetakan dengan menggunakan objek font. Pada objek font
anda dapat mengatur setting seperti :
Properti Keterangan
Bold Mengaktifkan cetak tebal (True, False)
Menentukan nama font yang digunakan, misalnya Verdana, Times New Roman, Arial, Courier New,
Name
dll
Italic Mengaktifkan cetak miring (True, False)
Size Menentukan ukuran font
Indoprog 157
Dasar Pemrograman Visual Basic Hendra, S.T.
Contoh :
Printer.Orientation = vbPRORLandscape
Untuk mendapatkan jumlah printer yang terinstalasi pada sistem, anda dapat
menggunakan properti Count, sedangkan nama printer dapat diperoleh dengan
DeviceName, dan DriverName untuk mendapatkan nama Driver. Berikut ini adalah
contoh mengisi nama Device dan Driver dari printer yang terinstalasi pada sistem pada
suatu ComboBox.
Contoh :
For i = 0 To Printers.Count _ 1
cboPrinters.AddItem Printers(i).DeviceName & " [" & _
Printers(i).DriverName & "]"
Next
Anda dapat juga mendapatkan informasi dengan properti Port (misalnya, LPT1:),
memeriksa apakah printer tertentu dapat melakukan pencetakan berwarna denga properti
ColorMode (1-vbPRCMMonochrome or 2-vbPRCMColor).
Jika anda tidak menentukan printer yang akan digunakan, maka printer yang akan
digunakan adalah printer default pada sistem anda.
Untuk mencetak dengan menggunakan printer yang tertentu anda dapat melakukan
setting printer ke printer yang bersesuaian. Contoh berikut akan menlakukan setting
printer ke nomor printer tertentu berdasarkan pilihan pemakai dari ComboBox.
Contoh :
Indoprog 158
Dasar Pemrograman Visual Basic Hendra, S.T.
Contoh :
Salah satu masalah dalam pengaktifan file adalah menentukan path dimana file tersebut
berada, sebagaimana kita ketahui, pada aplikasi Windows umumnya di instalasi pada
folder Program Files, tetapi ketika kita mengembangkan program tersebut, tentu saja kita
lakukan pada folder sendiri, sehingga kadang-kadang menjadi masalah ketika program
tersebut didistribusikan. Untuk mendapatkan Path dimana aplikasi berada kita dapat
menggunakan properti Path pada objek App
Contoh :
cFolder = App.Path
Open cFolder & "\Pegawai.Dat" For Random As #1 Len = Len(DatPegawai)
Dengan potongan program diatas, kita senantiasa yakin bahwa file Pegawai.Dat akan
berada di Path yang sama dengan aplikasi.
Anda dapat menggunakan properti EXEname untuk mendapatkan nama file Executable
anda.
Contoh :
Indoprog 159
Dasar Pemrograman Visual Basic Hendra, S.T.
Kadang-kadang aplikasi kita hanya boleh dijalankan sekali pada komputer yang sama.
Untuk memeriksa apakah instance yang sama dari aplikasi telah berjalan pada sistem,
anda dapat menggunakan properti PrevInstance.
Contoh :
Contoh :
Sub Main()
App.TaskVisible = False
End Sub
Sedangkan properti Title dapat digunakan untuk menentukan judul aplikasi pada Task
List.
Contoh :
Sub Main()
App.Title = "Program Kwitansi Ver 1.0"
End Sub
atau anda dapat juga menentukannya pada saat design, pada menu Project Properties
Indoprog 160
Dasar Pemrograman Visual Basic Hendra, S.T.
Contoh :
Sub Tengah(x)
x.Move (Screen.Width - x.Width) \ 2, _
(Screen.Height - x.Height) \ 2
End Sub
Properti Height dan Width mengembalikan ukuran Tinggi dan Lebar layar dalam ukuran
Twips, tetapi untuk fungsi-fungsi API kita membutuhkan ukuran dalam pixel. Untuk
mendapatkan jumlah Twips per pixel kita dapat menggunakan properti TwipsPerPixelY
dan TwipsPerPixelX.
Contoh :
Dengan menggunakan objek Screen kita juga dapat memperoleh nama-nama font yang
tersedia dilayar dengan menggunakan properti Font dan FontCount.
Indoprog 161
Dasar Pemrograman Visual Basic Hendra, S.T.
Contoh :
' Menggambil semua font pada objek Screen dan memasukkannya ke kontrol
ListBox.
Dim i As Integer
For i = 0 To Screen.FontCount - 1
lstFonts.AddItem Screen.Fonts(i)
Next
Anda dapat juga mengubah mouse pointer dengan menggunakan properti MousePointer.
Contoh :
Screen.MousePointer = vbHourglass
Indoprog 162
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 22
Judul : Mencetak data peserta ke Form (Print Preview)
1. Tambahkan pada project Latihan 1 sebuah form, dan tanamkan sebuah ComboBox dan
Command sebagai berikut :
2. Tambahkan lagi sebuah form dengan nama frmPreview, dan atur properti form sebagai
berikut
'General Declaration
Indoprog 163
Dasar Pemrograman Visual Basic Hendra, S.T.
Propinsi As String * 20
Negara As String * 20
Tempat As String * 20
TglLahir As Date
Pria As Integer
End Type
'Deklarasi variabel form level
Dim DatPeserta As Peserta
Private Function InchToTwips(x)
InchToTwips = x * 1440 '1 inch = 1440 Twips
End Function
Private Sub cetak(x, y, z)
frmPreview.CurrentX = InchToTwips(x) 'Set posisi pencetakan
berdasarkan x
If Not z Then
frmPreview.Print y;
Else
frmPreview.Print y 'Akhiri pencetakan dengan CrLf
End If
End Sub
For i = 1 To JlhRec
If frmPreview.CurrentY = 0 Then 'Jika halaman baru, maka set
margin atas
frmPreview.CurrentY = InchToTwips(0.75)
frmPreview.Font.Name = "Courier New"
frmPreview.Font.Size = 14 'Atur Font untuk judul pencetakan
frmPreview.Font.Bold = True
Call cetak(0.75, "Laporan Data Peserta Indoprog-vb", True)
frmPreview.Line (0.75 * 1440, frmPreview.CurrentY)-(7.25 * 1440,
frmPreview.CurrentY)
frmPreview.Font.Name = "Courier New"
frmPreview.Font.Size = 10
frmPreview.Font.Bold = False
Indoprog 164
Dasar Pemrograman Visual Basic Hendra, S.T.
Indoprog 165
Dasar Pemrograman Visual Basic Hendra, S.T.
Latihan 23
Indoprog 166
Dasar Pemrograman Visual Basic Hendra, S.T.
Mengembalikan nilai boolean yang menunjukkan suatu ekspresi dapat dievaluasi sebagai
numerik
IsEmpty(ekspresi)
Contoh :
Dim A as Variant
If IsEmpty(A) Then
Msgbox "Variabel A Empty" 'Message akan muncul karena A
belum terinisialisai
End If
A = 1
If IsEmpty(A) Then
Msgbox "Variabel A masih Empty" 'Tidak akan muncul lagi karena A
telah
'terinisialisasi sebagai Integer
End If
Dim B as Integer
If IsEmpty(B) Then
Msgbox "Variabel B Emtpy" 'Tidak akan muncul karena B
adalah Integer
End If
IsNull(ekspresi)
Mengembalikan nilai boolean yang menunjukkan suatu ekspresi mengandung data yang
tidak valid, biasanya digunakan untuk memeriksa isi field recordset.
IsArray(varname)
Mengembalikan suatu nilai boolean yang menunjukan suatu variabel adalah suatu array.
IsDate(ekspresi)
Mengembalikan suatu nilai boolean yang menunjukan suatu ekspresi dapat dikonversi ke
date.
Indoprog 167
Dasar Pemrograman Visual Basic Hendra, S.T.
IsError(ekspresi)
Mengembalikan suatu nilai boolean yang menunjukkan suatu ekspresi adalah nilai error
IsObject(ekspresi)
Mengembalikan suatu nilai boolean yang menunjukkan suatu ekspresi mengacu pada
suatu OLE Automation object.
IsMissing(argname)
Mengembalikan suatu nilai boolean yang menunjukan suatu argumen optional pada
procedure ada dilewatkan atau tidak
CBool(ekspresi)
Contoh :
A = 0
Check = CBool(A) ' Check berisi False.
CByte(ekspresi)
Contoh :
CCur(ekspresi)
Contoh :
Indoprog 168
Dasar Pemrograman Visual Basic Hendra, S.T.
CDate(date)
Contoh :
CDbl(ekspresi)
Contoh :
CInt(ekspresi)
Contoh :
CLng(ekspresi)
Contoh :
CSng(ekspresi)
Contoh :
Indoprog 169
Dasar Pemrograman Visual Basic Hendra, S.T.
CStr(ekspresi)
Contoh :
CVar(ekspresi)
Contoh :
Asc(string)
Contoh :
Chr(charcode)
Contoh :
Contoh :
MyTime = #17:04:23#
MyDate = #January 27, 1993#
Indoprog 170
Dasar Pemrograman Visual Basic Hendra, S.T.
Hex(number)
Oct(number)
Mengembalikan string yang mewakili Octal atau Hexa dari suatu bilangan
Contoh :
Str(number)
Contoh :
Val(string)
Indoprog 171
Dasar Pemrograman Visual Basic Hendra, S.T.
Contoh :
Mengembalikan suatu Variant (Date) yang menunjukkan tanggal dan waktu berdasarkan
sistem komputer.
Time
Timer
Mengembalikan suatu bilangan yang menunjukan jumlah detik sejak tengah malam
Date
Time = Time
Date = Date
Untuk sistem yang menjalankan Microsoft Windows 95, tanggal yang dibutuhkan harus
berupa tanggal dari 1 Jan 1998 sampai 31 Des 2099. Untuk sistem yang menjalankan
Microsoft Windows NT, tanggal yang dibutuhkan harus berupa tanggal dari 1 Jan 1980
sampai 31 Desember 2079.
Hour(time)
Minute(time)
Second(time)
Mengembalikan suatu Variant (Integer) berupa bilangan 0 s/d 23 untuk jam, 0 s/d 59
untuk menit, dan 0 s/d 59 untuk detik.
Day(date)
Indoprog 172
Dasar Pemrograman Visual Basic Hendra, S.T.
Month(date)
Year(date)
Mengembalikan suatu Variant (Integer) berupa bilangan 1 s/d 31 untuk bulan, 1 s/d 12
untuk bulan, dan tahun.
Weekday(date, [hariPertamaDariMinggu])
Bagian Keterangan
interval Ekspresi string yang menunjukkan interval waktu yang ingin dijumlahkan (Perlu)
Ekspresi numerik yang merupakan jumlah dari interval yang ingin dijumlahkan. Nilai Positif menunjukan
number
(tanggal berikutnya), Nilai Negatif menunjukan (tanggal sebelumnya) (Perlu)
Suatu Variant (Date) atau literal yang merupakan tanggal dimana interval akan dijumlahkan padanya.
date
(Perlu)
Indoprog 173
Dasar Pemrograman Visual Basic Hendra, S.T.
Setting Keterangan
yyyy Tahun
q Triwulan
m Bulan
y Hari dari tahun
d Hari
w Hari dari minggu
ww Minggu
h Jam
n Menit
s Detik
Contoh :
Indoprog 174
Dasar Pemrograman Visual Basic Hendra, S.T.
FAQ
Saya adalah pemula, dapatkah anda memberikan informasi tentang edisi Visual Basic ?
Microsoft membagi Visual Basic menjadi tiga edisi, yaitu Learning, Professional dan Enterprised, dimana memiliki
harga sesuai dengan feature masing-masing, berikut ini penjelasan dari Microsoft :
Visual Basic tersedia dalam tiga versi, yang masing-masing sesuai dengan kebutuhan pengembangan.
Visual Basic Learning edition memungkinkan para programmer membuat aplikasi yang powerful untuk Microsoft
Windows dan Windows NT®. Menyediakan semua kontrol intrinsic, ditambah grid, tab, dan kontrol data-bound.
Dokumentasi yang tersedia pada edisi ini meliputi CD Learn VB Now ditambah dengan CD Microsoft Developer
Network (MSDNT) Library yang mengandung dokumentasi lengkap online.
Professional edition menyediakan bagi professional komputer sejumlah feature lengkap dan tool-tool untuk solusi
pengembangan bagi pihak ketiga. Meliputi semua feature pada Learning edition, ditambah dengan kontrol
ActiveX,
Internet Information Server Application Designer, integrated Visual Database Tools dan Data Environment, Active
Data Objects, serta Dynamic HTML Page Designer. Dokumentasi yang tersedia pada edisi ini meliputi buku Visual
Studio Professional Features ditambah CD Microsoft Developer Network yang mengandung dokumentasi lengkap
online.
Enterprise edition memungkinkan para professional untuk membuat aplikasi tersebar, meliputi semua features
pada Professional edition, ditambah Back Office tools sperti SQL Server, Microsoft Transaction Server, Internet
Information Server, Visual SourceSafe, SNA Server, dan lain-lain. Dokumentasi cetak yang terdapat pada
Enterprise edition meliputi buku Visual Studio Enterprise Features ditambah CD Microsoft Developer Network
yang
mengandung dokumentasi lengkap online.
Bagaimana saya membuat accelerator pada label, sehingga textbox disampingnya mendapatkan
fokus, kalau dilakukan Alt <key> ?
Pada Label kontrol buat tanda ampersand pada huruf yang mau dijadikan accelerator, kemudian berikan tab
index textbox disampingnya sebagai nomor berikutnya.
Bagaimana saya membuat penekanan Enter pada suatu textbox dapat memindahkan fokus ke kontrol
berikutnya ?
Untuk membuat penekanan Enter pada Textbox memiliki efek pemindahan fokus ke kontrol berikutnya, anda
dapat memanipulasi KeyAscii yang terdapat pada Event KeyPress pada Textbox tersebut, contoh :
Bagaimana saya memeriksa apakah picturebox atau image dalam keadaan kosong ?
Untuk memeriksa apakah suatu picturebox atau image kosong, anda dapat membandingkannya dengan fungsi
LoadPicture tanpa argumen, contoh :
Indoprog 175
Dasar Pemrograman Visual Basic Hendra, S.T.
End If
End Sub
Bagaimana mendeklarasikan variabel yang dapat digunakan pada semua procedure dan forms ?
Deklarasikan variabel tersebut pada suatu modul dengan menempatkan kata Public didepannya.
For i = 1 To 100
Debug.Print "PentaCom"
sekarang = Timer
Do While Timer < sekarang + 1
x = DoEvents()
Loop
Next i
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal
lpWindowName As String) As Long
Public Declare Function BringWindowToTop Lib "user32" Alias "BringWindowToTop" (ByVal hwnd As Long) As
Long
If hCalcWnd = 0 Then
Indoprog 176
Dasar Pemrograman Visual Basic Hendra, S.T.
x = Shell("CALC.EXE", vbNormalFocus)
Else
BringWindowToTop (hCalcWnd)
End If
End Sub
Bagaimana cara termudah mendapatkan jumlah form yang terbuka pada aplikasi saya?
Anda dapat menggunakan properti Count pada Forms, atau nilai yang dikembalikan oleh DoEvents
JlhFormTerbuka = Forms.Count
atau
JlhFormTerbuka = DoEvents
Bagimana saya dapat mengetahui jumlah MDI child form yang terbuka dalam suatu MDI form?
Anda dapat menggunakan properti Count dari koleksi Forms yang akan mengembalikan jumlah form yang telah
di load dalam project. Untuk mengetahui jumlah jendela MDI child, anda dapat menggunakan :
GetMDIChildCount = cnt
End Function
Bagaimana cara menghindarkan pemakai menjalankan aplikasi lebih dari 1 kali pada komputer yang
sama?
Pada aplikasi tertentu kita membutuhkan aplikasi hanya dijalankan satu kali setiap saat pada komputer yang
sama. Untuk melakukan hal tersebut kita dapat menggunakan metoda app.previnstance apakah instance dari
aplikasi telah pernah dijalankan sebelumnya, contoh :
Sub Main()
If App.PrevInstance Then
MsgBox "aplikasi telah berjalan"
End
Else
MainForm.Show
End If
End Sub
atau
cfolder = App.Path
Open cfolder & "\peserta.dat" For random As #1 Len=Len(DatPeserta)
Indoprog 177
Dasar Pemrograman Visual Basic Hendra, S.T.
'Ambil username
Indoprog 178
Dasar Pemrograman Visual Basic Hendra, S.T.
' Karena GetUserName mengembalikan suatu karakter null pada bagian akhir
' sehingga perlu dihilangkan.
strName = Left$(strName, Len(strName) - 1)
RetrieveUserName = strName
End Function
Dan akhirnya anda dapat memanggil fungsi RetrieveUsername dari program anda.
Variabel yang di DIM sebagai Private pada bagian general declarations dari suatu Form adalah tersedia bagi
seluruh rutin pada form tersebut, dan tetap tersedia selama form dalam keadaan ter Load.
Variabel yang di DIM sebagai Public pada bagian general declarations dari suatu Form tersedia bagi seluruh rutin
pada form dengan nama variabel tersebut, misalnya Nama, dan tersedia bagi form atau modul diluar form
tersebut dengan nama namaform.namavariabel, misalnya MyForm.Nama selama form tersebut dalam keadaan
ter Load.
Variabel yang di DIM sebagai Private pada bagian general declarations dari suatu Module adalah tersedia bagi
seluruh rutin dalam module tersebut.
Variabel yang di DIM sebagai Public pada bagian general declarations dari suatu Module adalah tersedia bagi
seluruh module dan form dalam project tersebut.
Dim x as Long
x = 33 * 1000 'menyebabkan overflow error
VB, dalam melakukan perhitungan hasilnya disimpan ke x, menggunakan suatu variabel sementara yang
memiliki type yang sama dengan type data dalam ekspresi yang dihitung. Pada kasus diatas kedua nilai adalah
dalam batasan integer +/- 32767, sedangkan hasil perkalian adalah > 32767, sehingga menyebabkan overflow,
solusinya adalah membuat salah satu nilainya menjadi long dengan sufix &, contoh ...
x = 33 * 1000&
Anda dapat membentuk database secara koding dengan menggunakan DAO, contoh berikut saya menggunakan
References DAO 3.51 Object Library:
Indoprog 179
Dasar Pemrograman Visual Basic Hendra, S.T.
'Membuat Index
Set MyId = MyTb.CreateIndex("P_Key")
MyId.Primary = True
Set Myfl = MyId.CreateField("nip")
MyId.Fields.Append Myfl
MyTb.Indexes.Append MyId
MyDb.TableDefs.Append MyTb
MyDb.Close
Anda dapat membentuk database secara koding dengan menggunakan ADO, contoh berikut saya menggunakan
References Microsoft ADO Ext. 2.1 for DDL and Security :
tbl.Name = "MyTable"
Set tbl.ParentCatalog = cat
tbl.Columns.Append "nip", adVarWChar, 6
tbl.Columns.Append "nama", adVarWChar, 30
tbl.Columns("nama").Properties("Jet OLEDB:Allow Zero Length") = False
tbl.Columns.Append "alamat", adVarWChar, 50
tbl.Columns.Append "pria", adBoolean
tbl.Columns.Append "tgllahir", adDate
tbl.Columns.Append "gaji", adCurrency
tbl.Columns.Append "berat", adSingle
tbl.Columns.Append "foto", adLongVarBinary
tbl.Columns.Append "id", adInteger
tbl.Columns("id").Properties("AutoIncrement") = True
idx.Name = "P_Key"
idx.Columns.Append "nip"
cat.Tables.Append tbl
Anda dapat membuat tabel dengan SQL Statement yang dijalankan dengan metode execute pada Object
Database dengan DAO. Saya menggunakan References DAO 3.51 Object Library untuk contoh berikut :
Indoprog 180
Dasar Pemrograman Visual Basic Hendra, S.T.
Dengan DAO
Anda dapat menggunakan ";pwd=password" pada waktu Create database
Dengan ADO
Anda dapat menggunakan Jet OLEDB:Database Password=password; pada connection string waktu create
catalog
Dengan DAO
Anda dapat menggunakan ";pwd=password" pada waktu OpenDatabase
Dengan ADO
Anda dapat menggunakan Jet OLEDB:Database Password=password; pada connection string waktu open
connection
Saya telah memiliki database dan tabel pegawai, bagaimana saya menambahkan suatu index yang
baru kedalamnya ?
Anda dapat membuka kembali database tersebut, dan menambahkan index pada table tersebut :
Dengan DAO :
Dengan ADO :
Indoprog 181
Dasar Pemrograman Visual Basic Hendra, S.T.
lada = False
Dengan SQL :
Saya ingin memeriksa apakah didalam database MDB saya telah memiliki tabel yang bernama
"MyTable" atau tidak?
Anda dapat memeriksa keberadaan tabel dalam suatu database dengan melakukan For Each ... Next untuk
menelusuri semua objek TableDef yang terdapat pada koleksi TableDefs dari database yang bersangkutan,
sambil melakukan pemeriksaan terhadap properti Name dari masing-masing TableDef yang didapatkan.
Contoh :
Dengan DAO :
Dengan ADO :
Indoprog 182
Dasar Pemrograman Visual Basic Hendra, S.T.
Dengan Dao :
Indoprog 183
Dasar Pemrograman Visual Basic Hendra, S.T.
Tentu saja : Seratus Duapuluh Tiga Juta Empat Ratus Lima Puluh Enam Ribu Tujuh
Ratus Delapan Puluh Sembilan Rupiah Lima Puluh Lima Sen
Tentu saja kita membutuhkan suatu program yang dapat menterjemahkan angka-angka
tersebut menjadi kata-kata yang sesuai, dan dapatkah anda bayangkan repotnya
melakukan hal tersebut.
Saya sering membaca di mailing list pemrograman, banyak orang menanyakan akan hal
tersebut, dan memang tidak sesederhana seperti kita mengeja ketika menulis Kwitansi,
Slip Tabungan, CEK dan Giro.
Baiklah, sekarang saya akan membantu anda untuk memahami dasar dari program
mengeja terbilang, mari kita lihat kembali angka 123456789.55 yang anda baca sebagai
Seratus Duapuluh Tiga Juta Empat Ratus Lima Puluh Enam Ribu Tujuh Ratus Delapan
Puluh Sembilan Rupiah Lima Puluh Lima Sen, dan akan saya penggal menjadi potongan
yang yang lebih kecil sebagai berikut :
Jadi pada prinsipnya kita memotongnya menjadi bagian (123) Juta, (456) Ribu, (789)
Rupiah, dan (55) Sen.
Sekarang misalnya kita menggambil 123 yang kita baca sebagai Seratus Duapuluh Tiga,
dimana kalau kita penggal menjadi potongan yang lebih kecil sebagai berikut :
123
Indoprog 184
Dasar Pemrograman Visual Basic Hendra, S.T.
Se ratus
Dua puluh
Tiga
Jadi pada prinsipnya kita memotongnya menjadi bagian (1) ratus, (2) puluh, (3) satuan.
Indoprog 185
Dasar Pemrograman Visual Basic Hendra, S.T.
Indoprog 186
Dasar Pemrograman Visual Basic Hendra, S.T.
Ok, akhirnya segala sesuatu menjadi sederhana kalau kita telah memahami konsep dasar
pemecahan masalahanya.
Indoprog 187
Dasar Pemrograman Visual Basic Hendra, S.T.
Function SpellHundred(x)
Dim cRet As String
Dim n100 As Integer
Dim n10 As Integer
Dim n1 As Integer
cRet = ""
n100 = Int(x / 100) * 100
n10 = Int((x - n100) / 10) * 10
Indoprog 188
Dasar Pemrograman Visual Basic Hendra, S.T.
n1 = (x - n100 - n10)
If n100 > 0 Then
cRet = SpellDigit(n100)
End If
If n10 > 0 Then
If n10 = 10 Then
cRet = cRet & SpellDigit(n10 + n1)
Else
cRet = cRet & SpellDigit(n10)
End If
End If
If n1 > 0 And n10 <> 10 Then
cRet = cRet & SpellDigit(n1)
End If
SpellHundred = cRet
End Function
Indoprog 189