Membuat Project Baru APLIKASI PENJUALAN - VB.Net Peminat silakan hubungi : Email : uusrusmawan71@gmail.com Facebook : konsultasivb@ymail.com (Uus Rusmawan) Phone : 0812 8438 1118 Tahapan pertama dalam pembuatan aplikasi Penjualan barang ini adalah membuat project baru dengan langkah sebagai berikut: 1. Buka visual studio 2008 2. Klik create project Memberi Nama Project Setelah membuat project baru dan menyimpannya di posisi tertentu, maka akan terbentuk folder project secara otomatis yang di dalamnya terdapat folder... >> BIN>> DEBUG. Folder inilah yang akan dijadikan tempat menyimpan database. Membuat Database Dan Tabel Langkah selanjutnya adalah membuat database yang pada umumnya dilakukan dengan cara sebagai berikut: 1
Bentuk Relasi Tabel Bentuk relasi tabel dapat dilihat pada ilustrasi di bawah ini. Gambar ini diambil dari hasil relasi pada crystal report. 2
Membuat Module Koneksi Database Relasi tabel Membuat module Imports System.Data.OleDb Imports CrystalDecisions.CrystalReports.Engine Imports CrystalDecisions.Shared Module Module1 'mendefinisikan variabel untuk koneksi dan query Public Conn As OleDbConnection Public DA As OleDbDataAdapter 3
Public DS As DataSet Public CMD As OleDbCommand Public DR As OleDbDataReader 'mendefinisikan variabel agar laporan dapat dipanggil dengan aman tanpa peduli posisi folder 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 & "\database.mdb").databasename = (Application.StartupPath.ToString & "\database.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 Public Sub Koneksi() Try 'string koneksi untuk database access 2003 Conn = New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=database.mdb") Conn.Open() Catch ex As Exception MsgBox(ex.Message) End End Try End Sub End Module 4
jika penulisan coding anda mengalami error, maka anda harus tambahkan references dengan cara sebagai berkut : 1. Klik menu project >> Pilih add reference 2. Pilih crystalldecisions.crystalreport.engine >> ok 3. Lakukan hal yang sama untuk crystalldecisions.share >> ok Menambah reference Form login Logika program dalam form login adalah sebagai berikut : 1. Setelah mengisi nama user lalu menekan enter maka kursor pindah ke password 2. Setelah mengisi password lalu menekan enter maka kursor pindah ke button Login 3. Pada saat Login di klik maka cari nama user dan password di tabel user 5
4. Jika data tidak ditemukan maka munculkan pesan password salah 5. Jika data ditemukan, maka form login disembunyikan dan menu utama ditampilkan 6. Pada Menu utama panel1 tampilkan kode user, di panel2 tampilkan nama user, di panel3 tampilkan status user 7. jika panel3 di menu utama statusnya USER atau OPERATOR, maka matikan menu user Catatan : Sebelumnya menu utama harus dibuat terlebih dahulu dengan menambahkan MenuStrip dan StatusStrip. Pembahasan tentang hal dapat dilihat dalam video tutorial. Form User Form menu utama Logika dan proses program dalam form User adalah sebagai berikut : 6
1. kode user dibuat secara otomatis dengan pola USR01 dan seterusnya 2. Anda cukup mengetik nama user, password dan memilih statusnya 3. Pada saat button simpan di klik maka, program akan mencari kode tersebut ke dalam tabel user 4. Jika kodenya tidak ada maka data tersebut akan disimpan sebagai data baru (proses Insert) 5. Jika kode tersebut ada maka data tersebut akan diedit (proses update) 6. Proses edit dan hapus cukup dengan memilih data user dalam grid maka data akan masuk ke masing-masing textbox atau combo, kemudian lakukan proses edit atau hapus sesuai kebutuhan. Form Barang Form user Logika dan proses program dalam form barang adalah sebagai berikut : 1. Kode barang dibuat secara otomatis dengan pola B0001 dan seterusnya 2. Anda cukup mengetik nama barang, satuan dan seterusnya 3. Pada saat button simpan di klik maka, program akan mencari kode tersebut ke dalam tabel barang 4. Jika kodenya tidak ada maka data tersebut akan disimpan sebagai data baru (proses Insert) 5. Jika kode tersebut ada maka data tersebut akan diedit (proses update) 7
6. Proses edit dan hapus cukup dengan memilih data user dalam grid maka data akan masuk ke masing-masing textbox atau combo, kemudian lakukan proses edit atau hapus sesuai kebutuhan. Form customer Form Barang Proses program dalam pengolahan data customer sama dengan data user dan barang 8
Form Profil Perusahaan Form customer Tujuan dibuatnya form perusahaan ini adalah agar header dalam laporan dapat secara dinamis berubah sesuai dengan isi data dalam tabel tersebut. 9
Transaksi Penjualan Form profil perusahaan Logika dan proses program dalam transaksi Penjualan adalah sebagai berikut : 1. Nomor Penjualan tampil secara otomatis dengan pola F0001 2. Tanggal diambil dari sistem komputer 3. Customer dipilih dari listbox di kanan atas 4. Kode barang dipilih dari listbox di kanan. Jika data barang sudah terlalu banyak maka silakan ketik nama barang di kotak cari barang, maka data barang akan difilter 5. Jumlah barang diisi secara manual dan akan menghasilkan jumlah total di sebelah kanannya 6. Secara otomatis jumlah barang, grand total dan ppn tampil setelah mengisi jumlah barang dalam grid 7. Diskon dilakukan secara manual dalam bentuk jumlah nominal uang dan secara otomatis mempengaruhi total harga 8. Pembayaran dilakukan secara manual dan menghasilkan jumlah kembali Imports System.Data.OleDb Form transaksi Penjualan 10
Public Class TransaksiPenjualan Private Sub TransaksiPenjualan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call Koneksi() Call Bersihkan() Call FakturOtomatis() Label4.Text = Today 'menampilkan kode dan nama Customer dalam listbox1 CMD = New OleDbCommand("select * from tblcustomer", Conn) DR = CMD.ExecuteReader ListBox1.Items.Clear() Do While DR.Read ListBox1.Items.Add(DR.Item(0) & Space(2) & DR.Item(1)) Loop 'menampilkan kode dan nama barang dalam listbox2 CMD = New OleDbCommand("select * from tblbarang", Conn) DR = CMD.ExecuteReader ListBox2.Items.Clear() Do While DR.Read ListBox2.Items.Add(DR.Item(0) & Space(2) & DR.Item(1)) Loop End Sub Private Sub DGV_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles DGV.KeyPress On Error Resume Next 'jika menekan escape maka hapus data di baris tersebut If e.keychar = Chr(27) Then DGV.Rows.RemoveAt(DGV.CurrentCell.RowIndex) Call Hitungtransaksi() End If 'jika menekan enter maka pindahkan kursor ke pembayaran If e.keychar = Chr(13) Then TextBox1.Focus() End If 11
End Sub Sub Bersihkan() DGV.Rows.Clear() Label6.Text = 0 Label8.Text = 0 Label10.Text = 0 Label15.Text = 0 Label16.Text = 0 TextBox1.Text = 0 TextBox2.Text = 0 TextBox3.Clear() End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Me.Close() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Call Bersihkan() End Sub Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress 'hanya boleh diisi data angka 0-9 If Not ((e.keychar >= "0" And e.keychar <= "9") Or e.keychar = vbback) Then e.handled = True If e.keychar = Chr(13) Then Label15.Text = Val(Microsoft.VisualBasic.Str(Label8.Text)) + Val(Microsoft.VisualBasic.Str(Label10.Text)) Label15.Text = FormatNumber(Label15.Text, 0) TextBox1.Text = FormatNumber(TextBox1.Text, 0) Label15.Text = Val(Microsoft.VisualBasic.Str(Label15.Text)) - Val(Microsoft.VisualBasic.Str(TextBox1.Text)) Label15.Text = FormatNumber(Label15.Text, 0) TextBox2.Focus() End If 12
End Sub End Class Laporan Master Tahapan pembuatan laporan dengan crystal report telah dibahas pada bab sebelumnya, untuk itu silakan dipelajari kembali. Laporan Data User Langkah langkah pembuatan laporan data user dpat anda lihat pada video tutorial dalam buku ini. Sebelum memanggil laporan data user buatlah sebuah form yang terdiri dari empat buah button dan satu buah Crystal Report Viewer. adapun bentuk laporan data user terlihat pada gambar di bawah ini. Laporan data user Cara memanggil laporan data user dilakukan dengan membuat coding berikut ini. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click cryrpt.load("laporan User.rpt") Call seting_laporan() 13
CRV.ReportSource = cryrpt CRV.RefreshReport() End Sub Laporan Data Barang Langkah langkah pembuatan laporan data barang dpat anda lihat pada video tutorial dalam buku ini. Adapun bentuk laporan data barang terlihat pada gambar di bawah ini. Laporan data barang Untuk memaanggil laporan data barang diakukan dengan membuat coding berikut ini. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click cryrpt.load("laporan BARANG.rpt") Call seting_laporan() CRV.ReportSource = cryrpt CRV.RefreshReport() End Sub Laporan Penjualan Tahapan pembuatan laporan dimulai dengan mendesain bentuk-bentuk laporan yang diperlukan, silakan gunakan Ms. Word atau Ms. Excel sebagai model awalnya atau bahkan dengan coretan 14
tangan pada lembaran kertas kosong, kemudian masing-masing laporan tersebut diprediksi tabel apa yang terlibat di dalamnya. Setelah desain selesai dan prediksi tabel-tabel yang diperlukan diketahui, maka mulailah membuat laporan dengan Crystal report. 15
16
17
18
19
20