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

  • 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

  • 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

  merupakan komponen-komponen atau kontrol yang dibuat untuk dapat digunakan oleh beberapa pemrograman Visual lainnya seperti Visual C++, Visual Fox Pro, dll).

  • Created: 28/08/2005 2. Di dalam dialog Components, pilih Microsoft Common Controls 2-6.0 dan klik OK.

  Komponen yang ditambahkan

  Menambahkan komponen Month View pada Form

  • 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

  • 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.

  • 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”.

  5. Klik pada Form, kemudian pilih 3-Fixed Dialog pada BorderStyle Properti.

  6. Simpan Project dan jalankan (F5).

  • 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

  • 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

  • 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

  • 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 Jalankan program dengan menekan F5.

  • Created: 28/08/2005

  

MODUL III

Menggunakan Tipe Data, Konstanta dan Variabel

Deklarasi Variabel

  Dim nama_var as TypeDataDim 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

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

  • Command1 Caption Font 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.

  • 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

  • Created: 28/08/2005

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 yang 8 bytes 922,337,203,685,477.5808 to mempunyai 15 digit 922,337,203,685,477.5807 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

  • 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 *, /
  • Created: 28/08/2005

  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

  • Created: 28/08/2005

  txtTinggiTembok.SetFocus Exit Sub 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

  • Created: 28/08/2005

  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

  • 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

  • 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

  • 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

  • Created: 28/08/2005

  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

  • 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

  Array 2 Dimensi Array 3 Dimensi

  • 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:

  • Created: 28/08/2005

  Private Sub cmdClrCombo_Click() cboDown.Clear cboSimple.Clear cboList.Clear End Sub Private Sub cmdClrList_Click() lstListBox.Clear End Sub Private Sub cmdClrText_Click() txtAdd.Text = "" End Sub

Manipulasi String

  Fungsi untuk membalikan huruf adalah:

  strResult = StrReverse(strMyString)

  contoh: Private Sub cmdFungsi_Click() txtHasil.Text = StrReverse(txtAsal.Text) End Sub Private Sub cmdKode_Click() Dim intLength As Integer Dim intCntr As Integer intLength = Len(txtAsal.Text) txtHasil.Text = ""

  For intCntr = 1 To intLength txtHasil.Text = Mid(txtAsal.Text, intCntr, 1) & txtHasil.Text Next intCntr End Sub Private Sub Form_Load() txtAsal.Text = "CINTA PERTAMA TAK AKAN TERLUPAKAN" txtHasil.Text = "" End Sub

Mengganti Karakter pada string

  strResult = Replace(strMyString, strFind, strRplWith, _

  intStart, intCnt, intCompare)

  • Created: 28/08/2005

  Private Sub cmdClose_Click() End End Sub Private Sub cmdGanti_Click() If txtCari.Text = "" Or txtGanti = "" Then MsgBox "String Kosong !", vbExclamation, "Error String" Else txtAsal.Text = Replace(txtAsal.Text, txtCari.Text, txtGanti.Text) End If End Sub Private Sub Form_Load() txtAsal.Text = "Cinta adalah sesuatu yang ....???" txtCari.Text = "Cinta" txtGanti.Text = "Combro" End Sub

Contoh Manipulasi String:

  Private Sub cmdRun_Click() Dim strGabung As String strGabung = txtStr1.Text & txtStr2.Text lblGabung.Caption = "Penggabungan string : " & strGabung lblLeft.Caption = "Hasil Fungsi Left : " & Left(strGabung, CInt(txtSize.Text))

  • 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 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:

  • 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 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 = ""

  • 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 IsObject() Returns True if the expression is an object

  • Created: 28/08/2005

  

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

  • 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.

  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.

  • 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.

  6. Buat contoh menu dengan ketentuan seperti di bawah ini:

  • Created: 28/08/2005

Caption Name Type ShortCut

  &File mnuFile Menu Utama &New mnuFileNew Sub Menu Ctrl-N &Open mnuFileOpen Sub Menu Ctrl-O &Save mnuFileSave Sub Menu Ctrl-S Save &As … mnuFileSaveAs Sub Menu

  • sep1 Separator &Print mnuPrint Sub Menu Ctrl-P E&xit mnuExit Sub Menu &Edit mnuEdit Menu Utama &Copy mnuCopy Sub Menu Ctrl-C C&ut mnuCut Sub Menu Ctrl-X &Paste mnuPaste Sub Menu Ctrl-V

  7. Klik dua kali pada menu Exit, dan tuliskan perintah seperti di bawah ini: Private Sub mnuExit_Click() End End Sub

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

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

  • Created: 28/08/2005

Membuat Menu Kompleks

File Menu Edit Menu

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

  Object menu dengan menggunakan Menu Editor

Name Caption Level Shortcut

  mnuFile &File 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 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

  • 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 txtMain.SelLength = Len(txtMain.Text) End Sub

  • 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

  • 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 vbKeyPause Pause vbKey0 through vbKey9 0 (zero) through 9, respectively vbKeyCapital Caps Lock vbKeyNumpad0 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

  • Created: 28/08/2005

  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

  • 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

  • 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 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

  • 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

  • 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

  • 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

  • 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

  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:

  • Created: 28/08/2005

  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).

  • 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 &

  • Created: 28/08/2005

  

MODUL VII

PEMROGRAMAN OOP DAN WINDOWS API

Membuat User-Defined Type

  Type TypeName Elements as DataType ...

  End Type

Dokumen yang terkait

Dokumen baru