dokumen-dokumen yang mirip
















Gratis Tutorial Pemograman Visual Basic MEMBUAT CRUD VISUAL BASIC.NET DATABASE MYSQL


PEMROGRAMAN VB.NET. Koneksi Ke Database


Cara Koneksi Database

Source Code Test Program Dengan VB Net

2. MySql (menggunakan namespace ODBC atau mysql client) Command + DataReader. Textbox Label Combobox Listbox. Cara mengambil dan menampilkan database

BAB IV IMPLEMENTASI DAN PENGUJIAN

PENDAHULUAN. A. Membuat Database dalam SQL SERVER. 1. Klik Kanan pada databases lalu pilih new database

Berikut. langkahnya: Pastikan. anda sudah. - Klik File. Berikut. - Save All

Budi permana, S.Kom

P11 & 12 Operasi DML pada Form Aplikasi (Project Aplikasi Rumah Sakit)

Program Database Penjualan Barang


BAB II MICROSOFT VISUAL STUDIO

PEMROGRAMAN VB.NET. Sintaks Pada Class


BAB IV IMPLEMENTASI DAN PENGUJIAN



Sistem Informasi Penggajian Karyawan Berbasis Desktop


Modul x login dan Periode


Disini kita akan bahas cara koneksi antara Database MySQL dengan VB.Net 2010, semoga dengan ini E-book ini bisa ingat sepanjang jaman ya ^ ^

HOW TO CALL A REPORT IN VB.NET

SISTEM INFORMASI AKUNTANSI PERSEDIAAN BARANG DENGAN MENGGUNAKAN METODE FIFO PADA PT.WINDU PERSADA CARGO


transaksi yang ingin dilihat detailnya.








Materi Pemrograman Database 1 Didik Nugroho,S.Kom,M.kom MODUL III MEMBUAT FORM MENYIMPAN PROSES PEMBELIAN



BAB IV IMPLEMENTASI DAN PENGUJIAN


KONEKSI DATABASE SQL DENGAN VB.NET

Coding : Coding : Oleh : Uus Rusmawan Hal - 1


PENGKODEAN AKSES FORM SISTEM USER

Cara Mengambil Nama Bulan Dari Database

Aplikasi Login Dengan Database dan Tanpa Database Pada Visual Basic 2010



BAB IV IMPLEMENTASI DAN PENGUJIAN. Dalam pembuatan program ini penulis menggunakan Visual Basic. Net

MEMBUAT MENU BANTU

BAB IV IMPLEMENTASI DAN TESTING

MENGOLAH DATABASE SQL SERVER

PEMROGRAMAN TERSTRUKTUR II



BAB VIII PENGENALAN DATABASE




Memanggil Faktur Terakhir Buka file laporan Klik kanan field Faktur Pilih select expert Klik show formula Klik group selection

Aplikasi CRUD dengan Visual Basic 2012 [APLIKASI CRUD DENGAN VISUAL BASIC 2012 & MYSQL] September 18, & MySQL. Bahtiar Imran

BAB IV IMPLEMENTASI DAN EVALUASI. mempersiapkan kebutuhan system (baik hardware maupun software), persiapan


Sistem Informasi Pendistribusian Penjualan Velg

Irvan Lewenusa

Budi Permana, S.Kom Pendahuluan. Lisensi Dokumen:

KONVERSI DATABASE ACCESS KE SQL SERVER


Membuka file PDF dengan VB



KONVERSI DATABASE SQL SERVER KE

PEMROGRAMAN INPUT JURNAL TRANSAKSI

PEMROGRAMAN VISUAL BASIC

Bab 4 Hasil dan Pembahasan


Database Access untuk Multi User




Oleh : Uus Rusmawan Hal - 1 -


Transkripsi:

Tools VB.Net 2005-2008, Database Access, Sql Server 2005 Crystal Report 8.5 Harga khusus untuk pembelajaran Rp. 150.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 : konsultasivb@ymail.com) Peminat Hub Email : uusrusmawan71@gmail.com APLIKASI PEMBAYARAN SPP 5.1 Membuat Database Dengan Sql Server 2005 Express 1

