Anda di halaman 1dari 134

1

BAB I
PENGENALAN VISUAL BASIC

Basic adalah salah suatu developement tools untuk membangun aplikasi dalam
lingkungan Windows. Dalam pengembangan aplikasi, Visual Basic menggunakan
pendekatan Visual untuk merancang user interface dalam bentuk form, sedangkan untuk
kodingnya menggunakan dialek bahasa Basic yang cenderung mudah dipelajari. Visual
Basic telah menjadi tools yang terkenal bagi para pemula maupun para developer. Visual
Basic adalah bahasa pemrograman berbasis Microsoft Windows yang merupakan Object
Oriented Programming (OOP), yaitu pemrograman berorientasi objek, Visual Basic
menyediakan objek-objek yang sangat kuat, berguna dan mudah.
Dalam lingkungan Windows, User-interface sangat memegang peranan penting,
karena dalam pemakaian aplikasi yang kita buat, pemakai senantiasa berinteraksi dengan
User-interface tanpa menyadari bahwa dibelakangnya berjalan instruksi-instruksi
program yang mendukung tampilan dan proses yang dilakukan.
Pada

pemrograman

Visual,

pengembangan

aplikasi

dimulai

dengan

pembentukkan user interface, kemudian mengatur properti dari objek-objek yang


digunakan dalam user interface, dan baru dilakukan penulisan kode program untuk
menangani kejadian-kejadian (event). Tahap pengembangan aplikasi demikian dikenal
dengan istilah pengembangan aplikasi dengan pendekatan Bottom Up.
Ada beberapa hal yang harus dipahami dalam mempelajari Visual Basic :

Objek
Sering disebut entity adalah sesuatu yang bisa dibedakan dengan lainnya. Pada
dasarnya seluruh benda didunia ini bisa dikatakan sebagai objek, contoh : mobil,
komputer, radio, dan lain-lain.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

Dalam Visual Basic objek-objek yang dimaksud disebut kontrol. Jenis-jenis kontrol
antara lain ; Label, Text Box, Combo Box, List Box, dan masih banyak lagi.

Properti
Sering disebut atribut, adalah ciri-ciri yang menggambarkan uatu objek. Misalnya
disebut objek mobil jika mempunyai ban, spion, rem, dan lain-lain.

Event
Suatu kejadian yang menimpa objek. Bagaimana jika mobil didorong, ditabrak, dicat,
dan sebagainya.

Metode
Kemampuan yang dimiliki oleh suatu objek. Contohnya jika mobil berbelok, mundur,
maju.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

BAB II
LINGKUNGAN KERJA VISUAL BASIC

2.1. Komponen Visual Basic


a. Project adalah sekumpulan modul/program aplikasi itu sendiri, projek
disimpan dalam file berextension .VBP biasanya berisi form-form.
Ada tiga icon dalam projek
; View Code

: tampilkan jendela editor program

; View Object : tampilkan bentuk formulir


; Togle Folder : tampilkan folder tempat penyimpanan file
b. Form adalah objek yang dipakai untuk tempat bekerja program aplikasi. Di
dalamnya tempat diletakan objek-objek lainnya. Di dalam form ada grid (garis
titik-titik yang berguana untuk pengaturan letak).
c. Toolbox kotak alat berisi icon-icon atau komponen untuk memasukan objek
tertentu kedalam form.
Tambah komponen : klik kanan pada toolbox -> komponen atau add tab
d. Propertis adalah untuk menentukan setting suatu objek, menentukan cara kerja
dari objek saat program dijalankan misal warna, hurup dan lain-lain.
e. Kode program adalah serangkaian tulisan perintah yang akan dilaksanakan jika
suatu objek dijalankan

Modul Visual Basic/D3

Agus Muhardi Alga Musa

2.2. Latihan
Soal 1 (perancangan interface):
Perancangan interface dilakukan 3 tahap :
1) Membuat interface :

Siapkan form baru.

Letakkan TextBox dan CommandButton di dalam form.

2) Mengatur properti :
Untuk mengatur properti, sesuaikan dengan tabel di bawah ini :
Objek
Form
TextBox
CommandButton

Properti
Nilai
Caption Program perkenalan
Text
(kosongkan)
Caption Perkenalan

3) Menulis kode
Untuk menuliskan program, klik ganda pada tombol CommandButton
(Perkenalan), lalu ketikkan program di bawah ini :

Modul Visual Basic/D3

Agus Muhardi Alga Musa

Untuk menjalankan program, tekan tombol F5.


Jika program sudah tampil, klik pada tombol Perkenalan, dan hasilnya seperti
tampilan di bawah ini :

Soal 2 :
Buatlah form seperti di bawah ini
Dari jendela properti, ubahlah :
Name : frmCoba
Caption : Percobaan Pertama
ControlBox : False
MaxButton : False
MinButton : False
Pada form tersebut tampilkan 3 kejadian :
1) Saat program dijalankan : Latar belakang form berwarna biru.
2) Jika form di klik :

Latar belakang form berwarna hijau.

Judul form berubah : Model Huruf.

Tampil tulisan Times New Roman dengan variasinya.

3) Jika melakukan klik ganda pada form : Program dihentikan.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

Soal 3 :
Contoh di bawah ini menggunakan Textbox dengan event Change dan
metode Setfocus. Event Change adalah kejadian yang menyatakan objek tertentu
sedang

berubah

nilainya.

Seangkan

metode

Setfocus

berfungsi

untuk

memindahkan mouse pointer ke objek yang dituju.


Pada saat Text1 diisi dengan kalimat, maka Label1 dan Label2 akan
menampilkan isi text tersebut masing-masing huruf kecil dan huruf kapital. Jika
tombol clear (Command1) ditekan, isi text dibersihkan.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

Modul Visual Basic/D3

Agus Muhardi Alga Musa

BAB III
KONSTANTA & VARIABEL

Variabel adalah suatu tempat untuk menampung data yang nilainya selalu
berubah. Sedangkan konstanta adalah suatu tempat untuk menampung data yang nilainya
selalu tetap dan tidak pernah berubah.

3.1. Aturan Penamaan Konstanta & Variabel


o Harus diawali huruf.
o Boleh terdiri dari huruf, angka, dan garis bawah.
o Maksimal 255 karakter.
o Tidak boleh menggunakan reserved word.

3.2. Deklarasi Konstanta & Variabel


Deklarasi konstanta
Bentuk umum :
[Public | Private] Const nama_konstanta [AS tipe_konstanta] = eksplisit
Contoh :
Public Const POTONGAN = 0.05
Const NAMAPERSH = PT ABC
Contoh penggunaan dalam program
Const HARGA As Currency = 1000
Dim Biaya As Currency
Dim Jumlah As Integer
proses
Biaya = HARGA * Jumlah
proses

Modul Visual Basic/D3

Agus Muhardi Alga Musa

Deklarasi variabel
Bentuk umum :
Dim <nama_variabel> [AS <tipe_variabel>]

Pendeklarasian varibel ada 2 jenis :


1) Deklarasi Eksplisit
Untuk mendeklarasikan nama variabel beserta tipe datanya pada awal
procedure (menempatkan alokasi nama variabel didalam memori), contohnya
sebagai berikut :
Dim Nama as String
Dim Alamat as String *3 0
Dim Gaji as Long

2) Deklarasi Implisit
Untuk mendeklarasikan nama variabel beserta tipe datanya dan langsung
mengisi nilai variabelnya (menempatkan alokasi nilai variabel langsung
didalam memori), contohnya sebagai berikut :
Nama$ = Adi
Alamat$ = Kelapa Gading
Gaji$ = 1750000

3.3. Ruang Lingkup Konstanta & Variabel


Ruang lingkup konstanta atau variabel adalah ruang atau daerah dimana
konstanta atau variabel yang dibuat dikenal (dapat dipakai) biasanya juga
berhubungan dengan umur (waktu hidup) konstanta atau variabel.
Ada variabel yang dikenal diseluruh bagian program, ada yang hanya
dikenal di procedure tempat variabel tersebut dibuat. Ruang lingkup paling dalam

Modul Visual Basic/D3

Agus Muhardi Alga Musa

10

adalah lingkup procedure dengan perintah Dim, Private atau Static maka variabel
tersebut mempunyai ruang lingkup procedure, contoh :
Private Sub CmdTambah_Click()
Dim Nama as String
Dim Alamat as String * 30
Static No as Integer
End Sub

Deklarasi variabel pada Visual Basic dapat dilakukan dengan Keyword berikut :
Keyword

Digunakan pada

Public

Berlaku pada level modul

Private

Berlaku pada level modul

Dim

Berlaku pada level modul dan level procedure

Static
Berlaku pada level procedure
Tabel 1-2. Keyword pada deklarasi variabel

Modul Visual Basic/D3

Agus Muhardi Alga Musa

11

3.4. Latihan
Soal 1:
Buatlah form baru dan tambahkan kode untuk event klik pada form tersebut.

Soal 2 (variabel lokal)


Buatlah form dan ketik kode program seperti di bawah ini :

Setelah tombol Sub2 diklik, x dan y dalam modul Sub2 tidak ada isinya karena
tidak bisa memanggil variabel yang ada dalam modul Sub1.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

12

Soal 3 (variabel lokal)


Buatlah form dan ketik kode program seperti di bawah ini :

Dalam modul Sub2 x dan y telah didefinisikan, sehingga jika Sub2 diklik maka
akan menampilkan hasil.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

13

Soal 4 (variabel global)


Buatlah form dan ketik kode program seperti di bawah ini :

Modul Visual Basic/D3

Agus Muhardi Alga Musa

14

Modul Visual Basic/D3

Agus Muhardi Alga Musa

15

BAB IV
OPERATOR

Visual Basic menyediakan operator aritmatika, komparasi dan logika, salah satu
hal yang harus dipahami oleh programmer adalah tata urutan operasi dari masing-masing
operator tersebut sehingga mampu membuat ekspresi yang akan menghasilkan nilai yang
benar, Tabel 1-1, menunjukkan operator dan urutan operasinya dari atas kebawah.

4.1. Operator Aritmatika


Contoh :
A=1+2*3

'Akan menghasilkan 7

B = (1 + 2) * 3

'Akan menghasilkan 9

Aritmatika

Komparasi

Logika

Pangkat (^)

Sama (=)

Not

Negatif (-)

Tidak sama (<>)

And

Kali dan Bagi (*, /)

Kurang dari (<)

Or

Pembagian bulat (\)

Lebih dari (>)

Xor

Sisa Bagi (Mod)

Kurang dari atau sama (<=)

Eqv

Tambah dan Kurang (+,-)

Lebih dari atau sama (>=)

Imp

Pengabungan String (&)


Like
Tabel 1-1. Contoh operator Aritmatika

4.2. Operator Penggabungan String (Like)


Salah satu operator yang menarik untuk dibahas adalah operator Like.
Operator Like digunakan untuk operasi pencocokan pola pada string yang akan
sangat membantu programmer.
Syntax :

Modul Visual Basic/D3

Agus Muhardi Alga Musa

16

result = string Like pattern


Operator

Keterangan

Sembarang karakter tunggal

Nol atau lebih karakter

Sembarang digit tunggal (0-9)

[charlist] Sembarang karakter yang berada dalam charlist


[!charlist] Sembarang karakter yang tidak berada dalam charlist
Tabel 1-2. Contoh operator penggabungan string (Like)
Contoh :

MyCheck = "aBBBa" Like "a*a"

' Returns True.

MyCheck = "F" Like "[A-Z]"

' Returns True.

MyCheck = "F" Like "[!A-Z]"

' Returns False.

MyCheck = "a2a" Like "a#a"

' Returns True.

MyCheck = "aM5b" Like "a[L-P]#[!c-e]"

' Returns True.

MyCheck = "BAT123khg" Like "B?T*"

MyCheck = "CAT123khg" Like "B?T*"

' Returns True.

4.3. Operator Pembandingan (Relasi)


Operator ini digunakan untuk membandingkan suatu data atau ekspresi
dengan data ekspresi pula dan menghasilkan nilai logika (Boolean) benar atau
salah.
Operator

Keterangan

Sama dengan

<>

Tidak sama dengan

<

Lebih kecil

>
<=

Lebih besar
Lebih Kecil atau Sama dengan

>=

Lebih Besar atau Sama dengan

Like

Mempunyai ciri yang sama

Ls
Sama referensi objek
Tabel 1-3. Contoh operator pembandingan (relasi)

Modul Visual Basic/D3

Agus Muhardi Alga Musa

17

4.4. Operator Logika


Digunakan untuk mengekspresikan satu atau lebih data logika menghasilkan
data logika baru.
Operator

Keterangan

Not

Tidak

And

Dan

Or

Atau

Xor

Exclusive Or

Eqv

Ekivalen

Imp
Implikasi
Tabel 1-4. Contoh operator Logika

4.5. Operator Penugasan


Operator ini disimbolkan dengan tanda sama dengan ( = ) dan berfungsi
untuk memasukan suatu data kedalam suatu variabel, bentuknya sbb:
< Variabel > = < ekspresi >
Contoh :

Bilangan = 0
Harga = 500
Banyak = 5
Jumlah = Harga * Banyak

Modul Visual Basic/D3

Agus Muhardi Alga Musa

18

4.6. Latihan
Buatlah

program

sederhana

dibawah

ini

dengan

menggunakan

CommandButton, Label, dan TextBox. Event yang digunakan Change, Click,


Keypress Load, dan SetFocus.

Urutan Proses :

Pertama form dipanggil, tombol Hitung, Bersihkan, dan Keluar tidak aktif.

User mengisi Jumlah Beli, dan jika ditekan enter, kursor akan terfokus
menuju Harga Satuan.

Saat mengisi Harga Satuan, tombol Hitung aktif, dan jika ditekan maka hasil
perhitungan muncul pada label Bayar. (Bayar = Jumlah Beli * Harga Satuan)

Saat itu tombol Bersihkan, dan Keluar bisa diakses.

Objek-objek terkait :
Objek
Form1
Label1

Label2

Modul Visual Basic/D3

Properti
Caption
Aligment
BackStyle
BorderStyle
Caption
Font Size
Aligment

Nilai
Latihan
2 Center
1 Opaque
1 Fixed Single
STRUK BELANJA
Arial Bold 20
1 Right Justify

Agus Muhardi Alga Musa

19

BackStyle
BorderStyle
Caption
Font Size
Label3
Aligment
BackStyle
BorderStyle
Caption
Font Size
Label4
Aligment
BackStyle
BorderStyle
Caption
Font Size
Label5
Caption
Name
Text1
Name
Text2
Name
Command1 Caption
Name
ToolTipText
Command2 Caption
Name
Command1 Caption
Name
ToolTipText

Modul Visual Basic/D3

0 Transparent
0 None
Jumlah Beli
MS San Serif 14
1 Right Justify
0 Transparent
0 None
Harga Satuan
MS San Serif 14
1 Right Justify
0 Transparent
0 None
Bayar
MS San Serif 14
(kosong)
lblHasil
txtJumlah
txtHarga
&Hitung
cmdHitung
Jumlah * Harga
&Bersihkan
cmdBersih
&Keluar
cmdKeluar
Keluar dari aplikasi

Agus Muhardi Alga Musa

20

BAB V
STRUKTUR KENDALI (BRANCHING)

Struktur kendali memungkinkan anda untuk mengatur jalannya program anda,


Jika membiarkan tanpa di periksa oleh statement control-flow, suatu logika program akan
berjalan dari kiri ke kanan dan dari atas kebawah. Hanya program yang sangat sederhana
dapat ditulis tanpa statement control-flow.
Struktur KENDALI yang didukung oleh Visual Basic adalah sebagai berikut

5.1. If
If...Then
Gunakan suatu struktur If...Then untuk menjalankan suatu pernyataan
secara kondisional. Anda dapat menggunakan syntax satu baris ataupun syntax
banyak baris.
If kondisi Then pernyataan
atau
If kondisi Then
pernyataan-pernyataan
End If

Kondisi biasanya berupa suatu perbandingan, maupun ekspresi yang


menghasilkan nilai numerik. Visual Basic menginterpretasikan False sebagai nol
(0), dan True sebagai bukan nol.

If...Then...Else
Gunakan IfThenElse untuk mendefinisikan beberapa blok pernyataan
yang akan dijalankan salah satu berdasarkan kondisi yang memenuhi syarat

Modul Visual Basic/D3

Agus Muhardi Alga Musa

21

If kondisi1 Then
[blok pernyataan-1]
[ElseIf kondisi2 Then
[blok pernyataan-2]] ...
[Else
[blok pernyataan-n]]
End If

Visual Basic awalnya akan mencoba kondisi1. Jika False, maka Visual
Basic akan memeriksa kondisi2, dan seterusnya sampai menemukan suatu kondisi
True untuk dijalankan blok pernyataannya.
Contoh :
If JlhRec > 0 Then
Posisi = 1
Else
Posisi = 0
End If

5.2. Select Case


Visual Basic menyediakan struktur Select Case sebagai suatu alternatif
terhadap If...Then...Else. Suatu Select Case statement memiliki kemampuan yang
sama dengan IfThenElse, tetapi membuat code lebih mudah dibaca.
Struktur Select Case bekerja dengan suatu percobaan tunggal yang hanya
dievaluasi satu kali pada bagian atas struktur. Visual Basic then membandingkan
hasil ekspresi dengan nilai pada setiap Case didalam struktur tersebut, jika ada
yang sesuai, akan dijalankan blok statement yang sesuai.
Select Case ekspresi yang dicoba
[Case ekspresi1
[blok pernyataan-1]]
[Case ekspresi2
[blok pernyataan-2]]

