Minggu, 11 Desember 2011

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


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



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 akansekaligus 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.
Struk Pembelian
Untuk dapat menampilkan hasil transaksi ke layar, harus ditambahkan sebuah form baru dengan namaTAMPILKAN (nama form bebas). Contoh faktur dari transaksi pembelian adalah sebagai berikut.
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.
Laporan Pembelian
Laporan pembelian dibagi menjadi tiga, yaitu laporan harian, mingguan dan bulanan. Buatlah form seperti bentuk di bawah ini.

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





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

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

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)

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.
Faktur Penjualan
Faktur yang dihasilkan sama dengan faktur pembelian, dan jika printer telah siap pakai Anda tinggal menekan enter lalu menjawab Yes.


Laporan Penjualan


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

Catatan :
Dengan kecerdikan yang Anda miliki, kami yakin Anda dapat membuat program penjualan dengan konsepADO hanya dalam waktu 3 menit saja. Caranya adalah sebagai berikut :
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.
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 bentuknormalisasi  dengan pola one to many terlihat pada gambar di bawah ini.
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.
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


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  itubuatlah GUI seperti Gambar 7.3 berikut ini.
Jika program di atas dijalankan akan menghasilkan data sebagai berikut:

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.

Jika program di atas dijalankan akan menghasilkan data sebagai berikut:

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.


Saat pertama kali program dijalankan, akan terlihat tampilan seperti Gambar 7.8 di bawah ini.

Jika nilai test1 -  test4 diisi dengan data-data seperti tampilan di bawah ini

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 akanmenghasilkan data sebagai berikut:
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.
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.

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.

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.

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.


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


Hasil rancangan tersebut jika program dijalankan akan menampilkan laporan seperti Gambar 7.17.

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.



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 caramengurutkan data skor dengan nilai terbesar.

Tidak ada komentar:

Posting Komentar