www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
APLIKASI KOPERASI VB 6.0 Peminat silakan hubungi : Email :
[email protected] Facebook :
[email protected] (Uus Rusmawan) Phone : 0812 8438 1118 Inti program ini adalah bagaimana cara menyimpan gambar (foto) ke dalam database dan menampilkannya pada form. Kemudian di dalamnya dibahas tentang bagaimana proses sistem koperasi. Program ini sebenarnya sangat sederhana. Proses program ini diawali dengan mengambil foto anggota melalui webcam. Dalam pengambilan gambar ini seringkali ukurannya harus diatur ulang secara manual. Oleh karena itu dalam CD pendukung buku ini kami lapirkan software TNT Capture untuk mengambil gambar dengan ukuran yang sesuai dengan besarnya ukuran pictureBox dalam form anggota. Untuk melihat petunjuk instalasi dan cara menggunakan software TNT Capture ini silakan lihat bab cara instalasi TNT Capture di bagian bawah.
5.1 Merancang Database Dan Bentuk Relasi Tabel Langkah awal yang harus dilakukan dalam pembuatan program penggajian ini adalah : 1.
Membuat database dengan nama DBKOPERASI.mbd
2.
Membuat tabel ANGGOTA, yang terdiri dari field : •
Nomor Anggota
•
Nama
•
Simpanan wajib
•
Simpanan pokok
•
Saldo
•
Foto
Pembaca dipersilakan untuk menambahkan field yang dianggap perlu, seperti field jenis kelamin, agama, pendidikan, alamat, telepon dan sebagainya. 3.
4.
Membuat tabel KASIR, yang terdiri dari field : •
Kode Kasir
•
Nama Kasir
•
Password Kasir
Membuat tabel SIMPAN, yang terdiri dari field : •
Nomor simpanan
•
Tanggal
1
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
5.
•
Nomor Anggota
•
Jumlah simpanan
•
Kode Kasir
Membuat tabel PINJAM, yang terdiri dari field : •
Nomor Pinjaman
•
Tanggal
•
Nomor Anggota
•
Jumlah Pinjaman
•
Kode kasir
Demikianlah ilustrasi awal rancangan database untuk program penggajian ini. Langkah selanjutnya adalah membuat project di VB. Bentuk relasi tabel dalam program koperasi ini terlihat pada gambar di bawah ini :
Gambar 5.1 Relasi Tabel
5.2
Membuat Modul
Hal ini dibuat agar melakukan koneksi ke database cukup dengan memanggil nama prosedurnya saja. Lakukanlah langkah di bawah ini : •
Buka VB
•
Klik menu project
•
Pilih add module
•
Klik open
2
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi •
Kemudian ketiklah koding di bawah ini :
Public Public Public Public Public
Conn As New ADODB.Connection RSKasir As ADODB.Recordset RSAnggota As ADODB.Recordset RSSimpan As ADODB.Recordset RSPinjam As ADODB.Recordset
Public Sub BukaDB() Set Conn = New ADODB.Connection Set RSKasir = New ADODB.Recordset Set RSAnggota = New ADODB.Recordset Set RSSimpan = New ADODB.Recordset Set RSPinjam = New ADODB.Recordset Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DBKoperasi.mdb" End Sub
5.3 Data Anggota Setelah membuat module, buatlah form untuk mengolah tabel master anggota dengan bentuk seperti gambar di bawah ini. Dalam form anggota tambahkanlah objek CommonDialog (untuk membuka forlder dan mengambil gambar) dan objek PictureBox (untuk menampilkan gambar yang dipilih).
Gambar 5.2 Form Anggota
3
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 5.3 Form Anggota
5.4 Data Tabungan Kemudian buatlah form untuk mengolah data penyimpanan dana nasabah dengan bentuk seperti gambar di bawah ini.
Gambar 5.4 Data Tabungan
Koding :
4
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi Private Sub Form_Activate() Call BukaDB Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DBKoperasi.mdb" Adodc1.RecordSource = "TBLSimpan" Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 DataGrid1.Refresh Call NoSimpan Tanggal = Format(Date, "DD-MMM-YYYY") End Sub 'prosedur untuk membuat nomor pinjam otomatis dengan pola SPNYYMMDD999 Private Sub NoSimpan() Call BukaDB RSSimpan.Open "select * from TBLSIMPAN Where NO_SIMPAN In(Select Max(NO_SIMPAN)From TBLSIMPAN)Order By NO_SIMPAN Desc", Conn RSSimpan.Requery Dim Urutan As String * 12 Dim Hitung As Long With RSSimpan If .EOF Then Urutan = "SPN" + Format(Date, "yymmdd") + "001" Nomor = Urutan Else If Mid(!No_Simpan, 4, 6) <> Format(Date, "yymmdd") Then Urutan = "SPN" + Format(Date, "yymmdd") + "001" Else Hitung = Right(!No_Simpan, 9) + 1 Urutan = "SPN" + Format(Date, "yymmdd") + Right("000" & Hitung, 3) End If End If Nomor = Urutan End With End Sub 'pada saat form dipanggil, tampilkan nomor anggota di dalam combo Private Sub Form_Load() Call BukaDB RSAnggota.Open "select * from tblanggota", Conn CBOAgt.Clear Do While Not RSAnggota.EOF CBOAgt.AddItem RSAnggota!no_anggota RSAnggota.MoveNext Loop CBOAgt.Enabled = False JmlSimpan.Enabled = False End Sub Sub KondisiAwal() CBOAgt = "" Nama = "" Saldo = "" JmlSimpan = "" Picture1.Picture = LoadPicture() CBOAgt.Enabled = False JmlSimpan.Enabled = False CmdInput.Caption = "&Input" CmdTutup.Caption = "&Tutup" End Sub 'pada saat nomor anggota dipilih dalam combo, tampilkan nama anggota, saldo dan fotonya Private Sub CBOAgt_Click() Call BukaDB RSAnggota.Open "select * from tblanggota where no_anggota='" & CBOAgt & "'", Conn
5
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi If RSAnggota.EOF Then MsgBox "Nomor anggota tidak terdaftar" CBOAgt.SetFocus Exit Sub Else Nama = RSAnggota!Nama Saldo = Format(RSAnggota!Saldo, "##,###,###") Picture1.Picture = LoadPicture(RSAnggota!foto) End If End Sub 'pada saat nomor anggota dipilih dalam combo, tampilkan nama anggota, saldo dan fotonya Private Sub CBOAgt_KeyPress(Keyascii As Integer) If Keyascii = 13 Then Call BukaDB RSAnggota.Open "select * from tblanggota where no_anggota='" & CBOAgt & "'", Conn If RSAnggota.EOF Then MsgBox "Nomor anggota tidak terdaftar" CBOAgt.SetFocus Exit Sub Else Nama = RSAnggota!Nama Saldo = Format(RSAnggota!Saldo, "##,###,###") Picture1.Picture = LoadPicture(RSAnggota!foto) JmlSimpan.SetFocus End If End If End Sub Private Sub CmdInput_Click() If CmdInput.Caption = "&Input" Then CmdInput.Caption = "&Simpan" CmdTutup.Caption = "&Batal" CBOAgt.Enabled = True JmlSimpan.Enabled = True CBOAgt.SetFocus Exit Sub Else If CBOAgt = "" Or JmlSimpan = "" Then MsgBox "Data belum lengkap" Exit Sub Else 'simpan data ke tabel pinjam Dim simpan As String simpan = "Insert into tblsimpan (no_simpan,tanggal,no_anggota,jmlsimpan,KODEKSR) values " & _ "('" & Nomor & "','" & CDate(Tanggal) & "','" & CBOAgt & "','" & JmlSimpan & "','" & MENU.StatusBar1.Panels(1) & "')" Conn.Execute simpan 'tambah saldo anggota dengan simpanan yang baru saja dilakukan Call BukaDB RSAnggota.Open "select * from tblanggota where no_anggota='" & CBOAgt & "'", Conn If Not RSAnggota.EOF Then Dim edit As String edit = "update tblanggota set saldo= '" & RSAnggota!Saldo + JmlSimpan & "' where no_anggota='" & CBOAgt & "'" Conn.Execute edit Call KondisiAwal Form_Activate End If End If End If End Sub
6
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi Private Sub CmdTutup_Click() If CmdTutup.Caption = "&Tutup" Then Unload Me ElseIf CmdTutup.Caption = "&Batal" Then CBOAgt = "" Call KondisiAwal Form_Activate End If End Sub Private Sub JmlSimpan_KeyPress(Keyascii As Integer) If Keyascii = 13 Then JmlSimpan = Format(JmlSimpan, "##,###,###") CmdInput.SetFocus End If End Sub
5.5 Data Pinjaman Kemudian buatlah form untuk mengolah transaksi peminjaman dana dengan bentuk seperti gambar di bawah ini:
Gambar 5.5 Form Pinjaman
Jika anda ingin membuat program lebih cepat pada proses peminjaman ini, salin saja form tabungan berikut kodingnya, kemudian simpan dengan nama Pinjaman. Setelah itu ubahlah proses penambahan saldo menjadi pengurangan saldo (artinya anda cukup mengganti tanda + menjadi tanda – (minus). Setelah itu ubahlah sebuah hal yang berkaitan dengan simpanan menjadi pinjaman. Dengan satu cacatan penting anda harus memasang validasi agar jangan sampai peminjaman melebihi saldo awal
5.6 Pembuatan Laporan
7
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi Dalam program ini laporan dibagi menjadi dua bagian berdasarkan proses yang terjadi sebelumnya, yaitu laporan tabungan dan laporan pinjaman. Laporan tabungan dikelompokkan berdasarkan nomor anggota, laporan tabungan per hari, per minggu, per bulan dan per tahun. Begitupun dengan laporan pinjaman, dibuat sama dengan laporan tabungan. Tetapi dalam buku ini kami tidak akan membahas laporan pinjaman secara rinci. Kami cukupkan contohnya dengan laporan tabungan saja. Buatlah form laporan tabungan seperti gambar di bawah ini.
Gambar 5.6 Form Laporan Tabungan
Koding : Private Sub Form_Load() 'buka database, buka tabel anggota dan tampilkan Nomor anggota di dalam combo 'nomor anggota yang tampil berulang disatukan dengan distinct Call BukaDB RSSimpan.Open "select distinct (no_anggota) from tblsimpan", Conn Do While Not RSSimpan.EOF Combo1.AddItem RSSimpan!no_anggota RSSimpan.MoveNext Loop Conn.Close Call BukaDB 'buka tblsimpan dan tampilkan tanggal dalam RSSimpan.Open "select distinct tanggal from Do While Not RSSimpan.EOF Combo2.AddItem Format(RSSimpan!Tanggal, Combo3.AddItem Format(RSSimpan!Tanggal, Combo4.AddItem Format(RSSimpan!Tanggal, RSSimpan.MoveNext Loop Conn.Close
combo berikutnya dengan format tertentu tblsimpan", Conn "DD-MMM-YYYY") "YYYY, MM, DD") "YYYY, MM, DD")
Call BukaDB 'buatlah sebuah recordset baru Dim RSBLN As New ADODB.Recordset 'buka recordset baru tersebut dengan mengambil angka dan nama bulan dari data tanggalnya di TBLsimpan
8
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi RSBLN.Open "select distinct month(tanggal) as Bulan from TBLsimpan", Conn Do While Not RSBLN.EOF Combo5.AddItem RSBLN!BULAN & Space(5) & MonthName(RSBLN!BULAN) RSBLN.MoveNext Loop Conn.Close Call BukaDB Dim RSTHN As New ADODB.Recordset 'ambillah data tahun dari tblsimpan dan tampilkan dalam combo6 dan 7 RSTHN.Open "select distinct year(tanggal) as Tahun from tblsimpan", Conn Do While Not RSTHN.EOF Combo6.AddItem RSTHN!TAHUN Combo7.AddItem RSTHN!TAHUN RSTHN.MoveNext Loop Conn.Close End Sub 'lap per anggota Private Sub Combo1_Click() CR.SelectionFormula = "{tblsimpan.no_anggota}='" & Combo1 & "' " CR.ReportFileName = App.Path & "\lap simpanan per anggota.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End Sub 'lap harian Private Sub Combo2_Click() CR.SelectionFormula = "totext({tblsimpan.tanggal})='" & CDate(Combo2) & "' " CR.ReportFileName = App.Path & "\lap simpanan per tanggal.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End Sub 'lap mingguan Private Sub Combo4_Click() If Combo3 = "" Then MsgBox "Tanggal awal kosong", , "Informasi" Combo3.SetFocus Exit Sub Else If Combo4 < Combo3 Or Combo3 > Combo4 Then MsgBox "Tanggal terbalik" Combo4.SetFocus Exit Sub ElseIf Combo4 = Combo3 Then MsgBox "pilih tanggal yang berbeda" Combo4.SetFocus Exit Sub End If End If CR.SelectionFormula = "{TBLSIMPAN.Tanggal} in date (" & Combo3 & ") to date (" & Combo4 & ")" CR.ReportFileName = App.Path & "\Lap simpanan per minggu.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End Sub 'lap bulanan
9
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi Private Sub Combo6_Click() Call BukaDB RSSimpan.Open "select * from TBLsimpan where month(tanggal)='" & Val(Left(Combo5, 2)) & "' and year(tanggal)='" & (Combo6) & "'", Conn If RSSimpan.EOF Then MsgBox "Data tidak ditemukan" Exit Sub Combo4.SetFocus End If CR.SelectionFormula = "Month({TBLsimpan.Tanggal})=" & Val(Left(Combo5, 2)) & " and Year({TBLsimpan.Tanggal})=" & Val(Combo6.Text) CR.ReportFileName = App.Path & "\Lap simpanan bulanan.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End Sub 'lap tahunan Private Sub Combo7_Click() CR.SelectionFormula = "year({TBLsimpan.Tanggal})=" & Val(Combo7.Text) CR.ReportFileName = App.Path & "\Lap simpanan per tahun.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End Sub
5.6.1 Laporan Penyimpanan Per Anggota
Gambar 5.7 Laporan Tabungan Per Anggota
5.6.2 Laporan Tabungan Harian
10
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 5.8 Laporan Tabungan Per Tanggal
5.6.3 Laporan Tabungan Mingguan
Gambar 5.9 Laporan Tabungan Per Minggu
5.6.4 Laporan Tabungan Bulanan
11
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 5.10 Laporan Tabungan Per Bulan
5.6.5 Laporan Tabungan Tahunan
Gambar 5.11 Laporan Tabungan Per Tahun
12