[Case Else
[blok pernyataan-n]
End Select

Modul Visual Basic/D3

Agus Muhardi Alga Musa

22

5.3. Latihan
Buatlah form seperti berikut (nama objek disesuaiakan sendiri) :

Ketentuan :

Pada waktu mengisi nilai ujian 1 dan 2, tombol hitung aktif.

Setelah Rata-rata dan Keterangan terisi, tombol Hitung hilang berganti menjadi
Clear.

Rata-Rata = Nilai Ujian 1 + Nilai Ujian 2 / 2

Keterangan: Jika Rata-Rata antara 85 s/d 100 maka Sangat Memuaskan


Jika Rata-Rata antara 75 s/d 84 maka Cukup Memuaskan
Jika Rata-Rata antara 60 s/d 74 maka Memuaskan
Selain itu Kurang Memuaskan

Modul Visual Basic/D3

Agus Muhardi Alga Musa

23

BAB VI
PERULANGAN (LOOPING)

Struktur loop memperbolehkan anda untuk melaksanakan sekelompok baris lebih


dari satu kali.
6.1. Do ... Loop
Gunakan Do Loop untuk mengeksekusi suatu blok statement dengan
jumlah perulangan yang tak terhingga, ada beberapa Do...Loop statement, tetapi
masing-masing mengevaluasi suatu kondisi untuk menentukan apakah melanjutkan
eksekusi
Berikut ini adalah statement Do Loop, yang dijalankan selama kondisi benar :
Do While condition
statements
Loop
Ketika Visual menjalankan Do Loop ini, pertama kali akan di coba
kondisinya, jika kondisi False (zero), akan diloncati semua statement yang
mengikuti kondisi tersebut. Visual Basic akan menjalankan statement jika kondisi
benar dan kembali ke DoLoop berikutnya.
Function Faktorial (x)
Dim Hasil As Double
Dim Count As Long
Hasil = 1
count = 2
Do While Count <= x
Hasil = Hasil * count
count = count + 1
Loop
Faktorial = count
End Function
Variasi lain dari statement DoLoop, yang menjamin minimal satu kali
statement dijalankan :

Modul Visual Basic/D3

Agus Muhardi Alga Musa

24

Do
statements
Loop While condition
Dua variasi yang analog dengan dua contoh sebelumnya adalah
perulangan minimal satu kali. Dan berikut ini adalah berulang atau tidak sama
sekali :
Do Until condition
statements
Loop
Do
statements
Loop Until condition

6.2. For...Next
Do Loop bekerja dengan baik, ketika anda tidak tahu berapa bayak kali
untuk butuhkan untuk menjalankan statement. Ketika anda mengetahui harus
menjalankan statement sejumlah kali, bagaimanapun ForNext adalah pilihan
yang lebih baik. Tidak seperti Do Loop, ForNext menggunakan suatu variabel
yang disebut counter yang mana akan bertambah atau berkurang pada setiap
perulangan. Syntaxnya adalah
For counter = start To end [Step increment]
statements
Next [counter]
Argumen counter, start, end, dan increment semuanya adalah numerik.Yang
dilakukan Visual Basic ketika melakukan For Next adalah:
a) Menset nilai counter sama dengan start.
b) Mencoba apakah counter lebih besar dari end. Jika ya, Visual Basic
meninggalkan looping tersebut.
c) Menjalankan statements tersebut.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

25

d) Menaikkan counter dengan 1 atau dengan nilai step yang ditentukan


e) Mengulangi langkah 2 sampai 4
Code berikut akan mencetak semua item yang terdapat pada suatu daftar list.
Private Sub Form_Click ()
Dim I As Integer
For i = 0 To List1.ListCount-1
Print List1.List(I)
Next
End Sub

6.3. While ... Wend


While Wend digunakan untuk mengeksekusi suatu blok statement dengan
jumlah perulangan yang tak terhingga.
Berikut ini adalah statement While Wend, yang dijalankan selama kondisi benar :
While condition
statements
Wend

Ketika menjalankan While ini, pertama kali akan di coba kondisinya, jika
kondisi False (zero), akan diloncati semua statement yang mengikuti kondisi
tersebut. Program akan menjalankan statement jika kondisi benar dan kembali ke
While berikutnya.
Function Faktorial (x)
Dim Hasil As Double
Dim Count As Long
Hasil = 1
count = 2
While Count <= x
Hasil = Hasil * count
count = count + 1
Wend
Faktorial = count
End Function

Modul Visual Basic/D3

Agus Muhardi Alga Musa

26

6.4. Latihan
Buatlah program dengan menggunakan perulangan For atau Do atau While,
sehingga bisa menampilkan deret bilangan seperti di bawah ini :

Modul Visual Basic/D3

Agus Muhardi Alga Musa

27

BAB VII
MODUL & PROSEDUR SUB

7.1. Mengenal Modul


Visual Basic menyediakan module yang dapat digunakan untuk memuat
fungsi,subrutin, konstanta, variabel dan type ciptaan yang akan disediakan bagi
keseluruhan project. Untuk membuat module dalam project anda dapat
menggunakan perintah Project, Add Module.

Sesaat setelah anda menambahkan module, maka pada Jendela Project


Explorer akan nampak Module1

Untuk melakukan koding, anda dapat melakukan double klik pada Module
tersebut.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

28

7.2. Pembuatan Modul


Pada Modul anda dapat mendeklarasikan variabel dengan awalan DIM,
PRIVATE maupun PUBLIC, dimana awalan DIM dan PRIVATE anda membentuk
variabel Module Level (hanya berlaku didalam pemakaian module bersangkutan),
sedangkan awalan PUBLIC akan menghasilkan variabel Global yang akan
berfungsi bagi keseluruhan Program.
Contoh :
Dim A as Integer

'Variabel A adalah Module Level

Private B as Integer 'Variabel B adalah Module Level


Public C as Integer

'Variabel C dapat digunakan oleh program


keseluruhan

7.3. Mengenal Sub Procedure


Syntax penulisan Sub procedure:
[Private Public] [Static] Sub namaprosedur (argumen-argumen)
pernyataan-pernyataan
End Sub
Setiap kali procedure dipanggil, maka pernyataan-pernyataan yang berada
di antara Sub dan End Sub akan dijalankan.
Argumen pada procedure adalah nilai yang akan dilewatkan saat
pemanggilan procedure.
Di Visual Basic Sub Procedure dapat dibagi atas dua yaitu :

General Procedure, procedure yang diaktifkan oleh aplikasi

Event Procedure, Procedure yang diaktifkan oleh system sebagai respon


terhadap event.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

29

Contoh, sub Tengah yang dapat digunakan untuk menampilkan form ketengah
Layar, dimana x adalah parameter yang merupakan form yang akan dibuat
ketengah layar.
Sub Tengah(x As Form)
x.Top = (Screen.Height - x.Height) \ 2
x.Left = (Screen.Width - x.Width) \ 2
End Sub
Private Sub Form_Load()
Call Tengah(Me)
End Sub

7.4. Pembuatan Prosedur Sub dalam Modul & Form


Berikut ini adalah contoh prosedur untuk menghitung gaji dan tunjangan
yang dibuat dalam modul.
Private Sub Form_Click()
Hitung_Gaji
End Sub
Sub Hitung_Gaji()
Gaji = Inputbox(Masukkan Gaji Pokok, Input Gaji)
Tunj = Inputbox(Masukkan Tunjangan, Input Tunjangan)
Gaber = Val(Gaji) + Val(Tunj)
If Gaji = Or Tunj = Then
Msgbox (Tidak Ada Angka Yang Dimasukkan)
Exit Sub
Else
Msgbox (Gaji Bersi = & Str(Gaber))
End If
End Sub

Modul Visual Basic/D3

Agus Muhardi Alga Musa

30

BAB VIII
PROCEDURE FUNCTION

8.1. Mengenal Function Procedure


Pada Visual Basic telah tersedia berbagai fungsi bawaan seperti Sqr, Cos,
dan Chr, tetapi fungsi-fungsi yang tersedia tersebut bersifat umum dan kadangkadang tidak memenuhi kebutuhan programer, untuk keperluan tersebut anda dapat
menciptakan fungsi-fungsi sendiri yang dikenal dengan Function procedure.
Adapun syntax penulisan function procedure :
[Private|Public] [Static] Function namaprocedure (argumen-argumen)
[As type]
statements
End Function
Ada tiga perbedaan antara function dan procedure :
o Umumnya anda dapat memanggil suatu function dengan mengikutkan nama
function sisi kanan dari statement atau ekspresi. (returnvalue = function()).
o Function memiliki type data seperti suatu variabel. Ini menentukan type yang
dari nilai yang dikembalikan.
o Nilai kembali dimasukkan ke namafunction itu sendirinya, dan suatu function
dapat menjadi bagian dari suatu ekspresi yang panjang.
Contoh Fungsi ciptaan untuk mengembalikan nama bulan dari suatu tanggal dalam
bahasa Indonesia.
Function Bulan(x As Date)
Dim sRet As String
Select Case Month(x)
Case 1: sRet = "Januari"
Case 2: sRet = "Februari"
Case 3: sRet = "Maret"
Case 4: sRet = "April"
Case 5: sRet = "Mei"

Modul Visual Basic/D3

Agus Muhardi Alga Musa

31

Case 6: sRet = "Juni"


Case 7: sRet = "Juli"
Case 8: sRet = "Agustus"
Case 9: sRet = "September"
Case 10: sRet = "Oktober"
Case 11: sRet = "Nopember"
Case 12: sRet = "Desember"
Case Else
sRet = "tidak sah"
End Select
Bulan = sRet
End Function
8.2. Pembuatan Prosedur Fuction dalam Modul & Form
Program di bawah ini adalah contoh program pencarian kelulusan siswa
berdasarkan nilai rata-rata dengan menggunakan fungsi.
Function Grade(Rata As Integer) As String
Select Case Rata
Case 95 To 100
Ket = Sangat Memuaskan
Case 85 To 94
Ket = Cukup Memuaskan
Case 60 To 84
Ket = Memuaskan
Case 45 To 59
Ket = Tidak Memuaskan
Case Else
Ket = Mengecewakan
End Select
Grade = Ket
End Function
Untuk menjalan fungsi diatas, gunakan program pemanggilan fungsi di bawah
ini:
Dim N As Integer
N = 90
Print Nilai Rata-Rata
: & Str(N)
Print Keterangan : & Grade(N)

Modul Visual Basic/D3

Agus Muhardi Alga Musa

32

BAB IX
KOLEKSI OBJEK & ARRAY

9.1. Pengertian Koleksi Objek


Objek-objek yang digunakan dalam form biasanya berdiri sendiri. Dengan
demikian jika anda ingin mengubah property ke semua objek tersebut, hal tersebut
menyebabkan listing menjadi panjang. Untuk itu digunakan koleksi dan array yang
dapat menghemat penulisan listing program.
Koleksi adalah suatu kumpulan komponen yang dapat berfungsi sejalan.
Hal ini sangat berguna saat akan mendefinisikan sebuah proses yang menyangkut
kontrol-kontrol yang ada pada form.

9.2. Cara Mengakses Koleksi Objek


!

Koleksi Sementara
Dapat dilakukan dengan mengklik kontrol-kontrol pada form yang akan
dijadikan sebagai satu group koleksi sambil menekan tombol Ctrl. Koleksi
sementara biasanya digunakan untuk memindahkan objek secara bersamaan
hanya pada saat tersebut.

Koleksi dengan Controls


Untuk mempermudah koleksi semua objek dalam satu form digunakan
property controls.
Sintaknya : [Objek].controls
Dimana [objek] lebih umum dinyatakan sebagai nama form yang kontrolkontrolnya dijadikan koleksi proses.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

33

9.3. Array
Array adalah sebuah variabel memori yang berisi beberapa data sejenis.
Data-data tersebut disimpan dengan nomor urut tertentu yang disebut index. Jika X
adalah variabel array, maka bisa digambarkan sebagai berikut:
Variabel X
Elemen/index ke 1
Data-1
Elemen/index ke 2
Data-2
Elemen/index ke 3
Data-3

Elemen/index ke n
Data-n
Pendefinisian Variabel Array :
Dim nama_variabel (index) As tipe_variabel
Contoh
Dim hari(6) As String
Dim bulan(11) As String

7 index : 0, 1, 2, , 6
12 index : 0, 1, 2, , 12

Index (jumlah elemen pada array) selalu diulai dari 0. Jika diinginkan nilai
awal bisa diubah dengan perintah option base pada bagian declaration.
Option Base 1
Dim hari(7)
index : 1, 2, , 7
Tanpa Option Base cara yang sama adalah :
Dim bulan(1 to 12)

index : 1, 2, , 12

9.4. Array Multi Dimensi


Array berdimensi 2 terdiri dari baris dan kolom, contohnya pada tabel atau
matrik. Pendefinisiannya adalah sebagai berikut :
Dim nama_variabel (n1, n2) As tipe_variabel

Modul Visual Basic/D3

(n1=baris, n2=kolom)

Agus Muhardi Alga Musa

34

9.5. Pembuatan Program Dengan Koleksi Objek & Array


Contoh program koleksi dengan controls :
Buatlah form dengan lay-out sbb :

Caranya :
1. Buat project baru
2. Atur property untuk kontrol-kontrolnya sbb :
Kontrol
Label1
Command1

Properti
Caption
Font
Caption

Nilai
Selamat tahun Baru
Arral Narrow, Bold , 22
Jalankan

3. Klik ganda kontrol Command1, lalu ketikkan kode programnya :


Private Sub Command1_Click()
Form2.Show
Form2.Visible = False
Command1.Visible = False
End Sub
4. Tambahkan form baru dengan memilih menu : Project, Add Form
5. Letakkan sebuah kontrol timer pada form2.
6. Klik ganda form2, lalu ketikkan kode programnya :
Private Sub Form_Load()
Timer1.Interval = 100
End Sub
7. Klik ganda kontrol timer1 pada form2, lalu ketikkan kode programnya :
Private Sub Timer1_Timer()
For Each kontrol In Form1.Controls
form1.control adalah contoh penggunaan koleksi ini.
kontrol.Left = kontrol.Left + 120

Modul Visual Basic/D3

Agus Muhardi Alga Musa

35

Next kontrol
End Sub
8. Jalankan aplikasi tersebut dengan menekan F5

Contoh program dengan array


Buatlah form yang berisi tampilan hari, dan tanggal saat ini.

Option Base 1
Private Sub Form_Load()
Dim hari(7) As String
Dim bulan(12) As String
hari(1) = "Minggu"
hari(2) = "Senin"
hari(3) = "Selasa"
hari(4) = "Rabu"
hari(5) = "Kamis"
hari(6) = "Jumat"
hari(7) = "Sabtu"
bulan(1) = "Januari"
bulan(2) = "Februari"
bulan(3) = "Maret"
bulan(4) = "April"
bulan(5) = "Mei"
bulan(6) = "Juni"
bulan(7) = "Juli"
bulan(8) = "Agustus"
bulan(9) = "September"
bulan(10) = "Oktober"
bulan(11) = "November"
bulan(12) = "Desember"
har = Weekday(Date)
tgl = Day(Date)
bul = Month(Date)
thn = Str(Year(Date))
Label1.FontSize = 16
Label1.Caption = hari(har) & ", " & Str(tgl) & " " & bulan(bul) & " " & thn
End Sub

Modul Visual Basic/D3

Agus Muhardi Alga Musa

36

BAB X
WINDOWS API

10.1. Pengertian Windows API


Windows

API

(Application

Programming

Interface)

merupakan

sekumpulan fungsi-fungsi eksternal yang terdapat dalam file-file perpustakaan


Windows (library windows) atau file library lainnya yang dapat digunakan. Fungsi
ini dapat menangani semua yang berhubungan dengan Windows, seperti
pengaksesan disk, interface printer, grafik windows, kotak dialog (buka file,
simpan file, memilih font, memilih warna, dll), Windows shell, setting sistem
informasi, penanganan file, mengakses sistem registry, memainkan musik, dsb.
Fungsi ini menyediakan banyak fitur-fitur standar untuk semua program yang
berbasis Windows.
Semua fungsi Windows API hampir terdapat dalam direktori sistem milik
Windows (C:\Windows\System) dan paling banyak berekstensi

.DLL yang

digunakan oleh sistem operasi Windows. Selain itu fungsi ini juga memastikan
secara konsisten penggunaan semua sumber yang terdapat dalam Windows. Filefile itulah yang disebut dengan Windows API.
Windows API digunakan ketika program harus melakukan pengkodean yang
tidak terdapat dalam bahasa Visual Basic. Misalnya menentukan kecepatan kursor
berkedip dalam Visual Basic tidak ada. Dengan memanggil fungsi Windows API
yaitu GetCaretBlinkTime (untuk mengembalikan nilai kursor berkedip dalam satuan
milidetik) dapat ditentukan kecepatan kursor berkedip.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

37

10.2. Pengertian DLL


File library Windows DLL (Dynamic Link Library) yang selanjutnya
disebut DLL adalah kode yang sudah dikompilasi dan dapat digunakan oleh
program lain. DLL biasanya ditulis dengan bahasa C/C++, Delphi atau bahasa
lainnya yang mendukung sistem operasi Windows.
Dengan memanggil fungsi yang terdapat dalam DLL, pemakai dapat
mengakses ribuan fungsi yang berhubungan dengan sistem Windows, dengan
kualitas sebaik yang digunakan dalam bahasa yang digunakan. Berikut ini namanama library milik Windows yang sering dan paling banyak digunakan dalam
Windows API.
Nama File DLL
Advapi32.DLL
Comdlg32.DLL
Gdi32.DLL
Kernel32.DLL
Lz32.DLL
Mpr.DLL
Netapi32.DLL
Shell32.DLL
User32.DLL
Version.DLL
Winmm.DLL
Winspool.drv

