BAB 3 ANALISIS DAN PERANCANGAN
3.1 Riwayat Perusahaan PT. Kharisma Indah Warna adalah perusahaan yang bergerak di bidang jasa percetakan laminating. Perusahaan ini memproduksi berbagai macam jenis percetakan laminating seperti U.V.varnish (memberikan hasil yang mengkilat), blister pack varnish (memberikan hasil berupa lapisan plastik tembus pandang di bagian celah kardus), calendaring (memberikan hasil mengkilat menyerupai kaca) dan produk-produk laminating lainnya. PT. Kharisma Indah Warna didirikan pertama kali pada tahun 1991. PT. Kharisma Indah Warna merupakan bisnis perusahaan keluarga yang hingga saat ini sudah berjalan selama 16 tahun. PT. Kharisma Indah Warna berlokasi di Kampung Prepedan No.1 RT 007 / RW 07, Kelurahan Kamal, Jakarta Barat.
39
40
3.2 Struktur Organisasi Perusahaan
Kepala Manajer
Manajer Administrasi
Manajer Operasional
Penjualan
Pembelian
Penagihan
Pembayaran
Manajer Personalia
Manajer Produksi
Pajak
Gudang
Produksi
Pemeliharaan Mesin
Gambar 3.1 Struktur Organisasi Perusahaan
a. GM (Kepala Manajer) Mengawasi jalannya sistem perusahaan baik operasional, administrasi, maupun produksi. GM mempunyai kuasa untuk mengambil keputusan dalam menghadapi semua masalah yang terjadi di perusahaan. Jalannya PT. Kharisma Indah Warna sangat bergantung pada GM. b. Manajer Operasional Manajer operasional bertugas mengawasi secara khusus bagian penjualan dan pembelian. Manajer operasional mempunyai kuasa untuk memberi perintah kepada karyawan untuk mengambil barang ke perusahaan pelanggan, menyetujui surat jalan, dan menyetujui surat permintaan dari
41
gudang. Manajer operasional akan menerima laporan-laporan dari bagian penjualan dan pembelian. c. Manajer Administrasi Manajer administrasi mengawasi secara khusus keluar masuknya kas. Manajer Administrasi mempunyai kekuasaan dalam menentukan waktu pembayaran ke pemasok, memberi perintah kepada karyawan untuk menagih ke pelanggan, dan mengawasi pembayaran pajak. d. Manajer Produksi Manajer produksi bertugas untuk mengawasi proses dan kualitas produksi e. Manajer Personalia Manajer personalia bertugas untuk mengawasi kinerja karyawan. f. Penjualan Bagian penjualan bertugas untuk menangani penjualan pada PT. Kharisma Indah Warna. Bagian penjualan mencatat pesanan dari pelanggan , dan membuat faktur penjualan. g. Pembelian Bagian pembelian bertugas untuk menangani pembelian PT. Kharisma Indah Warna. Bagian Pembelian menerima permintaan dari bagian
42
gudang kemudian memesan barang tersebut ke pemasok dan memeriksa faktur pembelian tersebut. h. Penagihan Bagian penagihan mengumpulkan faktur – faktur pelanggan dalam jangka waktu sebulan, dan memberikan tagihan tersebut ke pelanggan. i.
Pajak Bagian pajak menangani pajak PT.Kharisma Indah Warna. Bagian pajak bertugas untuk mengkalkulasi pajak yang berhubungan dengan pemasok, pelanggan dan pemerintah.
j.
Pembayaran Bagian pembayaran bertugas menangani pembayaran ke pemasok dan pengeluaran lainnya.
k. Gudang Bagian gudang bertugas mengawasi keluar masukknya bahan baku, memeriksa bahan baku yang dikirim perusahaan dan bahan baku yang dipakai untuk produksi. l.
Produksi Bagian produksi menangani proses produksi.
43
m. Pemeliharaan mesin Bagian pemeliharaan mesin bertanggung jawab atas segala pemeliharaan mesin – mesin yang ada di perusahaan.
3.3 Tata Laksana/Prosedur yang Sedang Berjalan Prosedur Pembelian Bahan Baku Langkah-langkah yang dilakukan 1. Bagian gudang memeriksa persediaan bahan baku yang ada di dalam gudang. 2. Jika bahan baku telah mencapai batas minimum, maka bagian gudang akan melaporkan ke bagian pembelian. 3. Bagian pembelian melakukan pemesanan bahan baku ke pemasok melalui telepon. 4. Kemudian setelah barang datang, bagian gudang memeriksa barang tersebut apakah sudah sesuai pesanan. 5. Jika pesanan sudah sesuai dengan barang yang diterima maka surat jalan akan ditandatangani dan disimpan oleh kepala gudang. 6. Pemasok akan melakukan penagihan setiap akhir bulan. 7. Pemasok membawa faktur – faktur pembelian yang dilakukan selama satu bulan dan kwitansi pembelian. 8. Bagian pembelian membuat tanda terima untuk faktur – faktur pembelian dan kwitansi.
44
9. Pada waktu yang ditentukan, pemasok diminta datang kembali untuk mengambil giro. Prosedur Retur pembelian Langkah-langkah yang dilakukan 1. Bagian gudang melaporkan bahwa ada barang yang cacat ke bagian pembelian, kemudian bagian pembelian melaporkan ke pemasok. 2. Kemudian pemasok akan menggantikan barang yang cacat dengan yang baru. Prosedur penjualan Langkah - langkah yang dilakukan 1. Pelanggan meminta ke bagian penjualan untuk mengambil barang yang akan diproduksi. 2. Pelanggan membuat surat pengantar yang akan diberikan kepada karyawan yang mengambil barang tersebut. 3. Kepala bagian produksi akan memeriksa barang, apakah sudah sesuai dengan surat pengantar atau belum. 4. Jika sudah benar maka barang tersebut akan diproduksi sesuai pesanan. 5. Setelah barang selesai diproduksi maka kepala bagian gudang akan membuat surat jalan. 6. Barang akan dikirimkan ke pelanggan. 7. Setelah barang diterima oleh pelanggan, pelanggan akan menandatangani surat jalan.
45
8. Penagihan kepada pelanggan akan dilakukan setiap akhir bulan. 9. Karyawan akan mengantarkan faktur-faktur selama sebulan dan kwitansi ke pelanggan. 10. Pada waktu yang ditentukan pelanggan, karyawan akan mengambil giro. Prosedur retur penjualan Langkah - langkah yang dilakukan 1. Pelanggan melaporkan bahwa ada barang yang cacat ke bagian penjualan. 2. Kemudian pelanggan akan membuat rincian kerugian yang harus diganti oleh perusahaan. 3. Bagian keuangan akan mengkalkulasi biaya kerugian dengan jumlah tagihan.
46
3.4 Diagram Aliran Data 3.4.1 Diagram Hubungan Sistem Informasi
Pembayaran Pelanggan
Permintaan Barang
Permintaan Jasa
Pembayaran
Retur
Retur
Pemasok
Pengiriman Pesanan Penagihan Sistem Pembelian dan Penjualan
pengiriman pesanan
penagihan
Laporan Pembelian Laporan Penjualan Manager
Laporan Retur
Gambar 3.2 Diagram konteks dari Sistem Informasi Perusahaan
47
3.4.2 Diagram Nol
Gambar 3.3 Diagram Nol Sistem Informasi Perusahaan
48
3.5 Permasalahan yang Dihadapi Masalah-masalah yang dihadapi PT. Kharisma Indah Warna adalah sebagai berikut : 1. Sulitnya mencari informasi atau data yang dibutuhkan, data disimpan dalam bentuk berkas – berkas, dimana untuk mencarinya harus dilakukan secara manual. 2. Kinerja perusahaan kurang baik karena aktivitas dilakukan secara manual maka akan memungkinkan terjadinya kesalahan dan membuang – buang waktu. 3. Informasi yang ada kurang akurat. 4. Keamanan kurang terjaga. Data dapat hilang secara sengaja maupun tidak sengaja. 5. Waktu yang cukup lama untuk menyiapkan laporan yang diperlukan oleh Manajer dalam pengambilan keputusan.
3.6 Alternatif Pemecahan Masalah Masalah yang dihadapi PT. Kharisma Indah Warna dapat mengurangi kinerja perusahaan, usulan pemecahan masalah yang kami sarankan adalah dengan merancang suatu aplikasi database yang memberikan solusi untuk masalah – masalah yang dihadapi perusahaan. Aplikasi database ini membuat sistem yang ada menjadi terkomputerisasi sehingga dapat membantu meningkatkan kinerja perusahaan agar perusahaan dapat lebih berkembang.
49
3.7 Perancangan Konseptual
3.7.1 Identifikasi Tipe Entity Berdasarkan analisis sistem dan kebutuhan informasi dapat ditentukan kamus data entitas seperti yang terlihat pada tabel berikut : Tabel 3.1 Kamus Data Entitas Nama Entitas
Deskripsi
Alias
Kejadian
Pemasok
Perusahaan
Pemasok
Perusahaan
tempat bahan
membeli
baku dipesan
persediaan bahan baku.
Pelanggan
Perusahaan
Pelanggan
Pelanggan
atau
mengajukan
seseorang
permintaan
yang
jasa
memakai jasa
perusahaan.
pada
perusahaan Karyawan
Karyawan
Karyawan
Menyimpan
yang bekerja
semua
data
pada
karyawan
perusahaan
yang
bekerja
pada perusahaan.
50
BahanBaku
Bahan
baku BahanBaku
Menyimpan
yang
data
bahan
digunakan
baku
yang
perusahaan
terdapat
untuk proses
perusahaan
di
produksi PemesananPenjualan
PemesananPenjualan
Suatu
Pesanan
Transaksi
disimpan pada
pemesanan
saat
jasa
perusahaan
atas
permintaan
menerima
pelanggan
barang
yang
akan diproses atas permintaan pelanggan. PemesananPembelian
PengirimanBarang
PemesananPembelian
Suatu
Pesanan
transaksi
disimpan pada
pemesanan
saat
bahan
perusahaan
baku
yang
melakukan
diperlukan
pemesanan
untuk proses
kepada
produksi
pemasok.
Suatu
PengirimanBarang
Setelah barang
transaksi
selesai
pengiriman
diproses maka
barang yang
barang dikirim
telah selesai
51
PenerimaanBahanBaku
Produksi
ReturPembelian
diproses
ke pelanggan.
Suatu proses PenerimaanBahanBaku
Bahan
penerimaan
diterima oleh
bahan
baku
perusahaan
yang
telah
setelah
baku
dipesan
melakukan
perusahaan
pemesanan
kepada
kepada
pemasok
pemasok
Suatu proses Produksi
Setelah barang
produksi
diterima maka
sesuai
proses
permintaan
produksi
pelanggan
dilaksanakan. ReturPembelian
Suatu transaksi retur
yang
Retur
terjadi
ketika
bahan
baku
yang
terjadi antara
diterima
perusahaan
dalam
dengan
keadaan tidak
pemasok
memuaskan perusahaan.
ReturPenjualan
ReturPenjualan
Suatu transaksi retur
Suatu transaksi
jika
pelanggan atas
mengajukan
penjualan PenagihanPenjualan
Terjadi
komplain PenagihanPenjualan
Dilakukan setiap
akhir
52
bulan
penagihan terhadap pelanggan PenagihanPembelian
Suatu
PenagihanPembelian
Dilakukan
transaksi
setiap
penagihan
bulan
akhir
oleh pemasok yang ditunjukkan untuk perusahaan PembayaranPenjualan
Suatu
PembayaranPenjualan
Terjadi
pada
transaksi
waktu
yang
pembayaran
ditentukan
oleh
pelanggan
pelanggan PembayaranPembelian
Suatu
PembayaranPembelian
Terjadi
pada
transaksi
waktu
yang
pembayaran
ditentukan
dari
perusahaan
perusahaan kepada pemasok
53
3.7.2 Identifikasi Tipe Relationship Berikut adalah kamus data Relationship pada entitas – entitasyang telah ditentukan sebelumnya : Tabel 3.2 Kamus Data Hubungan Antar Entitas Nama Entitas
Multiplisitas Hubungan
Nama Entitas
Multiplisitas
Pelangan
1..1
Memesan
PemesananPenjualan
1..*
1.*
Memesan
Produksi
1..*
1..1
Menerima
PemesananPenjualan
1..*
1..1
Memesan
PemesananPembelian
1..*
1..1
Memenuhi
PemesananPembelian
1..*
1..*
Menyediakan BahanBaku
1..*
BahanBaku
1..*
Dipesan
PemesananPembelian
1..*
PemesananPenjualan
1..1
Memiliki
PengirimanBarang
1..*
PemesananPembelian
1..1
Mempunyai
PenerimaanBahanBaku 1..1
PengirimanBarang
1..1
Memiliki
ReturPenjualan
0..*
1..*
Mengirim
Produksi
1..*
Karyawan
Pemasok
54
1..*
Memiliki
PenagihanPenjualan
1..1
PenerimaanBahanBaku 1..1
Mempunyai
ReturPembelian
0..*
1..*
Mempunyai
PenagihanPembelian
1..1
Produksi
1..*
Dipesan
PemesananPenjualan
1..*
PenagihanPenjualan
1..1
Memiliki
PembayaranPenjualan
1..*
PenagihanPembelian
1..1
Memiliki
PembayaranPembelian
1..*
ReturPenjualan
1..*
Retur
Produksi
1..*
ReturPembelian
1..*
Retur
BahanBaku
1..*
55
Gambar 3.4 ERD Konseptual yang Menggambarkan Hubungan antara Entitas 3.7.3 Identifikasi dan Hubungan atribut – atribut dengan tipe entity atau Relationship Dari kamus data Relationship dapat ditentukan atribut seperti terlihat pada tabel berikut :
56
Tabel 3.3 Kamus Data Atribut Nama Entitas
Atribut
Deskripsi
Panjang & tipe data
Nulls
Multi value
Pemasok
KodePemasok
Kode dari pemasok bahan baku
char 5
Tidak
Tidak
NamaPemasok
Nama dari pemasok bahan baku
varchar 50
Tidak
Tidak
AlamatPemasok
Alamat dari pemasok bahan baku
varchar 50
Tidak
Tidak
NoTelp1Pemasok
Nomor telepon dari pemasok bahan baku
varchar 20
Tidak
Tidak
NoTelp2Pemasok
Nomor telepon kedua dari pemasok bahan baku
varchar 20
Ya
Tidak
FaxPemasok
Fax dari pemasok bahan baku
varchar 20
Ya
Tidak
EmailPemasok
Alamat email dari pemasok bahan baku
varchar 20
Ya
Tidak
NoRekeningPemasok
Nomor rekening dari pemasok yang melakukan permintaan jasa kepada perusahaan
varchar 20
Tidak
Tidak
NamaBank
Nama Bank dari pemasok yang melakukan permintaan jasa kepada perusahaan
varchar 20
Tidak
Tidak
KodePelanggan
Kode dari pelanggan yang melakukan permintaan jasa kepada perusahaan
char 5
Tidak
Tidak
NamaPelanggan
Nama dari pelanggan yang melakukan permintaan jasa kepada perusahaan
varchar 50
Tidak
Tidak
AlamatPelanggan
Alamat dari pelanggan yang melakukan permintaan jasa kepada perusahaan
varchar 50
Tidak
Tidak
NoTelp1Pelanggan
Nomor telepon dari pelanggan yang melakukan permintaan
varchar 20
Tidak
Tidak
Pelanggan
57
jasa kepada perusahaan
Karyawan
NoTelp2Pelanggan
Nomor telepon kedua dari pelanggan yang melakukan permintaan jasa kepada perusahaan
varchar 20
Ya
Tidak
FaxPelanggan
Fax dari pelanggan yang melakukan permintaan jasa kepada perusahaan
varchar 20
Ya
Tidak
EmailPelanggan
Alamat email dari pelanggan yang melakukan permintaan jasa kepada perusahaan
varchar 20
Ya
Tidak
NoRekeningPelanggan
Nomor rekening dari pelanggan yang melakukan permintaan jasa kepada perusahaan
Varchar 20
Tidak
Tidak
NamaBank
Nama Bank dari pelanggan yang melakukan permintaan jasa kepada perusahaan
Varchar 20
Tidak
Tidak
KodeKaryawan
Kode dari karyawan yang bekerja kepada perusahaan
char 5
Tidak
Tidak
NamaKaryawan
Nama dari karyawan yang bekerja kepada perusahaan
varchar 50
Tidak
Tidak
AlamatKaryawan
Alamat dari karyawan yang bekerja kepada perusahaan
varchar 50
Tidak
Tidak
NoTelpKaryawan
Tidak telepon dari karyawan yang bekerja kepada perusahaan
varchar 20
Tidak
Tidak
TempatLahir
Kota tempat karyawan dilahirkan
varchar 20
Tidak
Tidak
TanggalLahir
Tanggal lahir dari karyawan yang bekerja kepada perusahaan
datetime 8
Tidak
Tidak
Agama
Agama dari karyawan yang bekerja kepada perusahaan
varchar 20
Tidak
Tidak
JenisKelamin
Jenis kelamin dari karyawan yang bekerja
bit 1
Tidak
Tidak
58
kepada perusahaan
BahanBaku
Produksi
Pemesanan
NoKTP
Tidak KTP dari karyawan yang bekerja kepada perusahaan
varchar 30
Tidak
Tidak
Jabatan
Jabatan dari karyawan
varchar 30
Tidak
Tidak
KodeBahanBaku
Kode dari bahan baku perusahaan
char 5
Tidak
Tidak
NamaBahanBaku
Nama dari bahan baku perusahaan
varchar 50
Tidak
Tidak
KodeProduksi
Kode dari proses produksi yang dilakukan perusahaan
char 5
Tidak
Tidak
NamaProduksi
Nama dari proses produksi yang dilakukan perusahaan
varchar 50
Tidak
Tidak
KodePemesananPenjualan
Kode dari pemesanan permintaan produksi dari pelanggan
char 10
Tidak
Tidak
Tanggal
Tanggal terjadinya pemesanan permintaan produksi
datetime 8
Tidak
Tidak
KodePelanggan
Kode dari pelanggan yang melakukan pemesanan
char 5
Tidak
Tidak
Kuantitas
Kuantitas dari barang yang akan diproses
int 4
Tidak
Tidak
NamaBarang
Nama barang yang akan diproses oleh perusahaan
varchar 50
Tidak
Tidak
Ukuran
Ukuran dari barang yang akan diproses
decimal 9
Tidak
Tidak
KodeProduksi
Kode dari proses produksi yang dilakukan perusahaan
char 5
Tidak
Tidak
Tipe
Tipe dari produksi yang dilakukan
char 1
Tidak
Tidak
KodeKaryawan
Kode dari karyawan yang menangani transaksi pemesanan
char 5
Tidak
Tidak
KodePengirimanBarang
Kode dari transaksi pengiriman barang yang
char 10
Tidak
Tidak
Penjualan
Pengiriman
59
Barang
Penagihan
telah selesai diproses Tanggal
Tanggal pengiriman
datetime 8
Tidak
Tidak
KodePelanggan
Kode dari pelanggan yang melakukan pemesanan penjualan
Char 5
Tidak
Tidak
Kuntitas
Kuantitas dari barang yang dikirim
int 4
Tidak
Tidak
NamaBarang
Nama barang yang akan dikirim oleh perusahaan
varchar 50
Tidak
Tidak
Ukuran
Ukuran dari barang yang akan dikirim
decimal 9
Tidak
Tidak
KodeProduksi
Kode dari proses produksi yang dilakukan perusahaan
char 5
Tidak
Tidak
Tipe
Tipe dari produksi yang dilakukan
char 1
Tidak
Tidak
Harga
Harga dari Produksi yang dilakukan
money 8
Tidak
Tidak
Subtotal
Hasil perkalian dari jumlah dikalikan ukuran dikalikan harga
money 8
Tidak
Tidak
PPN
Pajak yang dikenakan ke pelanggan
Decimal 9
Tidak
Tidak
Total
Hasil penjumlah-an subtotal
money 8
Tidak
Tidak
KodeKaryawan
Kode dari karyawan yang menangani pengiriman
char 5
Tidak
Tidak
KodeKwitansiPenjualan
Kode dari kwitansi penagihan kepada pelanggan
char 10
Tidak
Tidak
KodePelanggan
Kode dari pelanggan yang akan ditagih oleh perusahaan
char 5
Tidak
Tidak
BanyaknyaUang
Banyaknya uang yang yang ditagih perusahaan kepada pelanggan
money 8
Tidak
Tidak
Keterangan
Keterangan atas pembayaran yang dilakukan pelanggan
varchar 50
Tidak
Tidak
Penjualan
60
Pembayaran
KodePengirimanBarang
Kode dari transaksi pengiriman barang yang telah selesai diproses
char 10
Tidak
Tidak
Tanggal
Tanggal terjadinya penagihan kepada pelanggan
datetime 8
Tidak
Tidak
KodeKaryawan
Kode dari karyawan yang menangani retur penjualan
char 5
Tidak
Tidak
KodeTandaTerimaPenjualan
Kode dari tanda terima atas faktur-faktur yang diserahkan ke pelanggan
char 10
Tidak
Tidak
KodeKwitansiPenjualan
Kode kwitansi yang diberikan kepada pelanggan pada saat penagihan
char 10
Tidak
Tidak
Tanggal
Tanggal pembayaran yang dilakukan oleh pelanggan
datetime 8
Tidak
Tidak
KodeGiroPenjualan
Nomor giro yang diberikan oleh pelanggan untuk melunasi tagihan
char 10
Tidak
Tidak
JumlahUang
Jumlah uang yang harus dibayar pelanggan kepada perusahaan
money 8
Tidak
Tidak
KodeKaryawan
Kode dari karyawan yang menangani retur penjualan
char 5
Tidak
Tidak
KodeReturPenjualan
Kode dari transaksi retur penjualan
char 10
Tidak
Tidak
Tanggal
Tanggal terjadinya transaksi retur penjualan
datetime 8
Tidak
Tidak
KodePelanggan
Kode dari pelanggan yang mengajukan retur
char 5
Tidak
Tidak
Kuantitas
Kuantitas barang yang diretur
int 4
Tidak
Tidak
NamaBarang
Nama barang yang diretur
varchar 50
Tidak
Tidak
Ukuran
Ukuran barang yang diretur
decimal 9
Tidak
Tidak
Penjualan
Retur Penjualan
61
Pemesanan
KodeProduksi
Kode dari proses produksi yang dilakukan perusahaan
char 5
Tidak
Tidak
Tipe
Tipe dari produksi yang dilakukan
char 1
Tidak
Tidak
Harga
Harga dari produksi
money 8
Tidak
Tidak
HargaKertasPerLembar
Harga kertas per lembar barang yang diretur
decimal 9
Tidak
Tidak
HargaCetakPerLembar
Harga cetak perlembar barang yang di retur
decimal 9
Tidak
Tidak
SubTotal
Penjumlah-an dari harga ditambah Harga Kertas PerLembarditambah HargaCetakPerLembar
money 8
Tidak
Tidak
Total
Hasil penjumlah-an subtotal
money 8
Tidak
Tidak
KodeKaryawan
Kode dari karyawan yang menangani retur penjualan
char 5
Tidak
Tidak
KodePemesananPembelian
Kode dari pemesanan pembelian bahan baku
char 10
Tidak
Tidak
Tanggal
Tanggal terjadinya pemesanan
datetime 8
Tidak
Tidak
KodePemasok
Kode dari pemasok dimana bahan baku dipesan
char 5
Tidak
Tidak
Kuantitas
Kuantitas dari bahan baku yang dipesan perusahaan
int 4
Tidak
Tidak
KodeBahanBaku
Kode dari bahan baku yang dipesan perusahaan
char 5
Tidak
Tidak
HargaPerKg
Harga bahan baku per kg
money 8
Tidak
Tidak
SubTotal
Perkalian antara kuantitas dan Harga PerKg
money 8
Tidak
tidak
Total
Penjumlah-an dari SubTotal
money 8
Tidak
Tidak
KodeKaryawan
Kode karyawan yang menangani transaksi pemesanan
char 5
Tidak
Tidak
Pembelian
62
Penerimaan
KodePengirimanPemasok
Kode pengiriman bahan baku yang berasal dari pemasok
char 10
Tidak
Tidak
Tanggal
Tanggal penerimaan bahan baku yang dipesan
datetime 8
Tidak
Tidak
KodePemasok
Kode dari pemsok yang mengirim bahan baku
Char 5
Tidak
Tidak
Kuantitas
Kuantitas dari barang yang dikirim
Int 4
Tidak
Tidak
KodeBahanBaku
Kode dari bahan baku yang dikirim oleh pemasok
Char 5
Tidak
Tidak
HargaPerKg
Harga bahan baku per kg
money 8
Tidak
Tidak
SubTotal
Perkalian antara kuantitas dan Harga PerKg
money 8
Tidak
tidak
Total
Penjumlah-an dari SubTotal
money 8
Tidak
Tidak
KodeKaryawan
Kode dari karyawan yang menangani transaksi penerimaan
char 5
Tidak
Tidak
KodeKwitansiPembelian
Kode dari kwitansi penagihan oleh pemasok
char 10
Tidak
Tidak
KodePemasok
Kode dari pemasok yang melakukan penagihan
char 5
Tidak
Tidak
BanyaknyaUang
Banyaknya uang yang ditagih pemasok kepada perusahaan
money 8
Tidak
Tidak
Keterangan
Keterangan atas pembayaran yang dilakukan perusahaan
varchar 50
Tidak
Tidak
KodePengirimanPemasok
Kode pengiriman bahan baku yang berasal dari pemasok
char 10
Tidak
Tidak
Tanggal
Tanggal terjadinya penagihan oleh pemasok
datetime 8
Tidak
Tidak
KodeKaryawan
Kode dari karyawan yang menangani retur penjualan
char 5
Tidak
Tidak
BahanBaku
Penagihan Pembelian
63
Pembayaran
KodeTandaTerimaPembelian
Kode dari tanda terima atas faktur-faktur yang diserahkan oleh pemasok
char 10
Tidak
Tidak
KodeKwitansiPembelian
Kode kwitansi yang diberikan kepada pelanggan pada saat penagihan
char 10
Tidak
Tidak
Tanggal
Tanggal perusahaan melakukan pembayaran
datetime 8
Tidak
Tidak
KodeGiroPembelian
Kode dari giro pembayaran atas bahan baku yang dibeli
char 10
Tidak
Tidak
JumlahUang
Jumlah uang yang harus dibayar perusahaan kepada pemasok
money 8
Tidak
Tidak
KodeKaryawan
Kode dari karyawan yang menangani retur penjualan
char 5
Tidak
Tidak
KodeReturPembelian
Kode dari transaksi retur pembelian bahan baku
char 10
Tidak
Tidak
TanggalRetur
Tanggal terjadinya transaksi retur bahan baku
datetime 8
Tidak
Tidak
KodePemasok
Kode dari pemasok dimana bahan baku dibeli
char 5
Tidak
Tidak
Kuantitas
Kuantitas dari bahan baku yang diretur
int 4
Tidak
Tidak
KodeBahanBaku
Kode dari bahan baku yang diretur
char 5
Tidak
Tidak
KodeKaryawan
Kode dari karyawan yang menangani retur pembelian
char 5
Tidak
Tidak
Pembelian
Retur Pembelian
64
3.7.4 Menentukan Domain Atribut Berikut adalah tabel domain atribut : Tabel 3.4 Domain Atribut Nama Atribut
Domain
KodePemasok
Variabel char, 5 karakter dengan 2 digit pertama
huruf
PM
dan
3
digit
berikutnya angka dari 001 sampai 999 NamaPemasok
Variabel
varchar dengan panjang 50,
harus huruf AlamatPemasok
Variabel varchar dengan panjang 50
NoTelp1Pemasok
Variabel
varchar dengan panjang 20,
harus angka NoTelp2Pemasok
Variabel
varchar dengan panjang 20,
harus angka FaxPemasok
Variabel
varchar dengan panjang 20,
harus angka EmailPemasok
Variabel varchar dengan panjang 20
NoRekeningPemasok
Variabel varchar dengan panjang 20
NamaBank
Variabel varchar dengan panjang 20
KodePelanggan
Variabel char, 5 karakter dengan 2 digit pertama
huruf
PL dan 3 digit
berikutnya angka dari 001 sampai 999
65
NamaPelanggan
Variabel
varchar dengan panjang 50,
harus huruf AlamatPelanggan
Variabel varchar dengan panjang 50
NoTelp1Pelanggan
Variabel
varchar dengan panjang 20,
harus angka NoTelp2Pelanggan
Variabel
varchar dengan panjang 20,
harus angka FaxPelanggan
Variabel
varchar dengan panjang 20,
harus angka EmailPelanggan
Variabel varchar dengan panjang 20
NoRekeningPelanggan
Variabel varchar dengan panjang 20
NamaBank
Variabel varchar dengan panjang 20
KodeKaryawan
Variabel char, 5 karakter dengan 2 digit pertama huruf KR dan 3 digit berikutnya angka dari 001 sampai 999
NamaKaryawan
Variabel
varchar dengan panjang 50,
harus huruf AlamatKaryawan
Variabel varchar dengan panjang 50
NoTelpKaryawan
Variabel
varchar dengan panjang 20,
harus angka TempatLahir
Variabel
varchar dengan panjang 20,
harus huruf TanggalLahir
Variabel date
66
Agama
Variabel
varchar dengan panjang 20,
harus huruf JenisKelamin
Variabel bit dengan panjang 1
NoKTP
Variabel
varchar dengan panjang 30,
harus huruf Jabatan
Variabel
varchar dengan panjang 30,
harus huruf KodeBahanBaku
Variabel char, 5 karakter dengan 2 digit pertama huruf BB dan 3 digit berikutnya angka dari 001 sampai 999
NamaBahanBaku
Variabel
varchar dengan panjang 50,
harus huruf KodePemesananPenjualan
Variabel char, 10 karakter dengan 3 digit pertama huruf
PPJ dan 7 digit
berikutnya angka dari 0000001 sampai 9999999 Tanggal
Variabel date
Harga
Variabel money, dengan panjang 8
NamaBarang
Variabel
varchar dengan panjang 50,
harus huruf KodeProduksi
Variabel char, 5 karakter dengan 2 digit pertama huruf
PR dan 3 digit
berikutnya angka dari 001 sampai 999 NamaProduksi
Variabel
varchar dengan panjang 50,
67
harus huruf Kuantitas
Variabel integer dengan panjang 4
Ukuran
Variabel decimal dengan panjang 9
Tipe
Variabel char dengan panjang 1
KodePemesananPembelian
Variabel char, 10 karakter dengan 3 digit pertama huruf PPB dan 7 digit berikutnya angka dari 0000001 sampai 9999999
HargaPerKg
Variabel money dengan panjang 8
KodePengirimanBarang
Variabel char, 10 karakter dengan 3 digit pertama huruf PKB dan 7 digit berikutnya angka dari 0000001 sampai 9999999
Subtotal
Variabel money, dengan panjang 8
PPN
Variabel decimal dengan panjang 9
Total
Variabel money, dengan panjang 8
KodePengirimanPemasok
Variabel char, 10 karakter dengan 3 digit pertama huruf PKP dan 7 digit berikutnya angka dari 0000001 sampai 9999999
KodeReturPembelian
Variabel char, 10 karakter dengan 3 digit pertama huruf RPB dan 7 digit berikutnya angka dari 0000001 sampai 9999999
68
TanggalRetur
Variabel date
KodeReturPenjualan
Variabel char, 10 karakter dengan 3 digit pertama huruf
RPJ dan 7 digit
berikutnya angka dari 0000001 sampai 9999999 HargaKertasPerLembar
Variabel decimal dengan panjang 9
HargaCetakPerLembar
Variabel decimal dengan panjang 9
KodeGiroPenjualan
Variabel char dengan panjang 10
KodeTandaTerimaPenjualan
Variabel char dengan panjang 10
KodeGiroPembelian
Variabel char dengan panjang 10
KodeTandaTerimaPembelian
Variabel char, 10 karakter dengan 3 digit pertama huruf TTB dan 7 digit berikutnya angka dari 0000001 sampai 9999999
KodeKwitansiPembelian
Variabel char dengan panjang 10
KodeKwitansiPenjualan
Variabel char, 10 karakter dengan 3 digit pertama huruf
KPJ dan 7 digit
berikutnya angka dari 0000001 sampai 9999999 Keterangan
Variabel
varchar dengan panjang 50,
harus huruf BanyaknyaUang
Variabel money, dengan panjang 8
JumlahUang
Variabel money, dengan panjang 8
69
3.7.5 Identifikasi Candidate Key dan Primary Key Setiap Entity Dari kamus data atribut setiap entitas dapat kita tentukan primary key dan Candidate Key seperti yang terlihat pada tabel berikut : Tabel 3.5 Candidate Key dan Primary Key Nama Entitas
Candidate Key
Primary Key
Pemasok
KodePemasok,
KodePemasok
NamaPemasok Pelanggan
KodePelanggan,
KodePelanggan
NamaPelanggan Karyawan
KodeKaryawan, NoKTP,
KodeKaryawan
NamaKaryawan BahanBaku
KodeBahanBaku,
KodeBahanBaku
NamaBahanBaku PemesananPenjualan
KodePemesananPenjualan,
KodePemesananPenjualan
Tanggal PemesananPembelian
KodePemesananPembelian,
KodePemesananPembelian
Tanggal PengirimanBarang
KodePengirimanBarang,
KodePengirimanBarang
Tanggal PenerimaanBahanBaku KodePengirimanPemasok,
KodePengirimanPemasok
Tanggal Produksi
KodeProduksi,
KodeProduksi
70
NamaProduksi ReturPembelian
KodeReturPembelian,
KodeReturPembelian
Tanggal ReturPenjualan
KodeReturPenjualan,
KodeReturPenjualan
Tanggal PenagihanPenjualan
KodeKwitansiPenjualan,
KodeKwitansiPenjualan
Tanggal PenagihanPembelian
KodeKwitansiPembelian,
KodeKwitansiPembelian
Tanggal PembayaranPenjualan
PembayaranPembelian
KodeTandaTerimaPenjualan,
KodeTandaTerimaPenjualan,
KodeGiroPenjualan, Tanggal
KodeGiroPenjualan
KodeTandaTerimaPembelian, KodeTandaTerimaPembelian, KodeGiroPembelian, Tanggal
KodeGiroPembelian
71
ReturPenjualan
1..*
Memiliki
PenagihanPenjualan
1..* KodeReturPenjualan{PK}
KodeKwitansiPenjualan{PK} 1..1
0..*
1..1
1..1
1..*
1..*
PembayaranPenjualan KodeTandaTerimaPenjualan{PK} KodeKwitansiPenjualan{PK}
PengirimanBarang KodePengirimanBarang{PK}
Pelanggan
1..*
KodePelanggan{PK}
1..1
1..*
1..1 1..* Menerima
1..*
PemesananPenjualan
1..1
KodePemesananPenjualan{PK}
Karyawan KodeKaryawan{PK}
1..1
1..*
Memesan 1..* PenerimaanBahanBaku1
1..1
1..1 PemesananPembelian
KodePengirimanPemasok{PK}
Mempunyai
1..* 1..*
Memenuhi
Pemasok
1..1
KodePemasok{PK}
KodePemesananPembelian
1..*
1..*
1..1
1..*
1..*
1..*
1..* Produksi
KodeProduksi{PK}
1..1
0..*
PenagihanPembelian
ReturPembelian KodeReturPembelian{PK}
KodeKwitansiPembelian{PK}
1..1 1..* 1..* 1..*
PembayaranPembelian1 KodeTandaTerimaPembelian{PK} KodeKwitansiPembelian{PK}
BahanBaku
1..*
Menyediakan
KodeBahanBaku{PK}
Retur
1..*
Gambar 3.5 ERD Konseptual dengan Menampilkan Primary Key 3.7.6 Validasi Model Konseptual Lokal dengan Transaksi User Dari model konseptual yang ada maka kita dapat melihat transaksi apa saja yang biasa dilakukan oleh perusahaan melalui gambar berikut :
72
n
0..*
1..1 Memiliki
PenagihanPenjualan KodeKwitansiPenjualan{PK}
Memiliki
1..*
1..1
1..*
PembayaranPenjualan
m
ReturPenjualan KodeReturPenjualan{PK}
1..1
Memiliki
KodeTandaTerimaPenjualan{PK} KodeKwitansiPenjualan{PK}
1..*
l
PengirimanBarang
1..*
KodePengirimanBarang{PK} Pelanggan
Memesan
q
Memiliki
1..1
1..*
c
1..*
KodePelanggan{PK}
k
d
1..1 1..* Memesan
Karyawan
KodePemesananPenjualan{PK}
1..* Menerima 1..1
1..1 f
Memesan 1..*
PenerimaanBahanBaku
1..1
PemesananPembelian
Mempunyai
1..1
KodeProduksi{PK}
Memenuhi
1..1
o
Pemasok KodePemasok{PK}
KodePemesananPembelian
1..*
1..* 1..*
Mempunyai
1..*
1..* Produksi
Mempunyai
1..*
1..*
1..1
KodePengirimanPemasok{PK}
1..*
e
g i
1..1
0..*
PenagihanPembelian ReturPembelian
KodeKwitansiPembelian{PK}
Dipesan
s
b
KodeKaryawan{PK}
1..*
Dipesan
Retur
Mengirim
r
j
PemesananPenjualan
p
a
KodeReturPembelian{PK}
1..*
Mempunyai
1..1 1..*
h
1..*
PembayaranPembelian1 KodeTandaTerimaPembelian{PK} KodeKwitansiPembelian{PK}
BahanBaku KodeBahanBaku{PK}
Retur
1..*
Menyediakan
1..*
Gambar 3.6 ERD Konseptual dengan Pathways yang Mendukung Transaksi User
73
Keterangan a.
Membuat dan menampilkan data pemesanan pembelian yang ditangani oleh karyawan.
b.
Memasukkan data bahan baku.
c.
Memasukkan data pemasok.
d.
Memasukkan data pelanggan.
e.
Memasukkan dan menampilkan data penerimaan bahan baku yang dipesan berdasarkan pemesanan pembelian
f.
Memasukkan dan menampilkan data penagihan pembelian berdasarkan penerimaan bahan baku.
g.
Membuat dan menampilkan data pemesanan penjualan yang ditangani oleh karyawan.
h.
Memasukkan dan menampilkan data penagihan penjualan berdasarkan pengiriman barang.
i.
Memasukkan dan menampilkan data retur pembelian berdasarkan penerimaan bahan baku.
j.
Menampilkan data produksi berdasarkan pemesanan penjualan.
k.
Memasukkan dan menampilkan data retur penjualan berdasarkan pengiriman barang.
74
l.
Memasukkan
dan
menampilkan
data
pengiriman
barang
berdasarkan pemesanan penjualan. m.
Menampilkan data pemesanan penjualan berdasarkan pelanggan
n.
Memasukkan
dan
menampilkan
data
produksi
(harga)
berdasarkan tiap pelanggan. o.
Memasukkan dan menampilkan data pembayaran penjualan berdasarkan penagihan penjualan.
p.
Memasukkan dan menampilkan data pembayaran pembelian berdasarkan penagihan pembelian.
3.8 Perancangan Logikal Perancangan Basis Data Logikal adalah proses membuat model informasi yang digunakan dalam sebuah perusahaan yang berdasarkan pada data model spesifik, tetapi tidak tergantung pada DBMS tertentu dan pertimbangan fisikal lainnya. Langkah –langkah metodologi perancangan basis data logikal untuk model Relationshiponal 3.8.1 Menghilangkan fitur – fitur yang tidak kompatibel dengan model Relationshiponal Tujuan dari langkah ini adalah
75
a. Menghilangkan tipe hubungan many-to-many binary Relationship • Hubungan antara entitas BahanBaku dan PemesananPembelian membentuk entitas baru yaitu PemesananPembelianDetail.
(a)
(b) Keterangan : (a) Kondisi Awal (b) Kondisi Akhir Gambar 3.7 Menghilangkan Tipe Hubungan Many-to-many antara Entitas BahanBaku dan PemesananPembelian • Hubungan
antara
entitas
Produksi
dan
PemesananPenjualan
membentuk entitas baru yaitu PemesananPenjualanDetail.
76
(a)
(b) Keterangan : (a) Kondisi Awal (b) Kondisi Akhir Gambar 3.8 Menghilangkan Tipe Hubungan Many-to-many antara Entitas Produksi dan Pemesanan Penjualan • Hubungan antara entitas Pemasok dan BahanBaku membentuk entitas baru yaitu BahanBakuPemasok. Pemasok
1..*
Menyediakan
1..*
KodePemasok {PK}
BahanBaku KodeBahanBaku {PK}
KodePemasok {PK} KodeBahanBaku {PK}
(a)
77
1..1
Pemasok KodePemasok {PK}
1..*
Dimiliki
BahanBakuPemasok KodePemasok {PK} KodeBahanBaku{PK}
1..*
1..1
BahanBaku
Mempunyai KodeBahanBaku {PK}
(b) Keterangan : (a) Kondisi Awal (b) Kondisi Akhir Gambar 3.9 Menghilangkan Tipe Hubungan Many-to-many antara Entitas Pemasok dan Bahan Baku • Hubungan antara entitas Pelanggan dan Produksi membentuk entitas baru yaitu HargaPelanggan.
(a)
(b) Keterangan : (a) Kondisi Awal (b) Kondisi Akhir
78
Gambar 3.10 Menghilangkan Tipe Hubungan Many-to- many antara Entitas Pelanggan dan Produksi • Hubungan antara entitas Pelanggan dan Produksi membentuk entitas baru yaitu HargaPelanggan.
(a)
(b)
Keterangan : (a) Kondisi Awal (b) Kondisi Akhir Gambar 3.11
Menghilangkan Tipe Hubungan Many-to- many
antara Entitas Retur Pembelian dan Bahan Baku • Hubungan antara entitas Pelanggan dan Produksi membentuk entitas baru yaitu HargaPelanggan.
79
(a)
(b) Gambar 3.12
Menghilangkan Tipe Hubungan Many-to-many
antara Entitas Retur Penjualan dan Produksi b. Menghilangkan tipe hubungan Many-to-many rekursive Relationship
Tidak terdapat hubungan rekursif many to many pada diagram entitas Relationship c. Menghilangkan tipe hubungan yang kompleks
Tidak terdapat hubungan yang kompleks pada diagram entitas Relationship d. Menghilangkan multi–valued attributes
Tidak terdapat multi-valued attributes many to many pada diagram entitas Relationship.
80
3.8.2 Menurunkan Relationship untuk model logikal data lokal Tujuan dari langkah ini adalah untuk membuat Relationship untuk model logikal data lokal untuk menggambarkan entitas, hubungan, dan atribut yang telah diidentifikasi. a. Tipe entitas kuat Karyawan
(KodeKaryawan,
NamaKaryawan,
AlamatKaryawan,
NoTelpKaryawan, TempatLahir, TanggalLahir, Agama, JenisKelamin, NoKTP) Primary Key KodeKaryawan Pemasok
(KodePemasok,
NoTelp1Pemasok,
NamaPemasok,
NoTelp2Pemasok,
FaxPemasok
AlamatPemasok, ,EmailPemasok,
NoRekeningPemasok, NamaBank) Primary Key KodePemasok BahanBaku (KodeBahanBaku, NamaBahanBaku) Primary Key KodeBahanBaku Pelanggan
(KodePelanggan,
NoTelp1Pelanggan,
NamaPelanggan,
NoTelp2Pelanggan,
EmailPelanggan, NoRekeningPelanggan, NamaBank) Primary Key KodePelanggan Produksi (KodeProduksi, NamaProduksi)
AlamatPelanggan, FaxPelanggan,
81
Primary Key KodeProduksi (KodePemesananPenjualan,
PemesananPenjualan
Tanggal,
KodePelanggan , Kuantitas, NamaBarang, ukuran, KodeProduksi, Tipe, KodeKaryawan) Primary Key KodePemesananPenjualan Foreign
KodePelanggan
Key
REFERENCES
Pelanggan
(KodePelanggan) Foreign Key KodeProduksi REFERENCES Produksi (KodeProduksi) Foreign Key KodeKaryawan REFERENCES Karyawan (KodeKaryawan) PengirimanBarang (KodePengirimanBarang, Tanggal, KodePelanggan, Kuantitas, NamaBarang, Ukuran, KodeProduksi, Tipe, Harga, SubTotal, PPN, Total, KodeKaryawan) Primary Key KodePengirimanBarang Foreign Key KodePelanggan REFERENCES Pelanggan (KodePelanggan) Foreign Key KodeProduksi REFERENCES Produksi (KodeProduksi) Foreign Key KodeKaryawan REFERENCES Karyawan (KodeKaryawan) PenagihanPenjualan BanyaknyaUang KodeKaryawan)
(KodeKwitansiPenjualan,
Keterangan,
KodePelanggan,
KodePengirimanBarang,
Tanggal,
82
Primary Key KodeKwitansiPenjualan Foreign Key KodePelanggan REFERENCES Pelanggan (KodePelanggan) Foreign Key KodePengirimanBarang REFERENCES PengirimanBarang (KodePengirimanBarang) Foreign Key KodeKaryawan REFERENCES Karyawan (KodeKaryawan) (KodeTandaTerimaPenjualan,
PembayaranPenjualan
KodeKwitansiPenjualan, Tanggal, KodeGiroPenjualan, JumlahUang, KodeKaryawan) Primary Key KodeTandaTerimaPenjualan, KodeGiroPenjualan Foreign Key KodeKwitansiPenjualan REFERENCES PenagihanPenjualan (KodeKwitansiPenjualan) Foreign Key KodeKaryawan REFERENCES Karyawan (KodeKaryawan) ReturPenjualan Kuantitas,
(KodeReturPenjualan,
NamaBarang,
HargaKertasPerLembar,
Ukuran,
Tanggal,
KodePelanggan,
KodeProduksi,
HargaCetakPerlembar,
Tipe,
SubTotal,
Harga, Total,
KodeKaryawan) Primary Key KodeReturPenjualan Foreign
Key
(KodePelanggan)
KodePelanggan
REFERENCES
Pelanggan
83
Foreign Key KodeProduksi REFERENCES Produksi (KodeProduksi) Foreign Key KodeKaryawan REFERENCES Karyawan (KodeKaryawan) PemesananPembelian
(KodePemesananPembelian,
Tanggal,
KodePemasok, Kuantitas, KodeBahanBaku, HargaPerKg, SubTotal, Total KodeKaryawan) Primary Key KodePemesananPembelian Foreign Key KodePemasok REFERENCES Pemasok (KodePemasok) Foreign
Key
KodeBahanBaku
REFERENCES
BahanBaku
(KodeBahanBaku) Foreign Key KodeKaryawan REFERENCES Karyawan (KodeKaryawan) PenerimaanBahanBaku
(KodePengirimanPemasok,
Tanggal,
KodePemasok, Kuantitas, KodeBahanBaku, HargaPerKg, SubTotal, Total, KodeKaryawan) Primary Key KodePengirimanPemasok Foreign Key KodePemasok REFERENCES Pemasok (KodePemasok) Foreign
Key
KodeBahanBaku
REFERENCES
BahanBaku
(KodeBahanBaku) Foreign Key KodeKaryawan REFERENCES Karyawan (KodeKaryawan)
84
PenagihanPembelian BanyaknyaUang,
(KodeKwitansiPembelian,
Keterangan,
KodePemasok,
KodePengirimanPemasok,
Tanggal
KodeKaryawan) Primary Key KodeKwitansiPembelian Foreign Key KodePemasok REFERENCES Pemasok (KodePemasok) Foreign
Key
KodePengirimanPemasok
REFERENCES
PenerimaanBahanBaku (KodePengirimanPemasok) Foreign Key KodeKaryawan REFERENCES Karyawan (KodeKaryawan) (KodeTandaTerimaPembelian,
PembayaranPembelian
KodeKwitansiPembelian, Tanggal, KodeGiroPembelian, JumlahUang, KodeKaryawan) Primary Key KodeTandaTerimaPembelian, KodeGiroPembelian Foreign
Key
KodeKwitansiPembelian
REFERENCES
PenagihanPembelian (KodeKwitansiPembelian) Foreign Key KodeKaryawan REFERENCES Karyawan (KodeKaryawan) ReturPembelian (KodeReturPembelian, TanggalRetur, KodePemasok, Kuantitas, KodeBahanBaku, KodeKaryawan) Primary Key KodeReturPembelian Foreign Key KodePemasok REFERENCES Pemasok (KodePemasok)
85
Foreign
Key
KodeBahanBaku
REFERENCES
BahanBaku
(KodeBahanBaku) Foreign Key KodeKaryawan REFERENCES Karyawan (KodeKaryawan) b. Tipe Entitas Lemah Tidak terdapat entitas lemah c. Tipe Relationship Biner one-to-many (1:*) • Karyawan → PemesananPenjualan Memasukkan KodeKaryawan ke dalam PemesananPenjualan untuk 1..*
dengan Relationship menerima
Karyawan (KodeKaryawan, NamaKaryawan, AlamatKaryawan, NoTelpKaryawan, TempatLahir, TanggalLahir, Agama, JenisKelamin, NoKTP) Primary key : KodeKaryawan
PemesananPenjualan (KodePemesananPenjualan, Tanggal, KodePelanggan , Kuantitas, NamaBarang, ukuran, KodeProduksi, Tipe, KodeKaryawan) Primary key : KodePemesananPenjualan Foreign key : KodePelanggan REFERENCES Pelanggan (KodePelanggan) Foreign key : KodeKaryawan REFERENCES Karyawan (KodeKaryawan) Foreign key : KodeProduksi REFERENCES Produksi (KodeProduksi)
Gambar 3.13 Relationship One-to-many Karyawan dengan Pemesanan Penjualan
86
• PemesananPenjualan → PengirimanBarang Memasukkan KodePemesananPenjualan ke dalam PengirimanBarang untuk 1..* dengan Relationship memiliki
PemesananPenjualan (KodePemesananPenjualan, Tanggal, KodePelanggan , Kuantitas, NamaBarang, ukuran, KodeProduksi, Tipe, KodeKaryawan) Primary key : KodePemesananPenjualan Foreign key : KodePelanggan REFERENCES Pelanggan (KodePelanggan) Foreign key : KodeKaryawan REFERENCES Karyawan (KodeKaryawan) Foreign key : KodeProduksi REFERENCES Produksi (KodeProduksi)
PengirimanBarang (KodePengirimanBarang, KodePemesananPenjualan, Tanggal, KodePelanggan, Kuantitas, NamaBarang, Ukuran, KodeProduksi, Tipe, Harga, SubTotal, PPN, Total, KodeKaryawan) Primary key KodePengirimanBarang Foreign key KodePelanggan REFERENCES Pelanggan (KodePelanggan) Foreign key KodeProduksi REFERENCES Produksi (KodeProduksi) Foreign key KodeKaryawan REFERENCES Karyawan (KodeKaryawan)
Gambar 3.14 Relationship One-to-many Pemesanan Penjualan dengan Pengiriman Barang
• PengirimanBarang → ReturPenjualan Memasukkan KodePengirimanBarang ke dalam ReturPenjualan untuk 1..* dengan Relationship memiliki
87
PengirimanBarang (KodePengirimanBarang, Tanggal, KodePelanggan, Kuantitas, NamaBarang, Ukuran, KodeProduksi, Tipe, Harga, SubTotal, PPN, Total, KodeKaryawan) Primary key KodePengirimanBarang Foreign key KodePelanggan REFERENCES Pelanggan (KodePelanggan) Foreign key KodeProduksi REFERENCES Produksi (KodeProduksi) Foreign key KodeKaryawan REFERENCES Karyawan (KodeKaryawan)
ReturPenjualan (KodeReturPenjualan, KodePengirimanBarang, Tanggal, KodePelanggan, Kuantitas, NamaBarang, Ukuran, KodeProduksi, Tipe, Harga, HargaKertasPerLembar, HargaCetakPerlembar, SubTotal, Total, KodeKaryawan) Primary key KodeReturPenjualan Foreign key KodePelanggan REFERENCES Pelanggan (KodePelanggan) Foreign key KodeProduksi REFERENCES Produksi (KodeProduksi) Foreign Key KodeKaryawan REFERENCES Karyawan (KodeKaryawan)
Gambar 3.15 Relationship One-to-many Pengiriman Barang dengan Retur Penjualan
• Pelanggan → PemesananPenjualan Memasukkan KodePelanggan ke dalam PemesananPenjualan untuk 1..* dengan Relationship memesan
Pelanggan (KodePelanggan, NamaPelanggan, AlamatPelanggan, NoTelp1Pelanggan, NoTelp2Pelanggan, FaxPelanggan, EmailPelanggan, NoRekeningPelanggan, NamaBank) Primary key KodePelanggan
PemesananPenjualan (KodePemesananPenjualan, Tanggal, KodePelanggan , Kuantitas, NamaBarang, ukuran, KodeProduksi, Tipe, KodeKaryawan) Primary key KodePemesananPenjualan Foreign key KodePelanggan REFERENCES Pelanggan (KodePelanggan) Foreign key KodeProduksi REFERENCES Produksi (KodeProduksi) Foreign key KodeKaryawan REFERENCES Karyawan (KodeKaryawan)
Gambar 3.16 Relationship One-to-many Pelanggan dengan Pemesanan Penjualan
88
• Karyawan → PemesananPembelian Memasukkan KodeKaryawan ke dalam PemesananPembelian untuk 1..* dengan Relationship memesan
Karyawan (KodeKaryawan, NamaKaryawan, AlamatKaryawan, NoTelpKaryawan, TempatLahir, TanggalLahir, Agama, JenisKelamin, NoKTP) Primary key : KodeKaryawan
PemesananPembelian (KodePemesananPembelian, Tanggal, KodePemasok, Kuantitas, KodeBahanBaku, HargaPerKg, SubTotal, Total, KodeKaryawan) Primary key KodePemesananPembelian Foreign Key KodePemasok REFERENCES Pemasok (KodePemasok) Foreign key KodeBahanBaku REFERENCES BahanBaku (KodeBahanBaku) Foreign key KodeKaryawan REFERENCES Karyawan (KodeKaryawan)
Gambar 3.17 Relationship One-to-many Karyawan dengan Pemesanan Pembelian
• Pemasok → PemesananPembelian Memasukkan KodePemasok ke dalam PemesananPembelian untuk 1..* dengan Relationship memenuhi
Gambar 3.18 Relationship One-to-many Pemasok dengan Pemesanan Pembelian
89
• PenerimaanBahanBaku → ReturPembelian Memasukkan KodePengirimanPemasok ke dalam ReturPembelian untuk 1..* dengan Relationship mempunyai
PenerimaanBahanBaku (KodePengirimanPemasok, Tanggal, KodePemasok, Kuantitas, KodeBahanBaku, HargaPerKg, SubTotal, Total, KodeKaryawan) Primary key KodePengirimanPemasok Foreign key KodePemasok REFERENCES Pemasok (KodePemasok) Foreign key KodeBahanBaku REFERENCES BahanBaku (KodeBahanBaku) Foreign key KodeKaryawan REFERENCES Karyawan (KodeKaryawan)
ReturPembelian (KodeReturPembelian, KodePengirimanPemasok, TanggalRetur, KodePemasok, Kuantitas, KodeBahanBaku, KodeKaryawan) Primary key KodeReturPembelian Foreign Key KodePemasok REFERENCES Pemasok (KodePemasok) Foreign key KodeBahanBaku REFERENCES BahanBaku (KodeBahanBaku) Foreign key KodeKaryawan REFERENCES Karyawan (KodeKaryawan)
Gambar 3.19 Relationship One-to-many Penerimaan Bahan Baku dengan Retur Pembelian
• PenagihanPenjualan →PembayaranPenjualan Memasukkan
KodeKwitansiPenjualan
ke
dalam
PembayaranPenjualan untuk 1..* dengan Relationship memiliki
tabel
90
PembayaranPenjualan (KodeTandaTerimaPenjualan, KodeKwitansiPenjualan, Tanggal, KodeGiroPenjualan, JumlahUang, KodeKaryawan) Primary key KodeTandaTerimaPenjualan, KodeGiroPenjualan Foreign key KodeKwitansiPenjualan REFERENCES PenagihanPenjualan (KodeKwitansiPenjualan) Foreign key KodeKaryawan REFERENCES Karyawan (KodeKaryawan)
PenagihanPenjualan (KodeKwitansiPenjualan, KodePelanggan, BanyaknyaUang Keterangan, KodePengirimanBarang, Tanggal, KodeKaryawan) Primary key KodeKwitansiPenjualan Foreign key KodePelanggan REFERENCES Pelanggan (KodePelanggan) Foreign key KodePengirimanBarang REFERENCES PengirimanBarang (KodePengirimanBarang) Foreign key KodeKaryawan REFERENCES Karyawan (KodeKaryawan)
Gambar 3.20 Relationship One-to-many Penagihan Penjualan dengan Pembayaran Penjualan
• PenagihanPembelian → PembayaranPembelian Memasukkan
KodeKwitansiPembelian
ke
dalam
tabel
PembayaranPembelian untuk 1..* mempunyai
PenagihanPembelian (KodeKwitansiPembelian, KodePemasok, BanyaknyaUang, Keterangan, KodePengirimanPemasok, Tanggal KodeKaryawan) Primary key KodeKwitansiPembelian Foreign key KodePemasok REFERENCES Pemasok (KodePemasok) Foreign key KodePengirimanPemasok REFERENCES PenerimaanBahanBaku (KodePengirimanPemasok) Foreign key KodeKaryawan REFERENCES Karyawan (KodeKaryawan)
PembayaranPembelian (KodeTandaTerimaPembelian, KodeKwitansiPembelian, Tanggal, KodeGiroPembelian, JumlahUang, KodeKaryawan) Primary key KodeTandaTerimaPembelian, KodeGiroPembelian Foreign key KodeKwitansiPembelian REFERENCES PenagihanPembelian (KodeKwitansiPembelian) Foreign key KodeKaryawan REFERENCES Karyawan (KodeKaryawan)
Gambar 3.21 Relationship One-to-many Penagihan Pembelian dengan Pembayaran Pembelian
91
d. Tipe Relationship Biner one-to-one (1:1) Untuk
biner
Relationship
PemesananPembelian
1:1
Primary
dijadikan
Key atribut
dari
entitas
di
entitas
PenerimaanBahanBaku
PemesananPembelian
PenerimaanBahanBaku
KodePemesananPembelian Tanggal KodePemasok Kuantitas NamaBahanBaku HargaPerKg SubTotal Total KodeKaryawan
KodePengirimanPemasok KodePemesananPembelian Tanggal KodePemasok Kuantitas KodeBahanBaku HargaPerKg SubTotal Total KodeKaryawan
1..1 Mempunyai
1..1
Gambar 3.22 Relationship One-to-one Pemesanan Pembelian dengan Penerimaan Bahan Baku
3.8.3 Normalisasi Tujuan Normalisasi untuk mencegah adanya data rangkap dan adanya update anomaly di dalam table, yang disebabkan penghapusan, penambahan dan perubahan data di dalam table. • Pemesanan Penjualan 2NF
92
Kode Pemesanan Penjualan
Tanggal
Kode Pelanggan
Nama Pelanggan
Kode Karyawan
fd1
Nama Karyawan
Nama Barang
Kode Produksi
Nama Produksi
Ukuran
Kuantitas
(Primary Key) fd2
(Transitive dependency) fd3
(Transitive dependency) fd4
(Transitive dependency)
fd5 (Candidate Key)
fd1
KodePemesananPenjualan
Æ
Tanggal,
KodePelanggan,
KodeKaryawan (Primary Key) fd2
KodePelanggan Æ NamaPelanggan (Transitive Dependency)
fd3
KodeKaryawan Æ NamaKaryawan (Transitive Dependency)
fd4
KodeProduksi Æ NamaProduksi (Transitive Dependency)
fd5
KodePemesananPenjualan, NamaBarang, KodeProduksi, Ukuran Æ Kuantitas, Tipe (Candidate Key)
PemesananPenjualan
(KodePemesananPenjualan,
Tanggal,
KodePelanggan, KodeKaryawan) PemesananPenjualanDetail (KodePemesananPenjualan, NamaBarang, KodeProduksi, Ukuran, Kuantitas, Tipe)
Tipe
93
3NF PemesananPenjualan fd1
KodePemesananPenjualan
Æ
Tanggal,
KodePelanggan,
KodeKaryawan (Primary Key) Pelanggan fd2
KodePelanggan Æ NamaPelanggan (Transitive Dependency)
Karyawan fd3
KodeKaryawan Æ NamaKaryawan (Transitive Dependency)
Produksi fd4
KodeProduksi Æ NamaProduksi (Transitive Dependency)
PemesananPenjualanDetail fd5
KodePemesananPenjualan, NamaBarang, KodeProduksi, Ukuran Æ Kuantitas, Tipe (Candidate Key)
PemesananPenjualan
(KodePemesananPenjualan,
Tanggal,
KodePelanggan, KodeKaryawan) PemesananPenjualanDetail (KodePemesananPenjualan, NamaBarang, KodeProduksi, Ukuran, Kuantitas, Tipe) Produksi (KodeProduksi, NamaProduksi)
94
(KodePelanggan,
Pelanggan
NamaPelanggan,
AlamatPelanggan,
NoTelp1Pelanggan, NoTelp2Pelanggan, FaxPelanggan, EmailPelanggan, NoRekeningPelanggan, NamaBank) (KodeKaryawan,
Karyawan
NamaKaryawan,
AlamatKaryawan,
NoTelpKaryawan, TempatLahir, TanggalLahir, Agama, JenisKelamin, NoKTP, Jabatan) • Surat Jalan Kode Pengiriman Barang
Kode Pemesanan Penjualan
Tanggal
Kode Pelanggan
Nama Pelanggan
Kode Karyawan
fd1
Nama Karyawan
Nama Barang
Kode Produksi
Nama Produksi
Ukuran
(Primary Key)
fd2
(Candidate Key) fd3
(Transitive Dependency)
fd4
(Transitive Dependency) fd5 (Transitive Dependency)
fd1
KodePengirimanBarang Æ KodePemesananPenjualan, Tanggal, KodePelanggan, KodeKaryawan (Primary Key)
fd2
KodePengirimanBarang, NamaBarang, KodeProduksi, Ukuran Æ Kuantitas, Tipe (Candidate Key)
Kuantitas
Tipe
95
fd3
KodePelanggan Æ NamaPelanggan (Transitive Dependency)
fd4
KodeKaryawan Æ NamaKaryawan (Transitive Dependency)
fd5
KodeProduksi Æ NamaProduksi (Transitive Dependency)
PengirimanBarang (KodePengirimanBarang, KodePemesananPenjualan, Tanggal, KodePelanggan, KodeKaryawan,) PengirimanBarangDetail
(KodePengirimanBarang,
NamaBarang,
KodeProduksi, Ukuran, Kuantitas, Tipe) 3NF PengirimanBarang fd1
KodePengirimanBarang Æ KodePemesananPenjualan, Tanggal, KodePelanggan, KodeKaryawan (Primary Key)
PengirimanBarangDetail fd2
KodePengirimanBarang, NamaBarang, KodeProduksi, Ukuran Æ Kuantitas, Tipe (Candidate Key)
Pelanggan fd3
KodePelanggan Æ NamaPelanggan (Transitive Dependency)
Karyawan fd4
KodeKaryawan Æ NamaKaryawan (Transitive Dependency)
96
Produksi fd5
KodeProduksi Æ NamaProduksi (Transitive Dependency)
PengirimanBarang (KodePengirimanBarang, KodePemesananPenjualan, Tanggal, KodePelanggan, KodeKaryawan,) PengirimanBarangDetail
(KodePengirimanBarang,
NamaBarang,
KodeProduksi, Ukuran, Kuantitas, Tipe) Pelanggan
(KodePelanggan,
NamaPelanggan,
AlamatPelanggan,
NoTelp1Pelanggan, NoTelp2Pelanggan, FaxPelanggan, EmailPelanggan, NoRekeningPelanggan, NamaBank) Karyawan
(KodeKaryawan,
NamaKaryawan,
AlamatKaryawan,
NoTelpKaryawan, TempatLahir, TanggalLahir, Agama, JenisKelamin, NoKTP, Jabatan) Produksi (KodeProduksi, NamaProduksi) HargaPelanggan = @KodePelanggan + @KodeProduksi + Harga
97
• Kwitansi Penjualan 2NF KodeKwitansi Penjualan
Tanggal
Kode Pelanggan
Nama Pelanggan
Kode Karyawan
fd1
Nama Karyawan
KodePengiriman Barang
(Primary Key)
fd2 (Candidate Key) fd3
(Transitive Dependency) fd4
fd1
KodeKwitansiPenjualan Æ
Tanggal,
(Transitive Dependency)
KodePelanggan,
KodeKaryawan, KodePengirimanBarang (Primary Key) fd2
KodeKwitansiPenjualan,
KodePengirimanBarang
(Candidate
Key) fd3
KodePelanggan Æ NamaPelanggan (Transitive Dependency)
fd4
KodeKaryawan Æ NamaKaryawan (Transitive Dependency)
PenagihanPenjualan (KodeKwitansiPenjualan, Tanggal, KodePelanggan, KodeKaryawan PenagihanPenjualanDetail KodePengirimanBarang) 3NF PenagihanPenjualan
(KodeKwitansiPenjualan,
98
fd1
KodeKwitansiPenjualan Æ
Tanggal,
KodePelanggan,
KodeKaryawan, KodePengirimanBarang (Primary Key) PenagihanPenjualanDetail fd2
KodeKwitansiPenjualan,
KodePengirimanBarang
(Candidate
Key) Pelanggan fd3
KodePelanggan Æ NamaPelanggan (Transitive Dependency)
Karyawan fd4
KodeKaryawan Æ NamaKaryawan (Transitive Dependency)
PenagihanPenjualan (KodeKwitansiPenjualan, Tanggal, KodePelanggan, KodeKaryawan PenagihanPenjualanDetail
(KodeKwitansiPenjualan,
KodePengirimanBarang) Pelanggan
(KodePelanggan,
NamaPelanggan,
AlamatPelanggan,
NoTelp1Pelanggan, NoTelp2Pelanggan, FaxPelanggan, EmailPelanggan, NoRekeningPelanggan, NamaBank) Karyawan
(KodeKaryawan,
NamaKaryawan,
AlamatKaryawan,
NoTelpKaryawan, TempatLahir, TanggalLahir, Agama, JenisKelamin, NoKTP, Jabatan)
99
• Giro Penjualan 2NF KodeTandaTerima Penjualan
KodeKwitansi Penjualan
KodeGiro Penjualan
Tanggal
Jumlah Uang
TanggalLunas Giro
Kode Karyawan
fd1
Nama Karyawan
(Primary Key)
fd2
(Candidate Key) fd3 (Transitive Dependency)
fd1
KodeTandaTerimaPenjualan,
KodeKwitansiPenjualan
Æ
Tanggal, KodeKaryawan (Primary Key) fd2
KodeTandaTerimaPenjualan, KodeGiroPenjualan
Æ
KodeKwitansiPenjualan, JumlahUang,
TanggalLunasGiro
(Candidate Key) fd3
KodeKaryawan Æ NamaKaryawan (Transitive Dependency)
PembayaranPenjualan
(KodeTandaTerimaPenjualan,
KodeKwitansiPenjualan, Tanggal, KodeKaryawan) PembayaranPenjualanDetail KodeKwitansiPenjualan, TanggalLunasGiro) 3NF PembayaranPenjualan
(KodeTandaTerimaPenjualan, KodeGiroPenjualan,
JumlahUang,
100
fd1
KodeTandaTerimaPenjualan,
KodeKwitansiPenjualan
Æ
Tanggal, KodeKaryawan (Primary Key) PembayaranPenjualanDetail fd2
KodeTandaTerimaPenjualan, KodeGiroPenjualan
Æ
KodeKwitansiPenjualan, JumlahUang,
TanggalLunasGiro
(Candidate Key) Karyawan fd3
KodeKaryawan Æ NamaKaryawan (Transitive Dependency)
PembayaranPenjualan
(KodeTandaTerimaPenjualan,
KodeKwitansiPenjualan, Tanggal, KodeKaryawan) PembayaranPenjualanDetail KodeKwitansiPenjualan,
(KodeTandaTerimaPenjualan, KodeGiroPenjualan,
JumlahUang,
NamaKaryawan,
AlamatKaryawan,
TanggalLunasGiro) Karyawan
(KodeKaryawan,
NoTelpKaryawan, TempatLahir, TanggalLahir, Agama, JenisKelamin, NoKTP, Jabatan) • ReturPenjualan 2NF
101
Kode Retur Penjualan
Kode Pengiriman Barang
Tanggal
Kode Pelanggan
Nama Peanggan
Kode Karyawan
fd1
Nama Karyawan
Nama Barang
Ukuran
Kode Produksi
Kuantitas
Tipe
Harga Kertas /Lbr
(Primary Key)
fd2 (Candidate Key) fd3
(Transitive Dependency) fd4
fd1
(Transitive Dependency)
KodeReturPenjualan
Æ
KodePengirimanBarang,
Tanggal,
KodePelanggan, KodeKaryawan (Primary Key) fd2
KodeReturPenjualan, NamaBarang, Ukuran, KodeProduksi Æ Kuantitas, Tipe, HargaKertasPerLembar, HargaCetakPerlembar (Candidate Key)
fd3
KodePelanggan Æ NamaPelanggan (Transitive Dependency)
fd4
KodeKaryawan Æ NamaKaryawan (Transitive Dependency)
ReturPenjualan (KodeReturPenjualan, KodePengirimanBarang, Tanggal, KodePelanggan, KodeKaryawan) ReturPenjualanDetail KodeProduksi,
Kuantitas,
HargaCetakPerlembar ) 3NF ReturPenjualan
(KodeReturPenjualan, Tipe,
NamaBarang,
Ukuran,
HargaKertasPerLembar,
Harga Cetak /Lbr
102
fd1
KodeReturPenjualan
Æ
KodePengirimanBarang,
Tanggal,
KodePelanggan, KodeKaryawan (Primary Key) ReturPenjualanDetail fd2
KodeReturPenjualan, NamaBarang, Ukuran, KodeProduksi Æ Kuantitas, Tipe, HargaKertasPerLembar, HargaCetakPerlembar (Candidate Key)
Pelanggan fd3
KodePelanggan Æ NamaPelanggan (Transitive Dependency)
Karyawan fd4
KodeKaryawan Æ NamaKaryawan (Transitive Dependency)
ReturPenjualan (KodeReturPenjualan, KodePengirimanBarang, Tanggal, KodePelanggan, KodeKaryawan) ReturPenjualanDetail KodeProduksi,
(KodeReturPenjualan,
Kuantitas,
Tipe,
NamaBarang,
Ukuran,
HargaKertasPerLembar,
HargaCetakPerlembar ) Pelanggan
(KodePelanggan,
NamaPelanggan,
AlamatPelanggan,
NoTelp1Pelanggan, NoTelp2Pelanggan, FaxPelanggan, EmailPelanggan, NoRekeningPelanggan, NamaBank)
103
Karyawan
NamaKaryawan,
(KodeKaryawan,
AlamatKaryawan,
NoTelpKaryawan, TempatLahir, TanggalLahir, Agama, JenisKelamin, NoKTP, Jabatan) • Pemesanan Pembelian Kode Pemesanan Pembelian
Tanggal
Kode Pe-masok
Nama Pe-masok
Kode Karyawan
Nama Karyawan
Kode Bahan Baku
Nama Bahan Baku
Harga Per Kg
Kuantitas
fd1
(Primary Key)
fd2
(Partial Dependency)
(Partial Dependency)
fd3
fd4
(Partial Dependency)
(Transitive Dependency)
fd5
(Transitive Dependency)
fd6
(Transitive Dependency)
2NF fd1
KodePemesananPembelian, Kode Bahan BakuÆ Kuantitas (Primary Key)
fd2
KodePemesananPembelian
Æ
KodeKaryawan (Partial Dependency)
Tanggal,
KodePemasok,
104
fd3
Kode Pemasok, KodeBahanBaku Æ HargaPerKg (Partial Dependency)
fd4
KodePemasok Æ NamaPemasok (Transitive Dependency)
fd5
KodeKaryawan Æ Nama Karyawan (Transitive Dependency)
fd6
KodeBahanBaku Æ NamaBahanBaku (Transitive Dependency)
PemesananPembelian(KodePemesananPembelian,Tanggal, KodePemasok, KodeKaryawan) (KodePemesananPembelian,
PemesananPembelianDetail KodeBahanBaku, Kuantitas)
BahanBakuPemasok(KodeBahanBaku, KodePemasok, HargaPerKg) 3NF PemesananPembelianDetail fd1
KodePemesananPembelian, Kode Bahan BakuÆ Kuantitas (Primary Key)
PemesananPembelian fd2
KodePemesananPembelian
Æ
KodeKaryawan (Partial Dependency) BahanBakuPemasok
Tanggal,
KodePemasok,
105
fd3
Kode Pemasok, KodeBahanBaku Æ HargaPerKg (Partial Dependency)
Pemasok fd4
KodePemasok Æ NamaPemasok (Transitive Dependency)
Karyawan fd5
KodeKaryawan Æ Nama Karyawan (Transitive Dependency)
BahanBaku fd6
KodeBahanBaku Æ NamaBahanBaku (Transitive Dependency)
PemesananPembelian(KodePemesananPembelian,Tanggal, KodePemasok, KodeKaryawan) PemesananPembelianDetail
(KodePemesananPembelian,
KodeBahanBaku, Kuantitas) BahanBakuPemasok(KodeBahanBaku, KodePemasok, HargaPerKg) Karyawan
(KodeKaryawan,
NamaKaryawan,
AlamatKaryawan,
NoTelpKaryawan, TempatLahir, TanggalLahir, Agama, JenisKelamin, NoKTP, Jabatan) BahanBaku (KodeBahanBaku, NamaBahanBaku)
106
Pemasok
(KodePemasok,
NoTelp1Pemasok,
NamaPemasok,
NoTelp2Pemasok,
AlamatPemasok,
FaxPemasok,EmailPemasok,
NoRekeninPemasok,NamaBank) • Penerimaan Bahan Baku Kode Pengiriman Pemasok
Tanggal
Kode PemesananPembelian
Kode Karyawan
fd1
Nama Karyawan
(Primary Key)
fd2
(Transitive Dependency)
2NF fd1
KodePengirimanPemasok
Æ
Tanggal,
KodePemesananPembelian, KodeKaryawan fd2
KodeKaryawan Æ NamaKaryawan
PenerimaanBahanBaku
(KodePengirimanPemasok,
Tanggal,
KodePemesananPembelian,KodeKaryawan) 3NF PenerimaanBahanBaku fd1
KodePengirimanPemasok
Æ
KodePemesananPembelian, KodeKaryawan
Tanggal,
107
Karyawan fd2
KodeKaryawan Æ NamaKaryawan
PemesananBahanBaku
(KodePengirimanPemasok,
Tanggal,
KodePemesananPembelian,KodeKaryawan) (KodeKaryawan,
Karyawan
NamaKaryawan,
AlamatKaryawan,
NoTelpKaryawan, TempatLahir, TanggalLahir, Agama, JenisKelamin, NoKTP, Jabatan) • Kwitansi Pembelian KodeKwitansi Pembelian
Tanggal
Kode Pemasok
Nama Pemasok
Kode Karyawan
fd1
Nama Karyawan
KodePengiriman Pemasok
(Primary Key)
fd2 (Candidate Key) fd3
(Transitive Dependency) fd4
fd1
KodeKwitansiPembelian Æ Tanggal,
(Transitive Dependency)
KodePemasok,
KodeKaryawan, KodePengirimanPemasok (Primary Key) fd2
KodeKwitansiPembelian, KodePengirimanPemasok (Candidate Key)
fd3
KodePemasok Æ NamaPemasok (Transitive Dependency)
fd4
KodeKaryawan Æ NamaKaryawan (Transitive Dependency)
108
PenagihanPembelian
(KodeKwitansiPembelian,
Tanggal,
KodePelanggan, KodeKaryawan PenagihanPembelianDetail
(KodeKwitansiPembelian,
KodePengirimanBarang) 3NF PenagihanPembelian fd1
KodeKwitansiPembelian Æ Tanggal,
KodePemasok,
KodeKaryawan, KodePengirimanPemasok (Primary Key) PenagihanPembelianDetail fd2
KodeKwitansiPembelian, KodePengirimanPemasok (Candidate Key)
Pemasok fd3
KodePemasok Æ NamaPemasok (Transitive Dependency)
Karyawan fd4
KodeKaryawan Æ NamaKaryawan (Transitive Dependency)
PenagihanPembelian
(KodeKwitansiPembelian,
Tanggal,
KodePelanggan, KodeKaryawan PenagihanPembelianDetail KodePengirimanBarang)
(KodeKwitansiPembelian,
109
Pemasok
(KodePemasok,
NoTelp1Pemasok,
NamaPemasok,
NoTelp2Pemasok,
AlamatPemasok,
FaxPemasok,EmailPemasok,
NoRekeninPemasok,NamaBank) Karyawan
NamaKaryawan,
(KodeKaryawan,
AlamatKaryawan,
NoTelpKaryawan, TempatLahir, TanggalLahir, Agama, JenisKelamin, NoKTP, Jabatan) • Giro Pembelian 2NF KodeTandaTerima Pembelian
KodeKwitansi Pembelian
KodeGiro Pembelian
Tanggal
Jumlah Uang
TanggalLunas Giro
Kode Karyawan
fd1
Nama Karyawan
(Primary Key)
fd2
(Candidate Key) fd3 (Transitive Dependency)
fd1
KodeTandaTerimaPembelian,
KodeKwitansiPembelian
Æ
Tanggal, KodeKaryawan (Primary Key) fd2
KodeTandaTerimaPembelian, KodeGiroPembelian
Æ
KodeKwitansiPembelian, JumlahUang,
TanggalLunasGiro
(Candidate Key) fd3
KodeKaryawan Æ NamaKaryawan (Transitive Dependency)
110
PembayaranPembelian
(KodeTandaTerimaPembelian,
KodeKwitansiPembelian, Tanggal, KodeKaryawan) PembayaranPembelianDetail KodeKwitansiPembelian,
(KodeTandaTerimaPembelian, KodeGiroPembelian,
JumlahUang,
TanggalLunasGiro) 3NF PembayaranPembelian fd1
KodeTandaTerimaPembelian,
KodeKwitansiPembelian
Æ
Tanggal, KodeKaryawan (Primary Key) PembayaranPembelianDetail fd2
KodeTandaTerimaPembelian, KodeGiroPembelian
Æ
KodeKwitansiPembelian, JumlahUang,
TanggalLunasGiro
(Candidate Key) Karyawan fd3
KodeKaryawan Æ NamaKaryawan (Transitive Dependency)
PembayaranPembelian
(KodeTandaTerimaPembelian,
KodeKwitansiPembelian, Tanggal, KodeKaryawan)
111
PembayaranPembelianDetail KodeKwitansiPembelian,
(KodeTandaTerimaPembelian, KodeGiroPembelian,
JumlahUang,
TanggalLunasGiro) Karyawan
(KodeKaryawan,
NamaKaryawan,
AlamatKaryawan,
NoTelpKaryawan, TempatLahir, TanggalLahir, Agama, JenisKelamin, NoKTP, Jabatan) • ReturPembelian 2NF Kode Retur Pembel ian
Kode Pengiriman Pemasok
Tanggal
Kode Pemasok
Nama Pemasok
Kode Kary awan
fd1
Nama Karyawan
Kode Bahan Baku
Nama Bahan Baku
Kuantitas
(Primary Key)
fd2 (Candidate Key) fd3
(Transitive Dependency) fd4
fd1
(Transitive Dependency)
KodeReturPembelian Æ KodePengirimanPemasok, Tanggal, KodePemasok, KodeKaryawan (Primary Key)
fd2
KodeReturPembelian, KodeBahanBaku Æ Kuantitas(Candidate Key)
fd3
KodePemasok Æ NamaPemasok (Transitive Dependency)
fd4
KodeKaryawan Æ NamaKaryawan (Transitive Dependency)
112
ReturPembelian
(KodeReturPembelian,
KodePengirimanPemasok,
Tanggal, KodePemasok, KodeKaryawan) ReturPembelianDetail
(KodeReturPembelian,
KodeBahanBaku,
Kuantitas ) 3NF ReturPembelian fd1
KodeReturPembelian Æ KodePengirimanPemasok, Tanggal, KodePemasok, KodeKaryawan (Primary Key)
ReturPembelianDetail fd2
KodeReturPembelian, KodeBahanBaku Æ Kuantitas (Candidate Key)
Pemasok fd3
KodePemasok Æ NamaPemasok (Transitive Dependency)
Karyawan fd4
KodeKaryawan Æ NamaKaryawan (Transitive Dependency)
ReturPembelian
(KodeReturPembelian,
KodePengirimanPemasok,
Tanggal, KodePemasok, KodeKaryawan) ReturPembelianDetail Kuantitas )
(KodeReturPembelian,
KodeBahanBaku,
113
Karyawan
(KodeKaryawan,
NamaKaryawan,
AlamatKaryawan,
NoTelpKaryawan, TempatLahir, TanggalLahir, Agama, JenisKelamin, NoKTP, Jabatan) Pemasok
(KodePemasok,
NoTelp1Pemasok,
NamaPemasok,
NoTelp2Pemasok,
AlamatPemasok,
FaxPemasok,EmailPemasok,
NoRekeninPemasok,NamaBank) 3.8.4 Menentukan Integrity Constraints Integrity Constraints adalah constraints yang diharapkan untuk mencegah basis data dari ketidakkonsistenan. 5 bentuk Integrity Constraints: 1. Required data Beberapa atribut harus selalu memiliki nilai yang valid, atribut tidak diizinkan memiliki nilai NULL 2. Attribute domain constraints Setiap atribut harus memiliki domain, yang berupa nilai yang benar. 3. Entitas integrity Primary Key dari sebuah entitas tidak boleh memiliki nilai NULL 4. Referential integrity
114
Sebuah Foreign Key menghubungkan masing-masing tuple di child Relation ke tuple di parent Relation yang memiliki Candidate Key yang cocok. 5. Enterprise constraints Enterprise constraint sering disebut business rules. Update ke sebuah entitas akan dibatasi oleh enterprise rules yang mengatur transaksi nyata sehari-hari. Referential integrity pada setiap tabel dalam basis data Kharisma Indah Warna PemesananPenjualan KodePelanggan ,
(KodePemesananPenjualan
,
Tanggal
,
KodeKaryawan , Status)
Primary Key KodePemesananPenjualan Foreign Key KodePelanggan REFERENCES Pelanggan (KodePelanggan) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key KodeKaryawan REFERENCES Karyawan ( KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION PemesananPenjualanDetail ( KodePemesananPenjualan , NamaBarang , KodeProduksi , Ukuran , Kuantitas , Tipe)
115
Primary Key KodePemesananPenjualan, NamaBarang , KodeProduksi , Ukuran Foreign Key KodeProduksi REFERENCES Produksi ( KodeProduksi) ON UPDATE CASCADE ON DELETE NO ACTION PengirimanBarang ( KodePengirimanBarang , Tanggal , KodeKaryawan , KodePemesananPenjualan ) Primary Key KodePengirimanBarang Foreign Key KodeKaryawan REFERENCES Karyawan ( KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
Key
KodePemesananPenjualan
REFERENCES
PemesananPenjualan (KodePemesananPenjualan) ON UPDATE CASCADE ON DELETE NO ACTION PengirimanBarangDetail ( KodePengirimanBarang , NamaBarang , KodeProduksi , Ukuran , Kuantitas , Tipe ) Primary Key KodePengirimanBarang , NamaBarang , KodeProduksi , Ukuran Foreign Key KodeProduksi REFERENCES Produksi (KodeProduksi) ON UPDATE CASCADE ON DELETE NO ACTION
116
PenagihanPenjualan ( KodeKwitansiPenjualan , Tanggal, Keterangan , KodeKaryawan) Primary Key KodeKwitansiPenjualan Foreign Key KodeKaryawan REFERENCES Karyawan ( KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION (
PenagihanPenjualanDetail
KodeKwitansiPenjualan
,
KodePengirimanBarang ) Primary Key KodeKwitansiPenjualan , KodePengirimanBarang Foreign Key KodeKwitansiPenjualan REFERENCES PenagihanPenjualan (KodeKwitansiPenjualan) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key KodePengirimanBarang REFERENCES PengirimanBarang (KodePengirimanBarang) ON UPDATE CASCADE ON DELETE NO ACTION PembayaranPenjualan
(
KodeTandaTerimaPenjualan
KodeKwitansiPenjualan , Tanggal , KodeKaryawan ) Primary Key KodeTandaTerimaPenjualan, KodeKwitansiPenjualan Foreign Key KodeKaryawan REFERENCES Karyawan ( KodeKaryawan)
,
117
ON UPDATE CASCADE ON DELETE NO ACTION PembayaranPenjualanDetail KodeKwitansiPenjualan
,
(
KodeTandaTerimaPenjualan
KodeGiroPenjualan
,
,
JumlahUang
,
KodeTandaTerimaPenjualan,KodeKwitansiPenjualan
,
TanggalLunasGiro ) Primary
Key
KodeGiroPenjualan Foreign
Key
KodeTandaTerimaPenjualan
REFERENCES
PembayaranPenjualan (KodeTandaTerimaPenjualan) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
Key
KodeTandaTerimaPenjualan
REFERENCES
PembayaranPenjualan (KodeKwitansiPenjualan) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
Key
KodeKwitansiPenjualan
REFERENCES
PembayaranPenjualan (KodeTandaTerimaPenjualan) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
Key
KodeKwitansiPenjualan
PembayaranPenjualan (KodeKwitansiPenjualan) ON UPDATE CASCADE ON DELETE NO ACTION
REFERENCES
118
ReturPenjualan ( KodeReturPenjualan , Tanggal , KodeKaryawan , KodePengirimanBarang ) Primary Key KodeReturPenjualan Foreign Key KodeKaryawan REFERENCES Karyawan ( KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key KodePengirimanBarang REFERENCES PengirimanBarang (KodePengirimanBarang) ON UPDATE CASCADE ON DELETE NO ACTION ReturPenjualanDetail ( KodeReturPenjualan , NamaBarang , Ukuran , KodeProduksi
,
Kuantitas
,
Tipe
,
HargaKertasPerLembar
,
HargaCetakPerlembar ) Primary Key KodeReturPenjualan , NamaBarang , Ukuran , KodeProduksi Foreign Key KodeProduksi REFERENCES Produksi (KodeProduksi) ON UPDATE CASCADE ON DELETE NO ACTION Produksi ( KodeProduksi , NamaProduksi) Primary Key KodeProduksi Pelanggan ( KodePelanggan , NamaPelanggan , AlamatPelanggan , NoTelp1Pelanggan , NoTelp2Pelanggan , FaxPelanggan , EmailPelanggan , NoRekeningPelanggan , NamaBank)
119
Primary Key KodePelanggan Karyawan ( KodeKaryawan , NamaKaryawan , AlamatKaryawan , NoTelpKaryawan , TempatLahir , TanggalLahir , Agama , JenisKelamin , NoKTP , Jabatan) Primary Key KodeKaryawan HargaPelanggan ( KodePelanggan , KodeProduksi , Harga ) Primary Key KodePelanggan Foreign Key KodeProduksi REFERENCES Produksi (KodeProduksi) ON UPDATE CASCADE ON DELETE NO ACTION PemesananPembelian
(KodePemesananPembelian
,
Tanggal
,
KodePemasok , KodeKaryawan) Primary Key KodePemesananPembelian Foreign Key KodePemasok REFERENCES Pemasok (KodePemasok) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key KodeKaryawan REFERENCES Karyawan (KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION PemesananPembelianDetail KodeBahanBaku , Kuantitas)
(KodePemesananPembelian
,
120
Primary Key KodePemesananPembelian, KodeBahanBaku Foreign
KodePemesananPembelian
Key
REFERENCES
PemesananPembelian (KodePemesananPembelian) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
Key
KodeBahanBaku
BahanBaku
REFERENCES
(KodeBahanBaku) ON UPDATE CASCADE ON DELETE NO ACTION PenerimaanBahanBaku
(
KodePengirimanPemasok
,
Tanggal
,
KodeKaryawan , KodePemesananPembelian) Primary Key KodePengirimanPemasok Foreign Key KodeKaryawan REFERENCES Karyawan (KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
Key
KodePemesananPembelian
REFERENCES
PemesananPembelian (KodePemesananPembelian) ON UPDATE CASCADE ON DELETE NO ACTION PenagihanPembelian ( KodeKwitansiPembelian , Keterangan , Tanggal , KodeKaryawan) Primary Key KodeKwitansiPembelian
121
Foreign Key KodeKaryawan REFERENCES Karyawan (KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION (
PenagihanPembelianDetail
KodeKwitansiPembelian
,
KodePengirimanPemasok) Primary Key KodeKwitansiPembelian, KodePengirimanPemasok Foreign Key KodeKwitansiPembelian REFERENCES PenagihanPembelian (KodeKwitansiPembelian) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
Key
KodePengirimanPemasok
REFERENCES
PenerimaanBahanBaku (KodePengirimanPemasok) ON UPDATE CASCADE ON DELETE NO ACTION PembayaranPembelian
(
KodeTandaTerimaPembelian
,
KodeKwitansiPembelian , Tanggal , KodeKaryawan) Primary Key KodeTandaTerimaPembelian, KodeKwitansiPembelian Foreign
Key
KodeKwitansiPembelian
REFERENCES
PenagihanPembelian (KodeKwitansiPembelian) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key KodeKaryawan REFERENCES Karyawan (KodeKaryawan)
122
ON UPDATE CASCADE ON DELETE NO ACTION (
PembayaranPembelianDetail KodeKwitansiPembelian
,
KodeTandaTerimaPembelian
KodeGiroPembelian
,
JumlahUang
, ,
TanggalLunasGiro) Primary
Key
KodeTandaTerimaPembelian,
KodeKwitansiPembelian,
KodeGiroPembelian Foreign
Key
KodeTandaTerimaPembelian
REFERENCES
PembayaranPembelian (KodeTandaTerimaPembelian) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
Key
KodeKwitansiPembelian
REFERENCES
PembayaranPembelian (KodeKwitansiPembelian) ON UPDATE CASCADE ON DELETE NO ACTION ReturPembelian ( KodeReturPembelian , Tanggal Retur , KodeKaryawan , TanggalKembali , KodePengirimanPemasok) Primary Key KodeReturPembelian Foreign Key KodeKaryawan REFERENCES Karyawan (KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
Key
KodePengirimanPemasok
PenerimaanBahanBaku (KodePengirimanPemasok)
REFERENCES
123
ON UPDATE CASCADE ON DELETE NO ACTION ReturPembelianDetail ( KodeReturPembelian , KodeBahanBaku , Kuantitas) Primary Key KodeReturPembelian, KodeBahanBaku Foreign
Key
KodeReturPembelian
REFERENCES
ReturPembelian
(KodeReturPembelian) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
Key
KodeBahanBaku
REFERENCES
BahanBaku
(KodeBahanBaku) ON UPDATE CASCADE ON DELETE NO ACTION BahanBakuPemasok ( KodeBahanBaku , KodePemasok , HargaPerKg) Primary Key KodeBahanBaku, KodePemasok Foreign
Key
KodeBahanBaku
REFERENCES
BahanBaku
(KodeBahanBaku) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key KodePemasok REFERENCES Pemasok (KodePemasok) ON UPDATE CASCADE ON DELETE NO ACTION BahanBaku ( KodeBahanBaku , NamaBahanBaku)
124
Primary Key KodeBahanBaku Pemasok
(
KodePemasok
,
NamaPemasok
,
AlamatPemasok
,
NoTelp1Pemasok , NoTelp2Pemasok , FaxPemasok , EmailPemasok , NoRekeningPemasok , NamaBank) Primary Key KodePemasok
3.9 Perancangan Basis Data Fisikal Tahapan ini merupakan proses untuk menghasilkan sebuah deskripsi untuk implementasi basis data pada media penyimpanan kedua, dimana mendeskripsikan base Relation, organisasi file, dan pengindeksan yang digunakan untuk mendukung efisiensi dari akses data, dan integritas constraint beserta security measure, adapun secara jelasnya langkah – langkah yang dilakukan dalam tahapan ini dapat dilihat sebagai berikut :
3.9.1 Merancang Base Relation Untuk memutuskan bagaimana merepresentasikan base Relation yang diidentifikasi dalam model data logikal global dalam DBMS.
125
• PemesananPenjualan Domain KodePemesananPenjualan
variable length character
string, length 10 Domain Tanggal
variable length character
datetime Domain KodePelanggan
variable length character
string, length 5 Domain KodeKaryawan
variable length character
string, length 5 Domain Status
variable bit, length 1
PemesananPenjualan ( KodePemesananPenjualan
NOT NULL,
Tanggal
NOT NULL,
KodePelanggan
NOT NULL,
KodeKaryawan
NOT NULL,
Status
NULL,
Primary Key KodePemesananPenjualan, Foreign Key KodePelanggan REFERENCES Pelanggan (KodePelanggan)
126
ON UPDATE CASCADE ON DELETE NO ACTION, Foreign Key KodeKaryawan REFERENCES Karyawan ( KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION) • PemesananPenjualanDetail Domain KodePemesananPenjualan
variable length character
string, length 10 Domain NamaBarang
variable length character
string, length 50 Domain KodeProduksi
variable length character
string, length 5 Domain Ukuran
variable decimal, length 9
Domain Kuantitas
variable integer, length 4
Domain Tipe
variable length character
string, length 1 PemesananPenjualanDetail ( KodePemesananPenjualan
NOT NULL,
NamaBarang
NOT NULL,
KodeProduksi
NOT NULL,
127
Ukuran
NOT NULL,
Kuantitas
NOT NULL,
Tipe
NOT NULL,
Primary Key KodePemesananPenjualan, NamaBarang , KodeProduksi , Ukuran Foreign Key KodeProduksi REFERENCES Produksi ( KodeProduksi) ON UPDATE CASCADE ON DELETE NO ACTION) • PengirimanBarang Domain KodePengirimanBarang
variable length character
string, length 10 Domain Tanggal
variable length character
datetime Domain KodeKaryawan
variable length character
string, length 5 Domain KodePemesananPenjualan
variable length character string,
length 10 PengirimanBarang ( KodePengirimanBarang
NOT NULL,
128
Tanggal
NOT NULL,
KodeKaryawan ,
NOT NULL
KodePemesananPenjualan
NOT NULL
Primary Key KodePengirimanBarang Foreign Key KodeKaryawan REFERENCES Karyawan ( KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
Key
KodePemesananPenjualan
REFERENCES
PemesananPenjualan (KodePemesananPenjualan) ON UPDATE CASCADE ON DELETE NO ACTION) • PengirimanBarangDetail Domain KodePengirimanBarang
variable length character
string, length 10 Domain NamaBarang
variable length character
string, length 50 Domain KodeProduksi
variable length character
string, length 5 Domain Ukuran
variable decimal, length 9
Domain Kuantitas
variable integer, length 4
129
Domain Tipe
variable length character
string, length 1 PengirimanBarangDetail ( KodePengirimanBarang
NOT NULL,
NamaBarang
NOT NULL,
KodeProduksi
NOT NULL,
Ukuran
NOT NULL,
Kuantitas
NOT NULL,
Tipe
NOT NULL,
Primary Key KodePengirimanBarang , NamaBarang , KodeProduksi , Ukuran Foreign Key KodeProduksi REFERENCES Produksi (KodeProduksi) ON UPDATE CASCADE ON DELETE NO ACTION) • PenagihanPenjualan Domain KodeKwitansiPenjualan
variable length character string,
length 10 Domain Tanggal datetime
variable length character
130
Domain Keterangan
variable length character
string, length 50 Domain KodeKaryawan
variable length character
string, length 5 PenagihanPenjualan ( KodeKwitansiPenjualan
NOT NULL,
Tanggal
NOT NULL,
Keterangan
NOT NULL,
KodeKaryawan
NOT NULL,
Primary Key KodeKwitansiPenjualan Foreign Key KodeKaryawan REFERENCES Karyawan ( KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION) • PenagihanPenjualanDetail Domain KodeKwitansiPenjualan
variable length character string,
length 10 Domain KodePengirimanBarang length 10
variable length character string,
131
PenagihanPenjualanDetail ( KodeKwitansiPenjualan
NOT NULL,
KodePengirimanBarang
NOT NULL,
Primary Key KodeKwitansiPenjualan , KodePengirimanBarang Foreign Key KodeKwitansiPenjualan REFERENCES PenagihanPenjualan (KodeKwitansiPenjualan) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key KodePengirimanBarang REFERENCES PengirimanBarang (KodePengirimanBarang) ON UPDATE CASCADE ON DELETE NO ACTION) • PembayaranPenjualan Domain KodeTandaTerimaPenjualan variable length character string, length 10 Domain KodeKwitansiPenjualan
variable length character
string, length 10 Domain Tanggal
variable length character
datetime Domain KodeKaryawan string, length 5
variable length character
132
PembayaranPenjualan ( KodeTandaTerimaPenjualan
NOT NULL,
KodeKwitansiPenjualan
NOT NULL,
Tanggal
NOT NULL,
KodeKaryawan
NOT NULL
Primary Key KodeTandaTerimaPenjualan, KodeKwitansiPenjualan Foreign Key KodeKaryawan REFERENCES Karyawan ( KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION) • PembayaranPenjualanDetail Domain KodeTandaTerimaPenjualan variable length character string, length 10 Domain KodeKwitansiPenjualan
variable length character
string, length 10 Domain KodeGiroPenjualan
variable length character
string, length 10 Domain JumlahUang
money
Domain TanggalLunasGiro
variable length character
datetime
133
PembayaranPenjualanDetail ( KodeTandaTerimaPenjualan
NOT NULL,
KodeKwitansiPenjualan
NOT NULL,
KodeGiroPenjualan
NOT NULL,
JumlahUang
NOT NULL,
TanggalLunasGiro
NULL,
Primary
Key
KodeTandaTerimaPenjualan,KodeKwitansiPenjualan
,
KodeGiroPenjualan Foreign
Key
KodeTandaTerimaPenjualan
REFERENCES
PembayaranPenjualan (KodeTandaTerimaPenjualan) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
Key
KodeTandaTerimaPenjualan
REFERENCES
PembayaranPenjualan (KodeKwitansiPenjualan) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
Key
KodeKwitansiPenjualan
PembayaranPenjualan (KodeTandaTerimaPenjualan) ON UPDATE CASCADE ON DELETE NO ACTION
REFERENCES
134
Foreign
Key
KodeKwitansiPenjualan
REFERENCES
PembayaranPenjualan (KodeKwitansiPenjualan) ON UPDATE CASCADE ON DELETE NO ACTION) • ReturPenjualan Domain KodeReturPenjualan
variable length character
string, length 10 Domain Tanggal
variable length character
datetime Domain KodeKaryawan
variable length character
string, length 5 Domain KodePengirimanBarang
variable length character string,
length 10 ReturPenjualan ( KodeReturPenjualan
NOT NULL,
Tanggal
NOT NULL,
KodeKaryawan
NOT NULL,
KodePengirimanBarang
NOT NULL,
Primary Key KodeReturPenjualan
135
Foreign Key KodeKaryawan REFERENCES Karyawan ( KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key KodePengirimanBarang REFERENCES PengirimanBarang (KodePengirimanBarang) ON UPDATE CASCADE ON DELETE NO ACTION) • ReturPenjualanDetail Domain KodeReturPenjualan
variable length character
string, length 10 Domain NamaBarang
variable length character
string, length 50 Domain Ukuran
variable decimal, length 9
Domain KodeProduksi
variable length character
string, length 5 Domain Kuantitas
variable integer, length 4
Domain Tipe
variable length character
string, length 1 Domain HargaKertasPerLembar
money
Domain HargaCetakPerlembar
money
136
ReturPenjualanDetail ( KodeReturPenjualan
NOT NULL,
NamaBarang
NOT NULL,
Ukuran
NOT NULL,
KodeProduksi
NOT NULL,
Kuantitas
NOT NULL,
Tipe
NOT NULL,
HargaKertasPerLembar
NULL,
HargaCetakPerlembar
NULL,
Primary Key KodeReturPenjualan , NamaBarang
, Ukuran ,
KodeProduksi Foreign Key KodeProduksi REFERENCES Produksi (KodeProduksi) ON UPDATE CASCADE ON DELETE NO ACTION) • Produksi Domain KodeProduksi
variable length character
string, length 5 Domain NamaProduksi string, length 50
variable length character
137
Produksi ( KodeProduksi
NOT NULL,
NamaProduksi
NOT NULL,
Primary Key KodeProduksi) • Pelanggan Domain KodePelanggan
variable length character
string, length 5 Domain NamaPelanggan
variable length character
string, length 50 Domain AlamatPelanggan
variable length character
string, length 50 Domain NoTelp1Pelanggan
variable length character
string, length 20 Domain NoTelp2Pelanggan
variable length character
string, length 20 Domain FaxPelanggan
variable length character
string, length 20 Domain EmailPelanggan string, length 20
variable length character
138
Domain NoRekeningPelanggan
variable length character
string, length 20 Domain NamaBank
variable length character
string, length 20 Pelanggan ( KodePelanggan
NOT NULL,
NamaPelanggan
NOT NULL,
AlamatPelanggan
NOT NULL,
NoTelp1Pelanggan
NOT NULL,
NoTelp2Pelanggan
NULL,
FaxPelanggan
NULL,
EmailPelanggan
NULL,
NoRekeningPelanggan
NOT NULL,
NamaBank
NOT NULL,
Primary Key KodePelanggan ) • Karyawan Domain KodeKaryawan string, length 5
variable length character
139
Domain NamaKaryawan
variable length character
string, length 50 Domain AlamatKaryawan
variable length character
string, length 50 Domain NoTelpKaryawan
variable length character
string, length 20 Domain TempatLahir
variable length character
string, length 20 Domain TanggalLahir
variable length character
datetime Domain Agama
variable length character
string, length 20 Domain JenisKelamin
variable bit, length 1
Domain NoKTP
variable length character
string, length 30 Domain Jabatan
variable length character
string, length 30 Karyawan ( KodeKaryawan
NOT NULL,
140
NamaKaryawan
NOT NULL,
AlamatKaryawan
NOT NULL,
NoTelpKaryawan
NOT NULL,
TempatLahir
NOT NULL,
TanggalLahir
NOT NULL,
Agama
NOT NULL,
JenisKelamin
NOT NULL,
NoKTP
NOT NULL,
Jabatan
NOT NULL,
Primary Key KodeKaryawan) • HargaPelanggan Domain KodePelanggan
variable length character
string, length 5 Domain KodeProduksi
variable length character
string, length 5 Domain Harga
money
HargaPelanggan KodePelanggan
NOT NULL,
141
KodeProduksi
NOT NULL,
Harga
NOT NULL,
Primary Key KodePelanggan Foreign Key KodeProduksi REFERENCES Produksi (KodeProduksi) ON UPDATE CASCADE ON DELETE NO ACTION) • PemesananPembelian Domain KodePemesananPembelian variable length character string, length 10 Domain Tanggal
variable length character
datetime Domain KodePemasok
variable length character
string, length 5 Domain KodeKaryawan
variable length character
string, length 5 PemesananPembelian ( KodePemesananPembelian
NOT NULL,
Tanggal
NOT NULL,
KodePemasok
NOT NULL,
142
KodeKaryawan
NOT NULL,
Primary Key KodePemesananPembelian Foreign Key KodePemasok REFERENCES Pemasok (KodePemasok) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key KodeKaryawan REFERENCES Karyawan (KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION ) • PemesananPembelianDetail Domain KodePemesananPembelian variable length character string, length 10 Domain KodeBahanBaku
variable length character
string, length 5 Domain Kuantitas
variable integer, length 4
PemesananPembelianDetail ( KodePemesananPembelian
NOT NULL,
KodeBahanBaku
NOT NULL,
Kuantitas
NOT NULL,
Primary Key KodePemesananPembelian, KodeBahanBaku
143
Foreign
KodePemesananPembelian
Key
REFERENCES
PemesananPembelian (KodePemesananPembelian) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
Key
KodeBahanBaku
REFERENCES
BahanBaku
(KodeBahanBaku) ON UPDATE CASCADE ON DELETE NO ACTION) • PenerimaanBahanBaku Domain KodePengirimanPemasok
variable length character string,
length 10 Domain Tanggal
variable length character
datetime Domain KodeKaryawan
variable length character
string, length 5 Domain KodePemesananPembelian variable length character string, length 10 PenerimaanBahanBaku ( KodePengirimanPemasok
NOT NULL,
Tanggal
NOT NULL,
KodeKaryawan
NOT NULL,
144
KodePemesananPembelian
NOT NULL,
Primary Key KodePengirimanPemasok Foreign Key KodeKaryawan REFERENCES Karyawan (KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
Key
KodePemesananPembelian
REFERENCES
PemesananPembelian (KodePemesananPembelian) ON UPDATE CASCADE ON DELETE NO ACTION) • PenagihanPembelian Domain KodeKwitansiPembelian
variable length character
string, length 10 Domain Keterangan
variable length character
string, length 50 Domain Tanggal
variable length character
datetime Domain KodeKaryawan
variable length character
string, length 5 PenagihanPembelian ( KodeKwitansiPembelian
NOT NULL,
145
Keterangan
NOT NULL,
Tanggal
NOT NULL,
KodeKaryawan
NOT NULL,
Primary Key KodeKwitansiPembelian Foreign Key KodeKaryawan REFERENCES Karyawan (KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION) • PenagihanPembelianDetail Domain KodeKwitansiPembelian
variable length character
string, length 10 Domain KodePengirimanPemasok
variable length character
string, length 10 PenagihanPembelianDetail ( KodeKwitansiPembelian
NOT NULL,
KodePengirimanPemasok
NOT NULL,
Primary Key KodeKwitansiPembelian, KodePengirimanPemasok Foreign
Key
KodeKwitansiPembelian
PenagihanPembelian (KodeKwitansiPembelian) ON UPDATE CASCADE ON DELETE NO ACTION
REFERENCES
146
Foreign
Key
KodePengirimanPemasok
REFERENCES
PenerimaanBahanBaku (KodePengirimanPemasok) ON UPDATE CASCADE ON DELETE NO ACTION) • PembayaranPembelian Domain KodeTandaTerimaPembelian variable length character string, length 10 Domain KodeKwitansiPembelian
variable length character string,
length 10 Domain Tanggal
variable length character
datetime Domain KodeKaryawan
variable length character
string, length 5 PembayaranPembelian ( KodeTandaTerimaPembelian
NOT NULL,
KodeKwitansiPembelian
NOT NULL,
Tanggal
NOT NULL,
KodeKaryawan
NOT NULL,
Primary Key KodeTandaTerimaPembelian, KodeKwitansiPembelian
147
Foreign
Key
KodeKwitansiPembelian
REFERENCES
PenagihanPembelian (KodeKwitansiPembelian) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key KodeKaryawan REFERENCES Karyawan (KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION ) • PembayaranPembelianDetail Domain KodeTandaTerimaPembelian variable length character string, length 10 Domain KodeKwitansiPembelian
variable length character
string, length 10 Domain KodeGiroPembelian
variable length character
string, length 10 Domain JumlahUang
money
Domain TanggalLunasGiro
variable length character
datetime PembayaranPembelianDetail ( KodeTandaTerimaPembelian
NOT NULL,
KodeKwitansiPembelian
NOT NULL,
148
KodeGiroPembelian
NOT NULL,
JumlahUang
NOT NULL,
TanggalLunasGiro
NULL,
Primary Key KodeTandaTerimaPembelian, KodeKwitansiPembelian, KodeGiroPembelian Foreign
Key
KodeTandaTerimaPembelian
REFERENCES
PembayaranPembelian (KodeTandaTerimaPembelian) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
Key
KodeKwitansiPembelian
REFERENCES
PembayaranPembelian (KodeKwitansiPembelian) ON UPDATE CASCADE ON DELETE NO ACTION ) • ReturPembelian Domain KodeReturPembelian
variable length character
string, length 10 Domain Tanggal Retur
variable length character
datetime Domain KodeKaryawan string, length 5
variable length character
149
Domain TanggalKembali
variable length character
datetime Domain KodePengirimanPemasok
variable length character
string, length 10 ReturPembelian ( KodeReturPembelian
NOT NULL,
Tanggal Retur
NOT NULL,
KodeKaryawan
NOT NULL,
TanggalKembali
NULL,
KodePengirimanPemasok
NOT NULL,
Primary Key KodeReturPembelian Foreign Key KodeKaryawan REFERENCES Karyawan (KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
Key
KodePengirimanPemasok
PenerimaanBahanBaku (KodePengirimanPemasok) ON UPDATE CASCADE ON DELETE NO ACTION )
REFERENCES
150
• ReturPembelianDetail Domain KodeReturPembelian
variable length character
string, length 10 Domain KodeBahanBaku
variable length character
string, length 5 Domain Kuantitas
variable decimal, length 9
ReturPembelianDetail ( KodeReturPembelian
NOT NULL,
KodeBahanBaku
NOT NULL,
Kuantitas
NOT NULL,
Primary Key KodeReturPembelian, KodeBahanBaku Foreign Key KodeReturPembelian REFERENCES ReturPembelian (KodeReturPembelian) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
Key
KodeBahanBaku
REFERENCES
(KodeBahanBaku) ON UPDATE CASCADE ON DELETE NO ACTION)
BahanBaku
151
• BahanBakuPemasok Domain KodeBahanBaku
variable length character
string, length 5 Domain KodePemasok
variable length character
string, length 5 Domain HargaPerKg
money
BahanBakuPemasok ( KodeBahanBaku
NOT NULL,
KodePemasok
NOT NULL,
HargaPerKg
NOT NULL,
Primary Key KodeBahanBaku, KodePemasok Foreign
Key
KodeBahanBaku
REFERENCES
BahanBaku
(KodeBahanBaku) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key KodePemasok REFERENCES Pemasok (KodePemasok) ON UPDATE CASCADE ON DELETE NO ACTION ) • BahanBaku
152
Domain KodeBahanBaku
variable length character
string, length 5 Domain NamaBahanBaku
variable length character
string, length 50 BahanBaku ( KodeBahanBaku
NOT NULL,
NamaBahanBaku
NOT NULL,
Primary Key KodeBahanBaku ) • Pemasok Domain KodePemasok
variable length character
string, length 5 Domain NamaPemasok
variable length character
string, length 50 Domain AlamatPemasok
variable length character
string, length 50 Domain NoTelp1Pemasok
variable length character
string, length 20 Domain NoTelp2Pemasok string, length 20
variable length character
153
Domain FaxPemasok
variable length character
string, length 20 Domain EmailPemasok
variable length character
string, length 20 Domain NoRekeningPemasok
variable length character
string, length 20 Domain NamaBank
variable length character
string, length 20
Pemasok ( KodePemasok
NOT NULL,
NamaPemasok
NOT NULL,
AlamatPemasok
NOT NULL,
NoTelp1Pemasok
NOT NULL,
NoTelp2Pemasok
NULL,
FaxPemasok
NULL,
EmailPemasok
NULL,
NoRekeningPemasok
NOT NULL,
154
NamaBank
NOT NULL,
Primary Key KodePemasok)
3.9.2 Analisis Transaksi Berikut adalah tabel analisis transaksi : a. Memasukkan data bahan baku. b. Memasukkan data pemasok. c. Memasukkan data pelanggan. d. Memasukkan data karyawan. e. Membuat data pemesanan pembelian yang ditangani oleh karyawan. f. Memasukkan data penerimaan bahan baku yang dipesan berdasarkan pemesanan pembelian. g. Memasukkan data penagihan pembelian berdasarkan penerimaan bahan baku. h. Memasukkan data pembayaran pembelian berdasarkan penagihan pembelian. i. Memasukkan data retur pembelian berdasarkan penerimaan bahan baku. j. Membuat data pemesanan penjualan yang ditangani oleh karyawan.
155
k. Memasukkan
data
pengiriman
barang
berdasarkan
pemesanan
penjualan. l. Memasukkan data penagihan penjualan berdasarkan pengiriman barang. m. Memasukkan data pembayaran penjualan berdasarkan penagihan penjualan. n. Memasukkan data retur penjualan berdasarkan pengiriman barang. o. Menampilkan data pemesanan pembelian berdasarkan pemasok. p. Memasukkan data bahan baku (harga bahan baku) berdasarkan pemasok. q. Menampilkan data pemesanan penjualan berdasarkan pelanggan. r. Memasukkan data produksi (harga produksi)
berdasarkan tiap
pelanggan. s. Menampilkan data produksi yang dipesan berdasarkan pemesanan penjualan. t. Menampilkan data bahan baku yang dipesan berdasarkan pemesanan pembelian.
156
Tabel 3.6 Analisa Transaksi Transaksi
a
b
c
d
Relation
I
R U D I
R U D I
R U D I
Karyawan
X X X X
Pelanggan
X X X X
Produksi HargaPelanggan Pemasok BahanBaku BahanBakuPemasok PemesananPembelian PemesananPembelianDetail PenerimaanBahanBaku PenagihanPembelian PenagihanPembelianDetail PembayaranPembelian PembayaranPembelianDetail ReturPembelian ReturPembelianDetail PemesananPenjualan
R U D
X X X X X X X X
157
PemesananPenjualanDetail PengirimanBarang PengirimanBarangDetail PenagihanPenjualan PenagihanPenjualanDetail PembayaranPenjualan PembayaranPenjualanDetail ReturPenjualan ReturPenjualanDetail
Transaksi
e
f
g
Relation
I
R U D I
R U D I
Karyawan Pelanggan Produksi HargaPelanggan Pemasok
X
BahanBaku
X
H R U D I
R U D
158
BahanBakuPemasok
X
PemesananPembelian
X
X X
PemesananPembelianDetail
X
X X
PenerimaanBahanBaku
X
X
X X
X
PenagihanPembelian
X
X X
PenagihanPembelianDetail
X
X X
X
PembayaranPembelian
X
X X
PembayaranPembelianDetail
X
X X
ReturPembelian ReturPembelianDetail PemesananPenjualan PemesananPenjualanDetail PengirimanBarang PengirimanBarangDetail PenagihanPenjualan PenagihanPenjualanDetail
159
PembayaranPenjualan PembayaranPenjualanDetail ReturPenjualan ReturPenjualanDetail
Transaksi
i
j
k
L
Relation
I
R U D I
R U D I
R U D I
Karyawan Pelanggan
X
Produksi
X
HargaPelanggan
X
Pemasok BahanBaku BahanBakuPemasok PemesananPembelian PemesananPembelianDetail
R U D
160
PenerimaanBahanBaku
X
PenagihanPembelian PenagihanPembelianDetail PembayaranPembelian PembayaranPembelianDetail ReturPembelian
X
X X
ReturPembelianDetail
X
X X
PemesananPenjualan
X
X X
PemesananPenjualanDetail
X
X X
X
PengirimanBarang
X
X X
PengirimanBarangDetail
X
X X
X
PenagihanPenjualan
X
X X
PenagihanPenjualanDetail
X
X X
PembayaranPenjualan PembayaranPenjualanDetail ReturPenjualan
161
ReturPenjualanDetail
Transaksi
m
Relation
I
n
o
p
R U D I
R U D I
R U D I
R U D
X
X
Karyawan Pelanggan Produksi HargaPelanggan Pemasok BahanBaku
X
BahanBakuPemasok
X X X X
PemesananPembelian
X
PemesananPembelianDetail
X
PenerimaanBahanBaku PenagihanPembelian PenagihanPembelianDetail
162
PembayaranPembelian PembayaranPembelianDetail ReturPembelian ReturPembelianDetail PemesananPenjualan PemesananPenjualanDetail PengirimanBarang
X
PengirimanBarangDetail PenagihanPenjualan
X
PenagihanPenjualanDetail PembayaranPenjualan
X
X X
PembayaranPenjualanDetail
X
X X
ReturPenjualan
X
X X
ReturPenjualanDetail
X
X X
163
Transaksi
q
r
s
t
Relation
I
R U D I
R U D I
R U D I
X
X
R U D
Karyawan Pelanggan Produksi HargaPelanggan
X
X
X X X X
Pemasok BahanBaku
X
BahanBakuPemasok PemesananPembelian
X
PemesananPembelianDetail
X
PenerimaanBahanBaku PenagihanPembelian PenagihanPembelianDetail PembayaranPembelian PembayaranPembelianDetail
164
ReturPembelian ReturPembelianDetail PemesananPenjualan
X
X
PemesananPenjualanDetail
X
X
PengirimanBarang PengirimanBarangDetail PenagihanPenjualan PenagihanPenjualanDetail PembayaranPenjualan PembayaranPenjualanDetail ReturPenjualan ReturPenjualanDetail
3.9.3 Memperkirakan kebutuhan disk Untuk memperkirakan jumlah ruang disk yang dibutukan untuk menyimpan database
165
Tabel 3.7 Perkiraan Kebutuhan Disk Untuk Tabel Produksi Field
Type
Ukuran
KodeProduksi
Char
5
NamaProduksi
VarChar
50
Kapasitas penyimpanan tabel Produksi 55 bytes Diperkirakan dalam 1 bulan terjadi 1 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 1*1*12*55 = 660 bytes
Tabel 3.8 Perkiraan Kebutuhan Disk Untuk Tabel Karyawan Field
Type
Ukuran
KodeKaryawan
Char
5
NamaKaryawan
VarChar
50
AlamatKaryawan
VarChar
50
NoTelpKaryawan
VarChar
20
TempatLahir
VarChar
20
TanggalLahir
Datetime
8
Agama
VarChar
20
JenisKelamin
Bit
1
NoKtp
VarChar
20
Jabatan
VarChar
15
Kapasitas penyimpanan tabel Karyawan 209 bytes Diperkirakan dalam 1 minggu terjadi 3 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 3*4*12*209 = 30096 bytes
166
Tabel 3.9 Perkiraan Kebutuhan Disk Untuk Tabel BahanBaku Field
Type
Ukuran
KodeBahanBaku
Char
5
NamaBahanBaku
VarChar
50
Kapasitas penyimpanan tabel Jabatan 55 bytes Diperkirakan dalam 1 bulan terjadi 1 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 1*1*12*55 = 660 bytes
Tabel 3.10 Perkiraan Kebutuhan Disk Untuk Tabel Pemasok Field
Type
Ukuran
KodePemasok
Char
5
NamaPemasok
VarChar
50
AlamatPemasok
VarChar
50
NoTelp1Pemasok
VarChar
20
NoTelp2Pemasok
VarChar
20
FaxPemasok
VarChar
20
EmailPemasok
VarChar
20
NoRekeningPemasok
VarChar
20
NamaBank
VarChar
30
Kapasitas penyimpanan tabel Jabatan 185 bytes Diperkirakan dalam 1 hari terjadi 1 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 1*26*12*235 = 73320 bytes
167
Tabel 3.11 Perkiraan Kebutuhan Disk Untuk Tabel BahanBakuPemasok Field
Type
Ukuran
KodePemasok
Char
5
KodeBahanBaku
Char
5
HargaPerKg
Money
8
Kapasitas penyimpanan tabel BahanBakuPemasok 18 bytes Diperkirakan dalam 1 hari terjadi 1 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 1*26*12*18 = 5616 bytes
Tabel 3.12 Perkiraan Kebutuhan Disk Untuk Tabel Pelanggan Field
Type
Ukuran
KodePelanggan
Char
5
NamaPelanggan
VarChar
50
AlamatPelanggan
VarChar
50
NoTelp1Pelanggan
VarChar
20
NoTelp2Pelanggan
VarChar
20
FaxPelanggan
VarChar
20
EmailPelanggan
VarChar
20
NoRekeningPelanggan
VarChar
20
NamaBank
VarChar
30
Kapasitas penyimpanan tabel Pelanggan 185 bytes Diperkirakan dalam 1 hari terjadi 10 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 10*26*12*235 = 73320
168
bytes
Tabel 3.13 Perkiraan Kebutuhan Disk Untuk Tabel HargaPelanggan Field
Type
Ukuran
KodePelanggan
Char
5
KodeProduksi
Char
5
Harga
Money
8
Kapasitas penyimpanan tabel HargaPelanggan 18 bytes Diperkirakan dalam 1 hari terjadi 1 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 1*26*12*18 = 5616 bytes
Tabel 3.14 Perkiraan Kebutuhan Disk Untuk Tabel PemesananPembelian Field
Type
Ukuran
KodePemesananPembelian
Char
10
Tanggal
Datetime
8
KodePemasok
Char
5
KodeKaryawan
Char
5
Kapasitas penyimpanan tabel HargaPelanggan 28 bytes Diperkirakan dalam 1 hari terjadi 2 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 2*26*12*28 = 17472 bytes
169
Tabel 3.15 Perkiraan Kebutuhan Disk Untuk Tabel PemesananPembelianDetail Field
Type
Ukuran
KodePemesananPembelian
Char
10
KodeBahanBaku
Char
5
Kuantitas
Int
4
Kapasitas penyimpanan tabel BahanBakuPemasok 19 bytes Diperkirakan dalam 1 hari terjadi 2 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 2*26*12*19 = 11856 bytes
Tabel 3.16 Perkiraan Kebutuhan Disk Untuk Tabel ReturPembelian Field
Type
Ukuran
KodeReturPembelian
Char
10
KodePemasok
Char
5
KodeKaryawan
Money
8
TanggalRetur
Datetime
8
TanggalKembali
Datetime
8
KodePengirimanPemasok
Char
10
Kapasitas penyimpanan tabel ReturPembelian 49 bytes Diperkirakan dalam 1 minggu terjadi 3 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 3*4*12*49 = 7056 bytes
170
Tabel 3.17 Perkiraan Kebutuhan Disk Untuk Tabel ReturPembelianDetail Field
Type
Ukuran
KodeReturPembelian
Char
10
KodeBahanBaku
Char
5
Kuantitas
Int
4
Kapasitas penyimpanan tabel BahanBakuPemasok 19 bytes Diperkirakan dalam 1 minggu terjadi 3 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 3*4*12*19 = 2736 bytes
Tabel 3.18 Perkiraan Kebutuhan Disk Untuk Tabel PenagihanPembelian Field
Type
Ukuran
KodeKwitansiPembelian
Char
10
Tanggal
Datetime
8
Keterangan
VarChar
50
KodeKaryawan
Char
5
Kapasitas penyimpanan tabel PenagihanPembelian 73 bytes Diperkirakan dalam 1 bulan terjadi 20 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 20*1*12*73 = 17520 bytes
Tabel 3.19 Perkiraan Kebutuhan Disk Untuk Tabel PenagihanPembelianDetail Field
Type
Ukuran
KodeKwitansiPembelian
Char
10
KodePengirimanPemasok
Char
10
171
Kapasitas penyimpanan tabel PenagihanPembelianDetail 20 bytes Diperkirakan dalam 1 bulan terjadi 20 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 20*1*12*20 = 4800 bytes
Tabel 3.20 Perkiraan Kebutuhan Disk Untuk Tabel PemesananPenjualan Field
Type
Ukuran
KodePemesananPenjualan
Char
10
Tanggal
Datetime
8
KodePelanggan
Char
5
KodeKaryawan
Char
5
Status
Bit
1
Kapasitas penyimpanan tabel PemesananPenjualan 29 bytes Diperkirakan dalam 1 hari terjadi 40 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 40*26*12*29 = 361920 bytes
Tabel 3.21 Perkiraan Kebutuhan Disk Untuk Tabel PemesananPenjualanDetail Field
Type
Ukuran
KodePemesananPenjualan
Char
10
NamaBarang
VarChar
50
Kuantitas
Int
4
Ukuran
Decimal
9
KodeProduksi
Char
5
172
Tipe
Char
1
TanggalKirim
Datetime
8
Kapasitas penyimpanan tabel PemesananPenjualanDetail 87 bytes Diperkirakan dalam 1 hari terjadi 40 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 40*26*12*87 = 1085760 bytes
Tabel 3.22 Perkiraan Kebutuhan Disk Untuk Tabel ReturPenjualan Field
Type
Ukuran
KodeTandaTerimaPembelian Char
10
KodeKaryawan
Char
5
Tanggal
Datetime
8
KodePengirimanPemasok
Char
10
Kapasitas penyimpanan tabel ReturPenjualan 33 bytes Diperkirakan dalam 1 minggu terjadi 10 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 10*4*12*33 = 15840 bytes
Tabel 3.23 Perkiraan Kebutuhan Disk Untuk Tabel ReturPenjualanDetail Field
Type
Ukuran
KodeReturPenjualan
Char
10
NamaBarang
VarChar
50
KodeProduksi
Char
5
Ukuran
Decimal
9
173
Kuantitas
Int
4
Tipe
Char
1
HargaKertasPerLembar
Decimal
9
HargaCetakPerLembar
Decimal
9
Kapasitas penyimpanan tabel TandaTerimaPembelian 97 bytes Diperkirakan dalam 1 minggu terjadi 10 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 10*4*12*97 = 46560 bytes
Tabel 3.24 Perkiraan Kebutuhan Disk Untuk Tabel PenagihanPenjualan Field
Type
Ukuran
KodeKwitansiPenjualan
Char
10
Tanggal
Datetime
8
Keterangan
VarChar
50
KodeKaryawan
Char
5
Kapasitas penyimpanan tabel PenagihanPenjualan 73 bytes Diperkirakan dalam 1 bulan terjadi 40 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 40*1*12*73 = 35040 bytes
Tabel 3.25 Perkiraan Kebutuhan Disk Untuk Tabel PenagihanPenjualanDetail Field
Type
Ukuran
KodeKwitansiPenjualan
Char
10
KodePengirimanBarang
Char
10
174
Kapasitas penyimpanan tabel PenagihanPenjualanDetail 20 bytes Diperkirakan dalam 1 bulan terjadi 40 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 40*1*12*20 = 9600 bytes
Tabel 3.26 Perkiraan Kebutuhan Disk Untuk Tabel PenerimaanBahanBaku Field
Type
Ukuran
KodePengirimanPemasok
Char
10
KodePemesananPembelian
Char
10
Tanggal
Datetime
8
KodeKaryawan
Char
5
KodeKwitansiPembelian
Char
10
Kapasitas penyimpanan tabel PenerimaanBahanBaku 43 bytes Diperkirakan dalam 1 bulan terjadi 10 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 10*1*12*43 = 5160 bytes
Tabel 3.27 Perkiraan Kebutuhan Disk Untuk Tabel PengirimanBarang Field
Type
Ukuran
KodePengirimanBarang
Char
10
Tanggal
Datetime
8
KodeKaryawan
Char
5
KodePemesananPenjualan
Char
10
175
Kapasitas penyimpanan tabel PengirimanBarang 33 bytes Diperkirakan dalam 1 hari terjadi 10 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 10*26*12*33 = 102960 bytes
Tabel 3.28 Perkiraan Kebutuhan Disk Untuk Tabel PengirimanBarangDetail Field
Type
Ukuran
KodePengirimanBarang
Char
10
NamaBarang
VarChar
50
KodeProduksi
Char
5
Ukuran
Decimal
9
Kuantitas
Int
4
Tipe
Char
1
Kapasitas penyimpanan tabel PengirimanBarangDetail 79 bytes Diperkirakan dalam 1 hari terjadi 10 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 10*26*12*79 = 246480 bytes
Tabel 3.29 Perkiraan Kebutuhan Disk Untuk Tabel PembayaranPenjualan Field
Type
Ukuran
KodeTandaTerimaPenjualan
Char
10
KodeKwitansiPenjualan
Char
10
Tanggal
Datetime
8
KodeKaryawan
Char
5
176
Kapasitas penyimpanan tabel PembayaranPenjualan 33 bytes Diperkirakan dalam 1 hari terjadi 2 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 2*26*12*33 = 20592 bytes
Tabel 3.30 Perkiraan Kebutuhan Disk Untuk Tabel PembayaranPenjualanDetail Field
Type
Ukuran
KodeTandaTerimaPenjualan
Char
10
KodeKwitansiPenjualan
Char
10
KodeGiroPenjualan
Char
10
JumlahUang
Money
8
Kapasitas penyimpanan tabel PembayaranPenjualanDetail 38 bytes Diperkirakan dalam 1 hari terjadi 2 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 2*26*12*38 = 23712 bytes
Tabel 3.31 Perkiraan Kebutuhan Disk Untuk Tabel PembayaranPembelian Field
Type
Ukuran
KodeTandaTerimaPembelian Char
10
KodeKwitansiPembelian
Char
10
Tanggal
Datetime
8
KodeKaryawan
Char
5
Kapasitas penyimpanan tabel PembayaranPembelian 33 bytes Diperkirakan dalam 1 minggu terjadi 2 transaksi
177
Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 2*4*12*33 = 3168 bytes
Tabel 3.32 Perkiraan Kebutuhan Disk Untuk Tabel PembayaranPembelianDetail Field
Type
Ukuran
KodeTandaTerimaPembelian Char
10
KodeKwitansiPembelian
Char
10
KodeGiroPembelian
Char
10
JumlahUang
Money
8
Kapasitas penyimpanan tabel PembayaranPenjualanDetail 38 bytes Diperkirakan dalam 1 hari terjadi 2 transaksi Dalam 1 tahun, pertumbuhan kapasitas dari tabel ini adalah 2*26*12*38 = 23712 bytes
Tabel 3.33 Tabel Estimasi Disk Space Nama tabel
Kapasitas yang dibutuhkan dalam 1 tahun (bytes)
Produksi
660
Karyawan
30096
BahanBaku
660
Pemasok
73320
BahanBakuPemasok
5616
Pelanggan
73320
HargaPelanggan
5616
PemesananPembelian
17472
PemesananPembelianDetail
11856
178
ReturPembelian
7056
Retur Pembelian Detail
2736
PenagihanPembelian
17520
PenagihanPembelianDetail
4800
PemesananPenjualan
361920
PemesananPenjualanDetail
1085760
ReturPenjualan
15840
ReturPenjualanDetail
46560
PenagihanPenjualan
35040
PenagihanPenjualanDetail
9600
PenerimaanBahanBaku
5160
PengirimanBarang
134160
PengirimanBarangDetail
246480
PembayaranPenjualan
20592
PembayaranPenjualanDetail
23712
PembayaranPembelian
3168
PembayaranPembelianDetail 23712 Total kapasitas yang dibutuhkan dalam satu tahun : 2269432 bytes Total kapasitas yang dibutuhkan dalam lima tahun : 2269432 * 5 = 11347160 bytes
179
3.9.4 Keamanan Keamanan yang dimaksudkan adalah untuk membatasi hak akses pemakai untuk menjaga keamanan data perusahaan GRANT All Privileges ON
Produksi
TO Admin
GRANT All Privileges ON
Jabatan
TO Admin
GRANT All Privileges ON
Karyawan
TO Admin
GRANT All Privileges ON
BahanBaku
TO Admin
GRANT All Privileges ON
Pemasok
TO Admin
GRANT All Privileges ON
BahanBakuPemasok
TO Admin
GRANT All Privileges ON
Pelanggan
TO Admin
GRANT All Privileges ON
HargaPelanggan
TO Admin
GRANT All Privileges ON
PemesananPembelian
TO Admin
GRANT All Privileges ON
PemesananPembelianDetail TO Admin
GRANT All Privileges ON
ReturPembelian
TO Admin
GRANT All Privileges ON
ReturPembelianDetail
TO Admin
GRANT All Privileges ON
PenagihanPembelian
TO Admin
GRANT All Privileges ON
TandaTerimaPembelian
TO Admin
GRANT All Privileges
ON PemesananPenjualan
TO Admin
GRANT All Privileges ON
PemesananPenjualanDetail
TO Admin
GRANT All Privileges ON
ReturPenjualan
TO Admin
GRANT All Privileges ON
ReturPenjualanDetail
TO Admin
GRANT All Privileges ON
PenagihanPenjualan
TO Admin
GRANT All Privileges ON
TandaTerimaPenjualan
TO Admin
GRANT All Privileges ON
PenerimaanBahanBaku
TO Admin
GRANT All Privileges ON
PengirimanBarang
TO Admin
180
GRANT All Privileges ON GRANT All Privileges
PengirimanBarangDetail
ON PembayaranPenjualan
GRANT All Privileges ON
PembayaranPembelian
3.10 Rancangan Layar
Gambar 3.23 Rancangan Layar Login
TO Admin TO Admin TO Admin
181
Gambar 3.24 Rancangan Layar Menu Utama
Gambar 3.25 Rancangan Layar Menu File
182
Gambar 3.26 Rancangan Layar Menu Master
Gambar 3.27 Rancangan Layar Menu Master Bahan Baku
183
Gambar 3.28 Rancangan Layar Menu Master Bahan Baku Pemasok
Gambar 3.29 Rancangan Layar Menu Master Karyawan
184
Gambar 3.30 Rancangan Layar Menu Master Pemasok
Gambar 3.31 Rancangan Layar Menu Master Produksi
185
Gambar 3.32 Rancangan Layar Menu Master Pelanggan
Gambar 3.33 Rancangan Layar Menu Master Harga Pelanggan
186
Gambar 3.34 Rancangan Layar Menu Transaksi
Gambar 3.35 Rancangan Layar Menu Transaksi Retur Pembelian
187
Gambar 3.36 Rancangan Layar Menu Transaksi Retur Penjualan
Gambar 3.37 Rancangan Layar Menu Transaksi Pemesanan Pembelian
188
Gambar 3.38 Rancangan Layar Menu Transaksi Pemesanan Penjualan
Gambar 3.39 Rancangan Layar Menu Transaksi Penagihan Pembelian
189
Gambar 3.40 Rancangan Layar Menu Transaksi Penagihan Penjualan
Gambar 3.41 Rancangan Layar Menu Transaksi Pembayaran Pembelian
190
Gambar 3.42 Rancangan Layar Menu Transaksi Pembayaran Penjualan
Gambar 3.43 Rancangan Layar Menu Transaksi Penerimaan Bahan Baku
191
Gambar 3.44 Rancangan Layar Menu Transaksi Pengiriman Barang
Gambar 3.45 Rancangan Layar Menu Laporan