• Tidak ada hasil yang ditemukan

MODUL 1 Mengenal IDE (Integrated Development Environment) Microsoft Visual Basic 6.0

N/A
N/A
Protected

Academic year: 2019

Membagikan "MODUL 1 Mengenal IDE (Integrated Development Environment) Microsoft Visual Basic 6.0"

Copied!
59
0
0

Teks penuh

(1)

+ Created: 28/08/2005

MODUL 1

Mengenal IDE (Integrated Development Environment) Microsoft

Visual Basic 6.0

IDE merupakan kumpulan dari menu bar, toolbar dan window yang akan membantu kita dalam pembuatan program Visual Basic. IDE ini terintegrasi dengan adanya beberapa fungsi seperti editing, compiling dan debugging yang saling berhubungan. Bentuk IDE dari Visual Basic terlihat pada gambar di bawah ini:

Menu Bar

Menampilkan perintah-perintah yang dapat digunakan pada saat bekerja pada Visual Basic. seperti Menyimpan atau membukanya project. Menu bar pada Visual Basic secara default terdapat pilihan menu File, Edit, View, Project, Format, Debug, Run, Tools, Add-ins, Window dan Help.

Toolbar

Dengan adanya fasilitas ini, akan mempermudah dan mempercepat pekerjaan dalam membuat program Visual Basic. Secara default toolbar Standard yang ditampilkan saat memulai Visual Basic.

Toolbox

(2)

+ Created: 28/08/2005

Project Explorer Window

Window ini menampilkan daftar form, modul, class dan objek lainnya yang ada dalam project. Project merupakan kumpulan file yang digunakan untuk membangun suat aplikasi.

Properties Window

Window ini digunakan untuk mengatur property sebuah objek atau komponen kontrol yang kita pilih. Property dari suatu objek merupakan karakteristik objek tersbeut seperi size, caption, dan color.

Form Designer

Sebuah window yang digunakan untuk mengatur tampilan aplikasi dan tempat untuk mendesain sebuah form. Di dalam form ini daapat ditambahkan beberpa kontrol dari toolbox, dan mengatur posisi dan atribut-atribut kontorl tersebut pada Properties window.

Code Editor Window

Digunakan unturk mendefinisikan kode-kode form, modul atau class dalam sebuah aplikasi.

Form Layout

Digunakan unruk mengontrol posisi form pada aplikasi, dengan menggunakan system grafik pada sebuah layar.

MEMBANGUN APLIKASI VISUAL BASIC PERTAMA

Membuat Program Kalender