5.2 Membuat Tabel 2

3

5.3 Membuat Project Baru 5.3.1 Memberi Nama Project 4

5.3.2 Membuat Module 5.4 Form Login 5.5 Form Menu Utama 5

5.6 Form User 6

5.7 Form Siswa 5.8 Form Guru 7

5.9 Form Wali Kelas 5.10 Transaksi Pembayaran SPP 8

9

5.11 Laporan SPP Perorangan 5.11.1 Laporan SPP Per Nomor 5.11.2 Laporan SPP Per Tanggal 5.11.3 Laporan SPP Yang Sudah Dibayar 10

5.11.4 Laporan SPP Yang Belum Dibayar 5.11.5 Laporan Seluruh Data SPP 11

5.12 Laporan Data Master 5.12.1 Laporan Data User 12

5.12.3 Laporan Data Wali Kelas 13

14

5.13.1 Laporan Siswa Per Kelas 5.13.2 Laporan Data Siswa Per Tahun Ajaran 15

5.13.3 Mencari Nama Siswa Dalam Laporan 5.14 Laporan Pembayaran SPP Secara Umum 5.14.1 Laporan Per Tanggal 5.14.2 Laporan Per Bulan Dan Tahun 16

5.14.3 Laporan Pembayaran SPP Per Kelas APLIKASI PEMESANAN DAN PENGIRIMAN BARANG 6.1 Membuat Database 17

6.2 Membuat Tabel 18

19

6.3 Membuat Project Baru 6.3.1 Memberi Nama Project 20

6.3.2 Membuat Module Setelah project terbuka, buatlah module dengan cara sebagai berikut: 1. Klik menu project 2. Pilih add module 3. Klik add 4. Lalu ketik koding berikut ini Imports System.Data.SqlClient Module Module1 Public CONN As SqlConnection Public DA As SqlDataAdapter Public DS As New DataSet Public CMD As SqlCommand Public DR As SqlDataReader Public STR As String Sub Koneksi() STR = "data source=user-pc\sqlexpress;initial catalog=dbpemesanan;integrated security =true" CONN = New SqlConnection(STR) If CONN.State = ConnectionState.Closed Then CONN.Open() End If End Sub End Module 21

6.4 Form login 6.5 Form Menu Utama 6.6 Form User 22

6.7 Form Barang 6.8 Form Customer 23

6.9 Form Kurir 6.10 Form Pemesanan Barang Sebelum membahas lebih jauh tentang pemesanan barang, sebaiknya kita pahami proses bisnisnya. 1. Customer memesan barang (cara pembayaran boleh cash atau dengan uang muka) 2. Jumlah barang yang tidak tersedia akan diberi catatan Barang Kurang sekian 3. Setelah proses entri pesanan, langsung cetak faktur pesanan agar petugas mencari (menyiapkan barang) yang dipesan di gudang 24

4. Setelah semua barang pesanan disiapkan, lanjutkan ke proses pengiriman oleh kurir 5. Pemesanan yang dilakukan dengan DP, akan diminta pelunasan oleh kurir saat barang dikirimkan (catatannya tercantum dalam faktur pengiriman barang) 6. Setelah kurir mengirimkan barang ke customer, kurir kembali lagi ke toko (gudang) untuk validasi pengiriman sekaligus update status pemesanan menjadi SUDAH DITERIMA CUSTOMER 7. Proses update inipun terjadi pada kolom status pembayaran dan sisa 25

6.11 Form Pengiriman Barang Proses transaksi dalam form pengiriman barang adalah sebagai berikut : 1. Nomor pengiriman muncul secara otomatis dengan pola KRyyMMdd + 01 2. Pilih tanggal pengiriman 3. Pilih nomor pesanan 4. Pilih kurir 5. Klik simpan 26

6.12 Form Laporan Pegiriman Oleh Kurir 6.13 Laporan Data Master 6.13.1 Laporan Data User 27

6.13.2 Laporan Data Customer 6.13.3 Laporan Data Kurir 28

