SISTEM INFORMASI
PENJUALAN DAN PEMBELIAN BARANG
PADA TOKO LINA BUSANA GROSIR
KERJA PRAKTEK
Disusun oleh :
Feni Lanawati
NIM. 22033401
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK
UNIVERSITAS KRISTEN DUTA WACANA
YOGYAKARTA
2007
ABSTRAK
Toko Lina Busana Grosir menjual berbagai macam pakaian, seperti baju, celana, seragam, kain, baju tidur, dan lain-lain dengan berbagai merk dan jenis yang berbeda-beda. Penjualan yang dilakukan bisa secara grosir ataupun eceran. Toko ini telah berdiri hingga sekarang tahun 2007 dan bertempat di Jalan Jendral Sudirman no.117 Sidareja-Cilacap, telepon (0280) 523131. Permasalahan yang dihadapi adalah sulitnya melakukan pemantauan terhadap perkembangan hasil penjualan dan pembelian barang, setelah terjadi berbagai transaksi penjualan dan pemeblian setiap harinya. Selama ini pencatatan transaksi dilakukan secara manual, sehingga tidak dapat dihindarkan terjadinya kesalahan pencatatan karena pemilik toko atau pegawai tidak dapat mengingat dengan pasti barang yang terjual dan harga yang diberikan. Selain itu, pemantauan stok barang yang masih dilakukan secara manual juga cukup merepotkan dan memakan waktu yang lama. Untuk mengatasi hal tersebut, dibuat suatu sistem informasi yang dirancang khususnya untuk membantu pencatatan transaksi penjualan serta penghitungan stok secara otomatis sesuai dengan transaksi yang terjadi. Diharapkan sistem ini akan dapat membantu pihak Toko Lina Busana dalam pencatatan transaksi penjualan eceran maupun grosir dan pemebelian barang secara cepat dan tepat. Sistem ini dirancang sedimikian rupa agar nantinya program yang dibuat akan mudah dipahami dan digunakan oleh pemilik toko maupun pegawai Toko Lina Busana Grosir.
[pic]
UCAPAN TERIMA KASIH
Puji syukur penulis panjatkan ke hadirat Tuhan Yang Maha Kasih yang telah melimpahkan rahmatnya dan anugrahnya, sehingga penulis dapat menyelesaikan program dan laporan Kerja Praktek, yang berjudul “Sistem Informasi Penjualan dan Pembelian Barang Pada Toko Lina Busana Grosir” dengan baik dan tepat waktu. Penulisan laporan ini merupakan kelengkapan dan pemenuhan dari tugas Kerja Praktek. Selain itu bertujuan untuk melatih mahasiswa untuk dapat menghasikan suatu karya yang dapat dipertanggungjawabkan secara ilmiah, yang handal, yang mampu memberikan informasi yang berkualitas, sehingga dapat bermanfaat bagi penggunanya. Dalam penyelesaian pembuatan program dan laporan Kerja Praktek ini, penulis telah banyak menerima bimbingan, saran dan masukan dari berbagai pihak, baik itu secara langsung maupun tidak langsung. Untuk itu dengan segala kerendahan hati, pada kesempatan ini penulis menyampaikan ucapan terimakasih kepada : 1. Bapak R. Gunawan Santosa, Drs., M.Sc, selaku koordinator matakuliah Kerja Praktek. 2. Bapak Ir. Harianto Kristanto, selaku dosen pembimbing dalam menyelesaikan Tugas Praktek , atas bimbingan, petunjuk dan masukan yang diberikan selama pegerjaan tugas ini sejak awal sampai akhir. 3. Bapak dan Ibu Hendri selaku pemilik dan pemimpin Toko Lina Busana Grosir yang telah memberikan kesempatan untuk melaksanakan Kerja Praktek. 4. Papa dan mama tercinta, adik-adikku tersayang pinda, yuni, dan yohan yang menjadi inspirasi dan pendorong semangatku, terimakasih atas doa, cinta, kasih sayangnya, perhatian serta pengorbanannya selama ini. 5. Leo Agung P.B.L, terimakasih buat cinta, kasih sayang, dukungan serta doanya. 6. Teman-teman kos dan teman kampus yang telah memberi masukan dan semangat. 7. Rekan-rekan dan pihak-pihak yang tidak dapat penulis sebutkan satu persatu yang secara langsung maupun tidak langsung telah membantu dan mendukung penyelesaian tugas ini. Terimakasih atas dukungan dan doanya. Penulis menyadari bahwa program dan laporan Kerja Praktek ini masih jauh dari sempurna, untuk itu penulis terbuka untuk kritik dan saran yang bersifat membangun agar menjadi catatan tersendiri bagi penulis untuk terus meningkatkan kemampuan diri. Akhir kata penulis ingin meminta maaf bila ada kesalahan baik dalam penyusunan laporan maupun yang pernah penulis lakukan sewaktu membuat program Kerja Praktek ini. Sekali lagi penulis mohon maaf yang sebesar-besarnya. Dan semoga ini dapat berguna bagi kita semua.
Yogyakarta, Desember 2007
Penulis
DAFTAR ISI
HALAMAN JUDUL i
ABSTRAK ii
HALAMAN PENGESAHAN iii
UCAPAN TERIMA KASIH iv
DAFTAR ISI vi
DAFTAR TABEL viii
DAFTAR GAMBAR ix
BAB I PENDAHULUAN 1. Pendahuluan 1 2. Lokasi Kerja Praktik 2 3. Tujuan Kerja Praktik 2 4. Metodologi Kerja Praktik 3 5. Jadwal Kerja Praktik 3 6. Sistematika Penulisan 4
BAB II LATAR BELAKANG OBJEK 1. Sejarah dan Latar Belakang Organisasi 6 2. Kondisi Sistem yang Berlaku 8 3. Perumusan Masalah 9 4. Batasan Masalah 9 5. Spesifikasi Kebutuhan Sistem 9 2.5.1 Kebutuhan Perangkat Lunak 9 2.5.2 Kebutuhan Perangkat Keras 10 6. Teori-Teori Pendukung 10 7. Bagan Sistem 13
BAB III ANALISIS DAN PERANCANGAN SISTEM 1. Data Flow Diagram 14 1. Data Flow Diagram Level 0 15 2. Data Flow Diagram Level 1 16 3. Data Flow Diagram Level 2 16 1. Diagram 1.0 16 2. Diagram 2.0.................................................. 17 3. Diagram 3.0.................................................. 17 2. Kamus Data 18 3. Perancangan Database 20 1. Model Data Logika 20 2. Database Sistem dan Relasinya 30 3. Rancangan Input 31 4. Rancangan Output 44
BAB IV IMPLEMENTASI SISTEM 1. Implementasi Input 48 2. Implementasi Output 56 3. Implementasi Proses 61 4. Kendala dan Solusi Implementasi 67 1. Kelebihan Sistem 67 4.4.2 Kelemahan Sistem 69
BAB V KESIMPULAN DAN SARAN 1. Kesimpulan 70 2. Saran 70
DAFTAR PUSTAKA 71
LAMPIRAN A. Listing Program B. Kartu Konsultasi
DAFTAR TABEL
|TABEL |KETERANGAN |HALAMAN |
|Tabel 3.2.1 |Kamus Data |18 |
|Tabel 3.3.1.1 |Keterangan Hubungan Antar Entity |22 |
|Tabel 3.3.1.2 |Model Data Logika 5 |25 |
|Tabel 3.3.1.3 |Entity Jenis_brg |26 |
|Tabel 3.3.1.4 |Entity Barang |27 |
|Tabel 3.3.1.5 |Entity Supplier |27 |
|Tabel 3.3.1.6 |Entity Customer |27 |
|Tabel 3.3.1.7 |Entity Pembelian |28 |
|Tabel 3.3.1.8 |Entity Det_beli |28 |
|Tabel 3.3.1.9 |Entity Penjualan |28 |
|Tabel 3.3.1.10 |Entity Det_jual |29 |
|Tabel 3.3.1.11 |Entity User |29 |
|Tabel 3.3.2.1 |Keterangan Relasi Database |30 |
DAFTAR GAMBAR
|GAMBAR |KETERANGAN |HALAMAN |
|Gambar 2.2.1 |Struktur Organisasi Toko Lina Busana Grosir |7 |
|Gambar 2.7.1 |Bagan Sistem Informasi Penjualan dan Pembelian Barang pada Toko |13 |
| |Lina Busana Grosir | |
|Gambar 3.1.1 |Simbol DFD |15 |
|Gambar 3.1.1.1 |Diagram Level 0 |15 |
|Gambar 3.1.2.1 |DFD Level 1 |16 |
|Gambar 3.1.3.1 |Diagram 1.0 Level 2 |16 |
|Gambar 3.1.3.2.1 |Diagram 2.1 Level 2 |17 |
|Gambar 3.1.3.2.2 |Diagram 2.2 Level 2 |17 |
|Gambar 3.1.3.3 |Diagram 3.0 Level 2 |17 |
|Gambar 3.3.1.1 |Model Data Logika 1 |20 |
|Gambar 3.3.1.2 |Model Data Logika 2 |21 |
|Gambar 3.3.1.3 |Model Data Logika 3 |23 |
|Gambar 3.3.1.4 |Model Data Logika 4 |24 |
|Gambar 3.3.1.5 |Model Data Logika 6 |26 |
|Gambar 3.3.2.1 |Database Designer |30 |
|Gambar 3.3.3.1 |Perancangan Form Login |31 |
|Gambar 3.3.3.2 |Perancangan Form Data Jenis Barang |32 |
|Gambar 3.3.3.3 |Perancangan Form Data Barang |33 |
|Gambar 3.3.3.4 |Perancangan Form Data Supplier |34 |
|Gambar 3.3.3.5 |Perancangan Form Data Customer |35 |
|Gambar 3.3.3.6 |Perancangan Form Data User |36 |
|Gambar 3.3.3.7 |Perancangan Form Transaksi Pembelian |37 |
|Gambar 3.3.3.8 |Perancangan Form Transaks Penjualan |38 |
|Gambar 3.3.3.9 |Perancangan Form Pencarian Barang |39 |
|Gambar 3.3.3.10 |Perancangan Form Pencarian Supplier |39 |
|Gambar 3.3.3.11 |Perancangan Form Pencarian Customer |40 |
|Gambar 3.3.3.12 |Perancangan Form Pencarian Transaksi Pembelian |41 |
|Gambar 3.3.3.13 |Perancangan Form Pencarian Transaksi Penjualan |42 |
|Gambar 3.3.3.14 |Perancangan Form Cetak Laporan Transaksi Pembelian |43 |
|Gambar 3.3.3.15 |Perancangan Form Cetak Laporan Transaksi Penjualan |43 |
|Gambar 3.3.4.1 |Perancangan Laporan Stok Barang |44 |
|Gambar 3.3.4.2 |Perancangan Laporan Transaksi Pembelian |45 |
|Gambar 3.3.4.3 |Perancangan Laporan Transaksi Penjualan |46 |
|Gambar 3.3.4.4 |Perancangan Laporan Daftar Supplier |46 |
|Gambar 3.3.4.5 |Perancangan Laporan Daftar Customer |47 |
|Gambar 4.1.1 |Form Login |48 |
|Gambar 4.1.2 |Form Menu Utama |49 |
|Gambar 4.1.3 |Form Menu Admin |50 |
|Gambar 4.1.4 |Form Menu Kasir |51 |
|Gambar 4.1.5 |Form Ganti Password |52 |
|Gambar 4.1.6 |Form Data Jenis Barang |52 |
|Gambar 4.1.7 |Form Data Barang |53 |
|Gambar 4.1.8 |Form Data Supplier |54 |
|Gambar 4.1.9 |Form Data Customer |55 |
|Gambar 4.1.10 |Form Data User |55 |
|Gambar 4.2.1 |Form Laporan Pembelian |56 |
|Gambar 4.2.1.1 |Laporan Pembelian |57 |
|Gambar 4.2.2 |Form Laporan Penjualan |57 |
|Gambar 4.2.2.1 |Laporan Penjualan |58 |
|Gambar 4.2.3 |Laporan Stok Barang |58 |
|Gambar 4.2.4 |Laporan Daftar Supplier |59 |
|Gambar 4.2.5 |Laporan Daftar Customer |60 |
|Gambar 4.3.1 |Form Transaksi Pembelian |61 |
|Gambar 4.3.2 |Form Transaksi Penjualan |62 |
|Gambar 4.3.3 |Form Pencarian Barang |63 |
|Gambar 4.3.4 |Form Pencarian Supplier |63 |
|Gambar 4.3.5 |Form Pencarian Customer |64 |
|Gambar 4.3.6 |Form Pencarian Transaksi Pembelian |65 |
|Gambar 4.3.7 |Form Pencarian Transaksi Penjualan |66 |
|Gambar 4.3.8 |Form Backup dan Restore |67 |
BAB I
PENDAHULUAN
1. Pendahuluan Perkembangan teknologi komputer sangatlah cepat sehingga saat ini komputer banyak digunakan di berbagai bidang. Dalam bidang usaha, penggunaan komputer dapat mempermudah pengelolaan data transaksi yang dimiliki oleh perusahaan. Data transaksi yang dimiliki perusahaan selalu bertambah setiap harinya sehingga sangat sulit bila ditangani secara manual. Peningkatan kebutuhan akan penanganan dan pencarian data yang efisien dan efektif secara tidak langsung membuat suatu perusahaan beralih dari sistem manual ke sistem komputer. Dengan bantuan komputer maka pencatatan dan pengelolaan data akan lebih teratur dan sistematis sehingga akan mempermudah dalam melakukan pencatatan data dan pembuatan laporan. Penggunaan komputer dapat mendukung pencatatan data menjadi lebih cepat, tepat, dan akurat. Selama ini, permasalahan yang dihadapi perusahaan antara lain pencatatan data secara manual terkesan sangat lama dan tidak efektif, contohnya: untuk membuat laporan transaksi penjualan bulanan maka harus mencatat ulang data transaksi penjualan sehingga membutuhkan waktu yang cukup lama. Dengan menggunakan sistem komputer maka pembuatan laporan akan lebih mudah dan cepat. Maka akan dibangun suatu Sistem Informasi Penjualan dan Pembelian Barang pada Toko Lina Busana Grosir sehingga diharapkan kemungkinan terjadinya kesalahan pencatatan data dapat diminimalisasi yang akan mempermudah proses pencatatan, penyimpanan, pencarian data, dan pembuatan laporan.
2. Lokasi Kerja Praktik Alamat Toko : Toko Lina Busana Grosir JL. Jenderal Sudirman No.117 Sidareja, Cilacap 53261 Phone : (0280) 523131
3. Tujuan Kerja Praktik Tujuan pelaksanaan kerja praktik ini adalah: Bagi Mahasiswa 1. Agar mahasiswa dapat melakukan implementasi suatu sistem informasi berbasis komputer untuk melakukan pemrosesan data dalam kasus tertentu baik dalam suatu lembaga bisnis maupun non bisnis. 2. Mahasiswa dapat menerapkan ilmu yang telah diperoleh selama kuliah dan mengimplementasikannya dengan cara membuat suatu sistem informasi berbasis komputer yang dapat digunakan di kehidupan nyata. 3. Melatih mahasiswa dalam menghadapi permasalahan yang sesungguhnya terjadi di dunia nyata. 4. Melatih mahasiswa membuat suatu sistem informasi berbasis komputer yang dapat benar-benar berguna dan bermanfaat bagi perusahaan. Bagi Perusahaan 1. Memudahkan karyawan dalam transaksi jual beli di Toko Lina Busana Grosir. 2. Meningkatkan penyediaan informasi yang akurat dan cepat yang diperlukan dalam menjalankan usahanya. Bagi Universitas 1. Agar universitas dapat mengkaji kemampuan mahasiswa dalam mengimplementasikan ilmu yang telah diberikan selama kuliah. 2. Penyiapan tenaga terdidik yang lebih berpotensi dan siap untuk memasuki dunia kerja.
4. Metodologi Kerja Praktik Metodologi penelitian yang digunakan pada kerja praktik ini adalah: 1. Studi Pustaka Studi pustaka dilakukan dengan cara mempelajari teori-teori dan literatur-literatur yang mendukung penyelesaian kerja praktik, terutama yang berhubungan dengan teori basis data dan perangkat lunak yang digunakan untuk membangun sistem. 2. Penelitian Lapangan Penelitian lapangan dilakukan dengan dua macam cara, yaitu: a. Interview (wawancara) Interview dilakukan dengan cara melakukan wawancara secara langsung dengan orang-orang yang bersangkutan, misalnya pengelola toko atau pengurus toko. b. Observasi (pengamatan) Observasi dilakukan dengan cara melakukan pengamatan terhadap prosedur dan tata administrasi lama yang masih dilakukan secara manual. Hal ini dilakukan untuk mengetahui keadaan toko dan kebutuhan-kebutuhan yang akan diperlukan untuk membangun sistem. 3. Konsultasi dengan Dosen Pembimbing Konsultasi dilakukan dengan cara mengkonsultasikan segala hal yang berhubungan dengan kerja praktik kepada dosen pembimbing.
5. Jadwal Pelaksanaan Kerja Praktik Kerja praktik akan dilaksanakan pada Semester Gasal Tahun Ajaran 2007/2008. Rincian tahapan kerja praktik yang akan dilakukan adalah sebagai berikut:
|Kegiatan |Tahapan Kerja Praktik Per Minggu |
| |September |Oktober |November |Desember |
| |1 |2 |3 |4 |
|Kd_jns |Character (5) |Not empty |JN999 |Kode jenis barang |
|Nm_jns |Character (30) | | |Nama jenis barang |
|Singkatan |Character (2) | |ZZ |Singkatan jenis barang |
|Next_count |Numeric (5,0) | |99999 |Counter untuk kode barang |
|Kd_brg |Character (7) |Not empty |ZZ99999 |Kode barang |
|Nm_brg |Character (30) | | |Nama barang |
|Tp_brg |Character (10) | | |Tipe barang |
|Hrg_beli |Numeric (7,0) | |9999999 |Harga beli barang |
|Hrg_ecer |Numeric (7,0) | |9999999 |Harga jual eceran |
|Hrg_grosir |Numeric (7,0) | |9999999 |Harga jual grosir |
|Stk_tk |Numeric (7,0) | |9999999 |Stok toko |
|Min_grosir |Numeric (7,0) | |9999999 |Jumlah minimal grosir |
|Kd_sp |Character (5) |Not empty |SP999 |Kode supplier |
|Nm_sp |Character (30) | | |Nama supplier |
|Almt_sp |Character (50) | | |Alamat supplier |
|Kt_sp |Character (30) | | |Kota supplier |
|Kdps_sp |Character (5) | |99999 |Kodepos supplier |
|Telp_sp |Character (15) | | |Telepon supplier |
|Hp_sp |Character (15) | | |Handphone supplier |
|Fax_sp |Character (15) | | |Fax supplier |
|Cttn_sp |Character (50) | | |Catatan supplier |
|Kd_cs |Character (5) |Not empty |CS999 |Kode customer |
|Nm_cs |Character (30) | | |Nama customer |
|Almt_cs |Character (50) | | |Alamat customer |
|Kt_cs |Character (30) | | |Kota customer |
|Kdps_cs |Character (5) | |99999 |Kodepos customer |
|Telp_cs |Character (15) | | |Telepon customer |
|Hp_cs |Character (15) | | |Handphone customer |
|Fax_cs |Character (15) | | |Fax customer |
|Cttn_cs |Character (50) | | |Catatan customer |
| |
|Tabel 3.2.1 (lanjutan) |
|Nota_beli |Character (13) |Not empty |Thn_beli+bln_beli+|Nota pembelian |
| | | |tgl_beli+99999 | |
|Tgl_beli |Date (8) | |dd/mm/yyyy |Tanggal pembelian |
|Ttl_beli |Numeric (8,0) | |99999999 |Total harga |
| | | | |pembelian |
|Diskon_beli |Numeric (8,0) | |99999999 |Diskon pembelian |
|Ttl_byr |Numeric (8,0) | |99999999 |Total jumlah uang yang |
| | | | |dibayarkan kepada supplier |
|Jml_beli |Numeric (7,0) | |9999999 |Jumlah barang yang dibeli |
|Hrg_beli |Numeric (7,0) | |9999999 |Harga beli |
|Diskon_bbeli |Numeric (8,0) | |99999999 |Diskon beli per barang |
|Subttl_beli |Numeric (8,0) | |99999999 |Subtotal pembelian |
|Nota_jual |Character (14) |Not empty |E/G+Thn_jual+bln_j|Nota penjualan |
| | | |ual+tgl_jual+99999| |
|Tgl_jual |Date (8) | |dd/mm/yyyy |Tanggal penjualan |
|Ttl_jual |Numeric (8,0) | |99999999 |Total harga penjualan |
|Diskon_jual |Numeric (8,0) | |99999999 |Diskon penjualan |
|Ttl_trm |Numeric (8,0) | |99999999 |Total jumlah uang yang |
| | | | |diterima dari customer |
|Jml_jual |Numeric (7,0) | |9999999 |Jumlah barang yang dijual |
|Hrg_jual |Numeric (7,0) | |9999999 |Harga jual |
|Diskon_bjual |Numeric (8,0) | |99999999 |Diskon jual per barang |
|Subttl_jual |Numeric (8,0) | |99999999 |Subtotal penjualan |
|Kd_user |Character (5) |Not empty |US999 |Kode user |
|Nm_user |Character (30) | | |Nama user |
|Sts_user |Character (30) | | |Status user |
|Psw_user |Character (30) | | |Password user |
1. Perancangan Database Perancangan basis data pada sistem menyangkut aliran data dan proses yang akan dilalui sampai menghasilkan suatu informasi yang diinginkan. Aplikasi yang akan digunakan untuk menjelaskan perancangan database antara lain adalah: proses normalisasi atau Model Data Logika, database sistem dan relasinya, rancangan input, rancangan output, rancangan proses.
1. Model Data Logika Rancangan basis data pada sistem informasi penjualan dan pembelian barang pada toko Lina Busana Grosir dirancang dengan menggunakan perancangan model data logika sampai langkah ke delapan. Tahap-tahap tersebut adalah: • Model Data Logika Langkah 1: Mengidentifikasikan entity utama Langkah pertama pada satu kerangka pandangan pemakai adalah mendefinisikan objek utama yang dipentingkan oleh pemakai. Objek utama inilah yang disebut entity. Entity utama dalam sistem informasi ini adalah: [pic] Gambar 3.3.1.1: Model Data Logika 1 Keterangan: ← Jenis_brg : dapat merekam data jenis barang yang ada. ← Barang : dapat merekam data barang yang ada. ← Supplier : dapat merekam data supplier. ← Customer : dapat merekam data customer. ← Pembelian : dapat merekam data transaksi pembelian. ← Det_beli : dapat merekam data detail transaksi pembelian. ← Penjualan : dapat merekam data transaksi penjualan. ← Det_jual : dapat merekam data detail transaksi penjualan. ← User : dapat merekam data user. • Model Data Logika Langkah 2: Menentukan hubungan antar entity Pada Model Data Logika ini ditentukan hubungan (relationship) antara entity yang ada pada MDL 1. Relationship antara entity terdapat beberapa tipe, yaitu One To One Relationship, One To Many Relationship, Many To Many Relationship. Sedangkan pada sistem informasi ini yang digunakan tipe One To Many Relationship. [pic] Gambar 3.3.1.2: Model Data Logika 2
Keterangan hubungan antar entity “entity relationship” adalah sebagai berikut: Tabel 3.3.1.1: Keterangan Hubungan Antar Entity
|Entity Induk |Entity Anak |Tipe Hubungan Antar Entity |
|Jenis_brg |Barang |One to Many |
|Barang |Det_beli |One to Many |
|Barang |Det_jual |One to Many |
|Supplier |Pembelian |One to Many |
|Customer |Penjualan |One to Many |
|Pembelian |Det_beli |One to Many |
|Penjualan |Det_jual |One to Many |
• Model Data Logika Langkah 3: Menentukan kunci primer dan alternatif Pada langkah 3 ini akan ditentukan kunci primer dan kunci alternatif. Kunci primer adalah satu atribut atau satu set minimal atribut yang tidak hanya mengidentifikasi secara unik satu kejadian spesifik, tetapi dapat juga mewakili setiap kejadian dari suatu entity. Sedangkan kunci alternatif adalah kunci kandidat yang tidak dipakai sebagai kunci primer. Entity Jenis_brg : kd_jns (kunci primer) Entity Barang : kd_brg (kunci primer) Entity Supplier : kd_sp (kunci primer) Entity Customer : kd_cs (kunci primer) Entity Pembelian : nota_beli (kunci primer) Entity Det_beli : nota_beli + kd_brg (kunci primer) Entity Penjualan : nota_jual (kunci primer) Entity Det_beli : nota_jual + kd_brg (kunci primer) Entity User : kd_user (kunci primer)
[pic] Gambar 3.3.1.3: Model Data Logika 3 Keterangan: * : primary key (kunci primer) • Model Data Logika Langkah 4: Menentukan kunci tamu (foreign key) Dalam langkah keempat ini akan ditentukan kunci tamu, dimana kunci tamu ini menghubungkan dua buah tabel. Teknik yang digunakan untuk kunci tamu ini adalah kunci tamu ditempatkan pada entity anak dan sama dengan kunci primer induk yang direlasikan. Entity Barang : kd_jns (kunci tamu) Entity Pembelian : kd_sp (kunci tamu) Entity Det_beli : nota_beli, kd_brg (kunci tamu) Entity Penjualan : kd_cs (kunci tamu) Entity Det_jual : nota_jual, kd_brg (kunci tamu) [pic] Gambar 3.3.1.4: Model Data Logika 4 Keterangan: * : primary key (kunci primer) ** : foreign key (kunci tamu) • Model Data Logika Langkah 5: Menentukan kunci aturan bisnis Untuk setiap relasi pada database ini, berlaku aturan :
a. Aturan Update • Cascade : update seluruh record di entity anak sesuai dengan entity induk yang di perbaharui “update”. • Restrict : membatasi perubahan jika terdapat hubungan record pada entity anak. • Ignore : mengijinkan perubahan tanpa merubah record pada entity anak b. Aturan Penghapusan / Delete • Cascade : semua record yang ada di tabel anak ikut ter-delete jika record pada tabel induk di delete. • Restrict : membatasi penghapusan jika terdapat hubungan record pada entity anak. • Ignore : mengizinkan penghapusan tanpa menghapus record pada entity anak. c. Aturan Penyisipan / Insert • Restrict : membatasi penyisipan jika tidak terdapat kunci yang sama pada entity induk. • Ignore : mengijinkan penyisipan.
Tabel 3.3.1.2: Model Data Logika 5
|Parent Table |Child Table |Update |Delete |Insert |Parent Tag |Child Tag |
|Barang |Det_beli |Cascade |Restrict |Restrict |kd_brg |kd_brg |
|Barang |Det_jual |Cascade |Restrict |Restrict |kd_brg |kd_brg |
|Supplier |Pembelian |Cascade |Restrict |Restrict |kd_sp |kd_sp |
|Customer |Penjualan |Cascade |Restrict |Ignore |kd_cs |kd_cs |
|Pembelian |Det_beli |Cascade |Restrict |Restrict |nota_beli |nota_beli |
|Penjualan |Det_jual |Cascade |Restrict |Restrict |nota_jual |nota_jual |
• Model Data Logika Langkah 6: Menentukan atribut bukan kunci Pada Model Data Logika 6 ini akan dilakukan penambahan kunci bukan atribut, dimana atribut-atribut ini digunakan untuk informasi yang dibutuhkan untuk menjelaskan Entity. [pic] Gambar 3.3.1.5: Model Data Logika 6
• Model Data Logika Langkah 7: Validasi aturan normalisasi Rancangan basis data di atas merupakan bentuk normal ketiga.
• Model Data Logika Langkah 8: Menentukan domain Entity Jenis_brg Tabel 3.3.1.3: Entity Jenis_brg
|Nama field |Format Data |Keterangan |
|Kd_jns |Character (5) |Kode jenis barang |
|Nm_jns |Character (30) |Nama jenis barang |
|Singkatan |Character (2) |Singkatan jenis barang |
|Next_count |Numeric (5,0) |Counter untuk kode barang |
Entity Barang Tabel 3.3.1.4: Entity Barang
|Nama field |Format Data |Keterangan |
|Kd_brg |Character (7) |Kode barang |
|Kd_jns |Character (5) |Kode jenis barang |
|Nm_brg |Character (30) |Nama barang |
|Tp_brg |Character (10) |Tipe barang |
|Hrg_beli |Numeric (7,0) |Harga beli barang |
|Hrg_ecer |Numeric (7,0) |Harga jual eceran |
|Hrg_grosir |Numeric (7,0) |Harga jual grosir |
|Stk_tk |Numeric (7,0) |Stok toko |
|Min_grosir |Numeric (7,0) |Jumlah minimal grosir |
Entity Supplier Tabel 3.3.1.5: Entity Supplier
|Nama field |Format Data |Keterangan |
|Kd_sp |Character (5) |Kode supplier |
|Nm_sp |Character (30) |Nama supplier |
|Almt_sp |Character (50) |Alamat supplier |
|Kt_sp |Character (30) |Kota supplier |
|Kdps_sp |Character (5) |Kodepos supplier |
|Telp_sp |Character (15) |Telepon supplier |
|Hp_sp |Character (15) |Handphone supplier |
|Fax_sp |Character (15) |Fax supplier |
|Cttn_sp |Character (50) |Catatan supplier |
Entity Customer Tabel 3.3.1.6: Entity Customer
|Nama field |Format Data |Keterangan |
|Kd_cs |Character (5) |Kode customer |
|Nm_cs |Character (30) |Nama customer |
|Almt_cs |Character (50) |Alamat customer |
|Kt_cs |Character (30) |Kota customer |
|Kdps_cs |Character (5) |Kodepos customer |
|Telp_cs |Character (15) |Telepon customer |
|Hp_cs |Character (15) |Handphone customer |
|Fax_cs |Character (15) |Fax customer |
|Cttn_cs |Character (50) |Catatan customer |
Entity Pembelian Tabel 3.3.1.7: Entity Pembelian
|Nama field |Format Data |Keterangan |
|Nota_beli |Character (13) |Nota pembelian |
|Kd_sp |Character (5) |Kode supplier |
|Tgl_beli |Date (8) |Tanggal pembelian |
|Ttl_beli |Numeric (8,0) |Total harga pembelian |
|Diskon_beli |Numeric (8,0) |Diskon pembelian |
|Ttl_byr |Numeric (8,0) |Total jumlah uang yang dibayarkan |
| | |kepada supplier |
Entity Det_beli Tabel 3.3.1.8: Entity Det_beli
|Nama field |Format Data |Keterangan |
|Nota_beli |Character (13) |Nota pembelian |
|Kd_brg |Character (7) |Kode barang |
|Jml_beli |Numeric (7,0) |Jumlah barang yang dibeli |
|Hrg_beli |Numeric (7,0) |Harga beli |
|Diskon_bbeli |Numeric (8,0) |Diskon beli per barang |
|Subttl_beli |Numeric (8,0) |Subtotal pembelian |
Entity Penjualan Tabel 3.3.1.9: Entity Penjualan
|Nama field |Format Data |Keterangan |
|Nota_jual |Character (14) |Nota penjualan |
|Kd_cs |Character (5) |Kode customer |
|Tgl_jual |Date (8) |Tanggal penjualan |
|Ttl_jual |Numeric (8,0) |Total harga penjualan |
|Diskon_jual |Numeric (8,0) |Diskon penjualan |
|Ttl_trm |Numeric (8,0) |Total jumlah uang yang diterima dari |
| | |customer |
Entity Det_jual Tabel 3.3.1.10: Entity Det_beli
|Nama field |Format Data |Keterangan |
|Nota_jual |Character (14) |Nota penjualan |
|Kd_brg |Character (7) |Kode barang |
|Jml_jual |Numeric (7,0) |Jumlah barang yang dijual |
|Hrg_jual |Numeric (7,0) |Harga jual |
|Diskon_bjual |Numeric (8,0) |Diskon jual per barang |
|Subttl_jual |Numeric (8,0) |Subtotal penjualan |
Entity User Tabel 3.3.1.11: Entity User
|Nama field |Format Data |Keterangan |
|Kd_user |Character (5) |Kode user |
|Nm_user |Character (30) |Nama user |
|Sts_user |Character (30) |Status user |
|Psw_user |Character (30) |Password user | 2. Database Sistem dan Relasinya Setelah melalui delapan langkah proses MDL, akhirnya dapat ditentukan desain database dan relasinya yang dianggap menunjang untuk Sistem Informasi Penjualan dan Pembelian Barang pada Toko Lina Busana Grosir. Desain database dan relasinya tersebut adalah sebagai berikut : [pic] Gambar 3.3.2.1: Database Designer Keterangan hubungan antar entity “entity relationship” database adalah sebagai berikut: Tabel 3.3.2.1: Keterangan Relasi Database
|Entity Induk |Entity Anak |Tipe Hubungan Antar Entity |
|Jenis_brg |Barang |One to Many |
|Barang |Det_beli |One to Many |
|Barang |Det_jual |One to Many |
|Supplier |Pembelian |One to Many |
|Customer |Penjualan |One to Many |
|Pembelian |Det_beli |One to Many |
|Penjualan |Det_jual |One to Many |
3. Rancangan Input • Perancangan Form Login [pic] Gambar 3.3.3.1: Perancangan Form Login
Rancangan form ini merupakan form login untuk memasuki Sistem Informasi Penjualan dan Pembelian Barang pada Toko Lina Busana Grosir yang mana form ini digunakan agar user dapat mengakses sistem yang ada sesuai dengan hak akses yang dimiliki. Pada form ini terdapat autentifikasi user sehingga user harus mengisi password untuk mengakses sistem informasi penjualan dan pembelian sesuai dengan hak akses yang dimiliki. Setelah user berhasil “Login” maka akan dapat mengakses menu utama yang akan digunakan untuk memilih. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : User.dbf Waktu isi : Pada waktu akan menggunakan sistem ini Frekuensi : Setiap program akan digunakan Kegunaan : Autentifikasi user agar mengakses sistem sesuai dengan hak akses yang dimilikinya Pihak yang membutuhkan : Administrator dan user
• Perancangan Form Data Jenis Barang [pic] Gambar 3.3.3.2: Perancangan Form Data Jenis Barang Rancangan form ini merupakan rancangan form untuk menginputkan, mengubah, dan menghapus data jenis barang. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : Jenis_brg.dbf Waktu isi : Pada waktu akan menggunakan sistem ini Frekuensi : Setiap ada perubahan pada data jenis barang Kegunaan : Mencatat perubahan yang terjadi pada data jenis barang Pihak yang membutuhkan : Administrator dan user
• Perancangan Form Data Barang [pic] Gambar 3.3.3.3: Perancangan Form Data Barang Rancangan form ini merupakan rancangan form untuk menginputkan, mengubah, dan menghapus data barang. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : Barang.dbf Waktu isi : Pada waktu akan menggunakan sistem ini Frekuensi : Setiap ada perubahan pada data barang Kegunaan : Mencatat perubahan yang terjadi pada data barang Pihak yang membutuhkan : Administrator dan user
• Perancangan Form Data Supplier [pic] Gambar 3.3.3.4: Perancangan Form Data Supplier Rancangan form ini merupakan rancangan form untuk menginputkan, mengubah, dan menghapus data supplier. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : Supplier.dbf Waktu isi : Pada waktu akan menggunakan sistem ini Frekuensi : Setiap ada perubahan pada data supplier Kegunaan : Mencatat perubahan yang terjadi pada data supplier Pihak yang membutuhkan : Administrator dan user
• Perancangan Form Data Customer [pic] Gambar 3.3.3.5: Perancangan Form Data Customer Rancangan form ini merupakan rancangan form untuk menginputkan, mengubah, dan menghapus data customer. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : Customer.dbf Waktu isi : Pada waktu akan menggunakan sistem ini Frekuensi : Setiap ada perubahan pada data customer Kegunaan : Mencatat perubahan yang terjadi pada data customer Pihak yang membutuhkan : Administrator dan user
• Perancangan Form Data User [pic] Gambar 3.3.3.6: Perancangan Form Data User Rancangan form ini hanya disediakan khusus untuk Administrator atau karyawan yang diberi wewenang untuk menangani hal ini. Form ini digunakan untuk menginputkan data user yang baru, mengubah, serta menghapus data user. Dibuat oleh : Pemilik Toko Diisi oleh : Administrator Sumber tabel : User.dbf Waktu isi : Pada waktu akan menggunakan sistem ini Frekuensi : Setiap menginputkan, mengubah, menghapus data user Kegunaan : Mencatat perubahan yang terjadi pada data user Pihak yang membutuhkan : Administrator dan user • Perancangan Form Transaksi Pembelian
Gambar 3.3.3.7: Perancangan Form Transaksi Pembelian Rancangan form ini merupakan rancangan form untuk menginputkan data transaksi pembelian. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : Pembelian.dbf, Det_beli.dbf, Supplier.dbf, Barang.dbf Waktu isi : Pada waktu akan menggunakan sistem ini Frekuensi : Setiap menginputkan data transaksi pembelian Kegunaan : Mencatat perubahan yang terjadi pada data transaksi pembelian Pihak yang membutuhkan : Administrator dan user • Perancangan Form Transaksi Penjualan
Gambar 3.3.3.8: Perancangan Form Transaksi Penjualan Rancangan form ini merupakan rancangan form untuk menginputkan data transaksi penjualan. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : Penjualan.dbf, Det_jual.dbf, Customer.dbf, Barang.dbf Waktu isi : Pada waktu akan menggunakan sistem ini Frekuensi : Setiap menginputkan data transaksi penjualan Kegunaan : Mencatat perubahan yang terjadi pada data transaksi penjualan eceran maupun grosir Pihak yang membutuhkan : Administrator dan user • Perancangan Form Pencarian Barang
Gambar 3.3.3.9: Perancangan Form Pencarian Barang Rancangan form ini merupakan rancangan form untuk melakukan pencarian data barang. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : Barang.dbf, Jenis_brg.dbf Waktu isi : Tergantung keperluan Frekuensi : Setiap saat bila dibutuhkan Kegunaan : Mencari informasi tentang data barang Pihak yang membutuhkan : Administrator dan user
• Perancangan Form Pencarian Supplier
Gambar 3.3.3.10: Perancangan Form Pencarian Supplier Rancangan form ini merupakan rancangan form untuk melakukan pencarian data supplier. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : Supplier.dbf Waktu isi : Tergantung keperluan Frekuensi : Setiap saat bila dibutuhkan Kegunaan : Mencari informasi tentang data supplier Pihak yang membutuhkan : Administrator dan user
• Perancangan Form Pencarian Customer
Gambar 3.3.3.11: Perancangan Form Pencarian Customer Rancangan form ini merupakan rancangan form untuk melakukan pencarian data customer. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : Customer.dbf Waktu isi : Tergantung keperluan Frekuensi : Setiap saat bila dibutuhkan Kegunaan : Mencari informasi tentang data customer Pihak yang membutuhkan : Administrator dan user
• Perancangan Form Pencarian Transaksi Pembelian
Gambar 3.3.3.12: Perancangan Form Pencarian Transaksi Pembelian Rancangan form ini merupakan rancangan form untuk melakukan pencarian data transaksi pembelian. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : Pembelian.dbf, Det_beli.dbf, Supplier.dbf, Barang.dbf Waktu isi : Tergantung keperluan Frekuensi : Setiap saat bila dibutuhkan Kegunaan : Mencari informasi tentang data transaksi pembelian Pihak yang membutuhkan : Administrator dan user • Perancangan Form Pencarian Transaksi Penjualan
Gambar 3.3.3.13: Perancangan Form Pencarian Transaksi Penjualan Rancangan form ini merupakan rancangan form untuk melakukan pencarian data transaksi penjualan. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : Penjualan.dbf, Det_jual.dbf, Customer.dbf, Barang.dbf Waktu isi : Tergantung keperluan Frekuensi : Setiap saat bila dibutuhkan Kegunaan : Mencari informasi tentang data transaksi penjualan Pihak yang membutuhkan : Administrator dan user
• Perancangan Form Cetak Laporan Transaksi Pembelian [pic] Gambar 3.3.3.14: Perancangan Form Pencarian Transaksi Pembelian Rancangan form ini merupakan rancangan form untuk mencetak laporan pembelian. Dibuat oleh : Pemilik Toko Diisi oleh : Staff atau karyawan yang diberi hak akses untuk mencetak laporan Sumber tabel : Pembelian.dbf, Det_beli.dbf, Suplier.dbf, Barang.dbf Waktu isi : Tergantung keperluan Frekuensi : Setiap saat bila dibutuhkan Kegunaan : Mencetak laporan tentang data transaksi pembelian Pihak yang membutuhkan : Administrator dan user
• Perancangan Form Cetak Laporan Transaksi Penjualan [pic] Gambar 3.3.3.15: Perancangan Form Pencarian Transaksi Penjualan Rancangan form ini merupakan rancangan form untuk mencetak laporan penjualan. Dibuat oleh : Pemilik Toko Diisi oleh : Staff atau karyawan yang diberi hak akses untuk mencetak laporan Sumber tabel : Penjualan.dbf, Det_jual.dbf, Customer.dbf, Barang.dbf Waktu isi : Tergantung keperluan Frekuensi : Setiap saat bila dibutuhkan Kegunaan : Mencetak laporan tentang data transaksi penjualan Pihak yang membutuhkan : Administrator dan user
4. Rancangan Output • Laporan Stok Barang
Gambar 3.3.4.1: Perancangan Laporan Stok Barang Rancangan report ini merupakan laporan untuk mengetahui stok barang yang ada di toko dan gudang. Dibuat oleh : Pemilik Toko Diisi oleh : Staff atau karyawan yang diberi hak akses untuk mencetak laporan Sumber tabel : Barang.dbf Waktu isi : Tergantung keperluan Frekuensi : Setiap saat bila dibutuhkan Kegunaan : Melihat informasi tentang data stok barang yang ada di toko dan gudang Pihak yang membutuhkan : Administrator dan user
• Laporan Transaksi Pembelian
Gambar 3.3.4.2: Perancangan Laporan Transaksi Pembelian Rancangan report ini merupakan laporan untuk mengetahui informasi tentang transaksi pembelian. Dibuat oleh : Pemilik Toko Diisi oleh : Staff atau karyawan yang diberi hak akses untuk mencetak laporan Sumber tabel : Pembelian.dbf, Supplier.dbf Waktu isi : Tergantung keperluan Frekuensi : Setiap saat bila dibutuhkan Kegunaan : Melihat informasi tentang transaksi pembelian Pihak yang membutuhkan : Administrator dan user
• Laporan Transaksi Penjualan
Gambar 3.3.4.3: Perancangan Laporan Transaksi Penjualan Rancangan report ini merupakan laporan untuk mengetahui informasi tentang transaksi penjualan. Dibuat oleh : Pemilik Toko Diisi oleh : Staff atau karyawan yang diberi hak akses untuk mencetak laporan Sumber tabel : Penjualan.dbf, Customer.dbf Waktu isi : Tergantung keperluan Frekuensi : Setiap saat bila dibutuhkan Kegunaan : Melihat informasi tentang transaksi penjualan Pihak yang membutuhkan : Administrator dan user
• Laporan Daftar Supplier Gambar 3.3.4.4: Perancangan Laporan Daftar Supplier Rancangan report ini merupakan laporan untuk melihat informasi daftar supplier. Dibuat oleh : Pemilik Toko Diisi oleh : Staff atau karyawan yang diberi hak akses untuk mencetak laporan Sumber tabel : Supplier.dbf Waktu isi : Tergantung keperluan Frekuensi : Setiap saat bila dibutuhkan Kegunaan : Melihat informasi daftar supplier Pihak yang membutuhkan : Administrator dan user
• Laporan Daftar Customer Gambar 3.3.4.5: Perancangan Laporan Daftar Customer Rancangan report ini merupakan laporan untuk melihat informasi daftar customer. Dibuat oleh : Pemilik Toko Diisi oleh : Staff atau karyawan yang diberi hak akses untuk mencetak laporan Sumber tabel : Customer.dbf Waktu isi : Tergantung keperluan Frekuensi : Setiap saat bila dibutuhkan Kegunaan : Melihat informasi daftar customer Pihak yang membutuhkan : Administrator dan user
BAB IV
IMPLEMENTASI SISTEM
Implementasi sistem merupakan tahapan selanjutnya setelah dilakukan perancangan atau desain sistem secara manual. Tahap implementasi sistem merupakan tahap penerapan sistem sehingga siap untuk digunakan. Menu sistem dan operasional merupakan menu utama dalam sistem dan merupakan menu yang selalu aktif dan digunakan untuk memanggil prosedur-prosedur atau form-form yang dibutuhkan.
1. Implementasi Input • Form Login [pic] Gambar 4.1.1: Form Login Form ini merupakan form login untuk memasuki Sistem Informasi Penjualan dan Pembelian Barang pada Toko Lina Busana Grosir yang mana form ini digunakan agar user dapat mengakses sistem yang ada sesuai dengan hak akses yang dimiliki. Pada form ini terdapat autentifikasi user sehingga user harus mengisi password untuk mengakses sistem informasi penjualan dan pembelian sesuai dengan hak akses yang dimiliki. Setelah user berhasil “Login” maka akan dapat mengakses menu utama yang akan digunakan untuk memilih.
Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : User.dbf Waktu isi : Pada waktu akan menggunakan sistem ini Frekuensi : Setiap program akan digunakan Kegunaan : Autentifikasi user agar mengakses sistem sesuai dengan hak akses yang dimilikinya Pihak yang membutuhkan : Administrator dan user • Form Menu Utama [pic] Gambar 4.1.2: Form Menu Utama Menu utama terdiri dari 2 yaitu, menu untuk administrator dan menu untuk kasir.
• Form Menu Admin [pic] Gambar 4.1.3: Form Menu Admin Menu untuk administrator terdiri dari: 1. Setup Data a. Data Barang b. Data Supplier c. Data Customer d. Data Jenis Barang e. Data User 2. Transaksi a. Transaksi Pembelian b. Transaksi Penjualan 3. Pencarian a. Pencarian Barang b. Pencarian Supplier c. Pencarian Customer d. Pencarian Transaksi Pembelian e. Pencarian Transaksi Penjualan 4. Laporan a. Laporan Stok Barang b. Laporan Transaksi Pembelian c. Laporan Transaksi Penjualan d. Laporan Daftar Supplier e. Laporan Daftar Customer 5. Utility a. Ganti Password b. Backup dan Restore c. Tentang Program • Form Menu Kasir [pic] Gambar 4.1.4: Form Menu Kasir Menu untuk kasir terdiri dari: 1. Setup Data ▪ Data Customer 2. Transaksi ▪ Penjualan 3. Pencarian ▪ Barang ▪ Penjualan Utility ▪ Ganti Password ▪ Tentang Program • Form Ganti Password [pic] Gambar 4.1.5: Form Ganti Password Form ini merupakan form untuk mengubah password yang akan digunakan oleh user untuk melakukan login. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : User.dbf Waktu isi : Pada waktu akan menggunakan sistem ini Frekuensi : Setiap ada perubahan pada password user Kegunaan : Mencatat perubahan password user Pihak yang membutuhkan : Administrator dan user • Form Data Jenis Barang [pic] Gambar 4.1.6: Form Data Jenis Barang Form ini merupakan form untuk menginputkan, mengubah, dan menghapus data jenis barang. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : Jenis_brg.dbf Waktu isi : Pada waktu akan menggunakan sistem ini Frekuensi : Setiap ada perubahan pada data jenis barang Kegunaan : Mencatat perubahan yang terjadi pada data jenis barang Pihak yang membutuhkan : Administrator dan user • Form Data Barang [pic] Gambar 4.1.7: Form Data Barang Form ini merupakan form untuk menginputkan, mengubah, dan menghapus data barang. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : Barang.dbf Waktu isi : Pada waktu akan menggunakan sistem ini Frekuensi : Setiap ada perubahan pada data barang Kegunaan : Mencatat perubahan yang terjadi pada data barang Pihak yang membutuhkan : Administrator dan user • Form Data Supplier [pic] Gambar 4.1.8: Form Data Supplier Form ini merupakan form untuk menginputkan, mengubah, dan menghapus data supplier. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : Supplier.dbf Waktu isi : Pada waktu akan menggunakan sistem ini Frekuensi : Setiap ada perubahan pada data supplier Kegunaan : Mencatat perubahan yang terjadi pada data supplier Pihak yang membutuhkan : Administrator dan user
• Form Data Customer [pic] Gambar 4.1.9: Form Data Customer Form ini merupakan form untuk menginputkan, mengubah, dan menghapus data customer. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : Customer.dbf Waktu isi : Pada waktu akan menggunakan sistem ini Frekuensi : Setiap ada perubahan pada data customer Kegunaan : Mencatat perubahan yang terjadi pada data customer Pihak yang membutuhkan : Administrator dan user • Form Data User [pic] Gambar 4.1.10: Form Data User Form ini hanya disediakan khusus untuk Administrator atau karyawan yang diberi wewenang untuk menangani hal ini. Form ini digunakan untuk menginputkan data user yang baru, mengubah, serta menghapus data user. Dibuat oleh : Pemilik Toko Diisi oleh : Administrator Sumber tabel : User.dbf Waktu isi : Pada waktu akan menggunakan sistem ini Frekuensi : Setiap mengiputkan, mengubah, menghapus data user Kegunaan : Mencatat perubahan yang terjadi pada data user Pihak yang membutuhkan : Administrator dan user
2. Implementasi Output • Form Laporan Pembelian [pic] Gambar 4.2.1: Form Laporan Pembelian
Cetak Laporan Pembelian [pic] Gambar 4.2.1.1: Laporan pembelian Form ini merupakan form untuk mencetak laporan pembelian. Dibuat oleh : Pemilik Toko Diisi oleh : Staff atau karyawan yang diberi hak akses untuk mencetak laporan Sumber tabel : Pembelian.dbf, Det_beli.dbf, Suplier.dbf, Barang.dbf Waktu isi : Tergantung keperluan Frekuensi : Setiap saat bila dibutuhkan Kegunaan : Mencetak laporan tentang data transaksi pembelian Pihak yang membutuhkan : Administrator dan user • Form Laporan Penjualan [pic] Gambar 4.2.2: Form Laporan Penjualan Cetak Laporan Penjualan [pic] Gambar 4.2.2.1 Laporam Penjualan Form ini merupakan form untuk mencetak laporan penjualan. Dibuat oleh : Pemilik Toko Diisi oleh : Staff atau karyawan yang diberi hak akses untuk mencetak laporan Sumber tabel : Penjualan.dbf, Det_jual.dbf, Customer.dbf, Barang.dbf Waktu isi : Tergantung keperluan Frekuensi : Setiap saat bila dibutuhkan Kegunaan : Mencetak laporan tentang data transaksi penjualan Pihak yang membutuhkan : Administrator dan user • Laporan Stok Barang [pic] Gambar 4.2.3: Laporan Stok Barang Report ini merupakan laporan untuk mengetahui stok barang yang ada di toko. Dibuat oleh : Pemilik Toko Diisi oleh : Staff atau karyawan yang diberi hak akses untuk mencetak laporan Sumber tabel : Barang.dbf Waktu isi : Tergantung keperluan Frekuensi : Setiap saat bila dibutuhkan Kegunaan : Melihat informasi tentang data stok barang yang ada di toko dan gudang Pihak yang membutuhkan : Administrator dan user • Laporan Daftar Supplier [pic] Gambar 4.2.4: Laporan Daftar Supplier Report ini merupakan laporan untuk melihat informasi daftar supplier. Dibuat oleh : Pemilik Toko Diisi oleh : Staff atau karyawan yang diberi hak akses untuk mencetak laporan Sumber tabel : Supplier.dbf Waktu isi : Tergantung keperluan Frekuensi : Setiap saat bila dibutuhkan Kegunaan : Melihat informasi daftar supplier Pihak yang membutuhkan : Administrator dan user
• Laporan Daftar Customer
[pic] Gambar 4.2.5: Laporan Daftar Customer Report ini merupakan laporan untuk melihat informasi daftar customer. Dibuat oleh : Pemilik Toko Diisi oleh : Staff atau karyawan yang diberi hak akses untuk mencetak laporan Sumber tabel : Customer.dbf Waktu isi : Tergantung keperluan Frekuensi : Setiap saat bila dibutuhkan Kegunaan : Melihat informasi daftar customer Pihak yang membutuhkan : Administrator dan user
3. Implementasi Proses • Form Transaksi Pembelian [pic] Gambar 4.3.1: Form Transaksi Pembelian Form ini merupakan form untuk menginputkan data transaksi pembelian. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : Pembelian.dbf, Det_beli.dbf, Supplier.dbf, Barang.dbf Waktu isi : Pada waktu akan menggunakan sistem ini Frekuensi : Setiap menginputkan data transaksi pembelian Kegunaan : Mencatat perubahan yang terjadi pada data transaksi pembelian Pihak yang membutuhkan : Administrator dan user • Form Transaksi Penjualan [pic] Gambar 4.3.2: Form Transaksi Penjualan Form ini merupakan form untuk menginputkan data transaksi penjualan. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : Penjualan.dbf, Det_jual.dbf, Customer.dbf, Barang.dbf Waktu isi : Pada waktu akan menggunakan sistem ini Frekuensi : Setiap menginputkan data transaksi penjualan Kegunaan : Mencatat perubahan yang terjadi pada data transaksi penjualan eceran maupun grosir Pihak yang membutuhkan : Administrator dan user • Form Pencarian Barang [pic] Gambar 4.3.3: Form Pencarian Barang Form ini merupakan form untuk melakukan pencarian data barang. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : Barang.dbf, Jenis_brg.dbf Waktu isi : Tergantung keperluan Frekuensi : Setiap saat bila dibutuhkan Kegunaan : Mencari informasi tentang data barang Pihak yang membutuhkan : Administrator dan user • Form Pencarian Supplier [pic] Gambar 4.3.4: Form Pencarian Supplier Form ini merupakan form untuk melakukan pencarian data supplier. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : Supplier.dbf Waktu isi : Tergantung keperluan Frekuensi : Setiap saat bila dibutuhkan Kegunaan : Mencari informasi tentang data supplier Pihak yang membutuhkan : Administrator dan user • Form Pencarian Customer [pic] Gambar 4.3.5: Form Pencarian Customer Form ini merupakan form untuk melakukan pencarian data customer. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : Customer.dbf Waktu isi : Tergantung keperluan Frekuensi : Setiap saat bila dibutuhkan Kegunaan : Mencari informasi tentang data customer Pihak yang membutuhkan : Administrator dan user • Form Pencarian Transaksi Pembelian [pic] Gambar 4.3.6: Form Pencarian Transaksi Pembelian Form ini merupakan form untuk melakukan pencarian data transaksi pembelian. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : Pembelian.dbf, Det_beli.dbf, Supplier.dbf, Barang.dbf Waktu isi : Tergantung keperluan Frekuensi : Setiap saat bila dibutuhkan Kegunaan : Mencari informasi tentang data transaksi pembelian Pihak yang membutuhkan : Administrator dan user
• Form Pencarian Transaksi Penjualan [pic] Gambar 4.3.7: Form Pencarian Transaksi Penjualan Form ini merupakan form untuk melakukan pencarian data transaksi penjualan. Dibuat oleh : Pemilik Toko Diisi oleh : User yang akan menggunakan sistem Sumber tabel : Penjualan.dbf, Det_jual.dbf, Customer.dbf, Barang.dbf Waktu isi : Tergantung keperluan Frekuensi : Setiap saat bila dibutuhkan Kegunaan : Mencari informasi tentang data transaksi penjualan Pihak yang membutuhkan : Administrator dan user • Form Backup dan Restore [pic] Gambar 4.3.8: Form Backup dan Restore Form ini merupakan form untuk melakukan backup dan restore data. Backup data digunakan untuk membackup data dari sistem ke ke harddisk dan restore data digunakan untuk mengembalikan data dari harddisk ke sistem. Dibuat oleh : Pemilik Toko Diisi oleh : Administrator Database yang terlibat : linabusana.dbc Waktu isi : Dilakukan sesering mungkin jika dianggap perlu Frekuensi : Setiap saat jika dianggap perlu Kegunaan : Menyimpan file-file yang penting di lokasi lain sebagai file cadangan jika terjadi kerusakan pada file asli Pihak yang membutuhkan : Administrator dan Pemilik Toko
4. Kendala dan Solusi Implementasi Sistem informasi yang dibangun merupakan sistem yang belum sempurna sehingga memiliki beberapa kelebihan dan kelemahan. 1. Kelebihan Sistem Kelebihan sistem yang dibangun antara lain: ▪ Terdapat pembatasan hak akses bagi pengguna sistem Untuk menghindari pengoperasian sistem oleh pengguna yang tidak berhak maka sistem dilengkapi dengan password. Pengguna sistem diberi hak akses yang berbeda sesuai dengan statusnya. Ada tiga macam status pengguna, yaitu administrator dan kasir. ▪ Kemudahan dalam mengolah data Data yang akan diolah meliputi data jenis barang, data barang, data supplier, data customer, data transaksi penjualan, data transaksi pembelian, dan data pendukung lainnya. Pengolahan data yang ditangani sistem meliputi penambahan, pengubahan, dan penghapusan data. ▪ Mampu melakukan penomoran kode secara otomatis tanpa perlu dimasukkan secara manual Sistem mampu melakukan penomoran secara otomatis untuk kode-kode yang digunakan seperti kode jenis barang, kode barang, kode supplier, kode customer, kode user, nota pembelian, dan nota penjulan. ▪ Validasi data saat data akan disimpan Dengan adanya validasi data maka sistem akan meminimalisasi kesalahan pada data sehingga laporan yang dihasilkan menjadi lebih akurat. ▪ Terdapat fasilitas pencarian data Sistem menyediakan fasilitas pencarian barang, pencarian supplier, pencarian customer, pencarian transaksi transaksi pembelian, dan pencarian transaksi penjualan. Pencarian data dapat dilakukan dengan menggunakan kata kunci. ▪ Kemudahan dalam mencetak laporan Laporan yang dihasilkan sistem berupa laporan daftar barang, laporan stok barang, laporan transaksi penjualan per bulan, laporan transaksi pembelian per bulan, laporan daftar supplier, dan laporan daftar customer. ▪ Terdapat fasilitas backup dan restore Backup data digunakan untuk membackup data dari sistem ke ke harddisk dan restore data digunakan untuk mengembalikan data dari harddisk ke sistem. Kegunaan dari backup dan restore data adalah untuk menyimpan file-file yang penting di lokasi lain sebagai file cadangan jika terjadi kerusakan pada file asli. ▪ Memiliki design interface (rancangan antar muka) yang sederhana Sistem dibangun dengan design interface yang sederhana sehingga mudah dimengerti. Selain itu, sistem menggunakan bahasa yang mudah dimengerti oleh pengguna. 2. Kelemahan Sistem ▪ Sistem bersifat single-user sehingga tidak dapat digunakan dalam jaringan komputer. ▪ Sistem tidak dapat menangani penjualan dan pembelian barang secara kredit. ▪ Sistem tidak dapat menangani retur penjualan dan pembelian.
BAB V
KESIMPULAN DAN SARAN
1. Kesimpulan Berdasarkan hasil uji coba yang telah dilakukan maka diperoleh beberapa kesimpulan yaitu: 1. Secara umum sistem informasi yang dibuat sudah sesuai dengan kebutuhan dan dapat dioperasikan di Toko Lina Busana Grosir. Sistem tersebut dapat membantu dalam pencatatan dan pengelolaan data perusahaan. Akan tetapi, sistem masih belum sempurna dan mempunyai beberapa kekurangan seperti: sistem tidak dapat menangani penjualan dan pembelian barang secara kredit serta tidak dapat menangani retur penjualan dan pembelian. 2. Sistem informasi yang dibuat dapat meminimalisasi kesalahan pencatatan data sehingga laporan yang dihasilkan lebih akurat. Selain itu, sistem informasi tersebut dapat mempercepat proses pembuatan laporan bila dibandingkan dengan pembuatan laporan yang dilakukan secara manual.
2. Saran Sistem yang dibuat dapat dikembangkan lebih lanjut untuk menghadapi perkembangan usaha di masa yang akan datang. Beberapa saran yang dapat dijadikan masukan untuk pengembangan lebih lanjut yaitu: 1. Sistem dapat dikembangkan agar dapat menangani penjualan dan pembelian barang secara kredit serta retur pembelian dan penjualan. 2. Sistem dapat dikembangkan untuk dapat memberikan laporan dalam bentuk neraca dan laporan rugi laba.
DAFTAR PUSTAKA
Akins, Marcia., Andy Kramek dan Rick Schummer. 1001 Things You Wanted to Know About Visual FoxPro. United States of America: Hentzenwerke Publishing, 2000
Fernandez, Ricardo R. Mutu Terpadu dalam Manajemen Pembelian dan Pemasok. Jakarta: PT Pustaka Binaman Pressindo,1996
Kristanto, Harianto. Konsep dan Perancangan Database. Yogyakarta: Andi Offset, 1994
Lancaster, Geoffrey dan David Jobber. Teknik dan Manajemen Penjualan. Jakarta: Binarupa Aksara, 1990
Talib, Haer. Aplikasi Inventory Control dengan Microsoft Visual FoxPro 7. Jakarta: PT Elex Media Komputindo, 2003
LAMPIRAN A
LISTING PROGRAM
UTAMA.PRG
CLOSE ALL
CLEAR
SET SYSMENU OFF
_Screen.Icon='logo.ico'
_screen.BackColor=RGB(235,235,235)
_screen.Caption='Sistem Informasi Penjualan Dan Pembelian Barang'
_screen.MinButton=.T.
_screen.MaxButton=.F.
_screen.Closable=.F.
_Screen.AutoCenter=.T.
_Screen.WindowState=2
SET DELETED ON
SET EXCLUSIVE ON
SET SAFETY OFF
SET TALK OFF
SET CENTURY ON
SET DATE TO british
SET HOURS TO 24
SET STATUS BAR OFF
OPEN DATABASE linabusana
PUBLIC active_user, jenis_pilih, barang_pilih, supplier_pilih, customer_pilih, user_pilih active_user="" jenis_pilih="" barang_pilih="" supplier_pilih="" customer_pilih="" user_pilih="" nama_user="" DO FORM menu_utama
READ EVENTS
ABOUT.SCX
cmdExit.Click() Thisform.Release()
BACKUP_RESTORE.SCX
Form1.Refresh()
* menampilkan tanggal terakhir di backup
SELECT tanggal
LOCATE FOR ALLTRIM(nm_field)="last_backup"
IF FOUND() thisform.txtLast_backup.Value=last_date
ELSE
MESSAGEBOX("Error !",48,"Peringatan") RETURN
ENDIF
* menampilkan tanggal terakhir di restore
SELECT tanggal
LOCATE FOR ALLTRIM(nm_field)="last_restore"
IF FOUND() thisform.txtLast_restore.Value=last_date
ELSE
MESSAGEBOX("Error !",48,"Peringatan") RETURN
ENDIF
Form1.Init() Public e Thisform.Refresh()
cmdBackup.Click() e=0 IF (MESSAGEBOX("Anda yakin akan melakukan Backup ?",32+4+256,"Konfirmasi"))==6 SELECT tanggal LOCATE FOR ALLTRIM(nm_field)="last_backup" IF FOUND() replace last_date WITH DATETIME() ELSE MESSAGEBOX("Error !",48,"Peringatan") RETURN ENDIF WITH thisform .cmdBackup.enabled=.F. .cmdRestore.enabled=.F. .cmdExit.enabled=.F. ENDWITH SET SAFETY off CLOSE ALL database * backup tabel jenis_brg COPY FILE .\jenis_brg.dbf TO .\Backup\jenis_brg.dbf COPY FILE .\jenis_brg.cdx TO .\Backup\jenis_brg.cdx * backup tabel barang COPY FILE .\barang.dbf TO .\Backup\barang.dbf COPY FILE .\barang.cdx TO .\Backup\barang.cdx * backup tabel supplier COPY FILE .\supplier.dbf TO .\Backup\supplier.dbf COPY FILE .\supplier.cdx TO .\Backup\supplier.cdx * backup tabel customer COPY FILE .\customer.dbf TO .\Backup\customer.dbf COPY FILE .\customer.cdx TO .\Backup\customer.cdx * backup tabel pembelian COPY FILE .\pembelian.dbf TO .\Backup\pembelian.dbf COPY FILE .\pembelian.cdx TO .\Backup\pembelian.cdx * backup tabel det_beli COPY FILE .\det_beli.dbf TO .\Backup\det_beli.dbf COPY FILE .\det_beli.cdx TO .\Backup\det_beli.cdx * backup tabel penjualan COPY FILE .\penjualan.dbf TO .\Backup\penjualan.dbf COPY FILE .\penjualan.cdx TO .\Backup\penjualan.cdx * backup tabel det_jual COPY FILE .\det_jual.dbf TO .\Backup\det_jual.dbf COPY FILE .\det_jual.cdx TO .\Backup\det_jual.cdx * backup tabel pemakai COPY FILE .\user.dbf TO .\Backup\user.dbf COPY FILE .\user.cdx TO .\Backup\user.cdx * backup database COPY FILE .\linabusana.dbc TO .\Backup\linabusana.dbc COPY FILE .\linabusana.dct TO .\Backup\linabusana.dct COPY FILE .\linabusana.dcx TO .\Backup\linabusana.dcx * backup free tables COPY FILE .\counter.dbf TO .\Backup\counter.dbf COPY FILE .\tamp_beli.dbf TO .\Backup\tamp_beli.dbf COPY FILE .\tamp_jual.dbf TO .\Backup\tamp_jual.dbf *COPY FILE .\tanggal.dbf TO .\Backup\tanggal.dbf
OPEN DATABASE .\linabusana IF (e=0) MESSAGEBOX("Backup data berhasil !",64,"Informasi") ELSE MESSAGEBOX("Backup data gagal !",48,"Peringatan") ENDIF WITH thisform .cmdBackup.enabled=.T. .cmdRestore.enabled=.T. .cmdExit.enabled=.T. ENDWITH set safety on USE .\tanggal thisform.Refresh() thisform.cmdExit.SetFocus()
ENDIF
cmdRestore.Click() e=0 IF (MESSAGEBOX("Anda yakin akan melakukan Restore ?",32+4+256,"Konfirmasi"))==6 SELECT tanggal LOCATE FOR ALLTRIM(nm_field)="last_restore" IF FOUND() replace last_date WITH DATETIME() ELSE MESSAGEBOX("Error !",48,"Peringatan") RETURN ENDIF WITH thisform .cmdBackup.enabled=.F. .cmdRestore.enabled=.F. .cmdExit.enabled=.F. ENDWITH thisform.Refresh()
SET SAFETY off CLOSE ALL database * restore tabel jenis_brg COPY FILE .\Backup\jenis_brg.dbf TO .\jenis_brg.dbf COPY FILE .\Backup\jenis_brg.cdx TO .\jenis_brg.cdx * restore tabel barang COPY FILE .\Backup\barang.dbf TO .\barang.dbf COPY FILE .\Backup\barang.cdx TO .\barang.cdx * restore tabel supplier COPY FILE .\Backup\supplier.dbf TO .\supplier.dbf COPY FILE .\Backup\supplier.cdx TO .\supplier.cdx * restore tabel customer COPY FILE .\Backup\customer.dbf TO .\customer.dbf COPY FILE .\Backup\customer.cdx TO .\customer.cdx * restore tabel pembelian COPY FILE .\Backup\pembelian.dbf TO .\pembelian.dbf COPY FILE .\Backup\pembelian.cdx TO .\pembelian.cdx * restore tabel det_beli COPY FILE .\Backup\det_beli.dbf TO .\det_beli.dbf COPY FILE .\Backup\det_beli.cdx TO .\det_beli.cdx * restore tabel penjualan COPY FILE .\Backup\penjualan.dbf TO .\penjualan.dbf COPY FILE .\Backup\penjualan.cdx TO .\penjualan.cdx * restore tabel det_jual COPY FILE .\Backup\det_jual.dbf TO .\det_jual.dbf COPY FILE .\Backup\det_jual.cdx TO .\det_jual.cdx * restore tabel user COPY FILE .\Backup\user.dbf TO .\user.dbf COPY FILE .\Backup\user.cdx TO .\user.cdx * restore database COPY FILE .\Backup\linabusana.dbc TO .\linabusana.dbc COPY FILE .\Backup\linabusana.dct TO .\linabusana.dct COPY FILE .\Backup\linabusana.dcx TO .\linabusana.dcx * restore free tables COPY FILE .\Backup\counter.dbf TO .\counter.dbf COPY FILE .\Backup\tamp_beli.dbf TO .\tamp_beli.dbf COPY FILE .\Backup\tamp_jual.dbf TO .\tamp_jual.dbf *COPY FILE .\Backup\tanggal.dbf TO .\tanggal.dbf
OPEN DATABASE .\linabusana IF (e=0) MESSAGEBOX("Restore data berhasil !",64,"Informasi") ELSE MESSAGEBOX("Restore data gagal !",48,"Peringatan") ENDIF WITH thisform .cmdBackup.enabled=.T. .cmdRestore.enabled=.T. .cmdExit.enabled=.T. ENDWITH set safety on USE .\tanggal thisform.Refresh() thisform.cmdExit.SetFocus()
ENDIF
cmdExit.Click() Thisform.Release()
BARANG.SCX
Form1.showdata() WITH thisform * menampilkan data pada textbox .txtKd_brg.value=kd_brg .txtNm_brg.value=nm_brg .txtTp_brg.value=tp_brg .txtHrg_beli.value=hrg_beli .txtHrg_ecer.value=hrg_ecer .txtHrg_grosir.value=hrg_grosir .txtStk_tk.value=stk_tk .txtMin_grosir.value=min_grosir .cboJns_brg.value=kd_jns
* textbox di-enabled=.F. .txtKd_brg.enabled=.F. .txtNm_brg.enabled=.F. .txtTp_brg.enabled=.F. .txtHrg_beli.enabled=.F. .txtHrg_ecer.enabled=.F. .txtHrg_grosir.enabled=.F. .txtStk_tk.enabled=.F. .txtMin_grosir.enabled=.F. .cboJns_brg.enabled=.F. .refresh()
ENDWITH
Form1.showrecord()
SELECT barang
SET ORDER TO kd_brg
IF BOF()==.T. && jika berada di record pertama SKIP && mengembalikan ke posisi record awal thisform.cmdTop.Click()
ELSE
*SKIP && mengembalikan ke posisi record awal *SKIP IF EOF()==.T. && jika berada di record terakhir SKIP -1 && mengembalikan ke posisi record awal thisform.cmdEnd.Click() ELSE && jika bukan di record terakhir dan pertama *SKIP -1 && mengembalikan ke posisi record awal WITH thisform .showdata() && menampilkan data .cmdTop.enabled=.T. .cmdBack.enabled=.T. .cmdNext.enabled=.T. .cmdEnd.enabled=.T. ENDWITH ENDIF
ENDIF
IF RECCOUNT()==0 && jika record=0 MESSAGEBOX("Data Barang kosong!!!",64,"Informasi") WITH thisform * semua command navigasi enabled-nya=.F. .cmdTop.enabled=.F. .cmdBack.enabled=.F. .cmdNext.enabled=.F. .cmdEnd.enabled=.F. * command yang dapat di-click hanya new dan exit .cmdNew.caption='Tambah' .cmdEdit.caption='Ubah' .cmdNew.enabled=.T. .cmdEdit.enabled=.F. .cmdDelete.enabled=.F. .cmdFind.enabled=.F. .cmdExit.enabled=.T. ENDWITH
ELSE && jika ada record IF RECCOUNT()==1 && jika record tinggal 1 WITH thisform * semua command navigasi enabled-nya=.F. .cmdTop.enabled=.F. .cmdBack.enabled=.F. .cmdNext.enabled=.F. .cmdEnd.enabled=.F. ENDWITH ENDIF WITH thisform .cmdNew.caption='Tambah' .cmdEdit.caption='Ubah' .cmdNew.enabled=.T. .cmdEdit.enabled=.T. .cmdDelete.enabled=.T. .cmdFind.enabled=.T. .cmdExit.enabled=.T. ENDWITH
ENDIF
Form1.showgrid()
SELECT barang
SET ORDER TO kd_brg
* mengatur table sumber untuk grid thisform.grdBrg.RecordSource="barang" * mengatur grid thisform.grdBrg.ReadOnly=.T. && agar data pada grid tidak dapat diubah datanya thisform.grdBrg.DeleteMark=.F. && agar delete mark tidak muncul
* mengatur header grid thisform.grdBrg.Column1.Header1.Caption='Kode Barang' thisform.grdBrg.Column2.Header1.Caption='Kode Jenis' thisform.grdBrg.Column3.Header1.Caption='Nama' thisform.grdBrg.Column4.Header1.Caption='Tipe' thisform.grdBrg.Column5.Header1.Caption='Harga Beli' thisform.grdBrg.Column6.Header1.Caption='Harga Jual Eceran' thisform.grdBrg.Column7.Header1.Caption='Harga Jual Grosir' thisform.grdBrg.Column8.Header1.Caption='Stok' thisform.grdBrg.Column9.Header1.Caption='Minimal Grosir'
* mengatur alignment header grid yaitu middle center thisform.grdBrg.Column1.Header1.Alignment=2 thisform.grdBrg.Column2.Header1.Alignment=2 thisform.grdBrg.Column3.Header1.Alignment=2 thisform.grdBrg.Column4.Header1.Alignment=2 thisform.grdBrg.Column5.Header1.Alignment=2 thisform.grdBrg.Column6.Header1.Alignment=2 thisform.grdBrg.Column7.Header1.Alignment=2 thisform.grdBrg.Column8.Header1.Alignment=2 thisform.grdBrg.Column9.Header1.Alignment=2 * mengatur width column pada grid thisform.grdBrg.Column1.Width=75 && minimal 61 thisform.grdBrg.Column2.Width=70 && minimal 49 thisform.grdBrg.Column3.Width=219 thisform.grdBrg.Column4.Width=81 thisform.grdBrg.Column5.Width=80 && minimal 61 thisform.grdBrg.Column6.Width=100 && minimal 61 thisform.grdBrg.Column7.Width=100 && minimal 61 thisform.grdBrg.Column8.Width=90 && minimal 61 thisform.grdBrg.Column9.Width=90 && minimal 61 thisform.grdBrg.Refresh() Form1.Init()
PUBLIC new, barang_pilih barang_pilih="" SELECT barang
SET ORDER TO kd_brg
* untuk menampilkan dan mengatur grid thisform.showgrid() * cek jika data kosong
IF RECCOUNT()==0 && jika data kosong MESSAGEBOX("Data Barang kosong!!!",64,"Informasi") WITH thisform .cmdTop.enabled=.F. .cmdBack.enabled=.F. .cmdNext.enabled=.F. .cmdEnd.enabled=.F. .cmdNew.caption='Tambah' .cmdEdit.caption='Ubah' .cmdNew.enabled=.T. .cmdEdit.enabled=.F. .cmdDelete.enabled=.F. .cmdFind.enabled=.F. .cmdExit.enabled=.T. ENDWITH
ELSE && jika ada datanya WITH thisform .cmdTop.Click() ENDWITH
ENDIF
thisform.Refresh()
Form1.Activate()
* mengatur ke kode barang sesuai barang yang dipilih
IF !EMPTY(barang_pilih) SELECT barang SET ORDER TO kd_brg LOCATE FOR ALLTRIM(kd_brg)=ALLTRIM(barang_pilih) IF FOUND() thisform.showgrid() && untuk menampilkan dan mengatur grid thisform.showrecord() && menampilkan record ENDIF barang_pilih=""
ENDIF
cmdEnd.Click()
SELECT barang
SET ORDER TO kd_brg
GO BOTTOM && menuju ke record terakhir thisform.showdata() IF RECCOUNT()==1 && bila record tinggal 1 maka semua command navigasi enabled-nya=.F. WITH thisform * semua command navigasi enabled-nya=.F. .cmdTop.enabled=.F. .cmdBack.enabled=.F. .cmdNext.enabled=.F. .cmdEnd.enabled=.F. ENDWITH
ELSE
WITH thisform * setting enabled .cmdTop.enabled=.T. .cmdBack.enabled=.T. .cmdNext.enabled=.F. .cmdEnd.enabled=.F. ENDWITH
ENDIF
thisform.Refresh()
cmdNext.Click()
SELECT barang
SET ORDER TO kd_brg
IF EOF()==.T. SKIP-1 MESSAGEBOX("Record terakhir")
ELSE && menuju ke record sesudahnya SKIP
ENDIF
thisform.showrecord() && menampilkan data thisform.Refresh() cmdBack.Click()
SELECT barang
SET ORDER TO kd_brg
IF BOF()==.T. SKIP MESSAGEBOX("Record Pertama")
ELSE && menuju ke record sesudahnya SKIP-1
ENDIF
thisform.showrecord() && menampilkan data thisform.Refresh() cmdTop.Click()
SELECT barang
SET ORDER TO kd_brg
GO TOP && menuju ke record pertama thisform.showdata() IF RECCOUNT()==1 && jika record tinggal 1 WITH thisform * semua command navigasi enabled-nya=.F. .cmdTop.enabled=.F. .cmdBack.enabled=.F. .cmdNext.enabled=.F. .cmdEnd.enabled=.F. ENDWITH
ELSE && jika record lebih dari 1 WITH thisform .cmdTop.enabled=.F. .cmdBack.enabled=.F. .cmdNext.enabled=.T. .cmdEnd.enabled=.T. ENDWITH
ENDIF
thisform.Refresh()
cmdNew.Click()
IF thisform.cmdNew.Caption='Tambah' && jika new new=.T. * cek apakah tabel jenis barang kosong SELECT jenis_brg IF RECCOUNT()==0 MESSAGEBOX("Data jenis barang masih kosong. Tidak dapat dilakukan penambahan data!!!",64,"Informasi") DO FORM jenis_brg return ENDIF WITH thisform * semua command navigasinya enabled-nya=.F. .cmdTop.enabled=.F. .cmdBack.enabled=.F. .cmdNext.enabled=.F. .cmdEnd.enabled=.F. * textbox enabled-nya=.T. .txtNm_brg.enabled=.T. .txtTp_brg.enabled=.T. .txtHrg_beli.enabled=.T. .txtHrg_ecer.enabled=.T. .txtHrg_grosir.enabled=.T. .txtStk_tk.enabled=.T. .txtMin_grosir.enabled=.T. .cboJns_brg.enabled=.T. * mengosongkan textbox dan memberikan nilai default .txtKd_brg.value='' .txtNm_brg.value='' .txtTp_brg.value='' .txtHrg_beli.value=0 .txtHrg_ecer.value=0 .txtHrg_grosir.value=0 .txtstk_tk.value=0 .txtMin_grosir.value=0 .cboJns_brg.value='' * mangarahkan fokus ke textbox .txtNm_brg.setfocus() * mangatur command .cmdNew.caption='Simpan' .cmdEdit.caption='Batal' .cmdNew.enabled=.T. .cmdEdit.enabled=.T. .cmdDelete.enabled=.F. .cmdFind.enabled=.F. .cmdExit.enabled=.F. ENDWITH thisform.cmdNew.Caption='Simpan' && mengubah caption
ELSE && jika save * cek apakah nama barang belum diisi IF EMPTY(thisform.txtNm_brg.Value) MESSAGEBOX("Nama barang tidak boleh kosong!!!",48,"Peringatan!") thisform.txtNm_brg.SetFocus() RETURN ENDIF * cek apakah harga beli belum diisi IF EMPTY(thisform.txtHrg_beli.Value) MESSAGEBOX("Harga beli tidak boleh kosong!!!",48,"Peringatan!") thisform.txtHrg_beli.SetFocus() RETURN ENDIF * cek apakah harga jual eceran belum diisi IF EMPTY(thisform.txtHrg_ecer.Value) MESSAGEBOX("Harga jual eceran tidak boleh kosong!!!",48,"Peringatan!") thisform.txtHrg_ecer.SetFocus() RETURN ENDIF * cek apakah harga jual grosir belum diisi IF EMPTY(thisform.txtHrg_grosir.Value) MESSAGEBOX("Harga jual grosir tidak boleh kosong!!!",48,"Peringatan!") thisform.txtHrg_grosir.SetFocus() RETURN ENDIF * cek apakah jenis barang belum diisi IF EMPTY(thisform.cboJns_brg.Value) MESSAGEBOX("Jenis barang tidak boleh kosong!!!",48,"Peringatan!") thisform.cboJns_brg.SetFocus() RETURN ENDIF * cek apakah harga beli kurang dari nol IF thisform.txtHrg_beli.Value=min_grosir && jika jumlah barang lebih besar dari minimal grosir thisform.txtHrg_jual.Value=hrg_grosir ELSE thisform.txtHrg_jual.Value=hrg_ecer ENDIF
ENDIF
txtStk_tk
SELECT barang
LOCATE FOR kd_brg==thisform.txtKd_brg.Value
* mengubah harga barang sesuai jumlah barang yang dijual
IF FOUND() IF thisform.txtJml_jual.Value>=min_grosir && jika jumlah barang lebih besar atau sama dengan dari minimal grosir thisform.txtHrg_jual.Value=hrg_grosir && harga jual yang digunakan harga grosir ELSE thisform.txtHrg_jual.Value=hrg_ecer ENDIF
ENDIF
SUPPLIER.SCX
Form1.showdata() WITH thisform * menampilkan data pada textbox .txtKd_sp.value=kd_sp .txtNm_sp.value=nm_sp .txtAlmt_sp.value=almt_sp .txtKt_sp.value=kt_sp .txtKdps_sp.value=kdps_sp .txtTelp_sp.value=telp_sp .txtHp_sp.value=hp_sp .txtFax_sp.value=fax_sp .txtCttn_sp.value=cttn_sp * textbox di-enabled=.F. .txtKd_sp.enabled=.F. .txtNm_sp.enabled=.F. .txtAlmt_sp.enabled=.F. .txtKt_sp.enabled=.F. .txtKdps_sp.enabled=.F. .txtTelp_sp.enabled=.F. .txtHp_sp.enabled=.F. .txtFax_sp.enabled=.F. .txtCttn_sp.enabled=.F. .refresh()
ENDWITH
Form1.showrecord()
SELECT supplier
IF RECNO()==RECCOUNT() && jika berada di record terakhir thisform.cmdEnd.Click()
ELSE
IF RECNO()==1 && jika berada di record pertama thisform.cmdTop.Click() ELSE IF RECNO()!=RECCOUNT() and RECNO()!=1 && jika bukan di record terakhir dan pertama WITH thisform .showdata() && menampilkan data .cmdTop.enabled=.T. .cmdBack.enabled=.T. .cmdNext.enabled=.T. .cmdEnd.enabled=.T. ENDWITH ENDIF ENDIF
ENDIF
IF RECCOUNT()==0 && jika record=0 MESSAGEBOX("Data Supplier kosong!!!",64,"Informasi") WITH thisform * semua command navigasi enabled-nya=.F. .cmdTop.enabled=.F. .cmdBack.enabled=.F. .cmdNext.enabled=.F. .cmdEnd.enabled=.F. * command yang dapat di-click hanya new dan exit .cmdNew.caption='Tambah' .cmdEdit.caption='Ubah' .cmdNew.enabled=.T. .cmdEdit.enabled=.F. .cmdDelete.enabled=.F. .cmdFind.enabled=.F. .cmdExit.enabled=.T. ENDWITH
ELSE && jika ada record IF RECCOUNT()==1 && jika record tinggal 1 WITH thisform * semua command navigasi enabled-nya=.F. .cmdTop.enabled=.F. .cmdBack.enabled=.F. .cmdNext.enabled=.F. .cmdEnd.enabled=.F. ENDWITH ENDIF * setting nama command dan enabled WITH thisform .cmdNew.caption='Tambah' .cmdEdit.caption='Ubah' .cmdNew.enabled=.T. .cmdEdit.enabled=.T. .cmdDelete.enabled=.T. .cmdFind.enabled=.T. .cmdExit.enabled=.T. ENDWITH
ENDIF
Form1.showgrid()
* mengatur table sumber untuk grid thisform.grdSupplier.RecordSource="supplier" * mengatur grid thisform.grdSupplier.ReadOnly=.T. && agar data pada grid tidak dapat diubah datanya thisform.grdSupplier.DeleteMark=.F. && agar delete mark tidak muncul
* mengatur header grid thisform.grdSupplier.Column1.Header1.Caption='Kode' thisform.grdSupplier.Column2.Header1.Caption='Nama' thisform.grdSupplier.Column3.Header1.Caption='Alamat' thisform.grdSupplier.Column4.Header1.Caption='Kota' thisform.grdSupplier.Column5.Header1.Caption='Kode Pos' thisform.grdSupplier.Column6.Header1.Caption='Telepon' thisform.grdSupplier.Column7.Header1.Caption='HP' thisform.grdSupplier.Column8.Header1.Caption='Fax' thisform.grdSupplier.Column9.Header1.Caption='Catatan'
* mengatur alignment header grid yaitu middle center thisform.grdSupplier.Column1.Header1.Alignment=2 thisform.grdSupplier.Column2.Header1.Alignment=2 thisform.grdSupplier.Column3.Header1.Alignment=2 thisform.grdSupplier.Column4.Header1.Alignment=2 thisform.grdSupplier.Column5.Header1.Alignment=2 thisform.grdSupplier.Column6.Header1.Alignment=2 thisform.grdSupplier.Column7.Header1.Alignment=2 thisform.grdSupplier.Column8.Header1.Alignment=2 thisform.grdSupplier.Column9.Header1.Alignment=2 * mengatur width column pada grid thisform.grdSupplier.Column1.Width=49 thisform.grdSupplier.Column2.Width=219 thisform.grdSupplier.Column3.Width=358 thisform.grdSupplier.Column4.Width=219 thisform.grdSupplier.Column5.Width=49 thisform.grdSupplier.Column6.Width=115 thisform.grdSupplier.Column7.Width=115 thisform.grdSupplier.Column8.Width=115 thisform.grdSupplier.Column9.Width=358 thisform.grdSupplier.Refresh()
Form1.Activate()
IF !EMPTY(supplier_pilih) SELECT supplier LOCATE FOR ALLTRIM(kd_sp)=ALLTRIM(supplier_pilih) IF FOUND() thisform.showrecord() ENDIF supplier_pilih=""
ENDIF
Form1.Init()
PUBLIC new, supplier_pilih
SELECT supplier supplier_pilih="" * untuk menampilkan dan mengatur grid thisform.showgrid() * cek jika data kosong
IF RECCOUNT()==0 && jika data kosong MESSAGEBOX("Data Supplier kosong!!!",64,"Informasi") WITH thisform .cmdTop.enabled=.F. .cmdBack.enabled=.F. .cmdNext.enabled=.F. .cmdEnd.enabled=.F. .cmdNew.caption='Tambah' .cmdEdit.caption='Ubah' .cmdNew.enabled=.T. .cmdEdit.enabled=.F. .cmdDelete.enabled=.F. .cmdFind.enabled=.F. .cmdExit.enabled=.T. ENDWITH
ELSE && jika ada datanya WITH thisform .cmdTop.click() ENDWITH
ENDIF
thisform.Refresh()
grdSupplier.AfterRowColChange()
LPARAMETERS nColIndex
IF thisform.cmdNew.Caption='Tambah' thisform.showrecord() && menampilkan record
ENDIF
cmdEnd.Click()
SELECT supplier
GO BOTTOM && menuju ke record terakhir thisform.showdata() && menampilkan data
IF RECCOUNT()==1 && bila record tinggal 1 maka semua command navigasi enabled-nya=.F. WITH thisform * semua command navigasi enabled-nya=.F. .cmdTop.enabled=.F. .cmdBack.enabled=.F. .cmdNext.enabled=.F. .cmdEnd.enabled=.F. ENDWITH
ELSE
WITH thisform .cmdTop.enabled=.T. .cmdBack.enabled=.T. .cmdNext.enabled=.F. .cmdEnd.enabled=.F. ENDWITH
ENDIF
thisform.Refresh()
cmdNext.Click()
SELECT supplier
SKIP && menuju ke record sesudahnya thisform.showdata() && menampilkan data
IF RECNO()==RECCOUNT() && bila sudah berada di record terakhir WITH thisform .cmdTop.enabled=.T. .cmdBack.enabled=.T. .cmdNext.enabled=.F. .cmdEnd.enabled=.F. ENDWITH
ELSE
WITH thisform .cmdTop.enabled=.T. .cmdBack.enabled=.T. .cmdNext.enabled=.T. .cmdEnd.enabled=.T. ENDWITH
ENDIF
thisform.Refresh()
cmdBack.Click()
SELECT supplier
SKIP -1 && menuju ke record sebelumnya thisform.showdata() && menampilkan data
IF RECNO()==1 && jika sudah di record pertama WITH thisform .cmdTop.enabled=.F. .cmdBack.enabled=.F. .cmdNext.enabled=.T. .cmdEnd.enabled=.T. ENDWITH
ELSE
WITH thisform .cmdTop.enabled=.T. .cmdBack.enabled=.T. .cmdNext.enabled=.T. .cmdEnd.enabled=.T. ENDWITH
ENDIF
thisform.Refresh()
cmdTop.Click()
SELECT supplier
GO TOP && menuju ke record pertama thisform.showdata() && menampilkan data
IF RECCOUNT()==1 && jika record tinggal 1 WITH thisform * semua command navigasi enabled-nya=.F. .cmdTop.enabled=.F. .cmdBack.enabled=.F. .cmdNext.enabled=.F. .cmdEnd.enabled=.F. ENDWITH
ELSE && jika record lebih dari 1 WITH thisform .cmdTop.enabled=.F. .cmdBack.enabled=.F. .cmdNext.enabled=.T. .cmdEnd.enabled=.T. ENDWITH
ENDIF
thisform.Refresh()
cmdNew.Click()
IF thisform.cmdNew.Caption='Tambah' && jika new new=.T. * menampilkan kode yang auto increment SELECT counter LOCATE FOR ALLTRIM(nm_field)='supplier' thisform.txtKd_sp.value='SP'+PADL(ALLTRIM(STR(next_count)),3,'0') WITH thisform * semua command navigasinya enabled-nya=.F. .cmdTop.enabled=.F. .cmdBack.enabled=.F. .cmdNext.enabled=.F. .cmdEnd.enabled=.F. * textbox enabled-nya=.T. .txtNm_sp.enabled=.T. .txtAlmt_sp.enabled=.T. .txtKt_sp.enabled=.T. .txtKdps_sp.enabled=.T. .txtTelp_sp.enabled=.T. .txtHp_sp.enabled=.T. .txtFax_sp.enabled=.T. .txtCttn_sp.enabled=.T. * mengosongkan textbox dan memberikan nilai default .txtNm_sp.value='' .txtAlmt_sp.value='' .txtKt_sp.value='' .txtKdps_sp.value='' .txtTelp_sp.value='' .txtHp_sp.value='' .txtFax_sp.value='' .txtCttn_sp.value='' * mangarahkan fokus ke textbox .txtNm_sp.setfocus() * mangatur command .cmdNew.caption='Simpan' .cmdEdit.caption='Batal' .cmdNew.enabled=.T. .cmdEdit.enabled=.T. .cmdDelete.enabled=.F. .cmdFind.enabled=.F. .cmdExit.enabled=.F. ENDWITH thisform.cmdNew.Caption='Simpan' && mengubah caption
ELSE && jika save * cek apakah nama supplier belum diisi IF EMPTY(thisform.txtNm_sp.Value) MESSAGEBOX("Nama supplier tidak boleh kosong!!!",48,"Peringatan!") thisform.txtNm_sp.SetFocus() RETURN ENDIF * cek apakah alamat supplier belum diisi IF EMPTY(thisform.txtAlmt_sp.Value) AND EMPTY(thisform.txtTelp_sp.Value) AND EMPTY(thisform.txtHp_sp.Value) AND EMPTY(thisform.txtFax_sp.Value) MESSAGEBOX("Data supplier belum lengkap!!!",48,"Peringatan!") thisform.txtAlmt_sp.SetFocus() RETURN ENDIF SELECT supplier IF new=.T. && jika new maka append blank APPEND BLANK replace kd_sp WITH ALLTRIM(thisform.txtKd_sp.Value) replace nm_sp WITH ALLTRIM(thisform.txtNm_sp.Value) replace almt_sp WITH ALLTRIM(thisform.txtAlmt_sp.Value) replace kt_sp WITH ALLTRIM(thisform.txtKt_sp.Value) replace kdps_sp WITH ALLTRIM(thisform.txtKdps_sp.Value) replace telp_sp WITH ALLTRIM(thisform.txtTelp_sp.Value) replace hp_sp WITH ALLTRIM(thisform.txtHp_sp.Value) replace fax_sp WITH ALLTRIM(thisform.txtFax_sp.Value) replace cttn_sp WITH ALLTRIM(thisform.txtCttn_sp.Value) * menambah counter select counter LOCATE FOR ALLTRIM(nm_field)='supplier' replace next_count with next_count+1 thisform.showrecord() && menampilkan record yang baru dimasukkan ELSE && jika edit maka di-replace replace nm_sp WITH ALLTRIM(thisform.txtNm_sp.Value) replace almt_sp WITH ALLTRIM(thisform.txtAlmt_sp.Value) replace kt_sp WITH ALLTRIM(thisform.txtKt_sp.Value) replace kdps_sp WITH ALLTRIM(thisform.txtKdps_sp.Value) replace telp_sp WITH ALLTRIM(thisform.txtTelp_sp.Value) replace hp_sp WITH ALLTRIM(thisform.txtHp_sp.Value) replace fax_sp WITH ALLTRIM(thisform.txtFax_sp.Value) replace cttn_sp WITH ALLTRIM(thisform.txtCttn_sp.Value) thisform.showrecord() && menampilkan record ENDIF thisform.cmdNew.Caption='Tambah' && mengubah caption thisform.grdSupplier.Refresh() && merefresh grid
ENDIF
thisform.Refresh()
cmdEdit.Click()
IF thisform.cmdEdit.Caption='Ubah' && jika edit new=.F. WITH thisform * semua command navigasi enabled-nya=.F. .cmdTop.enabled=.F. .cmdBack.enabled=.F. .cmdNext.enabled=.F. .cmdEnd.enabled=.F. * textbox enabled-nya=.T. .txtNm_sp.enabled=.T. .txtAlmt_sp.enabled=.T. .txtKt_sp.enabled=.T. .txtKdps_sp.enabled=.T. .txtTelp_sp.enabled=.T. .txtHp_sp.enabled=.T. .txtFax_sp.enabled=.T. .txtCttn_sp.enabled=.T. * mengatur command .cmdNew.caption='Simpan' .cmdEdit.caption='Batal' .cmdNew.enabled=.T. .cmdEdit.enabled=.T. .cmdDelete.enabled=.F. .cmdFind.enabled=.F. .cmdExit.enabled=.F. ENDWITH thisform.cmdEdit.Caption='Batal' && mengubah caption
ELSE && jika cancel thisform.showrecord() && menampilkan record thisform.cmdEdit.Caption='Ubah' && mengubah caption
ENDIF
thisform.Refresh()
cmdDelete.Click()
* cek apakah ada di tabel child
SELECT pembelian
LOCATE FOR ALLTRIM(thisform.txtKd_sp.value)==ALLTRIM(kd_sp)
IF FOUND() MESSAGEBOX("Supplier tersebut terdapat di data transaksi. Tidak dapat menghapus data!",48,"Peringatan") RETURN
ENDIF
SELECT supplier
LOCATE FOR ALLTRIM(thisform.txtKd_sp.Value)==ALLTRIM(kd_sp)
IF FOUND() IF MESSAGEBOX("Apakah Anda yakin ingin menghapus data ini?",4+32+0,"Konfirmasi")==6 && jika Yes DELETE && memberi tanda delete mark pada record SET EXCLUSIVE ON && menggunakan tabel supplier secara eksklusif USE supplier PACK thisform.showgrid() && untuk menampilkan dan mengatur grid thisform.showrecord() && menampilkan record ENDIF
ELSE
MESSAGEBOX("Maaf, data tidak ditemukan!!!",64,"Informasi") thisform.showrecord() && menampilkan record
ENDIF
thisform.Refresh()
cmdFind.Click()
SELECT supplier supplier_pilih=ALLTRIM(kd_sp) DO FORM cari_supplier
cmdExit.Click()
Thisform.Release()
TAMBAH_BARANG.SCX
Form1.Init()
PUBLIC barang_pilih
* cek apakah tabel jenis barang kosong
SELECT jenis_brg
IF RECCOUNT()==0 MESSAGEBOX("Data jenis barang masih kosong. Tidak dapat dilakukan penambahan data!!!",64,"Informasi") DO FORM jenis_brg return
ENDIF
SELECT barang
SET ORDER TO kd_brg
WITH thisform * mengosongkan textbox .txtKd_brg.value='' .txtNm_brg.value='' .txtTp_brg.value='' .txtHrg_beli.value=0 .txtHrg_ecer.value=0 .txtHrg_grosir.value=0 .txtStk_tk.value=0 .txtMin_grosir.value=0 .cboJns_brg.value='' * mangarahkan focus ke textbox .txtNm_brg.setfocus()
ENDWITH
thisform.Refresh()
cmdNew.Click()
* cek apakah nama barang belum diisi
IF EMPTY(thisform.txtNm_brg.Value) MESSAGEBOX("Nama barang tidak boleh kosong!!!",48,"Peringatan!") thisform.txtNm_brg.SetFocus() RETURN
ENDIF
* cek apakah harga beli belum diisi
IF EMPTY(thisform.txtHrg_beli.Value) MESSAGEBOX("Harga beli tidak boleh kosong!!!",48,"Peringatan!") thisform.txtHrg_beli.SetFocus() RETURN
ENDIF
* cek apakah harga jual eceran belum diisi
IF EMPTY(thisform.txtHrg_ecer.Value) MESSAGEBOX("Harga jual eceran tidak boleh kosong!!!",48,"Peringatan!") thisform.txtHrg_ecer.SetFocus() RETURN
ENDIF
* cek apakah harga jual grosir belum diisi
IF EMPTY(thisform.txtHrg_grosir.Value) MESSAGEBOX("Harga jual grosir tidak boleh kosong!!!",48,"Peringatan!") thisform.txtHrg_grosir.SetFocus() RETURN
ENDIF
* cek apakah jenis barang belum diisi
IF EMPTY(thisform.cboJns_brg.Value) MESSAGEBOX("Jenis barang tidak boleh kosong!!!",48,"Peringatan!") thisform.cboJns_brg.SetFocus() RETURN
ENDIF
*cek apakah harga beli kurang dari nol
IF thisform.txtHrg_beli.Value