CONTOH-CONTOH PROGRAM
Program Pembelian
Pada bab ini kami akan memberikan penjelasan selengkap mungkin, karena pada bab berikutnya pola-polanya akan digunakan kembali. Penjelasan mencakup hal-hal dibawah ini.
1. Rancangan normalisasi file
2. Program Login
3. Transaksi Pembelian
4. Laporan
5. Program rincian pembelian
6. Pembuatan laporan Crystal Report
5.1 Normalisasi file
Pembahasan tentang normalisasi file telah kami lakukan pada buku kami yang ketiga dengan judul “Konsep Dan Implementasi Visual Basic 6.0”. Silakan Anda membacanya untuk mendapatkan penjelasan yang lebih rinci. Program pembelian ini dirancang dengan Normaliasi level ketiga (3NF) dengan bentuk seperti gambar berikut.

Gambar 5.1 Normalisasi Program Pembelian
Program pembelian menyimpan data pada dua tabel yang berbeda karena bentuk relasinya one to many yaitu ke tabel Pembelian dan DetailBeli. Adapun data yang disimpan dalam tabel terlihat pada kedua tabel di bawah ini.
5.2 Database Dan Tabel
Setelah melihat bentuk normalisasi dan data yang dihasilkan dari program pembelian ini, maka untuk menghemat ruang dan waktu silakan buka file database dalam CD Pendukung agar Anda dapat melihat struktur masing-masing tabel dan type datanya.

Gambar 5.2 Database dan Tabel Program Pembelian
5.3 Membuat Module
Untuk memulai membuat program pembelian, aktifkanlah VB kemudian awali dengan membuat Module agar dapat mengakses database dengan efektif dan efisien, lalu ketik coding berikut ini.
Coding :
Public
Public RSBarang As ADODB.Recordset
Public RSKasir As ADODB.Recordset
Public RSPembelian As ADODB.Recordset
Public RSDetailBeli As ADODB.Recordset
Public RSTransaksi As ADODB.Recordset
Public RSPemasok As ADODB.Recordset
Public Sub BukaDB()
Dim STR As String
Set RSBarang = New ADODB.Recordset
Set RSKasir = New ADODB.Recordset
Set RSPembelian = New ADODB.Recordset
Set RSDetailBeli = New ADODB.Recordset
Set RSTransaksi = New ADODB.Recordset
Set RSPemasok = New ADODB.Recordset
Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\ADOBeli.mdb"
End Sub
5.4 Form Login
Login berfungsi agar pemakai program adalah orang yang mempunyai otoritas tertentu saja, yaitu kasir yang datanya disimpan dalam tabel kasir. Buatlah form login seperti gambar berikut.

Gambar 5.4 Form Login Hasil Modifikasi
Dengan asumsi pengolahan data kasir, barang dan data pemasok telah dibuat, marilah kita membuat program transaksi pembelian barang.
5.5 Transaksi Pembelian
Ilustrasi pada program ini adalah sebagai berikut:
1. Nomor faktur muncul secara otomatis, berubah setiap hari dan setiap ganti transaksi setelah faktur sebelumnya disimpan.
2. Nama kasir dan kode kasir muncul secara otomatis dari login. Kode kasir tidak ditampilkan dalam form (LblKodeKsr.Visible = False).
3. Tanggal dan jam muncul secara otomatis diambil dari sistem komputer, oleh karena itu diharapkan mengecek kembali validasi tanggal dan jam komputer sebelum program dijalankan.
4. Hal pertama yang harus dilakukan adalah mengetik kode pemasok. Jika kode ditemukan maka identitas pemasok akan muncul dan Anda tinggal melakukan transaksi pembelian.
5. Jika kode pemasok tidak ditemukan maka data pemasok harus diisi dengan lengkap karena akan sekaligus disimpan ke tabel pemasok.
6. Memilih data pemasok dapat dilakukan melalui ComboBox.
7. Saat melakukan transaksi, kode barang dapat diketik di kolom kode atau mengambil dari list. Jika kode barang ditemukan maka datanya akan ditampilkan dan Anda tinggal mengisi jumlah pembeliannya.
8. Jika kode barang yang diketik dalam grid tidak ditemukan maka Anda harus mengisi nama, harga dan jumlahnya karena kode tersebut termasuk barang baru yang akan langsung disimpan ke dalam tabel barang.
9. Jumlah total item barang dan total harga muncul otomatis setelah mengisi kode barang dan jumlah barang yang dibeli, begitupun dengan jumlah total harga.
10. Terakhir kita tinggal mengisi jumlah pembayaran dan menyimpannya.
Biasanya program ini dibuat dengan cara mengentri data pemasok dan data barang terlebih dahulu pada form yang terpisah tetapi dengan pola seperti ini Anda dapat menyimpan data ke dalam empat tabel sekaligus yaitu ke tabel pembelian, DetailBeli, Pemasok dan tabel Barang (khusus tabel Pemasok dan tabel Barang jika data tersebut merupakan data baru). Setelah memahami alur programnya sekarang buatlah form transaksi pembelian seperti gambar di bawah ini.

Gambar 5.5 Form Transaksi Pembelian
5.6 Struk Pembelian
Untuk dapat menampilkan hasil transaksi ke layar, harus ditambahkan sebuah form baru dengan nama TAMPILKAN (nama form bebas). Contoh faktur dari transaksi pembelian adalah sebagai berikut.

Gambar 5.6 Struk Pembelian
Transaksi pembelian ini merupakan program utama. Setelah data disimpan dengan mengacu pada rancangan normalisasi yang telah dibuat selebihnya data dapat diolah sesuai kebutuhan, misalnya dibuat laporan harian, mingguan dan bulanan, atau membuat sebuah form untuk melihat rincian pembelian per faktur, per kasir, per pemasok dan sebagainya. Dalam CD pendukung kami telah membuat lengkap dengan pengolahan data barang, pemasok, kasir, laporan dan rinciannya.
5.7 Laporan Pembelian
Laporan pembelian dibagi menjadi tiga, yaitu laporan harian, mingguan dan bulanan. Buatlah form seperti bentuk di bawah ini.

Gambar 5.7 Form Laporan Pembelian
Laporan
Semua laporan dirancang dengan pola penggabungan berdasarkan nama barang. Contoh:
| Nama Barang | Harga Beli | Jml Beli | Total |
| AQUA BOTOL 1500 ML | 1500 | 1 | 1500 |
| AQUA BOTOL 600 ML | 750 | 1 | 750 |
| AQUA BOTOL 600 ML | 750 | 1 | 750 |
| AQUA GELAS | 300 | 1 | 300 |
| KOPI KAPAL API | 750 | 1 | 750 |
| KOPI KAPAL API | 750 | 2 | 1500 |
| Grand Total | 7 | 5550 | |
Digabung menjadi :
| Nama Barang | Harga Beli | Jml Beli | Total |
| AQUA BOTOL 1500 ML | 1500 | 1 | 1500 |
| AQUA BOTOL 600 ML | 750 | 2 | 1500 |
| AQUA GELAS | 300 | 1 | 300 |
| KOPI KAPAL API | 750 | 3 | 2250 |
| Grand Total | 7 | 5550 | |

Gambar 5.8 Laporan Harian

Gambar 5.9 Laporan Mingguan

Gambar 5.10 Laporan Bulanan
Cara pembuatan laporan seperti ini telah dibahas dalam buku kami yang ketiga, silakan dibaca untuk mendapatan penjelasan yang lebih rinci.
5.8 Rincian Pembelian
Program ini berfungsi untuk melihat kembali data transaksi pembelian yang telah disimpan. Buatlah form dengan bentuk seperti gambar di bawah ini.

Gambar 5.11 Rincian Pembelian
Catatan:
Program pembelian ini akan dijadikan prototype untuk program-program berikutnya, oleh karena itu disarankan agar Anda benar-benar memahaminya.
Program Penjualan
Dengan menggunakan pola yang sama seperti program pembelian, kita dapat membuat program penjualan. Perbedaannya hanya sedikit saja, yaitu pada program pembelian jumlah barang akan bertambah sedangkan pada program penjualan jumlah barang berkurang. Jika diperlukan kita dapat menambahkan tabel palanggan.
6.1 Normalisasi File
Model normalisasi file program penjualan dapat dilihat pada gambar di bawah ini, dengan asumsi penjualan ini sifatnya bebas (bukan hanya pada pelanggan) maka tabel pelanggan tidak dibuat.

Gambar 6.1 Normalisasi Program Penjualan
6.2 Database Dan Tabel
Untuk mengetahui file database dan struktur masing-masing tabel berikut type data dan kunci primer maupun kunci tamunya silakan buka CD pendukung buku ini.