6.13.4 Laporan Data Barang 6.14 Laporan Pemesanan Barang 29

6.15 Laporan Pengiriman Barang 6.15.1 Laporan Harian Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click CRV.ReportSource = Nothing CRV.RefreshReport() CRV.SelectionFormula = "totext({tblkiriman.tgl_kiriman})='" & DateTimePicker1.Text & "'" CRV.ReportSource = "master kiriman.rpt" End Sub 30

6.15.2 Laporan Periodik Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click CRV.ReportSource = Nothing CRV.RefreshReport() CRV.SelectionFormula = "({tblkiriman.tgl_kiriman}) in date ('" & DateTimePicker2.Text & "') to date ('" & DateTimePicker3.Text & "') " CRV.ReportSource = "master kiriman.rpt" End Sub 6.15.3 Laporan Bulanan Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click CRV.ReportSource = Nothing CRV.RefreshReport() CRV.SelectionFormula = "month({tblkiriman.tgl_kiriman})=(" & Month(DateTimePicker4.Text) & ") and year({tblkiriman.tgl_kiriman}) =(" & Year(DateTimePicker4.Text) & ") " CRV.ReportSource = "master kiriman.rpt" End Sub 6.15.4 Laporan Status Pengiriman Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged CRV.ReportSource = Nothing CRV.RefreshReport() CRV.SelectionFormula = "({tblpesanan.status_pesanan})='" & ListBox1.Text & "'" CRV.ReportSource = "master kiriman.rpt" End Sub 6.15.5 Laporan Status Pembayaran Private Sub ListBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox2.SelectedIndexChanged 31

CRV.ReportSource = Nothing CRV.RefreshReport() CRV.SelectionFormula = "({tblpesanan.status_pembayaran})='" & ListBox2.Text & "'" CRV.ReportSource = "master kiriman.rpt" End Sub APLIKASI PERSEDIAAN BARANG 7.1 Membuat Database 7.2 Membuat Tabel 32

33

7.3 Membuat Project Baru 7.4 Membuat Module Koneksi Setelah project terbuka, buatlah module dengan cara sebagai berikut: 5. Klik menu project 6. Pilih add module 7. Klik add 8. Lalu ketik koding berikut ini Imports System.data.sqlclient 34

Module Module1 Public CONN As sqlconnection Public DA As sqldataadapter Public DS As DataSet Public CMD As sqlcommand Public DR As sqldatareader Public Sub Koneksi() Try String koneksi ke database CONN = New SqlConnection("data source=userpc\sqlexpress;initial catalog=dbpersediaan;integrated security=true") CONN.Open() Catch ex As Exception MsgBox(ex.Message) End End Try End Sub End Module 7.5 Form Login 7.6 Form Menu Utama 35

7.7 Form User Dalam hal ini user adalah orang yang melakukan semua proses transaksi, posisinya terletak di gudang. Logika program dalam form User adalah sebagai berikut : 1. Ketik kode user, maka program akan mencari kode tersebut ke tabel user 2. Jika kodenya ditemukan maka akan tampil nama, password dan status di masing-masing textbox 3. Jika kode user tidak ada maka akan dianggap sebagai data baru 4. Pada saat button simpan di klik maka, program akan mencari kode tersebut ke dalam tabel user 5. Jika kodenya tidak ada maka data tersebut akan disimpan sebagai data baru 6. Jika kode tersebut ada maka data tersebut akan diedit. 36

7.8 Form Departemen 7.9 Form Barang 37

7.10 Form Supplier 7.11 Form Permintaan Barang Proses transaksi permintaan barang adalah sebagai berikut : 38

1. Mengisi nomor permintaan dari departemen atau dari customer 2. Memilih tanggal permintaan 3. Memilih departemen atau customer 4. Mengisi kode barang di kolom kode atau memilihnya dari daftar barang di sebelah kanan 5. Mengisi jumlah permintaan 6. Menyimpan data permintaan barang 7.12 Form Pengeluaran Barang Proses dalam transaksi pengeluaran barang adalah sebagai berikut: 1. Memilih tanggal pengeluaran 2. Memilih nomor permintaan 3. Menyimpan data pengeluaran barang 39

