Kata Pengantar Penulis mengucapkan puji syukur kehadirat Tuhan Yang Maha Esa yang telah melimpahkan berkat dan rahmatNya, sehingga penulis bisa menyelesaikan buku Pemrograman Database 1 ini dengan baik. Visual basic merupakan bahasa pemrograman yang populer saat ini. Banyak keunggulan yang dimilikinya, terutama yaitu kemudahan pemakaian. Rasanya dengan bahasa yang mudah dan menyenangkan ini, kita bisa membuat aplikasi apapun yang kita butuhkan. Setelah mempelajari buku ini, diharapkan Anda dapat menguasai dasar-dasar pemrograman dengan Visual Basic 6, khususnya dalam penanganan database. Untuk selanjutnya, diharapkan Anda dapat menyusun program-program yang berguna dan mengembangkannya sendiri untuk keperluan Anda. Akhir kata, semoga buku ini bermanfaat
Semarang, Januari 2005
Penulis
1
DAFTAR ISI HALAMAN JUDUL .............................................................................................................i KATA PENGANTAR ......................................................................................................... ii DAFTAR ISI ....................................................................................................................... iii BAB I
BAB II
: MENGENAL VISUAL BASIC 6.0 ................................................... 1 1.1
Komponen-komponen Visual Basic 6.0 ..................................... 2
1.2
Project Explorer ........................................................................... 5
1.3
Property Window ......................................................................... 6
1.4
Form............................................................................................. 6
: MEMBUAT DATABASE DAN TABEL .......................................... 8 2.1
Membuat Tabel ............................................................................ 8
2.2
Objek dan Procedure.................................................................. 10
2.3
Latihan Pemrograman Database 1 ............................................. 12
BAB III
: MEMBUAT LAPORAN ( REPORT ) ............................................ 40
BAB IV
: MEMBUAT MENU .......................................................................... 45
DAFTAR PUSTAKA ......................................................................................................... 47
2
PERTEMUAN 1 MENGENAL VISUAL BASIC 5.0 Pembuka Visual Basic Setiap kali kita membuka Visual Basic 5.0 akan muncul tampilan sebagai berikut :
Gambar 1 : Tampilan pertama ketika Visual Basic di load ke memori Jika click tombol Open maka akan membuat project baru, tapi jika click tombol Cancel berarti siap membuka project yang sudah pernah dibuat. Dan jika click tombol Help maka akan membuka manual / help dari Visual Basic. Yang perlu diketahui dalam pemrograman visual adalah penggunan file project. Project ini bisa terdiri dari beberapa file form dan file report. Pada pemrograman Visual Basic, file-file tersebut ditandai dengan extension ( tambahan nama file ). File Project extensionnya .vbp File form extensionnya .frm File report ( laporan ) extensionnya .rpt
3
Komponen-komponen Visual Basic 6.0 Dalam pemrograman Visual khususnya Visual Basic untuk membuat suatu tampilan atau form dipermudah dengan adanya fasilitas yang disebut komponen ( toolbox ). Berikut ini merupakan gambar komponen-komponen yang ada di Visual Basic :
pointer
PictureBox
label
TextBox
frame
CommandButton
CheckBox
OptionButton
ComboBox
ListBox
HscrollBar
Vscrollbar
timer
DriveListBox
DirListBox
FileListBox
Shape
Line
Image
Data
OLE
MaskedBox
Gambar 2 : Tampilan Toolbox
Fungsi komponen-komponen tersebut adalah : 1. Pointer
fungsinya adalah untuk menunjuk bagian-bagian yang ada pada layar.
2. Label
fungsinya adalah untuk menampilkan text.
3. Frame
fungsinya adalah untuk membuat bingkai dalam suatu form.
4. CheckBox
fungsinya adalah untuk memberikan perintah benar / salah ( True /
False ), 5. ComboBox
dimana user dapat memilih beberapa check box secara bersamaan. fungsinya adalah untuk menampilkan item yang dimasukkan oleh
programmer dan item yang ditampilkan hanya 1 ( satu ). 6. HscrollBar
fungsinya adalah untuk membuat scrollbar secara horizontal.
7. VscrollBar
fungsinya adalah untuk membuat scrollbar secara vertikal.
8. Timer
fungsinya adalah untuk mengeksekusi waktu kejadian pada rutin
program termasuk selang waktu. 9. DirListBox
fungsinya adalah untuk menampilkan directory yang akan dibuka di
form. 4
10. Shape
fungsinya adalah untuk membuat lingkaran, elips, dan kotak pada form.
11. Image
fungsinya adalah menampilkan gambar.
12. OLE ( Object Linking and Embedding )
fungsinya adalah untuk memungkinkan
user menempelkan suatu object dari aplikasi yang mendukung OLE ke aplikasi Visual Basic. 13. PictureBox
fungsinya adalah untuk menampilkan gambar.
14. TextBox
fungsinya adalah untuk menampilkan teks, dimana user dapat mengisi
atau melihat teks yang ditampilkan sebagai output suatu proses. 15. CommandButton
fungsinya adalah memberi suatu perintah ketika digunakan.
16. OptionButton
fungsinya adalah sebagai tombol pilihan.
17. ListBox
fungsinya adalah untuk menampilkan item yang dimasukkan oleh
programmer dan item yang ditampilkan bisa lebih dari satu. 18. DriveListBox
fungsinya adalah untuk menampilkan daftar drive yang akan dibuka di
form. 19. FileListBox
fungsinya adalah untuk menampilkan daftar file yang akan dibuka di
form. 20. Line
fungsinya adalah untuk membuat garis lurus pada form.
21. Data
fungsinya adalah untuk menampilkan database pada suatu form.
22. MaskedBox
fungsinya adalah untuk membuat kotak inputan.
Contoh tampilan pemakaian toolbox dalam bentuk form :
5
Label MaskedBox TextBox
ComboBox PictureBox Frame
CommandButton
Data
FileListBox
DirListBox
DriveListBox
Gambar 3 : Tampilan ToolBox dalam Form Designer
6
Project Explorer Fungsi dari Project Explorer, yaitu sebagai media informasi mengenai project yang aktif. Contoh tampilan dari project explorer adalah sebagai berikut : Icon View Object
Icon Toggle Folders
Icon View code
Gambar 4 : Tampilan Window Project Explorer Dari Project Explorer tersebut, dapat kita baca bahwa project yang bersangkutan bernama pustaka.vbp an mempunyai form1 yang diberi nama data mahasiswa.frm. Fungsi kotak-kotak kecil yang ada pada Project Explorer :
• Tanda kotak kecil disebelah kiri ( View Code ) : jika diclick akan membuka kode atau programnya.
• Tanda kotak kecil di tengah ( view object ) : jika diclick akan membuka object atau gambarnya.
• Tanda kotak kecil disebelah kanan ( toggle folders ) : jika diclick akan mengaktifkan atau menampilkan isi subdirectory / folder sehingga form-form yang ada pada project ditampilkan.
7
Property Window Fungsi dari Property Window adalah menampilkan perlengkapan atau properties dari object yang diclick. Jika ada perubahan dalam object, maka propertiesnya juga akan ikut berubah. Contoh tampilan dari Property Window adalah sebagai berikut :
Gambar 5 : Tampilan Property Window Untuk menampilkan Property Window tekan saja F4.
Form Fungsi dari form adalah untuk mendesain tampilan program. Form inilah yang akan diisi dengan komponen-komponen ( toolbox ) seperti pada contoh 3 di atas. Contoh tampilan form adalah sebagai berikut :
8
Gambar 6 : Tampilan Visual Basic dengan form sebagai area kerja Apabila tampilan form tersebut ingin dibuat tugas pemrograman maka untuk selanjutnya aplikasi program dapat dilihat pada contoh 3.
9
PERTEMUAN 2 MEMBUAT DATABASE DAN TABEL
Dalam pemrograman Visual khususnya Visual Basic, pembuatan file database harus ada anaknya yaitu yang disebut dengan tabel. Jadi database itu sendiri merupakan kumpulan dari tabel-tabel. Misal : database yang akan digunakan diberi nama pustaka.mdb. Adapun tabel-tabel dan indexnya adalah sebagai berikut :
Tabel 1 : Tabel mhs Index Field = nim Name Index = nimx Field Name
Type
Length
Nim
Text
10
Nama
Text
30
Alamat
Text
30
Sex
Boelean
1
Agama
Byte
1
Photo
Text
100
Adapun langkah-langkah membuat database beserta tabelnya adalah sebagai berikut : 1. Click menu add-ins 2. Click Visual Data Manager 3. Click File 4. Click New 5. Sorot Microsoft Access 6. Click Version 7.0 7. Cari folder untuk menyimpan database 8. Beri nama pustaka. Pemberian nama ini otomatis akan memberikan nama extension .mdb 9. Setelah pemberian nama akan muncul kotak Database Window. Click mouse sebelah kanan di dalam kotak tersebut, lalu click New Table. 10. Setelah itu akan muncul kotak Table Structure. 10
11. Isikan Table Name dengan tulisan “ mhs “. 12. Untuk menambah field click addfield, terus isikan name ( nama field ), type ( jenis field ), dan size ( ukuran field ). 13. Terus click tombol Ok jika jadi membuat field tersebut, dan click tombol Cancel jika ingin membatalkan. 14. Ulangi terus no. 12 dan 13 sampai semua field dibuat. 15. Untuk menambah index click tombol AddIndex. 16. Isikan name ( nama index ), misal dengan nama “ nimx “. 17. Isikan Indexed Fields ( field yang dijadikan kunci index ) dengan cara mengclick field yang ada dalam Avalaible Fields. Untuk field yang dijadikan kunci tabel mhs, click field nim. 18. Clik tombol OK, kemudian click Close. 19. Click tombol Build The Table. 20. Jika ingin membuat table lagi, click mouse sebelah kanan, terus pilih New Table, jika tidak keluarlah dari Vis Data atau clik tanda silang dari Vis Data.
Menghubungkan Komponen Data Dengan Database 1. Click komponen Data 2. Cari properties DatabaseName 3. Isikan properties tersebut dengan database yang telah dibuat di folder, caranya click tiga titik yang ada disebelah kanan properties tersebut. 4. Setelah ketemu click database yang sudah dibuat. 5. Click Open.
11
Isi dengan lokasi & nama Database yang sudah dibuat.
Gambar 7 : Contoh Tampilan Database dalam Property Window
Object dan Procedure Object adalah form dan komponen-komponen yang telah dibuat dalam form tersebut. Kalau dilihat pada desain form ( lihat contoh 3 ) disitu terdapat object form, label 1, label 2, label…, mnim ( isian nim ), mnama, malamat, dan sebagainya. Walaupun object-object tersebut dibuat dengan menggunakan TextBox atau MaskedBox untuk menyebut object itu tidak lagi TextBox atau MaskedBox tapi nama lain dari object-object tersebut, seperti mnim yang telah dibuat dengan menggunakan MaskedBox. Sedangkan Procedure adalah kejadian atau event yang berkaitan dengan object tersebut. Contoh tampilan object dan procedure adalah sebagai berikut :
12
Object
Procedure
Gambar 8 : Tampilan Object dan Procedure
13
1. Membuat Program Operasi Matematika Sederhana
VIEW CODE PROGRAM DIATAS ADALAH : Private Sub Command1_Click ( ) If option1.value = true then Text3.text = val ( text1.text ) * ( text2.text ) ElseIf option2.value = true then Text3.text = val ( text1.text ) / ( text2.text ) ElseIf option3.value = true then Text3.text = val ( text1.text ) + ( text2.text ) ElseIf option4.value = true then Text3.text = val ( text1.text ) - ( text2.text ) ElseIf option5.value = true then Text3.text = val ( text1.text ) ^ ( text2.text ) ElseIf option6.value = true then Text3.text = val ( text1.text ) Mod Val ( text2.text ) Else Text3.text = val ( text1.text ) & ( text2.text ) End If End Sub Private Sub Command2_Click ( ) Text1.Text = “ “ Text2.Text = “ “ Text3.Text = “ “ Command1.Enabled= true Command2.Enabled= true Command3.Enabled= true End Sub Private Sub Command3_Click ( ) Unload Me End Sub
14
2.
Membuat Program Operasi Matematika Simulasi
VIEW CODE PROGRAM DIATAS ADALAH : Option Explicit Dim HASIL As Integer Private Sub MCEK_Click() Dim NILAI_INPUT As Integer NILAI_INPUT = Val(TXTHASIL.Text) If NILAI_INPUT = HASIL Then MsgBox "JAWABAN ANDA BENAR", vbOKOnly + vbCritical, "HASIL" Else MsgBox "JAWABAN ANDA SALAH", vbOKOnly + vbCritical, "HASIL" End If End Sub Private Sub MEXIT_Click() End End Sub Private Sub MSIMULASI_Click() Dim NILAI1, NILAI2 As Integer Randomize 15
If OPTTAMBAH.Value = True Then NILAI1 = Int(Rnd * 100) + 1 NILAI2 = Int(Rnd * 100) + 1 HASIL = NILAI1 + NILAI2 TXTNILAI1.Text = NILAI1 TXTNILAI2.Text = NILAI2 TXTOPERASI.Text = "+" End If If OPTKURANG.Value = True Then NILAI1 = Int(Rnd * 100) + 1 NILAI2 = Int(Rnd * 100) + 1 HASIL = NILAI1 - NILAI2 TXTNILAI1.Text = NILAI1 TXTNILAI2.Text = NILAI2 TXTOPERASI.Text = "-" End If If OPTKALI.Value = True Then NILAI1 = Int(Rnd * 100) + 1 NILAI2 = Int(Rnd * 100) + 1 HASIL = NILAI1 * NILAI2 TXTNILAI1.Text = NILAI1 TXTNILAI2.Text = NILAI2 TXTOPERASI.Text = "*" End If End Sub Cara menjalankan Program 1. Setelah program dijalankan, pilih salah satu jenis operasi yang dikehendaki, yang ada pada form, yaitu : penjumlahan, pengurangan, atau perkalian, dengan cara klik pada option buttonnya. 2. Setelah itu klik tombol SIMULASI, maka program akan mengeluarkan angka secara acak . 3. Bila angka sudah muncul pada textbox nilai 1 dan textbox nilai 2, letakkan kursor pada textbox hasil, dan tugas anda adalah mengisinya dengan jawaban yang tepat. 4. Kemudian klik TOMBOL CEK, bila jawaban anda tepat, maka program akan mengeluarkan pesan, berupa message box, YANG MENYATAKAN BAHWA JAWABAN ANDA BENAR,
16
begitu pula sebaliknya, bila jawaban anda salah, akan mengeluarkan pesan, JAWABAN ANDA SALAH. 5. Ingin mencoba mengisi dengan angka yang lain, klik tombol SIMULASI lagi. 6. Cobalah program tersebut, dengan memilih jenis operasi matematika yang lain. 3.
Membuat Program Browser Gambar Sederhana
FileListBox Image DirListBox
DriveListBox
keterangan 1.
Properti STRECTH pada IMAGE1, diganti TRUE, MAKSUDNYA agar besarnya gambar mengikuti besarnya bingkai ( IMAGE1)
2. Properti PATTERN pada FILELISTBOX, diisi *.JPG;*.ICO;*.WMF;*.GIF;*.BMP VIEW CODE PROGRAM DIATAS ADALAH : Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub
17
Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub Private Sub File1_Click() GAMBARFILE = File1.Path & "\" & File1.FileName Image1.Picture = LoadPicture(GAMBARFILE) End Sub
4.
Membuat Program Gaji Pokok Sederhana
VIEW CODE PROGRAM DIATAS ADALAH : Dim pil, selectedfile Dim dbGAJI As Database Dim rsDAFTARGAJI As Recordset Private Sub Form_Load() Set dbGAJI = OpenDatabase("C:\SEVYLIA TUNAS VB6\GAJI.mdb") Set rsDAFTARGAJI = dbGAJI.OpenRecordset("DAFTARGAJI") tombol 1, 1, 0, 1, 1, 1 End Sub Private Sub madd_Click() pil = 2 tombol 1, 1, 1, 1, 1, 1 aktif MKDGOL.SetFocus 18
kosong End Sub Private Sub mcancel_Click() pil = 5 kosong msave.Enabled = False kosong End Sub Private Sub medit_Click() aktif pil = 4 tombol 1, 1, 1, 1, 1, 1 msave.Enabled = True MKDGOL.SetFocus kosong End Sub Private Sub mexit_Click() Unload Me End Sub Private Sub mfind_Click() pil = 1 aktif msave.Enabled = False MKDGOL.SetFocus kosong End Sub Sub tombol(xfind, xadd, xsave, xedit, xcancel, xexit) mfind.Enabled = IIf(xfind = 1, True, False) madd.Enabled = IIf(xadd = 1, True, False) msave.Enabled = IIf(xsave = 1, True, False) medit.Enabled = IIf(xedit = 1, True, False) mcancel.Enabled = IIf(xcancel = 1, True, False) mexit.Enabled = IIf(xexit = 1, True, False) End Sub Private Function kosong() MKDGOL.Text = " " MGAJIPOK.Text = " " End Function Private Function aktif() MKDGOL.Enabled = True MGAJIPOK.Enabled = True End Function Private Function isivar() 19
MKDGOL.Text = rsDAFTARGAJI!KODEGOL MGAJIPOK.Text = rsDAFTARGAJI!GAJIPOK End Function Private Function bersih() MKDGOL.Enabled = False MGAJIPOK.Enabled = False End Function Private Sub MKDGOL_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then rsDAFTARGAJI.Index = "KDGOL" rsDAFTARGAJI.Seek "=", MKDGOL.Text 'cari data If pil = 1 Then If rsDAFTARGAJI.NoMatch Then pesan = MsgBox("Data Tidak Ada...", vbOKOnly, "Sorry, bok !") Else isivar bersih End If mfind.SetFocus End If 'tambah data If pil = 2 Then If rsDAFTARGAJI.NoMatch Then pesan = MsgBox("Kode Belum Ada...", vbOKOnly, "Silahkan Isi !") MGAJIPOK.SetFocus Else isivar pesan = MsgBox("Kode Sudah Ada...", vbOKOnly, "Sorry, bok !") madd.SetFocus End If End If 'edit data If pil = 4 Then If rsDAFTARGAJI.NoMatch Then pesan = MsgBox("Kode Belum Ada...", vbOKOnly, "Sorry, bok !") medit.SetFocus Else MKDGOL.Enabled = False isivar MGAJIPOK.SetFocus End If End If End If End Sub
20
Private Sub msave_Click() If pil = 2 Then rsDAFTARGAJI.AddNew pesan = MsgBox("Data Berhasil Disimpan...", vbOKOnly, "Selamat, ya !") Else rsDAFTARGAJI.Edit pesan = MsgBox("Data Berhasil Disimpan...", vbOKOnly, "Selamat, ya !") End If rsDAFTARGAJI!KODEGOL = MKDGOL.Text rsDAFTARGAJI!GAJIPOK = MGAJIPOK.Text rsDAFTARGAJI.Update madd.SetFocus End Sub
Membuat Program Transaksi Gaji
VIEW CODE PROGRAM DIATAS ADALAH : Dim pil, selectedfile Dim dbGAJI As Database Dim rsDATAGAJI As Recordset Dim rsDAFTARGAJI As Recordset Private Sub Form_Load() Set dbGAJI = OpenDatabase("C:\SEVYLIA TUNAS VB6\GAJI.mdb") Set rsDATAGAJI = dbGAJI.OpenRecordset("DATAGAJI") Set rsDAFTARGAJI = dbGAJI.OpenRecordset("DAFTARGAJI") rsDATAGAJI.Index = "NIPX" rsDAFTARGAJI.Index = "KDGOL" tombol 1, 1, 0, 1, 1, 1, 1 End Sub Private Sub madd_Click() pil = 2 tombol 1, 1, 1, 1, 1, 1, 1 21
aktif MNIP.SetFocus kosong End Sub Private Sub MNAMA_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then MKDGOL.SetFocus End If End Sub Private Sub MDELE_Click() pil = 5 aktif msave.Enabled = True MNIP.SetFocus kosong End Sub Private Sub medit_Click() aktif pil = 4 tombol 1, 1, 1, 1, 1, 1, 1 msave.Enabled = True MNIP.SetFocus kosong End Sub Private Sub mexit_Click() Unload Me End Sub Private Sub mfind_Click() pil = 1 aktif msave.Enabled = False MNIP.SetFocus kosong End Sub Private Sub MKDGOL_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If rsDAFTARGAJI.RecordCount <> 0 Then rsDAFTARGAJI.MoveFirst End If rsDAFTARGAJI.Seek "=", MKDGOL.Text If rsDAFTARGAJI.NoMatch Then pesan = MsgBox("GOLONGAN TDK TERDAFTAR..", vbOKOnly, "SORRY, YA...") End If MGAPOK.Text = rsDAFTARGAJI!GAJIPOK 'MNIP.SetFocus 22
End If End Sub Private Sub MNIP_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then rsDATAGAJI.Index = "NIPX" rsDATAGAJI.Seek "=", MNIP.Text 'Cari Data If pil = 1 Then If rsDATAGAJI.NoMatch Then pesan = MsgBox("Data tidak ada....", vbOKOnly, "Sorry bok...") Else isivar bersih End If mfind.SetFocus End If 'Tambah Data If pil = 2 Then If rsDATAGAJI.NoMatch Then pesan = MsgBox("NIP belum ada....", vbOKOnly, "Silahkan isi ya...") MNAMA.SetFocus Else isivar pesan = MsgBox("NIP sudah ada....", vbOKOnly, "Sorry bok...") madd.SetFocus End If End If 'Edit Data If pil = 4 Then If rsDATAGAJI.NoMatch Then pesan = MsgBox("NIP tidak ada...", vbOKOnly, "Sorry ya..") medit.SetFocus Else MNIP.Enabled = False isivar MNAMA.SetFocus End If End If 'Hapus Data If pil = 5 Then If rsDATAGAJI.NoMatch Then pesan = MsgBox("NIP tidak ada...", vbOKOnly, "Sorry ya..") medit.SetFocus Else isivar pesan = MsgBox("are you sure...??", vbYesNo, "Delete!!") 23
If pesan = vbYes Then rsDATAGAJI.Delete kosong End If MDELE.SetFocus End If End If End If End Sub Private Function bersih() MNIP.Enabled = False MNAMA.Enabled = False MKDGOL.Enabled = False MGAPOK.Enabled = False End Function Private Function kosong() MNIP.Text = " " MNAMA.Text = " " MKDGOL.Text = " " MGAPOK.Text = " " End Function Private Function isivar() MNIP.Text = rsDATAGAJI!NIP MNAMA.Text = rsDATAGAJI!NAMA MKDGOL.Text = rsDATAGAJI!KODEGOL MGAPOK.Text = rsDATAGAJI!GAJIPOK End Function Private Function aktif() MNIP.Enabled = True MNAMA.Enabled = True MKDGOL.Enabled = True MGAPOK.Enabled = True End Function Private Sub msave_Click() If pil = 2 Then rsDATAGAJI.AddNew pesan = MsgBox("Data berhasil disimpan....", vbOKOnly, "Selamat ya....") Else rsDATAGAJI.Edit End If rsDATAGAJI!NIP = MNIP.Text rsDATAGAJI!NAMA = MNAMA.Text rsDATAGAJI!KODEGOL = MKDGOL.Text rsDATAGAJI!GAJIPOK = MGAPOK.Text rsDATAGAJI.Update Data1.Refresh madd.SetFocus End Sub 24
Sub tombol(xfind, xadd, xsave, xedit, xdele, xexit, xcancel) mfind.Enabled = IIf(xfind = 1, True, False) madd.Enabled = IIf(xadd = 1, True, False) msave.Enabled = IIf(xsave = 1, True, False) medit.Enabled = IIf(xedit = 1, True, False) MDELE.Enabled = IIf(xdele = 1, True, False) mexit.Enabled = IIf(xexit = 1, True, False) mcancel.Enabled = IIf(xcancel = 1, True, False) End Sub
CONTOH PROGRAM TUGAS MANDIRI
25
26
VIEW CODE FORM PENGUNJUNG Dim pil, selectedfile Dim dbWARNETKU As Database Dim rsPENGUNJUNG As Recordset Private Sub Command1_Click() Form1.Hide FORM2.Show End Sub Private Sub Form_Load() Set dbWARNETKU = OpenDatabase("C:\SEVYLIA VB6\TA MUNA 3D LIA\WARNETKU.MDB") Set rsPENGUNJUNG = dbWARNETKU.OpenRecordset("PENGUNJUNG") tombol 1, 1, 0, 1, 1, 1, 1 End Sub Private Sub madd_Click() pil = 2 tombol 1, 1, 1, 1, 1, 1, 1 aktif MNOMOR.SetFocus kosong End Sub Private Sub mcancel_Click() pil = 5 kosong msave.Enabled = False kosong End Sub 27
Private Sub mdele_Click() pil = 7 aktif msave.Enabled = True MNOMOR.SetFocus kosong End Sub Private Sub medit_Click() aktif pil = 4 tombol 1, 1, 1, 1, 1, 1, 1 msave.Enabled = True MNOMOR.SetFocus kosong End Sub Private Sub mexit_Click() Unload Me End Sub Private Sub mfind_Click() pil = 1 aktif msave.Enabled = False MNOMOR.SetFocus kosong End Sub Sub tombol(xfind, xadd, xsave, xedit, xcancel, xexit, xdele) mfind.Enabled = IIf(xfind = 1, True, False) madd.Enabled = IIf(xadd = 1, True, False) msave.Enabled = IIf(xsave = 1, True, False) medit.Enabled = IIf(xedit = 1, True, False) mcancel.Enabled = IIf(xcancel = 1, True, False) mexit.Enabled = IIf(xexit = 1, True, False) mdele.Enabled = IIf(xdele = 1, True, False) End Sub Private Function kosong() MNOMOR.Text = " " MNAMA.Text = " " End Function Private Function aktif() MNOMOR.Enabled = True MNAMA.Enabled = True End Function
28
Private Function isivar() MNOMOR.Text = rsPENGUNJUNG!NOMOR MNAMA.Text = rsPENGUNJUNG!NAMA End Function Private Function bersih() MNOMOR.Enabled = False MNAMA.Enabled = False End Function Private Sub MNOMOR_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then rsPENGUNJUNG.Index = "NOMORX" rsPENGUNJUNG.Seek "=", MNOMOR.Text 'cari data If pil = 1 Then If rsPENGUNJUNG.NoMatch Then pesan = MsgBox("Data Tidak Ada...", vbOKOnly, "Sorry, bok !") Else isivar bersih End If mfind.SetFocus End If 'tambah data If pil = 2 Then If rsPENGUNJUNG.NoMatch Then pesan = MsgBox("NOMOR Belum Ada...", vbOKOnly, "Silahkan Isi !") MNAMA.SetFocus Else isivar pesan = MsgBox("NOMOR Sudah Ada...", vbOKOnly, "Sorry, bok !") madd.SetFocus End If End If 'edit data If pil = 4 Then If rsPENGUNJUNG.NoMatch Then pesan = MsgBox("NOMOR Belum Ada...", vbOKOnly, "Sorry, bok !") medit.SetFocus Else MNOMOR.Enabled = False isivar MNAMA.SetFocus End If End If
29
'Hapus Data If pil = 7 Then If rsPENGUNJUNG.NoMatch Then pesan = MsgBox("NOMOR tidak ada...", vbOKOnly, "Sorry ya..") medit.SetFocus Else isivar pesan = MsgBox("are you sure...??", vbYesNo, "Delete!!") If pesan = vbYes Then rsPENGUNJUNG.Delete kosong End If mdele.SetFocus End If End If End If End Sub Private Sub msave_Click() If pil = 2 Then rsPENGUNJUNG.AddNew pesan = MsgBox("Data Berhasil Disimpan...", vbOKOnly, "Selamat, ya !") Else rsPENGUNJUNG.Edit pesan = MsgBox("Data Berhasil Disimpan...", vbOKOnly, "Selamat, ya !") End If rsPENGUNJUNG!NOMOR = MNOMOR.Text rsPENGUNJUNG!NAMA = MNAMA.Text rsPENGUNJUNG.Update madd.SetFocus End Sub Private Sub MTABEL1_Click() Form1.Hide Form3.Show End Sub VIEW CODE FORM WARNET Dim MULAI, SEKARANG, DURASI, BIAYA Dim pil, selectedfile Dim dbWARNETKU As Database Dim rsWARNET As Recordset Private Sub madd_Click() pil = 2 tombol 1, 1, 1, 1, 1, 1, 1 aktif MKODE.SetFocus kosong 30
End Sub Private Sub mcancel_Click() pil = 5 kosong msave.Enabled = False kosong End Sub Private Sub mdele_Click() pil = 7 aktif msave.Enabled = True MKODE.SetFocus kosong End Sub
Private Sub medit_Click() aktif pil = 4 tombol 1, 1, 1, 1, 1, 1, 1 msave.Enabled = True MKODE.SetFocus kosong End Sub Private Sub mexit_Click() Unload Me End Sub Private Sub mfind_Click() pil = 1 aktif msave.Enabled = False MKODE.SetFocus kosong End Sub Sub tombol(xfind, xadd, xsave, xedit, xcancel, xexit, xdele) mfind.Enabled = IIf(xfind = 1, True, False) madd.Enabled = IIf(xadd = 1, True, False) msave.Enabled = IIf(xsave = 1, True, False) medit.Enabled = IIf(xedit = 1, True, False) mcancel.Enabled = IIf(xcancel = 1, True, False) mdele.Enabled = IIf(xdele = 1, True, False) End Sub Private Function kosong() 31
MKODE.Text = " " MBAYAR.Text = " " MDURASI.Text = " " End Function Private Function aktif() MKODE.Enabled = True MBAYAR.Enabled = True MDURASI.Enabled = True End Function Private Function isivar() MKODE.Text = rsWARNET!NMR MBAYAR.Text = rsWARNET!HARGA MDURASI.Text = rsWARNET!DURASI End Function Private Function bersih() MKODE.Enabled = False MBAYAR.Enabled = False MDURASI.Enabled = False End Function Private Sub MMULAI_Click() Timer1.Enabled = True End Sub Private Sub MHARGA_Click() FORM2.Hide Form5.Show End Sub Private Sub MKODE_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then rsWARNET.Index = "NMRX" rsWARNET.Seek "=", MKODE.Text 'cari data If pil = 1 Then If rsWARNET.NoMatch Then pesan = MsgBox("Data Tidak Ada...", vbOKOnly, "Sorry, bok !") Else isivar bersih End If mfind.SetFocus End If 'tambah data If pil = 2 Then 32
If rsWARNET.NoMatch Then pesan = MsgBox("KODE Belum Ada...", vbOKOnly, "Silahkan Isi !") 'MNAMA.SetFocus Else isivar pesan = MsgBox("KODE Sudah Ada...", vbOKOnly, "Sorry, bok !") madd.SetFocus End If End If 'edit data If pil = 4 Then If rsWARNET.NoMatch Then pesan = MsgBox("KODE Belum Ada...", vbOKOnly, "Sorry, bok !") medit.SetFocus Else MKODE.Enabled = False isivar MKODE.SetFocus End If End If 'Hapus Data If pil = 7 Then If rsWARNET.NoMatch Then pesan = MsgBox("NOMOR tidak ada...", vbOKOnly, "Sorry ya..") medit.SetFocus Else isivar pesan = MsgBox("are you sure...??", vbYesNo, "Delete!!") If pesan = vbYes Then rsWARNET.Delete kosong End If mdele.SetFocus End If End If End If End Sub Private Sub msave_Click() If pil = 2 Then rsWARNET.AddNew pesan = MsgBox("Data Berhasil Disimpan...", vbOKOnly, "Selamat, ya !") Else rsWARNET.Edit pesan = MsgBox("Data Berhasil Disimpan...", vbOKOnly, "Selamat, ya !") End If rsWARNET!NMR = MKODE.Text rsWARNET!HARGA = MBAYAR.Text 33
rsWARNET!DURASI = MDURASI.Text rsWARNET.Update madd.SetFocus End Sub Private Sub Command1_Click() Timer1.Enabled = False End Sub Private Sub Command2_Click() End End Sub Private Sub Form_Activate() MULAI = Now Label7.Caption = Format(Date, "DDDD,DD MMMM YYYY") Text1.Text = Format(MULAI, "HH:MM:SS") Timer1.Enabled = True End Sub Private Sub Form_Load() Set dbWARNETKU = OpenDatabase("C:\SEVYLIA VB6\TA MUNA 3D LIA\WARNETKU.MDB") Set rsWARNET = dbWARNETKU.OpenRecordset("WARNET") tombol 1, 1, 1, 1, 1, 1, 1 End Sub Private Sub MCLOSE_Click() Form1.Show FORM2.Hide End Sub Private Sub MTABEL2_Click() FORM2.Hide Form4.Show End Sub Private Sub Timer1_Timer() SEKARANG = Format(Now, "HH:MM:SS") Text2.Text = SEKARANG DURASI = Format(Now - MULAI, "HH:MM:SS") MDURASI.Text = DURASI BIAYA = 5 * ((Second(DURASI) + 60 * (Minute(DURASI)) + 360 * Hour(DURASI))) MBAYAR.Text = Format(BIAYA, "#,###") MBAYAR.Text = BIAYA End Sub VIEW CODE FORM TABEL DATA PENGUNJUNG Private Sub MKEFORM1_Click() 34
Form3.Hide Form1.Show End Sub LISTING FORM TABEL DATA WARNET Private Sub MCLOSE_Click() Form4.Hide FORM2.Show End Sub Private Sub MKELUAR_Click() End End Sub LISTING FORM TRANSAKSI WARNET Dim pil, selectedfile Dim dbWARNETKU As Database Dim rsPENGUNJUNG As Recordset Dim rsWARNET As Recordset Dim rsTRANSAKSI As Recordset Private Sub Form_Load() Set dbWARNETKU = OpenDatabase("C:\SEVYLIA VB6\TA MUNA 3D LIA\WARNETKU.MDB") Set rsPENGUNJUNG = dbWARNETKU.OpenRecordset("PENGUNJUNG") Set rsWARNET = dbWARNETKU.OpenRecordset("WARNET") Set rsTRANSAKSI = dbWARNETKU.OpenRecordset("TRANSAKSI") tombol 1, 1, 0, 1, 1, 1, 1 rsPENGUNJUNG.Index = "NOMORX" rsWARNET.Index = "NMRX" rsTRANSAKSI.Index = "NOTRANSX" If rsTRANSAKSI.RecordCount <> 0 Then rsTRANSAKSI.MoveFirst End If End Sub Private Sub madd_Click() pil = 2 tombol 1, 1, 1, 1, 1, 1, 1 aktif MNOTRANS.SetFocus kosong End Sub Private Sub MCLOSE_Click() Form5.Hide Form1.Show End Sub 35
Private Sub mdele_Click() pil = 7 aktif msave.Enabled = False MNOTRANS.SetFocus kosong End Sub Private Sub medit_Click() Data1.Refresh aktif pil = 4 tombol 1, 1, 1, 1, 1, 1, 1 msave.Enabled = True MNOTRANS.SetFocus kosong End Sub Private Sub mexit_Click() Unload Me End Sub Private Sub mfind_Click() pil = 1 aktif msave.Enabled = False MNOTRANS.SetFocus kosong End Sub Private Sub MKODE_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If rsWARNET.RecordCount <> 0 Then rsWARNET.MoveFirst End If rsWARNET.Seek "=", MKODE.Text If rsWARNET.NoMatch Then pesan = MsgBox("KODE TDK TERDAFTAR..", vbOKOnly, "SORRY, YA...") End If MBAYAR.Text = rsWARNET!HARGA MKODE.SetFocus End If End Sub Private Sub MNAMA_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If rsWARNET.RecordCount <> 0 Then rsWARNET.MoveFirst End If rsWARNET.Seek "=", MKODE.Text 36
If rsWARNET.NoMatch Then pesan = MsgBox("KODE TDK TERDAFTAR..", vbOKOnly, "SORRY, YA...") End If MBAYAR.Text = rsWARNET!HARGA MNOMOR.SetFocus End If End Sub Private Sub MNOMOR_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If rsPENGUNJUNG.RecordCount <> 0 Then rsPENGUNJUNG.MoveFirst End If rsPENGUNJUNG.Seek "=", MNOMOR.Text If rsPENGUNJUNG.NoMatch Then pesan = MsgBox("NOMOR TDK TERDAFTAR..", vbOKOnly, "SORRY, YA...") End If MNAMA.Text = rsPENGUNJUNG!NAMA MKODE.SetFocus End If End Sub Private Sub MNOTRANS_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then rsTRANSAKSI.Index = "NOTRANSX" rsTRANSAKSI.Seek "=", MNOTRANS.Text 'Cari Data If pil = 1 Then If rsTRANSAKSI.NoMatch Then pesan = MsgBox("Data tidak ada....", vbOKOnly, "Sorry bok...") Else isivar bersih End If mfind.SetFocus End If 'Tambah Data If pil = 2 Then If rsTRANSAKSI.NoMatch Then pesan = MsgBox("NOMOR TRANSAKSI belum ada....", vbOKOnly, "Silahkan isi ya...") MNOMOR.SetFocus Else isivar pesan = MsgBox("NOMOR TRANSAKSI sudah ada....", vbOKOnly, "Sorry bok...") madd.SetFocus End If End If 'Edit Data 37
If pil = 4 Then If rsTRANSAKSI.NoMatch Then pesan = MsgBox("NOMOR TRANSAKSI tidak ada...", vbOKOnly, "Sorry ya..") medit.SetFocus Else MNOTRANS.Enabled = False isivar MNOMOR.SetFocus End If End If 'Hapus Data If pil = 7 Then If rsTRANSAKSI.NoMatch Then pesan = MsgBox("NOMOR TRANSAKSI tidak ada...", vbOKOnly, "Sorry ya..") medit.SetFocus Else isivar pesan = MsgBox("are you sure...??", vbYesNo, "Delete!!") If pesan = vbYes Then rsTRANSAKSI.Delete kosong End If MDELE.SetFocus End If End If End If End Sub Private Function bersih() MNOTRANS.Enabled = False MNOMOR.Enabled = False MNAMA.Enabled = False MKODE.Enabled = False MBAYAR.Enabled = False End Function Private Function kosong() MNOTRANS.Text = " " MNOMOR.Text = " " MNAMA.Text = " " MKODE.Text = " " MBAYAR.Text = " " End Function Private Function isivar() MNOTRANS.Text = rsTRANSAKSI!NOTRANS MNOMOR.Text = rsTRANSAKSI!NOMOR MNAMA.Text = rsTRANSAKSI!NAMA MKODE.Text = rsTRANSAKSI!NMR MBAYAR.Text = rsTRANSAKSI!HARGA End Function 38
Private Function aktif() MNOTRANS.Enabled = True MNOMOR.Enabled = True MNAMA.Enabled = True MKODE.Enabled = True MBAYAR.Enabled = True End Function Private Sub msave_Click() If pil = 2 Then rsTRANSAKSI.AddNew pesan = MsgBox("Data berhasil disimpan....", vbOKOnly, "Selamat ya....") Else rsTRANSAKSI.Edit End If rsTRANSAKSI!NOTRANS = MNOTRANS.Text rsTRANSAKSI!NOMOR = MNOMOR.Text rsTRANSAKSI!NAMA = MNAMA.Text rsTRANSAKSI!NMR = MKODE.Text rsTRANSAKSI!HARGA = MBAYAR.Text rsTRANSAKSI.Update Data1.Refresh madd.SetFocus End Sub Sub tombol(xfind, xadd, xsave, xedit, xdele, xexit, xcancel) mfind.Enabled = IIf(xfind = 1, True, False) madd.Enabled = IIf(xadd = 1, True, False) msave.Enabled = IIf(xsave = 1, True, False) medit.Enabled = IIf(xedit = 1, True, False) MDELE.Enabled = IIf(xdele = 1, True, False) mexit.Enabled = IIf(xexit = 1, True, False) mcancel.Enabled = IIf(xcancel = 1, True, False) End Sub Private Sub MTABELTRANS_Click() Form5.Hide Form6.Show End Sub LISTING FORM TABEL TRANSAKSI WARNET Option Explicit Private Sub Command1_Click() End End Sub
39
Private Sub MKEFORM1_Click() Form6.Hide Form1.Show End Sub Private Sub MKEFORMTRANS_Click() Form5.Show Form6.Hide End Sub
40
PERTEMUAN 4 MEMBUAT LAPORAN ( REPORT )
41
42
43
44
45
PERTEMUAN 5 MEMBUAT MENU
46
47
DAFTAR PUSTAKA
Amundsen, Michael, 2001, Pemrograman Database Tingkat Menengah dengan Visual Basic 5, Yogyakarta, Andi. Hengky Alexander Mangkulo, 2003, Membangun Database dengan Visual Basic 6.0 dan Microsoft Acces, Jakarta, PT. Elex Media Komputindo. Kok Yung, 2003, Membangun Database dengan Visual Basic 6.0 dan Perintah SQL, Jakarta, PT. Elex Media Komputindo. M. Agus J. Alam, 2001, Manajemen Database dengan Microsoft Visual Basic 6.0, Jakarta, PT Elex Media Komputindo.
1