Deskripsi File
Library yang mendukung fungsi-fungsi keamanan
dan rutin-rutin registry.
Standar kotak dialog Windows.
Penanganan grafik Windows.
Fungsi sistem operasi Windows 32-bit.
Fungsi kompresi file.
Fungsi Internet.
Fungsi jaringan.
Library shell 32-bit.
Penanganan rutin user interface.
Versi Windows.
Fungsi-fungsi multimedia Windows.
Fungsi-fungsi printer spooler.

Hal yang perlu dilakukan untuk menggunakan fungsi-fungsi dalam file


library Windows yaitu dengan menspesifikasikan di mana fungsi tersebut
ditemukan dan menyediakan informasi yang dibutuhkan fungsi pada bagian
pendeklarasian fungsi Windows
Langkah pertama adalah mendeklarasikan fungsi di dalam bagian modul,
dengan sintaks sbb :

Modul Visual Basic/D3

Agus Muhardi Alga Musa

38

Declare Function NamaFungsi Lib NamaLibrary [Alias AliasFungsi]


[([[ByVal/ByRef] variabel [As type] [,[ByVal/ByRef] variabel [As
type]]])] As Type

Jika fungsi tersebut tidak mengembalikan nilai, maka gantilah kata


Function dengan kata Sub.
Declare Sub NamaFungsi Lib NamaLibrary [Alias AliasFungsi]
[([[ByVal/ByRef] variabel [As type] [,[ByVal/ByRef] variabel [As
type]]])]

Keterangan :
Sintaks
Declare Function/Sub
NamaFungsi
Lib
NamaLibrary
Alias
AliasFungsi
ByVal/ByRef
Variable
As tipe
As Type

Keterangan
Sintaks deklarai fungsi / prosedur.
Nama fungsi yang ada dalam library.
Sintaks deklarai fungsi / prosedur.
Nama library yang terdapat nama fungsi.
Sintaks alias.
Penamaan fungsi, untuk membedakan dengan
fungsi yang sama.
Type dari parameter fungsi.
Nama variabel yang digunakan fungsi.
Tipe dari variabel.
Nilai yang dikembalikan oleh fungsi.

Contoh dari pendeklarasian fungsi API adalah sbb :


Public

Declare Function SetWIndowText Lib User32 Alias


SetWindowTextA (ByVal hwnd As Long, ByVal lpString As
String) As Long

Untuk mencari nama fungsi API, tipe data dan konstanta, gunakan
aplikasi viewer yang disertakan dalam Visual Basic. Jika mendeklarasikan dalam
form, modul maupun class module, perintah Declare diawali dengan kata Private
atau Public untuk mendefinisikan jangkauan fungsi dalam kode. Setelah fungsi
tersebut dideklarasikan, pemakai dapat menggunakannya dalam program.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

39

10.3. Aplikasi API Viewer


Aplikasi API Viewer menyediakan hampir seluruh deklarasi fungsi,
konstanta, dan tipe data yang terdapat dalam file teks (.TXT) maupun dalam file
database (.MDB). Setelah menemukan fungsi yang diinginkan, pemakai dapat
mengkopinya ke dalam modul yang nantinya dapat digabungkan dengan kode
program Visual Basic. Untuk memanggil API Viewer lakukan langkah-langkah
berikut ini :
5 Dari menu Add-Ins, pilih Add-Ins Manager
5 Pilih VB API Viewer
5 Pada Load Behavior klik Loaded/Unloaded
5 Klik Ok
5 Klik API Viewer dari Add-Ins Menu
5 Buka Text atau Database File yang ingin dilihat.
5 Pilih item yang ingin dilihat.

10.4. Penggunaan Windows API dalam Program.


Contoh program 1 :
1. Buat projek baru dan tambahkan modul dengan memilih Project, Add
Module, Open.
2. Aktifkan API Viewer.
3. Klik menu Add-Ins, pilih API Viewer.
4. Klik menu File, pilih Load Text File.
5. Pilih file win32api, klik Open.
6. Pada Available Items, pilih MessageBox.
7. Klik Add dan Insert. Klik Yes.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

40

8. Tutup jendela Windows API.


9. Tutup jendela module.
10. Tambahkan kontrol timer, label dan tiga buah command button.

11. Atur property objeknya sbb :


Kontrol
Form1
Label1
Timer
Command1
Command2
Command3

Modul Visual Basic/D3

Properti
Caption
Caption
Interval
Caption
Caption
Caption

Nilai
Contoh Program Pertama API
kosongkan
2
API
NON API
Stop

Agus Muhardi Alga Musa

41

12. Ketikkan listing berikut :


Private Sub Command1_Click()
MessageBox Me.hwnd, "API menyebabkan timer tidak berhenti",
"Msgbox", vbOKOnly
End Sub
Private Sub Command2_Click()
MsgBox "Non API menyebabkan timer berhenti", vbOKOnly,
"msgbox"
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Timer1_Timer()
Label1.Caption = Time
End Sub

13. Simpan Projek.


14. Jalankan program.
15. Hasilnya sbb :

Contoh program 2 :
1. Buat projek baru dan tambahkan modul dengan memilih Project, Add Module,
Open.
2. Aktifkan API Viewer.
3. Klik menu Add-Ins, pilih API Viewer.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

42

4. Klik menu File, pilih Load Text File.


5. Pilih file win32api, klik Open.
6. Pada Available Items, klik double FlashWindow dan Sleep
7. Klik Insert. Klik Yes.

8. Tutup jendela Windows API.


9. Tutup jendela module.
10. Tambahkan kontrol command button.

11. Atur property objeknya sbb :


Kontrol
Form1
Command1

Modul Visual Basic/D3

Properti
Caption
Caption

Nilai
Form Berkedip
Buat Form Berkedip

Agus Muhardi Alga Musa

43

12. Ketikkan listing berikut :


Private Sub Command1_Click()
Dim x As Long
For c = 1 To 10
x = FlashWindow(Form1.hwnd, 1)
Sleep 500
Next c
x = FlashWindow(Form1.hwnd, 0)
End Sub
13. Simpan Projek.
14. Jalankan program.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

44

BAB XI
DATABASE

11.1. Pengertian Database


Database adalah kumpulan beberapa data yang saling berhubungan
berdasarkan kode-kode tertentu sehingga membentuk sebuah sistem.
Secara hirarki database bisa digambarkan sebagai berikut :
Character

Field

Record

File

Database

Character sebagai satuan data terkecil dikumpulkan menjadi field (kolom),


kumpulan field membentuk sebuah record (baris), beberapa record disimpan dalam
file (tabel), dan kumpulan file akan membentuk sebuah database.

11.2. Tipe Field


Ada beberapa tipe field yang digunakan dalam pembuatan tabel :
o Long
Digunakan untuk menampung data numerik untuk bilangan bulat.
o Currency
Digunakan untuk menampung data numerik. Kelebihannya adalah currency
tidak akan melakukan pembulatan bilangan pada operasi matematik.
o Single
Digunakan untuk menampung data numerik untuk bilangan pecahan.
o Double
Fungsinya sama dengan Single.
o Date/Time
Digunakan untuk menampung data tanggal atau jam.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

45

o Text
Digunakan untuk menyimpan data karakter, dengan daya tampung sebesar
255 karakter.
o Memo
Sama dengan text, tetapi dapat menampung sampai dengan 64.000 karakter.

11.3. Membuat Database dan Tabel


Untuk membuat database dengan Visual Data Manager, lakukan langkahlangkah berikut:
a) Pilih menu Add-Ins pada menu utama Visual Basic, lalu pilih Visual Data
Manager.

b) Pilih : File/New/Microsoft Access/Version 7.0 MDB.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

46

c) Berikanlah nama pada database yang akan dibuat.

d) Klik kanan pada Properties, pilih New Table.

e) Ketik tulisan Barang pada Table Name, lalu klik Add Field.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

47

f) Buatlah beberapa field sebagai berikut :


Name
Kode
Nama
Satuan
Harga

Type
Text
Text
Text
Single

Size
6
30
5

g) Jika telah selesai mengisikan field, klik Build the Table, klik Close (yang
terdapat pada Table Structure).

11.4. Membuat index


Index data adalah urutan data pada tabel database. Index data diperlukan
terutama untuk pencarian data dengan cepat dan pengelompokan data.
a) Untuk membuat index data gunakan cara sebagai berikut :
b) Buka database pembelian.
c) Setelah tampil Structure Tabel, pilih Add Index.

d) Ketik nama index (misalnya kodebrg) pada kolom Name.


e) Klik kunci index pada Available Fields.
f) Tentukan pilihan index (Primary, Unique, IgnoreNulls). Primary digunakan
sebagai pengenal suatu record, jika tabel yang bersangkutan dihubungkan
dengan tabel lain (dalam satu tabel hanya boleh ada satu primary key). Unique

Modul Visual Basic/D3

Agus Muhardi Alga Musa

48

dipilih jika ingin index bersifat unik. IgnoreNulls digunakan untuk


mengabaikan filed yang kosong.

11.5. Mengisi Data pada Tabel


Untuk mengisikan data pada tabel, dobel klik pada nama tabel tersebut.

Fungsi menu yang ada pada tabel barang :


Add

: menambah record baru.

Update : mengoreksi record.


Delete

: menghapus record aktif.

Find

: mencari record.

Refresh : menampilkan ulang setelah record mengalami perubahan.


Close

: menutup tabel.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

49

BAB XII
KONTROL DATA

Kontrol data merupakan interface (antar muka) yang menghubungkan sebuah


form dengan file data.
Di dalam kontrol data memiliki beberapa properti yaitu :

Connect
Hubungan file data, bisa bersumber dari Access, Dbase, Excel, Foxpro, Lotus,
Paradox, dan file Text.

Database Name
Menyatakan nama file database (.mdb) yang digunakan.

Record Source
Diisi tabel yang digunakan.

EOF Action
Pengecekan pergerakan kursor. Jika kursor sampai pada akhir file, maka terdapat 3
pilihan properti ; MoveLast (record terakhir), EOF (akhir file), AddNew (menambah
record baru).

Record Set Type


Tipe record ; 0 Tabel, 1 Dynaset, 2 Snapshot.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

50

BAB XIII
RECORD SET

Record set adalah status record yang menunjukkan tindakan apa yang akan
dilakukan terhadap record tersebut dengan beberapa metode antara lain :
Metode
AddNew
MoveFirst
MovePrevious
MoveNext
MoveLast
Delete
FindFirst
NoMatch
EOF
BOF
Edit
Update
CancelUpdate

Keterangan
Menambah record baru
Pindah ke record pertama
Pindah 1 record ke depan
Pindah 1 record ke belakang
Pindah ke record terakhir
Menghapus record
Mencari dari record pertama
Record yang dicari tidak ada yang sama
Berada di record yang terakhir
Berada di record yang pertama
Merubah record
Menyimpan perubahan record
Membatalkan perubahan record

Untuk lebih memahami mengenai metode record set, lakukan lagkah-langkah


berikut ini :
Buatlah form dengan lay-out sbb :

Hasil program adalah sbb :

Modul Visual Basic/D3

Agus Muhardi Alga Musa

51

Caranya :
1. Buat project baru
2. Atur property untuk kontrol-kontrolnya sbb :
Kontrol
Form1
Data1

Properti

Nilai

Label1

Caption
Name
Caption
Connect
DatabaseName
RecordsetType
RecordSource
Caption

Formulir Data Barang


dbPembelian
Database Pembelian
Acces
C:\Zidan\Pembelian.mdb
0 Table
Barang
Kode Barang

Label2

Caption

Nama

Label3

Caption

Satuan

Label4

Caption

Harga Satuan

Text1

Name
DataField
DataSource
Text
Name
DataField
DataSource
Text
Name
DataField
DataSource
Text

Txtkode
Kode
dbPembelian
<kosongkan>
Txtnama
Nama
dbPembelian
<kosongkan>
Txtsatuan
Satuan
dbPembelian
<kosongkan>

Text2

Text3

Modul Visual Basic/D3

Agus Muhardi Alga Musa

52

Text4

Command1

Name
DataField
DataSource
Text
Name
Caption
Picture

Command2

Style
ToolTipText
Name
Caption
Picture

Command3

Style
ToolTipText
Name
Caption
Picture

Command4

Style
ToolTipText
Name
Caption
Picture

Command5

Style
ToolTipText
Name
Caption
Picture

Command6

Style
ToolTipText
Name
Caption
Picture

Command7

Style
ToolTipText
Name
Caption
Picture

Style
ToolTipText

Modul Visual Basic/D3

Txtharga
Harga
dbPembelian
<kosongkan>
CmdTop
<kosongkan>
C:\Program Files\Microsoft Visual
Studio\Vfp98\Wizard\Graphics\Top
1 Graphical
Top
CmdPrevious
<kosongkan>
C:\Program Files\Microsoft Visual
Studio\Vfp98\Wizard\Graphics\Previous
1 Graphical
Previous
CmdNext
<kosongkan>
C:\Program Files\Microsoft Visual
Studio\Vfp98\Wizard\Graphics\Next
1 Graphical
Next
CmdLast
<kosongkan>
C:\Program Files\Microsoft Visual
Studio\Vfp98\Wizard\Graphics\Bottom
1 Graphical
Last
CmdNew
<kosongkan>
C:\Program Files\Microsoft Visual
Studio\Common\Graphics\Bitmaps\Off
CtlBr\Large\Color\New
1 Graphical
New
CmdSave
<kosongkan>
C:\Program Files\Microsoft Visual
Studio\Common\Graphics\Bitmaps\Off
CtlBr\Large\Color\Save
1 Graphical
Save
CmdUndo
<kosongkan>
C:\Program Files\Microsoft Visual
Studio\Common\Graphics\Bitmaps\Off
CtlBr\Large\Color\Undo
1 Graphical
Undo

Agus Muhardi Alga Musa

53

Command8

Name
Caption
Picture

Command9

Style
ToolTipText
Name
Caption
Picture

Command10

Style
ToolTipText
Name
Caption
Picture

Command11

Style
ToolTipText
Name
Caption
Picture
Style
ToolTipText

CmdEdit
<kosongkan>
C:\Program Files\Microsoft Visual
Studio\Common\Graphics\Bitmaps\Off
CtlBr\Small\Color\Spell
1 Graphical
Edit
CmdDel
<kosongkan>
C:\Program Files\Microsoft Visual
Studio\Common\Graphics\Bitmaps\Off
CtlBr\Large\Color\Cut
1 Graphical
Delete
CmdFind
<kosongkan>
C:\Program Files\Microsoft Visual
Studio\Common\Graphics\Icon\Misc\Bi
noculr
1 Graphical
Find
CmdExit
E&xit
<None>
1 Graphical
Selesai

3.Listing Programnya sbb :


Dim tambah As Boolean
Sub nonaktif()
Dim ctl As Control
For Each ctl In FormBrg
If TypeName(ctl) = "textbox" Then
ctl.Locked = True
End If
If TypeName(ctl) = "combobox" Then
ctl.Locked = True
End If
Next
End Sub
Private Sub cmdback_Click()
dbpembelian.Recordset.MovePrevious
If dbpembelian.Recordset.BOF Then
dbpembelian.Recordset.MoveFirst
MsgBox "Sudah di awal record", 16, "Informasi"
End If
End Sub

Modul Visual Basic/D3

Agus Muhardi Alga Musa

54

Private Sub cmdfind_Click()


Dim mkode As String * 6
mkode = InputBox("Ketik Kode Barangnya :", "Pencarian Data Barang")
msyarat = "Kode = '" & mkode & " ' "
dbpembelian.Recordset.Index = "Kodebrg"
dbpembelian.Recordset.Seek "=", mkode
If dbpembelian.Recordset.NoMatch Then
MsgBox "Record Kode Barang " + cr + "Tidak ada", 16, "Informasi"
End If
End Sub
Private Sub cmddel_Click()
del = MsgBox("Record ini dihapus ?", 36, "Konfirmasi")
If del = 6 Then
dbpembelian.Recordset.Delete
dbpembelian.Recordset.MoveNext
If dbpembelian.Recordset.EOF Then
dbpembelian.Recordset.MoveLast
End If
End If
End Sub
Private Sub cmdedit_Click()
dbpembelian.Recordset.Edit
aktif
End Sub
Private Sub cmdexit_Click()
Unload Me
End Sub
Private Sub cmdlast_Click()
dbpembelian.Recordset.MoveLast
MsgBox "Sudah di akhir record", 16, "Imformasi"
End Sub
Private Sub cmdnew_Click()
tambah = True
dbpembelian.Recordset.AddNew
kosong
aktif
End Sub
Private Sub cmdnext_Click()
dbpembelian.Recordset.MoveNext
If dbpembelian.Recordset.EOF Then
dbpembelian.Recordset.MoveLast
MsgBox "Sudah di akhir record", 16, "Informasi"
End If
End Sub

Modul Visual Basic/D3

Agus Muhardi Alga Musa

55

Private Sub cmdsave_Click()