7.13 Form Penerimaan Barang Proses penerimaan barang dilakukan dengan cara sebagai berikut : 1. Mengisi nomor nota dari supplier 2. Memilih tangal penerimaan 3. Memilih supplier dalam combo 4. Memilih data barang dalam grid dan mengisi jumlah penerimaannya. 40

7.14 Laporan Permintaan Barang 41

42

7.15 Laporan Pengeluaran Barang Laporan pengeluaran barang terdiri dari laporan harian, mingguan, bulanan, per departemen dan laporan berbentuk grafik. 43

44

7.16 Laporan Penerimaan Barang Laporan penerimaan barang terdiri dari laporan harian, mingguan, bulanan, laporan per supplier dan laporan-laporan berbentuk grafik. 45

46

7.17 Laporan Rencana Order Barang Laporan rencana order barang ini terbentuk berdasarkan permintaan dari beberapa departemen terhadap barang-barang tertentu yang pada saat itu stoknya tidak terpenuhi. 3.1 Membuat Project Baru Tahapan pertama dalam pembuatan aplikasi pembelian barang ini adalah membuat project baru dengan langkah sebagai berikut: 1. Buka visual studio 2008 2. Klik create project 47

Gambar 3.1 Memulai vb.net Gambar 3.2 Membuat project baru 3.2 Memberi Nama Project Gambar 3.3 Memberi nama project 48

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. 3.3 Membuat Database Dan Tabel Langkah selanjutnya adalah membuat database yang pada umumnya dilakukan dengan cara sebagai berikut: 1. Buka database access 2003. Jika anda menginstal beberapa versi office, misalnya office 2003 dan office 2007, maka tampilan mungkin akan mengikuti versi office 2007 2. Buatlah sebuah database yang baru kemudian tulis nama database dan simpan di posisi DEBUG project anda 3. Kemudian buatlah tabel barang dengan cara klik menu Create >> Table >> Klik kanan table1 >> Design View dan tulis nama tabel Gambar 3.4 Menyimpan tabel barang 4. Selanjutnya buatlah beberapa tabel dengan struktur berikut ini : Gambar 3.5 Tabel barang Dalam tabel barang, type data number hanya digunakan pada field harga (long integer) dan stok (integer) Gambar 3.6 Tabel user 49

Pada tabel user semua field dibuat dengan menggunakan type text karena tidak ada satupun data yang akan dibuat sebagai perhitungan matematika. Gambar 3.7 Tabel supplier Pada tabel supplier semua field dibuat dengan menggunakan type text karena tidak ada satupun data yang akan dibuat sebagai perhitungan matematika. Hal ini sama seperti pada tabel user Gambar 3.8 Tabel perusahaan Pada tabel perusahaan semua field dibuat dengan menggunakan type text karena tidak ada satupun data yang akan dibuat sebagai perhitungan matematika. Gambar 3.9 Tabel pembelian Catatan utama dalam pembuatan struktur tabel adalah jika data tidak akan digunakan dalam bentuk hitungan, penjumlahan, pengurangan, perkalian dan sebagainya, maka gunakan type data text, sebaliknya gunakan type data number. 50

3.4 Bentuk Relasi Tabel Gambar 3.10 Tabel detail Bentuk relasi tabel dapat dilihat pada ilustrasi di bawah ini. Gambar ini diambil dari hasil relasi pada crystal report. Gambar 3.11 Relasi tabel 3.5 Membuat Module Koneksi Database Tujuan utama membuat module ini adalah agar koneksi ke database cukup dibuat satu kali dan dapat digunakan berkali-kali pada semua form dalam project yang bersangkutan dengan hanya menuliskan nama fungsinya. 51

Coding : Gambar 3.12 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 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 52

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 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 3.6 Form Login Gambar 3.13 Menambah reference Form login ini digunakan sebagai sarana keamanan data dalam aplikasi, artinya tidak semua orang dapat menggunakan aplikasi tersebut. 53

