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

&Print

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.