APLIKASI PERKREDITAN FURNITURE
Tugas Akhir
Diajukan Untuk Memenuhi Syarat Mata Pelajaran
Perancangan Aplikasi dan Presentasi
Disusun Oleh:
Mohamad Noor Rizal
05061 11523
Program Studi Teknologi Informasi dan Komunikasi
Konsentrasi Rekayasa Perangkat Lunak
SEKOLAH MENENGAH KEJURUAN NEGERI 4
Jl. Kliningan No. 6 Buahbatu 40264
Bandung
2008
LEMBAR PENGESAHAN
Mengetahui, Penulis
Mohamad Noor Rizal NIS 05061 11523 Menyetujui, Kepala Jurusan Teknik Informatika Drs. Purwanto SST, MT Pembimbing Bambang Irawan
ABSTRAK
Dokumen yang berjudul “Aplikasi Perkreditan” ini merupakan sebuah dokumentasi aplikasi dan juga sebagai user manual atau panduan untuk pengguna aplikasi ini mengenai penggunaan dan detil dari software program aplikasi sederhana yang bernama “FBay Information System”. Dokumentasi ini dibuat untuk melengkapi program sehingga dapat menambah nilai lebih dalam pemasaran program.
Dokumen ini berisi mulai dari perancangan sistem, perancangan basisdata hingga implementasinya menjadi sebuah program komputer yang berguna.
KATA PENGANTAR
Assalamu’alaikum Wr. Wb.
Puji dan syukur penulis panjatkan kehadirat Allah SWT karena hanya berkat rahmat dan karunia-Nya, sehingga penulis dapat menyelesaikan laporan tugas akhir dengan judul “Aplikasi Perkreditan Furniture”, yang merupakan salahsatu syarat dalam menyelesaikan mata diklat Perancangan Aplikasi dan Presentasi.
Dalam menyelesaikan penyusunan laporan tugas akhir ini, penulis banyak mendapat bantuan dari berbagai pihak baik secara moril maupun materil, do’a, serta bimbingan, petunjuk dan pengarahan. Untuk itu, penulis ingin menyampaikan ucapan terimakasih yang sebesar-besarnya kepanda ibunda, ayahanda, serta adik tercinta juga kepada:
1. Bapak Drs. Purwanto, selaku Ketua Jurusan Teknik Informatika SMK Negeri 4 Bandung
2. Bapak Bambang Irawan, selaku pembimbing mata diklat Perancangan Aplikasi dan Presentasi
3. Serta semua sahabat dan rekan-rekan yang tidak bisa disebutkan satu persatu, terimakasih atas bantuannya.
Akhir kata dengan segala kerendahan hati penulis berharap agar laporan tugas akhir ini bermanfaat bagi semua pihak, dan semoga segala bantuan yang telah diberikan mendapat balasan dari Allah SWT. Amin.
Wassalamu’alaikum Wr. Wb.
Bandung, 21 Juni 2008 Penulis
DAFTAR ISI
LEMBAR PENGESAHAN ... 1 ABSTRAK ... 3 KATA PENGANTAR ... 4 DAFTAR ISI ... 5 DAFTAR GAMBAR ... 7 DAFTAR TABEL ... 8 BAB I PENDAHULUAN ... 9 1.1 Latar Belakang ... 91.2 Maksud dan Tujuan ... 9
1.3 Lingkup Masalah... 10
1.3.1 Identifikasi Masalah ... 10
1.3.2 Batasan Masalah ... 10
1.4 Sistematika Penulisan ... 10
BAB II TEORI DASAR ... 12
2.1 Pemograman ... 12
2.2 Perancangan ... 13
2.2.1 Diagram Alir Data ... 13
2.2.2 Entity Relationship Diagram ... 14
BAB III DESKRIPSI RANCANGAN SISTEM ... 15
3.1 Deskripsi Prosedur Kerja ... 15
3.1.1 Prosedur Penjualan ... 15
3.1.2 Prosedur Pembelian ... 16
3.1.3 Prosedur Pembayaran ... 17
3.2 Deskripsi Dokumen ... 18
3.3 Pemodelan Kebutuhan Fungsional ... 28
3.3.1 Diagram Konteks ... 28
3.3.2 Diagram Aliran Data ... 28
3.4 Perancangan Basis Data ... 30
3.4.2 Deskripsi Tabel ... 31
3.5 Spesifikasi Minimum ... 34
BAB IV IMPLEMENTASI PERANGKAT LUNAK ... 36
4.1 Lingkungan Implementasi ... 36
4.2 Hasil Implementasi ... 36
4.2.1 Struktur Menu ... 37
4.2.2 Deskripsi Rinci Modul ... 37
4.3 Gantt Chart... 51
BAB V MATRIKS KETERUNUTAN ... 52
BAB VI KESIMPULAN DAN SARAN... 53
6.1 Kesimpulan ... 53 6.2 Saran ... 53 6.3 Kemungkinan Pengembangan ... 53 DAFTAR PUSTAKA ... 54 LAMPIRAN-LAMPIRAN ... 55 Script ... 55
DAFTAR GAMBAR
Gambar 3-1 Diagram Sistem Prosedur Penjualan ... 16
Gambar 3-3 Diagram Sistem Prosedur Pembelian ... 18
Gambar 3-3 Diagram Sistem Prosedur Pembayaran ... 18
Gambar 3-4 Diagram Konteks ... 28
Gambar 3-5 DAD Level 1 ... 28
Gambar 3-6 DAD Level 2 Proses 1 ... 29
Gambar 3-7 DAD Level 2 Proses 2 ... 29
Gambar 3-8 DAD Level 2 Proses 3 ... 30
Gambar 3-9 E-R Diagram ... 30
Gambar 3-10 E-R Diagram versi James Martin ... 31
Gambar 4-1 Struktur Menu ... 37
Gambar 4-2 Form Log In ... 37
Gambar 4-3 Form Utama ... 38
Gambar 4-4 Form Penjualan ... 38
Gambar 4-5 Form Pembelian ... 39
Gambar 4-6 Form Pembayaran ... 40
Gambar 4-7 Form Data Customer ... 40
Gambar 4-8 Form Data Barang ... 42
Gambar 4-9 Form Data Supplier ... 44
Gambar 4-10 Form Data Penjualan ... 45
Gambar 4-11 Form Data Pembelian ... 47
Gambar 4-12 Form Data Pembayaran ... 49
Gambar 4-13 Form Data Pegawai ... 50
Gambar 4-14 Report Customer ... 42
Gambar 4-15 Report Barang ... 43
Gambar 4-16 Report Pembayaran ... Error! Bookmark not defined. Gambar 4-17 Report Pembayaran ... 47
Gambar 4-18 Report Pembelian ... 48
Gambar 4-19 Report Pegawai ... 51
Gambar 4-20 Gantt Chart ... 51
DAFTAR TABEL
Tabel 3-1 Form Customer ... 11
Tabel 3-2 Form Supplier ... 12
Tabel 3-3 Form Barang ... 12
Tabel 3-4 Form Penjualan ... 13
Tabel 3-5 Form Pembelian ... 13
Tabel 3-6 Form Customer ... 14
Tabel 3-7 Laporan Penjualan ... 14
Tabel 3-8 Laporan Pembelian ... 15
Tabel 3-9 Laporan Customer ... 15
Tabel 3-10 Tabel Barang ... 19
Tabel 3-11 Tabel Customer ... 20
Tabel 3-12 Tabel Supplier ... 20
Tabel 3-13 Tabel Pegawai ... 21
Tabel 3-14 Tabel Penjualan ... 21
Tabel 3-15 Tabel Pembelian ... 22
Tabel 3-16 Tabel Pembayaran ... 22
Tabel 4-1 Objek Form Log In ... 24
Tabel 4-2 Objek Form Utama ... 25
Tabel 4-3 Objek Form Penjualan ... 26
Tabel 4-4 Objek Form Pembelian ... 26
Tabel 4-5 Objek Form Pembayaran ... 27
Tabel 4-6 Objek Form Data Customer ... 27
Tabel 4-7 Objek Form Data Barang ... 29
Tabel 4-8 Objek Form Data Supplier ... 30
Tabel 4-9 Objek Form Data Penjualan ... 31
Tabel 4-10 Objek Form Data Pembelian ... 32
Tabel 4-11 Objek Form Data Pembayaran ... 33
Tabel 4-12 Objek Form Data Pegawai... 34
BAB I
PENDAHULUAN
Program tidak buat semata – mata dengan tanpa alasan, tanpa masalah, dan tanpa kebutuhan sebuah sistem tertentu. Oleh karena itu, pembuatan program yang dilengkapi dokumentasi yang baik tak dapat dipandang sebelah mata, karena memerlukan kompetensi yang cukup dalam teknis pembuatan software, serta kosakata Bahasa Indonesia yang luas.
1.1 Latar Belakang
Bisnis furniture merupakan lahan bisnis yang cukup bagus di Indonesia, karena Indonesia dikenal memiliki investasi kayu yang sangat besar. Pada tahap penjualannya, kini banyak sekali pedagang yang menggunakan sistem pembayaran kredit untuk pembayarannya, karena dinilai menguntungkan.
Dalam sebuah sistem informasi penjualan furniture, ada beberapa proses yang harus dilakukan. Pertama, pembelian barang dari produsen furniture ke pasar. Kedua, penjualan barang dari pasar ke konsumen. Ketiga, pembayaran cicilan maupun tunai. Dan yang terakhir adalah pembuatan laporan.
Semua proses diatas tentu saja bisa dilakukan dengan manual melalui penulisan tangan. Tetapi hal tersebut tidak efektif dalam segi waktu, keamanan data maupun kualitas laporan.
1.2 Maksud dan Tujuan
Maksud dan tujuan dari pembuatan aplikasi serta dokumentasinya ini adalah sebagai berikut:
1. Memenuhi salahsatu syarat nilai mata diklat Perancangan Aplikasi dan Presentasi
2. Menghitung jumlah cicilan atau harga total yang dibayar oleh Customer 3. Menghasilkan laporan yang baik
4. Meningkatkan efektifitas dalam pendataan
5. Meningkatkan keamanan dalam penyimpanan data 6. Mencegah redudansi.
1.3 Lingkup Masalah
1.3.1 Identifikasi Masalah
Kebanyakan sistem informasi yang ada di lingkungan perusahaan perdagangan masih menggunakan aplikasi spreadsheet seperti Microsoft Excel. Dengan kata lain, masih banyak kekurangan aplikasi spreadsheet karena aplikasi ini bukan aplikasi murni pengolah database.
1.3.2 Batasan Masalah
Batasan-batasan masalah dalam pembuatan aplikasi ini, antara lain:
Aplikasi ini dibuat khusus untuk perusahaan yang bergerak dalam perkreditan furniture.
Proses utama yang tercakup adalah penghitungan kredit, edit data, proses penjualan, pembelian, pembayaran, dan pelaporan
1.4 Sistematika Penulisan
Sistematika yang digunakan dalam penulisan dokumentasi ini adalah: BAB I PENDAHULUAN
Membahas latar belakang permasalahan, identifikasi masalah, maksud dan tujuan, serta sistematika penulisan
BAB II TEORI DASAR
Menguraikan tentang teori-teori mengenai garis besar pemograman dan perancangan sebuah aplikasi
BAB III DESKRIPSI RANCANGAN SISTEM
Menjelaskan mengenai rancangan yang penulis sarankan dalam sistem yang baru. Berisi perancangan aliran data dan perancangan basis data BAB IV IMPLEMENTASI PERANGKAT LUNAK
Menguraikan implementasi dari perancangan yang sudah dideskripsikan di bab sebelumnya
BAB V MATRIKS KETERUNUTAN
Membahas keterhubungan dari setiap fungsi-fungsi yang ada dalam aplikasi ini
Menguraikan kesimpulaln yang didapat dari permasalahan dan pembahasan serta menguraikan saran dari kesimpulan tersebut. Di bab ini membahas juga kemungkinan pengembangan.
BAB II
TEORI DASAR
Dalam pembangunan sebuah aplikasi, ada banyak sekali pilihan dalam penggunaan bahasa pemrograman. Karena begitu banyaknya bahasa pemrograman, maka bahasa-bahasa itu dikelompokkan menjadi kriteria-kriteria tertentu.
2.1 Pemograman
Pemrograman dapat diklasifikasikan sebagai berikut [Rechenberg]: 1. Berorientasi prosedur (procedural oriented)
2. Berorientasi fungsi (functional oriented) 3. Berorientasi logik (logic oriented) 4. Berorientasi obyek (object oriented)
Masing-masing memiliki kelebihan tersendiri. Kadangkala dalam membangun suatu aplikasi dibutuhkan gabungan metode pemrograman tersebut. Misalnya dalam C++ dan Java (bahasa pemrograman berorientasi obyek), kita masih dapat menemukan tehnik-tehnik pemrograman berorientasi prosedur dalam setiap
method/function member dalam obyek-obyeknya.
Suatu bahasa pemrograman pada asalnya hanya dapat digunakan dalam satu metode. Pascal mulanya untuk procedural-oriented, Lisp untuk
functional-oriented, Smaltalk untuk object-oriented dan lain-lain. Seiring dengan perkembangan tehnologi informasi dan komputer, puluhan bahkan ratusan bahasa pemrograman baru lahir. Masing-masing memiliki keunikan dan kelebihan spesifik. Ada yang khusus untuk jenis komputer tertentu, ada pula yang khusus untuk paradigma pemograman tertentu.
Secara umum, bahasa pemrograman yang berbasiskan prosedur terdiri dari blok/sub program. yang
memiliki dua bagian utama yaitu: 1. Bagian deklarasi
Bagian deklarasi merupakan bagian program untuk mendefinisikan tipe data suatu variable, konstanta, serta fungsi dan prosedur yang akan digunakan pada program. Selain itu, bagian deklarasi dapat juga digunakan untuk memberi nilai awal suatu
variable. Dengan kata lain, deklarasi digunakan untuk memperkenalkan suatu nama kepada Compiler program.
2. Bagian Statement
Bagian statement merupakan bagian program yang berisi perintah yang akan dieksekusi/dijalankan.
2.2 Perancangan
2.2.1 Diagram Alir Data
Diagram alir data adalah representasi dari aliran data dalam sebuah sistem informasi. Tabel dibawah ini menjelaskan objek-obek yang ada didalam sebuah diagram alir data.
Simbol Nama Simbol Keterangan
Entitas Menunjukkan bagian luar dari sistem yang mempunyai hubngan dengan sistem.
Proses Menunjukkan proses data atau informasi yang terjadi didalam sistem
Alur Data Menunjukkan aliran data yang terjadi. File Menunjukkan data yang ada pada sistem.
2.2.2 Entity Relationship Diagram
Entity Relationship Diagram adalah sebuah konseptual abstrak yang merepresentasikan struktur data. Simbol-simbol yang digunakan dalam ERD:
Simbol Nama Simbol Keterangan
Entitas Merupakan data yang dikelola.
Relasi Hubungan antara dua entitas atau lebih
BAB III
DESKRIPSI RANCANGAN SISTEM
Di dalam pembangunan suatu sistem, perancangan, sistem merupakan langkah yang sangat penting, karena bila ditahap ini terdapat suatu kesalahan, maka akan salah pula ditahap berikutnya. Perancangan sistem ini akan menggambarkan prosedur yang akan diusulkan dalam FBay Information System.
Pada perancangan sistem ini akan menjelaskan tentang perancangan prosedur, perancangan perangkat lunak yang digambarkan dalam bentuk diagram konteks, Diagram Alir Data (DAD), perancangan basis data yang terdiri dari Entity Relationship Diagram (ERD), struktur file, struktur menu perancangan masukan, dan perancangan keluaran.
3.1 Deskripsi Prosedur Kerja 3.1.1 Prosedur Penjualan
Prosedur kerja lingkungan implementasi Bagian Penjualan adalah sebagai berikut:
1. Customer mengisi data yang dibutuhkan seperti data diri customer dan id barang yang akan dibeli di Form Customer dan diberikan kepada Bagian Penjualan
2. Bagian Penjualan menginputkan data penjualan ke komputer
3. Komputer lalu membuat tagihan cicilan yang harus dibayar, lalu diberikan kepada Customer
Diagram Sistem Prosedur Penjualan
Gambar 3-1 Diagram Sistem Prosedur Penjualan
3.1.2 Prosedur Pembelian
Prosedur kerja lingkungan implementasi Bagian Pembelian adalah sebagai berikut:
1. Supplier mengisi form barang yang dibeli
2. Bagian Pembelian menginputkan ke komputer data pembelian
3. Komputer lalu membuat Bukti Pembelian, kemudian diberikan kepada Supplier
Diagram Sistem Prosedur Pembelian
Gambar 3-2 Diagram Sistem Prosedur Pembelian
3.1.3 Prosedur Pembayaran
Prosedur kerja lingkungan implementasi Bagian Pembayaran adalah sebagai berikut:
1. Customer membayar kepada Bagian Pembayaran
2. Bagian pembayaran menginputkan data pembayaran ke komputer 3. Komputer membuat bukti pembayaran, kemudian diberikan kepada
Customer
Diagram Sistem Prosedur Pembayaran
Gambar 3-3 Diagram Sistem Prosedur Pembayaran
3.2 Deskripsi Dokumen
Berdasarkan uraian prosedur kerja yang ada maka dokumen yang diperlukan adalah sebagai berikut:
1. Form Customer
Fungsi : Mencatat data customer
Sumber : Bagian Penjualan
Rangkap : 1 (satu)
Distrubusi : Administrator
Frekuensi : Setiap ada transaksi kecuali bila sudah ada Isi Dokumen :
No. Nama Jenis Data Keterangan
1 Nama string Nama lengkap
2 Alamat string Alamat tempat tinggal
3 Kota string Kota tempat tinggal
4 Kode Pos string Kode pos tempat tinggal
5 Tempat Lahir string Kota kelahiran
6 Tanggal Lahir tanggal Tanggal kelahiran 7 Jenis Kelamin string Jenis kelamin
9 Pekerjaan string Pekerjaan sehari-hari
10 Penghasilan numerik Penghasilan yang didapat per bulan
No. Nama Jenis Data Keterangan
11 Telepon string Nomor telepon pribadi
12 E-mail string Alamat e-mail pribadi
13 Nama string Nama kontak lain yang bisa
dihubungi
14 Alamat string Alamat kontak lain
15 Kota string Kota kontak lain
16 Kode Pos string Kode pos kontak lain
17 Telepon string Telepon kontak lain
18 E-mail string E-mail kontak lain
19 Hub. dgn Customer string Hubungan dengan customer
20 Keterangan string Keterangan yang perlu ditambahkan
Tabel 3-1 Form Customer
Gambar 3-4 Form Customer
2. Form Supplier
Fungsi : Mencatat data Supplier
Sumber : Bagian Pembelian
Rangkap : 1 (satu)
Frekuensi : Setiap ada transaksi kecuali bila sudah ada Isi Dokumen :
No. Nama Jenis Data Keterangan
1 Nama string Nama perusahaan
2 Alamat string Alamar perusahaan
3 Kota string Kota tempat perusahaan
4 Kode Pos string Kode pos perusahaan
5 Telepon string Telepon kantor perusahaan
6 E-mail string E-mail perusahaan
7 Website string Situs web resmi perusahaan
8 Keterangan string Keterangan yang perlu ditambahkan
Tabel 3-2 Form Supplier
Gamba 3-5 Form Supplier
3. Form Barang
Fungsi : Mencatat data Barang
Sumber : Barang
Rangkap : 1 (satu)
Distribusi : Administrator
Isi Dokumen :
No. Nama Jenis Data Keterangan
1 Nama string Nama barang
2 Jenis string Jenis barang
3 Warna string Warna barang
4 Panjang string Panjang barang (dalam cm)
5 Lebar string Lebar barang (dalam cm)
6 Tinggi string Tinggi barang (dalam cm)
7 Stok numerik Stok barang yang ada di gudang
8 ID Supplier string ID Supplier yang menyuplai
9 Harga numerik Harga barang per unit
Tabel 3-3 Form Barang
Gambar 3-6 Form Barang
4. Form Penjualan
Fungsi : Mencatat data Penjualan
Sumber : Bagian Penjualan
Rangkap : 1 (satu)
Distribusi : Administrator Frekuensi : Setiap ada transaksi
Isi Dokumen :
No. Nama Jenis Data Keterangan
1 ID Customer string ID pembeli
2 ID Barang string ID barang yang terjual
3 Tanggal tanggal Tanggal transaksi
4 Metode string Metode pembayaran
5 Harga numerik Harga pokok
6 Uang Muka numerik Jumlah uang muka
7 Bunga numerik Bunga kredit
8 Cicilan numerik Lama penyicilan (tahun)
9 Periode string Periode pembayaran
Tabel 3-4 Form Penjualan
Gambar 3-7 Form Penjualan
5. Form Pembelian
Fungsi : Mencatat data Pembelian
Sumber : Bagian Pembelian
Rangkap : 1 (satu)
Distribusi : Administrator Frekuensi : Setiap ada transaksi
Isi Dokumen :
No. Nama Jenis Data Keterangan
1 ID Supplier string ID Supplier yang menyuplai
2 ID Barang string ID barang yang dibeli
3 Tanggal tanggal Tanggal transaksi
4 Harga Satuan numerik Harga per unit
5 Jumlah numerik Kuantitas barang yang dibeli
6 Total numerik Total harga transaksi
Tabel 3-5 Form Pembelian
Gambar 3-8 Form Pembelian
6. Form Pembayaran
Fungsi : Mencatat data Pembayaran
Sumber : Bagian Pembayaran
Rangkap : 1 (satu)
Distribusi : Administrator
Frekuensi : Setiap ada pembayaran Isi Dokumen :
1 ID Penjualan string ID penjualan yang akan dibayar
2 Tanggal tanggal Tanggal pembayaran
3 Untuk Cicilan Ke numerik Urutan cicilan yang akan dibayar
4 Tertanda string ID Pegawai yang menangani
pembayaran
Tabel 3-6 Form Pembayaran
Gambar 3-9 Form Pembayaran
7. Laporan Penjualan
Fungsi : Menginformasikan data penjualan
Sumber : Bagian Penjualan
Rangkap : 1 (satu)
Distribusi : Administrator Frekuensi : Apabila diperlukan Isi Dokumen :
No. Nama Jenis Data Keterangan
1 Tanggal Laporan tanggal Tanggal pembuatan laporan
2 ID Customer string ID pembeli
3 ID Barang string ID barang yang terjual
5 Metode string Metode pembayaran
6 Harga numerik Harga pokok
7 Uang Muka numerik Jumlah uang muka
8 Bunga numerik Bunga kredit
9 Cicilan numerik Lama penyicilan (tahun)
10 Periode string Periode pembayaran
Tabel 3-7 Laporan Penjualan
Gambar 3-10 Laporan Penjualan
8. Laporan Pembelian
Fungsi : Menginformasikan data pembelian
Sumber : Bagian Pembelian
Rangkap : 1 (satu)
Distribusi : Administrator Frekuensi : Apabila diperlukan Isi Dokumen :
No. Nama Jenis Data Keterangan
1 Tanggal Laporan tanggal Tanggal pembuatan laporan 2 ID Supplier string ID Supplier yang menyuplai
4 Tanggal tanggal Tanggal transaksi 5 Harga Satuan numerik Harga per unit
6 Jumlah numerik Kuantitas barang yang dibeli
7 Total numerik Total harga transaksi
Tabel 3-8 Laporan Pembelian
Gambar 3-11 Laporan Pembelian
9. Laporan Pembayaran
Fungsi : Menginformasikan data pembayaran
Sumber : Bagian Pembayaran
Rangkap : 1 (satu)
Distribusi : Administrator Frekuensi : Apabila diperlukan Isi Dokumen :
No. Nama Jenis Data Keterangan
1 Tanggal Laporan tanggal Tanggal pembuatan laporan 2 ID Penjualan string ID penjualan yang akan dibayar
3 Tanggal tanggal Tanggal pembayaran
4 Untuk Cicilan Ke numerik Urutan cicilan yang akan dibayar
pembayaran
Tabel 3-9 Laporan Pembayaran
3.3 Pemodelan Kebutuhan Fungsional 3.3.1 Diagram Konteks FBay Information System Customer Pegawai Gudang biodata, password laporan Supplier biodata, pesanan laporan pembelian, bukti pembayaran data barang data supplier, data barang laporan pembelian update data barang
Gambar 3-13 Diagram Konteks
3.3.2 Diagram Aliran Data Level 1
Gambar 3-14 DAD Level 1
Customer Gudang 1.1 Rekam data 1.2 Rekam data db Customer db Barang 1.3 Transaksi db Pembayaran db Penjualan 1.4 Cetak Pegawai data customer id cust. data customer detail id barang data barang detail data barang tagihan lap. penjualan data pembayaran detail data penjualan data penjualan detail
Gambar 3-15 DAD Level 2 Proses 1
Level 2 Proses 2
Gambar 3-16 DAD Level 2 Proses 2
data bara ng lap. da
ta bara ng
Gambar 3-17 DAD Level 2 Proses 3
3.4 Perancangan Basis Data
3.4.1 Keterhubungan Antar Tabel
Keterhubungan antar tabel dijelaskan dalam E-R Diagram dan E-R Diagram versi James Martin dibawah ini:
Gambar 3-19 E-R Diagram versi James Martin
3.4.2 Deskripsi Tabel 1. Tabel Barang
Fungsi : Menyimpan data Barang
Jenis : Tabel Induk
Primary Key : id_barang Struktur Tabel :
No Nama Jenis Data Ukuran
1 id_barang string 6 2 nama string 30 3 jenis string 2 4 warna string 7 5 panjang string 3 6 lebar string 3 7 tinggi string 3 8 stok string 3 9 id_supplier string 6
10 harga double
Tabel 3-10 Tabel Barang
2. Tabel Customer
Fungsi : Menyimpan data Customer
Jenis : Tabel Induk
Primary Key : id_customer Struktur Tabel :
No Nama Jenis Data Ukuran
1 id_customer string 6 2 nama string 30 3 alamat string 50 4 kota string 10 5 kodepos string 5 6 tempatlahir string 10 7 tgl_lahir date 8 jk string 1 9 ktp string 16 10 status string 2 11 pekerjaan string 15 12 penghasilan double 13 telp string 13 14 email string 30 15 knama string 30 16 kalamat string 50 17 kkota string 10 18 kkodepos string 5 19 ktelp string 13 20 kemail string 30 21 khub string 20
Tabel 3-11 Tabel Customer
3. Tabel Supplier
Fungsi : Menyimpan data Supplier
Jenis : Tabel Induk
Primary Key : id_supplier Struktur Tabel :
No Nama Jenis Data Ukuran
2 nama string 30
No Nama Jenis Data Ukuran
3 alamat string 50 4 kota string 10 5 kodepos string 5 6 telp string 13 7 email string 30 8 website string 30 9 ket string 50
Tabel 3-12 Tabel Supplier
4. Tabel Pegawai
Fungsi : Menyimpan data Pegawai
Jenis : Tabel Induk
Primary Key : id_pegawai Struktur Tabel :
No Nama Jenis Data Ukuran
1 id_pegawai string 6
2 nama string 30
3 jabatan string 2
4 password string 10
5 lastlogin date/time
Tabel 3-13 Tabel Pegawai
5. Tabel Penjualan
Fungsi : Menyimpan data Penjualan
Jenis : Tabel Transaksi
Primary Key : -
Struktur Tabel :
No Nama Jenis Data Ukuran
1 id_jual string 6 2 id_customer string 6 3 id_barang string 6 4 tanggal date 5 metode string 1 6 harga double 7 uangmuka double 8 bunga single 9 cicilan integer
10 periode string 1
No Nama Jenis Data Ukuran
11 total double
Tabel 3-14 Tabel Penjualan
6. Tabel Pembelian
Fungsi : Menyimpan data Pembelian
Jenis : Tabel Transaksi
Primary Key : -
Struktur Tabel :
No Nama Jenis Data Ukuran
1 id_beli string 6 2 id_supplier string 6 3 id_barang string 6 4 tanggal date 5 harga double 6 jumlah double 7 total double
Tabel 3-15 Tabel Pembelian
7. Tabel Pembayaran
Fungsi : Menyimpan data Pembayaran
Jenis : Tabel Transaksi
Primary Key : -
Struktur Tabel :
No Nama Jenis Data Ukuran
1 id_bayar string 6
2 id_jumlah string 6
3 tanggal date
4 cicilan integer
5 tertanda string 6
Tabel 3-16 Tabel Pembayaran
3.5 Spesifikasi Minimum
Spesifikasi minimum dari komputer yang akan dipasang aplikasi ini adalah: - Pemroses 1,7 GHz
- Memory 128 MB - Harddisk 20 GB
- Color Monitor 15” - Keyboard dan Mouse
- Sistem Operasi Microsoft Windows 98
BAB IV
IMPLEMENTASI PERANGKAT LUNAK
4.1 Lingkungan Implementasi
Perangkat keras dan perangkat lunak yang digunakan dalam mengimplementasikan rancangan yang sudah dibahas di bab sebelumnya adalah sebagai berikut.
Perangkat keras
Pemroses : Prosesor Intel Celeron 2 GHz
Memory : Visipro 256 MB
Harddisk : Seagate Barracuda 80 GB 7200 rpm
Monitor : Samsung CDT155 17”
Printer : HP Deskjet 3940
Perangkat lunak
Sistem Operasi : Windows XP SP 2
IDE : Microsoft Visual Basic 6.0
Database : Microsoft Office Access
4.2 Hasil Implementasi
Berikut adalah hasil-hasil dari perancangan sistem yang telah dibahas di bab sebelumnya.
4.2.1 Struktur Menu
Gambar 4-1 Struktur Menu
4.2.2 Deskripsi Rinci Modul 4.2.2.1 Form Log In
Gambar 4-2 Form Log In
Objek Tipe Keterangan
frmLogin Form Form untuk Log In
Text1 Textfield Inputan ID Pegawai
Text2 Textfield Inputan password
Command1 Button Tombol untuk log in
Command2 Button Tombol untuk batal log in
4.2.2.2 Form Utama
Gambar 4-3 Form Utama
Objek Tipe Keterangan
frmUtama Form Form utama/inti
mnuUtama Menu bar Menu utama
Toolbar1 Toolbar Baris tombol yang memiliki fungsinya masing-masing
lblJual Label Label untuk menampilkan penjualan
lblBeli Label Label untuk menampilkan pembelian
sB1 Status bar Baris status unuk menampilkan status
Tabel 4-2 Objek Form Utama
4.2.2.3 Form Penjualan
9
Objek Tipe Keterangan
lbltgl Label Untuk menampilkan tanggal
Text1 Textfield Inputan ID Penjualan
Combo1 Combo box Untuk memilih ID Customer
Combo2 Combo box Untuk memilih ID Barang
lblHarga Label Menampilkan harga pokok
optMetode Radio button Memilih metode pembayaran
Text2 Textfield Inputan uang muka
Text3 Textfield Inputan bunga
Text4 Textfield Inputan lama cicilan
Combo3 Combo box Untuk memilih periode pembayaran
Command1 Button Untuk menambah Customer
Command2 Button Untuk menyimpan record
Command3 Button Untuk mencetak laporan
Command4 Button Untuk menambah barang
Command5 Button Untuk membuat penjualan baru
Tabel 4-3 Objek Form Penjualan
4.2.2.4 Form Pembelian
Gambar 4-5 Form Pembelian
Objek Tipe Keterangan
lbltgl Label Untuk menampilkan tanggal
Combo1 Combo box Untuk memilih ID Supplier
Combo2 Combo box Untuk memilih ID Customer
Text1 Textfield Inputan ID Pembelian
Text2 Textfield Inputan harga satuan barang
Text3 Textfield Inputan jumlah barang yang dibeli
lblTotal Label Menampilkan harga total pembelian
Command1 Button Untuk menambah Supplier
Command2 Button Untuk menambah Barang
Command3 Button Untuk menyimpan record
Command5 Button Untuk membuat pembelian baru
Tabel 4-4 Objek Form Pembelian
4.2.2.5 Form Pembayaran
Gambar 4-6 Form Pembayaran
Objek Tipe Keterangan
lbltgl Label Untuk menampilkan tanggal
Combo1 Combo box Untuk memilih ID Penjualan
Text1 Textfield Inputan pembayaran cicilan
lblTertanda Label Untuk menampilkan user active
Tabel 4-5 Objek Form Pembayaran
4.2.2.6 Form Data Customer
Objek Tipe Keterangan
Text1 Textfield Inputan ID Customer
Text2 Textfield Inputan nama customer
Text3 Textfield Inputan alamat customer
Text4 Textfield Inputan kota customer
Text5 Textfield Inputan kode pos customer
Text6 Textfield Inputan tempat lahir customer
Text7 Textfield Inputan tanggal lahir customer
Text8 Textfield Inputan no. ktp customer
Text9 Textfield Inputan pekerjaan customer
Text10 Textfield Inputan jumlah penghasilan customer
Text11 Textfield Inputan no. telepon customer
Text12 Textfield Inputan email customer
Text13 Textfield Inputan nama kontak lain
Text14 Textfield Inputan alamat kontak lain
Text15 Textfield Inputan kota kontak lain
Text16 Textfield Inputan kode pos kontak lain
Text17 Textfield Inputan telepon kontak lain
Text18 Textfield Inputan email kontak lain
Text19 Textfield Inputan hubungan dengan customer
Text20 Textfield Inputan keterangan
Combo1 Combo box Untuk memilih jenis kelamin
Combo2 Combo box Untuk memilih status rumah tinggal
Command1 Button Untuk menyimpan record
Command2 Button Untuk update record
Command3 Button Untuk menghapus record
Command4 Button Untuk membuat record baru
Command5 Button Untuk mencari record
cbKategori Combo box Untuk memilih kategori pencarian
txtKata Textfield Untuk memasukkan kata kunci
pencarian
lblRecord Label Untuk menampilkan posisi record
DataGrid1 Data grid Untuk menampilkan data
Gambar 4-8 Report Customer
4.2.2.7 Form Data Barang
Gambar 4-9 Form Data Barang
Objek Tipe Keterangan
Text1 Textfield Inputan ID Barang
Text2 Textfield Inputan nama barang
Text3 Textfield Inputan warna barang
Text4 Textfield Inputan harga barang
Text6 Textfield Inputan lebar barang
Text7 Textfield Inputan tinggi barang
Text8 Textfield Inputan stok barang
Combo1 Combo box Untuk jenis barang
Combo2 Combo box Untuk ID Supplier
Command1 Button Untuk menyimpan record
Command2 Button Untuk update record
Command3 Button Untuk menghapus record
Command4 Button Untuk membuat record baru
Command5 Button Untuk mencari record
cbKategori Combo box Untuk memilih kategori pencarian
txtKata Textfield Untuk memasukkan kata kunci
pencarian
lblRecord Label Untuk menampilkan posisi record
DataGrid1 Data grid Untuk menampilkan data
Tabel 4-7 Objek Form Data Barang
4.2.2.8 Form Data Supplier
Gambar 4-11 Form Data Supplier
Objek Tipe Keterangan
Text1 Textfield Inputan ID Customer
Text2 Textfield Inputan nama perusahaan supplier
Text3 Textfield Inputan alamat supplier
Text4 Textfield Inputan kota supplier
Text5 Textfield Inputan kode pos supplier
Text6 Textfield Inputan telepon supplier
Text7 Textfield Inputan email supplier
Text8 Textfield Inputan website supplier
Text9 Textfield Inputan keterangan
Command1 Button Untuk menyimpan record
Command2 Button Untuk update record
Command3 Button Untuk menghapus record
Command4 Button Untuk membuat record baru
Command5 Button Untuk mencari record
cbKategori Combo box Untuk memilih kategori pencarian
txtKata Textfield Untuk memasukkan kata kunci
pencarian
lblRecord Label Untuk menampilkan posisi record
DataGrid1 Data grid Untuk menampilkan data
4.2.2.9 Form Data Penjualan
Gambar 4-12 Form Data Penjualan
Objek Tipe Keterangan
Text1 Textfield Inputan ID Penjualan
Text2 Textfield Inputan tanggal penjualan
Text3 Textfield Inputan harga barang
Text4 Textfield Inputan uang muka
Text5 Textfield Inputan bunga
Text6 Textfield Inputan cicilan
Text7 Textfield Inputan total penjualan
Combo1 Combo box Untuk memilih ID Customer
Combo2 Combo box Untuk memilih ID Barang
Combo3 Combo box Untuk metode
Combo4 Combo box Untuk periode
cmdTanggal Button Untuk menampilkan kalender
Command1 Button Untuk menyimpan record
Command2 Button Untuk update record
Command3 Button Untuk menghapus record
Command4 Button Untuk membuat record baru
Command5 Button Untuk mencari record
cbKategori Combo box Untuk memilih kategori pencarian
txtKata Textfield Untuk memasukkan kata kunci
pencarian
DataGrid1 Data grid Untuk menampilkan data
Gambar 4-13 Report Pembayaran
4.2.2.10 Form Data Pembelian
Gambar 4-14 Form Data Pembelian
Objek Tipe Keterangan
Text1 Textfield Inputan ID Pembelian
Text2 Textfield Inputan tanggal pembelian
Text3 Textfield Inputan harga barang
Text4 Textfield Inputan jumlah
Text5 Textfield Inputan total
Combo1 Combo box Untuk memilih ID Supplier
Combo2 Combo box Untuk memilih ID Barang
cmdTanggal Button Untuk menampilkan kalender
Command2 Button Untuk update record
Command3 Button Untuk menghapus record
Command4 Button Untuk membuat record baru
Command5 Button Untuk mencari record
cbKategori Combo box Untuk memilih kategori pencarian
txtKata Textfield Untuk memasukkan kata kunci
pencarian
lblRecord Label Untuk menampilkan posisi record
DataGrid1 Data grid Untuk menampilkan data
Tabel 4-10 Objek Form Data Pembelian
4.2.2.11 Form Data Pembayaran
Gambar 4-16 Form Data Pembayaran
Objek Tipe Keterangan
Text1 Textfield Inputan ID Pembayaran
Text2 Textfield Inputan tanggal pembayaran
Text3 Textfield Inputan cicilan
Text4 Textfield Inputan tertanda
Combo1 Combo box Untuk memilih ID Penjualan
cmdTanggal Button Untuk menampilkan kalender
Command1 Button Untuk menyimpan record
Command2 Button Untuk update record
Command3 Button Untuk menghapus record
Command4 Button Untuk membuat record baru
Command5 Button Untuk mencari record
cbKategori Combo box Untuk memilih kategori pencarian
txtKata Textfield Untuk memasukkan kata kunci
pencarian
lblRecord Label Untuk menampilkan posisi record
DataGrid1 Data grid Untuk menampilkan data
Gambar 4-17 Report Pembayaran
4.2.2.12 Form Data Pegawai
Gambar 4-18 Form Data Pegawai
Objek Tipe Keterangan
Text1 Textfield Inputan ID Pegawai
Text2 Textfield Inputan nama lengkap pegawai
Text3 Textfield Inputan password
Text4 Textfield Inputan last log in
Command1 Button Untuk menyimpan record
Command2 Button Untuk update record
Command3 Button Untuk menghapus record
Command4 Button Untuk membuat record baru
Command5 Button Untuk mencari record
cbKategori Combo box Untuk memilih kategori pencarian
txtKata Textfield Untuk memasukkan kata kunci
pencarian
lblRecord Label Untuk menampilkan posisi record
DataGrid1 Data grid Untuk menampilkan data
Tabel 4-12 Objek Form Data Pegawai
Gambar 4-19 Report Pegawai
4.3 Gantt Chart
ID Task Name Start Finish Duration
May 2008 Jun 2008 4/27 5/4 5/11 5/18 5/25 6/1 6/8 6/15 1 Identifikasi 24/04/2008 01/05/2008 6d 2 Analisa 01/05/2008 06/05/2008 4d 3 Design 07/05/2008 09/05/2008 3d 4 Development 12/05/2008 19/06/2008 29d 5 Dokumentasi 20/06/2008 24/06/2008 3d 6 Integrating 24/06/2008 24/06/2008 1d 7 Testing 24/06/2008 24/06/2008 1d
BAB V
MATRIKS KETERUNUTUN
Tabel – tabel yang dibuat, form-form yang dibuat, serta output berupa laporan dan tak lupa proses yang ada didalamnya memiliki keterkaitan sehingga dapat menimbulkan fungsi yang baik dan terstruktur dalam pembuatannya. Berikut table yang menunjukan matrik keterunutan program :
No. SKPL Nama Form Nama Proses Nama Laporan
1 Login Otentifikasi -
2 Utama Hitung total pembelian
Hitung total penjualan
3 Penjualan Penghitungan kredit Report Penjualan
Simpan record penjualan
4 Pembelian Simpan record pembelian Report Pembelian Hitung total pembelian
5 Pembayaran Simpan record pembayaran Report
Pembayaran 6 Data Customer Trigger data Customer Report Customer
7 Data Barang Trigger data Barang Report Barang
8 Data Supplier Trigger data Supplier Report Supplier 9 Data Penjualan Trigger data Penjualan Report Penjualan 10 Data Pembelian Trigger data Pembelian Report Pembelian 11 Data Pembayaran Trigger data Pembayaran Report
Pembayaran 12 Data Pegawai Trigger data Pegawai Report Pegawai
BAB VI
KESIMPULAN DAN SARAN
6.1 Kesimpulan
Aplikasi ini memiliki fungsi utama, yaitu:
1. Menghitung jumlah cicilan yang harus dibayar oleh pelanggan apabila memilih metode pembayaran kredit
2. Memudahkan pengguna dalam pendokumentasian data pembayaran, pembelian, maupun penjualan
3. Dapat menghasilkan laporan dari setiap proses yang ada.
6.2 Saran
Ketika akan membuat suatu aplikasi perkreditan, penulis menyarankan agar teliti dalam penghitungan pembayaran cicilan, karena bisa saja biaya pokok ditambah biaya administrasi yang lain seperti biaya pengiriman, dll. Kemudian dalam pelaporan, penulis menyarankan untuk memakai chart grafik agar lebih dimengerti oleh penerima laporan.
6.3 Kemungkinan Pengembangan
Kemungkinan untuk mengembangkan aplikasi ini sangat besar. Contohnya, untuk metode pembayaran bisa ditambah menjadi menggunakan kartu kredit atau semacamnya. Kemudian dalam hal laporan, laporan tidak harus selalu dalam format kertas berukuran Legal, tetapi bisa juga dengan ukuran seperti struk belanja.
DAFTAR PUSTAKA
Jayan. (2006). Mudah dan Cepat Belajar VB. Palembang: Penerbit Maxikom.
VB Source Code. (2002, 15 Maret). Diakses 15 Juni, 2008, dari Planet Source Code: planet-source-code.com
LAMPIRAN-LAMPIRAN
Script
‘Form Pembayaran
Private Sub Command5_Click() With DataPmbayaran.Recordset .AddNew .Fields(0) = Text1.Text .Fields(1) = Combo1.Text .Fields(2) = lbltgl.Caption .Fields(3) = Text2.Text .Fields(4) = Label6.Caption .Update End With
MsgBox "Data berhasil disimpan", vbInformation, "Sukses!" End Sub
Private Sub Command6_Click() rptPembayaran.Show
End Sub
Private Sub Form_Load() With Me.DataPmbayaran
.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"
.CommandType = adCmdText
.RecordSource = "Select * from pembayaran" .Refresh
End With
With Me.DataJual
.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"
.CommandType = adCmdText
.RecordSource = "Select * from penjualan" .Refresh
End With
DataJual.RecordSource = "Select * from penjualan" If (DataJual.Recordset.RecordCount > 0) Then Do While Not DataJual.Recordset.EOF
Combo1.AddItem DataJual.Recordset!id_jual DataJual.Recordset.MoveNext
Loop End If Call AutoID
lbltgl.Caption = Format(Now, "dd/mm/yy hh:mm") Label6.Caption = frmUtama.sB1.Panels(2).Text End Sub
Private Function AutoID() With Me.DataPmbayaran
.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"
.CommandType = adCmdText
.RecordSource = "Select * from pembayaran order by id_bayar DESC" .Refresh
End With
If DataPmbayaran.Recordset.RecordCount = 0 Then Text1.Text = "PY0000"
Else
Dim dataY As String
dataY = DataPmbayaran.Recordset.Fields(0)
Text1.Text = "PY" & Format(Right(dataY, 4) + 1, "0000") End If
End Function ‘Form Pembelian Dim tot As Double
Private Function AutoID() With Me.DataPmbelian
.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"
.CommandType = adCmdText
.RecordSource = "Select * from pembelian order by id_beli DESC" .Refresh
End With
If DataPmbelian.Recordset.RecordCount = 0 Then Text1.Text = "PI0000"
Else
Dim dataY As String
dataY = DataPmbelian.Recordset.Fields(0)
Text1.Text = "PI" & Format(Right(dataY, 4) + 1, "0000") End If
DataPmbelian.Recordset.Close End Function
Private Sub Command1_Click() frmSupplier.Show
frmSupplier.Command4.SetFocus End Sub
Private Sub Command2_Click() frmBarang.Show
End Sub
Private Sub Command3_Click() Text1.Text = "" Combo1.Text = "" Combo2.Text = "" Text2.Text = "" Text3.Text = "" Label8.Caption = "" Call AutoID End Sub
Private Sub Command5_Click() With DataPmbelian.Recordset .Open .AddNew .Fields(0) = Text1.Text .Fields(1) = Combo1.Text .Fields(2) = Combo2.Text .Fields(3) = lbltgl.Caption .Fields(4) = Text2.Text .Fields(5) = Text3.Text .Fields(6) = tot .Update .Close End With
MsgBox "Data berhasil disimpan", vbInformation, "Sukses!" End Sub
Private Sub Command6_Click() rptPembelian.Show
End Sub
Private Sub Form_Click() Combo1.Clear
DataSupp.RecordSource = "Select id_supplier from supplier" DataSupp.Recordset.MoveFirst
DataSupp.Refresh
If (DataSupp.Recordset.RecordCount > 0) Then Do While Not DataSupp.Recordset.EOF
Combo1.AddItem DataSupp.Recordset.Fields(0) DataSupp.Recordset.MoveNext
Loop End If
Combo2.Clear
DataBrg.RecordSource = "Select id_barang from barang" DataBrg.Recordset.MoveFirst
DataBrg.Refresh
If (DataBrg.Recordset.RecordCount > 0) Then Do While Not DataBrg.Recordset.EOF
Combo2.AddItem DataBrg.Recordset.Fields(0) DataBrg.Recordset.MoveNext
Loop End If End Sub
Private Sub Form_Load() With Me.DataBrg
.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"
.CommandType = adCmdText
.RecordSource = "Select * from barang" .Refresh
End With
With Me.DataSupp
.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"
.CommandType = adCmdText
.RecordSource = "Select * from Supplier" .Refresh
End With
With Me.DataPmbelian
.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"
.CommandType = adCmdText
.RecordSource = "Select * from Pembelian" .Refresh
End With
DataBrg.RecordSource = "Select * from barang" If (DataBrg.Recordset.RecordCount > 0) Then Do While Not DataBrg.Recordset.EOF
DataBrg.Recordset.MoveNext Loop
End If
DataSupp.RecordSource = "Select * from Supplier" If (DataSupp.Recordset.RecordCount > 0) Then Do While Not DataSupp.Recordset.EOF
Combo1.AddItem DataSupp.Recordset!id_supplier DataSupp.Recordset.MoveNext Loop End If Call AutoID Command5.Enabled = False
lbltgl.Caption = Format(Now, "dd/mm/yy hh:mm") End Sub
Private Sub Text3_Change()
Label8.Caption = Format(Val(Text2.Text) * Val(Text3.Text), "currency") If Label8.Caption = "" Then
Command5.Enabled = False Else
Command5.Enabled = True End If
tot = Val(Text2.Text) * Val(Text3.Text) End Sub
‘Form Penjualan
Dim strUserChoice As String Dim curPayment As Currency
Dim dblRate As Double, dblNper As Double, dblPv As Double, dblFv As Double, dblPer As Double
Dim dblIpay As Double, dblItotal As Double, dblIarray() As Double Dim dblPpay As Double, dblPtotal As Double, dblParray() As Double Dim dblPeriodComplete As Double 'period at which loan is paid in full Dim bolPaidOff As Boolean
Dim dblAdditionalPrinciple As Double Private Sub Kosong()
Combo2.Text = "" Label11.Caption = "" Option1.Value = False Option2.Value = False Combo4.ListIndex = 0 Text5.Text = "" Text6.Text = "" Text7.Text = "" Label16.Caption = ""
End Sub
Private Sub Combo2_Click() DataBrg.Recordset.Open
DataBrg.RecordSource = "select*from barang where id_barang like '%" & Combo2.Text & "%'"
DataBrg.Refresh
Label11.Caption = DataBrg.Recordset.Fields(9) DataBrg.Recordset.Close
End Sub
Private Sub Combo2_LostFocus() Combo2.Text = UCase(Combo2.Text) Combo2_Click
End Sub
Private Sub Command1_Click() frmCustomer.Show
End Sub
Private Sub Command3_Click() Combo1.Text = "" Call Kosong Call AutoID Command2.Enabled = False Command3.Enabled = False End Sub
Private Sub Command2_Click() Call Kosong
Command2.Enabled = False Command3.Enabled = False Combo1.SetFocus
End Sub
Private Sub Command5_Click() With DataPnjualan.Recordset .Open .AddNew .Fields(0) = Text1.Text .Fields(1) = Combo1.Text .Fields(2) = Combo2.Text .Fields(3) = lbltgl.Caption If Option1.Value = True Then .Fields(4) = "C"
Else
.Fields(4) = "R" End If
.Fields(5) = Label11.Caption If Option1.Value = True Then .Fields(6) = 0 .Fields(7) = 0 .Fields(8) = 0 .Fields(9) = "-" Else .Fields(6) = Text5.Text .Fields(7) = Text6.Text .Fields(8) = Text7.Text
If Combo4.Text = "Mingguan" Then .Fields(9) = "M"
ElseIf Combo4.Text = "Bulanan" Then .Fields(9) = "B" Else .Fields(9) = "T" End If End If .Fields(10) = Val(Label16.Caption) .Update .Close End With With DataBrg.Recordset .Open .Update .Fields(7) = Val(.Fields(7)) - 1 .Update .Close End With
MsgBox "Data berhasil disimpan", vbInformation, "Sukses!" Command2.Enabled = True
Command3.Enabled = True End Sub
Private Sub Command6_Click() rptPenjualan.Show
End Sub
Private Sub Command7_Click() If Option2.Value = True Then
If Text5.Text = "" Or Text6.Text = "" Or Text7.Text = "" Or Combo4.Text = "" Then
MsgBox "Data harus diisi semua", vbCritical, "Error" Option2.Value = False
Option1.SetFocus Else
'assign private datamembers
strUserChoice = Combo4.Text 'payment period (monthly, yearly, quarterly, etc.)
dblPv = Val(Label11.Caption) 'total loan
dblPv = dblPv - Val(Text5.Text) 'total loan minus downpayment dblFv = 0& 'future value of loan = $0.00
dblItotal = 0&: dblPtotal = 0& 'set total interest/principle paid to zero bolPaidOff = False
dblPeriodComplete = 0
'calculate total number of payment periods and assign appropriate Rate If strUserChoice = "Mingguan" Then
dblNper = Val(Text7.Text) * 52&
dblRate = (Val(Text6.Text) / 100&) / 52& End If
If strUserChoice = "Bulanan" Then dblNper = Val(Text7.Text) * 12&
dblRate = (Val(Text6.Text) / 100&) / 12& End If
If strUserChoice = "Tahunan" Then dblNper = Val(Text7.Text)
dblRate = (Val(Text6.Text) / 100&) End If
'calculate payment
curPayment = Pmt(dblRate, dblNper, -dblPv, dblFv, 0)
'Pmt is a VB function which returns the fixed payment for a loan
'based upon the rate(dblRate), number of periods(dblNper), amount of the loan(dblPv),
'future value of loan=0(dblFv), and type(0 indicates payment due at end of period) 'show appropriate term in label
If Combo4.Text = "Mingguan" Then Label15.Caption = "Biaya per minggu: " ElseIf Combo4.Text = "Bulanan" Then Label15.Caption = "Biaya per bulan: " ElseIf Combo4.Text = "Tahunan" Then Label15.Caption = "Biaya per tahun: "
Else
MsgBox ("Data harus di isi semuanya!!!"), vbCritical, "Ulangi Kembali" End If
Label16.Caption = curPayment
'Create array to contain Periodic interest due
ReDim dblIarray(dblNper - 1, 2) 'to contain the current period, current interest, total interest payment
ReDim dblParray(dblNper - 1, 2) 'to contain current period, current principal payment, total principle payment
dblPeriodComplete = dblNper 'set equal to number of periods calculated above For dblPer = 1 To dblNper
dblPpay = PPmt(dblRate, dblPer, dblNper, -dblPv, dblFv, 0) dblPtotal = dblPtotal + dblPpay + dblAdditionalPrinciple If dblPtotal > dblPv Then 'if loan paid off
If bolPaidOff = False Then
dblPeriodComplete = dblPer 'remember period when loan paid off End If
dblParray(dblPer - 1, 0) = dblPer dblParray(dblPer - 1, 1) = 0 If bolPaidOff = False Then
dblParray(dblPer - 1, 1) = dblPv - dblParray(dblPer - 2, 2) End If dblParray(dblPer - 1, 2) = dblPv bolPaidOff = True Else dblParray(dblPer - 1, 0) = dblPer dblParray(dblPer - 1, 1) = dblPpay dblParray(dblPer - 1, 2) = dblPtotal End If Next dblPer
For dblPer = 1 To dblNper
dblIpay = IPmt(dblRate, dblPer, dblNper, -dblPv, dblFv, 0) dblItotal = dblItotal + dblIpay
If dblPer > dblPeriodComplete Then dblItotal = dblItotal - dblIpay dblIarray(dblPer - 1, 0) = dblPer dblIarray(dblPer - 1, 1) = 0 dblIarray(dblPer - 1, 2) = dblItotal
Else dblIarray(dblPer - 1, 0) = dblPer dblIarray(dblPer - 1, 1) = dblIpay dblIarray(dblPer - 1, 2) = dblItotal End If Next dblPer 'Label25.Caption = _
' Format$((dblItotal + (Val(Labelharga.Caption)) - Val(Text10.Text)), "currency") 'Command4.Enabled = True End If Else Label16.Caption = Label11.Caption End If 'Command6.Enabled = True End Sub
Private Sub Form_Click() Combo1.Clear
DataCust.RecordSource = "Select id_customer from Customer" DataCust.Recordset.MoveFirst
DataCust.Refresh
If (DataCust.Recordset.RecordCount > 0) Then Do While Not DataCust.Recordset.EOF
Combo1.AddItem DataCust.Recordset!id_Customer DataCust.Recordset.MoveNext
Loop End If End Sub
Private Sub Form_Load() With Me.DataCust
.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"
.CommandType = adCmdText
.RecordSource = "Select * from customer" .Refresh
End With
With Me.DataBrg
.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"
.CommandType = adCmdText
.Refresh End With
DataCust.RecordSource = "Select id_customer from Customer" If (DataCust.Recordset.RecordCount > 0) Then
Do While Not DataCust.Recordset.EOF
Combo1.AddItem DataCust.Recordset!id_Customer DataCust.Recordset.MoveNext
Loop End If
'Set DataCust.Recordset = Nothing
DataBrg.RecordSource = "Select * from barang" If (DataBrg.Recordset.RecordCount > 0) Then Do While Not DataBrg.Recordset.EOF
Combo2.AddItem DataBrg.Recordset!id_barang DataBrg.Recordset.MoveNext Loop End If DataBrg.Recordset.Close Combo4.AddItem "Mingguan" Combo4.AddItem "Bulanan" Combo4.AddItem "Tahunan"
lbltgl.Caption = Format(Now, "dd/mm/yyyy") Call AutoID
Command2.Enabled = False Command3.Enabled = False End Sub
Private Function AutoID() With Me.DataPnjualan
.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"
.CommandType = adCmdText
.RecordSource = "Select * from penjualan order by id_jual DESC" .Refresh
End With
If DataPnjualan.Recordset.RecordCount = 0 Then Text1.Text = "PO0000"
Else
Dim dataY As String
dataY = DataPnjualan.Recordset.Fields(0)
Text1.Text = "PO" & Format(Right(dataY, 4) + 1, "0000") End If
DataPnjualan.Recordset.Close End Function
Private Sub Option1_Click() Text5.Enabled = False Text6.Enabled = False Text7.Enabled = False Combo4.Enabled = False Text5.BackColor = &H8000000F Text6.BackColor = &H8000000F Text7.BackColor = &H8000000F Combo4.BackColor = &H8000000F End Sub
Private Sub Option2_Click() Text5.Enabled = True Text6.Enabled = True Text7.Enabled = True Combo4.Enabled = True Text5.BackColor = vbWhite Text6.BackColor = vbWhite Text7.BackColor = vbWhite Combo4.BackColor = vbWhite End Sub
Private Sub Text5_LostFocus()
If Val(Text5.Text) > Val(Label11.Caption) Then
MsgBox "Uang muka tidak bisa lebih besar daripada harga pokok!", vbCritical, App.Title Text5.Text = "" Text5.SetFocus End If End Sub ‘Form About Option Explicit
' Reg Key Security Options...
Const READ_CONTROL = &H20000 Const KEY_QUERY_VALUE = &H1 Const KEY_SET_VALUE = &H2
Const KEY_CREATE_SUB_KEY = &H4 Const KEY_ENUMERATE_SUB_KEYS = &H8 Const KEY_NOTIFY = &H10
Const KEY_CREATE_LINK = &H20
Const KEY_ALL_ACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + _
KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + _
KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL
' Reg Key ROOT Types...
Const HKEY_LOCAL_MACHINE = &H80000002 Const ERROR_SUCCESS = 0
Const REG_SZ = 1 ' Unicode nul terminated string Const REG_DWORD = 4 ' 32-bit number
Const gREGKEYSYSINFOLOC = "SOFTWARE\Microsoft\Shared Tools Location"
Const gREGVALSYSINFOLOC = "MSINFO"
Const gREGKEYSYSINFO = "SOFTWARE\Microsoft\Shared Tools\MSINFO" Const gREGVALSYSINFO = "PATH"
Private Declare Function RegOpenKeyEx Lib "advapi32" Alias
"RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, ByRef phkResult As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32" Alias
"RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal lpData As String, ByRef lpcbData As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long
Private Sub cmdSysInfo_Click() Call StartSysInfo
End Sub
Private Sub cmdOK_Click() Unload Me
End Sub
Private Sub Form_Load()
Me.Caption = "About " & App.Title
lblVersion.Caption = "Version " & App.Major & "." & App.Minor & "." & App.Revision
lblTitle.Caption = App.Title lblDescription = App.Comments End Sub
Public Sub StartSysInfo() On Error GoTo SysInfoErr
Dim rc As Long
Dim SysInfoPath As String
' Try To Get System Info Program Path\Name From Registry... If GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFO, gREGVALSYSINFO, SysInfoPath) Then
' Try To Get System Info Program Path Only From Registry...
ElseIf GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFOLOC, gREGVALSYSINFOLOC, SysInfoPath) Then
' Validate Existance Of Known 32 Bit File Version If (Dir(SysInfoPath & "\MSINFO32.EXE") <> "") Then SysInfoPath = SysInfoPath & "\MSINFO32.EXE"
' Error - File Can Not Be Found... Else
GoTo SysInfoErr End If
' Error - Registry Entry Can Not Be Found... Else
GoTo SysInfoErr End If
Call Shell(SysInfoPath, vbNormalFocus)
Exit Sub SysInfoErr:
MsgBox "System Information Is Unavailable At This Time", vbOKOnly End Sub
Public Function GetKeyValue(KeyRoot As Long, KeyName As String, SubKeyRef As String, ByRef KeyVal As String) As Boolean
Dim i As Long ' Loop Counter Dim rc As Long ' Return Code
Dim hKey As Long ' Handle To An Open Registry Key Dim hDepth As Long '
Dim KeyValType As Long ' Data Type Of A Registry Key Dim tmpVal As String ' Tempory Storage For A Registry Key Value
Dim KeyValSize As Long ' Size Of Registry Key Variable '---
' Open RegKey Under KeyRoot {HKEY_LOCAL_MACHINE...} '---
rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey) ' Open Registry Key
If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' Handle Error...
tmpVal = String$(1024, 0) ' Allocate Variable Space KeyValSize = 1024 ' Mark Variable Size
'--- ' Retrieve Registry Key Value...
'--- rc = RegQueryValueEx(hKey, SubKeyRef, 0, _
KeyValType, tmpVal, KeyValSize) ' Get/Create Key Value
If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' Handle Errors
If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then ' Win95 Adds Null Terminated String...
tmpVal = Left(tmpVal, KeyValSize - 1) ' Null Found, Extract From String
Else ' WinNT Does NOT Null Terminate String...
tmpVal = Left(tmpVal, KeyValSize) ' Null Not Found, Extract String Only
End If
'--- ' Determine Key Value Type For Conversion... '---
Select Case KeyValType ' Search Data Types... Case REG_SZ ' String Registry Key Data Type KeyVal = tmpVal ' Copy String Value
Case REG_DWORD ' Double Word Registry Key Data Type
For i = Len(tmpVal) To 1 Step -1 ' Convert Each Bit
KeyVal = KeyVal + Hex(Asc(Mid(tmpVal, i, 1))) ' Build Value Char. By Char.
Next
KeyVal = Format$("&h" + KeyVal) ' Convert Double Word To String
End Select
GetKeyValue = True ' Return Success rc = RegCloseKey(hKey) ' Close Registry Key Exit Function ' Exit
GetKeyError: ' Cleanup After An Error Has Occured...
KeyVal = "" ' Set Return Val To Empty String GetKeyValue = False ' Return Failure
rc = RegCloseKey(hKey) ' Close Registry Key End Function
‘Form Data Barang
Private Sub Command1_Click()
If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or _ Text4.Text = "" Or Text5.Text = "" Or Text6.Text = "" Or _ Text7.Text = "" Or Combo2.Text = "" Or Combo1.Text = "" Then MsgBox "Data harus diisi semua", vbApplicationModal, "Error!" Text1.SetFocus
End If
With DataBarang.Recordset .AddNew
Select Case Combo1.Text Case "Meja": .Fields(2) = "M"
Case "Meja Belajar": .Fields(2) = "MB" Case "Meja Komputer": .Fields(2) = "MK" Case "Kursi": .Fields(2) = "K"
Case "Kursi Kantor": .Fields(2) = "KK" Case "Sofa": .Fields(2) = "S"
Case "Tempat Tidur": .Fields(2) = "T" Case "Lemari": .Fields(2) = "L" Case "Lemari Baju": .Fields(2) = "LB" End Select .Fields(0) = Text1.Text .Fields(1) = Text2.Text .Fields(3) = Text3.Text .Fields(4) = Text4.Text .Fields(5) = Text5.Text .Fields(6) = Text6.Text .Fields(7) = Text7.Text .Fields(8) = Combo2.Text .Fields(9) = Text8.Text .Update Call RefreshData
MsgBox "Data berhasil disimpan", vbInformation, "Sukses!" Command1.Enabled = False Command2.Enabled = True Command4.SetFocus Exit Sub End With End Sub
Private Sub Command2_Click()
Text4.Text = "" Or Text5.Text = "" Or Text6.Text = "" Or _ Text7.Text = "" Or Combo2.Text = "" Or Combo1.Text = "" Then MsgBox "Data harus diisi semua", vbApplicationModal, "Error!" Text1.SetFocus
End If
With DataBarang.Recordset .Update
Select Case Combo1.Text Case "Meja": .Fields(2) = "M"
Case "Meja Belajar": .Fields(2) = "MB" Case "Meja Komputer": .Fields(2) = "MK" Case "Kursi": .Fields(2) = "K"
Case "Kursi Kantor": .Fields(2) = "KK" Case "Sofa": .Fields(2) = "S"
Case "Tempat Tidur": .Fields(2) = "T" Case "Lemari": .Fields(2) = "L" Case "Lemari Baju": .Fields(2) = "LB" End Select .Fields(0) = Text1.Text .Fields(1) = Text2.Text .Fields(3) = Text3.Text .Fields(4) = Text4.Text .Fields(5) = Text5.Text .Fields(6) = Text6.Text .Fields(7) = Text7.Text .Fields(8) = Combo2.Text .Fields(9) = Text8.Text .Update Call RefreshData
MsgBox "Data berhasil diupdate", vbInformation, "Sukses!" Exit Sub
End With End Sub
Private Sub Command3_Click() On Error GoTo salah
Dim Konfirmasi, tanya As Integer
tanya = MsgBox("Anda yakin akan menghapusnya?", vbYesNo + vbQuestion, "Konfirmasi")
If tanya = vbYes Then Konfirmasi = 0
With DataBarang.Recordset If .RecordCount <> 0 Then .Delete
Call RefreshData
If .EOF Then .MovePrevious
If .BOF Then MsgBox "Data form kosong", vbInformation, "data" Else: MsgBox "Data masih kosong"
End If End With End If DataBarang.Refresh Call TampilData Exit Sub salah:
MsgBox "Data tidak dapat dihapus, terjadi kesalahan!!!", vbCritical, "error" End Sub
Private Sub Command4_Click() Command1.Enabled = True Command2.Enabled = False Call Baru Call AutoID Text2.SetFocus End Sub
Public Sub Baru() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" Text7.Text = "" Text8.Text = "" Combo1.Text = "" Combo2.Text = "" End Sub
Private Sub DataSupp_Validate(Action As Integer, Save As Integer) End Sub
Private Sub Form_Load() With Me.DataBarang
.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"
.CommandType = adCmdText
.Refresh End With
With Me.DataSupp
.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"
.CommandType = adCmdText
.RecordSource = "Select * from supplier" .Refresh
End With Call TampilData
Combo1.AddItem "Meja"
Combo1.AddItem "Meja Belajar" Combo1.AddItem "Meja Komputer" Combo1.AddItem "Kursi"
Combo1.AddItem "Kursi Kantor" Combo1.AddItem "Sofa"
Combo1.AddItem "Tempat Tidur" Combo1.AddItem "Lemari" Combo1.AddItem "Lemari Baju"
DataSupp.RecordSource = "Select id_supplier from Supplier" If (DataSupp.Recordset.RecordCount > 0) Then
Do While Not DataSupp.Recordset.EOF
Combo2.AddItem DataSupp.Recordset!id_supplier DataSupp.Recordset.MoveNext
Loop End If
'Set DataSupp.Recordset = Nothing cbKategori.AddItem "ID Barang" cbKategori.AddItem "Nama" cbKategori.AddItem "Jenis" cbKategori.AddItem "ID Supplier" Command1.Enabled = False End Sub
Private Sub txtKata_Click() txtKata.Text = ""
End Sub
Private Sub Form_Click() Call RefreshData
End Sub