Gambar 3.14 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 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. Coding Imports System.Data.OleDb Imports System.Text Public Class masterlogin Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If e.keychar = Chr(13) Then TextBox2.Focus() End Sub Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress If e.keychar = Chr(13) Then Button1.Focus() End Sub 54

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Call Koneksi() CMD = New OleDbCommand("select * from tbluser where nama_user= '" & TextBox1.Text & "' and pwd_user='" & TextBox2.Text & "'", Conn) DR = CMD.ExecuteReader DR.Read() If DR.HasRows Then If String.Compare(DR.Item("nama_User"), TextBox1.Text, False) Or String.Compare(DR.Item("pwd_user"), TextBox2.Text, False) Then MsgBox("Login Gagal") TextBox1.Clear() TextBox2.Clear() TextBox1.Focus() Exit Sub Else Me.Visible = False MasterMenu.Show() MasterMenu.Panel1.Text = DR.Item("Kode_user") MasterMenu.Panel2.Text = DR.Item("nama_User") MasterMenu.Panel3.Text = DR.Item("status_user") End If CMD = New OleDbCommand("select nama from tblperusahaan", Conn) DR = CMD.ExecuteReader DR.Read() MasterMenu.Label1.Text = DR.Item(0) Else MsgBox("Nama user dan password tidak cocok") TextBox1.Clear() TextBox2.Clear() TextBox1.Focus() End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click End End Sub End Class 3.7 Form Menu Utama Form menu utama ini dugunakan sebagai sarana integrasi beberapa form lainnya dalam sebuah project agar dapat dipanggil sesuai kebutuhan. 55

Coding di form menu utama : Imports System.Data.OleDb Public Class MasterMenu Gambar 3.15 Form menu utama Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MasterUser.Show() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click MasterBarang.Show() End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click MasterSupplier.Show() End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click MasterPerusahaan.Show() End Sub 56

Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click TransaksiPembelian.Show() End Sub Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click LaporanMaster.Show() End Sub Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click LaporanPembelian.Show() End Sub Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click RincianPembelian.Show() End Sub Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click Panel1.Text = "" Panel2.Text = "" Panel3.Text = "" Me.Close() masterlogin.show() masterlogin.textbox1.clear() masterlogin.textbox2.clear() masterlogin.textbox1.focus() End Sub Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click If MessageBox.Show("Tutup aplikasi...?", "", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then End End If End Sub End Class 3.8 Form User Logika dan proses program dalam form User adalah sebagai berikut : 7. kode user dibuat secara otomatis dengan pola USR01 dan seterusnya 8. Anda cukup mengetik nama user, password dan memilih statusnya 9. Pada saat button simpan di klik maka, program akan mencari kode tersebut ke dalam tabel user 10. Jika kodenya tidak ada maka data tersebut akan disimpan sebagai data baru (proses Insert) 11. Jika kode tersebut ada maka data tersebut akan diedit (proses update) 12. Proses edit dan hapus cukup dengan memilih data user dalam grid maka data akan masuk ke masingmasing textbox atau combo, kemudian lakukan proses edit atau hapus sesuai kebutuhan. 57

Gambar 3.16 Form user Dalam pembuatan sebuah form, sebaiknya menggunakan GroupBox agar mengatur posisi objek-objek di dalamnya lebih mudah. 3.9 Form Barang 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) 6. Proses edit dan hapus cukup dengan memilih data user dalam grid maka data akan masuk ke masingmasing textbox atau combo, kemudian lakukan proses edit atau hapus sesuai kebutuhan. 58

3.10 Form Supplier Gambar 3.17 Form Barang Proses program dalam pengolahan data supplier sama dengan data user dan barang Gambar 3.18 Form supplier 59

3.11 Form Profil Perusahaan Tujuan dibuatnya form perusahaan ini adalah agar header dalam laporan dapat secara dinamis berubah sesuai dengan isi data dalam tabel tersebut. 3.12 Transaksi Pembelian Gambar 3.19 Form profil perusahaan Logika dan proses program dalam transaksi pembelian adalah sebagai berikut : 1. Nomor pembelian tampil secara otomatis dengan pola F0001 2. Tanggal diambil dari sistem komputer 3. Supplier 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 60

