Setiap orang yang melakukan pembelian barang disebuah toko pada umumnya akan mendapat nota atau resi tanda terima yang berisi perincian barang yang dibeli. Dalam hal ini sebuah program aplikasi yang digunakan harus dapat mengeluarkan hasil berupa cetakan melalui printer yang tersedia. Untuk Delphi fasilias seperti itu akan ditangani oleh aplikasi Rave Designer. Oleh karena itu pada bagian ini akan dibahas tersendiri cara pengoperasian aplikasi Rave. Sedangkan untuk komponen yang lain pada prinsipnya sama dengan yang sudah dikerjakan sebelumnya. Buatlah form baru seperti gambar diatas. (Gambar 52) Tanggal Transaksi menggunakan komponen DateTimePicker. Nomor Faktur, Nama Barang, Satuan, Harga, Stok, Kode Barang (pada Group Box Item Barang), Banyaknya, Sub Total Harga, Total Harga menggunakan komponen Edit. Kode Barang pada group box Pilih Barang menggunakan komponen ComboBox. Tambahkan 4 buah button, sebuah DBGrid, 3 buah Table, 2 buah Query dan sebuah DataSource. Tambahkan pula komponen baru dari palette Rave yaitu RvQueryConnection dan RvProject. Dua komponen terakhir ini yang nantinya akan digunakan untuk menjalankan perintah pencetakan. 85
Aturlah properties untuk from ini dengan Caption adalah Transaksi Penjualan dan name : frm_penjualan. Properties lain untuk form ini disamakan dengan form-form sebelumnya. Simpan form ini dengan nama : Un_penjualan. Properties untuk komponen-komponen yang lain sesuaikan dengan daftar dibawah ini :
No Komponen Properties Nilai atau Harga 1 DateTimePicker Name DTP1 2 Edit Nomor Faktur Name ed_nofak 3 Edit Nama Barang Name ed_nama 4 Edit Satuan Name ed_sat 5 Edit Harga Name ed_harga 6 Edit Stok Name ed_stok 7 Edit Kode Barang Name ed_kodebrg 8 Edit Banyaknya Name ed_jml 9 Edit Sub Total Name ed_subtot 10 Edit Total Harga Name ed_tot 11 ComboBox Kode Barang Name cbx_kode Semua Edit dan ComboBox Text (kosongkan) 12 Button1 Caption Ya 13 Button2 Caption Batal 14 Button3 Caption Selesai 15 Button4 Caption Keluar 16 Table1 DatabaseName DBSTOKO TableName tbl_jual.db 17 Table2 DatabaseName DBSTOKO TableName tbl_barang.db 18 Table3 DatabaseName DBSTOKO TableName tbl_transaksi.db 19 Query1 dan Query2 DatabaseName DBSTOKO 20 DataSource1 DataSet Table3 21 DBGrid1 DataSource DataSorurce1
Untuk komponen button biarkan saja menggunakan nama bawaan yaitu button1, button2, button3 dan button4. Semua edit kecuali ed_jml aturlah properties ReadOnly sama dengan True. String List Editor untuk Query1 adalah :
Select Kodebrg From tbl_barang Where Stok > 0
Sedangkan untuk Query2 adalah :
select * from tbl_jual 86
Buatlah 5 buah procedure yaitu procedure Nofak, procedure Isidata, procedure DataBarang, procedure Simpan dan procedure CetakFaktur. Langkah pertama adalah membuat header dari procedure tersebut seperti contoh dibawah ini.
Procedure Nofak adalah sebuah procedure untuk mengisi nomor faktur penjualan secara berurut, tidak loncat dan tidak dobel terhadap nomor faktur sebelumnya. Code program procedure Nofak adalah :
87
Procedure IsiData digunakan untuk mengisi data barang yang stoknya masih ada kedalam Combo Box Kode Barang yaitu cbx_kode. Dengan diinputkannya list barang kedalam Combo Box ini maka user penjual akan mudah mengisi barang yang hendak dibeli. Code program untuk procedure IsiData adalah sebagai berikut :
Procedure DataBarang adalah procedure yang digunakan untuk melengkapi data barang pada kolom-kolom Nama Barang, Satuan, Harga dan Stok, ketika operator memilih kode barang yang ada pada Combo Box Kode Barang. Code program lengkapnya sebagai berikut :
Procedure Simpan digunakan untuk menyimpan data barang yang dibeli dengan cara memindah satu persatu data yang ada pada DBGrid untuk disimpan secara permanen di tbl_jual melalui table1. DBGrid sendiri merupakan visualisasi tbl_transaksi menggunakan table3 dimana sifatnya sementara, artinya setelah transaksi selesai dilakukan maka table ini posisinya dikosongkan kembali. Code Program untuk procedure Simpan adalah : 88
Procedure CetakFaktur adalah procedure yang terkait dengan pengoperasian Rave Designer. Code progam procedure ini secara lengkap adalah sebagai berikut :
Setelah semua procedure selesai ditulis, selanjutnya masuk code program masing-masing komponen. Awali untuk code program Frm_penjualan yang diisikan pada Events OnActive sebagai berikut :
89
Komponen Combo Box Kode Barang yaitu cbx_kode dikenakan dua perintah atau code program pada dua events yang berbeda, yaitu untuk Events OnChange dan Events OnKeyPress. Untuk Events OnChange adalah :
Sedangkan untuk Events OnKeyPress adalah :
Ketika barang yang akan dibeli sudah dipilih maka kolom Nama Barang, Satuan dan Stok akan terisi. Apabila operator mengisi jumlah barang yang akan dibeli pada ed_jml banyaknya melebihi stok yang ada maka akan dikeluarkan peringatan Jumlah barang tidak mencukupi sehingga operator akan mengganti jumlah barang dengan angka lebih kecil atau sama dengan stok barang yang ada. Jika stok mencukupi maka akan dilakukan proses perkalian antara harga barang dan jumlahnya yang hasilnya diisikan pada ed_subtotal. Code program untuk itu diletakkan pada Events OnKeyPress milik ed_jml seperti perintah dibawah ini.
90
Tombol Ya atau button1 digunakan untuk memilih satu persatu barang yang akan dibeli. Daftar barang tersebut akan ditampilkan pada DBGrid. Untuk mengisi code program pada tombol Ya caranya dengan dobel klik tombol tersebut dan isikan perintahnya seperti berikut ini.
Tombol Batal atau button2 adalah tombol untuk membersihkan semua kotak edit atau mengembalikan form pada kondisi awal. Apabila tombol ini ditekan sebelum tombol Ya maka transaksi yang sudah terpilih tersebut dibatalkan. Karena sifatnya yang mengembalikan form kekondisi awal, maka button2 ini juga digunakan oleh tombol button1 untuk membersihkan dan mengembalikan form keposisi awal setelah proses pemindahan data dilakukan. Untuk mengisi perintah pada button2 caranya sama yaitu dengan doble klik pada komponen tersebut kemudian isikan code programnya sebagai berikut : 91
Tombol Selesai atau button3 adalah tombol untuk mengakhiri proses pembelian sekelompok barang dalam satu nomor faktur. Selain itu tombol ini juga mengaktifkan Rave Designer untuk pencetakan faktur pembelian. Code program untuk button3 adalah sebagai berikut :
Dan tombol terakhir yaitu tombol Keluar atau button4 dengan code program berikut ini :
Simpanlah kembali hasil yang sudah diselesaikan dengan menu File | Save atau tekan tombol Ctrl + S pada keyboard, kemudian masuk kembali ke form induk dan buat link dari main menu Transaksi ke frm_penjualan dengan cara seperti yang sudah dibuat untuk form-form yang lain. 92
5.9 Membuat system pencetakan faktur dengan Rave Designer
Untuk menghasilkan output versi cetak pada aplikasi Delphi 7 digunakan aplikasi Rave Designer yang terkemas dalam satu paket program. Sebelum membuat desain cetak terlebih dahulu melengkapi properties komponen RvProject1 dan RvQueryConnection1 yang telah diletakkan pada form Transaksi Penjualan. (Gambar 53)
Gambar 53. Letak RvQueryConnection1 dan RvProject1 pada Form Transaksi Penjualan
Untuk RvQueryConnection1 atur properties Query adalah Query2 kemudian klik ganda pada komponen RvProject1 yang akan menghasilkan tampilan muka Rave Designer secara penuh. Klik icon New Data Object yang ada di Rave Report. (Gambar 54)
Gambar 54. Icon New Data Object
93
Apabila tampil form Data Connections seperti gambar dibawah, pilih Direct Data View (yang atas) kemudian klik Next. (Gambar 55)
Gambar 55. Data Connection
Kemudian akan muncul form Data Connection berikutnya. Untuk ini tidak perlu dilakukan perubahan langsung saja klik tombol Finish. Setelah proses koneksi berhasil dilakukan maka pada tampilan form Rave Report sebelah kanan akan terlihat Data View Directory yang sudah aktif seperti tampilan berikut ini. (Gambar 56)
Gambar 56. Tampilan DataView1 pada RaveProject
94
Langkah berikutnya adalah membuat tampilan yang akan dicetak. Untuk memudahkan pembuatan form yang akan dicetak, aplikasi Rave Report telah menyediakan wizardnya. Gunakan menu Tools | Report Wizards > Simple Table yang ada di Rave Report yang akan menghasilkan form Simple Table. Pada form pertama langsung saja ekan next sehingga muncul form kedua. (Gambar 57)
Gambar 57. Form kedua Simple Table
Beri tanda chek untuk Kodebrg, Namabrg, Sat, Hrgsat, Jml dan Jmlhrg, yang lain dikosongkan. Kemudian tekan Next > Next > Next sampai terakhir terdapat tombol Generate. Setelah tombol Generate ditekan maka tampilan form utama akan seperti gambar dibawah. (Gambar 58) Klik tulisan Simple Table Report yang ada pada form tersebut dan atur propertiesnya disebelah kiri form dengan ukuran huruf (font) sama dengan 14 dan justifikasinya di kiri(left), kemudian properties Text diganti dengan Toko Mitra Perdana. Untuk pengaturan ini tergantung kreasi masing-masing dan karena hasilnya akan dicetak maka tampilan yang artistik sangat dibutuhkan. Setelah itu masukkan tiga buah Text Component yang ada di palette standard form Rave Report. Tulis properties text pada komponen tersebut masing-masing Nomor Faktur, Tanggal dan Jumlah Pembelian seperti contoh dibawah (Gambar 59). Selanjutnya masukkan tiga buah Data Text Component yang ada di palette Report dan diletakkan masing-masing disebelah kanan tulisan Nomor Faktur, Tanggal dan Jumlah Pembelian. Aturlah properties masing-masing yaitu untuk Data Text Component Nomor Faktur dengan properties DataView adalah DataView1 dan DataField adalah Nofak. Dengan cara yang sama untuk Data Text 95
Componen Tanggal dan Jumlah Pembelian masing-masing dengan DataField Tanggal dan Total.
Gambar 58. Form Utama
Gambar 59. Form setelah ditambah komponen text
Untuk melihat bentuk cetakan yang akan dihasilkan dapat dilakukan dengan menekan icon Execute Report yang ada dideretan icon sebelah kiri atas bergambar printer. Dari melihat tampilan sebenarnya yang akan dicetak tersebut perbaikan-perbaikan dapat dilakukan. Setelah semua dirasa cukup, simpanlah project pada direktori penyimpanan dan diberi nama Rv_faktur, kemudian tutuplah Rave Project. Selanjutnya kembali ke form Transaksi Penjualan pada 96
program Delphi. Klik komponen RvProjeck1 yang ada pada form Transaksi Penjualan, properties ProjectFile komponen tersebut mengarah kedirektori penyimpanan rave project dan pilihlah file Rv_faktur. Simpan kembali seluruh program yang sudah dibuat. Desain rave project dapat dibuat sesuka hati, tampilan gambarpun dapat ditambahkan untuk mempercantik model faktur atau nota pembayaran pada toko tersebut. Form ini akan tercetak pada saat tombol Selesai ditekan, yang menandai transaksi dalam satu nomor faktur selesai. Hasil print out kurang lebih seperti contoh dibawah ini.
5.10 Membuat Form Rekapitulasi Pembelian
Gambar 60. Form Rekap Pembelian Barang 97
Form ini digunakan untuk memantau pembelian barang apa saja pada suatu tanggal yang dipilih dari salah satu toko atau distributor. Dengan cara ini pihak manajemen akan mudah mengadakan pengecekan barang yang ada di counter dengan barang yang baru saja dibeli. Untuk membuat form tersebut diperlukan DateTimePicker, ComboBox, DBGrid, Edit dan Button masing-masing satu buah, kemudian Query sebanyak 2 buah dan sebuah DataSource. Atur posisinya seperti gambar diatas. (Gambar 60) Untuk form atur properties Caption adalah Rekap Pembelian Barang dan Name adalah frm_rekbeli. Untuk properties BorderIcons, BorderStyle dan Position samakan dengan form-form yang lain. Simpan unit ini dengan nama : Un_rekbeli. Atur properties yang lain seperti daftar dibawah ini :
No Komponen Properties Nilai atau Harga 1 DateTimePicker Name DTP1 2 ComboBox1 Name Cbx1 3 Edit1 Name ed_total Texs (kosongkan) 4 Query1 DatabaseName DBSTOKO 5 Query2 DatabaseName DBSTOKO 6 DataSource1 DataSet Query2 7 Button1 Caption Keluar 8 DBGrid DataSource DataSource1
String List Editor untuk Query1 adalah :
Select Distinct Perus From tbl_beli Where Tanggal = 08/04/10
Sedangkan String List Editor untuk Query2 adalah :
Select Kodebrg AS Kode, Namabrg AS Nama, Satuan, Hrgsat AS Harga, Jml AS Jumlah, Jmlhrg AS Total From tbl_beli
Langkah berikutnya adalah membuat procedure yang dibutuhkan yaitu procedure untuk mengisi list nama toko atau distributor atau perusahan pemasok barang pada tanggal yang ditentukan dan sebuah procedure untuk mengisi list barang yang dibeli ketika sebuah perusahaan dipilih. Proccedure pertama bernama procedure Perusahaan dan procedure yang lain bernama procedure Pembelian. Buat header kedua procedure tersebut dibagian deklarasi Type dengan cara yang sama dengan sebelumnya dengan nama masing-masing adalah :
98
Tulis code program untuk masing-masing procedure tersebut di bagian body program seperti berikut ini. Perama untuk procedure Perusahaan.
Kedua untuk procedure Pembelian, yaitu :
99
Setelah procedure selesai mulailah pengisian code program masing-masing komponen. Yang pertama komponen DateTimePicker. Untuk code program DTP1 ini dikenakan pada Events OnChange, caranya klik komponen DTP1 kemudian klik ganda pada Events OnChange kemudian isikan code programnya sebagai berikut :
Untuk code program Combo Box (cbx1) caranya klik ganda pada komponen tersebut dan isikan perintahnya sebagai berikut :
Dan untuk tombol keluar caranya klik ganda tombol tersebut kemudian isikan perintahnya sebagai berikut :
Simpan kembali program yang sudah selesai dengan menu File | Save atau tekan tombol Ctrl + S.
5.11 Membuat Form Rekapitulasi Penjualan
Seperti halnya form Rekapitulasi Pembelian maka form Rekapitulasi Penjualan juga hanya digunakan untuk melihat rekapitulasi hasil transaksi penjualan di toko tersebut. Dengan cara ini pihak manajemen toko dapat dengan mudah mengetahui pendapatan dari hasil transaksi penjualan pertanggal yang diinginkan. Form ini membutuhkan komponen DateTimePicker, Query, DataSource, Edit, DBGrid dan Button, masing-masing satu buah. (Gambar 61) 100
Gambar 61. Form Rekap Penjualan
Setelah masing-masing komponen diatur seperti gambar diatas, langkah berikutnya mengatur properties dari Form dengan Caption adalah Rekap Penjualan Barang dan Name adalah frm_rekjual. BorderIcons, BorderStyle dan Position samakan dengan form-form yang lain. Selanjutnya simpan unit ini dengan nama Un_rekjual.
Atur properties masing-masing komponen seperti daftar berikut ini :
No Komponen Properties Nilai atau Harga 1 DateTimePicker Name DTP1 2 Query1 DatabaseName DBSTOKO 3 DataSource1 DatSet Query1 4 Edit1 Name ed_total ReadOnly True Texs (kosongkan) 5 DBGrid DataSource DataSource1 ReadOnly True 6 Button1 Caption Keluar
String List Editor untuk Query1 adalah :
Select Nofak, Kodebrg, Namabrg, Sat, Hrgsat, Jml, Jmlhrg From tbl_jual
Buat sebuah procedure dengan nama procedure Penjualan. Buatlah deklarasi header pada bagian Type seperti dibawah ini.
101
Selanjutnya membuat code program untuk procedure tersebut pada body program seperti dibawah ini.
Code program untuk DTP1 atau komponen DateTimePicker dikenakan pada Events OnChange, caranya klik komponen tersebut kemudian klik ganda pada Evens OnChange dan tulis perintahnya seperti berikut ini.
Code Program untuk Button1 dengan cara klik ganda pada komponen tersebut dan isikan perintahnya seperti berikut ini.
102
Setelah selesai kembali ke form induk untuk membuat link dari main menu Rekapitulasi Penjualan ke frm_rekjual ini dengan cara yang sudah dibahas didepan. Simpan kembali seluruh program yang sduah jadi dengan menu File | Save atau Ctrl + S, sebelum program dicoba untuk dijalankan.
5.12 Membuat Form Rekapitulasi Stok Barang
Form terakhir pada project ini adalah Form Rekap Stok Barang. Form ini digunakan hanya untuk mengetahui rakap barang yang masih tersedia untuk dijual. Bentuk form seperti gambar berikut ini. (Gambar 62)
Gambar 62. Form Rekapitulasi Stok Barang
Form ini sepintas seperti form Daftar Barang yang sudah dibuat terdahulu, bedanya pada form Daftar Barang yang ditunjukkan Kode Barang, Nama Barang dan Satuan. Sealain itu Form Daftar Barang dilengkapi fasilitas untuk menghapus nama barang yang stoknya sudah kosong. Sedangkan form Rekap Stok Barang 103
berisi Kode Barang, Nama Barang dan Stok barang yang tersedia. Form ini hanya untuk monitoring. Susunlah komponen DBGrid, Query, DataSource dan Button seperti contoh gambar diatas. Aturlah properties form dengan Caption adalah Daftar Persediaan Barang dan Name adalah frm_rekstok. BorderIcons, BorderStyle dan Position samakan dengan form-form yang lain. Kemudian simpan dengan nama : Un_rekstok.
Atur properties komponen lainnya sesuai daftar berikut ini.
No Komponen Properties Nilai atau Harga 1 Query1 DatabaseName DBSTOKO 2 DataSource1 DatSet Query1 3 DBGrid DataSource DataSource1 ReadOnly True 4 Button1 Caption Selesai
String List Editor untuk Query1 adalah :
Select Kodebrg, Namabrg, Stok From tbl_barang Where Stok > 0 Order By Stok Desc
Code program untuk frm_rekstok yang dikenakan pada Events OnActive adalah sebagai berikut :
Code program untuk Button1 dengan cara klik ganda pada komponen tersebut dan isikan perintahnya :
Kembali ke form induk dan buatlah link dari main menu Rekapitulasi Stok Barang ke frm_rekstok dengan cara seperti yang sudah dibahas didepan. Simpan keseluruhan program ini dan coba jalankan dari tahap awal sampai akhir. Dan dengan ini semuah program sederhana sudah selesai. Lakukan analisa dan perbaikan-perbaikan untuk menyempurnakan program ini.