APLIKASI LOUNDRY - VB.NET 2008 Peminat silakan hubungi : Email : uusrusmawan71@gmail.com Facebook : konsultasivb@ymail.com (Uus Rusmawan) Phone : 0812 8438 1118 5.1 Rancangan Database Rancangan database dalam aplikasi loundry ini terlihat pada gambar berikut. 5.2 Normalisasi File dan Relasi Tabel 1
2
3
4
5.3 Penyerahan Cucian Imports System.Data.OleDb Public Class Cucian Private Sub Cucian_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call Koneksi() Call NomorOtomatis() Call BuatKolomBaru() LblTanggal.Text = Today Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 'Call BersihkanText() DGV.Columns.Clear() Call BuatKolomBaru() DGV.Focus() Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Me.Close() 5
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Barang.Show() Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Konsumen.Show() End Class 5.11 Pengiriman Cucian Proses transaksi dalam pengiriman cucian ini cukup dengan memilih nomor pesanan (penyerahan cucian) kemudian mengisi jumlah kekurangan pembayaran jika uang muka lebih kecil dari jumlah total harga yang harus dibayar, selanjutnya memilih kode kurir yang mengirimkan pakaian kemudian data disimpan. Private Sub Pengiriman_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call Koneksi() Call NomorOtomatis() LblTanggal.Text = Today Call FakturPesanan() Call TampilKurir() 6
Sub DetailPesanan() da = New OleDbDataAdapter("select detailpsn.kodebrg as [Kode Barang],barang.namabrg as [Nama Barang],detailpsn.Tarif,jumlahpsn as Jumlah from barang,detailpsn, pesanan where barang.kodebrg=detailpsn.kodebrg and pesanan.nomorpsn=detailpsn.nomorpsn and pesanan.nomorpsn='" & ComboBox1.Text & "'", Conn) ds = New DataSet da.fill(ds) DGV.DataSource = ds.tables(0) DGV.ReadOnly = True DGV.Columns(0).Width = 150 DGV.Columns(1).Width = 250 DGV.Columns(2).Width = 75 DGV.Columns(3).Width = 75 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Call Bersihkan() DGV.Columns.Clear() ComboBox1.Focus() Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Me.Close() End Class 5.12 Laporan Data Master Sebelum menampilkan laporan tabel-tabel master, tentunya laporan-laporan tersebut harus dibuat terlebih dahulu. Bentuk-bentuk laporan data master terlihat pada gambar-gambar berikut ini. Untuk menampilkan 7
laporan sebaiknya disediakan sebuah form khusus yang hanya terdiri dari sebuah object CrystalReportViewer dan properti form = maximized. Public Class LaporanMaster Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Laporan.CRV.ReportSource = "lap barang.rpt" 8
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Laporan.CRV.ReportSource = "lap konsumen.rpt" Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Laporan.CRV.ReportSource = "lap KASIR.rpt" Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Laporan.CRV.ReportSource = "lap KURIR.rpt" 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") End Class 5.13 Laporan Penyerahan Cucian Laporan penyerahan cucian dibagi menjadi tiga bentuk yaitu laoran harian, munggian dan bulanan. Sub Tampiltanggal() Call Koneksi() cmd = New OleDbCommand("select distinct tanggalpsn from Pesanan", Conn) rd = cmd.executereader 9
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 cmd = New OleDbCommand("select distinct month(tanggalpsn) as bulan from Pesanan", Conn) rd = cmd.executereader Do While rd.read ComboBox4.Items.Add(rd.Item(0)) Loop cmd = New OleDbCommand("select distinct year(tanggalpsn) as tahun from Pesanan", Conn) rd = cmd.executereader Do While rd.read ComboBox5.Items.Add(rd.Item(0)) Loop Private Sub LaporanPesanan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call Tampiltanggal() 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() Else Laporan.CRV.SelectionFormula = "totext({pesanan.tanggalpsn})='" & ComboBox1.Text & "'" Laporan.CRV.ReportSource = "lap rincipsn harian.rpt" End If 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 tanggalpsn awal dan tanggalpsn akhir") 10
Exit Sub Else Laporan.CRV.SelectionFormula = "{Pesanan.tanggalPsn} in date (" & ComboBox2.Text & ") to date (" & ComboBox3.Text & ")" Laporan.CRV.ReportSource = "lap rincipsn mingguan.rpt" End If Catch ex As Exception 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 Else Laporan.CRV.SelectionFormula = "Month({Pesanan.tanggalPsn})=" & Val(ComboBox4.Text) & " and Year({Pesanan.tanggalPsn})=" & Val(ComboBox5.Text) Laporan.CRV.ReportSource = "lap rincipsn bulanan.rpt" End If End Class Sebelum laporan ditampilkan dalam aplikasi, tentu kita harus membuat laporan-laporan terserbut terlebih dahulu. Buatlah beberapa laporan seperti gambar di bawah ini. 11
5.14 Laporan Pengiriman Cucian Laporan pengiriman cucian dibagi menjadi tiga bentuk, yaitu laporan harian, mingguan dan bulanan. 12
Coding : Imports System.Data.OleDb Public Class LaporanPengiriman Sub Tampiltanggal() Call Koneksi() cmd = New OleDbCommand("select distinct tanggalkrm from Pengiriman", 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 cmd = New OleDbCommand("select distinct month(tanggalkrm) as bulan from Pengiriman", Conn) rd = cmd.executereader Do While rd.read ComboBox4.Items.Add(rd.Item(0)) Loop cmd = New OleDbCommand("select distinct year(tanggalkrm) as tahun from Pengiriman", 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() Else Laporan.CRV.SelectionFormula = "totext({pengiriman.tanggalkrm})='" & ComboBox1.Text & "'" Laporan.CRV.ReportSource = "lap rincikrm harian.rpt" End If Catch ex As Exception MsgBox(ex.Message) End Try 13
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 tanggalkrm awal dan tanggalkrm akhir") Exit Sub Else Laporan.CRV.SelectionFormula = "{Pengiriman.tanggalkrm} in date (" & ComboBox2.Text & ") to date (" & ComboBox3.Text & ")" Laporan.CRV.ReportSource = "lap rincikrm mingguan.rpt" 'CRV.Formulas(0) = "tglawal='" & ComboBox2.Text & "'" 'CRV.Formulas(0) = "ambildata='" & ComboBox2.Text & "'" 'CRV.SelectionFormula = "tglawal='" & ComboBox2.Text & "'" 'CRV.SelectionFormula = "tglakhir='" & ComboBox3.Text & "'" 'awal = ComboBox2.Text 'akhir = ComboBox3.Text End If Catch ex As Exception 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 Else Laporan.CRV.SelectionFormula = "Month({Pengiriman.tanggalkrm})=" & Val(ComboBox4.Text) & " and Year({Pengiriman.tanggalkrm})=" & Val(ComboBox5.Text) Laporan.CRV.ReportSource = "lap rincikrm bulanan.rpt" End If Private Sub LaporanPengiriman_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Tampiltanggal() End Class 14
15
16
5.15 Jejak Transaksi Untuk melihat transaksi yang pernah terjadi dalam aplikasi loundry ini, kita siapkan sebuah form khusus dengan bentuk seperti gambar di bawah ini. Sub DetailPesanan() da = New OleDbDataAdapter("select detailpsn.kodebrg as [Kode Barang],barang.namabrg as [Nama Barang],detailpsn.Tarif,jumlahpsn as Jumlah from barang,detailpsn, pesanan where barang.kodebrg=detailpsn.kodebrg and pesanan.nomorpsn=detailpsn.nomorpsn and pesanan.nomorpsn='" & ComboBox1.Text & "'", Conn) ds = New DataSet da.fill(ds) DGV.DataSource = ds.tables(0) 17
DGV.ReadOnly = True DGV.Columns(0).Width = 150 DGV.Columns(1).Width = 250 DGV.Columns(2).Width = 75 DGV.Columns(3).Width = 75 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Call Bersihkan() Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Me.Close() End Class 18