Gambar 3.20 Form transaksi pembelian Pesan ini muncul sesaat setelah melakukan klik pada button Simpan. Gambar 3.21 Msgbox pencetakan faktur Sesaat setelah klik pilihan YES, maka akan tampil faktur pembelian dengan bentuk seperti gambar di bawah ini. 61

3.13 Laporan Master Gambar 3.22 Bukti Pembelian Tahapan pembuatan laporan dengan crystal report telah dibahas pada bab sebelumnya, untuk itu silakan dipelajari kembali. 3.13.1 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. 62

Gambar 3.23 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() CRV.ReportSource = cryrpt CRV.RefreshReport() End Sub 3.13.2 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. 63

Gambar 3.24 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 3.13.3 Laporan Data Supplier Langkah langkah pembuatan laporan data supplier dpat anda lihat pada video tutorial dalam buku ini. Adapun bentuk laporan data supplier terlihat pada gambar di bawah ini. 64

Gambar 3.25 Laporan data supplier Adapun coding untuk memanggil laporan data supplier dilakukan dengan cara di bawah ini. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click cryrpt.load("laporan Supplier.rpt") Call seting_laporan() CRV.ReportSource = cryrpt CRV.RefreshReport() End Sub 3.14 Laporan Pembelian 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 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. 3.14.1 Laporan Harian Sebelum memanggil laporan data pembelian, buatlah sebuah form seperti gambar di bawah ini. 65

Gambar 3.26 Laporan harian Private Sub LaporanPembelian_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call Koneksi() CMD = New OleDbCommand("select distinct tanggal from tblpembelian", Conn) DR = CMD.ExecuteReader Do While DR.Read ComboBox1.Items.Add(DR.Item(0)) ComboBox2.Items.Add(DR.Item(0)) ComboBox3.Items.Add(DR.Item(0)) ComboBox4.Items.Add(DR.Item(0)) ComboBox5.Items.Add(DR.Item(0)) Loop End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Formula untuk memanggil laporan harian CRV.SelectionFormula = "totext({tblpembelian.tanggal}) ='" & ComboBox1.Text & "'" cryrpt.load("laporan harian.rpt") Call seting_laporan() CRV.ReportSource = cryrpt CRV.RefreshReport() End Sub 3.14.2 Laporan Periodik 66

Laporan periodik yang dimaksud disini adalah laporan yang dipilih mulai dari tanggal awal hingga tanggal akhir. Gambar 3.27 Laporan mingguan Coding yang digunakan untuk memanggil laporan periodik adalah sebagai berikut: Private Sub ComboBox3_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox3.SelectedIndexChanged If ComboBox2.Text = "" Then MsgBox("Tanggal awal harus diisi") Exit Sub End If Formula untuk memanggil laporan mingguan (periodik) CRV.SelectionFormula = "{tblpembelian.tanggal} in date ('" & ComboBox2.Text & "') to date ('" & ComboBox3.Text & "')" cryrpt.load("laporan mingguan.rpt") Call seting_laporan() CRV.ReportSource = cryrpt CRV.RefreshReport() End Sub 3.14.3 Laporan Bulanan Bentuk laporan bulanan dapat anda lihat pada gambar di bawah ini. 67

Gambar 3.28 Laporan Bulanan Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Formula untuk memanggil laporan bulanan CRV.SelectionFormula = "month({tblpembelian.tanggal}) = (" & Month(DateTimePicker1.Text) & ") and year({tblpembelian.tanggal}) = (" & Year(DateTimePicker1.Text) & ")" cryrpt.load("laporan bulanan.rpt") Call seting_laporan() CRV.ReportSource = cryrpt CRV.RefreshReport() End Sub 68