If tambah = True Then
dbpembelian.Recordset.Update
Else
dbpembelian.Recordset.Update
End If
nonaktif
End Sub
Private Sub cmdtop_Click()
dbpembelian.Recordset.MoveFirst
MsgBox "Sudah di awal record", 16, "Imformasi"
End Sub
Private Sub cmdundo_Click()
dbpembelian.Recordset.CancelUpdate
dbpembelian.Recordset.MoveLast
nonaktif
End Sub
Private Sub Form_Load()
nonaktif
tambah = False
End Sub
Sub kosong()
Dim ctl As Control
For Each ctl In FormBrg
If TypeName(ctl) = "textbox" Then
ctl.Text = ""
End If
If TypeName(ctl) = "combobox" Then
ctl.Text = ""
End If
Next
End Sub
Sub aktif()
Dim ctl As Control
For Each ctl In FormBrg
If TypeName(ctl) = "textbox" Then
ctl.Locked = False
End If
If TypeName(ctl) = "combobox" Then
ctl.Locked = False
End If
Next
End Sub
4. Jalankan aplikasi tersebut dengan menekan F5
5. Simpan program diatas dengan nama LAT01.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

56

BAB XIV
PENCARIAN DATA BERURUTAN

Pencarian berurutan (sekuensial) adalah mencari data secara terurut dari suatu
lokasi (record) sampai ke lokasi lainnya dengan memeriksa record per record. Pencarian
ini akan memakan waktu yang cukup lama jika jumlah datanya besar. Untuk melakukan
pencarian data berurutan, user dapat menggunakan metode Find sbb :
object.recordset.Find <string criteria>
Contoh :
dbpembelian.recordset.Find Kode = PS.02
Metode Find akan menyebabkan pencarian dilakukan dari posisi record sekarang
ke record terakhir. Oleh karena itu, jika user akan mencari dari awal record, maka
penunjuk record harus digerakkan ke awal record dengan metode Move First.
Untuk memahami pencarian data berurutan lakukan langkah-langkah sebagai
berikut :
1. Buka LAT01.
2. Simpan proyek dengan nama baru LAT02 (File, Save Project As)
3. Simpan form dengan nama baru LAT02 (File, Save Lat01.frm As)
4. Tambahkan objek seperti gambar berikut ini (Perhatikan bahwa objek Frame1
dibuat sebelum objek di dalamnya).

Modul Visual Basic/D3

Agus Muhardi Alga Musa

57

5. Ubah setting property objeknya sbb :


Objek
Frame
Label

Properti
Caption
Caption

Setting
Cari Data
Kode Barang

Text

Name
Caption
Name
Caption
Name
Caption

Txtcari
(kosong)
Cmdcari
Cari
Cmdexit
Exit

Command1
Command2

6. Tampilkan editor kode program dan ketikkan kode programnya :


Private Sub cmdcari_Click()
Dim mkode As String * 6
Dim msyarat As String
mkode = txtcari.Text
msyarat = "Kode = '" & mkode & " ' "
cari data pertama yang nomornya sama dengan mkode
dbpembelian.Recordset.Find msyarat
If dbpembelian.Recordset.EOF Then
X = MsgBox("Data tidak ditemukan!", vbOKOnly, "Pencarian
Kode Barang")
dbpembelian.Recordset.MoveFirst
End If
End Sub
Private Sub cmdexit_Click()
End
End Sub
Private Sub txtcari_GotFocus()

Modul Visual Basic/D3

Agus Muhardi Alga Musa

58

cmdcari.Default = True
End Sub
Private Sub txtcari_LostFocus()
cmdcari.Default = False
End Sub
7. Simpan lagi proyek dan form dengan nama sama
8. Jalankan program.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

59

BAB XV
PENCARIAN DATA DENGAN INDEX

Untuk melakukan pencarian dengan cepat diperlukan index data. Dengan adanya
index data, maka data akan terurut sehingga pencarian tidak harus berurutan, tetapi dapat
dengan melakukan pencarian biner, yaitu selalu mencari data dengan cara
membandingkan data yang dicari dengan data tengah suatu set data. Jika data tidak sama,
maka set data akan dipecah lagi dan membandingkan data yang dicari dengan tengah set
data yang sesuai setelah dipecah. Demikian seterusnya, sehingga langkah pencarian akan
kecil (sedikit) dan didapatkan kecepatan pencarian yang baik (cepat), walaupun datanya
besar.
Untuk memahami pencarian data dengan index lakukan langkah-langkah sebagai
berikut :
1. Buka LAT02.
2. Simpan proyek dengan nama baru LAT03 (File, Save Project As)
3. Simpan form dengan nama baru LAT03 (File, Save Lat02.frm As)
4. Karena objek Adodc tidak mempunyai metoda pencarian data dengan index, maka
harus diganti dengan objek Data.
5. Tentukan setting property objek data menjadi sbb :
Objek
Name
Caption

dbPembelian
Database Pembelian

Connect

Acces

Database Name

C:\Zidan\Pembelian.mdb

RecordsetType

0 Table (karena property Index dan


metode Seek hanya dapat digunakan
pada setting ini)
Barang

RecordSource

Modul Visual Basic/D3

Setting

Agus Muhardi Alga Musa

60

6. Tampilkan editor kode program dan editlah kode programnya menjadi sbb :
Private Sub cmdcari_Click()
Dim mkode As String * 6
mkode = txtcari.Text
msyarat = "Kode = '" & mkode & " ' "
dbpembelian.Recordset.Index = "Kodebrg"
dbpembelian.Recordset.Seek "=", mkode
If dbpembelian.Recordset.NoMatch Then
X = MsgBox("Data tidak
"Pencarian Kode Barang")
End If
End Sub

ditemukan!",

vbOKOnly,

Private Sub cmdexit_Click()


End
End Sub
Private Sub Form_Activate()
txtcari.SetFocus
End Sub
Private Sub txtcari_GotFocus()
cmdcari.Default = True
End Sub
Private Sub txtcari_LostFocus()
cmdcari.Default = False
End Sub
7. Simpan lagi proyek dan form dengan nama sama.
8. Jalankan program.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

61

Contoh program 2:
Buatlah form dengan lay-out sbb :

Hasil program adalah sbb :

Caranya :
1)

Buka LAT03.

2)

Simpan proyek dengan nama baru LAT04 (File, Save Project As)

3)

Simpan form dengan nama baru LAT04 (File, Save Lat03.frm As)

4)

Hapus kontrol yang tidak diperlukan.

5)

Atur property untuk kontrol-kontrolnya sbb :


Kontrol
Form1

Modul Visual Basic/D3

Properti
Caption

Nilai
Contoh Kontrol Data

Agus Muhardi Alga Musa

62

Data1

Text1

Text2

Text3

Text4

Command1

Command2

Command3

Command4

Modul Visual Basic/D3

Name
Caption
Connect
Database
Name
RecordsetType
RecordSource
Name
Text
DataSource
DataField
Name
Text
DataSource
DataField
Name
Text
DataSource
DataField
Name
Text
DataSource
DataField
Name
Caption
Style
Picture
ToolTipText
Name
Caption
Style
Picture
ToolTipText
Name
Caption
Style
Picture
ToolTipText
Name
Caption
Style

dbPembelian
Database Pembelian
Acces
C:\Zidan\Pembelian.mdb
0 Table
Barang
TxtKode
Kosongkan
dbPembelian
Kode
TxtNama
Kosongkan
dbPembelian
Nama
TxtSatuan
Kosongkan
dbPembelian
Satuan
TxtHarga
Kosongkan
dbPembelian
Harga
CmdTop
Kosongkan
1 - Graphical
C:\Program
Files\Visual
Studio\Vfp98\Wizard\Graphic
Top
CmdBack
Kosongkan
1 - Graphical
C:\Program
Files\Visual
Studio\Vfp98\Wizard\Graphic
Back
CmdNext
Kosongkan
1 - Graphical
C:\Program
Files\Visual
Studio\Vfp98\Wizard\Graphic
Next
CmdLast
Kosongkan
1 - Graphical

Agus Muhardi Alga Musa

63

Picture

Command5

Command6

Command7

Command8

Command9

ToolTipText
Name
Caption
Style
Picture

ToolTipText
Name
Caption
Style
Picture

ToolTipText
Name
Caption
Style
Picture

ToolTipText
Name
Caption
Style
Picture

ToolTipText
Name
Caption
Style
Picture

ToolTipText
Command10 Name
Caption
Style
Picture

ToolTipText
Command11 Name

Modul Visual Basic/D3

C:\Program
Files\Visual
Studio\Vfp98\Wizard\Graphic
Last
CmdNew
Kosongkan
1 - Graphical
C:\Program
Files\Visual
Studio\Common\Graphic\Bitmaps\OffC
tlrBr\Large\Color
New
CmdSave
Kosongkan
1 - Graphical
C:\Program
Files\Visual
Studio\Common\Graphic\Bitmaps\OffC
tlrBr\Large\Color
Save
CmdUndo
Kosongkan
1 - Graphical
C:\Program
Files\Visual
Studio\Common\Graphic\Bitmaps\OffC
tlrBr\Large\Color
Undo
CmdEdit
Kosongkan
1 - Graphical
C:\Program
Files\Visual
Studio\Common\Graphic\Bitmaps\OffC
tlrBr\Large\Color
Edit
CmdDel
Kosongkan
1 - Graphical
C:\Program
Files\Visual
Studio\Common\Graphic\Bitmaps\OffC
tlrBr\Large\Color
Del
CmdCari
Kosongkan
1 - Graphical
C:\Program
Files\Visual
Studio\Common\Graphic\Bitmaps\OffC
tlrBr\Large\Color
Find
CmdExit

Agus Muhardi Alga Musa

64

Caption
Style
Picture

ToolTipText

6)

Kosongkan
1 - Graphical
C:\Program
Files\Visual
Studio\Common\Graphic\Bitmaps\OffC
tlrBr\Large\Color
Exit

Tampilkan editor kode program dan ketiklah kode programnya sbb :


Dim tambah As Boolean
Sub nonaktif()
Dim ctl As Control
For Each ctl In FormBrg
If TypeName(ctl) = "textbox" Then
ctl.Locked = True
End If
If TypeName(ctl) = "combobox" Then
ctl.Locked = True
End If
Next
End Sub
Private Sub cmdback_Click()
dbpembelian.Recordset.MovePrevious
If dbpembelian.Recordset.BOF Then
dbpembelian.Recordset.MoveFirst
MsgBox "Sudah di awal record", 16, "Informasi"
End If
End Sub
Private Sub cmdcari_Click()
Dim mkode As String * 6
mkode = InputBox("Ketik Kode Barangnya :", "Pencarian Data
Barang")
msyarat = "Kode = '" & mkode & " ' "
dbpembelian.Recordset.Index = "Kodebrg"
dbpembelian.Recordset.Seek "=", mkode
If dbpembelian.Recordset.NoMatch Then
MsgBox "Record Kode Barang " + cr + "Tidak ada", 16, "Informasi"
End If
End Sub
Private Sub cmddel_Click()
del = MsgBox("Record ini dihapus ?", 36, "Konfirmasi")
If del = 6 Then
dbpembelian.Recordset.Delete
dbpembelian.Recordset.MoveNext
If dbpembelian.Recordset.EOF Then

Modul Visual Basic/D3

Agus Muhardi Alga Musa

65

dbpembelian.Recordset.MoveLast
End If
End If
End Sub
Private Sub cmdedit_Click()
dbpembelian.Recordset.Edit
aktif
End Sub
Private Sub cmdexit_Click()
Unload Me
End Sub
Private Sub cmdlast_Click()
dbpembelian.Recordset.MoveLast
MsgBox "Sudah di akhir record", 16, "Imformasi"
End Sub
Private Sub cmdnew_Click()
tambah = True
dbpembelian.Recordset.AddNew
kosong
aktif
End Sub
Private Sub cmdnext_Click()
dbpembelian.Recordset.MoveNext
If dbpembelian.Recordset.EOF Then
dbpembelian.Recordset.MoveLast
MsgBox "Sudah di akhir record", 16, "Informasi"
End If
End Sub
Private Sub cmdsave_Click()
If tambah = True Then
dbpembelian.Recordset.Update
Else
dbpembelian.Recordset.Update
End If
nonaktif
End Sub
Private Sub cmdtop_Click()
dbpembelian.Recordset.MoveFirst
MsgBox "Sudah di awal record", 16, "Imformasi"
End Sub
Private Sub cmdundo_Click()
dbpembelian.Recordset.CancelUpdate

Modul Visual Basic/D3

Agus Muhardi Alga Musa

66

dbpembelian.Recordset.MoveLast
nonaktif
End Sub
Private Sub Form_Load()
nonaktif
tambah = False
End Sub
Sub kosong()
Dim ctl As Control
For Each ctl In FormBrg
If TypeName(ctl) = "textbox" Then
ctl.Text = ""
End If
If TypeName(ctl) = "combobox" Then
ctl.Text = ""
End If
Next
End Sub
Sub aktif()
Dim ctl As Control
For Each ctl In FormBrg
If TypeName(ctl) = "textbox" Then
ctl.Locked = False
End If
If TypeName(ctl) = "combobox" Then
ctl.Locked = False
End If
Next
End Sub
7)

Jalankan aplikasi tersebut dengan menekan F5

Modul Visual Basic/D3

Agus Muhardi Alga Musa

67

BAB XVI
MENAMPILKAN DATA DENGAN DBGRID

Penanganan data dalam bentuk table sangatlah penting karena bentuk table
memberikan beberapa keuntungan, antara lain dapat melihat beberapa record (baris)
sekaligus dalam satu table dan lebih jelas keterkaitan serta urutan antardatanya.
Untuk memahami menampilkan data dengan DBGrid lakukan langkah-langkah
sebagai berikut :
1. Buat form baru dengan menu File lalu New Project, lalu pilihlah VB Enterprise /
Profesional Edition Controls.
2. Tampilkan jendela Form.
3. Klik ganda pada icon Data pada jendela Toolbox.
4. Atur property objek Data sbb :
Objek
Name
Appearance

Setting
Data1
3D

Caption

Data Barang

Connect

Acces

Database Name

C:\Zidan\Pembelian.mdb

EOFAction
RecordsetType
RecordSource

AddNew
Dynaset
Barang

5. Klik ganda icon DBGrid pada jendela toolbox dan aturlah. Jika tidak ada icon
DBGrid, maka tambahkan melalui menu Project lalu Component (Ctrl + T),
kemudian pilih Microsoft Data Bound Control 5.0 (SP3)
6. Atur property objek DBGrid sbb :

Modul Visual Basic/D3

Agus Muhardi Alga Musa

68

Objek
Name
AllowAddNew

Setting
DBGrid
True

AllowArrows

True

AllowDelete

True

AllaowUpdate

True

Caption
Browse Data Barang
CoumnHeaders True
DataSource
Data1
TabAction
Grid Navigation
7. Atur letak dan ukuran seperti berikut :

8. Simpan lagi proyek dan form dengan nama sama.


9. Jalankan program.
10. Hasilnya sbb :

a. Menambahkan Record

Klik icon Last [

Ketik data yang dikehendaki.

Modul Visual Basic/D3

] pada objek Data, lalu tekan tombol panah ke bawah.

Agus Muhardi Alga Musa

69

b. Mengedit Record

Klik pada data yang ingin di edit sampai blok hilang.

Ketik data yang dikehendaki

c. Menghapus Record

Klik disebelah kiri record sehingga tersorot satu baris record yang akan
dihapus.

Tekan tombol Del / Delete pada keyboard.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

70

BAB XVII
MENGGUNAKAN DATABASE LEWAT KODE PROGRAM

Untuk membuka database lewat kode program, ikuti langkah-langkah sebagai


berikut:
17.1. Deklarasi Variabel Database
Level deklarasi variabel database bisa pada level form atau level lain, tetapi
biasanya tidak pada level prosedur. Penulisannya adalah sebagai berikut :
Dim [nama_variabel] As Database
Contoh : Dim dbPembelian As Database
Jika perintah diatas tidak dikenal, maka dapat menambahkan dulu objek
data dari toolbox ke dalam form. Objek data tersebut tidak perlu dikaitkan ke dala
database, karena hanya sebagai syarat agar dapat menggunakan perintah deklarasi
variabel database di atas. Setelah program dijalankan satu kali, maka objek data
tersebut dapat dihapus.

17.2. Deklarasi Variabel Recordset


Level deklarasi recordset ini bisa pada level form atau level lain, tetapi
biasanya tidak pada level prosedur. penulisannya adalah sebagai berikut :
Dim [nama_variabel] As Recordset
Contoh : Dim rsBarang As Recordset

17.3. Open Database

Modul Visual Basic/D3

Agus Muhardi Alga Musa

71

Setelah mendeklarasikan variabel database dan variabel recordset, berilah


untuk membuka database pada suatu prosedur, misalnya prosedur Form_Load.
Penulisannya adalah sebagai berikut :
Set [nama_variabel] = OpenDatabase ([namaFileDatabase])
Contoh :
Set dbPembelian = OpenDatabase (C:\VB6\Pembelian.mdb)
Untuk penulisan database harus disertakan nama direktori atau folder atau
path secara lengkap. Penulisan perintah ini sama dengan menentukan properti
DatabaseName pada objek Data.

17.4. Open Recordset


Tentukan recordset dari database yang telah dibuka. Penulisannya adalah
sebagai berikut :
Set [nmVar] = [nmVarDatabase].OpenRecordset ([nmTabel])
Contoh
Set rsBarang = dbPembelian.OpenRecordset (Barang)
Perintah ini sama dengan menentukan properti RecordSource pada objek Data.

17.5. Close
Setelah databse dan recordset diakses, tutuplah dengan perintah sebagai berikut :
[namaVarRecordset].Close
[namaVarDatabase].Close
Contoh :
rsBarang.Close
dbPembelian.Close

