UUSRUSMAWAN.C
M
P
ANDUAN
M
EMBUAT
A
PLIKASI
J
UAL
B
ELI
T
UNAI
A
TAU
K
REDIT
P
LUS
J
URNAL
A
KUNTANSI
Dalam bab ini akan dijelaskan tentang aplikasi pembelian dan penjualan secara tunai dan kredit disertai dengan jurnal akuntansinya. Aplikasi ini dapat diunduh pada tautan berikut ini.
Adapun langkah-langkah pembuatannya adalah sebagai berikut:
3.1 Membuat Project Baru
Langkah pertama yang harus dilakukan dalam pembuatan aplikasi ini adalah membuat project baru. Caranya adalah sebagai berikut :
1. Buka Microsoft Visual Studio 2008 (silakan gunakan versi yang anda miliki) 2. Pilih Create Project
3.2 Memberi Nama Project
Setelah membuat project baru, langkah selanjutnya adalah memberi nama project. 1. Ketik nama project, contoh "Aplikasi Jual Beli"
UUSRUSMAWAN.C
M
3. Selanjutnya klik menu file 4. Pilih Save All
5. Tentukan direktori project 6. Klik Browse
7. Klik save
3.3 Membuat Database Dan Tabel
Setelah direktori project terbentuk, langkah berikutnya adalah membuat database disimpan di folder debug. Lakukanlah langkah-langkah berikut ini:
1. Buka Microsoft Office 2003 2. Pilih Microsoft Access 2003 3. Klik Create New File 4. Pilih Blank Database
UUSRUSMAWAN.C
M
6. Klik Create
7. Klik dua kali Create Table In design View
8. Kemudian buatlah tabel-tabel seperti gambar berikut ini.
Catatan :
Tabel-tabel ini sudah tersedia dalam aplikasi dan dapat anda unduh pada tautan yang akan kami jelaskan di halaman berikutnya. Dalam tabel-tabel master sudah tersedia contoh data yang dapat anda edit sesuai kebutuhan.
3.4 Membuat Module Koneksi
Setelah membuat tabel-tabel yang diperlukan, langkah berikutnya adalah membuat module koneksi ke database, caranya adalah sebagai berikut :
UUSRUSMAWAN.C
M
4. Kemudian ketik koding berikut ini
Imports System.Data.OleDb
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Module Module1
Public Conn As OleDbConnection
Public DA As OleDbDataAdapter
Public DS As DataSet
Public CMD As OleDbCommand
Public DR As OleDbDataReader
Public cryRpt As New ReportDocument
Public crtableLogoninfos As New TableLogOnInfos
Public crtableLogoninfo As New TableLogOnInfo
Public crConnectionInfo As New ConnectionInfo
Public CrTables As Tables
Public Sub seting_laporan()
With crConnectionInfo
.ServerName = (Application.StartupPath.ToString &
"\DBJualBeli.mdb")
.DatabaseName = (Application.StartupPath.ToString &
"\DBJualBeli.mdb")
.UserID = ""
.Password = ""
End With
CrTables = cryRpt.Database.Tables For Each CrTable In CrTables
crtableLogoninfo = CrTable.LogOnInfo
crtableLogoninfo.ConnectionInfo = crConnectionInfo CrTable.ApplyLogOnInfo(crtableLogoninfo)
Next
End Sub
UUSRUSMAWAN.C
M
Conn = New OleDbConnection("provider=microsoft.jet.oledb.4.0;data
source=DBJualBeli.mdb")
Conn.Open()
End Sub
End Module
Catatan :
Jika anda menggunakan database access 2007 atau 2010, maka string koneksi diubah menjadi sebagai berikut:
Conn = New OleDbConnection("provider=microsoft.ACE.oledb.12.0;data source=DBJualBeli.accdb")
Jika program mengalami error karena OS anda 64 bit, maka ubahlah setingnya sebagai berikut : 1. Klik Menu Project > Aplikasi Jual Beli properties...
2. Compile > Advance Compile Option
3. Ubah taget CPU menjadi x86 (32 bit) seperti gambar di bawah ini.
3.5 Form Login
Setelah membuat module koneksi ke database, langkah berikutnya adalah membuat form login dengan bentuk seperti gambar di bawah ini.
UUSRUSMAWAN.C
M
TXTnama.Text & "' and pwd_user='" & TXTPassword.Text & "'", CONN)DR = CMD.ExecuteReader DR.Read()
If DR.HasRows Then
UUSRUSMAWAN.C
M
3.6 Form Menu Utama
Setelah membuat form login berikut codingnya, selanjutnya adalah membuat menu utama dengan bentuk tampilan sebagai berikut.
Menu utama ini dibuat menggunakan TabControl, adapaun cara pembuatannya dapat anda lihat video tutorialnya di website www.konsultasivb.com.
3.7 Form User
UUSRUSMAWAN.C
M
Setelah membuat form user, langkah berikutnya adalah membuat codingnya yang dapat anda lihat pada bagian dibawah ini.
Imports System.Data.OleDb
Public Class MasterUser
Sub Kosongkan()
txtkodeuser.Clear() txtnamauser.Clear() cbostatus.Text = ""
txtpassword.Clear() txtcaridata.Clear() txtkodeuser.Focus() Call TampilStatus_user() Call TampilGrid()
End Sub
Sub DataBaru()
txtnamauser.Clear() cbostatus.Text = ""
txtpassword.Clear() txtcaridata.Clear() txtnamauser.Focus() End Sub
Sub Ketemu()
txtnamauser.Text = DR.Item("nama_User") txtpassword.Text = DR.Item("pwd_User") cbostatus.Text = DR.Item("Status_user") txtnamauser.Focus()
End Sub
Sub TampilGrid()
UUSRUSMAWAN.C
M
Me.StartPosition = FormStartPosition.CenterScreen Call Koneksi() txtkodeuser.Text & "'", CONN)
DR = CMD.ExecuteReader DR.Read()
Try
If Not DR.HasRows Then
Dim simpan As String = "insert into tblUser values ('" & txtkodeuser.Text & "','" & txtnamauser.Text & "','" & txtpassword.Text &
"','" & cbostatus.Text & "')"
CMD = New OleDbCommand(simpan, CONN) CMD.ExecuteNonQuery()
UUSRUSMAWAN.C
M
10
Dim edit As String = "update tblUser set nama_User='" & txtnamauser.Text & "',Status_user='" & cbostatus.Text & "',pwd_User='" & txtpassword.Text & "' where kode_User='" & txtkodeuser.Text & "'"
CMD = New OleDbCommand(edit, CONN)
txtkodeuser.Text = DGV.Rows(e.RowIndex).Cells(0).Value txtnamauser.Text = DGV.Rows(e.RowIndex).Cells(1).Value txtpassword.Text = DGV.Rows(e.RowIndex).Cells(2).Value cbostatus.Text = DGV.Rows(e.RowIndex).Cells(3).Value End Sub txtkodeuser.Text & "'", CONN)
DR = CMD.ExecuteReader
UUSRUSMAWAN.C
M
DA = New OleDbDataAdapter("select * from tblUser where nama_User like '%" & txtcaridata.Text & "%'", CONN)
DS = New DataSet DA.Fill(DS)
DGV.DataSource = DS.Tables(0) End Sub
End Class
3.8 Form Barang
Setelah membuat form user, langkah berikutnya adalah membuat form barang berikut codingnya yang dapat anda lihat pada bagian dibawah ini.
3.9 Form Perkiraan
UUSRUSMAWAN.C
M
3.10 Form Supplier
Setelah membuat form perkiraan, langkah berikutnya adalah membuat form supplier berikut codingnya yang dapat anda lihat pada bagian dibawah ini.
3.11 From Customer
UUSRUSMAWAN.C
M
3.12 Form Profil Perusahaan
Setelah membuat form customer, langkah berikutnya adalah membuat form profile perusahaan berikut codingnya yang dapat anda lihat pada bagian dibawah ini.
3.13 Transaksi Pembelian
UUSRUSMAWAN.C
M
Proses dalam transaksi pembelian adalah sebagai berikut : 1. Mengisi nomor nota pembelian
2. Memilih supplier
3. Memilih barang yang dibeli dari grid sebelah kanan 4. Mengisi jumlah barang yang dibeli
5. Mengisi jumlah pembayaran, jika jumlah pembayaran lebih kecil dari total harga maka akan dinyatakan pembelian kredit, jika jumlah bayar lebih besar dari total harga maka akan dinyatakan pembelian tunai
6. Jika pembelian secara kredit maka isilah jumlah hari jatuh temponya 7. Klik simpan
Adapun codingnya seperti terlihat pada listing program di bawah ini.
Imports System.Data.OleDb
Public Class TransaksiPembelian
Sub TampilSupplier()
CMD = New OleDbCommand("Select * from tblsupplier", Conn) DR = CMD.ExecuteReader
cbosupplier.Items.Clear() Do While DR.Read
cbosupplier.Items.Add(DR.Item("nama_supplier")) Loop
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btntutup.Click Me.Close()
End Sub
Sub TampilBarang()
DA = New OleDbDataAdapter("select * from tblbarang where stok>0", Conn)
DS = New DataSet DA.Fill(DS)
DGVBarang.DataSource = DS.Tables(0) DGVBarang.ReadOnly = True
UUSRUSMAWAN.C
M
Private Sub TransaksiPembelian_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
Call Koneksi()
DGV.Rows.Add(DGVBarang.Rows(e.RowIndex).Cells(0).Value, DGVBarang.Rows(e.RowIndex).Cells(1).Value,
DGVBarang.Rows(e.RowIndex).Cells(4).Value, 1) TextBox1.Clear()
DGV.Rows(baris).Cells(4).Value = DGV.Rows(baris).Cells(2).Value * DGV.Rows(baris).Cells(3).Value
As System.EventArgs) Handles TextBox1.TextChanged
UUSRUSMAWAN.C
M
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
cbosupplier.SelectedIndexChanged NAMA_SUPPLIER='" & cbosupplier.Text & "'", CONN)
DR = CMD.ExecuteReader faktur_beli='" & txtnofaktur.Text & "'", Conn)
UUSRUSMAWAN.C
M
End If
End If
End Sub
End Class
3.14 Retur Pembelian
Setelah membuat form pembelian, langkah berikutnya adalah membuat form retur pembelian berikut codingnya yang dapat anda lihat pada bagian dibawah ini.
proses dalam form retur pembelian adalah sebagai berikut. 1. Pilih nomor faktur yang akan diretur
2. Isi jumlah barang yang diretur
3. Jumlah barang tidak boleh melebihi jumlah yang pernah dibeli sebelumnya 4. Klik simpan
Adapun codingnya seperti terlihat pada listing program di bawah ini.
Imports System.Data.OleDb
Public Class TransaksiReturPembelian
Sub NomorOtomatis()
CMD = New OleDbCommand("select * from tblreturpembelian where
No_Retur_beli in(select max(No_retur_beli) from tblreturpembelian)", CONN)
DR = CMD.ExecuteReader DR.Read()
If Not DR.HasRows Then
lblnomorretur.Text = "RB" + Format(Now, "yyMMdd") + "01"
UUSRUSMAWAN.C
M
19
If Microsoft.VisualBasic.Mid(DR.Item("No_Retur_beli"), 3, 6) <> Format(Now, "yyMMdd") Then
lblnomorretur.Text = "RB" + Format(Now, "yyMMdd") + "01"
Else
lblnomorretur.Text =
Microsoft.VisualBasic.Right(DR.Item("No_Retur_beli"), 8) + 1 lblnomorretur.Text = "RB" + lblnomorretur.Text
Private Sub TransaksiReturPembelian_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
UUSRUSMAWAN.C
M
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
cbofakturbeli.SelectedIndexChanged
CMD = New OleDbCommand("select * from tblpembelian where faktur_beli='" & cbofakturbeli.Text & "'", CONN)
DR = CMD.ExecuteReader
cbofakturbeli.Text & "'", CONN) DR = CMD.ExecuteReader
DA = New OleDbDataAdapter("select TBLdetailBeli.Kode_barang as [Kode Barang],TblBarang.nama_Barang as [Nama Barang],Qty_beli as [Jml Beli] from tblpembelian,tbldetailbeli,tblbarang where
tbldetailbeli.faktur_beli=tblpembelian.faktur_beli and tbldetailbeli.kode_barang=tblbarang.kode_barang and
tbldetailbeli.faktur_beli= '" & cbofakturbeli.Text & "'", Conn)
UUSRUSMAWAN.C
M
DGV.Columns(1).Width = 200 DGV.Columns(2).Width = 75
DGV.Columns.Add("QTY", "Jml Retur") DGV.Columns.Add("Alasan", "Alasan") End Sub
End Class
3.15 Transaksi Penjualan
Transaksi penjualan hampir mirip dengan transaksi pembelian, perbedaannya adalah transaksi pembelian akan menambah jumlah barang sedangkan transaksi penjualan akan mengurangi jumlah barang. Bentuk form penjualan berikut codingnya yang dapat anda lihat pada bagian dibawah ini.
Proses dalam transaksi penjualan adalah sebagai berikut. 1. Pilih customer dalam combo
2. Pilih barang yang dijual dalam grid sebelah kanan 3. Jumlah jual dapat diedit sesuai kondisi
4. Isilah jumlah bayar
5. Jika jumlah bayar lebih kecil dari total harga, maka penjualannya dianggap secara kredit, kemudian isilah jumlah hari jatuh temponya
6. Jika pembayaran lebih besar sama dengan total harga, maka penjualan dianggap tunai 7. Setelah itu klik simpan
Adapun codingnya seperti terlihat pada listing program di bawah ini.
Imports System.Data.OleDb
Public Class TransaksiPenjualan
Sub NomorOtomatis()
CMD = New OleDbCommand("select * from tblPenjualan where
UUSRUSMAWAN.C
M
Format(Now, "yyMMdd") Thenlblnomrofaktur.Text = "FJ" + Format(Now, "yyMMdd") + "01"
Else
lblnomrofaktur.Text =
Microsoft.VisualBasic.Right(DR.Item("faktur_Jual"), 8) + 1
lblnomrofaktur.Text = "FJ" + lblnomrofaktur.Text
Private Sub TransaksiPenjualan_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
UUSRUSMAWAN.C
M
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
cbocustomer.SelectedIndexChanged
CMD = New OleDbCommand("select * from tblCustomer where NAMA_Customer='" & cbocustomer.Text & "'", CONN)
DR = CMD.ExecuteReader
DGV.Rows.Add(DGVBarang.Rows(e.RowIndex).Cells(0).Value, DGVBarang.Rows(e.RowIndex).Cells(1).Value,
DGVBarang.Rows(e.RowIndex).Cells(4).Value, 1) TextBox1.Clear()
UUSRUSMAWAN.C
M
Call Hitungtransaksi() Exit Sub
End If
Next
Next
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TextBox1.TextChanged
DA = New OleDbDataAdapter("select * from tblbarang where nama_barang like '%" & TextBox1.Text & "%' and stok>0", Conn) DS = New DataSet
DA.Fill(DS)
DGVBarang.DataSource = DS.Tables(0) DGVBarang.ReadOnly = True
DGVBarang.Columns(2).Visible = False
DGVBarang.Columns(3).Visible = False
DGVBarang.Columns(4).Visible = False
DGVBarang.Columns(5).Visible = False
DGVBarang.Columns(6).Visible = False
End Sub
Private Sub DGV_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles DGV.KeyPress On Error Resume Next
If e.KeyChar = Chr(27) Then
DGV.Rows.RemoveAt(DGV.CurrentCell.RowIndex) Call Hitungtransaksi()
End If
If e.KeyChar = Chr(13) Then
txtdibayar.Focus() End If
End Sub
End Class
UUSRUSMAWAN.C
M
3.16 Retur Penjualan
Setelah membuat form penjualan, langkah berikutnya adalah membuat form retur penjualan berikut codingnya yang dapat anda lihat pada bagian dibawah ini.
Proses dalam transaksi retur penjualan adalah sebagai berikut: 1. Pilih nomor faktur dalam combo
2. Isilah jumlah barang yang diretur (tidak lebih besar dari jumlah jual sebelumnya) 3. Isilah alasan retur barang tersebut
4. Klik simpan
Adapun coding retur penjualan dapat dilihat di bagian bawah.
Imports System.Data.OleDb
Public Class TransaksiReturPenjualan
Sub NomorOtomatis()
CMD = New OleDbCommand("select * from tblreturPenjualan where
No_Retur_Jual in(select max(No_retur_Jual) from tblreturPenjualan)", CONN)
DR = CMD.ExecuteReader DR.Read()
If Not DR.HasRows Then
lblnomorreturjual.Text = "RJ" + Format(Now, "yyMMdd") + "01"
Else
If Microsoft.VisualBasic.Mid(DR.Item("No_Retur_Jual"), 3, 6) <> Format(Now, "yyMMdd") Then
lblnomorreturjual.Text = "RJ" + Format(Now, "yyMMdd") +
"01"
Else
lblnomorreturjual.Text =
Microsoft.VisualBasic.Right(DR.Item("No_Retur_Jual"), 8) + 1
UUSRUSMAWAN.C
M
Private Sub TransaksiReturPenjualan_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
UUSRUSMAWAN.C
M
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
cbofakturjual.SelectedIndexChanged
CMD = New OleDbCommand("select * from tblPenjualan where faktur_Jual='" & cbofakturjual.Text & "'", CONN)
DR = CMD.ExecuteReader
cbofakturjual.Text & "'", CONN) DR = CMD.ExecuteReader
DA = New OleDbDataAdapter("select TBLdetailJual.Kode_barang as [Kode Barang],TblBarang.nama_Barang as [Nama Barang],Qty_Jual as Jumlah from tblPenjualan,tbldetailJual,tblbarang where
tbldetailJual.faktur_Jual=tblPenjualan.faktur_Jual and tbldetailJual.kode_barang=tblbarang.kode_barang and
tbldetailJual.faktur_Jual= '" & cbofakturjual.Text & "'", Conn)
UUSRUSMAWAN.C
M
DGV.Columns.Add("Alasan", "Alasan") End Sub
End Class
3.17 Bayar Utang
Setelah membuat form retur penjualan berikut codingnya, langkah berikutnya adalah membuat form pembayaran utang akibat pembelian secara kredit berikut codingnya yang dapat anda lihat pada bagian dibawah ini.
Proses dalam transaksi pembayaran utang adalah sebagai berikut: 1. Pilih nomor pembelian di bagian atas kanan dalam listbox 2. Isi jumlah pembayaran di bagian bawah sebelah kanan
3. Jika pembayaran langsung menekan enter berarti pembayaran akan langsung dilunasi dan nomor faktur yang bersangkutan akan hilang dari list setelah disimpan
4. Jika pembayaran lebih kecil dari sisa utang maka utang akan tersisa dan nomor faktur beli masih tampil dalam listbox
5. Klik simpan
Coding transaksi bayar utang dapat dilihat pada listing program di bawah ini.
Imports System.Data.OleDb
Public Class TransaksiBayarUtang
Sub NomorOtomatis()
CMD = New OleDbCommand("select * from tblbayarutang where
nomor_bayar in(select max(nomor_bayar) from tblbayarutang)", Conn)
DR = CMD.ExecuteReader DR.Read()
If Not DR.HasRows Then
lblnomor.Text = "BY" + Format(Now, "yyMMdd") + "01"
UUSRUSMAWAN.C
M
30
If Microsoft.VisualBasic.Mid(DR.Item("Nomor_bayar"), 3, 6) <> Format(Now, "yyMMdd") Then
lblnomor.Text = "BY" + Format(Now, "yyMMdd") + "01"
Else
lblnomor.Text =
Microsoft.VisualBasic.Right(DR.Item("Nomor_bayar"), 8) + 1 lblnomor.Text = "BY" + lblnomor.Text
Private Sub TransaksiBayarUtang_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
Call Koneksi()
Call TampilFakturUtang() Call NomorOtomatis() Call InfoUtang() End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
ListBox1.SelectedIndexChanged On Error Resume Next
CMD = New OleDbCommand("select * from tblpembelian where FAKTUR_BELI='" & ListBox1.Text & "'", Conn)
UUSRUSMAWAN.C
M
31
CMD = New OleDbCommand("select * from tblSUPPLIER where KODE_SUPPLIER='" & lblkodesupplier.Text & "'", Conn)
DR = CMD.ExecuteReader as [Harga],qty_beli as [Jumlah],subtotal_beli as [Total] from
tbldetailbeli,tblbarang where
tbldetailbeli.kode_barang=tblbarang.kode_barang and
UUSRUSMAWAN.C
M
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnbatal.Click Call Bersihkan()
End Sub
End Class
3.18 Terima Piutang
Langkah berikutnya adalah membuat form penerimaan piutang akibat penjualan secara kredit kepada customer berikut codingnya yang dapat anda lihat pada bagian dibawah ini.
Proses penerimaan piutang ini hampir sama dengan pembayaran utang, yaitu : 1. Piliha nomor faktur di dalam listbox sebelah kanan kanan atas 2. Kemudian isi jumlah penerimaannya
3. Jika jumlah penerimaan lebih kecil dari tagihan maka piutang akan menyisakan data dan nomor faktur masih tampil dalam listbox
4. Jika jumlah penerimaan lebih besar sama dengan tagihan maka piutang dinyatakan lunas dan nomor faktur akan hilang dari listbox
5. Klik simpan
Coding transaksi terima piutang dapat dilihat pada listing program di bawah ini.
Imports System.Data.OleDb
Public Class TransaksiTerimaPiutang
Sub NomorOtomatis()
CMD = New OleDbCommand("select * from TBLTerimaPiutang where
Nomor_Terima in(select max(Nomor_Terima) from TBLTerimaPiutang)", Conn)
DR = CMD.ExecuteReader DR.Read()
If Not DR.HasRows Then
lnlnomorterima.Text = "TR" + Format(Now, "yyMMdd") + "01"
UUSRUSMAWAN.C
M
33
If Microsoft.VisualBasic.Mid(DR.Item("Nomor_Terima"), 3, 6) <> Format(Now, "yyMMdd") Then
lnlnomorterima.Text = "TR" + Format(Now, "yyMMdd") + "01"
Else
lnlnomorterima.Text =
Microsoft.VisualBasic.Right(DR.Item("Nomor_Terima"), 8) + 1 lnlnomorterima.Text = "TR" + lnlnomorterima.Text
Private Sub TransaksiterimaPiutang_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
Call Koneksi()
Call TampilFakturPiutang() Call NomorOtomatis()
Call InfoPiutang() End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
ListBox1.SelectedIndexChanged
CMD = New OleDbCommand("select * from TBLpenjualan where Faktur_Jual='" & ListBox1.Text & "'", Conn)
UUSRUSMAWAN.C
M
34
CMD = New OleDbCommand("select * from tblCustomer where KODE_Customer='" & lblkodecustomer.Text & "'", Conn)
DR = CMD.ExecuteReader as [Harga],qty_Jual as [Jumlah],subtotal_Jual as [Total] from
tbldetailJual,tblbarang where
tbldetailJual.kode_barang=tblbarang.kode_barang and
UUSRUSMAWAN.C
M
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnbatal.Click Call Bersihkan()
End Sub
End Class
3.19 Laporan Master
Setelah selesai proses transaksi, selanjutnya adalah membuat laporan-laporan master. Laporan ini akan ditarik dari sebuah form dengan bentuk seperti gambar di bawah ini.
Laporan ini terdiri dari laporan data user, barang, perkiraan, supplier dan customer.
3.19.1 Laporan Data User
Laporan master user sebagai pemakai aplikasi terlihat pada gambar berikut ini.
Perhatikan bagian header, data ini diambil dari tabel profil perusahaan. jika isi tabel ini diubah maka seluruh laporan akan memiliki header yang sama. Listing programnya terlihat di bagian bawah berikut ini.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
UUSRUSMAWAN.C
M
Call seting_laporan() CRV.ReportSource = cryRpt CRV.RefreshReport()
End Sub
3.19.2 Laporan Data Barang
Laporan data barang yang dijadikan sumber transaksi jual beli dapat dilihat pada gambar di bawah ini.
listing programnya terlihat di bagian bawah berikut ini.
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BTNBarang.Click cryRpt.Load("master Barang.rpt") Call seting_laporan()
CRV.ReportSource = cryRpt CRV.RefreshReport()
End Sub
3.19.3 Laporan Data Perkiraan
UUSRUSMAWAN.C
M
listing programnya terlihat di bagian bawah berikut ini.
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BTNPerkiraan.Click cryRpt.Load("master perkiraan.rpt") Call seting_laporan()
CRV.ReportSource = cryRpt CRV.RefreshReport()
End Sub
3.20 Laporan Pembelian
Laporan transaksi pembelian dibagi menjadi beberapa kriteria, diantaranya laporan harian, mingguan, bulanan, laporan per faktur, laporan per status dan sejenisnya. Adapun gambar-gambarnya dapat dilihat pada tampilan dibawah ini.
UUSRUSMAWAN.C
M
Bentuk laporan harian transaksi pembelian barang dapat dilihat pada gambar di bawah ini.
Gambar 3.29 Laporan Pembelian Harian
Listing programnya terlihat di bagian bawah berikut ini.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BTNHarian.Click GroupBox4.Dock = DockStyle.Fill GroupBox4.Visible = True
GroupBox5.Visible = False
CRV.ReportSource = Nothing
CRV.SelectionFormula = "totext({tblpembelian.tgl_beli}) ='" & DTPHarian.Text & "'"
cryRpt.Load("pembelian umum.rpt") Call seting_laporan()
CRV.ReportSource = cryRpt CRV.RefreshReport()
End Sub
Coding diatas menjelaskan bahwa daam form laporan pembelian ini terdapat dua objek besar yaitu datagrid dan crystalreportviewer yang diatur kondisinya antara true dan false agar tampilan menjadi lebih proporsional.
3.20.2 Laporan Periodik
laporan periodik yang biasa disebut dengan laporan mingguan dapat dilihat bentunya pada gambar dibawah ini.
listing programnya terlihat di bagian bawah berikut ini.
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BTNPeriodik.Click GroupBox4.Dock = DockStyle.Fill GroupBox4.Visible = True
GroupBox5.Visible = False
UUSRUSMAWAN.C
M
CRV.SelectionFormula = "totext({tblpembelian.tgl_beli}) >='" & DTPAwal.Text & "' and totext({tblpembelian.tgl_beli}) <='" & DTPAkhir.Text & "'"
cryRpt.Load("pembelian umum.rpt") Call seting_laporan()
CRV.ReportSource = cryRpt CRV.RefreshReport()
End Sub
3.20.3 Laporan Bulanan
Laporan bulanan dalam transaksi pembelian barang juga dapat dilihat pada bentuk gambar berikut ini.
listing programnya terlihat di bagian bawah berikut ini.
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BTNBulanan.Click GroupBox4.Dock = DockStyle.Fill GroupBox4.Visible = True
GroupBox5.Visible = False
CRV.ReportSource = Nothing
CRV.SelectionFormula = "month({tblpembelian.tgl_beli}) = (" & Month(DTPBulanan.Value) & ") and year({tblpembelian.tgl_beli}) = (" & Year(DTPBulanan.Value) & ")"
cryRpt.Load("pembelian umum.rpt") Call seting_laporan()
CRV.ReportSource = cryRpt CRV.RefreshReport()
End Sub
Catatan :
Bentuk laporan harian, periodik dan bulanan hampir mirip karena transaksi dilakukan pada hari yang sama.
3.20.4 Laporan Per Nomor Faktur
UUSRUSMAWAN.C
M
listing programnya terlihat di bagian bawah berikut ini.
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
GroupBox4.Dock = DockStyle.Fill GroupBox4.Visible = True
GroupBox5.Visible = False
CRV.ReportSource = Nothing
CRV.SelectionFormula = "{tblpembelian.faktur_beli} = '" & ListBox1.Text & "'"
cryRpt.Load("pembelian per faktur.rpt") Call seting_laporan()
CRV.ReportSource = cryRpt CRV.RefreshReport()
End Sub
3.20.5 Laporan Per Supplier
laporan pembelian barang per nama supplier terlihat pada tampilan berikut ini.
listing programnya terlihat di bagian bawah berikut ini.
Private Sub ListBox2_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ListBox2.SelectedIndexChanged
UUSRUSMAWAN.C
M
GroupBox4.Visible = True
GroupBox5.Visible = False
CRV.ReportSource = Nothing
CRV.SelectionFormula = "{tblsupplier.nama_supplier} = '" & ListBox2.Text & "'"
cryRpt.Load("pembelian per supplier.rpt") Call seting_laporan()
CRV.ReportSource = cryRpt CRV.RefreshReport()
End Sub
3.20.6 Laporan Per Cara Pembelian
Laporan pembelian berdasarkan cara beli (tunai atau kredit) dapat dilihat pada gambar di bawah ini.
Listing programnya terlihat di bagian bawah berikut ini.
Private Sub ListBox3_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ListBox3.SelectedIndexChanged
GroupBox4.Dock = DockStyle.Fill GroupBox4.Visible = True
GroupBox5.Visible = False
CRV.ReportSource = Nothing
CRV.SelectionFormula = "{tblpembelian.cara_beli} = '" & ListBox3.Text & "'"
cryRpt.Load("pembelian umum.rpt") Call seting_laporan()
CRV.ReportSource = cryRpt CRV.RefreshReport()
End Sub
3.20.7 Laporan Per Status Pembelian
laporan pembelian per status (lunas atau belum lunas) terlihat pada gambar berikut ini.
UUSRUSMAWAN.C
M
42
Private Sub ListBox4_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ListBox4.SelectedIndexChanged
GroupBox4.Dock = DockStyle.Fill
3.20.8 Export Data Pembelian Ke Excel
Transaksi pembelian ini dapat diexport ke bentuk excel, codingnya dapat dilihat di bagian bawah.
Imports System.Data.OleDb
Imports Excel = Microsoft.Office.Interop.Excel
Imports System.IO.Directory
Imports Microsoft.Office.Interop
Public Class LaporanPembelian
Dim NamaFileAccess As String = "tblpembelian" Dim NamaFileExcel As String
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TXTExport.KeyPress If e.KeyChar = Chr(13) Then
Try
CMD = New OleDbCommand("SELECT * INTO [Excel 8.0;DATABASE="
& TXTExport.Text & ".xls;].[" & TXTExport.Text & "] from [" & NamaFileAccess & "]", Conn)
CMD.ExecuteNonQuery()
NamaFileExcel = Application.StartupPath + "\" + TXTExport.Text + ".xls"
If MessageBox.Show("Konversi ke excel sukses, Buka file
hasil konversi", "", MessageBoxButtons.YesNo) =
Windows.Forms.DialogResult.Yes Then
& pesan & ".xls;].[" & NamaFileAccess & "] from [" & NamaFileAccess & "]", Conn)
CMD.ExecuteNonQuery()
If MessageBox.Show("Konversi ke excel sukses, Buka file
hasil konversi", "", MessageBoxButtons.YesNo) =
UUSRUSMAWAN.C
M
End If
End Sub
3.21 Laporan Retur Pembelian
Laporan transaksi retur pembelian dikelompokan menjadi beberapa kriteria seperti laporan pembelian antara lain :
1. Laporan harian 2. Laporan periodik 3. Laporan bulanan
4. Laporan per nomor faktur 5. Laporan per supplier
6. Dan laporan berupa data excel hasil export
Semua laporan yang disebutkan diatas dapat dilihat dalam aplikasi.
3.22 Laporan Penjualan
Laporan transaksi penjualan ditampilkan melalui menu yang dapat dilihat pada gambar di bawah ini.
Laporan penjualan terdiri dari beberapa kriteria antara lain, laporan harian, mingguan, bulanan, per nomor faktur, per customer dan lain-lain.
3.22.1 Laporan Penjualan Harian
Laporan transaksi penjualan harian dapat dilihat pada gambar di bawah ini.
UUSRUSMAWAN.C
M
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BTNHarian.Click GroupBox4.Dock = DockStyle.Fill GroupBox4.Visible = True
GroupBox5.Visible = False
CRV.ReportSource = Nothing
CRV.SelectionFormula = "totext({tblPenjualan.tgl_Jual}) ='" & DTPHarian.Text & "'"
cryRpt.Load("Penjualan umum.rpt") Call seting_laporan()
CRV.ReportSource = cryRpt CRV.RefreshReport()
End Sub
3.22.2 Laporan Penjualan Periodik
Laporan transaksi penjualan periodik dapat dilihat pada gambar di bawah ini.
listing programnya terlihat di bagian bawah berikut ini.
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BTNPeriodik.Click GroupBox4.Dock = DockStyle.Fill GroupBox4.Visible = True
GroupBox5.Visible = False
CRV.ReportSource = Nothing
CRV.SelectionFormula = "totext({tblPenjualan.tgl_Jual}) >='" & DTPAwal.Text & "' and totext({tblPenjualan.tgl_Jual}) <='" & DTPAkhir .Text & "'"
cryRpt.Load("Penjualan umum.rpt") Call seting_laporan()
CRV.ReportSource = cryRpt CRV.RefreshReport()
End Sub
3.22.3 Laporan Penjualan Bulanan
UUSRUSMAWAN.C
M
listing programnya terlihat di bagian bawah berikut ini.
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BTNBulanan.Click GroupBox4.Dock = DockStyle.Fill GroupBox4.Visible = True
GroupBox5.Visible = False
CRV.ReportSource = Nothing
CRV.SelectionFormula = "month({tblPenjualan.tgl_Jual}) = (" & Month(DTPBulanan.Text) & ") and year({tblPenjualan.tgl_Jual}) = (" & Year(DTPBulanan.Text) & ")"
cryRpt.Load("Penjualan umum.rpt") Call seting_laporan()
CRV.ReportSource = cryRpt CRV.RefreshReport()
End Sub
3.22.4 Laporan Penjualan Per Nomor Faktur
Laporan transaksi penjualan per nomor faktur dapat dilihat pada gambar di bawah ini.
listing programnya terlihat di bagian bawah berikut ini.
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
GroupBox4.Dock = DockStyle.Fill GroupBox4.Visible = True
GroupBox5.Visible = False
CRV.ReportSource = Nothing
CRV.SelectionFormula = "{tblPenjualan.faktur_Jual} = '" & ListBox1.Text & "'"
cryRpt.Load("Penjualan per faktur.rpt") Call seting_laporan()
CRV.ReportSource = cryRpt CRV.RefreshReport()
End Sub
3.22.5 Laporan Penjualan Per Customer
UUSRUSMAWAN.C
M
Listing programnya terlihat di bagian bawah berikut ini.
Private Sub ListBox2_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ListBox2.SelectedIndexChanged
GroupBox4.Dock = DockStyle.Fill GroupBox4.Visible = True
GroupBox5.Visible = False
CRV.ReportSource = Nothing
CRV.SelectionFormula = "{tblCustomer.nama_Customer} = '" & ListBox2.Text & "'"
cryRpt.Load("Penjualan per Customer.rpt") Call seting_laporan()
CRV.ReportSource = cryRpt CRV.RefreshReport()
End Sub
3.22.6 Laporan Per Cara Penjualan
Laporan transaksi penjualan berdasarkan cara penjualan dapat dilihat pada gambar di bawah ini.
listing programnya terlihat di bagian bawah berikut ini.
Private Sub ListBox3_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ListBox3.SelectedIndexChanged
GroupBox4.Dock = DockStyle.Fill GroupBox4.Visible = True
GroupBox5.Visible = False
CRV.ReportSource = Nothing
CRV.SelectionFormula = "{tblPenjualan.cara_Jual} = '" & ListBox3.Text & "'"
cryRpt.Load("Penjualan umum.rpt") Call seting_laporan()
UUSRUSMAWAN.C
M
CRV.RefreshReport() End Sub
3.22.7 Laporan Penjualan Per Status
Laporan transaksi penjualan berdasarkan status dapat dilihat pada gambar di bawah ini.
Listing programnya terlihat di bagian bawah berikut ini.
Private Sub ListBox4_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
ListBox4.SelectedIndexChanged
GroupBox4.Dock = DockStyle.Fill GroupBox4.Visible = True
GroupBox5.Visible = False
CRV.ReportSource = Nothing
CRV.SelectionFormula = "{tblPenjualan.status_Jual} = '" & ListBox4.Text & "'"
cryRpt.Load("Penjualan umum.rpt") Call seting_laporan()
CRV.ReportSource = cryRpt CRV.RefreshReport()
End Sub
3.22.8 Export Data Ke Excel
Pembuatan laporan berbentuk excel hasil konversi diawali dengan menambah beberapa namespace berikut ini.
Imports Excel = Microsoft.Office.Interop.Excel
Imports System.IO.Directory
Imports Microsoft.Office.Interop
Public Class LaporanPenjualan
Dim NamaFileAccess As String = "tblpenjualan" Dim NamaFileExcel As String
...
Kemudian buatlah coding dibawah ini.
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TXTExport.KeyPress If e.KeyChar = Chr(13) Then
UUSRUSMAWAN.C
M
48
CMD = New OleDbCommand("SELECT * INTO [Excel 8.0;DATABASE="
& TXTExport.Text & ".xls;].[" & TXTExport.Text & "] from [" & NamaFileAccess & "]", Conn)
CMD.ExecuteNonQuery()
NamaFileExcel = Application.StartupPath + "\" + TXTExport.Text + ".xls"
If MessageBox.Show("Konversi ke excel sukses, Buka file
hasil konversi", "", MessageBoxButtons.YesNo) =
Windows.Forms.DialogResult.Yes Then
& pesan & ".xls;].[" & NamaFileAccess & "] from [" & NamaFileAccess & "]", Conn)
CMD.ExecuteNonQuery()
If MessageBox.Show("Konversi ke excel sukses, Buka file
hasil konversi", "", MessageBoxButtons.YesNo) =
Windows.Forms.DialogResult.Yes Then
Laporan transaksi retur penjualan dikelompokan menjadi beberapa kriteria seperti laporan retur pembelian antara lain :
6. Dan laporan berupa data excel hasil export
Semua laporan yang disebutkan diatas dapat dilihat dalam aplikasi.
3.24 Laporan Keuangan
UUSRUSMAWAN.C
M
3.24.1 Laporan Jurnal Harian
Laporan transaksi harian dapat anda lihat pada gambar di bawah ini.
Listing programnya dapat anda lihat di bagian bawah ini.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
CRV.SelectionFormula = "totext({tbljurnal.tgl_Transaksi}) ='" & DTPHarian.Text & "'"
cryRpt.Load("jurnal umum.rpt") Call seting_laporan()
CRV.ReportSource = cryRpt CRV.RefreshReport()
End Sub
3.24.2 Laporan Jurnal Bulanan
UUSRUSMAWAN.C
M
Listing programnya dapat anda lihat di bagian bawah ini.
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
CRV.SelectionFormula = "month({tbljurnal.tgl_transaksi}) = (" & Month(DTPBulanan.Text) & ") and year({tbljurnal.tgl_transaksi}) = (" & Year(DTPBulanan.Text) & ")"
cryRpt.Load("jurnal umum.rpt") Call seting_laporan()
CRV.ReportSource = cryRpt CRV.RefreshReport()
End Sub
3.24.3 Laporan Buku Besar
Bentuk laporan buku besar terlohat pada gambar di bawah ini.
Listing programnya dapat anda lihat di bagian bawah ini.
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object,
UUSRUSMAWAN.C
M
CRV.SelectionFormula = "{TBLPERKIRAAN.NAMA_PERKIRAAN} = '" & ListBox1.Text & "'"
cryRpt.Load("BUKU BESAR.rpt") Call seting_laporan()
CRV.ReportSource = cryRpt CRV.RefreshReport()
End Sub
3.24.4 Laporan Neraca Saldo
Laporan neraca saldo dari semua transaksi dapat dilihat pada gambar di bawah ini.
Listing programnya dapat anda lihat di bagian bawah ini.
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
CRV.SelectionFormula = "month({tbljurnal.tgl_transaksi}) = (" & Month(DTPBulanan.Text) & ") and year({tbljurnal.tgl_transaksi}) = (" & Year(DTPBulanan.Text) & ")"
cryRpt.Load("NECARA SALDO.rpt") Call seting_laporan()
CRV.ReportSource = cryRpt CRV.RefreshReport()