Gambar 3.29 Laporan grafik Laporan grafik dapat dikombinasikan dengan formula sesuai kebutuhan. Private Sub ComboBox5_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox5.SelectedIndexChanged If ComboBox4.Text = "" Then MsgBox("Tanggal awal harus diisi") Exit Sub End If CRV.SelectionFormula = "{tblpembelian.tanggal} in date ('" & ComboBox4.Text & "') to date ('" & ComboBox5.Text & "')" cryrpt.load("grafik.rpt") Call seting_laporan() CRV.ReportSource = cryrpt CRV.RefreshReport() End Sub 3.15 Jejak Transaksi Pembelian Pembuatan jejak transaksi pembelian diawali dengan membuat form dengan bentuk seperti gambar di bawah ini. 69

Gambar 3.30 Form jejak transaksi pembelian Membuat Project Baru Tahapan pertama dalam pembuatan aplikasi Penjualan barang ini adalah membuat project baru dengan langkah sebagai berikut: 3. Buka visual studio 2008 4. Klik create project 70

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: Bentuk Relasi Tabel Bentuk relasi tabel dapat dilihat pada ilustrasi di bawah ini. Gambar ini diambil dari hasil relasi pada crystal report. 71

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 72

Public DA As OleDbDataAdapter 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 73

End Sub End Module jika penulisan coding anda mengalami error, maka anda harus tambahkan references dengan cara sebagai berkut : 4. Klik menu project >> Pilih add reference 5. Pilih crystalldecisions.crystalreport.engine >> ok 6. Lakukan hal yang sama untuk crystalldecisions.share >> ok Menambah reference Form login Logika program dalam form login adalah sebagai berikut : 8. Setelah mengisi nama user lalu menekan enter maka kursor pindah ke password 74

9. Setelah mengisi password lalu menekan enter maka kursor pindah ke button Login 10. Pada saat Login di klik maka cari nama user dan password di tabel user 11. Jika data tidak ditemukan maka munculkan pesan password salah 12. Jika data ditemukan, maka form login disembunyikan dan menu utama ditampilkan 13. Pada Menu utama panel1 tampilkan kode user, di panel2 tampilkan nama user, di panel3 tampilkan status user 14. 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 menu utama 75

Form User Logika dan proses program dalam form User adalah sebagai berikut : 13. kode user dibuat secara otomatis dengan pola USR01 dan seterusnya 14. Anda cukup mengetik nama user, password dan memilih statusnya 15. Pada saat button simpan di klik maka, program akan mencari kode tersebut ke dalam tabel user 16. Jika kodenya tidak ada maka data tersebut akan disimpan sebagai data baru (proses Insert) 17. Jika kode tersebut ada maka data tersebut akan diedit (proses update) 18. 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 user Form Barang Logika dan proses program dalam form barang adalah sebagai berikut : 7. Kode barang dibuat secara otomatis dengan pola B0001 dan seterusnya 76

8. Anda cukup mengetik nama barang, satuan dan seterusnya 9. Pada saat button simpan di klik maka, program akan mencari kode tersebut ke dalam tabel barang 10. Jika kodenya tidak ada maka data tersebut akan disimpan sebagai data baru (proses Insert) 11. Jika kode tersebut ada maka data tersebut akan diedit (proses update) 12. 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 77

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. 78

Transaksi Penjualan Form profil perusahaan Logika dan proses program dalam transaksi Penjualan adalah sebagai berikut : 9. Nomor Penjualan tampil secara otomatis dengan pola F0001 10. Tanggal diambil dari sistem komputer 11. Customer dipilih dari listbox di kanan atas 12. 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 13. Jumlah barang diisi secara manual dan akan menghasilkan jumlah total di sebelah kanannya 14. Secara otomatis jumlah barang, grand total dan ppn tampil setelah mengisi jumlah barang dalam grid 15. Diskon dilakukan secara manual dalam bentuk jumlah nominal uang dan secara otomatis mempengaruhi total harga 16. Pembayaran dilakukan secara manual dan menghasilkan jumlah kembali 79

Imports System.Data.OleDb Public Class TransaksiPenjualan Form transaksi Penjualan 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 80

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 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 81

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 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. 82

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() 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. 83

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 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. 84

85

86

87

88

89