Modul Visual Basic/D3

Agus Muhardi Alga Musa

72

Jika menutup suatu database, maka seluruh recordset yang mengacu pada
database tersebut otomatis tertutup. Jadi perintah di atas boleh ditulis dengan satu
baris saja, yaitu dbPembelian.Close.
Contoh penulisan selengkapnya sebagai berikut :
Dim dbPembelian As Database
Dim rsBarang As Recordset
Private Sub cmdSelesai_Click()
rsBarang.Close
dbPembelian.Close
End
End Sub
Private Sub Form_Load()
Set dbPembelian = OpenDatabase (C:\VB6\Pembelian.mdb)
Set rsBarang = dbPembelian.OpenRecordset (Barang)
End Sub

Modul Visual Basic/D3

Agus Muhardi Alga Musa

73

BAB XVIII
MENGENAL SQL

18.1. Pengetian SQL


SQL adalah singkatan dari Structured Query Language. SQL adalah bahasa
yang digunakan untuk memuat, mengurutkan, menyaring, meng-update, dan
mengolah relasi antardatabase suatu data sehingga dihasilkan suatu data yang
spesifik dari suatu database.

18.2. Menjalankan SQL Data Manager


Berikut ini akan dibahas penerapan SQL dalam property RecordSource
pada suatu objek data.
Bentuk Umum :
<objekdata>.RecordSource=<stringSQL>
Keterangan

<stringSQL> adalah string yang berisi pernyataan dalam SQL.


Contoh :
Perintah dibawah ini akan mengambil data yang berupa field KodeBrg dan filed
NoBon dari table data Beli.
Data1.RecordSource = SELECT KodeBrg, NoBon FROM Beli

18.3. Select From


Digunakan untuk memilih field dan table data dengan SQL .
Bentuk Umum :
SELECT <daftarField> FROM <namaTabel> IN <namadatabase>

Modul Visual Basic/D3

Agus Muhardi Alga Musa

74

Keterangan

<daftarField> adalah nama-nama field yang diinginkan, bisa satu atau lebih field
( * = untuk semua field).
<namaTabel> adalah salah satu nama table yang ada dalam nama database di
sebelah kanan pernyataan IN.
<namaDatabase> adalah string yang berisi nama database.
Untuk memahami Select From lakukan langkah-langkah sebagai berikut :
1. Pilih menu File lalu New Project.
2. Pilih VB Enterprise Edition Controls, lalu Ok.
3. Tambahkan satu buah objek Data dan ubahlah property DatabaseName-nya
menjadi C:\Zidan\Penjualan.mdb atau nama database lainnya. Properti
RecorSourceType-nya tidak boleh berupa 0 Table (agar dapat
menggunakan index dalam operasi databasenya.
4. Tambahkan sebuah objek DBGrid dan ubahlah property DataSource-nya
enjadi Data1.
5. Tambahkan objek Label, TextBox, dan CommandButton. Atur letak dan
ukuran seperti berikut :

6. Tampilkan editor kode program dan ketikkan kode programnya sbb:

Modul Visual Basic/D3

Agus Muhardi Alga Musa

75

Private Sub Command1_Click()


'menampilkan seluruh field dan seluruh record tabel data Beli
Data1.RecordSource = "SELECT * FROM Beli
'C:\LatVB6\Pembelian.mdb' "
'obyek data mengambil data sesuai SQL
Data1.Refresh
Text1.Text = Data1.RecordSource

IN

End Sub

Private Sub Command2_Click()


Data1.RecordSource = "SELECT
'C:\LatVB6\Penjualan.mdb' "
Data1.Refresh
Text1.Text = Data1.RecordSource
End Sub

FROM

Jual

IN

Private Sub Command3_Click()


End
End Sub
Private Sub Form_Load()
'pada saat program dijalankan, program menampilkan
'seluruh record data Jual dengan kolom KodeBrg dan NoBon saja.
Data1.RecordSource = "SELECT KodeBrg,NoBon FROM Jual IN
'C:\LatVB6\Penjualan.mdb' "
Data1.Refresh
Text1.Text = Data1.RecordSource
End Sub
7. Simpan lagi proyek dan form lalu jalankan program.

18.4. Select From Where


Digunakan untuk memilih field dan table data hanya untuk record tertentu,
sehingga SQL dapat bekerja sebagai penyaring / filter data.
Bentuk Umum :
SELECT <daftarField> FROM <namaTabel> IN <namadatabase> WHERE
<syarat>
Contoh : SELECT * FROM BELI IN 'C:\LATVB6\PEMBELIAN.mdb' WHERE
KodeBrg = 'PS.002'

Modul Visual Basic/D3

Agus Muhardi Alga Musa

76

Untuk memahami Select From Where lakukan langkah-langkah sebagai


berikut:
1. Pilih menu File lalu New Project.
2. Pilih VB Enterprise Edition Controls, lalu Ok.
3. Tambahkan satu buah objek Data dan ubahlah property DatabaseName-nya
menjadi C:\Zidan\Penjualan.mdb atau nama database lainnya. Properti
RecorSourceType-nya tidak boleh berupa 0 Table (agar dapat
menggunakan index dalam operasi databasenya.
4. Tambahkan sebuah objek DBGrid dan ubahlah property DataSource-nya
enjadi Data1.
5. Tambahkan objek Label, TextBox, dan CommandButton. Atur letak dan
ukuran seperti berikut :

6. Tampilkan editor kode program dan ketikkan kode programnya sbb:


Private Sub Command1_Click()
Dim X As Integer
On Error GoTo Salah
'ambil isi Text1 sebagai <stringSQL>
Data1.RecordSource = Text1.Text
Data1.Refresh
On Error GoTo 0
Exit Sub

Modul Visual Basic/D3

Agus Muhardi Alga Musa

77

Salah:
Beep
X = MsgBox("Tulisan SQL salah!", vbOKOnly)
Text1.SetFocus
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Activate()
Text1.SetFocus
Command1.Default = True
End Sub
7. Simpan lagi proyek dan form dengan nama Lat30 lalu jalankan program.
8. Isilah isian bentuk SQL dengan <stringSQL> yang diinginkan, misal SELECT
* FROM BELI IN 'C:\LATVB6\PEMBELIAN.mdb' WHERE KodeBrg =
'PS.002'

18.5. Select From Order By


SQL dapat digunakan untuk mengakses suatu data dengan hasil yang terurut. Kunci
pengurutannya bahkan bisa beberapa field sekaligus.
Bentuk Umum :
SELECT <daftarField> FROM <namaTabel> IN <namadatabase> ORDER BY
<fieldKunci1>, <fieldKunci2>,
Contoh :
SELECT * FROM Jual IN 'C:\LatVB6\Penjualan.mdb' ORDER BY KodeCst,
NoBon
Anda dapat menggunakan program Lat30 untuk mencoba contoh tersebut.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

78

Modul Visual Basic/D3

Agus Muhardi Alga Musa

79

BAB XIX
PEMBUATAN LAPORAN DENGAN DATA REPORT

Data Report adalah suatu laporan mengenai database yang disediakan oleh Visual
Basic. Laporan ini dapat terbentuk jika Data Environment sudah didesain. Data
Environment merupakan penghubung antara database yang telah didesain dengan Data
Report yang akan ditampilkan.
Untuk membuat Report dengan Data Report di Visual Basic, lakukan langkahlangkah berikut ini :
1) Buat Database baru.
Caranya :
a) Buat Projek Baru : File, New, Projek, Pilih Data Project, Ok
b) Dari menu bar Add-Ins pilih Visual Data Manager.
c) Klik File, New, Microsoft Access, Version 7.0 MDB
d) Tentukan direktori penyimpanan data dan ketikkan nama filenya. Misal :
Tesdatabase

e) Pada Database Windows, klik kanan di Properties.


f) Pilih New Table sehingga jendela Table Structure terbuka.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

80

g) Ketikkan nama table (misal : Data Teman)


h) Klik Add Field sehingga jendela Add Field terbuka.

i) Isikan nama field, tipe dan ukuran field. Klik Ok untuk menambah filed lagi. Isi
seperti berikut :
Name
NamaLengkap
TanggalLahir
Alamat

Type
Text
Date/Time
Text

Size
30
8
50

j) Setelah membuat filed-field tersebut, klik Close.


k) Klik Build The Table pada jendela Table Structure. Nama table yang telah
dibuat akan ditampilkan di bawah Properties pada jendela kerja Visual Data
Manager.

l) Klik kanan pada Data Teman.


m) Pilih Open. Ketikkan data-datanya.
n) Klik Update untuk menyimpan data.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

81

o) Klik Add untuk menambah data.

p) Klik Close untuk keluar dari jendela table.


q) Klik File, Exit untuk kembali ke jendela desain Visual Basic
3) Buat Data Environment.
Caranya :
a) Pada window Project, klik double DataEnvironment1

b) Klik pada Conection1. Kemudian dari jendela Properties, ganti property


namenya menjadi Dataku

Modul Visual Basic/D3

Agus Muhardi Alga Musa

82

c) Untuk menghubungkan dengan database, klik kanan pada Dataku, pilih


Properties hingga tampil jendela Data Link Properties.
d) Pilih Microsoft Jet 3.51 OLE DB PROVIDER, klik Next.
e) Browse Nama Database yang akan dihubungkan.. (Tesdatabase.mdb)

f) Klik Test Connection. Jika koneksi berhasil, berarti database telah terkoneksi.
Klik Ok.
g) Untuk menambahkan command pada database, klik kanan Dataku, pilih Add
Command. Akan muncul Command1 di bawah Dataku.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

83

h) Klik kanan Command1, pilih Properties.


i) Perhatikan bagian Connection, pilih Dataku.
j) Pada bagian Database Objek,ubah Stored Procedure menjadi Table.
k) Pada bagian objek name, pilih nama table yang telah didesain (Data Teman).

l) Klik Ok.
m) Klik tanda (+) di depan Dataku. Field-field database akan ditampilkan.

4) Buat Data Report.


Caranya :

Modul Visual Basic/D3

Agus Muhardi Alga Musa

84

a) Pada window Project, klik double DataReport1

b) Klik kanan pada jendela Data Report. Klik Show Report Header/Footer.

Bagian-bagiannya :
Bagian
Report Header
Page Header
Detail
Page Footer
Report Footer

Keterangan
Berisi judul laporan.
Berisi judul kolom data yang akan ditampilkan.
Berisi nama field yang akan ditampilkan pada kolom.
Berisi catatan kaki di akhir kolom-kolom report.
Berisi catatan kecil/keterangan report

Selain jendela Data Report, pada toolbox akan muncul sebuah tab Data
Report yang berisi :
Nama Kontrol
RtpTexBox
RptLine
RptFunction

Modul Visual Basic/D3

Keterangan
Kontrol serupa textbox yang hanya menampilkan
teks database saat runtime.
Kontrol yang dapat menggambar garis secara
horizontal, vertical, maupun diagonal.
Kontrol yang dapat menset hasil perhitungan pada

Agus Muhardi Alga Musa

85

saat runtime (misalnya jumlah toatal, standar deviasi,


dsb)
Kontrol untuk memberikan label pada report.
Kontrol untuk menempatkan image pada report
Kontrol untuk menggambar shape pada report

RptLabel
RptImage
RptShape

c) Letakkan kontrol RptLabel pada bagian Report Header. Ubah property Caption
menjadi Laporan Data Teman, dan property Alignment menjadi rptjustcenter.
d) Klik Data Report1.
e) Untuk menghubungkan data report ke database yang telah dibuat, isi property
Datasource

dengan

nama

data

environment

yang

telah

dibuat.

(DataEnvironment1)
f) Isi property Datamember dengan nama command yang telah dibuat.
(Command1)
g) Klik menu bar Windows, pilih Cascade.
h) Letakkan jendela Data Environment di atas jendela Data Report.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

86

i) Drag & drop field-filed pada jendela data environment ke jendela Data Report di
bagian Detail
j) Pindahkan bagian yang diakhiri tanda : ke bagian page header.

k) Desain akhir Data Report adalah sbb :

Modul Visual Basic/D3

Agus Muhardi Alga Musa

87

BAB XX
MENU

Menu utama / menu program digunakan untuk mengintegrasikan programprogram sehingga pemakai program tidak kesulitan menggunakan program yang telah
dibuat. Ms. Visual Basic 6.0 menyediakan fasilitas untuk membuat menu program, yaitu
Menu Editor. Dengan fasilitas ini, anda dapat membuat menu program dengan cepat dan
mudah. Berikut ini langkah-langkah pembuatan menu :
1. Buat project baru dan tampilkan form
2. Klik Form lalu ubahlah property Name-nya menjadi frmMenu dan property
Caption-nya menjadi Menu Program Pembelian & Penjualan.
3. Klik Icon Menu Editor [

4. Isilah Caption dengan tampilan menu (Contoh : &File)


5. Isilah Name dengan nama pengenal menu sebagai procedure atau objek untuk kode
program (Contoh : mnFile)

Modul Visual Basic/D3

Agus Muhardi Alga Musa

88

6. Beri tanda pilih pada pilihan Enable agar menu ini bisa dipilih.
7. Beri tanda pilih pada pilihan Visible agar menu ini ditampilkan dilayar.
8. Gunakan icon tanda panah untuk mengubah letak / level menu.
9. Klik Next untuk membuat pilihan / menu berikutnya
10. Pilih Insert untuk menyisipkan pilihan baru pada posisi yang sekarang ditunjuk.
11. Pilih Delete untuk menghapus menu yang ditunjuk.
12. Lengkapilah struktur menu menjadi seperti table berikut ini :
Caption
Level 1
&File

Level 2

Level 3

Name

mnFile
Data Supplier
mnSupplier
Data Barang
mnBarang
Data Customer
mnCustomer
&Transaksi
mnTransaksi
Pembelian
mnBeli
Input
mnInputBeli
Browse
mnBrowseBeli
Penjualan
mnJual
Input
mnInputJual
Browse
mnBrowseJual
&Cetak
mnCetak
Supplier
mnCetakSupplier
Barang
mnCetakBarang
Customer
mnCetakCustomer
Pembelian
mnCetakPembelian
Penjualan
mnCetakPenjualan
&Selesai
mnSelesai
Tutup Program
mnTutup
13. Setelah selesai klik OK dan simpanlah proyek dan formya dengan nama frmMenu.
14. Jalankan aplikasi tersebut dengan menekan F5
15. Setelah Form Menu Utama terbentuk langkah berikutnya adalah membuat program
untuk sub menu.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

89
a) Program Data Supplier

Klik sub menu Data Supplier pada form frmMenu.


Buat procedure untuk menghubungkan frmMenu dengan frmSupplier. Ketikkan
kode programnya seperti berikut ini :
Private Sub mnSupplier_Click()
frmSupplier.Show
End Sub
Klik menu Project, Add Form, Form, Open.
Buat form seperti berikut :

Atur property untuk kontrol-kontrolnya sbb :


Kontrol
Form1
SSTab

Command1
Data

Modul Visual Basic/D3

Properti

Nilai

Name
Caption
Tabs

frmSupplier
Data Supplier
2

Caption [ Tab 0 ]

Input Supplier

Caption [ Tab 1 ]

Browse Supplier

Name

CmdClose

Caption

Close

Caption

Data Supplier

DatabaseName

C:\Pembelian.mdb

RecordsetType

0-Table

Agus Muhardi Alga Musa

90

RecordSource

Supplier

Text1

Name

txtKode

Text2

Name

txtNama

Text3

Name

txtAlamat

Text4

Name

txtKota

Text5

Name

txtHubungan

Text6

Name

txtTelepon

Command2

Name

cmdSimpan

Command3

Name

cmdBatal

Klik tab Browse Supplier kemudian tambahkan objek-objeknya seperti berikut :

Atur property untuk kontrol-kontrolnya sbb :


Kontrol

Properti

Nilai

Text1

Name

txtCariKode

Text2

Name

txtCariNama

Command1

Name

cmdHapusRecord

DBGrid

DataSource

Data1

Tampilkan editor kode program dan tulislah kode programnya seperti berikut :
Private Sub cmdBatal_Click()
txtKode.Text = ""

Modul Visual Basic/D3

Agus Muhardi Alga Musa

91