1. Dari menu project pilih Components (Ctrl+T). Semua komponen (kontrol) ActiveX yang ada pada Visual Basic (Toolbox) otomatis terpanggil secara default. Namun kita dapat menambahkan komponen yang lain dengan cara seperti langkah di atas. (ActiveX

(3)

+ Created: 28/08/2005

2. Di dalam dialog Components, pilih Microsoft Common Controls 2-6.0 dan klik OK.

Menambahkan komponen Month View pada Form

1. Pilih komponen Month View di toolbox

2. Klik ganda komponen tersebut sehingga tampil pada form.

Kemudian jalankan program dengan menekan tombol F5 atau pilih menu Run dan klik Start, kemudian pilih End dari menu tersebut untuk menghentikan program atau dapat pula dengan menggunakan toolbar ini.

Menambahkan Komponen Timer pada Form

Perhatikan table komponen-komponen yang terdapat pada toolbox di Visual Basic:

(4)

+ Created: 28/08/2005

Icon ActiveX Control

Bukan kontrol, digunakan untuk mengaktifkan poinrer mouse

Label

TextBox

CommandButton

Timer

PictureBox

Frame

CheckBox

OptionButton

ComboBox

ListBox

Vertical scrollbar

Horizontal scrollbar

DriveListBox

DirListBox

FileListBox

Shape Line Data

OLE

Animation

UpDown

MonthView

DateTimePicker

FlatScrollBar

Tabel 1 Komponen Kontrol pada toolbox

1. Tambahkan Kontrol Timer pada Form dengan cara klik ganda kontrol Timer pada toolbox.

(5)

+ Created: 28/08/2005

Menggunakan komponen Label untuk menampilkan Waktu

1. Pilih komponen Label pada toolbox, kemudian drag komponen tersebut sesuai dengan posisi yang diinginkan.

2. Dalam jendela property scroll BorderStyle. Klik property dan pilih 1-Fixed Single dari Drop-Down List.

Menambahkan Kode Instruksi yang akan menampilkan waktu pada komponen Label

1. Kilk ganda kompone Timer pada form, maka jendela kode akan tampil. 2. Ketikan kode di Timer1_Timer Event Procedure seperti dibawah ini:

Private Sub Timer1_Timer() Label1.Caption = Time End Sub

3. Jalankan program dengan menekan tombol F5.

Menambahkan Pesan pada Aplikasi

1. Tambahkan CommandButton ke Form, dengan drag mouse dan tempatkan pada posisi yang diinginkan.

(6)

+ Created: 28/08/2005

3. Klik ganda CommandButton untuk menambahkan kode instruksi di dalam Commande_Click() Event Procedure, kemudian tuliskan kode instruksi di bawah ini:

Dim strMsg As String

strMsg = WeekdayName(Weekday(Date), False, vbUseSystemDayOfWeek) strMsg = strMsg & " adalah hari pertama untuk istirahat"

strMsg = strMsg & " dalam hidup mu!" Text1.Text = strMsg

4. Pada jendela property kontrol Command1, ketikan Secret pada property Caption.

5. Jalankan program

Improvisasi Aplikasi

1. Tekan Shift + F7 untuk menampilkan Form Desain.

2. Pilih Text1, kemudian di jendela property berikan nilai true untuk property Multiline. 3. Serta pada property ScrollBars, pilih 2-Vertical.

4. Pada Property Text, hapus kata “Text1”.

(7)

+ Created: 28/08/2005

MODUL II

Bekerja dengan Property, Method dan Event

Apakah itu Property, Method dan Event?

Singkatnya Property yang menjelaskan keadaan dari objek (kontrol), Method menyebabkan objek melakukan sesuatu dan Event kejadian setelah objek melakukan sesuatu.

Setiap kontrol (Form, TextBox, Command Button, dll) mempunyai property. Property yang umum ada pada setiap kontrol adalah sebagai berikut:

Property Keterangan

Left Posisi kiri dari kontrol yang merespek pada containernya Top Posisi atas dari kontrol yang merespek pada containernya Height Tinggi kontrol

Width Lebar Kontrol

Name Nilai string yang digunakan untuk acuan kontrol

Enabled Nilai Boolean (True/False) yang menentukan apakah kontrol tersebut dapat dimodifikasi oleh user Visible Nilai Boolean (True/False) yang menentukan apakah kontrol tersebut dapat dilihat oleh user

Method merupakan sekumpulan kode pada kontrol yang memberikan cara melakukan sesuatu, seperti berpindah ke lokasi yang berbeda. Sama halnya dengan property tidak semua kontrol mempunyai method yang sama, namun ada beberapa method yang umum digunakan yaitu:

Method Keterangan

Move Memindahkan posisi objek

Drag Men-handle eksekusi dari operasi drag-and-drop oleh user SetFocus Memberikan focus ke objek tersebut

ZOrder Menentukan urutan dari beberapa objek yang akan tampil dalam layar

Events adalah kejadian selama program berjalan. Misalnya ketika user menekan tombol, user menekan tombol kiri mouse, atau melepaskannya, menekan tombol keyboard dan lain sebagainya. Hal ini merupakan event atau kejadian pada kontrol tersebut. Sekali lagi tidak semua kontrol mempunyai event yang sama, namun ada beberapa event yang umum digunakan diantaranya:

Event Keterangan

Change User mengubah nilai text pada kontrol Click User menekan tombol mouse utama

DblClick User menekan dua kali tombol mouse utama dengan waktu yang cepat DragDrop User menggeser objek ke lokasi lain

DragOver User menggeser objek di atas objek lain GotFocus Objek menerima focus

KeyDown User menekan tombol keyboard selagi objek menerima focus

KeyPress User menekan dan melepas tombol keyboard selagi objek menerima focus KeyUp User melepas tombol keyboard selagi objek menerima focus

Event Kejadian

(8)

+ Created: 28/08/2005

MouseDown User menekan salah satu tombol mouse selagi pointer di atas objek MouseMove User memindahkan pointer mouse diatas objek

MouseUp User melepas salah satu tombol mouse selagi pointer di atas objek

Pada umumnya kode dalam setiap event merupakan procedure, yang didefinisikan sebagai blok kode dan dapat dipanggil melalui aplikasi yang kita buat. Procedure menggunakan format sebagai berikut: [Public|Private] [Static] Sub|Function|Property _

function_name (arguments) [As Type] {...Your procedure code...}

End Sub|Function|Property

Untuk menuliskan procedure event harus dilakukan di dalam code window, ada beberapa cara untuk melakukannya, diantaranya adalah :

Klik ganda objek kontrolnya

Memlilih objek dengan mouse kemudian tekan F7 Pilih objek kemudian pilih Code dari menu View

Memilih objek form dari Project Explorer, klik tombol View Code, pilih objek dari Code window

Contoh membuat program MoveIt

1. Buat project baru dengan memilih New Project dari menu File. Pilih Standard EXE dari dialog New Project.

2. Dalam Properties window, ganti nama form ke frmMove.

3. Tambahkan empat CommandButtons ke setiap sudut from frmMove tambahkan sebuag label di tengah.

4. Dalam Properties window, berikan nama label dan keempat tombol tersebut sepeti di bawah ini.

Kontrol Property Value

Form1 Name fmMove

Command1 Name cmdTopLeft

Command2 Name cmdTopRight

Command3 Name cmdBottomLeft

Command4 Name cmdBottomRight

Name lblNotify

Label1

Alignment 2-Center

5. Simpan project

(9)

+ Created: 28/08/2005

7. Buka Code Window dengan cara klik ganda pada form dimana saja, kecuali pada semua kontrol command button dan label. Kemudian ketik kode berikut:

Private Sub Form_Load()

'Set property Caption pada semua CommandButton cmdTopLeft.Caption = "Top Left"

cmdTopRight.Caption = "Top Right" cmdBottomLeft.Caption = "Bottom Left" cmdBottomRight.Caption = "Bottom Right"

'Bersihkan inisial text pada label lblNotify.Caption = ""

frmMove.Caption = "MoveIt"

frmMove.Left = (Screen.Width - frmMove.Width) / 2 frmMove.Top = (Screen.Height - frmMove.Height) / 2

cmdTopLeft.Left = 200 cmdBottomLeft.Left = 200

cmdTopRight.Left = frmMove.Width - cmdTopRight.Width - 300

cmdBottomRight.Left = frmMove.Width - cmdBottomRight.Width - 300 cmdTopLeft.Top = 200

cmdBottomLeft.Top = frmMove.Height - cmdBottomLeft.Height - 500 cmdTopRight.Top = 200

cmdBottomRight.Top = frmMove.Height - cmdBottomRight.Height - 500

'Set the size of the label lblNotify.Height = 360 lblNotify.Width = 3000

lblNotify.Left = (frmMove.Width - lblNotify.Width) / 2

lblNotify.Top = (frmMove.Height - lblNotify.Height) / 2 - 200 End Sub

Programming Event Click

Kemudian tambahkan kode ke setiap command untuk melakukan proses pemindahan form, dengan cara klik ganda pada masing-masing Command Button dan menuliskan kode sebagai berikut:

Private Sub cmdBottomLeft_Click()

frmMove.Top = Screen.Height - frmMove.Height frmMove.Left = 0

End Sub

Private Sub cmdBottomRight_Click()

frmMove.Top = Screen.Height - frmMove.Height frmMove.Left = Screen.Width - frmMove.Width End Sub

Private Sub cmdTopLeft_Click() frmMove.Top = 0

frmMove.Left = 0 End Sub

Private Sub cmdTopRight_Click() frmMove.Top = 0

(10)

+ Created: 28/08/2005

Menambahkan Event Notifikasi

Tambahkan kode dibawah ini pada event MouseUp dan MouseDown pada Form frmMove.

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

lblNotify.Caption = "MouseDown Event"

End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

lblNotify.Caption = "MouseUp Event"

End Sub

Kemudian untuk event GotFocus pada masing-masing command button ketikan kode sebagai berikut:

Private Sub cmdBottomLeft_GotFocus()

lblNotify.Caption = "cmdBottomLeft has the Focus" End Sub

Private Sub cmdBottomRight_GotFocus()

lblNotify.Caption = "cmdBottomRight has the Focus" End Sub

Private Sub cmdTopLeft_GotFocus()

lblNotify.Caption = "cmdTopLeft has the Focus" End Sub

Private Sub cmdTopRight_GotFocus()

lblNotify.Caption = "cmdTopRight has the Focus" End Sub

(11)

+ Created: 28/08/2005

MODUL III

Menggunakan Tipe Data, Konstanta dan Variabel

Deklarasi Variabel

Dim nama_var as TypeData

Dim adalah keyword yang memberitahukan VB untuk mendeklarasikan variabel. Nama_var adalah nama variabelnya

As adalah keyword yang memberitahukan VB mendefiinsikan tipe data untuk variabel. TypeData adalah tipe data dari variabel.

Contoh:

Dim k as integer

Private Sub cmdTambah_Click() Dim num1, num2 As Integer

Syarat Penamaan Variabel

Nama harus dimulai dengan huruf, bukan angka atau karakter lain. Nama variable tidak boleh mengandung spasi.

Nama harus unik pada prosedure atau modul tertentu. Nama tidak boleh lebih dari 255 karakter.

Contoh penamaan variable yang salah • 2Kali

Tanya? Angka Satu

Untuk memudahkan analisis dan pembacaan program, disarankan penamaan variable dimulai dengan prefix yang sudah distandarkan, yang berdasarkan tipe data masing-masing variable. Diantaranya adalah:

Prefix Variable/Control Example

b Boolean bLightsOn

c Currency cAmountDue

Control Properties Value Label1 Caption Angka 1 Label2 Caption Angka 2 Label3 Caption Jumlah

Text1 Name txtNum1

Text2 Name txtNum2

Text3 Name txtHasil Name cmdTambah Caption +

Command1

(12)

+ Created: 28/08/2005

d Double dDollarPerGallon

db Database dbAccountsPayable

ds Dynaset dsOverDue

dt Date+time dtDateDue

Prefix Variable/Control Example

td TableDef tdEmployees

h Handle hWnd

i Integer iCounter

l Long lNum

str String strMessage

s Single sPay

a Array a_iMyArray

g Global g_iTotal

m Local to module or form m_iAmount

ani Animation button aniMain

cbo Combo box and drop-down list box cboMyList

chk Check box chkDoctorIn

clp Picture clip clpEmblems

cmd Command button cmdFirstName

com Communications comLineOne

ctr Control (used within procs when the specific type is unknown) ctrNext

dat Data datEmployees

db ODBC database dbTaxpayers

dir Directory list box dirProjects

dlg Common dialog dlgSettings

drv Drive list box drvMain

fil File list box filPictures

frm Form frmMain

fra Frame fraTeams

gau Gauge gauGas

Prefix Variable/Control Example

gpb Group button gpbApps

grd Grid grdMain

hsb Horizontal scroll bar hsbText

img Image imgMain

key Keyboard key status keyASCII

lbl Label lblLastName

lin Line linRed

lst List box lstStooges

mdi MDI child form mdiMain

mnu Menu mnuEdit

opt Option button optGender

ole OLE client oleMain

pnl 3D panel pnlFriends

shp Shape shpCircle

spn Spin control spnTemp

txt Text/edit box txtAddress

tmr Timer tmrBreak

(13)

+ Created: 28/08/2005

Informasi Penyimpanan beberapa tipe data

Type Stores Memory

Requirement Range of Values Integer Numerik 2 bytes -32,768 to 32,767 Long Numerik 4 bytes Approximately +/- 2.1E9

Single Desimal (Pecahan) 4 bytes -3.402823E38 to -1.401298E-45 for negative values and 1.401298E-45 to 3.402823E38 for positive values

Double Desimal (Pecahan) 8 bytes -1.79769313486232E308 to -324 for negative values and 4.94065645841247E-324 to 1.79769313486232E308 for positive values Currency Numerik yang

mempunyai 15 digit kiri dan 4 digit kanan

8 bytes 922,337,203,685,477.5808 to

922,337,203,685,477.5807

String Text 1 byte per

character Mencapai 65,000 Karakter untuk fixed-length strings dapat mencapai 2 juta karakter untuk dynamic strings

Byte Numerik 1 byte 0 to 255

Boolean Nilai Logika 2 bytes True atauFalse

Date Tanggal dan Waktu 8 bytes Jan 1st 100 to December 31st 9999 Object Gambar dan

beberapa objek acuan

4 bytes -

Variant Dapat menjadi tipe

data lain 16 bytes + 1 byte per character -

Membuat Deklarasi Explicit

Deklarasi Explicit berarti kita harus mendeklarasikan variable sevelum menggunakannya.

Cara pendeklrasian variable tersebut adalah:

Dim VarName [As VarType][, VarName2 [As VarType2]] Private VarName[As VarType][, VarName2[As VarType2]] Static VarName[As VarType][, VarName2[As VarType2]] Public VarName[As VarType][, VarName2[As VarType2]]

Menggunakan Option Explicit pada Visual Basic, menyaratkan agar selalu mendeklarasikan variable terlebih dahulu sebelum menggunakannya.

Menggunakan Tipe Suffix pada Variabel

Cara lain pendeklarasian variabel adalah dengan menggunakan tipe suffix sesudah nama variable. Di bawah ini tipe data yang dapat di berikan tipe suffix:

(14)

+ Created: 28/08/2005 Boolean None Variable Type Suffix

Date None

Object None Variant None

Contoh:

Private NumVal%

Private AvgVal%, Inputval# Static CalcAverage!

Dim InputMsg$

InputMsg$ = “Visual ” & “Basic”

Perbedaan string variable-length dengan fixed-length

String variable-length dapat menampung karakter hingga 64000 byte, mendeklarasikannya dengan bentuk :

Dim VarName as String

Sedangkan String fixed-length ditentukan jumlah karakternya untuk setiap variable string, contoh:

Dim VarName as String * 20 ‘ Maka VarName hanya dapat menampung 20 karakter saja.

Menggunakan Konstanta

Selain variable ada bentuk lain dari penyimpanan data, yaitu konstanta. Konstanta merupakan bentuk pendeklarasian suatu nilai yang tidak dapat diubah setelah dideklarasikan. Bentuk umumnya adalah :

Const CONSTANT_NAME [As ConstantType] = value

Contoh:

Const PI = 3.14

Operator Visual Basic

Operation Operator Symbol

Pemangkatan ^

Negasi -

Perkalian, Pembagian *, / Pembagian (Integer) \

Modulus mod

Penambahan, Pengurangan +, - Penggabungan (string) &

Operator pembanding =, <>, <, >, <=, >+

(15)

+ Created: 28/08/2005

Contoh program penghitungan Wallpaper:

Option Explicit

Private Sub cmdHitung_Click() Dim LebarTembok As Integer Dim TinggiTembok As Integer Dim PanjangRol As Integer Dim LebarRol As Integer Dim PatternMatch As Integer Dim CutLength As Integer Dim Remn As Integer

Dim PiecePerRoll As Integer Dim JumlahRol As Integer Dim dBiayaRol As Double Dim dBiayaTotal As Double Dim Msg As String

If txtLebarTembok.Text <> "" Then

If IsNumeric(txtLebarTembok.Text) Then LebarTembok = CInt(txtLebarTembok.Text)

MsgBox Msg, vbExclamation, "Data entry error" txtLebarTembok.SetFocus

Exit Sub End If

If txtTinggiTembok.Text <> "" Then

If IsNumeric(txtTinggiTembok.Text) Then TinggiTembok = CInt(txtTinggiTembok.Text)

MsgBox Msg, vbExclamation, "Data entry error" Text box

Text Box

(16)

+ Created: 28/08/2005

txtTinggiTembok.SetFocus Exit Sub

End If

If txtPanjangRol.Text <> "" Then

If IsNumeric(txtPanjangRol.Text) Then PanjangRol = CInt(txtPanjangRol.Text)

MsgBox Msg, vbExclamation, "Data entry error" txtPanjangRol.SetFocus

Exit Sub End If

If txtLebarRol.Text <> "" Then

If IsNumeric(txtLebarRol.Text) Then LebarRol = CInt(txtLebarRol.Text)

MsgBox Msg, vbExclamation, "Data entry error" txtLebarRol.SetFocus

Exit Sub End If

If txtPatternMatch.Text <> "" Then

If IsNumeric(txtPatternMatch.Text) Then PatternMatch = CInt(txtPatternMatch.Text)

MsgBox Msg, vbExclamation, "Data entry error" txtPatternMatch.SetFocus

Exit Sub End If

If txtBiayaRol.Text <> "" Then

If IsNumeric(txtBiayaRol.Text) Then dBiayaRol = CInt(txtBiayaRol.Text) Else

Msg = "Biaya Rol butuh angka. "

(17)

+ Created: 28/08/2005

MsgBox Msg, vbExclamation, "Data entry error" txtBiayaRol.SetFocus

dBiayaTotal = JumlahRol * dBiayaRol

lblCutLength.Caption = CStr(CutLength) lblJumlahRol.Caption = CStr(JumlahRol) lblTotalBiaya.Caption = CStr(dBiayaTotal) End Sub

Contoh Penggabungan String:

Private Sub cmdShowName_Click() Dim strTitle As String

Dim strFirst As String Dim strLast As String Dim strFullName As String

strFirst = txtFirstName.Text strLast = txtLastName.Text

If optMr.Value Then strTitle = "Mr. " If optMrs.Value Then strTitle = "Mrs. " If optMiss.Value Then strTitle = "Miss " If optMs.Value Then strTitle = "Ms. "

strFullName = strTitle & strFirst & " " & strLast lblShowName.Caption = strFullName

(18)

+ Created: 28/08/2005

MODUL IV

Penggunaan Statemen Kondisi dan Pengulangan

Statemen Kondisi

Bentuk Umum if…then

if <expression condition> then <statemen> ‘satu baris pernyataan

Contoh:

if a<b then a=4

Bentuk umum if…then...endif

if <expression condition> then <statemen>

end if

Bentuk umum if…then…else…elseif…endif

if <expression condition> then <statemen>

elseif <expression condition> then <statemen>

else

<statemen> end if

Bentuk umum Select case …end select

Select Case <value> Case <expression> <statemen> Case <expression> <statemen> End Select

Table operator relasi

Simbol Keterangan

= Sama dengan > Lebih besar < Lebih kecil

>= Lebih besar atau sama dengan <= Lebih kecil atau sama dengan <> Tidak sama dengan

Statemen Pengulangan

Bentuk umum For..Next

For <CounterVar> = <StartNum> To <EndNum> [Step <StepNum>] <Statements>

(19)

+ Created: 28/08/2005

Bentuk Umum Do While …Loop

While <condition> <statemen> Wend

Atau

Do While <condition> <statement(s)> Loop

Atau

Do

<statement(s)>

Loop While <condition>

Atau

Do Until <condition> <statement(s)> Loop

Contoh Statemen Kondisi

Private Sub cmdClose_Click() End

End Sub

Private Sub cmdHitung_Click()

Dim iMid As Integer, iFinal As Integer Dim iHasil As Integer

On Error GoTo PROSES

iMid = Trim(txtMid.Text) iFinal = Trim(txtFinal.Text) PROSES:

If Trim(txtMid.Text) = "" Or iMid = 0 Then

MsgBox ("Isi Nilai Mid dengan angka, MIN Nilai 1") txtMid.SetFocus

Exit Sub End If

If Trim(txtFinal.Text) = "" Or iFinal = 0 Then

MsgBox ("Isi Nilai Final dengan angka, MIN Nilai 1") txtFinal.SetFocus

(20)

+ Created: 28/08/2005 End If

iHasil = (iMid + iFinal) \ 2 '\ adalah pembagian integer

Select Case iHasil Case Is >= 75

lblGrade.Caption = "A" Case Is >= 65

lblGrade.Caption = "B" Case Is >= 50

lblGrade.Caption = "C" Case Is >= 10

lblGrade.Caption = "D" Case Else

lblGrade.Caption = "E" End Select

End Sub

Contoh Statemen Pengulangan

Dim MaxLoop As Integer

Private Sub cmdClose_Click() End

End Sub

Private Sub cmdDoLoopWhile_Click() Dim i As Integer

lstPrint.Clear i = 1

Do

lstPrint.AddItem ("Looping ke " & i & " untuk pengulangan Do...Loop While")

i = i + 1

Loop While i <= MaxLoop End Sub

(21)

+ Created: 28/08/2005

Private Sub cmdDoWhileLoop_Click() Dim i As Integer

Private Sub cmdForNext_Click() Dim i As Integer

Private Sub cmdWhilelWend_Click() Dim i As Integer

Private Sub Form_Load() MaxLoop = 10

txtMaxLoop.Text = MaxLoop End Sub

Private Sub txtMaxLoop_Change()

(22)

+ Created: 28/08/2005

MODUL V

Penggunaan Array dan Manipulasi String

Array

Array merupakan kumpulan dari beberapa variable yang bertipe data sama. Cara pendeklarasian array adalah:

Dim | Public | Private NamaArray(Subscript) As DataType

Subscript merupakan jumlah elemen array terbesar yang diminta, contohnya jika subscript bernilai 6 maka maksimal elemen pada array tersebut berjumlah tujuh.

Untuk mengubah jumlah elemen array pada saat run-time, gunakan:

ReDim [Preserve] NamaArray (Subscript) As DataType

Preserve merupakan keyword opsional (boleh digunakan/tidak digunakan), jika preserve dituliskan maka VB akan menjaga nilai-nilai yang ada pada elemen array-nya. Jika tidak ditulis, nilai-nilai elemen pada array yang di-Redim akan bernilai kosong.

Array dapat kita gunakan secara multidimensi elemen, dengan cara deklarasinya adalah:

Dim | Public | Private NamaArray(Kolom,Baris) As DataType

(23)

+ Created: 28/08/2005

Contoh Penggunaan Array:

Private Sub cmdTraverse_Click() Dim i%

Dim iMyArray(19) As Integer Dim BeginMsg$

Dim MidMsg$ Dim LoopMsg$ Dim FullMsg$

For i% = 0 To 19

iMyArray(i%) = i% * 2 Next i%

BeginMsg$ = "Elemennya adalah: " MidMsg$ = ", Nilainya adalah: " For i% = 0 To 19

LoopMsg$ = LoopMsg$ & BeginMsg$ & CStr(i%)

LoopMsg$ = LoopMsg$ & MidMsg$ & iMyArray(i%)

FullMsg$ = FullMsg$ & LoopMsg$ & vbCrLf LoopMsg$ = ""

Next i%

txtTraverse.Text = FullMsg$ End Sub

Contoh Penggunaan List Box dan Combo Box:

Private Sub cmdAddList_Click() lstListBox.AddItem (txtAdd.Text) End Sub

Private Sub cmdAddToCombo_Click() cboDown.AddItem (txtAdd.Text) cboSimple.AddItem (txtAdd.Text) cboList.AddItem (txtAdd.Text) End Sub

Private Sub cmdClose_Click() End

(24)

+ Created: 28/08/2005

Private Sub cmdClrCombo_Click() cboDown.Clear

cboSimple.Clear cboList.Clear End Sub

Private Sub cmdClrList_Click() lstListBox.Clear

End Sub

Private Sub cmdClrText_Click() txtAdd.Text = ""

End Sub

Manipulasi String

Fungsi untuk membalikan huruf adalah:

strResult = StrReverse(strMyString)

contoh:

Private Sub cmdFungsi_Click()

txtHasil.Text = StrReverse(txtAsal.Text) End Sub

Private Sub cmdKode_Click() Dim intLength As Integer Dim intCntr As Integer

intLength = Len(txtAsal.Text) txtHasil.Text = ""

For intCntr = 1 To intLength

txtHasil.Text = Mid(txtAsal.Text, intCntr, 1) & txtHasil.Text Next intCntr

End Sub

Private Sub Form_Load()

txtAsal.Text = "CINTA PERTAMA TAK AKAN TERLUPAKAN" txtHasil.Text = ""

End Sub

Mengganti Karakter pada string

strResult = Replace(strMyString, strFind, strRplWith, _ intStart, intCnt, intCompare)

(25)

+ Created: 28/08/2005

Private Sub cmdClose_Click() End

End Sub

Private Sub cmdGanti_Click()

If txtCari.Text = "" Or txtGanti = "" Then

MsgBox "String Kosong !", vbExclamation, "Error String" Else

txtAsal.Text = Replace(txtAsal.Text, txtCari.Text, txtGanti.Text) End If

End Sub

Private Sub Form_Load()

txtAsal.Text = "Cinta adalah sesuatu yang ....???" txtCari.Text = "Cinta"

txtGanti.Text = "Combro" End Sub

Contoh Manipulasi String:

Private Sub cmdRun_Click() Dim strGabung As String

strGabung = txtStr1.Text & txtStr2.Text

lblGabung.Caption = "Penggabungan string : " & strGabung lblLeft.Caption = "Hasil Fungsi Left : " & Left(strGabung, CInt(txtSize.Text))

lblRight.Caption = "Hasil Fungsi Right : " & Right(strGabung, CInt(txtSize.Text))

lblMid.Caption = "Hasil Fungsi Mid : " & Mid(strGabung, CInt(txtStart.Text), CInt(txtSize.Text))

lblLength.Caption = "Panjang Karakter : " & Len(strGabung) End Sub

(26)

+ Created: 28/08/2005 Penggunaan Split Text

varResult = Split(strList, strDelimiter, intElemCnt, intCompare)

intCompare diikuti dengan nilai konstanta, dibawah ini:

Constant Value Description

vbUseCompareOption -1 Performs a comparison by using the setting of the Option Compare statement

vbBinaryCompare 0 Performs a binary comparison vbTextCompare 1 Performs a textual comparison

vbDatabaseCompare 2 Performs a comparison based on information in your database (for Microsoft Access only)

Penggunaan Filter

varResult = Filter(varlist, strFind, bolInclude, intCompare

Kombinasi Array dengan join

strResult = Join(varList, strDelimiter)

Contoh Filter Text:

Public strFilter As String Public varFull As Variant Public varFilter As Variant

Private Sub cmdFilter_Click() Dim intRecCnt As Integer Dim intCntr As Integer

varFilter = Filter(varFull, txtDelimiter.Text) intRecCnt = UBound(varFilter)

lstFilter.Clear

For intCntr = 0 To intRecCnt

(27)

+ Created: 28/08/2005 Next End Sub

Private Sub cmdJoin_Click() Dim intRecCnt As Integer Dim intCntr As Integer

If chkDelimit.Value Then

txtFilter.Text = Join(varFilter, txtDelimiter.Text) Else

txtFilter.Text = Join(varFilter) End If

End Sub

Private Sub cmdLoad_Click() Dim intFile As Integer

If Trim(txtNamaFile.Text) = "" Then comDlgOpen.ShowOpen

txtNamaFile.Text = comDlgOpen.FileName End If

If txtNamaFile.Text <> "" Then intFile = FreeFile

Private Sub cmdLoadList_Click() Dim intRecCnt As Integer Dim intCntr As Integer

If chkDelimit.Value Then

varFull = Split(txtFilter.Text, txtDelimiter.Text)

Else

varFull = Split(txtFilter.Text) End If

intRecCnt = UBound(varFull) lstFull.Clear

For intCntr = 0 To intRecCnt

lstFull.AddItem varFull(intCntr) Next

End Sub

Public Sub Form_Load() txtNamaFile.Text = "" lstFull.Clear

(28)

+ Created: 28/08/2005 Konversi Data

Function Comments Example

CBool() Converts a value to a Boolean CBool(-1) CByte() Converts values between 0 and 255 to a Byte Cbyte(254) CCur() Converts a value to Currency CCur("$23.98") CDate() Converts a date expression to a Date data type CDate("July 4, 1776") CDbl() Converts a value to a Double CDbl(MyInt%) CDec() Used only with variants N/A

CInt() Converts a value to an Integer CInt("4")

CLng() Converts a value to a Long CLng(Form1.hWnd) CSng() Converts a value to a Single CSng("23.1") CVar() Converts a value to a Variant CVar(Text1.Text) CStr() Converts a value to a String CStr(MyInt%)

Fungsi Validasi Data

Function Test Condition

IsArray() Returns True if the variable is an array IsDate() Returns True if the expression is a valid date

IsEmpty() Returns True if the variable hasn't been initialized or has been set to empty IsError() Returns True if a numeric expression represents an error

IsMissing() Returns True if no value has been passed to a function IsNull() Returns True if the expression is null or has been set to null IsNumeric() Returns True if the entire expression is a number

(29)

+ Created: 28/08/2005

MODUL VI

ELEMEN-ELEMEN DALAM VISUAL BASIC 6

Menu

Membuat menu sederhana dengan menggunakan Aplication Wizard

Buat project baru dengan memilih New Project dari menu File.

Pilih VB Application Wizard dengan klik dua kali pada iconnya. Setelah tampil dialog Application Wizard tahap pertama, klik Next.

(30)

+ Created: 28/08/2005

Pilih Menu dan Sub Menu yang anda inginkan kemudian klik Finish jika sudah selesai atau klik Next jika akan mengatur tampilan toolbar.

Pilihan Next selanjutnya akan memberikan kebebasan anda untuk memilih icon-icon toolbar yang akan di tampilkan.

(31)

+ Created: 28/08/2005

Membuat menu dengan Menu Editor

1. Buat project baru dengan memilih Standard EXE.

2. Kemudian pilih Menu Editor pada menu Tools atau tekan tombol kombinasi CTRL+E. 3. Kemudian ketik &Edit pada Caption text box dan mnuEdit pada Name text box

4. Klik Next untuk membuat Menu berikutnya, atau tekan panah ke kanan untuk membuat Sub Menu.

5. Nilai Property yang umumnya digunakan dalam pembuatan menu adalah:

Properti Nilai/Tipe Penjelasan

Caption String Text yang akan di tampilkan

Checked Boolean Menampilkan tanda Check (√) pada sub menu.

Enabled Boolean Jika bernilai False maka Caption Menu akan berwarna abu-abu dan tidak bias diklik.

Name String Nama Object Menu.

Shortcut N/A Kombinasi tombol untuk sub menu atau pop up menu.

(32)

+ Created: 28/08/2005

Caption Name Type ShortCut

&File mnuFile Menu Utama

&New mnuFileNew Sub Menu Ctrl-N

&Open mnuFileOpen Sub Menu Ctrl-O

&Save mnuFileSave Sub Menu Ctrl-S

Save &As … mnuFileSaveAs Sub Menu

- sep1 Separator

&Print mnuPrint Sub Menu Ctrl-P

E&xit mnuExit Sub Menu

&Edit mnuEdit Menu Utama

&Copy mnuCopy Sub Menu Ctrl-C

C&ut mnuCut Sub Menu Ctrl-X

&Paste mnuPaste Sub Menu Ctrl-V

7. Klik dua kali pada menu Exit, dan tuliskan perintah seperti di bawah ini:

Private Sub mnuExit_Click() End

End Sub

8. Hasil tampilan menu yang telah dibuat seperti di bawah ini

9. Untuk membuat menu Pop Up untuk menu file, klik dua kali pada Form dan tuliskan perintah di bawah ini pada event Form1_MouseDown:

(33)

+ Created: 28/08/2005

Membuat Menu Kompleks

File Menu Edit Menu

New Undo Open Cut Save Copy Settings Paste About Select All Exit

Object menu dengan menggunakan Menu Editor

Name Caption Level Shortcut

mnuFile &File 0 None itmNew &New 1 None itmOpen &Open 1 None itmSave &Save 1 None sepOne - (a hyphen) 1 None itmSettings Se&ttings 1 None itmBlackOnWhite Black On White 2 None itmWhiteOnBlack White On Black 2 None itmAbout &About 1 None

sepTwo - 1 None

itmExit E&xit 1 None mnuEdit &Edit 0 None itmUndo &Undo 1 Ctrl+Z

sepThree - 1 None

itmCut Cu&t 1 Ctrl+X itmCopy &Copy 1 Ctrl+C itmPaste &Paste 1 Ctrl+V

sepFour - 1 None

(34)

+ Created: 28/08/2005

Tuliskan perintah-perintah di bawah ini:

Private Sub itmBlackOnWhite_Click() txtMain.BackColor = vbWhite txtMain.ForeColor = vbBlack itmBlackOnWhite.Checked = True itmWhiteOnBlack.Checked = False End Sub

Private Sub itmWhiteOnBlack_Click() txtMain.BackColor = vbBlack txtMain.ForeColor = vbWhite itmBlackOnWhite.Checked = False itmWhiteOnBlack.Checked = True End Sub

Menggunakan Object Clipboard

Method Description

Clear Membersihkan data pada Clipboard GetData Mengembalikan graphic dari Clipboard GetFormat Mengembalikan tipe data dalam Clipboard GetText Mengembalikan text dari Clipboard SetData Mengirim graphics ke Clipboard SetText Mengirim Text ke Clipboard

Private Sub itmCopy_Click()

Clipboard.SetText txtMain.SelText End Sub

Private Sub itmPaste_Click() Dim Temp$

Dim strLeft As String Dim strRight As String Dim strFull As String

Temp$ = Clipboard.GetText(vbCFText) txtMain.SelText = Temp$

End Sub

Private Sub itmSelectAll_Click() txtMain.SelStart = 0

(35)

+ Created: 28/08/2005

Bekerja dengan Keyboard dan Mouse

Sistem Operasi Windows merupakan system operasi yang membagi beberapa bagian dari device-independent hardware seperti monitor, printer, keyboard, mouse dari program aplikasi.

Contoh penggunaan Keypress Event

Private Sub txtKey_KeyPress(KeyAscii As Integer) Dim strKeyPressed As String

Dim strAscii As String Dim Msg As String

strKeyPressed = Chr(KeyAscii) strAscii = CStr(KeyAscii)

Msg = "Kode ASCII : " & strAscii

Msg = Msg & ", " & "Karakter: " & strKeyPressed MsgBox Msg

End Sub

Bekerja dengan KeyUp dan KeyDown Event

Tabel perbedaan nilai pada parameter Shift

Combination Key(s) Held Down Value

Shift 1

Ctrl 2

Alt 4

Shift+Ctrl 3

Shift+Alt 5

Ctrl+Alt 6

(36)

+ Created: 28/08/2005

Table konstanta untuk parameter KeyCode

Constant Key Constant Key

vbKeyLButton Left mouse button vbKeyRight → vbKeyRButton Right mouse button vbKeyDown ↓

vbKeyCancel Cancel vbKeySelect Select

vbKeyMButton Middle mouse button vbKeyPrint Print Screen

vbKeyBack Backspace vbKeyExecute Execute

vbKeyTab Tab vbKeySnapshot Snapshot

vbKeyClear Clear vbKeyInsert Insert

vbKeyReturn Enter vbKeyDelete Delete

vbKeyShift Shift vbKeyHelp Help

vbKeyControl Ctrl vbKeyNumlock Num Lock

vbKeyMenu Menu vbKeyA through vbKeyZ Althrough Z, respectively

vbKeyEscape Esc through vbKeyNumpad9

vbKeySpace Spacebar vbKeyMultiply Multiplication sign (*) on number pad

vbKeyPageUp Page Up vbKeyAdd Plus sign (+) on

number pad

vbKeyPageDown Page Down vbKeySeparator Enter on number pad

vbKeyEnd End vbKeySubtract Minus sign (-) on

(37)
(38)

+ Created: 28/08/2005

Menggunakan property KeyPreview pada Form = True

Private Sub Form_KeyPress (KeyAscii As Integer) txtForward.SetFocus

txtBackward.Text = Chr(KeyAscii) & txtBackward.Text txtAscii.Text = txtAscii.Text & CStr(KeyAscii) & "," End Sub

Bekerja dengan Mouse

Table nilai pada parameter Button Mouse

Mouse Button(s) Pressed Button Parameter Value

Left 1

Right 2

Left and right 3

Middle 4

Left and middle 5 Right and middle 6

All 7

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Dim intCntr As Integer For intCntr = 0 To 10000

Form1.Caption = CStr(intCntr) Next

End Sub

Private Sub lblClear_Click() Picture1.Cls

(39)

+ Created: 28/08/2005

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Dim strShift As String

lblStatMouse.Caption = "Mouse Down" Select Case Button

lblKeyboard.Caption = strShift End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Dim strX, strY As String

strX = CStr(X / Screen.TwipsPerPixelX) strY = CStr(Y / Screen.TwipsPerPixelY) Picture1.Line -(X, Y)

lblKursor.Caption = "X: " & strX & " , Y: " & strY lblStatMouse.Caption = "Mouse Move"

End Sub

Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

(40)

+ Created: 28/08/2005

Waktu dan Formatnya

Contoh program untuk menampilkan waktu.

Private Sub Form_Load()

lblTime.Caption = CStr(Time) lblDate.Caption = CStr(Date) lblDateTime.Caption = CStr(Now) End Sub

Private Sub Timer1_Timer() lblTime.Caption = CStr(Time) End Sub

Menggunakan fungsi format:

MyString$ = Format(Expression[, Format_String[, _ FirstDayofWeek[, FirstWeekOfYear]]])

Tabel penggunaan fungsi Format untuk Date dan Time

Format String Example Result

"Long Date" Format(36000, "Long Date") Friday, July 24, 1998 "Medium Date" Format(36000, "Medium Date") 24-Jul-98

"Short Date" Format(36000, "Short Date") 7/24/98 "Long Time" Format(0.874, "Long Time") 8:58:34 p.m. "Medium Time" Format(0.874, "Medium Time") 08:58 p.m. "Short Time" Format(0.874, "Short Time") 20:58

Tabel penggunaan fungsi Format untuk Numerik

Format String Example Result

"General Number" Format(36000, "General Number") 36000 "Currency" Format(36000, "Currency") $36,000.00 "Fixed" Format(36000, "Fixed") 36000.00 "Standard" Format(36000, "Standard") 36,000.00 "Percent" Format(36000, "Percent") 3600000.00% "Scientific" Format(36000, "Scientific") 3.60E+04 "Yes/No" Format(36000, "Yes/No") Yes "True/False" Format(36000, "True/False") True "On/Off" Format(36000, "On/Off") On

Atau dapat pula menggunaka Format(235.6, "###,##0.00") untuk menghasilkan 235.60,.

Menghitung perbedaan tanggal dengan menggunakan Datediff:

MyLong = DateDiff(Interval, Start_Date, End_Date[,FirstDayOfWeek[, FirstWeekOfYear]])

Tabel penggunaan fungsi Datediff

Value Interval Usage Return Value

(41)

+ Created: 28/08/2005

"m" Month DateDiff("m", "7/4/76", "7/4/86") 120 "y" Day of year DateDiff("y", "7/4/76", "7/4/86") 3652 "d" Day DateDiff("d", "7/4/76", "7/4/86") 3652 "w" Weekday DateDiff("w", "7/4/76", "7/4/86") 521 "ww" Week DateDiff("ww", "7/4/76", "7/4/86") 521 "h" Hour DateDiff("h", "7/4/76", "7/4/86") 87648 "n" Minute DateDiff("n", "7/4/76", "7/4/86") 5258880 "s" Second DateDiff("s", "7/4/76", "7/4/86") 315532800

Gunakan fungsi IsDate() untuk menyakinkan bahwa data tersebut merupakan tipe data Date.

Dim tglLahir As Date

Private Sub cmdStart_Click()

If Not IsDate(txtTglLahir.Text) Then Timer1.Enabled = False

lblDetik.Caption = "" lblHari.Caption = "" lblTahun.Caption = ""

MsgBox "Tuliskan tanggal lahirmu dengan benar (dd/mm/yyyy) !", vbCritical, "Data Error Boo"

txtTglLahir.SetFocus Exit Sub

End If

tglLahir = CDate(txtTglLahir.Text) Timer1.Enabled = True

End Sub

Private Sub Timer1_Timer() Dim usiaDetik As Long Dim usiaHari As Long Dim usiaTahun As Long

usiaDetik = DateDiff("s", tglLahir, Now) usiaHari = DateDiff("d", tglLahir, Now) usiaTahun = DateDiff("yyyy", tglLahir, Now)

(42)

+ Created: 28/08/2005

Menambahkan Graphic pada Form

Contoh membuat Tombol bergambar dengan menggunalan control image.

Buat empat image control dengan ukuran yang sama pada form kemudian stretch property jadikan nilai True. Berikan nama masing-masing keempat image tersebut dengan nama imgMain, imgMUp, imgMDown dan imgMMove serta berikan masing-masing tiga image (imgMUp, imgMDown, imgMMove) dengan gambar yang telah ditentukan pada property Picture dan berikan nilai False pada property Visible seperti di bawah ini:

Kemudian tuliskan kode seperti di bawah ini:

Private Sub Form_Load()

imgMain.Picture = imgMUp.Picture End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

If (X >= imgMain.Left) And (X <= (imgMain.Left + imgMain.Width)) And (Y >= imgMain.Top) And (Y <= (imgMain.Top + imgMain.Height)) Then

imgMain.Picture = imgMMove.Picture Else

imgMain.Picture = imgMUp.Picture End If

End Sub

Private Sub imgMain_Click() MsgBox "Hai, it's works....!" End Sub

Private Sub imgMain_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

imgMain.Picture = imgMDown.Picture End Sub

Private Sub imgMain_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

imgMain.Picture = imgMMove.Picture End Sub

Private Sub imgMain_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

(43)

+ Created: 28/08/2005

Bekerja dengan File untuk menyimpan dan menerima data

Menyimpan data dengan statemen open:

Open FilePath [For Mode] [Access AcessType [LockType] As [#]FileNumber [Len=CharInBuffer%]

Tabel file Mode

Menerima data dengan statemen Input:

Line Input #FileHandle, strBuffer

Contoh program:

Private Sub cmdClose_Click() End

End Sub

Private Sub cmdOpen_Click() Dim strNamaFile As String Dim fHandle As Integer Dim strBuffer As String Dim defMsPointer As Integer

dlgFile.DialogTitle = "Buka File Text" dlgFile.ShowOpen

If dlgFile.FileName <> "" Then strNamaFile = dlgFile.FileName

Mode Description

Append Menambah data pada file yang sudah ada, jika tidak ada maka file akan dibuat.

Binary Membuka file biner, jika tidak ada, file akan dibuat Input Membuka file untuk dibaca

(44)

+ Created: 28/08/2005

Private Sub cmdSave_Click() Dim strNamaFile As String Dim fHandle As Integer Dim strBuffer As String Dim defMsPointer As Integer

dlgFile.DialogTitle = "Simpan File Text" dlgFile.ShowSave

dlgFile.DefaultExt = "txt" If dlgFile.FileName <> "" Then strNamaFile = dlgFile.FileName

Private Sub Form_Load()

dlgFile.Filter = "File Text (*.txt)|*.txt|All Files (*.*)|*.*" End Sub

Bekerja dengan Object File System

(45)

+ Created: 28/08/2005

Table FileSystem Objects

Name Description

Drive Mengakses system Drive. Misalnya CD-ROM drives, RAM disks, atau mapped network drives.

Folder Mengakses direktori (folder).

File Membuka, membuat dan memindahkan file FileSystemObject Digunakan untuk mengakses object filesystem lain TextStream Membaca, menulis dan menambah file text

Contoh Program:

Private Sub cmdBuka_Click() Dim strStat As String

Dim ofile As New FileSystemObject Dim fo As File

strStat = "" dlgOpen.ShowOpen

If dlgOpen.FileName <> "" Then

Set fo = ofile.GetFile(dlgOpen.FileName)

strStat = "Nama File : " & fo.Name & vbCrLf strStat = strStat & "Path : " & fo.Path & vbCrLf

strStat = strStat & "Tgl. Dibuat : " & fo.DateCreated & vbCrLf

strStat = strStat & "Tgl. Dimodifikasi : " & fo.DateLastModified & vbCrLf

strStat = strStat & "Tgl. Diakses : " & fo.DateLastAccessed & vbCrLf strStat = strStat & "Size : " & fo.Size & " byte (Karakter)" & vbCrLf strStat = strStat & "Tipe : " & fo.Type & vbCrLf

strStat = strStat & "Parent : " & fo.ParentFolder & vbCrLf End If

(46)

+ Created: 28/08/2005

MODUL VII

PEMROGRAMAN OOP DAN WINDOWS API

Membuat User-Defined Type

Type TypeName

Elements as DataType ...

End Type

Contoh:

Type Music

Composer As String Piece As String End Type

LISTING 26.3 26LIST03.TXT--Implementing a User-Defined Type Dim MyMusic As Music

Dim Msg$

MyMusic.Composer = txtComposer.Text MyMusic.Piece = txtPiece.Text

Msg$ = "Composer: " & MyMusic.Composer & vbCrLf Msg$ = Msg$ & "Piece: " & MyMusic.Piece

MsgBox Msg$

Class dapat disamakan dengan User-Defined Type, kecuali ada penambahan data dan prosedur. Class merupakan kumpulan dari property dan prosedur. Sedangakn object adalah instansi dari Class.

Contoh:

File Class Module (CSimpleMath)

Private m_NumToAdd As Integer Private m_Total As Integer

Private Sub AddNum()

m_Total = m_Total + m_NumToAdd End Sub

Public Property Get NumToAdd() As Integer NumToAdd = m_NumToAdd

End Property

Public Property Let NumToAdd(ByVal vNewValue As Integer) m_NumToAdd = vNewValue

AddNum End Property

Public Property Get Total() As Variant Total = m_Total

(47)

+ Created: 28/08/2005

Public Property Let Total(ByVal vNewValue As Variant) m_Total = vNewValue

End Property

File Form1

Option Explicit

Dim oMath As New CSimpleMath

Private Sub cmdAdd_Click()

If IsNumeric(txtNum.Text) Then

oMath.NumToAdd = CInt(txtNum.Text) lblAdd.Caption = CStr(oMath.Total) End If

End Sub

Pengertian Windows API

Windows Application Programming Interface (API) adalah sekumpulan ratusan fungsi yang dibuat oleh system operasi windows yang biasanya terdapat pada file DLL (dynamic link library file system windows). Cara mendelarasikan fungsi tersebut adalah:

Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) As Long

Declare : keyword yang mendeklarasikan prosedur eksternalFunction : tipe prosedur

GetCursorPos : nama prosedur

Lib : keyword yang menentukan lokasi dimana fungsi tersebut berada. "user32" : adalah nama file DLL

Alias : keyword nama acuan fungsi yang digunakan "GetCursorPos" : nama fungsi pada file DLL tersebut lpPoint : variable parameter

As POINTAPI/As Long : tipe argumen POINTAPI : tupe argumen

Long : tipe pengembalian nilai fungsi

Untuk melihat fungsi-fungsi API yang ingin anda gunakan, dapat dilakukan dengan cara menambah tool pada Add-In manager seperti di bawah ini:

1. Pilih Add-In Manager dari menu Visual Basic's Add-Ins. 2. Pilih VB 6 API Viewer dari daftar Available Add-Ins.

3. Dalam sesi Load Behavior di sudut kanan bawah di Add-In Manager dialog, pilih Load on Startup.

4. klik OK.

5. Close Visual Basic dan restart it.

6. Pilih API Viewer dari menu Add-Ins untuk membuka API Viewer window.

Untuk meng-konfigurasikan API Viewer lakukan seperti di bawah ini: 1. Jalankan API Viewer.

2. Pilih Load Text File dari menu File.

3. Pilih file Win32API.txt dari Open File dialog.

(48)

+ Created: 28/08/2005

Contoh program menggunakan Windows API:

List Code in Module1

Public Type POINTAPI X As Long Y As Long End Type

Public Const HWND_NOTOPMOST = -2 Public Const HWND_TOPMOST = -1 Public Const SWP_NOMOVE = &H2 Public Const SWP_NOSIZE = &H1

Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Public Const WM_NCLBUTTONDOWN = &HA1 Public Const HTCAPTION = 2

Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Public Declare Function ReleaseCapture Lib "user32" () As Long

Public Function MousePos() As String Dim MyPointAPI As POINTAPI

Dim strReport As String Dim cm As Long

(49)

+ Created: 28/08/2005

cm = GetCursorPos(MyPointAPI)

strReport = "X=" & CStr(MyPointAPI.X) & ", "

strReport = strReport & "Y= " & CStr(MyPointAPI.Y)

If cm > 0 Then

Public Function SetWinPos(iPos As Integer, lHWnd As Long) As Boolean Dim lWinPos As Long

List Code In Form1

Option Explicit

Private Sub chkTop_Click() Dim b As Boolean

MsgBox "Positioning Error", vbCritical, "Program Error" End If

End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Dim l As Long

If Button = 1 And chkDrag.Value = 1 Then ReleaseCapture

l = SendMessage(Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0) End If

(50)

+ Created: 28/08/2005

Private Sub Form_Terminate() Timer1.Enabled = False End Sub

Private Sub Timer1_Timer()

(51)

+ Created: 28/08/2005

MODUL VIII

PEMROGRAMAN DATABASE

Elemen Dasar Database

Elemen Keterangan

Database Sekelompok tabel data yang berisi informasi yang salinfg berhubungan Table Seklompok data record, setiapnya berisi tipe informasi yang sama. Record Entri tunggal dalam tabel, berisi sejumlah field data.

Field Item data pada field dalam sebuha record.

Index Tipe khusus pada table yang berisi kunci sebagai penunjuk lokasi data.

Beberapa tipe data yang terdapat pada Jet Database Engine (Ms Access)

Tipe Keterangan Size/Range

Text Character strings 255 characters maximum Memo Long character strings Up to 1.2GB

Byte Integer (numeric data) 0 to 255

Integer Integer (numeric data) -32,768 to 32,767

Long Integer (numeric data) -2,147,483,648 to 2,147,483,647 Counter Long integer,

automatically incremented

Single Real (numeric data) -3.402823E38 to -1.401298E-45 for negative values and from 1.401298E-45 to 3.402823E38 for positive values

Type Description Size/Range

Double Real (numeric data) -1.79769313486232E308 to -4.94065645841247E-324 for negative values and from 4.94065645841247E-324 to 1.79769313486232E308

Currency Real (numeric data) -922,337,203,685,477.5808 to 922,337,203,685,477.5807 Yes/No Logical/Boolean

Date Date and time values

(52)

+ Created: 28/08/2005

Membuat Database dan Tabel

Untuk membuat database dengan Visual Data Manager, dengan langkah-langkah sebagai berikut:

pilih menu Add-Ins pada menu utama Visual Basi, kemudian klik Visual Data Manager.

Pilih: File ->New ->Microsoft Access->Version 7.0 MDB. Berikan nama database yang akan dibuat. Misalnya data1.

(53)

+ Created: 28/08/2005

Kemudian klik Add Field dan buatlah beberapa field seperti di bawah ini:

Name Type Size

NO_ID Text 10

NAMA Text 30

ALAMAT Text 50

TEMPAT_LAHIR Text 15 TGL_LAHIR Date/Time

USIA Integer

berikutnya adalah membuat Index, klik Add Index, kemudian buat index dengan ketentuan sebagai berikut:

Name Available Fields Keterangan

ID NO_ID Primary, Unique

NAMA_IDX NAMA

setelah selesai close window kemudian, klik Build Table.

DATA KONTROL

Kontrol data merupakan interface yang menghubungkan sebuah form dengan file database. Ada beberapa hal yang harus diperhatikan pada saat menghubungkan Data kontrol dengan file database, diantaranya adalah:

Connect : hubungan file data, bias bersumber dari Access, Dbase, Excel, Foxpro, Lotus, Paradox dan File Text.

Database Name: nama file database yang digunakan. Record Source: diisi table yang digunakan.

EOF Action: memeriksa pergerakan kursor

(54)

+ Created: 28/08/2005

Record Set adalah status record yang menunjukkan tindakan apa yang akan dilakukan terhadap record tersebut dengan beberapa metode antara lain:

Metode Keterangan

AddNew Menambah Record Baru

MoveFirst Pindah ke record pertama

MovePrevious Pindah satu record sebelumnya

MoveNext Pindah satu record berikutnya

MoveLast Pindah ke record terakhir

Delete Menghapus record

FindFirst Mencari dari record pertama

NoMatch Record yang dicari tidak ditemukan

EOF Posisi di record yang terakhir

BOF Posisi di record yang pertama

Edit Mengubah record

Update Menyimpan perubahan record

CancelUpdate Membatalkan perubahan record

Contoh Program dengan menggunakan Data Kontrol.

Buatlah layout seperti di bawah ini:

atur property tiap kontrol seperti di bawah ini:

Kontrol Properti Nilai

Form1 Caption Biodata

Data1

Label3 Caption Alamat

Label4 Caption Tempat Lahir Label5 Caption Tgl. Lahir

Label6 Caption Usia

(55)

+ Created: 28/08/2005

Command1 Name Caption

cmdFirst << Command2 Name

Caption

cmdPrev < Command3 Name

Caption

cmdNext >

Command4 Name Caption cmdLast >>

Command5 Name Caption

cmdNew New Command6 Name

Caption

cmdSave Save Command7 Name

Caption

cmdUndo Undo

Command8 Name Caption cmdEdit Edit

Command9 Name Caption

cmdDel Del Command10 Name

Caption

cmdFind Find

Command11 Name Caption cmdExit Exit

Listing Programnya:

Option Explicit

Dim bolAdd As Boolean

(56)

+ Created: 28/08/2005

Private Sub cmdDel_Click() Dim r As Integer

r = MsgBox("Anda yakin akan menghapus data ini ?", vbYesNo, "Tanya") If r = vbYes Then

Private Sub cmdEdit_Click() dbData1.Recordset.Edit TextBoxUnLocked

End Sub

Private Sub cmdExit_Click() End

End Sub

Private Sub cmdFind_Click()

Dim sNoID As String * 10 'dbData1.Recordset.FindFirst sFind

dbData1.Recordset.Index = "ID" dbData1.Recordset.Seek "=", sNoID If dbData1.Recordset.NoMatch Then

MsgBox "Data tidak ditemukan !", vbOKOnly, "Informasi" End If

End Sub

Private Sub cmdFirst_Click() dbData1.Recordset.MoveFirst End Sub

(57)

+ Created: 28/08/2005 End Sub

Private Sub cmdNew_Click() bolAdd = True

dbData1.Recordset.AddNew TextBoxEmpty

TextBoxUnLocked End Sub

Private Sub cmdNext_Click() dbData1.Recordset.MoveNext If dbData1.Recordset.EOF Then dbData1.Recordset.MoveLast

MsgBox "Data in last record", vbOKOnly, "Informasi" End If

End Sub

Private Sub cmdPrev_Click()

dbData1.Recordset.MovePrevious If dbData1.Recordset.BOF Then dbData1.Recordset.MoveFirst

MsgBox "Data in the first record !", vbOKOnly, "Informasi" End If

End Sub

Private Sub cmdSave_Click() dbData1.Recordset.Update TextBoxLocked

End Sub

Private Sub cmdUndo_Click()

dbData1.Recordset.CancelUpdate dbData1.Recordset.MoveLast TextBoxLocked

End Sub

Private Sub Form_Load() TextBoxLocked

(58)

+ Created: 28/08/2005

Menampilkan Data dengan DBGRID

Buat Form baru dengan dengan tampilan sebagai berikut:

Jika icon DBGrid belum ada, maka tambahkan melalui menu Project->Component (Ctrl+T), kemudian pilih Microsoft Data Bound Grid Control 5.0 (SP3).

Atur property setiap kontrol dengan ketentuan sebagai berikut:

Kontrol Properti Nilai

Form1 Caption Biodata

Data1

Name Caption Connect DatabaseName RecordsetType RecordSource

dbData1 Data1 Access

C:\My Documents\data1.mdb 0 - Table

biodata DBGrid1 Name

DataSource

(59)

+ Created: 28/08/2005

Kemudian jalankan dengan menggunakan tombol F5.

Dengan menggunakan DBGrid, kita dapat pula melakukan penambahan, penghapusan serta pengeditan data.

TO BE CONTINUED………

Sumber Pustaka:

Que, Using Visual Basic 6, Macmillan Computer Publishing, Indiana Polis.

Gambar

gambar di bawah ini:
Tabel 1 Komponen Kontrol pada toolbox
Gambar dan
Table operator relasi
+7

Referensi

Dokumen terkait

Menu input terdiri dari menu input data guru, menu input data siswa, menu input data wali kelas, menu input data karyawan dan menu input mapel. Menu-menu

Langkah-langkah untuk mengatur latar belakang slide : Klik format | background dari menu bar, atau klik kanan pada slide kemudian pilih background sehingga muncul gambar

Cara menambahkan slide baru dalam Microsoft PowerPoint adalah sebagai berikut : Pilih Insert pada menu bar, kemudian Klik New Slide atau dengan menekan tombol Ctrl+M

o Pilih dan klik menu Edit, Paste atau tekan tombol Ctrl+V, cara lain dengan menempatkan penunnjuk mouse tetap pada posisi sel dimana hasil copy akan diletakkan ( G2 )