aplikasi-kredit-motor-vb6.pdf

Upload: uusrusmawan

Post on 14-Jan-2016

8 views

Category:

Documents


0 download

TRANSCRIPT

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    1

    APLIKASI KREDIT MOTOR VB 6.0

    Database Access, Crystal Report 8.5

    Harga khusus untuk pembelajaran Rp. 50.000,-

    Permintaan revisi dikenakan biaya sesuai tingkat kesulitan

    Cara pembayaran melalui transfer ke salah satu rekening di bawah ini :

    No Rek: 066 - 0525 - 947 (BCA an. Uus Rusmawan)

    No Rek: 156 - 000 - 250 - 2146 (Mandiri an. Uus Rusmawan)

    No Rek : 0139 - 0106 - 3038 - 504 (BRI an. Uus Rusmawan)

    Program dikirim lewat email/Face Book (id : [email protected])

    Peminat Hub Email : [email protected]

    4.1 Merancang Database Dan Relasi Tabel Aplikasi ini terdiri dari sebuah database dan beberapa tabel antara lain tabel operator, motor, customer, belicash, belikredit dan tabel bayarcicilan. Bentuk relasinya dapat dilihat pada gambar di bawah ini.

    Gambar 4.1 Desain Database Dan Relasi Tabel

    4.2 Membuat Module Pembuatan module ini bertujuan agar akses database dapat dilakuakn dengan efentif dan efisien. Buatlah module dengan langkah-langkah sebagai berikut :

    Cara membuat Modul : 1. Buka VB 2. Klik menu Project

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    2

    3. Pilih Add Module 4. Klik Open 5. Tulis koding di bawah ini kemudian simpan

    Public CONN As New ADODB.Connection Public RSMotor As ADODB.Recordset Public RSCustomer As ADODB.Recordset Public RSOperator As ADODB.Recordset Public RSBeliCash As ADODB.Recordset Public RSBeliKredit As ADODB.Recordset Public RSDetailKredit As ADODB.Recordset Public RSBayarCicilan As ADODB.Recordset

    Public Sub BukaDB() Set CONN = New ADODB.Connection Set RSMotor = New ADODB.Recordset Set RSCustomer = New ADODB.Recordset Set RSOperator = New ADODB.Recordset Set RSBeliCash = New ADODB.Recordset Set RSBeliKredit = New ADODB.Recordset Set RSDetailKredit = New ADODB.Recordset Set RSBayarCicilan = New ADODB.Recordset CONN.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DBkredit.mdb" End Sub

    4.3 Pengolahan Data Operator Untuk melakukan pengolahan data operator (pengguna aplikasi) buatlah form dengan bentuk seperti gambar di bawah ini :

    Gambar 4.2 Pemakai Aplikasi

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    3

    4.4 Pengolahan Data Motor Untuk melakukan pengolahan data kendaraan, buatlah form seperti bentuk di bawah ini. Desain tabel motor telah disederhanakan. Para pembaca silakan mengubahkan sesuai kebutuhan.

    Gambar 4.3 Data Motor

    4.5 Pengolahan Data Customer Untuk mengolah data customer, buatlah form seperti bentuk di bawah ini.

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    4

    Gambar 4.4 Data Customer

    4.6 Transaksi Pembelian Tunai Konsep bembelian tunai ini sifatnya one to one. Bentuk form pembelian tunai dapat dilihat dalam pada di bawah ini.

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    5

    Gambar 4.5 Pembelian Cash

    Coding : Private Sub Form_Activate() Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "\DBKredit.mdb" Adodc1.RecordSource = "belicash" Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 DataGrid1.Refresh

    'menampilkan daftar kode customer dalam combo1 Call BukaDB RSCustomer.Open "Customer", CONN Combo1.Clear Do Until RSCustomer.EOF Combo1.AddItem RSCustomer!Kodecus RSCustomer.MoveNext Loop

    'menampilkan daftar kode motor di combo2 RSMotor.Open "Motor", CONN Combo2.Clear Do Until RSMotor.EOF Combo2.AddItem RSMotor!Kodemtr RSMotor.MoveNext Loop

    Call Auto 'memanggil IDCash otomatis dengan pola tanggal

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    6

    Tanggal = Date End Sub

    'memanggil IDCash otomatis dengan pola tanggal 'buka tabel becash dan cari IDCash yang paling besar 'jika tidak ada maka dibentuk yang baru 'jika sudah ada yang yang paling besar + 1 Private Sub Auto() Call BukaDB RSBeliCash.Open "select * from BeliCash Where IdCash In(Select Max(IdCash)From BeliCash)Order By IdCash Desc", CONN RSBeliCash.Requery Dim Urutan As String * 10 Dim Hitung As Long With RSBeliCash If .EOF Then Urutan = "CS" + Format(Date, "yymmdd") + "01" IdCash = Urutan Else If Mid(!IdCash, 3, 6) Format(Date, "yymmdd") Then Urutan = "CS" + Format(Date, "yymmdd") + "01" Else Hitung = Right(!IdCash, 2) + 1 Urutan = "CS" + Format(Date, "yymmdd") + Right("00" & Hitung, 2) End If End If IdCash = Urutan End With End Sub

    'menampilkan identitas customer yang dipilih di combo1 Private Sub COMBO1_Click() Call BukaDB RSCustomer.Open "select * from customer where kodecus='" & Combo1 & "'", CONN If RSCustomer.EOF Then MsgBox "kode customer tidak terdaftar" Combo1.SetFocus Else LblNama = RSCustomer!nama LblAlamat = RSCustomer!alamat LblTelepon = RSCustomer!telepon End If End Sub

    'menampilkan identitas motor yang dipilih di combo2 Private Sub Combo2_Click() Call BukaDB RSMotor.Open "select * from Motor where kodemtr='" & Combo2 & "'", CONN If RSMotor.EOF Then MsgBox "kode Motor tidak terdaftar" Combo2.SetFocus Else LblMerk = RSMotor!merk LblWarna = RSMotor!warna LblHarga = Format(RSMotor!harga, "###,###,###,###") End If End Sub

    Private Sub TxtDibayar_KeyPress(Keyascii As Integer) If Keyascii = 13 Then TxtDibayar = Format(TxtDibayar, "###,###,###") If TxtDibayar = "" Or TxtDibayar < LblHarga Then TxtKet = "kurang" & Space(1) & Format(LblHarga - TxtDibayar, "###,###,###") CmdSimpan.Enabled = True

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    7

    CmdSimpan.SetFocus Else If TxtDibayar = LblHarga Then TxtKet = 0 Else TxtKet = "kembali" & Space(1) & Format(TxtDibayar - LblHarga, "###,###,###") End If CmdSimpan.Enabled = True CmdSimpan.SetFocus End If End If If Not (Keyascii >= Asc("0") And Keyascii

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    8

    Private Sub CmdTutup_Click() Unload Me End Sub

    Bentuk kwitansi pembayaran cash

    Gambar 4.6 Kwitansi Pembayaran Cash

    4.7 Transaksi Pembelian Kredit Konsep pembelian kredit ini menggunakan relasi one to one, tetapi pada saat pembayarannya menggunakan pola one to many.

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    9

    Gambar 4.7 Transaksi Kredit

    Coding : Private Sub Form_Activate() Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "\DBKredit.mdb" Adodc1.RecordSource = "BeliKredit" Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 DataGrid1.Refresh

    Call BukaDB RSCustomer.Open "Customer", CONN Combo1.Clear Do Until RSCustomer.EOF Combo1.AddItem RSCustomer!Kodecus RSCustomer.MoveNext Loop

    RSMotor.Open "Motor", CONN Combo2.Clear Do Until RSMotor.EOF Combo2.AddItem RSMotor!Kodemtr RSMotor.MoveNext Loop Call Auto Tanggal = Date End Sub

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    10

    Private Sub Auto() Call BukaDB RSBeliKredit.Open "select * from BeliKredit Where IdKredit In(Select Max(IdKredit)From BeliKredit)Order By IdKredit Desc", CONN RSBeliKredit.Requery Dim Urutan As String * 10 Dim Hitung As Long With RSBeliKredit If .EOF Then Urutan = "CR" + Format(Date, "yymmdd") + "01" IdKredit = Urutan Else If Mid(!IdKredit, 3, 6) Format(Date, "yymmdd") Then Urutan = "CR" + Format(Date, "yymmdd") + "01" Else Hitung = Right(!IdKredit, 2) + 1 Urutan = "CR" + Format(Date, "yymmdd") + Right("00" & Hitung, 2) End If End If IdKredit = Urutan End With End Sub

    Private Sub COMBO1_Click() Call BukaDB RSCustomer.Open "select * from customer where kodecus='" & Combo1 & "'", CONN If RSCustomer.EOF Then MsgBox "kode customer tidak terdaftar" Combo1.SetFocus Else LblNama = RSCustomer!nama LblAlamat = RSCustomer!alamat LblTelepon = RSCustomer!telepon End If End Sub

    Private Sub Combo2_Click() Call BukaDB RSMotor.Open "select * from Motor where kodemtr='" & Combo2 & "'", CONN If RSMotor.EOF Then MsgBox "kode Motor tidak terdaftar" Combo2.SetFocus Else LblMerk = RSMotor!merk LblHargaCash = Format(RSMotor!harga, "###,###,###,###") End If End Sub

    Private Sub TxtDibayar_KeyPress(Keyascii As Integer) If Keyascii = 13 Then If TxtDibayar = "" Or Val(TxtDibayar) < (LblHarga) Then TxtKet = "kurang" & Space(1) & Format(LblHarga - TxtDibayar, "###,###,###") Else

    If TxtDibayar = LblHarga Then TxtKet = TxtDibayar - LblHarga TxtDibayar = Format(TxtDibayar, "###,###,###") Else TxtKet = "kembali" & Space(1) & Format(TxtDibayar - LblHarga, "###,###,###") End If CmdSimpan.Enabled = True CmdSimpan.SetFocus End If End If

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    11

    If Not (Keyascii >= Asc("0") And Keyascii

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    12

    If Not (Keyascii >= Asc("0") And Keyascii = Asc("0") And Keyascii

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    13

    Gambar 4.8 Pembayaran Cicilan

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    14

    4.9 Pembuatan Laporan

    4.9.1 Laporan Data Motor Laporan ini dipanggil dari menu utama dengan coding sebagai berikut : Private Sub mnlapmotor_Click() CR.ReportFileName = App.Path & "\lap motor.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End Sub

    Bentuk laporan :

    Gambar 4.9 Laporan Data Motor

    4.9.2 Laporan Data Customer Laporan data customer ini dipanggil dari menu utama dengan coding sebagai berikut: Private Sub mnlapcustomer_Click() CR.ReportFileName = App.Path & "\lap customer.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End Sub

    Bentuk Laporan :

    Gambar 4.10 Laporan Data Customer

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    15

    4.9.3 Laporan Pembelian Laporan pembelian ini dibagi menjadi dua bagian utama yaitu laporan pembelian cash dan kredit. Setiap jenis laporan ini dibagi menjadi tiga bagian lagi yaitu laporan harian, laporan bulanan dan laporan seluruh data. Bentuk form untuk memanggil laporan pembelian terlihat pada gambar di bawah ini.

    Gambar 4.11 Form Laporan Pembelian

    Coding : Private Sub Form_Load() 'On Error Resume Next Call BukaDB 'cari data tanggal di tabel belicash RSBeliCash.Open "Select Distinct Tanggal From BeliCash order By 1", CONN RSBeliCash.Requery Do Until RSBeliCash.EOF 'tampilkan dalam combo1 Combo1.AddItem Format(RSBeliCash!Tanggal, "DD-MMM-YYYY") RSBeliCash.MoveNext Loop

    Dim RSBulan As New ADODB.Recordset 'cari bulan dalam tabel belicash RSBulan.Open "select distinct month(Tanggal) as Bulan from BeliCash", CONN Do While Not RSBulan.EOF 'tampilkan dalam combo2 Combo2.AddItem RSBulan!Bulan & Space(5) & MonthName(RSBulan!Bulan) RSBulan.MoveNext Loop

    Dim RSTahun As New ADODB.Recordset 'cari tahun di tabel belicash RSTahun.Open "select distinct year(Tanggal) as Tahun from BeliCash", CONN

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    16

    Do While Not RSTahun.EOF 'tampilkan dalam combo3 Combo3.AddItem RSTahun!Tahun RSTahun.MoveNext Loop

    RSBeliKredit.Open "Select Distinct Tanggal From BeliKredit order By 1", CONN RSBeliKredit.Requery Do Until RSBeliKredit.EOF Combo4.AddItem Format(RSBeliKredit!Tanggal, "DD-MMM-YYYY") RSBeliKredit.MoveNext Loop

    Dim RSBulanKredit As New ADODB.Recordset RSBulanKredit.Open "select distinct month(Tanggal) as Bulan from BeliKredit", CONN Do While Not RSBulanKredit.EOF Combo5.AddItem RSBulanKredit!Bulan & Space(5) & MonthName(RSBulanKredit!Bulan) RSBulanKredit.MoveNext Loop

    Dim RSTahunKredit As New ADODB.Recordset RSTahunKredit.Open "select distinct year(Tanggal) as Tahun from BeliKredit", CONN Do While Not RSTahunKredit.EOF Combo6.AddItem RSTahunKredit!Tahun RSTahunKredit.MoveNext Loop

    CONN.Close End Sub

    Private Sub COMBO1_Click() CR.SelectionFormula = "Totext({BeliCash.Tanggal})='" & CDate(Combo1) & "'" CR.ReportFileName = App.Path & "\lap beli cash harian.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End Sub

    Private Sub Combo3_Click() Call BukaDB RSBeliCash.Open "select * from BeliCash where month(Tanggal)='" & Val(Left(Combo2, 2)) & "' and year(Tanggal)='" & (Combo3) & "'", CONN If RSBeliCash.EOF Then MsgBox "Data tidak ditemukan" Exit Sub Combo4.SetFocus End If CR.SelectionFormula = "Month({BeliCash.Tanggal})=" & Val(Left(Combo2, 2)) & " and Year({BeliCash.Tanggal})=" & Val(Combo3.Text) CR.ReportFileName = App.Path & "\LAP beli cash bulanan.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End Sub

    Private Sub Combo4_Click() CR.SelectionFormula = "Totext({BeliKredit.Tanggal})='" & CDate(Combo4) & "'" CR.ReportFileName = App.Path & "\LAP BELI KREDIT HARIAN.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End Sub

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    17

    Private Sub Combo6_Click() Call BukaDB RSBeliKredit.Open "select * from BeliKredit where month(Tanggal)='" & Val(Left(Combo5, 2)) & "' and year(Tanggal)='" & (Combo6) & "'", CONN If RSBeliKredit.EOF Then MsgBox "Data tidak ditemukan" Exit Sub Combo4.SetFocus End If CR.SelectionFormula = "Month({BeliKredit.Tanggal})=" & Val(Left(Combo5, 2)) & " and Year({BeliKredit.Tanggal})=" & Val(Combo6.Text) CR.ReportFileName = App.Path & "\LAP BELI KREDIT BULANAN.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End Sub

    Private Sub Command1_Click() CR.ReportFileName = App.Path & "\lap beli cash.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End Sub

    Private Sub Command2_Click() CR.ReportFileName = App.Path & "\lap BELI KREDIT.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End Sub

    Hasil dari coding tersebut terlihat pada gambar-gambar di bawah ini.

    Gambar 4.12 Laporan Pembelian Cash Harian

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    18

    Gambar 4.13 Laporan Pembelian Cash Bulanan

    Gambar 4.14 Laporan Pembelian Kredit Harian

    Gambar 4.15 Laporan Pembelian Kredit Bulanan

    4.9.4 Laporan Pembayaran Laporan pembayaran ini dibuat sesederhana mungkin yaitu terdiri dari laporan pembayaran harian, bulanan dan laporan pembayaran seluruh data. Bentuk form untuk memanggil laporan pembayaran terlihat pada gambar di bawah ini.

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    19

    Gambar 4.16 Form Laporan Pembayaran

    Coding : Private Sub Form_Load() 'On Error Resume Next Call BukaDB RSBayarCicilan.Open "Select Distinct TanggalByr From BayarCicilan order By 1", CONN RSBayarCicilan.Requery Do Until RSBayarCicilan.EOF Combo1.AddItem Format(RSBayarCicilan!TanggalByr, "DD-MMM-YYYY") RSBayarCicilan.MoveNext Loop

    Dim RSBulan As New ADODB.Recordset RSBulan.Open "select distinct month(TanggalByr) as Bulan from BayarCicilan", CONN Do While Not RSBulan.EOF Combo2.AddItem RSBulan!Bulan & Space(5) & MonthName(RSBulan!Bulan) RSBulan.MoveNext Loop

    Dim RSTahun As New ADODB.Recordset RSTahun.Open "select distinct year(TanggalByr) as Tahun from BayarCicilan", CONN Do While Not RSTahun.EOF Combo3.AddItem RSTahun!Tahun RSTahun.MoveNext Loop CONN.Close End Sub

    Private Sub COMBO1_Click() CR.SelectionFormula = "Totext({BayarCicilan.TanggalByr})='" & CDate(Combo1) & "'" CR.ReportFileName = App.Path & "\lap bayar cicilan harian.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End Sub

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    20

    Private Sub Combo3_Click() Call BukaDB RSBayarCicilan.Open "select * from BayarCicilan where month(TanggalByr)='" & Val(Left(Combo2, 2)) & "' and year(TanggalByr)='" & (Combo3) & "'", CONN If RSBayarCicilan.EOF Then MsgBox "Data tidak ditemukan" Exit Sub Combo4.SetFocus End If CR.SelectionFormula = "Month({BayarCicilan.TanggalByr})=" & Val(Left(Combo2, 2)) & " and Year({BayarCicilan.TanggalByr})=" & Val(Combo3.Text) CR.ReportFileName = App.Path & "\LAP bayar cicilan bulanan.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End Sub

    Private Sub Command1_Click() CR.ReportFileName = App.Path & "\lap bayar cicilan.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End Sub

    Hasil laporan dari coding tersebut terlihat pada gambar-gambar berikut ini.

    Gambar 4.17 Laporan Pembayaran Harian

    Gambar 4.18 Laporan Pembayaran Bulanan

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    21

    Gambar 4.19 Laporan Pembayaran Per ID Kredit