Gambar 6.2 Database dan tabel
Asumsi – asumsi
Karena model program penjualan hampir sama dengan program pembelian maka disini kami ambil beberapa asumsi, antara lain:
1. Pengolahan data barang telah dibuat
2. Pengolahan data kasir telah dibuat
3. Form login telah dibuat
4. Anda dapat melihat semua program yang disebutkan di atas dalam CD pendukung buku.
6.3 Membuat Module
Langkah awal pembuatan program penjualan kita mulai dengan pembuatan module dengan coding di bawah ini.
Public
Public RSBarang As ADODB.Recordset
Public RSkasir As ADODB.Recordset
Public RSPenjualan As ADODB.Recordset
Public RSDetailJual As ADODB.Recordset
Public RSTR1 As ADODB.Recordset
Public RSTR2 As ADODB.Recordset
Public Sub BukaDB()
Set RSBarang = New ADODB.Recordset
Set RSkasir = New ADODB.Recordset
Set RSPenjualan = New ADODB.Recordset
Set RSDetailJual = New ADODB.Recordset
Set RSTR1 = New ADODB.Recordset
Set RSTR1 = New ADODB.Recordset
Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\ADOJual.mdb"
End Sub
6.4 Transaksi Penjualan
Ilustrasi pada program ini adalah sebagai berikut:
1. Nomor faktur muncul secara otomatis, berubah setiap hari dan setiap ganti transaksi setelah faktur sebelumnya disimpan.
2. Nama kasir dan kode kasir muncul secara otomatis dari hasil login. Kode kasir tidak ditampilkan dalam form (LblKodeKsr.Visible = False).
3. Tanggal dan jam muncul secara otomatis diambil dari sistem komputer, oleh karena itu diharapkan mengecek kembali validasi tanggal dan jam komputer sebelum program dijalankan.
4. Saat melakukan transaksi, kode barang dapat diketik di kolom kode atau mengambil dari list. Jika kode barang ditemukan maka datanya akan ditampilkan dan kita tinggal mengisi jumlah penjualannya.
5. Jumlah total item barang dan total harga muncul otomatis setelah mengisi kode barang dan jumlah barang yang dibeli, begitupun dengan jumlah total harga.
6. Terakhir kita tinggal mengisi jumlah pembayaran dan menyimpannya.
Data yang dihasilkan oleh program penjualan terlihat pada kedua tabel berikut.
| Penjualan | |||||||
| Faktur | Tanggal | Jam | Total | Item | Dibayar | Kembali | KodeKsr |
| 0709090001 | 08/09/07 | 10:38:26 PM | 13750 | 6 | 15000 | 1250 | KSR01 |
| DetailJual | ||
| Faktur | KodeBrg | JmlJual |
| 07090900011 | KOP01 | 1 |
| 07090900012 | MIE01 | 2 |
| 07090900013 | PEP01 | 3 |
Jika kita bandingkan antara isi data di program pembelian dan program penjualan, kita dapatkan beberapa perbedaan, yaitu:
7. Pada program pembelian nomor faktur di tabel detail disimpan berulang, hal ini menyebabkan nomor faktur tidak dapat dijadikan primary Key (tetapi Access mempunyai fasilitas agar data berulang tersebut dapat dibuat index dengan cara memilih properti Indexed = YES (Duplicated OK)

Gambar 6.3 Field Index Tetapi Duplikasi
8. Pada program penjualan tidak ada nomor faktur yang berulang karena pada digit terakhir ditambahkan nomor urut transaksi yang diambil dari grid, dengan demikian nomor faktur dapat dijadikan sebagai Primary Key.
Dengan kondisi seperti itu, selebihnya keputusan ada pada pembaca, apakah akan memilih model pertama atau kedua. Jika kita mengikuti aturan main perancangan database maka model kedua dapat dikatakan lebih baik dari model pertama, karena dalam sebuah tabel harus ada satu kunci primer dan selebihnya adalah kunci tamu (dalam hal ini kode barang). Tetapi model kedua sisi kelemahannya adalah tidak dapat menyimpan data ke tabel detail dengan cara menggabungkan jumlah jual walaupun ada kode barang yang sama, karena kita akan kehilangan nomor faktur yang setiap barisnya terus berbeda.

Gambar 6.4 Transaksi Penjualan
6.5 Faktur Penjualan
Faktur yang dihasilkan sama dengan faktur pembelian, dan jika printer telah siap pakai Anda tinggal menekan enter lalu menjawab Yes.

Gambar 6.5 Faktur Penjualan
6.6 Laporan Penjualan


Gambar 6.6 Laporan Harian Dan Mingguan

Gambar 6.7 Laporan bulanan
6.7 Rincian Penjualan
Untuk melihat kembali transaksi penjualan yang telah terjadi, buatlah form seperti gambar di bawah ini.

Gambar 6.5 Rincian Penjualan
Catatan :
Dengan kecerdikan yang Anda miliki, kami yakin Anda dapat membuat program penjualan dengan konsep
1. Salinlah semua program pembelian ke folder lain.
2. Ubah nama database dari ADOBeli.mdb menjadi ADOJual.mdb
3. Ubahlah semua hal yang berkaitan dengan kata BELI menjadi kata JUAL
4. Buanglah semua hal yang berkaitan dengan tabel pemasok (jika itu memang tidak dibutuhkan, artinya penjualan yang dilakukan sifatnya bebas).
5. Sebaliknya, jika penjualan ini sifatnya terbatas hanya pada pelanggan, maka ubahlah semua hal yang berkaitan dengan tabel pemasok menjadi tabel pelanggan.
6. Jika data yang disimpan akan dibuat mirip dengan program pembelian (nomor faktur di tabel detail disimpan berulang tanpa adanya penambahan nomor urut transaksi yang diambil dari Grid), maka hapuslah coding berikut ini (yang dicetak tebal) pada saat data disimpan.
Sekarang, bagaimana menurut Anda, membuat program penjualan begitu mudah bukan..?. dan terakhir, kembali gunakan kecerdikan Anda..! bukankah dengan kedua program tersebut Anda dapat membuat program inventori…?.
Program Seleksi Karyawan
Dalam program seleksi penerimaan karyawan baru ini akan disajikan dua buah model, model pertama dengan bentuk relasi ONE TO ONE yang dapat dilihat bentuk form dan codingnya pada form Nilai dan model kedua dengan model relasi ONE TO MANY yang dapat dilihat bentuk form dan codingnya pada form Nilai1.
7.1 Normalisasi File
Setelah mencoba membuat beberapa program aplikasi, kami berasumsi bahwa tidak semua program harus dipola dengan bentuk relasi one to many. Pola relasi tersebut dipengaruhi oleh situasi dan kondisi juga dipengaruhi oleh kebutuhan sistem informasi yang dihasilkan oleh program itu sendiri. Contoh bentuk normalisasi dengan pola one to many terlihat pada gambar di bawah ini.

Gambar 7.1 Normalisasi Program Seleksi
7.2 Database Dan Tabel
Untuk mengetahui file database dan struktur masing-masing tabel berikut type data dan kunci primer maupun kunci tamunya silakan buka CD pendukung buku ini.

Gambar 7.2 Database Dan Tabel Program Seleksi
Catatan :
1. Tabel Nilai digunakan untuk menyimpan data nilai dengan pola relasi one to one.
2. Tabel Nilai1 dan DetailNilai1 digunakan untuk menyinpan data nilai dengan pola relasi one to many.
3. Dalam kasus yang sebenarnya data pelamar harus didata selengkap mungkin, misalnya dengan menambahkan field No KTP, jenis kelamin, agama, pendidikan dan sebagainya. Tabel di atas hanya sebagai contoh saja.
4. Tabel jadwal digunakan untuk memberitahukan kepada para pelamar jadwal testing yang harus diikuti setelah lamaran diseleksi
7.3 Membuat Module
Aktifkan VB dan buatlah Module dengan coding sebagai berikut kemudian simpan Module tersebut.
Public
Public RSPelamar As ADODB.Recordset
Public RSJadwal As ADODB.Recordset
Public RSNilai As ADODB.Recordset
Public RSNilai1 As ADODB.Recordset
Public RSDetail As ADODB.Recordset
Public RSHasil As ADODB.Recordset
Public Sub BukaDB()
Set RSPelamar = New ADODB.Recordset
Set RSJadwal = New ADODB.Recordset
Set RSNilai = New ADODB.Recordset
Set RSNilai1 = New ADODB.Recordset
Set RSDetail = New ADODB.Recordset
Set RSHasil = New ADODB.Recordset
Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\ADOSeleksi.mdb"
End Sub
7.4 Entri Jadwal Testing
Dengan asumsi program pengolahan data pelamar telah dibuat, sekarang kita akan membuat program transfer jadwal testing. Dalam kasus ini, entri jadwal testing ditentukan sebagai berikut:
1. Perserta testing dikelompokan dengan jumlah 5 orang per kelompok Anda dapat mengubah jumlah per kelompok sesuai banyaknya pelamar dan daya tampung tempat testing.
2. Tiap kelompok berbeda tanggal testing dengan selisih waktu satu hari.
3. Proses entri jadwal ujian tidak perlu dilakukan secara manual dengan cara menginput data satu persatu, dapat dibayangkan jika jumlah pelamar mencapai ribuan orang, maka pekerjaan entri jadwal ujian untuk masing-masing peserta menjadi sangat tidak efektif dan efisien. Dalam kasus ini proses entri akan dilakukan cukup dengan membuat sebuah otomasi dengan sekali klik. Oleh karena itu buatlah GUI seperti Gambar 7.3 berikut ini.

Gambar 7.3 GUI Transfer Jadwal Ujian
Jika program di atas dijalankan akan menghasilkan data sebagai berikut:

Gambar 7.4. Hasil Transfer Data Jadwal
7.5 Transfer Data Pelamar
Program ini digunakan untuk menyalin data pelamar (nomor lamaran dan nama pelamar) ke tabel nilai. Hal ini dilakukan mengingat jumlah pelamar yang sangat banyak tidak mungkin dientri satu persatu secara manual. Buatlah GUI di VB seperti Gambar 7.5 di bawah ini.

Gambar 7.5 Transfer Data Pelamar Ke Tabel Nilai
Jika program di atas dijalankan akan menghasilkan data sebagai berikut:

Gambar 7.6 Hasil Transfer Data Pelamar Ke Tabel Nilai
7.6 Entri Nilai Testing (Model Pertama)
Data nilai dientri langsung dalam DataGrid, di mana nomor lamaran dan nama pelamar telah ditransfer oleh program sebelumnya. Buatlah GUI dengan bentuk seperti Gambar 7.7 berikut ini.

Gambar 7.7 Input Nilai Dalam DataGrid
Saat pertama kali program dijalankan, akan terlihat tampilan seperti Gambar 7.8 di bawah ini.

Gambar 7.8 Tampilan Awal Proses Input Nilai
Jika nilai test1 - test4 diisi dengan data-data seperti tampilan di bawah ini

Gambar 7.9 Hasil Input Nilai
Data di tabel nilai seperti Gambar 7.9 sifatnya dinamis, artinya setiap kali terjadi perubahan maka data tersebut secara otomatis akan disimpan. Ketika command “Simpan Pelamar Yang Lulus” di klik akan menghasilkan data sebagai berikut:

Gambar 7.10 Hasil Transfer Pelamar Yang Lulus
7.7 Entri Nilai Testing (Model Kedua)
Pada model kedua ini pola relasi berbentuk one to many dimana data disimpan pada tabel Nilai1 dan DetailNilai1. buatlah form seperti gambar berikut ini.

Gambar 7.11 Entri Nilai Model Kedua
7.8 Membuat Laporan
Laporan Jadwal Ujian
1. Buatlah laporan jadwal ujian dengan rancangan seperti Gambar 7.12 berikut ini kemudian simpan dengan nama Lap Data Jadwal.

Gambar 7.12 Rancangan Data Jadwal Testing
Cara menyisipkan pengelompokkan tanggal adalah dengan melakukan klik kanan pada salah satu field di area detail kemudian pilih insert sumary. Pilihlah pengelompokkan berdasarkan tanggal, lalu klik OK.

Gambar 7.13 Mengelompokan Data Berdasarkan Tanggal
2. Buatlah sebuah menu di menu utama untuk memanggil laporan data jadwal, kemudian tulis coding berikut ini dan jangan lupa menambahkan objek Crystal Report (Ubah namanya menjadi CR1) di form menu.
3. Jika program dijalankan akan menghasilkan laporan sebagai berikut.

Gambar 7.14 Laporan Jadwal Testing
Laporan di atas hanya diambil sebagian saja, dalam kondisi sebenarnya akan terlihat laporan lain di bawahnya yaitu tanggal 24/09/07, Grup 2, dimulai dari nomor lamaran 0006 sampai 0010.
Laporan Nilai Ujian
Buatlah form dengan bentuk sebagai berikut dengan mengubah nama objek Crystal Report menjadi CR.

Gambar 7.15 Form Laporan Nilai

Gambar 7.16 Laporan Nilai Testing
1. Selain itu rancanglah laporan data hasil (pelamar yang dinyatakan lulus). Di sini Anda tidak perlu membuat rancangan laporan dari awal, cukup dengan menyimpan file Lap Data Nilai melalui menu Save As, kemudian ganti nama filenya setelah itu ganti judul laporan. Untuk menyaring data pelamar yang lulus saja klik kanan field KET di baris detail kemudian pilih Select Record Expert. Dalam menu klik combobox kemudian pilih Equal To dan klik juga combobox di sebelah kanannya lalu pilih LULUS lalu klik OK

Gambar 7.17 Menyaring Data Yang Lulus
Hasil rancangan tersebut jika program dijalankan akan menampilkan laporan seperti Gambar 7.17.

Gambar 7.18 Laporan Nilai Yang Lulus
2. Anda juga dapat membuat laporan data pelamar yang gagal untuk mengantisipasi pelamar yang dinyatakan lulus tetapi mengundurkan diri. Dengan laporan data pelamar yang gagal kita dapat mempertimbangkan pelamar dengan nilai tertinggi. Cara membuat rancangannya cukup dengan membuka file laporan nilai, simpan dengan Save As, ubah judul laporan, saring data berdasarkan yang gagal dan urutkan berdasarkan skor secara descending. Caranya adalah klik field Skor di baris detail, Klik menu report > Sort Records > klik Nilai.Skor > Add > Descending.

Gambar 7.19 Menyaring Skor Secara Descending

Gambar 7.20 Laporan Pelamar Yang Gagal
Perhatikanlah nomor pelamar, terlihat tidak terurut. Tetapi kita lihat skor telah diurutkan dengan nilai tertinggi. Laporan seperti ini dapat membantu mempermudah mencari data yang diperlukan dengan cara mengurutkan data skor dengan nilai terbesar.
Program Penggajian
Setelah membuat program penerimaan karyawan, kita lanjutkan ke pembuatan program penggajian karyawan.
8.1 Normalisasi File
Program penggajian ini dirancang dengan Normaliasi level ketiga (3NF) dengan bentuk seperti gambar berikut.

Gambar 8.1 Normalisasi File Program Penggajian
Program penggajian ini menyimpan data ke dua tabel yaitu tabel Gaji dan DetailGaji seperti terlihat pada tabel-tabel berikut ini.
Tabel Gaji
| Gaji | |||||||
| NomorSlp | Tanggal | Jam | Pendapatan | Potongan | GajiBersih | NIP | KodeKsr |
| 0709090001 | 09/09/07 | 11:43:32 PM | 1350000 | 360000 | 990000 | 199607152 | KSR01 |
Tabel DetailGaji
| DetailGaji | ||
| NomorSlp | KodePrk | Jumlah |
| 0709090001 | 001 | 1000000 |
| 0709090001 | 002 | 200000 |
| 0709090001 | 003 | 150000 |
| 0709090001 | 101 | 135000 |
| 0709090001 | 102 | 100000 |
| 0709090001 | 103 | 125000 |
8.2 Database Dan Tabel
Untuk mengetahui file database dan struktur masing-masing tabel berikut type data dan kunci primer maupun kunci tamunya silakan buka CD pendukung buku ini.

Gambar 8.2 Database Dan Tabel
8.3 Membuat Module
Untuk memulai membuat program penggajian, aktifkanlah VB kemudian awali dengan membuat module lalu ketik coding berikut ini.
Coding :
Public
Public RSPerkiraan As ADODB.Recordset
Public RSDetail As ADODB.Recordset
Public RSGaji As ADODB.Recordset
Public RSKasir As ADODB.Recordset
Public RSPegawai As ADODB.Recordset
Public Sub BukaDB()
Set RSPerkiraan = New ADODB.Recordset
Set RSDetail = New ADODB.Recordset
Set RSGaji = New ADODB.Recordset
Set RSKasir = New ADODB.Recordset
Set RSPegawai = New ADODB.Recordset
Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\ADOGaji.mdb"
End Sub
Dengan asumsi form login, data pegawai, data perkiraan dan kasir telah dibuat, kini saatnya membuat form penggajian dengan bentuk seperti gambar 8.3.
8.4 Transaksi Penggajian
Ilustrasi pada program ini adalah sebagai berikut:
1. Nomor slip gaji muncul secara otomatis, berubah setiap hari dan setiap ganti transaksi setelah slip gaji sebelumnya disimpan.
2. Nama kasir dan kode kasir muncul secara otomatis dari hasil login. Kode kasir tidak ditampilkan dalam form (LblKodeKsr.Visible = False).
3. Tanggal dan jam muncul secara otomatis diambil dari sistem komputer, oleh karena itu diharapkan mengecek kembali validasi tanggal dan jam komputer sebelum program dijalankan.
4. Hal pertama yang harus dilakukan adalah memilih NIP kemudian menekan enter, jika bulan ini NIP tersebut telah menerima gaji maka akan muncul pesan bahwa NIP tersebut telah menerima gaji (mencegah penerimaan gaji dua kali dalam satu bulan).
5. Saat melakukan penggajian kode perkiraan (pembayaran) dapat dilakukan dalam Grid atau memilih dari list kemudian menekan enter. Setelah itu isilah jumlah pembayarannya.
6. Khusus untuk pajak, disini kami asumsikan sebesar 10% dari total pendapatan dan akan menjadi potongan bagi pemdapatan hingga akhirnya ditemukan gaji bersihnya.

Gambar 8.3 Transaksi Penggajian
8.5 Slip Gaji
Untuk dapat menampilkan hasil transaksi ke layar, harus ditambahkan sebuah form baru dengan nama TAMPILKAN (nama form bebas). Contoh slip gajinya adalah sebagai berikut.

Gambar 8.4 Slip Gaji
8.6 Laporan Penggajian
Dalam pembuatan laporan, kita dapat melakukan banyak kreasi diantaranya membuat laporan yang bersifat parsial, artinya laporan dibuat per karyawan atau laporan yang bersifat akumulasi, artinya dalam satu halaman terdapat banyak NIP (karyawan). Buatlah form seperti bentuk di bawah ini.

Gambar 8.5 Laporan Penggajian
Dengan program di atas dihasilkan laporan dengan bentuk seperti dua gambar berikut.

Gambar 8.6 Laporan Gaji Per Pegawai

Gambar 8.7 Laporan Gaji Akumulasi Per Bulan
8.7 Rincian Penggajian
Program ini berfungsi untuk melihat kembali data penggajian yang telah disimpan. Buatlah form dengan bentuk seperti gambar di bawah ini.

Gambar 8.8 Rincian Penggajian
Program Perpustakaan
9.1 Normalisasi File
Program Perpustakaan ini dirancang dengan Normaliasi level ketiga (3NF) dengan bentuk seperti Gambar 9.1.

Gambar 9.1 Normalisasi File Program Perpustakaan
Program perpustakaan ini menyimpan data ke dua tabel yaitu tabel Pinjam dan DetailPjm seperti terlihat pada tabel-tabel berikut ini.
Tabel Pinjam
| Pinjam | |||
| Nomorpjm | Tanggalpjm | Totalpjm | Nomoragt |
| 07091401 | 14/09/07 | 3 | A001 |
Tabel DetailPjm
| DetailPjm | ||
| Nomorpjm | Nomorbk | Jumlahbk |
| 070914011 | B001 | 1 |
| 070914012 | B002 | 1 |
| 070914013 | B003 | 1 |
9.2 Database Dan Tabel
Untuk mengetahui file database dan struktur masing-masing tabel berikut type data dan kunci primer maupun kunci tamunya silakan buka CD pendukung buku ini.

Gambar 9.2 Database Dan Tabel
9.3 Membuat Module
Untuk memulai membuat program Perpustakaan, aktifkanlah VB kemudian awali dengan membuat module lalu ketik coding berikut ini.
Coding :
Public Conn As New adodb.Connection
Public RSAnggota As adodb.Recordset
Public RSBuku As adodb.Recordset
Public RSPinjam As adodb.Recordset
Public RSDetailPjm As adodb.Recordset
Public RSKembali As adodb.Recordset
Public RSDetailKbl As adodb.Recordset
Public RSTansPjm As adodb.Recordset
Public RSTansKbl As adodb.Recordset
Public Sub BukaDB()
Set RSAnggota = New adodb.Recordset
Set RSBuku = New adodb.Recordset
Set RSPinjam = New adodb.Recordset
Set RSDetailPjm = New adodb.Recordset
Set RSKembali = New adodb.Recordset
Set RSDetailKbl = New adodb.Recordset
Set RSTansPjm = New adodb.Recordset
Set RSTansKbl = New adodb.Recordset
Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\ADOPustaka.mdb"
End Sub
9.4 Transaksi Peminjaman Buku
Dengan asumsi form login, data buku, anggota telah dibuat, kini saatnya membuat form Peminjaman dengan bentuk seperti Gambar 9.3 berikut ini.
Ilustrasi pada program ini adalah sebagai berikut:
1. Nomor pinjam dan tanggal muncul secara otomatis, berubah setiap hari dan setiap ganti transaksi (disarankan untuk mengecek kembali validasi tanggal dengan format dd/mm/yy sebelum program dijalankan).
2. Hal pertama yang harus dilakukan adalah mengetik Nomor Anggota. Jika ditemukan maka akan tampil namanya, jika pernah meminjam maka jumlahnya akan ditampilkan di DataGrid bagian bawah, jika belum pernah pinjam maka akan muncul keterangan dan diperbolehkan meminjam 4 buku.
3. Jika jumlah telah pinjam dan jumlah peminjaman sekarang >=4 maka akan muncul pesan bahwa peminjaman sudah maksimal. Jika jumlah total peminjaman belum mencapai 4 maka peminjaman boleh dilanjutkan. Jumlah pinjam tiap buku adalah satu buah.

Gambar 9.3 Transaksi Peminjaman
9.5 Transaksi Pengembalian Buku
Ilustrasi dalam program pengembalian ini adalah sebagai berikut:
1. Nomor pengembalian muncul otomatis berikut tanggal kembalinya.
2. Setelah mengetik nomor anggota, jika ditemukan maka akan muncul nama anggota.
3. Jika nomor anggota tersebut pernah meminjam maka akan ditampilkan datanya pada DataGrid bagian bawah.
4. Untuk mengembalikan buku cukup dengan memilih data dalam Grid bagian bawah lalu menekan enter.
5. Pada saat disimpan maka data yang berubah terjadi pada
a. Di tabel pinjaman jumlah total pinjam akan berkurang sebanyak buku yang dikembalikan.
b. Di tabel detailpjm data akan hilang berdasarkan nomor pinjamnya karena buku dikembalikan.
c. Di tabel kembali jumlah total kembali akan bertambah sebanyak buku yang dikembalikan. Perubahan juga terjadi pada kolom denda jika tanggal pengembalian melebihi batas akhir peminjaman. Denda per hari Rp. 500 per buku.
d. Di tabel detailkbl data akan bertambah sebanyak buku yang dikembalikan.
e. Di tabel buku, jumlah stok buku akan bertambah sebanyak buku yang dikembalikan.

Gambar 9.4 Transaksi Pengembalian Buku
9.6 Pembuatan Laporan
Disini kami tidak lagi menjelaskan tentang pembuatan laporan untuk tabel master (tabel Buku, Anggota) tapi kami akan langsung menggambarkan peminjaman harian, mingguan dan bulanan dimana laporan tersebut prototypenya digunakan juga untuk laporan pengembalian buku.
9.6.1 Laporan Peminjaman
Laporan peminjaman harian.
Untuk laporan harian, buatlah rancangan laporan dengan bentuk seperti gambar berikut ini.

Gambar 9.5 Rancangan Laporan Peminjaman Harian
Hasil:

Gambar 9.6 Hasil Laporan Peminjaman Harian
Laporan peminjaman mingguan
Untuk laporan mingguan, Anda tidak usah membuat rancangan yang baru, cukup dengan menggunakan File + Save As pada laporan harian dan menggantinya dengan laporan mingguan. Setelah itu pindahkanlah Field tanggal dari area Header ke area #1 : tanggalPjm – A. dan hasilnya dapat dilihat pada gambar berikut.
Hasil:

Gambar 9.7 Rancangan Laporan Peminjaman Mingguan
Laporan peminjaman bulanan
Untuk laporan bulanan, rancangan formnya sama saja dengan laporan harian, oleh karena itu simpanlah dengan menggunakan File > Save AS dan ubah namanya menjadi laporan bulanan.
9.7 Rincian Peminjaman Buku
Program ini dibuat untuk melihat kembali rincian peminjaman buku yang telah disimpan dalam database. Kunci pencarian dalam program ini menggunakan nomor pinjam. Untuk memulainya buatlah form dengan bentuk seperti gambar berikut ini.

Gambar 9.8 Form Rincian Peminjaman
Catatan : Jika hasil dalam Grid kosong setelah memilih nomor pinjam, itu artinya semua buku telah dikembalikan.
9.8 Rincian Pengembalian Buku
Untum melihat rincian pengembalian buku buatlah form seperti gambar berikut ini.

Gambar 9.9 Form Rincian Pengembalian
Program Pemesanan Dan Pengiriman Barang
Program pemesanan dan pengiriman barang ini polanya mengikuti program perpustakaan dan rental VCD. Perbedaannya adalah pada program pengiriman barang terdapat tambahan proses, yaitu pada pengisian kurir yang mengirimkan barang pesanan dan biaya sisa yang harus di bayar jika uang muka belum lunas.
11.1 Normalisasi File
Program Pesanan ini dirancang dengan Normaliasi level ketiga (3NF) dengan bentuk seperti Gambar 11.1.

Gambar 11.1 Normalisasi File
Program pemesanan barang ini menyimpan data ke dua tabel yaitu tabel Pesanan dan DetailPsn seperti terlihat pada tabel-tabel berikut ini.
Tabel Pesanan
| Pesanan | |||||||||
| Nomorpsn | Tanggalpsn | Totalitem | Totalhrg | DP | Sisa | Nomorksm | KodeKsr | TglMintakrm | Ket |
| P070905005 | 05/09/07 | 3 | 18500 | 0 | 18500 | KSM02 | KSR01 | 05/09/07 | Belum Dikirim |
| P070918001 | 18/09/07 | 3 | 7000 | 0 | 7000 | KSM04 | KSR01 | 18/09/07 | Belum Dikirim |
Tabel DetailPsn
| DetailPsn | ||
| Nomorpsn | Kodebrg | Jumlahpsn |
| P070918001 | BRG002 | 2 |
| P070918001 | BRG001 | 1 |
| P070910001 | BRG002 | 2 |
| P070910001 | BRG001 | 1 |
| P070905005 | BRG008 | 1 |
| P070905005 | BRG004 | 1 |
| P070905005 | BRG001 | 1 |
11.2 Database Dan Tabel
Untuk mengetahui file database dan struktur masing-masing tabel berikut type data dan kunci primer maupun kunci tamunya silakan buka CD pendukung buku ini.

Gambar 11.2 Database Dan Tabel
11.3 Membuat Module
Untuk memulai membuat program Pesanan, aktifkanlah VB kemudian awali dengan membuat module lalu ketik coding berikut ini.
Coding :
Public
Public RSBarang As ADODB.Recordset
Public RSKasir As ADODB.Recordset
Public RSKonsumen As ADODB.Recordset
Public RSPesanan As ADODB.Recordset
Public RSDetailPsn As ADODB.Recordset
Public RSKurir As ADODB.Recordset
Public RSPengiriman As ADODB.Recordset
Public RSDetailKrm As ADODB.Recordset
Public RSTransaksi As ADODB.Recordset
Public Sub BukaDB()
Dim STR As String
Set RSBarang = New ADODB.Recordset
Set RSKasir = New ADODB.Recordset
Set RSKonsumen = New ADODB.Recordset
Set RSPesanan = New ADODB.Recordset
Set RSDetailPsn = New ADODB.Recordset
Set RSKurir = New ADODB.Recordset
Set RSPengiriman = New ADODB.Recordset
Set RSDetailKrm = New ADODB.Recordset
Set RSTransaksi = New ADODB.Recordset
Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\ADOPesanan.mdb"
End Sub
11.4 Transaksi Pemesanan Barang
Dengan asumsi form login, data kasir, barang, konsumen dan kurir telah dibuat, kini saatnya membuat form Pesanan dengan bentuk seperti Gambar 11.3 berikut ini.

Gambar 11.3 Transaksi Pemesanan Barang

11.5 Transaksi Pengiriman Barang
Logika dasar dalam program pengiriman barang ini adalah membaca kembali data yang telah disimpan dalam tabel pesanan dan detailpsn, kemudian kirimkan oleh kurir dan isilah berapa sisa pembayarannya. Setelah itu berilah keterangan di tabel pesanan bahwa data dengan nomor kirim tersebut telah dikirimkan.

Gambar 11.4 Transaksi Pengirian Barang
Catatan :
Dalam CD pendukung buku kami telah membuat program ini lengkap dengan laporan yang sifatnya parsial dan laporan akumulasi baik pemesanan maupun pengiriman barang. Selain itu telah dibuatkan pula program rincian pemesanan dan pengiriman barang. Silakan dilihat programnya satu persatu.
Program Rekam Medis
Program ini merupakan konversi dari konsep DAO ke
12.1 Normalisasi File
Program rekam medis ini dirancang dengan normalisasi level 3 (3NF) dengan bentuk seperti Gambar 12.1 di bawah ini.

Gambar 12.1 Normalisasi File
12.2 Database Dan Tabel
Untuk mengetahui file database dan struktur masing-masing tabel berikut type data dan kunci primer maupun kunci tamunya silakan buka CD pendukung buku ini.

Gambar 12.2 Database Dan Tabel
Pembuatan program data ADM, pasien, obat dan dokter tidak disajikan di sini, silakan dibuat sendiri dengan merujuk pada bab 1 (program dasar) dengan panduan struktur tabel yang telah dijelaskan di atas, atau Anda dapat membuka CD program pendukung buku ini lalu melihat programnya satu persatu.
12.3 Membuat Module
Sebelum memulai pembuatan program rekam medis buatlah sebuah Module dengan diawali mengaktifkan VB kemudian ketiklah coding berikut ini.
Public
Public RSObat As ADODB.Recordset
Public RSAdm As ADODB.Recordset
Public RSPasien As ADODB.Recordset
Public RSDokter As ADODB.Recordset
Public RSDetail As ADODB.Recordset
Public RSResep As ADODB.Recordset
Public RSTransaksi As ADODB.Recordset
Public Sub BukaDB()
Set RSObat = New ADODB.Recordset
Set RSAdm = New ADODB.Recordset
Set RSPasien = New ADODB.Recordset
Set RSDokter = New ADODB.Recordset
Set RSDetail = New ADODB.Recordset
Set RSResep = New ADODB.Recordset
Set RSTransaksi = New ADODB.Recordset
Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\ADOMedical.mdb"
End Sub
12.4 Transaksi Rekam Medis
Untuk mengolah data rekam medis, buatlah form dengan bentuk seperti Gambar 12.3 di bawah ini.

Gambar 12.3 Form Rekam Medis

12.5 Pencarian Berdasarkan Nama Pasien
Program pencarian ini dilakukan dengan mengetik nama pasiennya dan hasilnya ditampilkan berupa laporan dari Crystal Report.

Gambar 12.4 Pencarian Berdasarkan Nama Pasien
Laporan ini akan menampilkan data berulang-ulang karena tidak menutup kemungkinan seorang pasien didiagnosa oleh dokter berkali-kali. hasil yang ditampilkan pada Gambar 12.5 hanya memperlihatkan bagian atasnya saja.

Gambar 12.5 Laporan Hasil Rekam Medis
Untuk menghasilkan bentuk laporan seperti Gambar 12.5 di atas, buatlah rancangannya dengan Crystal Report dengan bentuk seperti Gambar 12.6.

Gambar 12.6 Rancangan Laporan Rekam Medis
Program Bank
Pada program bank ini diperlukan konsentrasi ekstra, karena kita harus memerhatikan perubahan saldo setiap kali terjadi transaksi baik melalui Teller maupun melalui ATM.
13.1 Normalisasi File
Dalam program bank ini bentuk relasinya one to one, karena setiap terjadi satu transaksi maka data disimpan satu kali, tidak ada data yang disimpan berulang. Bentuk normalisasinya dapat dilihat pada Gambar 13.1 berikut ini.

Gambar 13.1 Normalisasi File
13.2 Database Dan Tabel
Untuk mengetahui file database dan struktur masing-masing tabel berikut type data dan kunci primer maupun kunci tamunya silakan buka CD pendukung buku ini.

Gambar 13.2 Database Dan Tabel
13.3 Membuat Module
Langkah awal pembuatan program bank adalah membuat module yang di dalamnya terdapat nomor transaksi yang terus berubah. Setelah mengaktifkan VB, buatlah module kemudian tulislah coding berikut ini.
13.4 Buka Rekening
Program pertama pembukaan rekening dengan saldo minimal sebesar Rp. 500,000,- buatlah form dengan bentuk seperti Gambar 13.3 di bawah ini.

Gambar 13.3 Transaksi Pembukaan Rekening

Gambar 13.4 Bukti Pembukaan Rekening
13.5 Transaksi Setoran
Setelah seorang nasabah membuka rekening, selanjutnya kita coba membuat program transaksi setoran dengan bentuk form seperti Gambar 13.5 berikut.

Gambar 13.5 Setoran

Gambar 13.6 Bukti Setoran
13.6 Pengambilan Kas
Program ini hampir sama dengan program setoran kas. Buatlah form seperti Gambar 13.7. Untuk mempercepat pekerjaan, salinlah form setoran kas kemudian ubahlah beberapa bagiannya sehingga cocok untuk program pengambilan kas dan salin juga codingnya kemudian ubahlah tanda PLUS menjadi tanda MINUS pada bagian SQLEdit.

Gambar 13.7 Penarikan Dana

Gambar 13.8 Bukti Penarikan
13.7 Fasilitas ATM
Beberapa program yang disediakan oleh fasilitas ATM ini antara lain :
1. Informasi saldo
2. Penarikan tunai
3. Transfer antar bank
4. Pembayaran tagihan
5. Dan ganti PIN
Untuk memulainya buatlah form dengan bentuk seperti Gambar 13.9 berikut ini.

Gambar 13.9 Fasilitas ATM
13.8 Informasi Saldo
Informasi saldo digunakan sebagai bahan pertimbangan sebelum melakukan transaksi, dengan demikian dapat diperkirakan transaksi apa yang dapat dilakukan dengan jumlah saldo yang dimiliki saat ini.
Private Sub Command1_Click()
Call BukaDB
RSNasabah.Open "select * from nasabah where norek='" & LblNoRek & "'",
If Not RSNasabah.EOF Then
MsgBox "Nama : " & RSNasabah!Namansb & "" & Chr(13) & _
"Saldo : Rp. " & Format(RSNasabah!Saldo, "###,###,###") & ""
End If
End Sub

Gambar 13.10 Informasi Saldo
13.9 Penarikan Dana
Penarikan dana dibuat dengan dua model, yaitu model jumlah otomatis dimana jumlah uang tinggal dipilih dalam list dan model jumlah yang diisi manual.

Gambar 13.11 Penarikan Dana di ATM

Gambar 13.12 Bukti Penarikan Dana di ATM
13.10 Penarikan Manual
Buatlah form untuk program penarikan manual seperti Gambar 13.13 di bawah ini.

Gambar 13.13 Penarikan Dana Manual

13.11 Transfer Dana
Untuk transaksi transfer dana buatlah form seperti gambar berikut ini.

Gambar 13.14 Transaksi Transfer Dana

Gambar 13.15 Bukti Transfer
13.12 Bayar Tagihan
Data tagihan disimpan dalam tabel Tagihan dengan rincian sebagai berikut.
| Tagihan | |||
| NomorPlg | NamaPlg | Tagihan | Status |
| 12345 | RUSMAN | 90000 | |
| 23456 | RYAN | 85000 | |
| 34567 | HAFIZ | 120000 | |
| 45678 | ALBANI | 100000 | |
| 56789 | RISNA | 50000 | |

Gambar 13.16 Pembayaran Telepon

Gambar 13.17 Bukti Pembayaran Telepon
13.13 Ganti PIN
Untuk menggati PIN buatlah form dengan bentuk seperti gambar berikut ini.
Gambar 13.18 Ganti PIN
13.14 Jejak Transaksi
Setelah sekian banyak transaksi dilakukan oleh nasabah baik melalui Teller maupun ATM, kini saatnya kita melihat jejak transaksi tersebut. Buatlah form seperti Gambar 13.19 berikut ini.

Gambar 13.19 Form Jejak Transaksi

Gambar 13.20 Laporan Jejak Transaksi
Program penggajian
Program ini digunakan di setiap perusahaan dengan pola yang berbeda-beda. Asumsi yang digunakan dalam program ini adalah pada sebuah perusahaan. Dengan memahami polanya, anda dapat membuat program penggajian sesuai dengan situasi dan kondisi sistem yang dijadikan objek observasi.
Proses awal program penggajian ini dimulai dengan mengolah data pegawai, dalam hal ini kami hanya membuat field di tabel pegawai yang ada kaitannya dengan pembayaran gaji, kami tidak menyertakan field agama, jenis kelamin dan sejenisnya yang tidak ada kaitannya dengan perhitungan gaji, olehkarena itu pembaca dipersilakan untuk menambahkan field lain yang dirasa perlu. Kemudian dilanjutkan dengan mengolah data golongan. Setiap golongan memiliki standar pembayaran tersendiri untuk menentukan berapa tunjangan keluarganya, tunjangan anak, uang makan, uang lembur dan jaminan kesehatannya. Setelah itu dilanjutkan dengan mengolah data jabatan, dimana setiap jabatan memiliki standar pembayaran tersendiri yang berupa gaji pokok dan tunjangan jabatannya. Proses berikutnya adalah mengentri data kehadiran pegawai, data kehadiran inilah yang menjadi sumber data dalam proses perhitungan gaji. Dalam hal ini kami sajika dua model pengolahan data kehadiran.
Pola pertama adalah dengan mengentri kehadiran dalam bentuk akumilasi dalam satu bulan. Asumsinya data ini diambil dari absen harian (amano) dimana jumlah kehadiran dalam satu bulan tersebut dientri dalam form berupa berapa hari seorang karyawan masuk kerja dalam sebulan, berapa hari sakit, izin dan alpa. Selain itu dalam form yang sama dientri pula jumlah jam lembur dalam satu bulan. Dan pada kolom terakhir dientri pula berapa jumlah potongannya dalam sebulan.
Pola kedua adalah dengan mengentri kahadiran karyawan per hari, jam berapa seorang karyawan masuk kerja dan jam berapa dia pulang. Setelah itu secara otomatis lama jam kerja akan tampil dan berapa jam lama kerja lemburnya di hari tersebut. Tapi model ini dirasakan kurang efektif karena proses entri data memakan waktu yang cukup lama.
1.1 Merancang Database Dan Bentuk Relasi Tabel
Langkah awal yang harus dilakukan dalam pembuatan program penggajian ini adalah :
1. Membuat database dengan nama DBGAJI.mbd
2. Membuat tabel pegawai
3. Membuat tabel jabatan
Isi tabel jabatan adalah sebagai berikut :
| JABATAN | |||
| KOJAB | NMJABATAN | GAPOK | TJJABATAN |
| ADM | ADMINISTRASI | 1000000 | 300000 |
| ANL | ANALIS | 4000000 | 800000 |
| BDN | BENDAHARA | 1000000 | 300000 |
| CLR | CLEANING SERVICE | 600000 | 100000 |
| DKM | DOKUMENTASI | 800000 | 300000 |
| DRK | DIREKTUR | 8000000 | 2000000 |
| DSR | DESIGNER | 2500000 | 700000 |
| KSM | KONSUMSI | 600000 | 150000 |
| MNG | MANAGER | 7000000 | 1200000 |
| PRL | PERALATAN | 600000 | 100000 |
| PRS | PERSONALIA | 4000000 | 900000 |
| RSP | RESEPSIONIS | 750000 | 250000 |
| SKR | SEKRETARIS | 1000000 | 300000 |
| SPR | SENIOR PROGRAMER | 3000000 | 600000 |
| YPR | YUNIOR PROGRAMER | 1200000 | 400000 |
Gambar 1.1 Tabel Jabatan
4. Membuat tabel golongan
Isi tabel golongan adalah sebagai berikut :
| GOLONGAN | |||||
| GOL | TJSUAMIISTRI | TJANAK | UMAKAN | LEMBUR | ASKES |
| 1 | 50000 | 40000 | 4000 | 2000 | 35000 |
| 2 | 100000 | 80000 | 5000 | 3000 | 50000 |
| 3 | 150000 | 120000 | 5000 | 4000 | 75000 |
| 4 | 200000 | 160000 | 6000 | 5000 | 100000 |
| 5 | 250000 | 200000 | 6000 | 6000 | 125000 |
| 6 | 300000 | 240000 | 7000 | 7000 | 150000 |
Gambar 1.2 Tabel Golongan
5. Membuat tabel master absen
Catatan :
Pembaca dapat membuat manuver sendiri pada field lembur dengan membuat tabel tersendiri dimana datanya dientri dari jam keluar dikurangi jam masuk, maka akan dihasilkan lama kerja. Jika lama kerja lebih dari 8 jam maka lama lemburnya adalah mlama kerja dikurangi 8 jam. Dalam buku ini jumlah jam lembur diasumsikan telah diakumulasikan dalam satu bulan.
Selain itu pada field potongan, pembaca juga dapat berinovasi dengan membuat tabel potongan tersendiri dengan rincian sesuai kebutuhan sistem. Misalnya potongan pinjaman koperasi, hutang dan sebagainya. Dalam buku ini jumlah potongan diasumsikan telah diakumulasikan.
6. Membuat tabel gaji. Tabel inilah yang menjadi tabel master transaksi sebagai keseluruhan hasil transaksi atau kalkulasi penggajian berdasarkan jabatan, golongan, dan absensi karyawan.
7. Membuat tabel temporer. Tabel ini hanyalah tabel sementara tempat transaksi absen, lembur dan potongan.
Demikianlah ilustrasi awal rancangan database untuk program penggajian ini. Langkah selanjutnya adalah membuat project di VB.
Bentuk relasi tabel dalam program penggajian ini terlihat pada gambar di bawah ini :

Gambar 1.3 Relasi Tabel Program Penggajian
1.2 Membuat Modul
Hal ini dibuat agar melakukan koneksi ke database cukup dengan memanggil nama prosedurnya saja. Lakukanlah langkah di bawah ini :
· Buka VB
· Klik menu project
· Pilih add module
· Klik open
· Kemudian ketiklah koding di bawah ini :
Public
Public RSGAJI As ADODB.Recordset
Public RSGOL As ADODB.Recordset
Public RSJabatan As ADODB.Recordset
Public RSPegawai As ADODB.Recordset
Public RSMASTER As ADODB.Recordset
Public RSTEMPORER As ADODB.Recordset
Public RSABSEN As ADODB.Recordset
Public Sub BukaDB()
Set RSGAJI = New ADODB.Recordset
Set RSGOL = New ADODB.Recordset
Set RSJabatan = New ADODB.Recordset
Set RSPegawai = New ADODB.Recordset
Set RSMASTER = New ADODB.Recordset
Set RSTEMPORER = New ADODB.Recordset
Set RSABSEN = New ADODB.Recordset
Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DBGaji.mdb"
End Sub
1.3 Data Pegawai
Setelah membuat module, buatlah form untuk mengolah tabel master pegawai dengan bentuk seperti gambar di bawah ini.

Gambar 1.4 Form Data Pegawai
1.4 Data Jabatan
Kemudian buatlah form untuk mengolah tabel master jabatan dengan bentuk seperti gambar di bawah ini :

Gambar 1.5 Form Data Jabatan
1.5 Data Golongan
Kemudian buatlah form untuk mengolah tabel golongan dengan bentuk seperti gambar di bawah ini:

Gambar 1.6 Form Data Golongan
1.6 Entri Data Kehadiran Karyawan
Setelah itu buatlah form untuk mengolah tabel master absen dengan bentuk seperti gambar di bawah ini :

Gambar 1.7 Form Entri Kehadiran
Contoh form entri absen seperti ini diasumsikan datanya diambil dari absen amano yang telah diakumulasikan per karyawan pada bulantertentu, termasuk data lembur dan potongannya.
1.7 Perhitungan Gaji
Sebagaimana yang telah dijelaskan sebelumnya, entri absen ini dapat dibuat sesuai kebutuhan sistem, anda dapat saja membuat bentuk form absen dengan bentuk yang berbeda.
Setelah itu buatlah sebuah form untuk menghitung gaji karyawan dengan bentuk seperti gambar di bawah ini:

Gambar 1.8 Form Perhitungan Gaji
1.8 Pencetakan Slip Gaji
Dengan langkah-langkah di atas, sebenarnya proses program penggajian sudah selesai, langkah berikutnya adalah membuat laporan penggajian. Bentuk laporan yang pertama dibuat adalah slip gaji per karyawan. Buatlah form dengan bentuk seperti gambar di bawah ini :

Gambar 1.9 Form Cetak Slip Gaji

Gambar 1.10 Slip Gaji
1.9 Pembuatan Laporan
Setelah proses transaksi selesai, langkah selanjutnya adalah membuat laporan dengan menggunakan
1.9.1 Laporan Data Pegawai.

Gambar 1.11 Laporan Data Pegawai
Laporan ini dipanggil melalui menu dengan koding sebagai berikut :
Private Sub MNLAPPEGAWAI_Click()
CR.ReportFileName = App.Path & "\Lap PEGAWAI.rpt"
CR.WindowState = crptMaximized
CR.RetrieveDataFiles
CR.Action = 1
End Sub
1.9.2 Laporan Data Golongan

Gambar 1.12 Laporan Data Golongan
1.9.3 Laporan Data Jabatan.

Gambar 1.13 Laporan Data Jabatan
1.9.4 Laporan Kehadiran Karyawan

Gambar 1.14 Laporan Data Kehadiran
1.9.5 Laporan Data Lembur

Gambar 1.15 Laporan Data Lembur
1.9.6 Laporan Data Potongan

Gambar 1.16 Laporan Data Potongan
Program akuntansi
Program ini merupakan sebuah ilustrasi tentang pemesanan barang bubut, seperti pintu gerbang, teralis jendela, pagar rumah, tangga dalam rumah dan sejenisnya. Pola ini dapat digunakan pada pemesanan barang yang lainnya.
Proses yang terjadi dalam program ini adalah sebagai berikut :
1. Penyimpanan uang kas oleh pemilik perusahaan
2. Pemesan datang meminta dibuatkan barang misalnya berupa pintu gerbang
3. Pemilik perusahaan menyebutkan harga pembuatan barang pesanan tersebut
4. Pemesan membayar uang muka atau dilunasi sekaligus
5. Pemilik perusahaan membeli bahan
6. Barang yang telah jadi dikirimkan kepada pemesan
7. Pembuatan laporan pemesanan dan pengiriman barang
2.1 Merancang Database Dan Bentuk Relasi Tabel
Langkah awal yang harus dilakukan adalah membuat database dnegan nama DBAKN.mdb. kemudian membuat beberapa tabel yang diperlukan antara lain:
1. Tabel master kasir
2. Tabel master pemesan
3. Tabel master kode perkiraan
4. Tabel transaksi master
5. Tabel transaksi detail
6. Tabel transaksi arus kas
7. Tabel temporer
Relasi tabel pada program akuntansi terlihat pada gambar di bawah ini:

Gambar 2.1 Bentuk Relasi Tabel Program Akuntansi
Itulah ilustrasi program pemesanan barang ini. Langkah berikutnya adalah membuat database sesuai dengan spesifikasi file yang disebutkan di atas, kemudian membuat project di VB. Agar akses ke database lebih efektif dan efisien maka sebaiknya dibuat sebuah module.
2.2 Membuat Module
· Aktifkan VB
· Klik menu project
· Add module
· Open
· Ketiklah program berikut ini.
Public
Public RSPerkiraan As ADODB.Recordset
Public RSPemesan As ADODB.Recordset
Public RSMasterPO As ADODB.Recordset
Public RSDetailPO As ADODB.Recordset
Public RSBukuBesar As ADODB.Recordset
Public RSKASIR As ADODB.Recordset
Public RSKas As ADODB.Recordset
Public RSArusKas As ADODB.Recordset
Public Sub BukaDB()
Set RSPerkiraan = New ADODB.Recordset
Set RSPemesan = New ADODB.Recordset
Set RSMasterPO = New ADODB.Recordset
Set RSDetailPO = New ADODB.Recordset
Set RSBukuBesar = New ADODB.Recordset
Set RSKASIR = New ADODB.Recordset
Set RSKas = New ADODB.Recordset
Set RSArusKas = New ADODB.Recordset
Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DBAKN.mdb"
End Sub
2.3 Login

Gambar 2.2 Login
2.4 Kasir

Gambar 2.3 Pengolahan Data Kasir
2.5 Simpan Kas Sebagai Modal

Gambar 2.4 Simpan Modal
2.6 Pemesan

Gambar 2.5 Pengolahan Data Pemesan
2.7 Kode Perkiraan

Gambar 2.6 Pengolahan Data Perkiraan
2.8 Pemesanan Barang
Alur proses dalam program pemesanan barang ini adalah sebagai berikut :
1. Nomor PO otomatis
2. Mengisi data pemesan cukup dengan memilih atau mengetiknya dalam combo
3. Isilah berapa jumlah ordernya
4. Berapa uang muka yang dibayarkan
5. Transaksi barang-barang yang diperlukan dalam pembuatan pesanan dimulai dengan memilih tanggal, kemudian diisi barang apa saja yang dibeli
6. Kode barang atau account yang dibeli cukup dengan memilih dalam list kemudian menekan enter
7. Setelah itu isilah berapa jumlah dana yang dikeluarkan untuk pembelian bahan-bahan pesanan tersebut.

Gambar 2.7 Pemesanan Barang
2.9 Pengiriman Barang

Gambar 2.8 Pengiriman Barang
2.10 Laporan
Pembuatan laporan dapat dilakukan selengkap mungkin yaitu :
1. Laporan pemesanan per nomor faktur
2. Laporan pemesanan harian, mingguan dan bulanan
3. Laporan pemesanan yang sudah dikirim atau belum dikirim
4. Laporan pemesanan yang sudah lunas atau belum lunas
5. Laporan biaya-biaya (harian, mingguan dan bulanan)
6. Laporan biaya-biaya per kode perkiraan
7. Dan sebagainya
Langkah awalnya adalah membuat form dengan bentuk seperti gambar di bawah ini :

Gambar 2.9 Laporan Pemesanan Barang
2.10.1 Laporan Pemesanan Barang Per Nomor Faktur

Gambar 2.10 Laporan Pemesanan Per Nomor Faktur
2.10.2 Laporan Pemesanan Lunas / Belum Lunas

Gambar 2.11 Laporan Pemesanan Lunas / Belum Lunas
2.10.3 Laporan Pemesanan Dikirm / Belum Dikirim

Gambar 2.12 Laporan Pemesanan Diikirm / Belum Dikirim
2.11 Laporan arus kas
Sebelum membuat laporan arus kas, buatlah form dengan bentuk seperti gambar di bawah ini:

Gambar 2.13 Form Laporan Arus Kas
2.11.1 Laporan Arus Kas Harian

Gambar 2.14 Laporan Arus Kas Harian
2.11.2 Laporan Arus Kas Mingguan

Gambar 2.15 Laporan Arus Kas Mingguan
2.11.3 Laporan Arus Kas Bulanan

Gambar 2.16 Laporan Arus Kas Bulanan
2.12 Laporan Biaya-Biaya

Gambar 2.17 Form Laporan Biaya-Biaya

Gambar 2.18 Laporan Rekapitulasi Biaya
2.12.1 Laporan Buku Besar

Gambar 2.19 Laporan Buku Besar
Program Kredit bank
Program ini digunakan untuk melakukan pendataan pada pembiayaan kredit dari sebuah lembaga keuangan kepada para nasabah.
Proses yang terjadi dalam program ini adalah sebagai berikut:
1. Nasabah datang untuk meminjam uang ke bank
2. Pihak bank melakukan pendataan terhadap nasabah tersebut
3. Proses perhitungan pinjaman oleh bank berupa jumlah uang yang dipinjam, bunga pertahun dan lamanya cicilan. Dengan kalkulasi keuangan maka akan dihasilkan berapa cicilan yang harus dibayar tiap bulannya
4. Nasabah melakukan pembayaran cicilan perbulan
5. Pembuatan laporan
3.1 Merancang Database Dan Bentuk Relasi Tabel
Langkah awal yang harus dilakukan adalah membuat database dengan nama DBKEUANGAN.mdb, kemudian membuat beberapa tabel yang diperlukan antara lain :
1. Tabel KASIR
2. Tabel NASABAH
3. Tabel PINJAM
4. Tabel DETAIL PINJAM
5. Tabel BAYAR
6. Dan tabel TEMPORER
Bentuk relasi tabel pada program kredit bank ini terlihat pada gambar di bawah ini :

Gambar 3.1 Bentuk Relasi Tabel
Catatan :
Program ini memerlukan uji coba yang cukup akurat, karena semua transaksi berkaitan dengan tanggal. Cobalah bermain di control panel untuk mengganti data tanggal untuk sementara waktu, hal ini dilakukan untuk mengetahui jumlah denda bagi nasabah yang terlambat melakukan pembayaran jika masa jatuh tempo telah lewat. Setelah anda memahami proses dalam program ini, maka langkah berikutnya adalah membuat project dengan VB.
3.2 Membuat Modul
Tujuan dibuat modul adalah agar koneksi ke database dapat dilakukan dengan efektif dan efisien. Buatlah sebuah module kemudian ketiklah program di bawah ini :
Public
Public RS As ADODB.Recordset
Public RSNasabah As ADODB.Recordset
Public RSKasir As ADODB.Recordset
Public RSPinjam As ADODB.Recordset
Public RSDetailPjm As ADODB.Recordset
Public RSBayar As ADODB.Recordset
Public Sub BukaDB()
Set RS = New ADODB.Recordset
Set RSNasabah = New ADODB.Recordset
Set RSPinjam = New ADODB.Recordset
Set RSKasir = New ADODB.Recordset
Set RSDetailPjm = New ADODB.Recordset
Set RSBayar = New ADODB.Recordset
Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DBKeuangan.mdb"
End Sub
3.3 Login

Gambar 3.2 Form Login
3.4 Kasir

Gambar 3.3 Form Kasir
3.5 Nasabah

Gambar 3.4 Form Data Nasabah
3.6 Transaksi Kredit

Gambar 3.5 Form Peminjaman

Gambar 3.6 Contoh Transaksi Kredit
3.7 Pembayaran Cicilan

Gambar 3.7 Form Pembayaran Cicilan

Gambar 3.8 Contoh Transaksi Pembayaran
3.8 Pembuatan Laporan

Gambar 3.9 Form Laporan

Gambar 3.10 Laporan Peminjaman

Gambar 3.11 Laporan Pembayaran Pinjaman
Program Koperasi (Foto Dari Webcam)
Inti program ini adalah bagaimana cara menyimpan gambar (foto) ke dalam database dan menampilkannya pada form. Kemudian di dalamnya dibahas tentang bagaimana proses sistem koperasi. Program ini sebenarnya sangat sederhana. Proses program ini diawali dengan mengambil foto anggota melalui webcam. Dalam pengambilan gambar ini seringkali ukurannya harus diatur ulang secara manual. Oleh karena itu dalam CD pendukung buku ini kami lapirkan software TNT Capture untuk mengambil gambar dengan ukuran yang sesuai dengan besarnya ukuran pictureBox dalam form anggota. Untuk melihat petunjuk instalasi dan cara menggunakan software TNT Capture ini silakan lihat bab cara instalasi TNT Capture di bagian bawah.
5.1 Merancang Database Dan Bentuk Relasi Tabel
Langkah awal yang harus dilakukan dalam pembuatan program penggajian ini adalah :
1. Membuat database dengan nama DBKOPERASI.mbd
2. Membuat tabel ANGGOTA
3. Membuat tabel KASIR
4. Membuat tabel SIMPAN
5. Membuat tabel PINJAM
Demikianlah ilustrasi awal rancangan database untuk program penggajian ini. Langkah selanjutnya adalah membuat project di VB. Bentuk relasi tabel dalam program koperasi ini terlihat pada gambar di bawah ini :

Gambar 5.1 Relasi Tabel
5.2 Membuat Modul
Hal ini dibuat agar melakukan koneksi ke database cukup dengan memanggil nama prosedurnya saja. Lakukanlah langkah di bawah ini :
· Buka VB
· Klik menu project
· Pilih add module
· Klik open
· Kemudian ketiklah koding di bawah ini :
Public
Public RSKasir As ADODB.Recordset
Public RSAnggota As ADODB.Recordset
Public RSSimpan As ADODB.Recordset
Public RSPinjam As ADODB.Recordset
Public Sub BukaDB()
Set RSKasir = New ADODB.Recordset
Set RSAnggota = New ADODB.Recordset
Set RSSimpan = New ADODB.Recordset
Set RSPinjam = New ADODB.Recordset
Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DBKoperasi.mdb"
End Sub
5.3 Data Anggota
Setelah membuat module, buatlah form untuk mengolah tabel master anggota dengan bentuk seperti gambar di bawah ini. Dalam form anggota tambahkanlah objek CommonDialog (untuk membuka forlder dan mengambil gambar) dan objek PictureBox (untuk menampilkan gambar yang dipilih).

Gambar 5.2 Form Anggota

Gambar 5.3 Form Anggota
5.4 Data Tabungan
Kemudian buatlah form untuk mengolah data penyimpanan dana nasabah dengan bentuk seperti gambar di bawah ini.

Gambar 5.4 Data Tabungan
5.5 Data Pinjaman
Kemudian buatlah form untuk mengolah transaksi peminjaman dana dengan bentuk seperti gambar di bawah ini:

Gambar 5.5 Form Pinjaman
Jika anda ingin membuat program lebih cepat pada proses peminjaman ini, salin saja form tabungan berikut kodingnya, kemudian simpan dengan nama Pinjaman. Setelah itu ubahlah proses penambahan saldo menjadi pengurangan saldo (artinya anda cukup mengganti tanda + menjadi tanda – (minus). Setelah itu ubahlah sebuah hal yang berkaitan dengan simpanan menjadi pinjaman. Dengan satu cacatan penting anda harus memasang validasi agar jangan sampai peminjaman melebihi saldo awal
5.6 Pembuatan Laporan
Dalam program ini laporan dibagi menjadi dua bagian berdasarkan proses yang terjadi sebelumnya, yaitu laporan tabungan dan laporan pinjaman. Laporan tabungan dikelompokkan berdasarkan nomor anggota, laporan tabungan per hari, per minggu, per bulan dan per tahun. Begitupun dengan laporan pinjaman, dibuat sama dengan laporan tabungan. Tetapi dalam buku ini kami tidak akan membahas laporan pinjaman secara rinci. Kami cukupkan contohnya dengan laporan tabungan saja. Buatlah form laporan tabungan seperti gambar di bawah ini.

Gambar 5.6 Form Laporan Tabungan
5.6.1 Laporan Penyimpanan Per Anggota

Gambar 5.7 Laporan Tabungan Per Anggota
5.6.2 Laporan Tabungan Harian

Gambar 5.8 Laporan Tabungan Per Tanggal
5.6.3 Laporan Tabungan Mingguan

Gambar 5.9 Laporan Tabungan Per Minggu
5.6.4 Laporan Tabungan Bulanan

Gambar 5.10 Laporan Tabungan Per Bulan
5.6.5 Laporan Tabungan Tahunan

Gambar 5.11 Laporan Tabungan Per Tahun
Program Inventori
1.1 Login

1.2 Data Kasir

1.3 Data Barang

1.4 Data Customer

1.5 Data Suplier

1.6 Transaksi Barang Masuk

1.7 Laporan Barang Masuk

1.8 Transaksi Barang Keluar

1.9 Laporan Barang Keluar

1.10 Laporan Stok Barang

Tidak ada komentar:
Posting Komentar