BlankForm
TidakSiapIsi
txtKode.SetFocus
End Sub
Private Sub cmdClose_Click()
frmSupplier.Hide
frmMenu.Show
End Sub
Private Sub cmdHapusRecord_Click()
Dim X As Byte
X = MsgBox("Betul akan dihapus?", vbOKCancel, "Menghapus
record")
If X = vbOK Then
Data1.Recordset.Delete
End If
End Sub
Private Sub cmdSimpan_Click()
Data1.Recordset.AddNew
Data1.Recordset!Kode = txtKode.Text
Data1.Recordset!Nama = txtNama.Text
Data1.Recordset!Alamat = txtAlamat.Text
Data1.Recordset!Kota = txtKota.Text
Data1.Recordset!Hubungan = txtHubungan.Text
Data1.Recordset!Telepon = txtTelepon.Text
Data1.Recordset.Update
cmdBatal_Click
End Sub
Private Sub Form_Activate()
txtKode.SetFocus
txtKode.MaxLength = 5
txtNama.MaxLength = 30
txtAlamat.MaxLength = 30
txtKota.MaxLength = 10
txtHubungan.MaxLength = 30
txtTelepon.MaxLength = 20
TidakSiapIsi
End Sub
Private Sub SSTab1_GotFocus()
If SSTab1.Caption = "Input Supplier" Then
txtKode.SetFocus
Else
txtCariKode.SetFocus
End If
End Sub

Modul Visual Basic/D3

Agus Muhardi Alga Musa

92

Private Sub txtCariKode_Change()


Data1.Recordset.Index = "KodeSpl"
Data1.Recordset.Seek "<=", txtCariKode.Text
If Data1.Recordset.NoMatch Then
If Len(Trim(txtCariKode.Text)) = 5 Then
Beep
End If
End If
End Sub
Private Sub txtCariNama_Change()
Data1.Recordset.Index = "NamaSpl"
Data1.Recordset.Seek "<=", Trim(txtCariNama.Text) & "zzz"
If Data1.Recordset.NoMatch Then
If Len(Trim(txtCariKode.Text)) = 30 Then
Beep
End If
End If
End Sub
Private Sub txtKode_Change()
If Len(Trim(txtKode.Text)) < 5 Then
Exit Sub
End If
Data1.Recordset.Index = "KodeSpl"
Data1.Recordset.Seek "=", txtKode.Text
If Not Data1.Recordset.NoMatch Then
On Error Resume Next 'jika field kosong, abaikan!
txtNama.Text = Data1.Recordset!Nama
txtAlamat.Text = Data1.Recordset!Alamat
txtKota.Text = Data1.Recordset!Kota
txtHubungan.Text = Data1.Recordset!Hubungan
txtTelepon.Text = Data1.Recordset!Telepon
TidakSiapIsi
On Error GoTo 0
Exit Sub
End If
SiapIsi
BlankForm
txtNama.SetFocus
End Sub
Private Sub txtKode_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtNama_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub

Modul Visual Basic/D3

Agus Muhardi Alga Musa

93

Private Sub txtAlamat_KeyPress(KeyAscii As Integer)


KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtKota_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtHubungan_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Function TidakSiapIsi()
txtNama.Enabled = False
txtAlamat.Enabled = False
txtKota.Enabled = False
txtHubungan.Enabled = False
txtTelepon.Enabled = False
txtNama.BackColor = &H8000000F
txtAlamat.BackColor = &H8000000F
txtKota.BackColor = &H8000000F
txtHubungan.BackColor = &H8000000F
txtTelepon.BackColor = &H8000000F
cmdSimpan.Enabled = False
End Function
Private Function SiapIsi()
txtNama.Enabled = True
txtAlamat.Enabled = True
txtKota.Enabled = True
txtHubungan.Enabled = True
txtTelepon.Enabled = True
txtNama.BackColor = &H8000000E
txtAlamat.BackColor = &H8000000E
txtKota.BackColor = &H8000000E
txtHubungan.BackColor = &H8000000E
txtTelepon.BackColor = &H8000000E
cmdSimpan.Enabled = True
End Function
Private Function BlankForm()
txtNama.Text = ""
txtAlamat.Text = ""
txtKota.Text = ""
txtHubungan.Text = ""
txtTelepon.Text = ""
End Function
Simpan project dan form lalu jalankan.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

94

b) Program Data Barang


Klik sub menu Data Barang pada form frmMenu.
Buat procedure untuk menghubungkan frmMenu dengan frmSupplier. Ketikkan
kode programnya seperti berikut ini :
Private Sub mnBarang_Click()
frmBarang.Show
End Sub
Klik menu Project, Add Form, Form, Open.
Buat form seperti berikut :

Atur property untuk kontrol-kontrolnya sbb :


Kontrol
Form1
SSTab

Command1

Modul Visual Basic/D3

Properti

Nilai

Name
Caption
Tabs

frmBarang
Data Barang
2

Caption [ Tab 0 ]

Input Barang

Caption [ Tab 1 ]

Browse Barang

Name

CmdClose

Caption

Close

Agus Muhardi Alga Musa

95

Data

Caption

Data Barang

DatabaseName

C:\Pembelian.mdb

RecordsetType

0-Table

RecordSource

Barang

Text1

Name

txtKode

Text2

Name

txtNama

Text3

Name

txtSatuan

Text4

Name

txtHarga

Command2

Name

cmdSimpan

Command3

Name

cmdBatal

Klik tab Browse Supplier kemudian tambahkan objek-objeknya seperti berikut :

Atur property untuk kontrol-kontrolnya sbb :


Kontrol

Properti

Nilai

Text1

Name

txtCariKode

Text2

Name

txtCariNama

Command1

Name

cmdHapusRecord

DBGrid

DataSource

Data1

Modul Visual Basic/D3

Agus Muhardi Alga Musa

96

Tampilkan editor kode program dan tulislah kode programnya seperti berikut :
Private Sub cmdBatal_Click()
txtKode.Text = ""
BlankForm
TidakSiapIsi
txtKode.SetFocus
End Sub
Private Sub cmdClose_Click()
frmBarang.Hide
frmMenu.Show
End Sub
Private Sub cmdHapusRecord_Click()
Dim X As Byte
X = MsgBox("Betul akan dihapus?", vbOKCancel, "Menghapus
record")
If X = vbOK Then
Data1.Recordset.Delete
End If
End Sub
Private Sub cmdSimpan_Click()
On Error Resume Next
Data1.Recordset.AddNew
Data1.Recordset!Kode = txtKode.Text
Data1.Recordset!Nama = txtNama.Text
Data1.Recordset!Satuan = txtSatuan.Text
Data1.Recordset!Harga = txtHarga.Text
Data1.Recordset.Update
On Error GoTo 0
cmdBatal_Click
End Sub
Private Sub Form_Activate()
txtKode.SetFocus
txtKode.MaxLength = 6
txtNama.MaxLength = 30
txtSatuan.MaxLength = 5
txtHarga.MaxLength = 12
TidakSiapIsi
End Sub
Private Sub SSTab1_GotFocus()
If SSTab1.Caption = "Input Barang" Then
txtKode.SetFocus
Else
txtCariKode.SetFocus
End If

Modul Visual Basic/D3

Agus Muhardi Alga Musa

97

End Sub
Private Sub txtCariKode_Change()
Data1.Recordset.Index = "KodeBrg"
Data1.Recordset.Seek "<=", txtCariKode.Text
If Data1.Recordset.NoMatch Then
If Len(Trim(txtCariKode.Text)) = 6 Then
Beep
End If
End If
End Sub
Private Sub txtCariNama_Change()
Data1.Recordset.Index = "NamaBrg"
Data1.Recordset.Seek "<=", Trim(txtCariNama.Text) & "zzz"
If Data1.Recordset.NoMatch Then
If Len(Trim(txtCariKode.Text)) = 30 Then
Beep
End If
End If
End Sub
Private Sub txtKode_Change()
If Len(Trim(txtKode.Text)) < 6 Then
Exit Sub
End If
Data1.Recordset.Index = "KodeBrg"
Data1.Recordset.Seek "=", txtKode.Text
If Not Data1.Recordset.NoMatch Then
On Error Resume Next 'jika field kosong, abaikan!
txtNama.Text = Data1.Recordset!Nama
txtSatuan.Text = Data1.Recordset!Satuan
txtHarga.Text = Data1.Recordset!Harga
TidakSiapIsi
On Error GoTo 0
Exit Sub
End If
SiapIsi
BlankForm
txtNama.SetFocus
End Sub
Private Sub txtKode_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtNama_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub

Modul Visual Basic/D3

Agus Muhardi Alga Musa

98

Private Sub txtSatuan_KeyPress(KeyAscii As Integer)


KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Function TidakSiapIsi()
txtNama.Enabled = False
txtSatuan.Enabled = False
txtHarga.Enabled = False
txtNama.BackColor = &H8000000F
txtSatuan.BackColor = &H8000000F
txtHarga.BackColor = &H8000000F
cmdSimpan.Enabled = False
End Function
Private Function SiapIsi()
txtNama.Enabled = True
txtSatuan.Enabled = True
txtHarga.Enabled = True
txtNama.BackColor = &H8000000E
txtSatuan.BackColor = &H8000000E
txtHarga.BackColor = &H8000000E
cmdSimpan.Enabled = True
End Function
Private Function BlankForm()
txtNama.Text = ""
txtSatuan.Text = ""
txtHarga.Text = ""
End Function
Private Sub txtHarga_KeyPress(KeyAscii As Integer)
'hanya boleh diisi angka atau backspace
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii =
vbKeyBack) Then
Beep
KeyAscii = 0
End If
End Sub
i. Simpan project dan form lalu jalankan.

c)

Program Data Customer


Klik sub menu Data Barang pada form frmMenu.
Buat procedure untuk menghubungkan frmMenu dengan frmSupplier. Ketikkan
kode programnya seperti berikut ini :
Private Sub mnCustomer_Click()

Modul Visual Basic/D3

Agus Muhardi Alga Musa

99

frmCustomer.Show
End Sub
Klik menu Project, Add Form, Form, Open.
Buat form seperti berikut :

Atur property untuk kontrol-kontrolnya sbb :


Kontrol
Form1

Properti

Nilai

Name
Caption
Tabs

frmCustomer
Data Customer
2

Caption [ Tab 0 ]

Input Customer

Caption [ Tab 1 ]

Browse Customer

Name

CmdClose

Caption

Close

Caption

Data Customer

DatabaseName

C:\Pembelian.mdb

RecordsetType

0-Table

RecordSource

Customer

Text1

Name

txtKode

Text2

Name

txtNama

Text3

Name

txtAlamat

Text4

Name

txtKota

SSTab

Command1
Data

Modul Visual Basic/D3

Agus Muhardi Alga Musa

100

Text5

Name

txtHubungan

Text6

Name

txtTelepon

Command2

Name

CmdSimpan

Command3

Name

CmdBatal

Klik tab Browse Customer kemudian tambahkan objek-objeknya seperti berikut

Atur property untuk kontrol-kontrolnya sbb :


Kontrol

Properti

Nilai

Text1

Name

txtCariKode

Text2

Name

TxtCariNama

Command1

Name

cmdHapusRecord

DBGrid

DataSource

Data1

Tampilkan editor kode program dan tulislah kode programnya seperti berikut :
Private Sub cmdBatal_Click()
txtKode.Text = ""
BlankForm
TidakSiapIsi
txtKode.SetFocus
End Sub
Private Sub cmdClose_Click()
frmCustomer.Hide
frmMenu.Show
End Sub
Private Sub cmdHapusRecord_Click()
Dim X As Byte
X = MsgBox("Betul akan dihapus?", vbOKCancel, "Menghapus
record")

Modul Visual Basic/D3

Agus Muhardi Alga Musa

101

If X = vbOK Then
Data1.Recordset.Delete
End If
End Sub
Private Sub cmdSimpan_Click()
Data1.Recordset.AddNew
Data1.Recordset!Kode = txtKode.Text
Data1.Recordset!Nama = txtNama.Text
Data1.Recordset!Alamat = txtAlamat.Text
Data1.Recordset!Kota = txtKota.Text
Data1.Recordset!Hubungan = txtHubungan.Text
Data1.Recordset!Telepon = txtTelepon.Text
Data1.Recordset.Update
cmdBatal_Click
End Sub
Private Sub Form_Activate()
txtKode.SetFocus
txtKode.MaxLength = 5
txtNama.MaxLength = 30
txtAlamat.MaxLength = 30
txtKota.MaxLength = 10
txtHubungan.MaxLength = 30
txtTelepon.MaxLength = 20
TidakSiapIsi
End Sub
Private Sub SSTab1_GotFocus()
If SSTab1.Caption = "Input Customer" Then
txtKode.SetFocus
Else
txtCariKode.SetFocus
End If
End Sub
Private Sub txtCariKode_Change()
Data1.Recordset.Index = "KodeCst"
Data1.Recordset.Seek "<=", txtCariKode.Text
If Data1.Recordset.NoMatch Then
If Len(Trim(txtCariKode.Text)) = 5 Then
Beep
End If
End If
End Sub
Private Sub txtCariNama_Change()
Data1.Recordset.Index = "NamaCst"
Data1.Recordset.Seek "<=", Trim(txtCariNama.Text) & "zzz"
If Data1.Recordset.NoMatch Then

Modul Visual Basic/D3

Agus Muhardi Alga Musa

102

If Len(Trim(txtCariKode.Text)) = 30 Then
Beep
End If
End If
End Sub
Private Sub txtKode_Change()
If Len(Trim(txtKode.Text)) < 5 Then
Exit Sub
End If
Data1.Recordset.Index = "KodeCst"
Data1.Recordset.Seek "=", txtKode.Text
If Not Data1.Recordset.NoMatch Then
On Error Resume Next 'jika field kosong, abaikan!
txtNama.Text = Data1.Recordset!Nama
txtAlamat.Text = Data1.Recordset!Alamat
txtKota.Text = Data1.Recordset!Kota
txtHubungan.Text = Data1.Recordset!Hubungan
txtTelepon.Text = Data1.Recordset!Telepon
TidakSiapIsi
On Error GoTo 0
Exit Sub
End If
SiapIsi
BlankForm
txtNama.SetFocus
End Sub
Private Sub txtKode_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtNama_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtAlamat_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtKota_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub txtHubungan_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Function TidakSiapIsi()
txtNama.Enabled = False

Modul Visual Basic/D3

Agus Muhardi Alga Musa

103

txtAlamat.Enabled = False
txtKota.Enabled = False
txtHubungan.Enabled = False
txtTelepon.Enabled = False
txtNama.BackColor = &H8000000F
txtAlamat.BackColor = &H8000000F
txtKota.BackColor = &H8000000F
txtHubungan.BackColor = &H8000000F
txtTelepon.BackColor = &H8000000F
cmdSimpan.Enabled = False
End Function
Private Function SiapIsi()
txtNama.Enabled = True
txtAlamat.Enabled = True
txtKota.Enabled = True
txtHubungan.Enabled = True
txtTelepon.Enabled = True
txtNama.BackColor = &H8000000E
txtAlamat.BackColor = &H8000000E
txtKota.BackColor = &H8000000E
txtHubungan.BackColor = &H8000000E
txtTelepon.BackColor = &H8000000E
cmdSimpan.Enabled = True
End Function
Private Function BlankForm()
txtNama.Text = ""
txtAlamat.Text = ""
txtKota.Text = ""
txtHubungan.Text = ""
txtTelepon.Text = ""
End Function
i. Simpan project dan form lalu jalankan.

d)

Program Input Pembelian


Klik sub menu Pembelian, Input pada form frmMenu.
Buat procedure untuk menghubungkan frmMenu dengan frmInBeli. Ketikkan
kode programnya seperti berikut ini :
Private Sub mnInputBeli_Click()
frmInBeli.Show
End Sub

Modul Visual Basic/D3

Agus Muhardi Alga Musa

104

Klik menu Project, Add Form, Form, Open.


Buat form seperti berikut :

Atur property untuk kontrol-kontrolnya sbb :


Kontrol
Form1

Properti

Nilai

Name
Caption
DatabaseName

frmInBeli
Pemasukan Data Pembelian
C:\Pembelian.mdb

RecordsetType

0-Table

RecordSource

Supplier

Visible

False

DatabaseName

C:\Pembelian.mdb

RecordsetType

0-Table

RecordSource

Barang

Visible

False

RowSource

Data1

ListField

Kode

RowSource

Data2

DBCombo2

ListField

Kode

Label1

Caption

Nomor Faktur

Label2

Caption

Kode Supplier

Label3

Caption

Kode Barang

Label4

Caption

Harga Satuan

Label5

Caption

Banyak

Label6

Caption

Tgl. Faktur

Label7

Caption

Nama

Data1

Data2

DBCombo1

Modul Visual Basic/D3

Agus Muhardi Alga Musa

105

Label8

Caption

Nama

Label9

Caption

Jumlah

Text1

Name

txtNoFak

Caption

kosongkan

Name

txtTgFak

Caption

kosongkan

Name

txtNamaSpl

Caption

kosongkan

Name

txtNamaBrgl

Caption

Kosongkan

Name

txtHarga

Caption

kosongkan

Name

TxtBanyak

Caption

kosongkan

Name

TxtJumlah

Caption

kosongkan

Name

CmdSimpan

Caption

Simpan

Name

CmdBatal

Caption

Batal

Name

CmdSelesai

Caption

Selesai

Text2
Text3
Text4
Text5
Text6
Text7
Command1
Command2
Command3

Tampilkan editor kode program dan tulislah kode programnya seperti berikut :
Dim wrkJet As Workspace
Dim dbPembelian As Database
Dim rsBeli As Recordset
Private Sub cmdBatal_Click()
BlankForm
txtNoFak.SetFocus
End Sub
Private Sub cmdSelesai_Click()
dbPembelian.Close
frmInBeli.Hide
frmMenu.Show
End Sub

Modul Visual Basic/D3

Agus Muhardi Alga Musa

106

Private Sub cmdSimpan_Click()


'tambahkan record baru pada tabel pembelian
rsBeli.AddNew
'simpan isian form ke dalam tabel pembelian
rsBeli!NoFaktur = txtNoFak.Text
rsBeli!TgFaktur = txtTgFak.Text
rsBeli!KodeSpl = DBCombo1.Text
rsBeli!KodeBrg = DBCombo2.Text
rsBeli!Harga = txtHarga.Text
rsBeli!Banyak = txtBanyak.Text
'update record
rsBeli.Update
Beep
BlankForm
txtNoFak.SetFocus
End Sub
Private Sub DBCombo1_Change()
If Len(Trim(DBCombo1.Text)) < 5 Then
Exit Sub
End If
'cari kode supplier dalam index tabel supplier
Data1.Recordset.Seek "=", DBCombo1.Text
If Data1.Recordset.NoMatch Then
'jika tidak ditemukan, data tidak valid
X = MsgBox("Kode supplier tidak ada!", vbOKOnly)
txtNamaSpl.Text = ""
DBCombo1.SetFocus
Exit Sub
End If
txtNamaSpl.Text = Data1.Recordset!Nama
End Sub
Private Sub DBCombo1_KeyPress(KeyAscii As Integer)
'mengubah huruf kecil jadi huruf besar
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub DBCombo2_KeyPress(KeyAscii As Integer)
'mengubah huruf kecil jadi huruf besar
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub DBCombo2_Change()
If Len(Trim(DBCombo2.Text)) < 5 Then
Exit Sub
End If
'cari kode barang dalam index tabel barang
Data2.Recordset.Seek ">=", DBCombo2.Text
If Data2.Recordset.NoMatch Then

