Dasar Modul Lengkap VB 6.0 PDF
Dasar Modul Lengkap VB 6.0 PDF
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
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.
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.
BAB II
LINGKUNGAN KERJA VISUAL BASIC
2.2. Latihan
Soal 1 (perancangan interface):
Perancangan interface dilakukan 3 tahap :
1) Membuat interface :
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 :
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 :
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
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.
Deklarasi variabel
Bentuk umum :
Dim <nama_variabel> [AS <tipe_variabel>]
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
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
Private
Dim
Static
Berlaku pada level procedure
Tabel 1-2. Keyword pada deklarasi variabel
11
3.4. Latihan
Soal 1:
Buatlah form baru dan tambahkan kode untuk event klik pada form tersebut.
Setelah tombol Sub2 diklik, x dan y dalam modul Sub2 tidak ada isinya karena
tidak bisa memanggil variabel yang ada dalam modul Sub1.
12
Dalam modul Sub2 x dan y telah didefinisikan, sehingga jika Sub2 diklik maka
akan menampilkan hasil.
13
14
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.
'Akan menghasilkan 7
B = (1 + 2) * 3
'Akan menghasilkan 9
Aritmatika
Komparasi
Logika
Pangkat (^)
Sama (=)
Not
Negatif (-)
And
Or
Xor
Eqv
Imp
16
Keterangan
Keterangan
Sama dengan
<>
<
Lebih kecil
>
<=
Lebih besar
Lebih Kecil atau Sama dengan
>=
Like
Ls
Sama referensi objek
Tabel 1-3. Contoh operator pembandingan (relasi)
17
Keterangan
Not
Tidak
And
Dan
Or
Atau
Xor
Exclusive Or
Eqv
Ekivalen
Imp
Implikasi
Tabel 1-4. Contoh operator Logika
Bilangan = 0
Harga = 500
Banyak = 5
Jumlah = Harga * Banyak
18
4.6. Latihan
Buatlah
program
sederhana
dibawah
ini
dengan
menggunakan
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)
Objek-objek terkait :
Objek
Form1
Label1
Label2
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
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
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
20
BAB V
STRUKTUR KENDALI (BRANCHING)
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
If...Then...Else
Gunakan IfThenElse untuk mendefinisikan beberapa blok pernyataan
yang akan dijalankan salah satu berdasarkan kondisi yang memenuhi syarat
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
[Case Else
[blok pernyataan-n]
End Select
22
5.3. Latihan
Buatlah form seperti berikut (nama objek disesuaiakan sendiri) :
Ketentuan :
Setelah Rata-rata dan Keterangan terisi, tombol Hitung hilang berganti menjadi
Clear.
23
BAB VI
PERULANGAN (LOOPING)
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.
25
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
26
6.4. Latihan
Buatlah program dengan menggunakan perulangan For atau Do atau While,
sehingga bisa menampilkan deret bilangan seperti di bawah ini :
27
BAB VII
MODUL & PROSEDUR SUB
Untuk melakukan koding, anda dapat melakukan double klik pada Module
tersebut.
28
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
30
BAB VIII
PROCEDURE FUNCTION
31
32
BAB IX
KOLEKSI OBJEK & ARRAY
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.
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
(n1=baris, n2=kolom)
34
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
35
Next kontrol
End Sub
8. Jalankan aplikasi tersebut dengan menekan F5
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
36
BAB X
WINDOWS API
API
(Application
Programming
Interface)
merupakan
.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.
37
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.
38
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.
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.
39
40
Properti
Caption
Caption
Interval
Caption
Caption
Caption
Nilai
Contoh Program Pertama API
kosongkan
2
API
NON API
Stop
41
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.
42
Properti
Caption
Caption
Nilai
Form Berkedip
Buat Form Berkedip
43
44
BAB XI
DATABASE
Field
Record
File
Database
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.
46
e) Ketik tulisan Barang pada Table Name, lalu klik Add Field.
47
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).
48
Find
: mencari record.
: menutup tabel.
49
BAB XII
KONTROL DATA
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).
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
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
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
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
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
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
54
55
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).
57
Properti
Caption
Caption
Setting
Cari Data
Kode Barang
Text
Name
Caption
Name
Caption
Name
Caption
Txtcari
(kosong)
Cmdcari
Cari
Cmdexit
Exit
Command1
Command2
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.
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
RecordSource
Setting
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,
61
Contoh program 2:
Buatlah form dengan lay-out 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)
5)
Properti
Caption
Nilai
Contoh Kontrol Data
62
Data1
Text1
Text2
Text3
Text4
Command1
Command2
Command3
Command4
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
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
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
64
Caption
Style
Picture
ToolTipText
6)
Kosongkan
1 - Graphical
C:\Program
Files\Visual
Studio\Common\Graphic\Bitmaps\OffC
tlrBr\Large\Color
Exit
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
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)
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 :
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 :
a. Menambahkan Record
69
b. Mengedit Record
c. Menghapus Record
Klik disebelah kiri record sehingga tersorot satu baris record yang akan
dihapus.
70
BAB XVII
MENGGUNAKAN DATABASE LEWAT KODE PROGRAM
71
17.5. Close
Setelah databse dan recordset diakses, tutuplah dengan perintah sebagai berikut :
[namaVarRecordset].Close
[namaVarDatabase].Close
Contoh :
rsBarang.Close
dbPembelian.Close
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
73
BAB XVIII
MENGENAL SQL
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 :
75
IN
End Sub
FROM
Jual
IN
76
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'
78
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
80
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
81
82
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.
83
l) Klik Ok.
m) Klik tanda (+) di depan Dataku. Field-field database akan ditampilkan.
84
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
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
85
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.
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.
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 [
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.
89
a) Program Data Supplier
Command1
Data
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
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
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 = ""
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
92
93
94
Command1
Properti
Nilai
Name
Caption
Tabs
frmBarang
Data Barang
2
Caption [ Tab 0 ]
Input Barang
Caption [ Tab 1 ]
Browse Barang
Name
CmdClose
Caption
Close
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
Properti
Nilai
Text1
Name
txtCariKode
Text2
Name
txtCariNama
Command1
Name
cmdHapusRecord
DBGrid
DataSource
Data1
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
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
98
c)
99
frmCustomer.Show
End Sub
Klik menu Project, Add Form, Form, Open.
Buat form seperti berikut :
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
100
Text5
Name
txtHubungan
Text6
Name
txtTelepon
Command2
Name
CmdSimpan
Command3
Name
CmdBatal
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")
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
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
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)
104
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
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
106
107
108
109
e)
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.
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
111
Properti
Nilai
Caption
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
Nilai
Caption
DataSource
Data 2
Klik tab ke tiga (Kode Barang) lalu tambahkan objek-objek seperti gambar
berikut ini :
112
Klik pada objek data (Data 3) lalu ubah propertinya menjadi sbb :
Properti
Nilai
Caption
Data Pembelian
DatabaseName
C:\Pembelian.mdb
RecordSource
Beli
Nilai
Caption
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
113
114
115
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
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.
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
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
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
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)
122
g)
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.
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
Nilai
Caption
DataSource
Data 1
Klik tab ke dua (Kode Customer) lalu tambahkan objek-objek seperti gambar
berikut ini :
124
Klik pada objek data (Data 2) lalu ubah propertinya menjadi sbb :
Properti
Nilai
Caption
Data Penjualan
DatabaseName
C:\Penjualan.mdb
RecordSource
Jual
Nilai
Caption
DataSource
Data 2
Klik tab ke tiga (Kode Barang) lalu tambahkan objek-objek seperti gambar
berikut ini :
125
Klik pada objek data (Data 3) lalu ubah propertinya menjadi sbb :
Properti
Nilai
Caption
Data Penjualan
DatabaseName
C:\Penjualan.mdb
RecordSource
Jual
Nilai
Caption
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 = ""
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
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, "#,###")
128
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.
130
Di Susun Oleh
Agus Muhardi, A.Md
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.
Agus Muhardi,A.md
Penulis
132
Daftar Isi
Kata Pengantar .
Daftar Isi ..
ii
BAB I
BAB II
2.2. Latihan
BAB III
BAB IV
BAB V
BAB VI
BAB VII
..
3.4. Latihan
11
OPERATOR .
15
15
15
16
17
17
4.6. Latihan
18
20
5.1. If ...
20
21
22
PERULANGAN (LOOPING)...
23
23
24
25
6.4. Latihan
26
27
27
28
..
133
28
29
PROCEDURE FUNCTION .
30
30
31
32
32
32
9.3. Array
33
33
34
WINDOWS API
36
36
37
39
39
DATABASE .
44
44
44
45
47
48
BAB XII
KONTROL DATA ..
49
BAB XIII
RECORD SET 50
BAB XIV
56
BAB XV
59
BAB XVI
67
70
70
70
70
71
17.5. Close ..
71
BAB VIII
BAB IX
BAB X
BAB XI
134
73
73
73
73
75
77
BAB XIX
79
BAB XX
MENU ..
87