APLIKASI SERVICE KENDARAAN - VB.NET Peminat silakan hubungi : Email : uusrusmawan71@gmail.com Facebook : konsultasivb@ymail.com (Uus Rusmawan) Phone : 0812 8438 1118 Rancangan Database Database dalam aplikasi service kendaraan ini dirancang untuk melayani jasa service sekaligus penjualan sparepart kendaraan. Normalisasi File dan Relasi Tabel Normalisasi file dalam aplikasi ini digambarkan pada level 3NF yang diambil dari link yang dibentuk oleh Crystal Report. 1
Membuat Module Buatlah sebuah Module, kemudian ketiklah coding berikut ini Imports System.Data.OleDb Module Module1 Public Conn As OleDbConnection Public da As OleDbDataAdapter Public ds As DataSet Public cmd As OleDbCommand Public rd As OleDbDataReader Public str As String Public Sub Koneksi() str = "provider=microsoft.jet.oledb.4.0;data source=dbservice.mdb" Conn = New OleDbConnection(str) If Conn.State = ConnectionState.Closed Then Conn.Open() End Module Menu Utama 2
Form Barang Form Jasa 3
Form Kasir Form Mekanik 4
Login Pendaftaran Service 5
Coding : Private Sub Pendaftaran_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call Koneksi() Call NomorOtomatis() Call Tampilkan() TxtTanggal.Text = Today Private Sub TxtNopol_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtNopol.KeyPress TxtNopol.MaxLength = 8 If e.keychar = Chr(13) Then If TxtNopol.Text = "" Then MsgBox("Nomor polisi wajib disii") TxtJenis.Focus() Private Sub TxtPemilik_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtPemilik.KeyPress If e.keychar = Chr(13) Then If TxtPemilik.Text = "" Then MsgBox("Nama pemilik wajib disii") TxtKeluhan.Focus() 6
Private Sub TxtJenis_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtJenis.KeyPress If e.keychar = Chr(13) Then If TxtJenis.Text = "" Then MsgBox("Jenis kendaraan wajib disii") TxtPemilik.Focus() Private Sub TxtKeluhan_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtKeluhan.KeyPress If e.keychar = Chr(13) Then If TxtKeluhan.Text = "" Then MsgBox("Keluhan kendaraan masih kosong") Button1.Focus() Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Call Kosongkan() Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Me.Close() Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If TxtNopol.Text = "" Or TxtJenis.Text = "" Or TxtPemilik.Text = "" Or TxtKeluhan.Text = "" Then MsgBox("Data belum lengkap") cmd = New OleDbCommand("select * from Pendaftaran where nopol='" & TxtNopol.Text & "' and cdate(tanggal)='" & TxtTanggal.Text & "'", Conn) rd = cmd.executereader rd.read() If Not rd.hasrows Then Dim Simpan As String = "insert into Pendaftaran(Nomor,Tanggal,Nopol,Nama,Kendaraan,keluhan,Status) values ('" & TxtNomor.Text & "','" & TxtTanggal.Text & "','" & TxtNopol.Text & "','" & TxtPemilik.Text & "','" & TxtJenis.Text & "','" & TxtKeluhan.Text & "','0')" 7
cmd = New OleDbCommand(Simpan, Conn) cmd.executenonquery() Dim ubah As String = "update Pendaftaran set Nama='" & TxtPemilik.Text & "',kendaraan='" & TxtJenis.Text & "',keluhan='" & TxtKeluhan.Text & "' where Nopol='" & TxtNopol.Text & "' and cdate(tanggal)='" & TxtTanggal.Text & "'" cmd = New OleDbCommand(ubah, Conn) cmd.executenonquery() Call NomorOtomatis() Call Tampilkan() Call Kosongkan() End Class Transaksi Service Coding : 8
Private Sub Service_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call Koneksi() Call TampilPendaftaran() Call TampilMekanik() Call GridJasa() Call GridBarang() Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged cmd = New OleDbCommand("Select * from pendaftaran where nomor='" & ComboBox1.Text & "'", Conn) rd = cmd.executereader rd.read() If rd.hasrows Then TxtTanggal.Text = rd.item(1) TxtNopol.Text = rd.item(2) TxtJenis.Text = rd.item(4) TxtPemilik.Text = rd.item(3) TxtKeluhan.Text = rd.item(5) Private Sub DGV2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles DGV2.KeyPress On Error Resume Next If e.keychar = Chr(27) Then DGV2.Rows.RemoveAt(DGV2.CurrentCell.RowIndex) Call TotalBarang() Call TotalHarga() TxtDibayar.Clear() LblKembali.Text = "" Private Sub LblBiayaJasa_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles LblBiayaJasa.TextChanged LblTotal.Text = Val(LblBiayaJasa.Text) + Val(LblBiayaBarang.Text) Private Sub LblBiayaBarang_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles LblBiayaBarang.TextChanged LblTotal.Text = Val(LblBiayaJasa.Text) + Val(LblBiayaBarang.Text) Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click DGV1.Columns.Clear() DGV2.Columns.Clear() 9
Call GridJasa() Call GridBarang() LblBiayaJasa.Text = 0 LblBiayaBarang.Text = 0 LblItem.Text = 0 LblTotal.Text = 0 TxtDibayar.Clear() LblKembali.Text = 0 Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged cmd = New OleDbCommand("Select * from mekanik where kode_mekanik='" & ComboBox2.Text & "'", Conn) rd = cmd.executereader rd.read() If rd.hasrows Then LblNamaMekanik.Text = rd.item(1) End Class Laporan Data Master Coding : Public Class LaporanMaster Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click System.Windows.Forms.Help.ShowHelp(Me, "mengubah posisi database dalam crystal report.doc") Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Laporan.Show() Laporan.CRV.ReportSource = Nothing Laporan.CRV.RefreshReport() Laporan.CRV.ReportSource = "lap barang.rpt" Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 10
Laporan.Show() Laporan.CRV.ReportSource = Nothing Laporan.CRV.RefreshReport() Laporan.CRV.ReportSource = "lap jasa.rpt" Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Laporan.Show() Laporan.CRV.ReportSource = Nothing Laporan.CRV.RefreshReport() Laporan.CRV.ReportSource = "lap pemakai.rpt" Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Laporan.Show() Laporan.CRV.ReportSource = Nothing Laporan.CRV.RefreshReport() Laporan.CRV.ReportSource = "lap mekanik.rpt" End Class 11
7.13 Laporan Data Transaksi Coding : Imports System.Data.OleDb Public Class LaporanTransaksi Sub TampilTanggal() Call Koneksi() cmd = New OleDbCommand("select distinct Tanggal from Service", Conn) rd = cmd.executereader Do While rd.read ComboBox1.Items.Add(rd.Item(0)) ComboBox2.Items.Add(Format(rd.Item(0), "yyyy, MM, dd")) ComboBox3.Items.Add(Format(rd.Item(0), "yyyy, MM, dd")) Loop 12
cmd = New OleDbCommand("select distinct month(tanggal) as bulan from Service", Conn) rd = cmd.executereader Do While rd.read ComboBox4.Items.Add(rd.Item(0)) Loop cmd = New OleDbCommand("select distinct year(tanggal) as tahun from Service", Conn) rd = cmd.executereader Do While rd.read ComboBox5.Items.Add(rd.Item(0)) Loop Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Try If ComboBox1.Text = "" Then MsgBox("Pilih tanggal terlebih dahulu") ComboBox1.Focus() Laporan.Show() Laporan.CRV.ReportSource = Nothing Laporan.CRV.RefreshReport() Laporan.CRV.SelectionFormula = "totext({service.tanggal})='" & ComboBox1.Text & "'" Laporan.CRV.ReportSource = "lap harian.rpt" Catch ex As Exception MsgBox(ex.Message) End Try Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Try If ComboBox2.Text = "" Or ComboBox3.Text = "" Then MsgBox("Pilih Tanggal awal dan Tanggal akhir") Exit Sub Laporan.Show() Laporan.CRV.ReportSource = Nothing Laporan.CRV.RefreshReport() Laporan.CRV.SelectionFormula = "{Service.Tanggal} in date (" & ComboBox2.Text & ") to date (" & ComboBox3.Text & ")" Laporan.CRV.ReportSource = "lap mingguan.rpt" Catch ex As Exception 13
MsgBox(ex.Message) End Try Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click If ComboBox4.Text = "" Or ComboBox5.Text = "" Then MsgBox("Pilih dulu bulan dan tahun") Exit Sub Laporan.Show() Laporan.CRV.ReportSource = Nothing Laporan.CRV.RefreshReport() Laporan.CRV.SelectionFormula = "Month({Service.Tanggal})=" & Val(ComboBox4.Text) & " and Year({Service.Tanggal})=" & Val(ComboBox5.Text) Laporan.CRV.ReportSource = "lap Bulanan.rpt" Private Sub LaporanTransaksi_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call TampilTanggal() End Class 14
15