Modul Visual Basic/D3

Agus Muhardi Alga Musa

107

'jika tidak ditemukan, data tidak valid


X = MsgBox("Kode barang tidak ada!", vbOKOnly)
txtNamaBrg.Text = ""
DBCombo2.SetFocus
Exit Sub
End If
txtNamaBrg.Text = Data2.Recordset!Nama
txtHarga.Text = Str(Data2.Recordset!Harga)
End Sub
Private Sub Form_Activate()
Set wrkJet = CreateWorkspace("", "admin", "", dbUseJet)
Set dbPembelian = OpenDatabase("C:\LatVB6\Pembelian.mdb")
Set rsBeli = dbPembelian.OpenRecordset("Beli")
'tentukan index supplier
Data1.Recordset.Index = "KodeSpl"
'tentukan index barang
Data2.Recordset.Index = "KodeBrg"
txtNoFak.MaxLength = 10
txtTgFak.MaxLength = 12
txtHarga.MaxLength = 10
txtBanyak.MaxLength = 10
txtNamaSpl.Enabled = False
txtNamaBrg.Enabled = False
txtJumlah.Enabled = False
txtNamaSpl.BackColor = &H8000000F
txtNamaBrg.BackColor = &H8000000F
txtJumlah.BackColor = &H8000000F
cmdSimpan.Enabled = False
DBCombo1.ToolTipText = "Ketik atau pilih kode supplier"
DBCombo2.ToolTipText = "Ketik atau pilih kode barang"
BlankForm
End Sub
Private Sub BlankForm()
DBCombo1.Text = ""
DBCombo2.Text = ""
txtNoFak.Text = ""
txtTgFak.Text = ""
txtNamaSpl.Text = ""
txtNamaBrg.Text = ""
txtHarga.Text = ""
txtBanyak.Text = ""
txtJumlah.Text = ""
End Sub
Private Sub txtBanyak_KeyPress(KeyAscii As Integer)
'hanya boleh diisi angka atau backspace

Modul Visual Basic/D3

Agus Muhardi Alga Musa

108

If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii =


vbKeyBack) Then
Beep
KeyAscii = 0
End If
End Sub
Private Sub txtHarga_Change()
Dim MJumlah As Single
MJumlah = Val(txtHarga.Text) * Val(txtBanyak.Text)
On Error GoTo Salah
txtJumlah.Text = Format(MJumlah, "Rp ###,###,###") & ",-"
On Error GoTo 0
Exit Sub
Salah:
End Sub
Private Sub txtBanyak_Change()
Dim MJumlah As Single
MJumlah = Val(txtHarga.Text) * Val(txtBanyak.Text)
On Error GoTo Salah
txtJumlah.Text = Format(MJumlah, "Rp ###,###,###") & ",-"
On Error GoTo 0
Exit Sub
Salah:
End Sub
Private Sub txtHarga_KeyPress(KeyAscii As Integer)
'hanya boleh diisi angka atau backspace
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii =
vbKeyBack) Then
Beep
KeyAscii = 0
End If
End Sub
Private Sub txtNoFak_LostFocus()
cmdSimpan.Enabled = True
End Sub
Private Sub txtTgFak_LostFocus()
On Error GoTo SalahTanggal
CekTanggal = CDate(txtTgFak.Text)
On Error GoTo 0
Exit Sub
SalahTanggal:
If Len(Trim(txtTgFak.Text)) = 0 Then
Exit Sub
End If

Modul Visual Basic/D3

Agus Muhardi Alga Musa

109

X = MsgBox("Format tanggal: dd-mm-yyyy" & Chr(13) & "Misalnya:


22-01-1999", vbOKOnly)
txtTgFak.SetFocus
End Sub
Private Sub txtNoFak_KeyPress(KeyAscii As Integer)
'mengubah huruf kecil jadi huruf besar
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub

i. Simpan project dan form lalu jalankan

e)

Program Browse Pembelian


Klik sub menu Pembelian, Browse pada form frmMenu.
Buat procedure untuk menghubungkan frmMenu dengan frmBrowseBeli.
Ketikkan kode programnya seperti berikut ini :
Private Sub mnBrowseBeli_Click()
frmBrowseBeli.Show
End Sub
Klik menu Project, Add Form, Form, Open.
Ubah properti Form1 sbb :
Kontrol
Form1

Properti
Name
Caption

Nilai
FrmBrowseBeli
Informasi Data Pembelian

Klik ganda pada objek SSTab lalu atur tampilannya seperti gambar dibawah ini.
Jika objek SSTab tidak ada dalam toolbox, tambahkan lewat menu Project,
Components, pilih Microsoft Tabbed Dialog Control 6.0.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

110

Klik pada tab pertama (TAB 0) lalu ubah properti Captionnya menjadi No.
Faktur.
Klik pada tab pertama (TAB 1) lalu ubah properti Captionnya menjadi Kode
Supplier.
Klik pada tab pertama (TAB 2) lalu ubah properti Captionnya menjadi Kode
Barang.
Klik kembali tab pertama (No. Faktur) lalu tambahkan objek-objeknya seperti
gambar di atas (cara penambahan objek ke dalam SSTab tidak boleh
menggunakan cara klik ganda).
Klik pada objek data (Data 1) lalu ubah propertinya menjadi sbb :
Properti

Nilai

Caption

Data Pembelian

DatabaseName

C:\Pembelian.mdb

RecordSource

Beli

Klik pada objek DBGrid1 lalu ubah propertinya menjadi sbb:

Modul Visual Basic/D3

Agus Muhardi Alga Musa

111

Properti

Nilai

Caption

Tabel Data Pembelian

DataSource

Data 1

Klik tab ke dua (Kode Supplier) lalu tambahkan objek-objek seperti gambar
berikut ini :

Klik pada objek data (Data 2) lalu ubah propertinya menjadi sbb :
Properti

Nilai

Caption

Data Pembelian

DatabaseName

C:\Pembelian.mdb

RecordSource

Beli

Klik pada objek DBGrid1 lalu ubah propertinya menjadi sbb:


Properti

Nilai

Caption

Tabel Data Pembelian

DataSource

Data 2

Klik tab ke tiga (Kode Barang) lalu tambahkan objek-objek seperti gambar
berikut ini :

Modul Visual Basic/D3

Agus Muhardi Alga Musa

112

Klik pada objek data (Data 3) lalu ubah propertinya menjadi sbb :
Properti

Nilai

Caption

Data Pembelian

DatabaseName

C:\Pembelian.mdb

RecordSource

Beli

Klik pada objek DBGrid1 lalu ubah propertinya menjadi sbb:


Properti

Nilai

Caption

Tabel Data Pembelian

DataSource

Data 3

Tampilkan editor kode program dan tulislah kode programnya seperti berikut :
Private Sub Command2_Click()
Dim MBanyak, MNilai As Single
Dim MCari As String * 5
Data2.Recordset.Index = "KodeSpl"
MCari = Text4.Text
Data2.Recordset.Seek "=", MCari
If Data2.Recordset.NoMatch Then
Text5.Text = ""
Text6.Text = ""
Beep
Exit Sub
End If
MBanyak = 0
MNilai = 0
Do While Data2.Recordset!KodeSpl = MCari

Modul Visual Basic/D3

Agus Muhardi Alga Musa

113

MBanyak = MBanyak + Data2.Recordset!Banyak


MNilai
=
MNilai
+
(Data2.Recordset!Banyak
Data2.Recordset!Harga)
Data2.Recordset.MoveNext
If Data2.Recordset.EOF = True Then
Exit Do
End If
Loop
Data2.Recordset.Seek "=", MCari
Text5.Text = Format(MBanyak, "##,###,###")
Text6.Text = Format(MNilai, "##,###,###,###")
End Sub

Private Sub Command4_Click()


frmBrowseBeli.Hide
frmMenu.Show
End Sub
Private Sub Text4_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub Command1_Click()
Dim MBanyak, MNilai As Single
Dim MCari As String * 10
Data1.Recordset.Index = "NoFaktur"
MCari = Text1.Text
Data1.Recordset.Seek "=", MCari
If Data1.Recordset.NoMatch Then
Text2.Text = ""
Text3.Text = ""
Beep
Exit Sub
End If
MBanyak = 0
MNilai = 0
Do While Data1.Recordset!NoFaktur = MCari
MBanyak = MBanyak + Data1.Recordset!Banyak
MNilai
=
MNilai
+
(Data1.Recordset!Banyak
Data1.Recordset!Harga)
Data1.Recordset.MoveNext
If Data1.Recordset.EOF = True Then
Exit Do
End If
Loop
Data1.Recordset.Seek "=", MCari
Text2.Text = Format(MBanyak, "##,###,###")
Text3.Text = Format(MNilai, "##,###,###,###")
End Sub

Modul Visual Basic/D3

Agus Muhardi Alga Musa

114

Private Sub SSTab1_GotFocus()


If SSTab1.Caption = "No. Faktur" Then
Text1.SetFocus
Command1.Default = True
ElseIf SSTab1.Caption = "Kode Supplier" Then
Text4.SetFocus
Command2.Default = True
Else
Text7.SetFocus
Command3.Default = True
End If
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub Command3_Click()
Dim MBanyak, MNilai As Single
Dim MCari As String * 6
Data3.Recordset.Index = "KodeBrg"
MCari = Text7.Text
Data3.Recordset.Seek "=", MCari
If Data3.Recordset.NoMatch Then
Text8.Text = ""
Text9.Text = ""
Beep
Exit Sub
End If
MBanyak = 0
MNilai = 0
Do While Data3.Recordset!KodeBrg = MCari
MBanyak = MBanyak + Data3.Recordset!Banyak
MNilai
=
MNilai
+
(Data3.Recordset!Banyak
*
Data3.Recordset!Harga)
Data3.Recordset.MoveNext
If Data3.Recordset.EOF = True Then
Exit Do
End If
Loop
Data3.Recordset.Seek "=", MCari
Text8.Text = Format(MBanyak, "##,###,###")
Text9.Text = Format(MNilai, "##,###,###,###")
On Error GoTo TAdaGambar
Image1.Stretch = True
Image1.Picture = LoadPicture("C:\LatVB6\" & Text7.Text & ".BMP")
Exit Sub
TAdaGambar:
Image1.Picture = LoadPicture("")
End Sub

Modul Visual Basic/D3

Agus Muhardi Alga Musa

115

Private Sub Text7_KeyPress(KeyAscii As Integer)


KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Simpan project dan form lalu jalankan
f)

Program Input Penjualan


Klik sub menu Penjualan, Input pada form frmMenu.
Buat procedure untuk menghubungkan frmMenu dengan frmInJual. Ketikkan
kode programnya seperti berikut ini :
Private Sub mnInputJual_Click()
frmInJual.Show
End Sub
Klik menu Project, Add Form, Form, Open.
Buat form seperti berikut :

Atur property untuk kontrol-kontrolnya sbb :

Modul Visual Basic/D3

Agus Muhardi Alga Musa

116

Kontrol
Form1

Properti

Nilai

Name
Caption
Name

FrmInJual
Pemasukan Data Penjualan
dbCustomer

Connect

Access

DatabaseName

C:\Penjualan.mdb

RecordsetType

0-Table

RecordSource

Customer

Visible

False

Name

DbJual

Connect

Access

DatabaseName

C:\Penjualan.mdb

RecordsetType

0-Table

RecordSource

Jual

Visible

False

Name

DbSemjual

Connect

Access

DatabaseName

C:\Penjualan.mdb

RecordsetType

0-Table

RecordSource

Semjual

Visible

False

Name

DbBarang

Connect

Access

DatabaseName

C:\Penjualan.mdb

RecordsetType

0-Table

RecordSource

Barang

Visible

False

Label1

Caption

Nomor Bon

Label2

Caption

Kode Customer

Label3

Caption

Tgl. Bon

Label4

Caption

Nama

Label5

Caption

Jumlah

Text1

Name

txtNoBon

Caption

kosongkan

Name

TxtTgBon

Caption

Kosongkan

Data1

Data2

Data3

Data4

Text2

Modul Visual Basic/D3

Agus Muhardi Alga Musa

117

Text3
Text4

DBCombo

DBGrid

Command1
Command2
Command3

Name

TxtNamaCst

Caption

Kosongkan

Name

TxtJumlah

Alignment

1 Right Justify

Caption

Kosongkan

MultiLine

True

Name

dBCombo1

RowSource

DbCustomer

ListField

Kode

Style

0 dbcDropdownCombo

Name

DBGrid1

AllowAddNew

True

AllowUpdate

True

DataSource

DBSemJual

TabAction

1 Column Navigation

Name

CmdSimpan

Caption

Simpan

Name

CmdBatal

Caption

Batal

Name

CmdSelesai

Caption

Selesai

Klik pada objek DBGrid1 lalu klik kanan sampai muncul menu tambahan,
kemudian pilih Retrieve Fields untuk memuat field tabel Semjual ke dalam objek
DBGrid1.
Klik pada objek DBGrid1 lalu klik kanan sampai muncul menu tambahan,
kemudian pilih Properties sampai muncul kotak dialog Property Pages.
Klik tab Columns, lalu pilihlah kolom Harga dan isilah kolom NumberFomat
dengan karakter #,### agar bisa menampilkan pemisah ribuan. Lakukan hal yang
sama pada kolom Banyak dan kolom Nilai.
Klik lembar Layout dan tentukan lebar masing-masing kolom secara proporsional
agar seluruh kolom dapat tampil di layar monitor.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

118

Tampilkan editor kode program dan tulislah kode programnya seperti berikut :
Dim MJumlah As Single
Private Sub cmdBatal_Click()
BlankForm
txtNoBon.SetFocus
End Sub
Private Sub cmdSelesai_Click()
frmInJual.Hide
frmMenu.Show
End Sub
Private Sub cmdSimpan_Click()
'bawa ke record pertama dari tabel sementara
dbSemJual.Recordset.MoveFirst
'ulang sampai record terakhir
Do While Not dbSemJual.Recordset.EOF
'jika record kosong, jangan disimpan
If Not dbSemJual.Recordset!Nama = Space(30) Then
'tambahkan record baru ke data penjualan
dbJual.Recordset.AddNew
'isi record penjualan lalu update
dbJual.Recordset!NoBon = txtNoBon.Text
dbJual.Recordset!TgBon = txtTgBon.Text
dbJual.Recordset!KodeCst = DBCombo1.Text
dbJual.Recordset!KodeBrg = dbSemJual.Recordset!Kode
dbJual.Recordset!Harga = dbSemJual.Recordset!Harga
dbJual.Recordset!Banyak = dbSemJual.Recordset!Banyak
dbJual.Recordset.Update
End If
'proses record berikutnya
dbSemJual.Recordset.MoveNext
Loop
BlankForm
Form_Activate
End Sub
Private Sub DBCombo1_Change()
If Len(Trim(DBCombo1.Text)) < 5 Then
Exit Sub
End If
'cari kode customer dalam index tabel customer
dbCustomer.Recordset.Index = "KodeCst"
dbCustomer.Recordset.Seek "=", DBCombo1.Text
If dbCustomer.Recordset.NoMatch Then
'jika tidak ditemukan, data tidak valid
X = MsgBox("Kode customer tidak ada!", vbOKOnly)
txtNamaCst.Text = ""
DBCombo1.SetFocus

Modul Visual Basic/D3

Agus Muhardi Alga Musa

119

Exit Sub
End If
txtNamaCst.Text = dbCustomer.Recordset!Nama
End Sub
Private Sub DBCombo1_KeyPress(KeyAscii As Integer)
'mengubah huruf kecil jadi huruf besar
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub DBGrid1_AfterColEdit(ByVal ColIndex As Integer)
'simpan data harga dan banyak ke variabel memory
MHarga = dbSemJual.Recordset!Harga
MBanyak = dbSemJual.Recordset!Banyak
'jika yang diedit adalah kolom nama barang
If DBGrid1.Col = 0 Then
dbBarang.Recordset.Index = "NamaBrg"
dbBarang.Recordset.Seek "=", UCase(DBGrid1.SelText)
If dbBarang.Recordset.NoMatch Then
'jika nama barang tidak ada, ke isian kode barang
Beep
DBGrid1.Col = 1
Exit Sub
End If
'jika nama barang ada, update nama, kode dan harga
'pada tabel isian sementara
dbSemJual.Recordset.Edit
dbSemJual.Recordset!Nama = dbBarang.Recordset!Nama
dbSemJual.Recordset!Kode = dbBarang.Recordset!Kode
dbSemJual.Recordset!Harga = dbBarang.Recordset!Harga * 1.1
dbSemJual.Recordset.Update
'ke isian harga
DBGrid1.Col = 2
DBGrid1.Refresh
Exit Sub
End If
'jika yang diedit adalah kolom kode barang
If DBGrid1.Col = 1 Then
dbBarang.Recordset.Index = "KodeBrg"
dbBarang.Recordset.Seek "=", DBGrid1.SelText
If dbBarang.Recordset.NoMatch Then
'jika kode barang tidak ada, tetap di isian kode barang
Beep
DBGrid1.Col = 1
Exit Sub
End If
'jika kode barang ada, update nama, kode dan harga
'pada tabel isian sementara
dbSemJual.Recordset.Edit
dbSemJual.Recordset!Nama = dbBarang.Recordset!Nama

