+ Created: 28/08/2005
MODUL 1
Mengenal IDE (Integrated Development Environment) Microsoft
Visual Basic 6.0
IDE merupakan kumpulan dari menu bar, toolbar dan window yang akan membantu kita dalam pembuatan program Visual Basic. IDE ini terintegrasi dengan adanya beberapa fungsi seperti editing, compiling dan debugging yang saling berhubungan. Bentuk IDE dari Visual Basic terlihat pada gambar di bawah ini:
Menu Bar
Menampilkan perintah-perintah yang dapat digunakan pada saat bekerja pada Visual Basic. seperti Menyimpan atau membukanya project. Menu bar pada Visual Basic secara default terdapat pilihan menu File, Edit, View, Project, Format, Debug, Run, Tools, Add-ins, Window dan Help.
Toolbar
Dengan adanya fasilitas ini, akan mempermudah dan mempercepat pekerjaan dalam membuat program Visual Basic. Secara default toolbar Standard yang ditampilkan saat memulai Visual Basic.
Toolbox
+ Created: 28/08/2005
Project Explorer Window
Window ini menampilkan daftar form, modul, class dan objek lainnya yang ada dalam project. Project merupakan kumpulan file yang digunakan untuk membangun suat aplikasi.
Properties Window
Window ini digunakan untuk mengatur property sebuah objek atau komponen kontrol yang kita pilih. Property dari suatu objek merupakan karakteristik objek tersbeut seperi size, caption, dan color.
Form Designer
Sebuah window yang digunakan untuk mengatur tampilan aplikasi dan tempat untuk mendesain sebuah form. Di dalam form ini daapat ditambahkan beberpa kontrol dari toolbox, dan mengatur posisi dan atribut-atribut kontorl tersebut pada Properties window.
Code Editor Window
Digunakan unturk mendefinisikan kode-kode form, modul atau class dalam sebuah aplikasi.
Form Layout
Digunakan unruk mengontrol posisi form pada aplikasi, dengan menggunakan system grafik pada sebuah layar.
MEMBANGUN APLIKASI VISUAL BASIC PERTAMA
Membuat Program Kalender
1. Dari menu project pilih Components (Ctrl+T). Semua komponen (kontrol) ActiveX yang ada pada Visual Basic (Toolbox) otomatis terpanggil secara default. Namun kita dapat menambahkan komponen yang lain dengan cara seperti langkah di atas. (ActiveX
+ Created: 28/08/2005
2. Di dalam dialog Components, pilih Microsoft Common Controls 2-6.0 dan klik OK.
Menambahkan komponen Month View pada Form
1. Pilih komponen Month View di toolbox
2. Klik ganda komponen tersebut sehingga tampil pada form.
Kemudian jalankan program dengan menekan tombol F5 atau pilih menu Run dan klik Start, kemudian pilih End dari menu tersebut untuk menghentikan program atau dapat pula dengan menggunakan toolbar ini.
Menambahkan Komponen Timer pada Form
Perhatikan table komponen-komponen yang terdapat pada toolbox di Visual Basic:
+ Created: 28/08/2005
Icon ActiveX Control
Bukan kontrol, digunakan untuk mengaktifkan poinrer mouse
Label
TextBox
CommandButton
Timer
PictureBox
Frame
CheckBox
OptionButton
ComboBox
ListBox
Vertical scrollbar
Horizontal scrollbar
DriveListBox
DirListBox
FileListBox
Shape Line Data
OLE
Animation
UpDown
MonthView
DateTimePicker
FlatScrollBar
Tabel 1 Komponen Kontrol pada toolbox
1. Tambahkan Kontrol Timer pada Form dengan cara klik ganda kontrol Timer pada toolbox.
+ Created: 28/08/2005
Menggunakan komponen Label untuk menampilkan Waktu
1. Pilih komponen Label pada toolbox, kemudian drag komponen tersebut sesuai dengan posisi yang diinginkan.
2. Dalam jendela property scroll BorderStyle. Klik property dan pilih 1-Fixed Single dari Drop-Down List.
Menambahkan Kode Instruksi yang akan menampilkan waktu pada komponen Label
1. Kilk ganda kompone Timer pada form, maka jendela kode akan tampil. 2. Ketikan kode di Timer1_Timer Event Procedure seperti dibawah ini:
Private Sub Timer1_Timer() Label1.Caption = Time End Sub
3. Jalankan program dengan menekan tombol F5.
Menambahkan Pesan pada Aplikasi
1. Tambahkan CommandButton ke Form, dengan drag mouse dan tempatkan pada posisi yang diinginkan.
+ Created: 28/08/2005
3. Klik ganda CommandButton untuk menambahkan kode instruksi di dalam Commande_Click() Event Procedure, kemudian tuliskan kode instruksi di bawah ini:
Dim strMsg As String
strMsg = WeekdayName(Weekday(Date), False, vbUseSystemDayOfWeek) strMsg = strMsg & " adalah hari pertama untuk istirahat"
strMsg = strMsg & " dalam hidup mu!" Text1.Text = strMsg
4. Pada jendela property kontrol Command1, ketikan Secret pada property Caption.
5. Jalankan program
Improvisasi Aplikasi
1. Tekan Shift + F7 untuk menampilkan Form Desain.
2. Pilih Text1, kemudian di jendela property berikan nilai true untuk property Multiline. 3. Serta pada property ScrollBars, pilih 2-Vertical.
4. Pada Property Text, hapus kata “Text1”.
+ Created: 28/08/2005
MODUL II
Bekerja dengan Property, Method dan Event
Apakah itu Property, Method dan Event?
Singkatnya Property yang menjelaskan keadaan dari objek (kontrol), Method menyebabkan objek melakukan sesuatu dan Event kejadian setelah objek melakukan sesuatu.
Setiap kontrol (Form, TextBox, Command Button, dll) mempunyai property. Property yang umum ada pada setiap kontrol adalah sebagai berikut:
Property Keterangan
Left Posisi kiri dari kontrol yang merespek pada containernya Top Posisi atas dari kontrol yang merespek pada containernya Height Tinggi kontrol
Width Lebar Kontrol
Name Nilai string yang digunakan untuk acuan kontrol
Enabled Nilai Boolean (True/False) yang menentukan apakah kontrol tersebut dapat dimodifikasi oleh user Visible Nilai Boolean (True/False) yang menentukan apakah kontrol tersebut dapat dilihat oleh user
Method merupakan sekumpulan kode pada kontrol yang memberikan cara melakukan sesuatu, seperti berpindah ke lokasi yang berbeda. Sama halnya dengan property tidak semua kontrol mempunyai method yang sama, namun ada beberapa method yang umum digunakan yaitu:
Method Keterangan
Move Memindahkan posisi objek
Drag Men-handle eksekusi dari operasi drag-and-drop oleh user SetFocus Memberikan focus ke objek tersebut
ZOrder Menentukan urutan dari beberapa objek yang akan tampil dalam layar
Events adalah kejadian selama program berjalan. Misalnya ketika user menekan tombol, user menekan tombol kiri mouse, atau melepaskannya, menekan tombol keyboard dan lain sebagainya. Hal ini merupakan event atau kejadian pada kontrol tersebut. Sekali lagi tidak semua kontrol mempunyai event yang sama, namun ada beberapa event yang umum digunakan diantaranya:
Event Keterangan
Change User mengubah nilai text pada kontrol Click User menekan tombol mouse utama
DblClick User menekan dua kali tombol mouse utama dengan waktu yang cepat DragDrop User menggeser objek ke lokasi lain
DragOver User menggeser objek di atas objek lain GotFocus Objek menerima focus
KeyDown User menekan tombol keyboard selagi objek menerima focus
KeyPress User menekan dan melepas tombol keyboard selagi objek menerima focus KeyUp User melepas tombol keyboard selagi objek menerima focus
Event Kejadian
+ Created: 28/08/2005
MouseDown User menekan salah satu tombol mouse selagi pointer di atas objek MouseMove User memindahkan pointer mouse diatas objek
MouseUp User melepas salah satu tombol mouse selagi pointer di atas objek
Pada umumnya kode dalam setiap event merupakan procedure, yang didefinisikan sebagai blok kode dan dapat dipanggil melalui aplikasi yang kita buat. Procedure menggunakan format sebagai berikut: [Public|Private] [Static] Sub|Function|Property _
function_name (arguments) [As Type] {...Your procedure code...}
End Sub|Function|Property
Untuk menuliskan procedure event harus dilakukan di dalam code window, ada beberapa cara untuk melakukannya, diantaranya adalah :
• Klik ganda objek kontrolnya
• Memlilih objek dengan mouse kemudian tekan F7 • Pilih objek kemudian pilih Code dari menu View
• Memilih objek form dari Project Explorer, klik tombol View Code, pilih objek dari Code window
Contoh membuat program MoveIt
1. Buat project baru dengan memilih New Project dari menu File. Pilih Standard EXE dari dialog New Project.
2. Dalam Properties window, ganti nama form ke frmMove.
3. Tambahkan empat CommandButtons ke setiap sudut from frmMove tambahkan sebuag label di tengah.
4. Dalam Properties window, berikan nama label dan keempat tombol tersebut sepeti di bawah ini.
Kontrol Property Value
Form1 Name fmMove
Command1 Name cmdTopLeft
Command2 Name cmdTopRight
Command3 Name cmdBottomLeft
Command4 Name cmdBottomRight
Name lblNotify
Label1
Alignment 2-Center
5. Simpan project
+ Created: 28/08/2005
7. Buka Code Window dengan cara klik ganda pada form dimana saja, kecuali pada semua kontrol command button dan label. Kemudian ketik kode berikut:
Private Sub Form_Load()
'Set property Caption pada semua CommandButton cmdTopLeft.Caption = "Top Left"
cmdTopRight.Caption = "Top Right" cmdBottomLeft.Caption = "Bottom Left" cmdBottomRight.Caption = "Bottom Right"
'Bersihkan inisial text pada label lblNotify.Caption = ""
frmMove.Caption = "MoveIt"
frmMove.Left = (Screen.Width - frmMove.Width) / 2 frmMove.Top = (Screen.Height - frmMove.Height) / 2
cmdTopLeft.Left = 200 cmdBottomLeft.Left = 200
cmdTopRight.Left = frmMove.Width - cmdTopRight.Width - 300
cmdBottomRight.Left = frmMove.Width - cmdBottomRight.Width - 300 cmdTopLeft.Top = 200
cmdBottomLeft.Top = frmMove.Height - cmdBottomLeft.Height - 500 cmdTopRight.Top = 200
cmdBottomRight.Top = frmMove.Height - cmdBottomRight.Height - 500
'Set the size of the label lblNotify.Height = 360 lblNotify.Width = 3000
lblNotify.Left = (frmMove.Width - lblNotify.Width) / 2
lblNotify.Top = (frmMove.Height - lblNotify.Height) / 2 - 200 End Sub
Programming Event Click
Kemudian tambahkan kode ke setiap command untuk melakukan proses pemindahan form, dengan cara klik ganda pada masing-masing Command Button dan menuliskan kode sebagai berikut:
Private Sub cmdBottomLeft_Click()
frmMove.Top = Screen.Height - frmMove.Height frmMove.Left = 0
End Sub
Private Sub cmdBottomRight_Click()
frmMove.Top = Screen.Height - frmMove.Height frmMove.Left = Screen.Width - frmMove.Width End Sub
Private Sub cmdTopLeft_Click() frmMove.Top = 0
frmMove.Left = 0 End Sub
Private Sub cmdTopRight_Click() frmMove.Top = 0
+ Created: 28/08/2005
Menambahkan Event Notifikasi
Tambahkan kode dibawah ini pada event MouseUp dan MouseDown pada Form frmMove.
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
lblNotify.Caption = "MouseDown Event"
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
lblNotify.Caption = "MouseUp Event"
End Sub
Kemudian untuk event GotFocus pada masing-masing command button ketikan kode sebagai berikut:
Private Sub cmdBottomLeft_GotFocus()
lblNotify.Caption = "cmdBottomLeft has the Focus" End Sub
Private Sub cmdBottomRight_GotFocus()
lblNotify.Caption = "cmdBottomRight has the Focus" End Sub
Private Sub cmdTopLeft_GotFocus()
lblNotify.Caption = "cmdTopLeft has the Focus" End Sub
Private Sub cmdTopRight_GotFocus()
lblNotify.Caption = "cmdTopRight has the Focus" End Sub
+ Created: 28/08/2005
MODUL III
Menggunakan Tipe Data, Konstanta dan Variabel
Deklarasi Variabel
Dim nama_var as TypeData
• Dim adalah keyword yang memberitahukan VB untuk mendeklarasikan variabel. • Nama_var adalah nama variabelnya
• As adalah keyword yang memberitahukan VB mendefiinsikan tipe data untuk variabel. • TypeData adalah tipe data dari variabel.
Contoh:
Dim k as integer
Private Sub cmdTambah_Click() Dim num1, num2 As Integer
Syarat Penamaan Variabel
• Nama harus dimulai dengan huruf, bukan angka atau karakter lain. • Nama variable tidak boleh mengandung spasi.
• Nama harus unik pada prosedure atau modul tertentu. • Nama tidak boleh lebih dari 255 karakter.
Contoh penamaan variable yang salah • 2Kali
• Tanya? • Angka Satu
Untuk memudahkan analisis dan pembacaan program, disarankan penamaan variable dimulai dengan prefix yang sudah distandarkan, yang berdasarkan tipe data masing-masing variable. Diantaranya adalah:
Prefix Variable/Control Example
b Boolean bLightsOn
c Currency cAmountDue
Control Properties Value Label1 Caption Angka 1 Label2 Caption Angka 2 Label3 Caption Jumlah
Text1 Name txtNum1
Text2 Name txtNum2
Text3 Name txtHasil Name cmdTambah Caption +
Command1
+ Created: 28/08/2005
d Double dDollarPerGallon
db Database dbAccountsPayable
ds Dynaset dsOverDue
dt Date+time dtDateDue
Prefix Variable/Control Example
td TableDef tdEmployees
h Handle hWnd
i Integer iCounter
l Long lNum
str String strMessage
s Single sPay
a Array a_iMyArray
g Global g_iTotal
m Local to module or form m_iAmount
ani Animation button aniMain
cbo Combo box and drop-down list box cboMyList
chk Check box chkDoctorIn
clp Picture clip clpEmblems
cmd Command button cmdFirstName
com Communications comLineOne
ctr Control (used within procs when the specific type is unknown) ctrNext
dat Data datEmployees
db ODBC database dbTaxpayers
dir Directory list box dirProjects
dlg Common dialog dlgSettings
drv Drive list box drvMain
fil File list box filPictures
frm Form frmMain
fra Frame fraTeams
gau Gauge gauGas
Prefix Variable/Control Example
gpb Group button gpbApps
grd Grid grdMain
hsb Horizontal scroll bar hsbText
img Image imgMain
key Keyboard key status keyASCII
lbl Label lblLastName
lin Line linRed
lst List box lstStooges
mdi MDI child form mdiMain
mnu Menu mnuEdit
opt Option button optGender
ole OLE client oleMain
pnl 3D panel pnlFriends
shp Shape shpCircle
spn Spin control spnTemp
txt Text/edit box txtAddress
tmr Timer tmrBreak
+ Created: 28/08/2005
Informasi Penyimpanan beberapa tipe data
Type Stores Memory
Requirement Range of Values Integer Numerik 2 bytes -32,768 to 32,767 Long Numerik 4 bytes Approximately +/- 2.1E9
Single Desimal (Pecahan) 4 bytes -3.402823E38 to -1.401298E-45 for negative values and 1.401298E-45 to 3.402823E38 for positive values
Double Desimal (Pecahan) 8 bytes -1.79769313486232E308 to -324 for negative values and 4.94065645841247E-324 to 1.79769313486232E308 for positive values Currency Numerik yang
mempunyai 15 digit kiri dan 4 digit kanan
8 bytes 922,337,203,685,477.5808 to
922,337,203,685,477.5807
String Text 1 byte per
character Mencapai 65,000 Karakter untuk fixed-length strings dapat mencapai 2 juta karakter untuk dynamic strings
Byte Numerik 1 byte 0 to 255
Boolean Nilai Logika 2 bytes True atauFalse
Date Tanggal dan Waktu 8 bytes Jan 1st 100 to December 31st 9999 Object Gambar dan
beberapa objek acuan
4 bytes -
Variant Dapat menjadi tipe
data lain 16 bytes + 1 byte per character -
Membuat Deklarasi Explicit
Deklarasi Explicit berarti kita harus mendeklarasikan variable sevelum menggunakannya.
Cara pendeklrasian variable tersebut adalah:
Dim VarName [As VarType][, VarName2 [As VarType2]] Private VarName[As VarType][, VarName2[As VarType2]] Static VarName[As VarType][, VarName2[As VarType2]] Public VarName[As VarType][, VarName2[As VarType2]]
Menggunakan Option Explicit pada Visual Basic, menyaratkan agar selalu mendeklarasikan variable terlebih dahulu sebelum menggunakannya.
Menggunakan Tipe Suffix pada Variabel
Cara lain pendeklarasian variabel adalah dengan menggunakan tipe suffix sesudah nama variable. Di bawah ini tipe data yang dapat di berikan tipe suffix:
+ Created: 28/08/2005 Boolean None Variable Type Suffix
Date None
Object None Variant None
Contoh:
Private NumVal%
Private AvgVal%, Inputval# Static CalcAverage!
Dim InputMsg$
InputMsg$ = “Visual ” & “Basic”
Perbedaan string variable-length dengan fixed-length
String variable-length dapat menampung karakter hingga 64000 byte, mendeklarasikannya dengan bentuk :
Dim VarName as String
Sedangkan String fixed-length ditentukan jumlah karakternya untuk setiap variable string, contoh:
Dim VarName as String * 20 ‘ Maka VarName hanya dapat menampung 20 karakter saja.
Menggunakan Konstanta
Selain variable ada bentuk lain dari penyimpanan data, yaitu konstanta. Konstanta merupakan bentuk pendeklarasian suatu nilai yang tidak dapat diubah setelah dideklarasikan. Bentuk umumnya adalah :
Const CONSTANT_NAME [As ConstantType] = value
Contoh:
Const PI = 3.14
Operator Visual Basic
Operation Operator Symbol
Pemangkatan ^
Negasi -
Perkalian, Pembagian *, / Pembagian (Integer) \
Modulus mod
Penambahan, Pengurangan +, - Penggabungan (string) &
Operator pembanding =, <>, <, >, <=, >+
+ Created: 28/08/2005
Contoh program penghitungan Wallpaper:
Option Explicit
Private Sub cmdHitung_Click() Dim LebarTembok As Integer Dim TinggiTembok As Integer Dim PanjangRol As Integer Dim LebarRol As Integer Dim PatternMatch As Integer Dim CutLength As Integer Dim Remn As Integer
Dim PiecePerRoll As Integer Dim JumlahRol As Integer Dim dBiayaRol As Double Dim dBiayaTotal As Double Dim Msg As String
If txtLebarTembok.Text <> "" Then
If IsNumeric(txtLebarTembok.Text) Then LebarTembok = CInt(txtLebarTembok.Text)
MsgBox Msg, vbExclamation, "Data entry error" txtLebarTembok.SetFocus
Exit Sub End If
If txtTinggiTembok.Text <> "" Then
If IsNumeric(txtTinggiTembok.Text) Then TinggiTembok = CInt(txtTinggiTembok.Text)
MsgBox Msg, vbExclamation, "Data entry error" Text box
Text Box
+ Created: 28/08/2005
txtTinggiTembok.SetFocus Exit Sub
End If
If txtPanjangRol.Text <> "" Then
If IsNumeric(txtPanjangRol.Text) Then PanjangRol = CInt(txtPanjangRol.Text)
MsgBox Msg, vbExclamation, "Data entry error" txtPanjangRol.SetFocus
Exit Sub End If
If txtLebarRol.Text <> "" Then
If IsNumeric(txtLebarRol.Text) Then LebarRol = CInt(txtLebarRol.Text)
MsgBox Msg, vbExclamation, "Data entry error" txtLebarRol.SetFocus
Exit Sub End If
If txtPatternMatch.Text <> "" Then
If IsNumeric(txtPatternMatch.Text) Then PatternMatch = CInt(txtPatternMatch.Text)
MsgBox Msg, vbExclamation, "Data entry error" txtPatternMatch.SetFocus
Exit Sub End If
If txtBiayaRol.Text <> "" Then
If IsNumeric(txtBiayaRol.Text) Then dBiayaRol = CInt(txtBiayaRol.Text) Else
Msg = "Biaya Rol butuh angka. "
+ Created: 28/08/2005
MsgBox Msg, vbExclamation, "Data entry error" txtBiayaRol.SetFocus
dBiayaTotal = JumlahRol * dBiayaRol
lblCutLength.Caption = CStr(CutLength) lblJumlahRol.Caption = CStr(JumlahRol) lblTotalBiaya.Caption = CStr(dBiayaTotal) End Sub
Contoh Penggabungan String:
Private Sub cmdShowName_Click() Dim strTitle As String
Dim strFirst As String Dim strLast As String Dim strFullName As String
strFirst = txtFirstName.Text strLast = txtLastName.Text
If optMr.Value Then strTitle = "Mr. " If optMrs.Value Then strTitle = "Mrs. " If optMiss.Value Then strTitle = "Miss " If optMs.Value Then strTitle = "Ms. "
strFullName = strTitle & strFirst & " " & strLast lblShowName.Caption = strFullName
+ Created: 28/08/2005
MODUL IV
Penggunaan Statemen Kondisi dan Pengulangan
Statemen Kondisi
Bentuk Umum if…then
if <expression condition> then <statemen> ‘satu baris pernyataan
Contoh:
if a<b then a=4
Bentuk umum if…then...endif
if <expression condition> then <statemen>
end if
Bentuk umum if…then…else…elseif…endif
if <expression condition> then <statemen>
elseif <expression condition> then <statemen>
else
<statemen> end if
Bentuk umum Select case …end select
Select Case <value> Case <expression> <statemen> Case <expression> <statemen> End Select
Table operator relasi
Simbol Keterangan
= Sama dengan > Lebih besar < Lebih kecil
>= Lebih besar atau sama dengan <= Lebih kecil atau sama dengan <> Tidak sama dengan
Statemen Pengulangan
Bentuk umum For..Next
For <CounterVar> = <StartNum> To <EndNum> [Step <StepNum>] <Statements>
+ Created: 28/08/2005
Bentuk Umum Do While …Loop
While <condition> <statemen> Wend
Atau
Do While <condition> <statement(s)> Loop
Atau
Do
<statement(s)>
Loop While <condition>
Atau
Do Until <condition> <statement(s)> Loop
Contoh Statemen Kondisi
Private Sub cmdClose_Click() End
End Sub
Private Sub cmdHitung_Click()
Dim iMid As Integer, iFinal As Integer Dim iHasil As Integer
On Error GoTo PROSES
iMid = Trim(txtMid.Text) iFinal = Trim(txtFinal.Text) PROSES:
If Trim(txtMid.Text) = "" Or iMid = 0 Then
MsgBox ("Isi Nilai Mid dengan angka, MIN Nilai 1") txtMid.SetFocus
Exit Sub End If
If Trim(txtFinal.Text) = "" Or iFinal = 0 Then
MsgBox ("Isi Nilai Final dengan angka, MIN Nilai 1") txtFinal.SetFocus
+ Created: 28/08/2005 End If
iHasil = (iMid + iFinal) \ 2 '\ adalah pembagian integer
Select Case iHasil Case Is >= 75
lblGrade.Caption = "A" Case Is >= 65
lblGrade.Caption = "B" Case Is >= 50
lblGrade.Caption = "C" Case Is >= 10
lblGrade.Caption = "D" Case Else
lblGrade.Caption = "E" End Select
End Sub
Contoh Statemen Pengulangan
Dim MaxLoop As Integer
Private Sub cmdClose_Click() End
End Sub
Private Sub cmdDoLoopWhile_Click() Dim i As Integer
lstPrint.Clear i = 1
Do
lstPrint.AddItem ("Looping ke " & i & " untuk pengulangan Do...Loop While")
i = i + 1
Loop While i <= MaxLoop End Sub
+ Created: 28/08/2005
Private Sub cmdDoWhileLoop_Click() Dim i As Integer
Private Sub cmdForNext_Click() Dim i As Integer
Private Sub cmdWhilelWend_Click() Dim i As Integer
Private Sub Form_Load() MaxLoop = 10
txtMaxLoop.Text = MaxLoop End Sub
Private Sub txtMaxLoop_Change()
+ Created: 28/08/2005
MODUL V
Penggunaan Array dan Manipulasi String
Array
Array merupakan kumpulan dari beberapa variable yang bertipe data sama. Cara pendeklarasian array adalah:
Dim | Public | Private NamaArray(Subscript) As DataType
Subscript merupakan jumlah elemen array terbesar yang diminta, contohnya jika subscript bernilai 6 maka maksimal elemen pada array tersebut berjumlah tujuh.
Untuk mengubah jumlah elemen array pada saat run-time, gunakan:
ReDim [Preserve] NamaArray (Subscript) As DataType
Preserve merupakan keyword opsional (boleh digunakan/tidak digunakan), jika preserve dituliskan maka VB akan menjaga nilai-nilai yang ada pada elemen array-nya. Jika tidak ditulis, nilai-nilai elemen pada array yang di-Redim akan bernilai kosong.
Array dapat kita gunakan secara multidimensi elemen, dengan cara deklarasinya adalah:
Dim | Public | Private NamaArray(Kolom,Baris) As DataType
+ Created: 28/08/2005
Contoh Penggunaan Array:
Private Sub cmdTraverse_Click() Dim i%
Dim iMyArray(19) As Integer Dim BeginMsg$
Dim MidMsg$ Dim LoopMsg$ Dim FullMsg$
For i% = 0 To 19
iMyArray(i%) = i% * 2 Next i%
BeginMsg$ = "Elemennya adalah: " MidMsg$ = ", Nilainya adalah: " For i% = 0 To 19
LoopMsg$ = LoopMsg$ & BeginMsg$ & CStr(i%)
LoopMsg$ = LoopMsg$ & MidMsg$ & iMyArray(i%)
FullMsg$ = FullMsg$ & LoopMsg$ & vbCrLf LoopMsg$ = ""
Next i%
txtTraverse.Text = FullMsg$ End Sub
Contoh Penggunaan List Box dan Combo Box:
Private Sub cmdAddList_Click() lstListBox.AddItem (txtAdd.Text) End Sub
Private Sub cmdAddToCombo_Click() cboDown.AddItem (txtAdd.Text) cboSimple.AddItem (txtAdd.Text) cboList.AddItem (txtAdd.Text) End Sub
Private Sub cmdClose_Click() End
+ Created: 28/08/2005
Private Sub cmdClrCombo_Click() cboDown.Clear
cboSimple.Clear cboList.Clear End Sub
Private Sub cmdClrList_Click() lstListBox.Clear
End Sub
Private Sub cmdClrText_Click() txtAdd.Text = ""
End Sub
Manipulasi String
Fungsi untuk membalikan huruf adalah:
strResult = StrReverse(strMyString)
contoh:
Private Sub cmdFungsi_Click()
txtHasil.Text = StrReverse(txtAsal.Text) End Sub
Private Sub cmdKode_Click() Dim intLength As Integer Dim intCntr As Integer
intLength = Len(txtAsal.Text) txtHasil.Text = ""
For intCntr = 1 To intLength
txtHasil.Text = Mid(txtAsal.Text, intCntr, 1) & txtHasil.Text Next intCntr
End Sub
Private Sub Form_Load()
txtAsal.Text = "CINTA PERTAMA TAK AKAN TERLUPAKAN" txtHasil.Text = ""
End Sub
Mengganti Karakter pada string
strResult = Replace(strMyString, strFind, strRplWith, _ intStart, intCnt, intCompare)
+ Created: 28/08/2005
Private Sub cmdClose_Click() End
End Sub
Private Sub cmdGanti_Click()
If txtCari.Text = "" Or txtGanti = "" Then
MsgBox "String Kosong !", vbExclamation, "Error String" Else
txtAsal.Text = Replace(txtAsal.Text, txtCari.Text, txtGanti.Text) End If
End Sub
Private Sub Form_Load()
txtAsal.Text = "Cinta adalah sesuatu yang ....???" txtCari.Text = "Cinta"
txtGanti.Text = "Combro" End Sub
Contoh Manipulasi String:
Private Sub cmdRun_Click() Dim strGabung As String
strGabung = txtStr1.Text & txtStr2.Text
lblGabung.Caption = "Penggabungan string : " & strGabung lblLeft.Caption = "Hasil Fungsi Left : " & Left(strGabung, CInt(txtSize.Text))
lblRight.Caption = "Hasil Fungsi Right : " & Right(strGabung, CInt(txtSize.Text))
lblMid.Caption = "Hasil Fungsi Mid : " & Mid(strGabung, CInt(txtStart.Text), CInt(txtSize.Text))
lblLength.Caption = "Panjang Karakter : " & Len(strGabung) End Sub
+ Created: 28/08/2005 Penggunaan Split Text
varResult = Split(strList, strDelimiter, intElemCnt, intCompare)
intCompare diikuti dengan nilai konstanta, dibawah ini:
Constant Value Description
vbUseCompareOption -1 Performs a comparison by using the setting of the Option Compare statement
vbBinaryCompare 0 Performs a binary comparison vbTextCompare 1 Performs a textual comparison
vbDatabaseCompare 2 Performs a comparison based on information in your database (for Microsoft Access only)
Penggunaan Filter
varResult = Filter(varlist, strFind, bolInclude, intCompare
Kombinasi Array dengan join
strResult = Join(varList, strDelimiter)
Contoh Filter Text:
Public strFilter As String Public varFull As Variant Public varFilter As Variant
Private Sub cmdFilter_Click() Dim intRecCnt As Integer Dim intCntr As Integer
varFilter = Filter(varFull, txtDelimiter.Text) intRecCnt = UBound(varFilter)
lstFilter.Clear
For intCntr = 0 To intRecCnt
+ Created: 28/08/2005 Next End Sub
Private Sub cmdJoin_Click() Dim intRecCnt As Integer Dim intCntr As Integer
If chkDelimit.Value Then
txtFilter.Text = Join(varFilter, txtDelimiter.Text) Else
txtFilter.Text = Join(varFilter) End If
End Sub
Private Sub cmdLoad_Click() Dim intFile As Integer
If Trim(txtNamaFile.Text) = "" Then comDlgOpen.ShowOpen
txtNamaFile.Text = comDlgOpen.FileName End If
If txtNamaFile.Text <> "" Then intFile = FreeFile
Private Sub cmdLoadList_Click() Dim intRecCnt As Integer Dim intCntr As Integer
If chkDelimit.Value Then
varFull = Split(txtFilter.Text, txtDelimiter.Text)
Else
varFull = Split(txtFilter.Text) End If
intRecCnt = UBound(varFull) lstFull.Clear
For intCntr = 0 To intRecCnt
lstFull.AddItem varFull(intCntr) Next
End Sub
Public Sub Form_Load() txtNamaFile.Text = "" lstFull.Clear
+ Created: 28/08/2005 Konversi Data
Function Comments Example
CBool() Converts a value to a Boolean CBool(-1) CByte() Converts values between 0 and 255 to a Byte Cbyte(254) CCur() Converts a value to Currency CCur("$23.98") CDate() Converts a date expression to a Date data type CDate("July 4, 1776") CDbl() Converts a value to a Double CDbl(MyInt%) CDec() Used only with variants N/A
CInt() Converts a value to an Integer CInt("4")
CLng() Converts a value to a Long CLng(Form1.hWnd) CSng() Converts a value to a Single CSng("23.1") CVar() Converts a value to a Variant CVar(Text1.Text) CStr() Converts a value to a String CStr(MyInt%)
Fungsi Validasi Data
Function Test Condition
IsArray() Returns True if the variable is an array IsDate() Returns True if the expression is a valid date
IsEmpty() Returns True if the variable hasn't been initialized or has been set to empty IsError() Returns True if a numeric expression represents an error
IsMissing() Returns True if no value has been passed to a function IsNull() Returns True if the expression is null or has been set to null IsNumeric() Returns True if the entire expression is a number
+ Created: 28/08/2005
MODUL VI
ELEMEN-ELEMEN DALAM VISUAL BASIC 6
Menu
Membuat menu sederhana dengan menggunakan Aplication Wizard
Buat project baru dengan memilih New Project dari menu File.
Pilih VB Application Wizard dengan klik dua kali pada iconnya. Setelah tampil dialog Application Wizard tahap pertama, klik Next.
+ Created: 28/08/2005
Pilih Menu dan Sub Menu yang anda inginkan kemudian klik Finish jika sudah selesai atau klik Next jika akan mengatur tampilan toolbar.
Pilihan Next selanjutnya akan memberikan kebebasan anda untuk memilih icon-icon toolbar yang akan di tampilkan.
+ Created: 28/08/2005
Membuat menu dengan Menu Editor
1. Buat project baru dengan memilih Standard EXE.
2. Kemudian pilih Menu Editor pada menu Tools atau tekan tombol kombinasi CTRL+E. 3. Kemudian ketik &Edit pada Caption text box dan mnuEdit pada Name text box
4. Klik Next untuk membuat Menu berikutnya, atau tekan panah ke kanan untuk membuat Sub Menu.
5. Nilai Property yang umumnya digunakan dalam pembuatan menu adalah:
Properti Nilai/Tipe Penjelasan
Caption String Text yang akan di tampilkan
Checked Boolean Menampilkan tanda Check (√) pada sub menu.
Enabled Boolean Jika bernilai False maka Caption Menu akan berwarna abu-abu dan tidak bias diklik.
Name String Nama Object Menu.
Shortcut N/A Kombinasi tombol untuk sub menu atau pop up menu.
+ Created: 28/08/2005
Caption Name Type ShortCut
&File mnuFile Menu Utama
&New mnuFileNew Sub Menu Ctrl-N
&Open mnuFileOpen Sub Menu Ctrl-O
&Save mnuFileSave Sub Menu Ctrl-S
Save &As … mnuFileSaveAs Sub Menu
- sep1 Separator
&Print mnuPrint Sub Menu Ctrl-P
E&xit mnuExit Sub Menu
&Edit mnuEdit Menu Utama
&Copy mnuCopy Sub Menu Ctrl-C
C&ut mnuCut Sub Menu Ctrl-X
&Paste mnuPaste Sub Menu Ctrl-V
7. Klik dua kali pada menu Exit, dan tuliskan perintah seperti di bawah ini:
Private Sub mnuExit_Click() End
End Sub
8. Hasil tampilan menu yang telah dibuat seperti di bawah ini
9. Untuk membuat menu Pop Up untuk menu file, klik dua kali pada Form dan tuliskan perintah di bawah ini pada event Form1_MouseDown:
+ Created: 28/08/2005
Membuat Menu Kompleks
File Menu Edit Menu
New Undo Open Cut Save Copy Settings Paste About Select All Exit
Object menu dengan menggunakan Menu Editor
Name Caption Level Shortcut
mnuFile &File 0 None itmNew &New 1 None itmOpen &Open 1 None itmSave &Save 1 None sepOne - (a hyphen) 1 None itmSettings Se&ttings 1 None itmBlackOnWhite Black On White 2 None itmWhiteOnBlack White On Black 2 None itmAbout &About 1 None
sepTwo - 1 None
itmExit E&xit 1 None mnuEdit &Edit 0 None itmUndo &Undo 1 Ctrl+Z
sepThree - 1 None
itmCut Cu&t 1 Ctrl+X itmCopy &Copy 1 Ctrl+C itmPaste &Paste 1 Ctrl+V
sepFour - 1 None
+ Created: 28/08/2005
Tuliskan perintah-perintah di bawah ini:
Private Sub itmBlackOnWhite_Click() txtMain.BackColor = vbWhite txtMain.ForeColor = vbBlack itmBlackOnWhite.Checked = True itmWhiteOnBlack.Checked = False End Sub
Private Sub itmWhiteOnBlack_Click() txtMain.BackColor = vbBlack txtMain.ForeColor = vbWhite itmBlackOnWhite.Checked = False itmWhiteOnBlack.Checked = True End Sub
Menggunakan Object Clipboard
Method Description
Clear Membersihkan data pada Clipboard GetData Mengembalikan graphic dari Clipboard GetFormat Mengembalikan tipe data dalam Clipboard GetText Mengembalikan text dari Clipboard SetData Mengirim graphics ke Clipboard SetText Mengirim Text ke Clipboard
Private Sub itmCopy_Click()
Clipboard.SetText txtMain.SelText End Sub
Private Sub itmPaste_Click() Dim Temp$
Dim strLeft As String Dim strRight As String Dim strFull As String
Temp$ = Clipboard.GetText(vbCFText) txtMain.SelText = Temp$
End Sub
Private Sub itmSelectAll_Click() txtMain.SelStart = 0
+ Created: 28/08/2005
Bekerja dengan Keyboard dan Mouse
Sistem Operasi Windows merupakan system operasi yang membagi beberapa bagian dari device-independent hardware seperti monitor, printer, keyboard, mouse dari program aplikasi.
Contoh penggunaan Keypress Event
Private Sub txtKey_KeyPress(KeyAscii As Integer) Dim strKeyPressed As String
Dim strAscii As String Dim Msg As String
strKeyPressed = Chr(KeyAscii) strAscii = CStr(KeyAscii)
Msg = "Kode ASCII : " & strAscii
Msg = Msg & ", " & "Karakter: " & strKeyPressed MsgBox Msg
End Sub
Bekerja dengan KeyUp dan KeyDown Event
Tabel perbedaan nilai pada parameter Shift
Combination Key(s) Held Down Value
Shift 1
Ctrl 2
Alt 4
Shift+Ctrl 3
Shift+Alt 5
Ctrl+Alt 6
+ Created: 28/08/2005
Table konstanta untuk parameter KeyCode
Constant Key Constant Key
vbKeyLButton Left mouse button vbKeyRight → vbKeyRButton Right mouse button vbKeyDown ↓
vbKeyCancel Cancel vbKeySelect Select
vbKeyMButton Middle mouse button vbKeyPrint Print Screen
vbKeyBack Backspace vbKeyExecute Execute
vbKeyTab Tab vbKeySnapshot Snapshot
vbKeyClear Clear vbKeyInsert Insert
vbKeyReturn Enter vbKeyDelete Delete
vbKeyShift Shift vbKeyHelp Help
vbKeyControl Ctrl vbKeyNumlock Num Lock
vbKeyMenu Menu vbKeyA through vbKeyZ Althrough Z, respectively
vbKeyEscape Esc through vbKeyNumpad9
vbKeySpace Spacebar vbKeyMultiply Multiplication sign (*) on number pad
vbKeyPageUp Page Up vbKeyAdd Plus sign (+) on
number pad
vbKeyPageDown Page Down vbKeySeparator Enter on number pad
vbKeyEnd End vbKeySubtract Minus sign (-) on
+ Created: 28/08/2005
Menggunakan property KeyPreview pada Form = True
Private Sub Form_KeyPress (KeyAscii As Integer) txtForward.SetFocus
txtBackward.Text = Chr(KeyAscii) & txtBackward.Text txtAscii.Text = txtAscii.Text & CStr(KeyAscii) & "," End Sub
Bekerja dengan Mouse
Table nilai pada parameter Button Mouse
Mouse Button(s) Pressed Button Parameter Value
Left 1
Right 2
Left and right 3
Middle 4
Left and middle 5 Right and middle 6
All 7
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim intCntr As Integer For intCntr = 0 To 10000
Form1.Caption = CStr(intCntr) Next
End Sub
Private Sub lblClear_Click() Picture1.Cls
+ Created: 28/08/2005
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim strShift As String
lblStatMouse.Caption = "Mouse Down" Select Case Button
lblKeyboard.Caption = strShift End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim strX, strY As String
strX = CStr(X / Screen.TwipsPerPixelX) strY = CStr(Y / Screen.TwipsPerPixelY) Picture1.Line -(X, Y)
lblKursor.Caption = "X: " & strX & " , Y: " & strY lblStatMouse.Caption = "Mouse Move"
End Sub
Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
+ Created: 28/08/2005
Waktu dan Formatnya
Contoh program untuk menampilkan waktu.
Private Sub Form_Load()
lblTime.Caption = CStr(Time) lblDate.Caption = CStr(Date) lblDateTime.Caption = CStr(Now) End Sub
Private Sub Timer1_Timer() lblTime.Caption = CStr(Time) End Sub
Menggunakan fungsi format:
MyString$ = Format(Expression[, Format_String[, _ FirstDayofWeek[, FirstWeekOfYear]]])
Tabel penggunaan fungsi Format untuk Date dan Time
Format String Example Result
"Long Date" Format(36000, "Long Date") Friday, July 24, 1998 "Medium Date" Format(36000, "Medium Date") 24-Jul-98
"Short Date" Format(36000, "Short Date") 7/24/98 "Long Time" Format(0.874, "Long Time") 8:58:34 p.m. "Medium Time" Format(0.874, "Medium Time") 08:58 p.m. "Short Time" Format(0.874, "Short Time") 20:58
Tabel penggunaan fungsi Format untuk Numerik
Format String Example Result
"General Number" Format(36000, "General Number") 36000 "Currency" Format(36000, "Currency") $36,000.00 "Fixed" Format(36000, "Fixed") 36000.00 "Standard" Format(36000, "Standard") 36,000.00 "Percent" Format(36000, "Percent") 3600000.00% "Scientific" Format(36000, "Scientific") 3.60E+04 "Yes/No" Format(36000, "Yes/No") Yes "True/False" Format(36000, "True/False") True "On/Off" Format(36000, "On/Off") On
Atau dapat pula menggunaka Format(235.6, "###,##0.00") untuk menghasilkan 235.60,.
Menghitung perbedaan tanggal dengan menggunakan Datediff:
MyLong = DateDiff(Interval, Start_Date, End_Date[,FirstDayOfWeek[, FirstWeekOfYear]])
Tabel penggunaan fungsi Datediff
Value Interval Usage Return Value
+ Created: 28/08/2005
"m" Month DateDiff("m", "7/4/76", "7/4/86") 120 "y" Day of year DateDiff("y", "7/4/76", "7/4/86") 3652 "d" Day DateDiff("d", "7/4/76", "7/4/86") 3652 "w" Weekday DateDiff("w", "7/4/76", "7/4/86") 521 "ww" Week DateDiff("ww", "7/4/76", "7/4/86") 521 "h" Hour DateDiff("h", "7/4/76", "7/4/86") 87648 "n" Minute DateDiff("n", "7/4/76", "7/4/86") 5258880 "s" Second DateDiff("s", "7/4/76", "7/4/86") 315532800
Gunakan fungsi IsDate() untuk menyakinkan bahwa data tersebut merupakan tipe data Date.
Dim tglLahir As Date
Private Sub cmdStart_Click()
If Not IsDate(txtTglLahir.Text) Then Timer1.Enabled = False
lblDetik.Caption = "" lblHari.Caption = "" lblTahun.Caption = ""
MsgBox "Tuliskan tanggal lahirmu dengan benar (dd/mm/yyyy) !", vbCritical, "Data Error Boo"
txtTglLahir.SetFocus Exit Sub
End If
tglLahir = CDate(txtTglLahir.Text) Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer() Dim usiaDetik As Long Dim usiaHari As Long Dim usiaTahun As Long
usiaDetik = DateDiff("s", tglLahir, Now) usiaHari = DateDiff("d", tglLahir, Now) usiaTahun = DateDiff("yyyy", tglLahir, Now)
+ Created: 28/08/2005
Menambahkan Graphic pada Form
Contoh membuat Tombol bergambar dengan menggunalan control image.
Buat empat image control dengan ukuran yang sama pada form kemudian stretch property jadikan nilai True. Berikan nama masing-masing keempat image tersebut dengan nama imgMain, imgMUp, imgMDown dan imgMMove serta berikan masing-masing tiga image (imgMUp, imgMDown, imgMMove) dengan gambar yang telah ditentukan pada property Picture dan berikan nilai False pada property Visible seperti di bawah ini:
Kemudian tuliskan kode seperti di bawah ini:
Private Sub Form_Load()
imgMain.Picture = imgMUp.Picture End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If (X >= imgMain.Left) And (X <= (imgMain.Left + imgMain.Width)) And (Y >= imgMain.Top) And (Y <= (imgMain.Top + imgMain.Height)) Then
imgMain.Picture = imgMMove.Picture Else
imgMain.Picture = imgMUp.Picture End If
End Sub
Private Sub imgMain_Click() MsgBox "Hai, it's works....!" End Sub
Private Sub imgMain_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
imgMain.Picture = imgMDown.Picture End Sub
Private Sub imgMain_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
imgMain.Picture = imgMMove.Picture End Sub
Private Sub imgMain_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
+ Created: 28/08/2005
Bekerja dengan File untuk menyimpan dan menerima data
Menyimpan data dengan statemen open:
Open FilePath [For Mode] [Access AcessType [LockType] As [#]FileNumber [Len=CharInBuffer%]
Tabel file Mode
Menerima data dengan statemen Input:
Line Input #FileHandle, strBuffer
Contoh program:
Private Sub cmdClose_Click() End
End Sub
Private Sub cmdOpen_Click() Dim strNamaFile As String Dim fHandle As Integer Dim strBuffer As String Dim defMsPointer As Integer
dlgFile.DialogTitle = "Buka File Text" dlgFile.ShowOpen
If dlgFile.FileName <> "" Then strNamaFile = dlgFile.FileName
Mode Description
Append Menambah data pada file yang sudah ada, jika tidak ada maka file akan dibuat.
Binary Membuka file biner, jika tidak ada, file akan dibuat Input Membuka file untuk dibaca
+ Created: 28/08/2005
Private Sub cmdSave_Click() Dim strNamaFile As String Dim fHandle As Integer Dim strBuffer As String Dim defMsPointer As Integer
dlgFile.DialogTitle = "Simpan File Text" dlgFile.ShowSave
dlgFile.DefaultExt = "txt" If dlgFile.FileName <> "" Then strNamaFile = dlgFile.FileName
Private Sub Form_Load()
dlgFile.Filter = "File Text (*.txt)|*.txt|All Files (*.*)|*.*" End Sub
Bekerja dengan Object File System
+ Created: 28/08/2005
Table FileSystem Objects
Name Description
Drive Mengakses system Drive. Misalnya CD-ROM drives, RAM disks, atau mapped network drives.
Folder Mengakses direktori (folder).
File Membuka, membuat dan memindahkan file FileSystemObject Digunakan untuk mengakses object filesystem lain TextStream Membaca, menulis dan menambah file text
Contoh Program:
Private Sub cmdBuka_Click() Dim strStat As String
Dim ofile As New FileSystemObject Dim fo As File
strStat = "" dlgOpen.ShowOpen
If dlgOpen.FileName <> "" Then
Set fo = ofile.GetFile(dlgOpen.FileName)
strStat = "Nama File : " & fo.Name & vbCrLf strStat = strStat & "Path : " & fo.Path & vbCrLf
strStat = strStat & "Tgl. Dibuat : " & fo.DateCreated & vbCrLf
strStat = strStat & "Tgl. Dimodifikasi : " & fo.DateLastModified & vbCrLf
strStat = strStat & "Tgl. Diakses : " & fo.DateLastAccessed & vbCrLf strStat = strStat & "Size : " & fo.Size & " byte (Karakter)" & vbCrLf strStat = strStat & "Tipe : " & fo.Type & vbCrLf
strStat = strStat & "Parent : " & fo.ParentFolder & vbCrLf End If
+ Created: 28/08/2005
MODUL VII
PEMROGRAMAN OOP DAN WINDOWS API
Membuat User-Defined Type
Type TypeName
Elements as DataType ...
End Type
Contoh:
Type Music
Composer As String Piece As String End Type
LISTING 26.3 26LIST03.TXT--Implementing a User-Defined Type Dim MyMusic As Music
Dim Msg$
MyMusic.Composer = txtComposer.Text MyMusic.Piece = txtPiece.Text
Msg$ = "Composer: " & MyMusic.Composer & vbCrLf Msg$ = Msg$ & "Piece: " & MyMusic.Piece
MsgBox Msg$
Class dapat disamakan dengan User-Defined Type, kecuali ada penambahan data dan prosedur. Class merupakan kumpulan dari property dan prosedur. Sedangakn object adalah instansi dari Class.
Contoh:
File Class Module (CSimpleMath)
Private m_NumToAdd As Integer Private m_Total As Integer
Private Sub AddNum()
m_Total = m_Total + m_NumToAdd End Sub
Public Property Get NumToAdd() As Integer NumToAdd = m_NumToAdd
End Property
Public Property Let NumToAdd(ByVal vNewValue As Integer) m_NumToAdd = vNewValue
AddNum End Property
Public Property Get Total() As Variant Total = m_Total
+ Created: 28/08/2005
Public Property Let Total(ByVal vNewValue As Variant) m_Total = vNewValue
End Property
File Form1
Option Explicit
Dim oMath As New CSimpleMath
Private Sub cmdAdd_Click()
If IsNumeric(txtNum.Text) Then
oMath.NumToAdd = CInt(txtNum.Text) lblAdd.Caption = CStr(oMath.Total) End If
End Sub
Pengertian Windows API
Windows Application Programming Interface (API) adalah sekumpulan ratusan fungsi yang dibuat oleh system operasi windows yang biasanya terdapat pada file DLL (dynamic link library file system windows). Cara mendelarasikan fungsi tersebut adalah:
Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) As Long
• Declare : keyword yang mendeklarasikan prosedur eksternal • Function : tipe prosedur
• GetCursorPos : nama prosedur
• Lib : keyword yang menentukan lokasi dimana fungsi tersebut berada. • "user32" : adalah nama file DLL
• Alias : keyword nama acuan fungsi yang digunakan • "GetCursorPos" : nama fungsi pada file DLL tersebut • lpPoint : variable parameter
• As POINTAPI/As Long : tipe argumen • POINTAPI : tupe argumen
• Long : tipe pengembalian nilai fungsi
Untuk melihat fungsi-fungsi API yang ingin anda gunakan, dapat dilakukan dengan cara menambah tool pada Add-In manager seperti di bawah ini:
1. Pilih Add-In Manager dari menu Visual Basic's Add-Ins. 2. Pilih VB 6 API Viewer dari daftar Available Add-Ins.
3. Dalam sesi Load Behavior di sudut kanan bawah di Add-In Manager dialog, pilih Load on Startup.
4. klik OK.
5. Close Visual Basic dan restart it.
6. Pilih API Viewer dari menu Add-Ins untuk membuka API Viewer window.
Untuk meng-konfigurasikan API Viewer lakukan seperti di bawah ini: 1. Jalankan API Viewer.
2. Pilih Load Text File dari menu File.
3. Pilih file Win32API.txt dari Open File dialog.
+ Created: 28/08/2005
Contoh program menggunakan Windows API:
List Code in Module1
Public Type POINTAPI X As Long Y As Long End Type
Public Const HWND_NOTOPMOST = -2 Public Const HWND_TOPMOST = -1 Public Const SWP_NOMOVE = &H2 Public Const SWP_NOSIZE = &H1
Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Public Const WM_NCLBUTTONDOWN = &HA1 Public Const HTCAPTION = 2
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function ReleaseCapture Lib "user32" () As Long
Public Function MousePos() As String Dim MyPointAPI As POINTAPI
Dim strReport As String Dim cm As Long
+ Created: 28/08/2005
cm = GetCursorPos(MyPointAPI)
strReport = "X=" & CStr(MyPointAPI.X) & ", "
strReport = strReport & "Y= " & CStr(MyPointAPI.Y)
If cm > 0 Then
Public Function SetWinPos(iPos As Integer, lHWnd As Long) As Boolean Dim lWinPos As Long
List Code In Form1
Option Explicit
Private Sub chkTop_Click() Dim b As Boolean
MsgBox "Positioning Error", vbCritical, "Program Error" End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim l As Long
If Button = 1 And chkDrag.Value = 1 Then ReleaseCapture
l = SendMessage(Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0) End If
+ Created: 28/08/2005
Private Sub Form_Terminate() Timer1.Enabled = False End Sub
Private Sub Timer1_Timer()
+ Created: 28/08/2005
MODUL VIII
PEMROGRAMAN DATABASE
Elemen Dasar Database
Elemen Keterangan
Database Sekelompok tabel data yang berisi informasi yang salinfg berhubungan Table Seklompok data record, setiapnya berisi tipe informasi yang sama. Record Entri tunggal dalam tabel, berisi sejumlah field data.
Field Item data pada field dalam sebuha record.
Index Tipe khusus pada table yang berisi kunci sebagai penunjuk lokasi data.
Beberapa tipe data yang terdapat pada Jet Database Engine (Ms Access)
Tipe Keterangan Size/Range
Text Character strings 255 characters maximum Memo Long character strings Up to 1.2GB
Byte Integer (numeric data) 0 to 255
Integer Integer (numeric data) -32,768 to 32,767
Long Integer (numeric data) -2,147,483,648 to 2,147,483,647 Counter Long integer,
automatically incremented
Single Real (numeric data) -3.402823E38 to -1.401298E-45 for negative values and from 1.401298E-45 to 3.402823E38 for positive values
Type Description Size/Range
Double Real (numeric data) -1.79769313486232E308 to -4.94065645841247E-324 for negative values and from 4.94065645841247E-324 to 1.79769313486232E308
Currency Real (numeric data) -922,337,203,685,477.5808 to 922,337,203,685,477.5807 Yes/No Logical/Boolean
Date Date and time values
+ Created: 28/08/2005
Membuat Database dan Tabel
Untuk membuat database dengan Visual Data Manager, dengan langkah-langkah sebagai berikut:
pilih menu Add-Ins pada menu utama Visual Basi, kemudian klik Visual Data Manager.
Pilih: File ->New ->Microsoft Access->Version 7.0 MDB. Berikan nama database yang akan dibuat. Misalnya data1.
+ Created: 28/08/2005
Kemudian klik Add Field dan buatlah beberapa field seperti di bawah ini:
Name Type Size
NO_ID Text 10
NAMA Text 30
ALAMAT Text 50
TEMPAT_LAHIR Text 15 TGL_LAHIR Date/Time
USIA Integer
berikutnya adalah membuat Index, klik Add Index, kemudian buat index dengan ketentuan sebagai berikut:
Name Available Fields Keterangan
ID NO_ID Primary, Unique
NAMA_IDX NAMA
setelah selesai close window kemudian, klik Build Table.
DATA KONTROL
Kontrol data merupakan interface yang menghubungkan sebuah form dengan file database. Ada beberapa hal yang harus diperhatikan pada saat menghubungkan Data kontrol dengan file database, diantaranya adalah:
Connect : hubungan file data, bias bersumber dari Access, Dbase, Excel, Foxpro, Lotus, Paradox dan File Text.
Database Name: nama file database yang digunakan. Record Source: diisi table yang digunakan.
EOF Action: memeriksa pergerakan kursor
+ Created: 28/08/2005
Record Set adalah status record yang menunjukkan tindakan apa yang akan dilakukan terhadap record tersebut dengan beberapa metode antara lain:
Metode Keterangan
AddNew Menambah Record Baru
MoveFirst Pindah ke record pertama
MovePrevious Pindah satu record sebelumnya
MoveNext Pindah satu record berikutnya
MoveLast Pindah ke record terakhir
Delete Menghapus record
FindFirst Mencari dari record pertama
NoMatch Record yang dicari tidak ditemukan
EOF Posisi di record yang terakhir
BOF Posisi di record yang pertama
Edit Mengubah record
Update Menyimpan perubahan record
CancelUpdate Membatalkan perubahan record
Contoh Program dengan menggunakan Data Kontrol.
Buatlah layout seperti di bawah ini:
atur property tiap kontrol seperti di bawah ini:
Kontrol Properti Nilai
Form1 Caption Biodata
Data1
Label3 Caption Alamat
Label4 Caption Tempat Lahir Label5 Caption Tgl. Lahir
Label6 Caption Usia
+ Created: 28/08/2005
Command1 Name Caption
cmdFirst << Command2 Name
Caption
cmdPrev < Command3 Name
Caption
cmdNext >
Command4 Name Caption cmdLast >>
Command5 Name Caption
cmdNew New Command6 Name
Caption
cmdSave Save Command7 Name
Caption
cmdUndo Undo
Command8 Name Caption cmdEdit Edit
Command9 Name Caption
cmdDel Del Command10 Name
Caption
cmdFind Find
Command11 Name Caption cmdExit Exit
Listing Programnya:
Option Explicit
Dim bolAdd As Boolean
+ Created: 28/08/2005
Private Sub cmdDel_Click() Dim r As Integer
r = MsgBox("Anda yakin akan menghapus data ini ?", vbYesNo, "Tanya") If r = vbYes Then
Private Sub cmdEdit_Click() dbData1.Recordset.Edit TextBoxUnLocked
End Sub
Private Sub cmdExit_Click() End
End Sub
Private Sub cmdFind_Click()
Dim sNoID As String * 10 'dbData1.Recordset.FindFirst sFind
dbData1.Recordset.Index = "ID" dbData1.Recordset.Seek "=", sNoID If dbData1.Recordset.NoMatch Then
MsgBox "Data tidak ditemukan !", vbOKOnly, "Informasi" End If
End Sub
Private Sub cmdFirst_Click() dbData1.Recordset.MoveFirst End Sub
+ Created: 28/08/2005 End Sub
Private Sub cmdNew_Click() bolAdd = True
dbData1.Recordset.AddNew TextBoxEmpty
TextBoxUnLocked End Sub
Private Sub cmdNext_Click() dbData1.Recordset.MoveNext If dbData1.Recordset.EOF Then dbData1.Recordset.MoveLast
MsgBox "Data in last record", vbOKOnly, "Informasi" End If
End Sub
Private Sub cmdPrev_Click()
dbData1.Recordset.MovePrevious If dbData1.Recordset.BOF Then dbData1.Recordset.MoveFirst
MsgBox "Data in the first record !", vbOKOnly, "Informasi" End If
End Sub
Private Sub cmdSave_Click() dbData1.Recordset.Update TextBoxLocked
End Sub
Private Sub cmdUndo_Click()
dbData1.Recordset.CancelUpdate dbData1.Recordset.MoveLast TextBoxLocked
End Sub
Private Sub Form_Load() TextBoxLocked
+ Created: 28/08/2005
Menampilkan Data dengan DBGRID
Buat Form baru dengan dengan tampilan sebagai berikut:
Jika icon DBGrid belum ada, maka tambahkan melalui menu Project->Component (Ctrl+T), kemudian pilih Microsoft Data Bound Grid Control 5.0 (SP3).
Atur property setiap kontrol dengan ketentuan sebagai berikut:
Kontrol Properti Nilai
Form1 Caption Biodata
Data1
Name Caption Connect DatabaseName RecordsetType RecordSource
dbData1 Data1 Access
C:\My Documents\data1.mdb 0 - Table
biodata DBGrid1 Name
DataSource
+ Created: 28/08/2005
Kemudian jalankan dengan menggunakan tombol F5.
Dengan menggunakan DBGrid, kita dapat pula melakukan penambahan, penghapusan serta pengeditan data.
TO BE CONTINUED………
Sumber Pustaka:
Que, Using Visual Basic 6, Macmillan Computer Publishing, Indiana Polis.