Perancangan Basis Data .1 Perancangan Sistem

3.4 Perancangan Sistem

3.4.1 Perancangan Basis Data 3.4.1.1 Logical Design Gambar di bawah ini menjelaskan mengenai relasi antar tabel yang ada di sistem. 47 supplier PK id_supplier nama_supplier alamatusaha_supplier kota_supplier notlp_supplier email_supplier nonpwp_supplier noijin_supplier namawp_supplier sika_supplier obat PK no_batch nama_obat expired_date harga_jual jumlah_stok pelanggan PK id_pelanggan nama_pelanggan alamatusaha_pelanggan kota_pelanggan notlp_pelanggan email_pelanggan nonpwp_pelanggan noijin_pelanggan namawp_pelanggan sika_pelanggan pembelian PK no_faktur_beli tgl_beli id_supplier no_batch kwantum hna diskon hna_total hpp ppn total_tagihan jatuh_tempo no_pajak harga_beli no_lpb penjualan PK no_faktur tgl_jual id_pelanggan no_batch kwantum hna diskon hna_total hpp ppn total_tagihan jatuh_tempo no_pajak sp PK no_sp id_supplier tgl_sp no_batch banyaknya keterangan Gambar 3.18 Logical Design

3.4.1.2 Uji Normalisasi

Normalisasi adalah teknik untuk menghasilkan sekumpulan relasi yang sesuai dan mendukung kebutuhan data dalam organisasi. Tahapan normalisasi untuk mengecek masing – masing tabel pada logical design adalah sebagai berikut : First Normal Form 1NF Merupakan suatu relasi dimana setiap attribute atau kolom telah bersifat atomic. Setiap atribut berisi satu nilai tunggal, bukan merupakan record database lain. Second Normal Form 2NF Suatu relasi yang berada dalam bentuk 1NF dan setiap atribut bukan kunci primernya tergantung fungsional penuh pada kunci primer. Third Normal Form 3NF Bentuk normal ketiga Third Normal Form 3NF menunjukan suatu relasi yang berada dalam bentuk 1NF dan 2NF dan tidak ada atribut bukan kunci yang tergantung transitif pada kunci primer. 49 Setelah melewati uji normal, maka gambar logical design menjadi seperti berikut : supplier PK Id_supplier nama_supplier alamatusaha_supplier kota_supplier notlp_supplier email_supplier nonpwp_supplier noijin_supplier namawp_supplier sika_supplier obat PK no_batch nama_obat expired_date harga_jual jumlah_stok pelanggan PK id_pelanggan nama_pelanggan alamatusaha_pelanggan kota_pelanggan notlp_pelanggan email_pelanggan nonpwp_pelanggan noijin_pelanggan namawp_pelanggan sika_pelanggan pembelian PK no_faktur_beli tgl_beli id_supplier hpp ppn total_tagihan jatuh_tempo no_pajak no_lpb penjualan_detail PK id_penjualan_detail no_faktur no_batch kwantum hna diskon hna_total penjualan PK no_faktur tgl_jual id_pelanggan hpp ppn total_tagihan jatuh_tempo no_pajak pembelian_detail PK id_pembelian_detail no_faktur_beli no_batch kwantum hna diskon hna_total harga_beli sp PK no_sp tanggal_sp id_supplier sp_detail PK id_sp_detail no_sp no_batch keterangan Gambar 3.19 Logical Design setelah Normalisasi

3.4.1.3 Physical Design

Rancangan fisik dari tabel dapat di lihat pada tabel – tabel berikut: Tabel 3.1 Tabel Obat Nama Field Type Length Index nama_obat VARCHAR 50 no_batch VARCHAR 10 PRIMARY expired_date DATE 50 harga_jual INT 20 jumlah_stok INT 20 Tabel 3.2 Tabel Pelanggan Nama Field Type Length Index id_pelanggan INT 10 PRIMARY nama_pelanggan VARCHAR 50 alamatusaha_pelanggan VARCHAR 50 kota_pelanggan VARCHAR 50 notlp_pelanggan VARCHAR 10 email_pelanggan VARCHAR 30 nonpwp_pelanggan VARCHAR 20 noijin_pelanggan VARCHAR 20 namawp_pelanggan VARCHAR 50 sika _pelanggan VARCHAR 30 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Tabel 3.3 Tabel Supplier Field Type Length Index id_supplier INT 10 PRIMARY nama_supplier VARCHAR 50 alamatusaha_supplier VARCHAR 50 kota_supplier VARCHAR 50 notlp_supplier VARCHAR 10 email_supplier VARCHAR 30 nonpwp_supplier VARCHAR 20 noijin_supplier VARCHAR 20 namawp_supplier VARCHAR 50 sika _supplier VARCHAR 30 Tabel 3.4 Tabel Penjualan Field Type Length Index no_faktur VARCHAR 10 PRIMARY tgl_jual DATE 50 id_pelanggan VARCHAR 30 FOREIGN Hpp INT 10 Ppn INT 30 total_tagihan INT 20 jatuh_tempo DATE no_pajak VARCHAR 20 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Tabel 3.5 Tabel Detail Penjualan Field Type Length Index id_penjualan_detail VARCHAR 10 PRIMARY no_faktur VARCHAR 50 FOREIGN no_batch VARCHAR 30 FOREIGN kwantum INT 10 Hna INT 100 Diskon INT 100 hna_total INT 100 Tabel 3.6 Tabel Pembelian Field Type Length Index no_faktur_beli VARCHAR 10 PRIMARY no_lpb VARCHAR 10 tgl_beli DATE 50 id_supplier VARCHAR 30 FOREIGN hpp_beli INT 10 ppn_beli INT 30 total_tagihan_beli INT 20 jatuh_tempo_beli DATE no_pajak_beli VARCHAR 20 Tabel 3.7 Tabel Detail Pembelian Field Type Length Index id_pembelian_detail VARCHAR 10 PRIMARY no_faktur_beli VARCHAR 50 FOREIGN no_batch VARCHAR 30 FOREIGN kwantum_beli INT 10 harga_beli INT 20 hna_beli INT 20 diskon_beli INT 30 hna_total_beli INT 30 Tabel 3.8 Tabel SP Field Type Length Index no_sp VARCHAR 10 PRIMARY id_supplier VARCHAR 10 FOREIGN tanggal_sp Date Tabel 3.9 Tabel SP Detail Field Type Length Index id_sp_detail INT 10 PRIMARY no_sp VARCHAR 10 FOREIGN no_batch VARCHAR 20 FOREIGN Banyaknya INT 10 Keterangan VARCHAR 50 Tabel 3.10 Tabel User Field Type Length Index id_user INT 10 PRIMARY Name VARCHAR 50 Address VARCHAR 30 phone_number INT 10 Email VARCHAR 30 Position VARCHAR 20 Username VARCHAR 20 Password VARCHAR 20

3.4.2 Perancangan Antar Muka Halaman Login