Modul Visual Basic/D3

Agus Muhardi Alga Musa

120

dbSemJual.Recordset!Kode = dbBarang.Recordset!Kode
dbSemJual.Recordset!Harga = dbBarang.Recordset!Harga * 1.1
dbSemJual.Recordset.Update
'ke isian harga
DBGrid1.Col = 2
DBGrid1.Refresh
Exit Sub
End If
'jika yang diedit adalah kolom harga barang
If DBGrid1.Col = 2 Then
'update harga dan nilai pada tabel isian sementara
dbSemJual.Recordset.Edit
dbSemJual.Recordset!Harga = DBGrid1.SelText
dbSemJual.Recordset!Nilai
=
DBGrid1.SelText
*
dbSemJual.Recordset!Banyak
dbSemJual.Recordset.Update
'update jumlah penjualan
MJumlah = MJumlah + (DBGrid1.SelText - MHarga) * MBanyak
txtJumlah.Text = Format(MJumlah, "#,###")
DBGrid1.Col = 3
Exit Sub
End If
'jika yang diedit adalah kolom banyak barang
If DBGrid1.Col = 3 Then
'update banyak dan nilai pada tabel isian sementara
dbSemJual.Recordset.Edit
dbSemJual.Recordset!Banyak = DBGrid1.SelText
dbSemJual.Recordset!Nilai
=
DBGrid1.SelText
*
dbSemJual.Recordset!Harga
dbSemJual.Recordset.Update
'update jumlah penjualan
MJumlah = MJumlah + (DBGrid1.SelText - MBanyak) * MHarga
txtJumlah.Text = Format(MJumlah, "#,###")
DBGrid1.Col = 4
End If
'jika yang diedit adalah kolom nilai
If DBGrid1.Col = 4 Then
'ke record berikutnya
dbSemJual.Recordset.MoveNext
'mulai isi nama barang
DBGrid1.Col = 0
End If
End Sub
Private Sub Form_Activate()
MJumlah = 0
txtNoBon.MaxLength = 10
txtTgBon.MaxLength = 12
txtNamaCst.Enabled = False
txtNamaCst.BackColor = &H8000000F

Modul Visual Basic/D3

Agus Muhardi Alga Musa

121

cmdSimpan.Enabled = False
'jika tabel sementara sudah ada isinya,
'hapus seluruh recordnya
If Not dbSemJual.Recordset.RecordCount = 0 Then
dbSemJual.Recordset.MoveFirst
Do While Not dbSemJual.Recordset.EOF
dbSemJual.Recordset.Delete
dbSemJual.Recordset.MoveNext
Loop
End If
'isi dengan 15 record kosong
For i = 1 To 15
dbSemJual.Recordset.AddNew
dbSemJual.Recordset!Harga = 0
dbSemJual.Recordset!Banyak = 0
dbSemJual.Recordset.Update
Next i
'ke record pertama
dbSemJual.Recordset.MoveFirst
'siap mengisi tabel sementara
txtNoBon.SetFocus
End Sub
Private Sub BlankForm()
DBCombo1.Text = ""
txtNoBon.Text = ""
txtTgBon.Text = ""
txtNamaCst.Text = ""
txtJumlah.Text = ""
End Sub
Private Sub txtNoBon_LostFocus()
cmdSimpan.Enabled = True
End Sub
Private Sub txtTgBon_LostFocus()
On Error GoTo SalahTanggal
CekTanggal = CDate(txtTgBon.Text)
On Error GoTo 0
Exit Sub
SalahTanggal:
If Len(Trim(txtTgBon.Text)) = 0 Then
Exit Sub
End If
X = MsgBox("Format tanggal: dd-mm-yyyy" & Chr(13) & "Misalnya:
22-01-1999", vbOKOnly)
txtTgBon.SetFocus
End Sub
Private Sub txtNoBon_KeyPress(KeyAscii As Integer)

Modul Visual Basic/D3

Agus Muhardi Alga Musa

122

'mengubah huruf kecil jadi huruf besar


KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Simpan project dan form lalu jalankan

g)

Program Browse Penjualan


Klik sub menu Penjualan, Browse pada form frmMenu.
Buat procedure untuk menghubungkan frmMenu dengan frmBrowseJual.
Ketikkan kode programnya seperti berikut ini :
Private Sub mnBrowseJual_Click()
frmBrowseJual.Show
End Sub
Klik menu Project, Add Form, Form, Open.
Ubah properti Form1 sbb :
Kontrol
Form1

Properti
Name
Caption

Nilai
FrmBrowseJual
Informasi Data Penjualan

Klik ganda pada objek SSTab lalu atur tampilannya seperti gambar dibawah ini.
Jika objek SSTab tidak ada dalam toolbox, tambahkan lewat menu Project,
Components, pilih Microsoft Tabbed Dialog Control 6.0.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

123

Klik pada tab pertama (TAB 0) lalu ubah properti Captionnya menjadi No. Bon.
Klik pada tab pertama (TAB 1) lalu ubah properti Captionnya menjadi Kode
Customer.
Klik pada tab pertama (TAB 2) lalu ubah properti Captionnya menjadi Kode
Barang.
Klik kembali tab pertama (No. Bon) lalu tambahkan objek-objeknya seperti
gambar di atas (cara penambahan objek ke dalam SSTab tidak boleh
menggunakan cara klik ganda).
Klik pada objek data (Data 1) lalu ubah propertinya menjadi sbb :
Properti

Nilai

Caption

Data Penjualan

DatabaseName

C:\Penjualan.mdb

RecordSource

Jual

Klik pada objek DBGrid1 lalu ubah propertinya menjadi sbb:


Properti

Nilai

Caption

Tabel Data Penjualan

DataSource

Data 1

Klik tab ke dua (Kode Customer) lalu tambahkan objek-objek seperti gambar
berikut ini :

Modul Visual Basic/D3

Agus Muhardi Alga Musa

124

Klik pada objek data (Data 2) lalu ubah propertinya menjadi sbb :
Properti

Nilai

Caption

Data Penjualan

DatabaseName

C:\Penjualan.mdb

RecordSource

Jual

Klik pada objek DBGrid1 lalu ubah propertinya menjadi sbb:


Properti

Nilai

Caption

Tabel Data Penjualan

DataSource

Data 2

Klik tab ke tiga (Kode Barang) lalu tambahkan objek-objek seperti gambar
berikut ini :

Modul Visual Basic/D3

Agus Muhardi Alga Musa

125

Klik pada objek data (Data 3) lalu ubah propertinya menjadi sbb :
Properti

Nilai

Caption

Data Penjualan

DatabaseName

C:\Penjualan.mdb

RecordSource

Jual

Klik pada objek DBGrid1 lalu ubah propertinya menjadi sbb:


Properti

Nilai

Caption

Tabel Data Penjualan

DataSource

Data 3

Tampilkan editor kode program dan tulislah kode programnya seperti berikut :
Private Sub Command2_Click()
Dim MBanyak, MNilai As Single
Dim MCari As String * 5
Data2.Recordset.Index = "KodeCst"
MCari = Text4.Text
Data2.Recordset.Seek ">=", MCari, CDate("01-01-1900")
If Data2.Recordset.NoMatch Then
Text5.Text = ""
Text6.Text = ""

Modul Visual Basic/D3

Agus Muhardi Alga Musa

126

Beep
Exit Sub
End If
MBanyak = 0
MNilai = 0
Do While Data2.Recordset!KodeCst = MCari
MBanyak = MBanyak + Data2.Recordset!Banyak
MNilai
=
MNilai
+
(Data2.Recordset!Banyak
Data2.Recordset!Harga)
Data2.Recordset.MoveNext
If Data2.Recordset.EOF = True Then
Exit Do
End If
Loop
Data2.Recordset.Seek ">=", MCari, CDate("01-01-1900")
Text5.Text = Format(MBanyak, "##,###,###")
Text6.Text = Format(MNilai, "##,###,###,###")
End Sub

Private Sub Command4_Click()


frmBrowseJual.Hide
frmMenu.Show
End Sub
Private Sub Text4_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub Command1_Click()
Dim MBanyak, MNilai As Single
Dim MCari As String * 10
Data1.Recordset.Index = "NoBon"
MCari = Text1.Text
Data1.Recordset.Seek "=", MCari
If Data1.Recordset.NoMatch Then
Text2.Text = ""
Text3.Text = ""
Beep
Exit Sub
End If
MBanyak = 0
MNilai = 0
Do While Data1.Recordset!NoBon = MCari
MBanyak = MBanyak + Data1.Recordset!Banyak
MNilai
=
MNilai
+
(Data1.Recordset!Banyak
Data1.Recordset!Harga)
Data1.Recordset.MoveNext
If Data1.Recordset.EOF = True Then
Exit Do
End If

Modul Visual Basic/D3

Agus Muhardi Alga Musa

127

Loop
Data1.Recordset.Seek "=", MCari
Text2.Text = Format(MBanyak, "##,###,###")
Text3.Text = Format(MNilai, "##,###,###,###")
End Sub
Private Sub SSTab1_GotFocus()
If SSTab1.Caption = "No. Bon" Then
Text1.SetFocus
Command1.Default = True
ElseIf SSTab1.Caption = "Kode Customer" Then
Text4.SetFocus
Command2.Default = True
Else
Text7.SetFocus
Command3.Default = True
End If
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub Command3_Click()
Dim MBanyak, MNilai As Single
Dim MCari As String * 6
Data3.Recordset.Index = "KodeBrg"
MCari = Text7.Text
Data3.Recordset.Seek ">=", MCari, CDate("01-01-1900")
If Data3.Recordset.NoMatch Then
Text8.Text = ""
Text9.Text = ""
Beep
Exit Sub
End If
MBanyak = 0
MNilai = 0
Do While Data3.Recordset!KodeBrg = MCari
MBanyak = MBanyak + Data3.Recordset!Banyak
MNilai
=
MNilai
+
(Data3.Recordset!Banyak
Data3.Recordset!Harga)
Data3.Recordset.MoveNext
If Data3.Recordset.EOF = True Then
Exit Do
End If
Loop
Data3.Recordset.Seek ">=", MCari, CDate("01-01-1900")
Text8.Text = Format(MBanyak, "#,###")
Text9.Text = Format(MNilai, "#,###")

Modul Visual Basic/D3

Agus Muhardi Alga Musa

128

On Error GoTo TAdaGambar


Image1.Stretch = True
Image1.Picture = LoadPicture("C:\LatVB6\" & Text7.Text & ".BMP")
Exit Sub
TAdaGambar:
Image1.Picture = LoadPicture("")
End Sub
Private Sub Text7_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Simpan project dan form lalu jalankan

Modul Visual Basic/D3

Agus Muhardi Alga Musa

129

Daftar Pustaka

Alam, M. Agus. J. 1999. Belajar Sendiri Microsoft Visual Basic 6.0. Elex Media
Komputindo. Jakarta.
Alam, M. Agus. J. 1999. Belajar Sendiri Manajemen Database Dengan Microsoft Visual
Basic 6.0. Elex Media Komputindo. Jakarta.
Hadi, Rahardian. 2002. Pemrograman Windows API Dengan Microsoft Visual Basic.
Elex Media Komputindo. Jakarta.
Kristanto, Harianto, Ir. 2002. Konsep Perancangan Database. Andi. Yogyakarta.
Kurniadi, Adi. 2000. Pemrograman Visual Basic 6.0. Elex Media Komputindo. Jakarta.
Pramono, Djoko. 2001. Mudah Menguasai Visual Basic 6.0. Elex Media Komputindo.
Jakarta.
Yuswanto. 2001. Panduan Belajar Microsoft Visual Basic 5.0. Prestasi Pustaka. Jakarta.

Modul Visual Basic/D3

Agus Muhardi Alga Musa

130

Di Susun Oleh
Agus Muhardi, A.Md

Jurusan Komputerisasi Akuntansi dan Manajeman Informatika


Tangerang

Modul Visual Basic/D3

Agus Muhardi Alga Musa

131

KATA PENGANTAR
Visual Basic! Kata ini sepertinya sudah tidak asing lagi bagi para pemakai
komputer, khususnya yang orang-orang yang senang bahasa pemograman.
Sejak bahasa ini muncul, seakan-akan menjadi kiblat bagi para progremmer
untuk mempelajari dan menguasainya. Siapapun yang tidak mengetahui Visual
Basic adalah orang yang ketinggalan katanya.
Modul ini di susun untuk memberikan panduan pengunaan perangkat lunak
Visual Basic, sehingga pembaca dapat mencobanya langsung. Pejelasan tiap
modul di sajikan dalam bentuk step by step, sehingga lebih mudah dipelajari.
Dan modul Visual Basic ini disusun untuk melengkapi kebutuhan belajar
mahasiswa di Bina Sarana Informatika, khususnya bagi mereka yang ingin
menekuni bidang pemograman berbasis windows.
Penulis menyadari keterbatasan penyusunan modul ini masih jauh dari
sempurnah. Oleh karena itu saran dan kritik dari para pembaca sangat di
hargai.
Saran, kritik atau pun pertanyaan dapat di kirim melalui email ke:
Agus_muhardi@bsi.ac.id
atau
nusa_dharma2003@yahoo.com
atau
nusa_dharma@yahoo.com
Akhir kata semoga pembaca mendapat menfaat dari buku ini.Terima Kasih.

Tangerang, 17 Maret 2005

Agus Muhardi,A.md
Penulis

Modul Visual Basic/D3

Agus Muhardi Alga Musa

132

Daftar Isi

Kata Pengantar .

Daftar Isi ..

ii

BAB I

PENGENALAN VISUAL BASIC.

BAB II

LINGKUNGAN KERJA VISUAL BASIC

2.1. Komponen Visual Basic .

2.2. Latihan

KONSTANTA & VARIABEL .

3.1. Aturan Penamaan Konstanta & Variabel

3.2. Deklarasi Konstanta & Variabel

BAB III

3.3. Ruang Lingkup Konstanta & Variabel

BAB IV

BAB V

BAB VI

BAB VII

..

3.4. Latihan

11

OPERATOR .

15

4.1. Operator Aritmatika

15

4.2. Operator Penggabungan String

15

4.3. Operator Pembandingan ..

16

4.4. Operator Logika ...

17

4.5. Operator Penugasan

17

4.6. Latihan

18

STRUKTUR KENDALI (BRANCHING) .

20

5.1. If ...

20

5.2. Select Case ...

21

5.3. Latihan ....

22

PERULANGAN (LOOPING)...

23

6.1. Do ... Loop ..

23

6.2. For ... Next ..

24

6.3. While ... Wend .

25

6.4. Latihan

26

MODUL & PROSEDUR SUB .

27

7.1. Mengenal Modul .

27

7.2. Pembuatan Modul

28

Modul Visual Basic/D3

..

Agus Muhardi Alga Musa

133

7.3. Mengenal Sub Procedure

28

7.4. Pembuatan Prosedur Sub dalam Modul & Form

29

PROCEDURE FUNCTION .

30

8.1. Mengenal Function Procedure .

30

8.2. Pembuatan Prosedur Fuction dalam Modul & Form ...

31

PENGERTIAN KOLEKSI OBJEK ..

32

9.1. Pengertian Koleksi Objek

32

9.2. Cara Mengakses Koleksi Objek ..

32

9.3. Array

33

9.4. Array Multi Dimensi ..

33

9.5. Pembuatan Program Dengan Koleksi Objek & Array .

34

WINDOWS API

36

10.1. Pengertian Windows API

36

10.2. Pengertian DLL ..

37

10.3. Aplikasi API Viewer

39

10.4. Penggunaan Windows API Dalam Program .

39

DATABASE .

44

11.1. Pengertian Database ..

44

11.2. Tipe Field ..

44

11.3. Membuat Database & Tabel ..

45

11.4. Membuat Index .

47

11.5. Mengisi Data pada Tabel ...

48

BAB XII

KONTROL DATA ..

49

BAB XIII

RECORD SET 50

BAB XIV

PENCARIAN DATA BERURUTAN .

56

BAB XV

PENCARIAN DATA DENGAN INDEX ...

59

BAB XVI

MENAMPILKAN DATA DENGAN DBGRID

67

BAB XVII MENGGUNAKAN DATABASE LEWAT KODE PROGRAM ...

70

17.1. Deklarasi Variabel Database ..

70

17.2. Deklarasi Variabel Recordset

70

17.3. Open Database ...

70

17.4. Open Recordset .

71

17.5. Close ..

71

BAB VIII

BAB IX

BAB X

BAB XI

Modul Visual Basic/D3

Agus Muhardi Alga Musa

134

BAB XVIII MENGENAL SQL ..

73

18.1. Pengertian SQL .

73

18.2. Menjalankan SQL Data Manager .

73

18.3. Select From ..

73

18.4. Select From Where ...

75

18.5. Select From Where Order By

77

BAB XIX

PEMBUATAN LAPORAN DENGAN DATA REPORT ...

79

BAB XX

MENU ..

87

Daftar Pustaka .. 129

Modul Visual Basic/D3

Agus Muhardi Alga Musa

Anda mungkin juga menyukai