MODUL 1 Mengenal IDE (Integrated Development Environment) Microsoft Visual Basic 6.0
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
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 merupakan komponen-komponen atau kontrol yang dibuat untuk dapat digunakan oleh beberapa pemrograman Visual lainnya seperti Visual C++, Visual Fox Pro, dll).
2. Di dalam dialog Components, pilih Microsoft Common Controls 2-6.0 dan klik OK.
Komponen yang ditambahkan
Menambahkan komponen Month View pada Form
1. Pilih komponen Month View di toolbox
2. Klik ganda komponen tersebut sehingga tampil pada form.
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
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.
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”.
5. Klik pada Form, kemudian pilih 3-Fixed Dialog pada BorderStyle Properti.
6. Simpan Project dan jalankan (F5).
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
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.
cmdTopLeft Command2
Name
cmdTopRight Command3
Name
cmdBottomLeft Command4
Name
cmdBottomRight Label1
Name
Name
lblNotify
Alignment
2-Center
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
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
Jalankan program dengan menekan F5.
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
MS Sans Serif (14) Bold
Private Sub cmdTambah_Click() Dim num1, num2 As Integer
num1 = CInt(txtNum1.Text) num2 = CInt(txtNum2.Text) txtHasil.Text = num1 + num2
End Sub
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.
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
Informasi Penyimpanan beberapa tipe data
Type Stores Memory
Range of Values
Requirement 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 -4.94065645841247E- 324 for negative values and 4.94065645841247E- 324 to 1.79769313486232E308 for positive values
Currency Numerik
to mempunyai 15 digit
yang
8 bytes 922,337,203,685,477.5808
kiri dan 4 digit kanan
String Text 1 byte
per Mencapai 65,000 Karakter untuk fixed-length strings
character 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
4 bytes -
beberapa
objek
acuan Variant Dapat menjadi tipe 16 bytes + 1 byte -
data lain 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
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) \
Contoh program penghitungan Wallpaper:
Text Box
Option Explicit Text box
Label
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) Else Msg = "Lebar Tembok butuh angka. " Msg = Msg & "Mohon diisi dengan angka!" MsgBox Msg, vbExclamation, "Data entry error" txtLebarTembok.SetFocus Exit Sub
End If Else Msg = "Anda harus mengisi lebar tembok. " Msg = Msg & "Mohon diisi dengan angka!" MsgBox Msg, vbExclamation, "Data entry error" txtLebarTembok.SetFocus Exit Sub
End If
If txtTinggiTembok.Text <> "" Then If txtTinggiTembok.Text <> "" Then
End If
If txtPanjangRol.Text <> "" Then If IsNumeric(txtPanjangRol.Text) Then PanjangRol = CInt(txtPanjangRol.Text) Else Msg = "PanjangRol butuh angka. " Msg = Msg & "Mohon diisi dengan angka!" MsgBox Msg, vbExclamation, "Data entry error" txtPanjangRol.SetFocus Exit Sub
End If Else Msg = "Anda harus mengisi PanjangRol. " Msg = Msg & "Mohon diisi dengan angka!" 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) Else Msg = "Lebar Rol butuh angka. " Msg = Msg & "Mohon diisi dengan angka!" MsgBox Msg, vbExclamation, "Data entry error" txtLebarRol.SetFocus Exit Sub
End If Else Msg = "Anda harus mengisi Lebar Rol. " Msg = Msg & "Mohon diisi dengan angka!" 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) Else Msg = "PatternMatch butuh angka. " Msg = Msg & "Mohon diisi dengan angka!" MsgBox Msg, vbExclamation, "Data entry error" txtPatternMatch.SetFocus Exit Sub
End If
MsgBox Msg, vbExclamation, "Data entry error" txtBiayaRol.SetFocus Exit Sub
End If Else Msg = "Anda harus mengisi biaya rol. " Msg = Msg & "Mohon diisi dengan angka!" MsgBox Msg, vbExclamation, "Data entry error" txtBiayaRol.SetFocus Exit Sub
End If
If PatternMatch > 0 Then Remn = (TinggiTembok Mod PatternMatch) If Remn > 0 Then
CutLength = ((TinggiTembok - Remn) + PatternMatch) Else CutLength = TinggiTembok End If Else CutLength = TinggiTembok End If
If CutLength > 0 Then PiecePerRoll = PanjangRol \ CutLength Else PiecePerRoll = PanjangRol End If
If (LebarRol > 0) And (PiecePerRoll > 0) Then JumlahRol = (LebarTembok / LebarRol) JumlahRol = (JumlahRol / PiecePerRoll) + 0.4999
Else JumlahRol = 0 End If 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
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
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
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
Dim i As Integer
lstPrint.Clear i=1 Do Until i > MaxLoop
lstPrint.AddItem ("Looping ke " & i & " untuk pengulangan Do Until...Loop") i=i+1 Loop End Sub
Private Sub cmdDoWhileLoop_Click() Dim i As Integer
lstPrint.Clear i=1 Do While i <= MaxLoop
lstPrint.AddItem ("Looping ke " & i & " untuk pengulangan Do While...Loop") i=i+1 Loop End Sub
Private Sub cmdForNext_Click() Dim i As Integer
lstPrint.Clear For i = 1 To MaxLoop
lstPrint.AddItem ("Looping ke " & i & " untuk pengulangan For...Next") Next End Sub
Private Sub cmdWhilelWend_Click() Dim i As Integer
lstPrint.Clear i=1 While i <= MaxLoop
lstPrint.AddItem ("Looping ke " & i & " untuk pengulangan While...Wend") i=i+1 Wend End Sub
Private Sub Form_Load() MaxLoop = 10 txtMaxLoop.Text = MaxLoop
End Sub
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
Array 2 Dimensi
Array 3 Dimensi
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%)
iMyArray(i%)
FullMsg$ = FullMsg$ & LoopMsg$ & vbCrLf LoopMsg$ = ""
Next i% txtTraverse.Text = FullMsg$
End Sub
Contoh Penggunaan List Box dan Combo Box:
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)
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,
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:
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 Open txtNamaFile.Text For Input As #intFile Input #intFile, strFilter Close #intFile txtFilter.Text = strFilter
End If End Sub
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
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 IsObject() Returns True if the expression is an object
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.
Kemudian pilih Single Document Interface (SDI), dan tuliskan nama project sesuai dengan keinginan anda !
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.
Pilihan Next Selanjutnya adalah penentuan bahasa, dan bentuk-bentuk tampilan form yang diinginkan yang tidak berhubungan dengan tampilan menu kita, untuk saat ini klik Finish, kemudian klik OK jika tampilan dialog pembuatan aplikasi selesai dilakukan.
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.
6. Buat contoh menu dengan ketentuan seperti di bawah ini:
Menu Utama
&New
Ctrl-N &Open
mnuFileNew
Sub Menu
Ctrl-O &Save
mnuFileOpen
Sub Menu
Ctrl-S Save &As …
mnuFileSave
Sub Menu
mnuFileSaveAs
Sub Menu
sep1
Separator
Ctrl-P E&xit
mnuPrint
Sub Menu
mnuExit
Sub Menu
&Edit
mnuEdit
Menu Utama
&Copy
Ctrl-C C&ut
mnuCopy
Sub Menu
Ctrl-X &Paste
mnuCut
Sub Menu
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:
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 itmSelectAll Select &All 1 Ctrl+A
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 txtMain.SelLength = Len(txtMain.Text)
End Sub
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
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 vbKeyPause Pause vbKey0 through vbKey9 0 (zero) through 9,
respectively vbKeyCapital Caps Lock vbKeyNumpad0 0 through 9 on
number pad,
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
number pad vbKeyHome Home vbKeyDecimal Decimal point (.) on
number pad vbKeyLeft ← vbKeyDivide Division sign (/) on
number pad
vbKeyUp ↑
vbKeyF1 through F1 through F16, respectively
vbKeyF16
Case vbKeyF5 strKey = "F5" Case vbKeyF6 strKey = "F6" Case vbKeyF7 strKey = "F7" Case vbKeyF8 strKey = "F8" Case vbKeyF9 strKey = "F9" Case vbKeyF10 strKey = "F10" Case vbKeyF11 strKey = "F11" Case vbKeyF12 strKey = "F12" Case vbKeyF13 strKey = "F13" Case vbKeyF14 strKey = "F14" Case vbKeyF15 strKey = "F15" Case vbKeyF16 strKey = "F16" Case Else strKey = "Some other key" End Select
Select Case Shift Case 0
Form1.Caption = "No key down" Case 1 Form1.Caption = "Shift down" Case 2 Form1.Caption = "Ctrl down" Case 3 Form1.Caption = "Shift dan Ctrl down" Case 4 Form1.Caption = "Alt down" Case 5 Form1.Caption = "Shift dan Alt down" Case 6 Form1.Caption = "Ctrl dan Alt down" Case 7 Form1.Caption = "Shift,Ctrl,Alt down" End Select txtKey.Text = "Key Down, Key: " & strKey
End Sub
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 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
Case 0 lblMouseKey.Caption = "" Case 1 lblMouseKey.Caption = "Tombol Kiri" Case 2 lblMouseKey.Caption = "Tombol Kanan" Case 3 lblMouseKey.Caption = "Tombol Kiri+Kanan" Case 4 lblMouseKey.Caption = "Tombol Tengah" Case 5 lblMouseKey.Caption = "Tombol Kiri+Tengah" Case 6 lblMouseKey.Caption = "Tombol Kanan+Tengah" Case 7 lblMouseKey.Caption = "Semua" End Select
Select Case Shift Case 0 strShift = "" Case 1 strShift = "Shift" Case 2 strShift = "Ctrl" Case 3 strShift = "Shift + Ctrl" Case 4 strShift = "Alt" Case 5 strShift = "Shift + Alt" Case 6 strShift = "Ctrl + Alt" Case 7 strShift = "Shift + Ctrl + Alt" End Select 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)
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
"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
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)
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
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 Output Membuka file untuk ditulis, jika tidak ada, file akan dibuat Random Membuka file untuk akses acak, jika tidak ada, file akan dibuat.
Menerima data dengan statemen Input:
Line Input #FileHandle, strBuffer
Contoh program:
fHandle = FreeFile Open strNamaFile For Input As #fHandle
defMsPointer = MousePointer MousePointer = vbHourglass txtEdit.Text = "" Do While Not EOF(fHandle)
Line Input #fHandle, strBuffer txtEdit.Text = txtEdit.Text & strBuffer & vbCrLf
Loop Close #fHandle MousePointer = defMsPointer
End If End Sub
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 fHandle = FreeFile Open strNamaFile For Output As #fHandle
defMsPointer = MousePointer MousePointer = vbHourglass Print #fHandle, txtEdit.Text Close #fHandle
MousePointer = defMsPointer End If End Sub
Private Sub Form_Load() dlgFile.Filter = "File Text (*.txt)|*.txt|All Files (*.*)|*.*" End Sub
Bekerja dengan Object File System
Untuk mengaktifkan object tersebut, terlebih dahulu pilih menu References dari menu Project kemudian pilih
Microsoft
Scripting Runtime
(SCRRUN.DLL).
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
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 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.
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 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
If cm > 0 Then MousePos = strReport Else MousePos = "Error in Mouse" End If End Function
Public Function SetWinPos(iPos As Integer, lHWnd As Long) As Boolean Dim lWinPos As Long Dim l As Long
Select Case iPos Case 0
lWinPos = HWND_NOTOPMOST Case 1 lWinPos = HWND_TOPMOST Case Else Exit Function End Select
If SetWindowPos(lHWnd, lWinPos, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE) Then SetWinPos = True End If End Function
List Code In Form1
Option Explicit
Private Sub chkTop_Click() Dim b As Boolean
If chkTop.Value = 1 Then
b = SetWinPos(1, Me.hwnd) Me.Caption = "Always on Top" Else
b = SetWinPos(0, Me.hwnd) Me.Caption = "Not Always on Top" End If
If Not b Then MsgBox "Positioning Error", vbCritical, "Program Error" End If
Private Sub Form_Terminate() Timer1.Enabled = False End Sub
Private Sub Timer1_Timer() lblMousePos.Caption = MousePos End Sub
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
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
Binary Binary data Up to 1.2GB OLE OLE objects Up to 1.2GB
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.
Klik kanan pada properties, pilih New Table. Kemudian ketik biodata pada Table Name.
Kemudian klik Add Field dan buatlah beberapa field seperti di bawah ini:
NO_ID
TEMPAT_LAHIR
Text
TGL_LAHIR
Date/Time
USIA
Integer
berikutnya adalah membuat Index, klik Add Index, kemudian buat index dengan ketentuan sebagai berikut:
Name
Available Fields
Keterangan
Primary, Unique NAMA_IDX
ID NO_ID
NAMA
setelah selesai close window kemudian, klik Build Table.
DATA KONTROL
Record Set adalah status record yang menunjukkan tindakan apa yang akan dilakukan terhadap record tersebut dengan beberapa metode antara lain:
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
NO_ID
Text2 DataSource
Text3 Text
Text4 DataSource
dbData1
DataField
TEMPAT_LAHIR
Name
txtTglLahir
Text5 Text
TGL_LAHIR
Text6 DataSource
Command1 Caption
Command2 Name
Command3 Caption
Command4 Name
Command5 Caption
Command6 Caption
Command7 Caption
Undo
Command8 Name
Command9 Caption
Del
Command10 Name
Command11 Caption
Exit
Listing Programnya:
Option Explicit
Sub TextBoxUnLocked() Dim oCtl As Control
For Each oCtl In Form1 If TypeName(oCtl) = "TextBox" Then oCtl.Locked = False End If Next End Sub
Sub TextBoxEmpty() Dim oCtl As Control
For Each oCtl In Form1 If TypeName(oCtl) = "TextBox" Then oCtl.Text = "" End If Next End Sub
Private Sub cmdDel_Click() Dim r As Integer
r = MsgBox("Anda yakin akan menghapus data ini ?", vbYesNo, "Tanya") If r = vbYes Then
dbData1.Recordset.Delete dbData1.Recordset.MoveNext If dbData1.Recordset.EOF Then
dbData1.Recordset.MoveLast End If End If End Sub
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 'Dim sFind As String
sNoID = InputBox("No. ID = ", "Cari Data")
'sFind = "NO_ID='" & sNoID & "'" 'dbData1.Recordset.FindFirst sFind
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 bolAdd = False
End Sub
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
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. Anoname. 2000. Pemrograman Visual Basic 6.0. Wahana Komputer & Andi Offset, Yogyakarta.