104
PERANCANGAN DAN I MPLEMENTASI
4.1 Perancangan Basisdata
Perancangan basisdata pembelian, persediaan dan penjualan pada CV. M aplesonic Indonesia terdiri dari 3 tahap, yaitu:
a. Perancangan basisdata konseptual
b. Perancangan basisdata logikal
c. Perancangan basisdata fisikal
4.1.1 Perancangan Basisdata Konseptual
Tahapan ini memusatkan pada pemrosesan suatu model dari informasi yang akan digunakan dalam suatu organisasi, yang independensinya tidak tergantung apapun. Langkah – langkah dalam perancangan basisdata konseptual yaitu:
1. M engidentifikasikan tipe entitas
2. M engidentifikaskan tipe relationship
3. M engidentifikasikan dan menghubungkan atribut dengan tipe entitas atau
relationship
4. M enentukan domain atribut
5. M engidentifikasikan atribut candidate key dan primary key
6. M engecek redudansi sistem
7. M emvalidasikan model konseptual lokal dengan transaksi User
4.1.1.1 Mengidentifikasikan Tipe Entitas
Tabel dibawah ini merupakan tabel yang menjelaskan entitas – entitas yang menjadi kebutuhan perusahaan setelah melalui proses analisa sistem yang sedang berjalan, yaitu:
Tabel 4.1 Indentifikasi Tipe Entitas
No. Nama Entitas Deskripsi Kejadian
1 Pelanggan Tabel entitas yang
berisikan data lengkap dari organisasi / individu yang membeli barang dari CV. M aplesonic Indonesia Setiap pelanggan yang pernah membeli barang di perusahaan.
2 JenisPelanggan Tabel entitas yang
berisikan data mengenai jenis pelanggan yang ada pada CV. M aplesonic Indonesia
Setiap tipe dari pelanggan yang pernah membeli barang di perusahaan.
3 Supplier Tabel entitas yang
berisikan data lengkap dari organisasi / individu yang mensuplai barang dari CV. M aplesonic Indonesia
Setiap pemasok yang pernah memasukkan
barang ke perusahaan.
No. Nama Entitas Deskripsi Kejadian
4 Karyawan Tabel entitas yang
berisikan data lengkap dari karyawan CV. M aplesonic Indonesia
Setiap karyawan yang bekerja pada CV. M aplesonic Indonesia
5 Produk T abel entitas yang
berisikan data lengkap dari
barang yang dijual pada
CV. Maplesonic Indonesia
Setiap produk yang tersedia pada CV. M aplesonic
Indonesia
6 Utang Tabel entitas yang
berisikan data mengenai
Setiap utang yang muncul akibat
besar utang kepada supplier
pembelian produk kepada supplier
7 Piutang Tabel entitas yang
berisikan data mengenai daftar piutang pelanggan
Setiap piutang yang
muncul akibat
penjualan produk pada
client
8 Penawaran T abel entitas yang
berisikan data mengenai
penawaran produk kepada
pelanggan
Setiap penawaran yang dilakukan kepada client
9 Persediaan Tabel entitas yang
berisikan data mengenai jumlah stok barang
Setiap pencatatan stok barang
No. Nama Entitas Deskripsi Kejadian
10 Garansi T abel entitas yang
berisikan data mengenai
pengukuhan garansi oleh
pelanggan
Setiap catatan
pengembalian barang
yang dilakukan oleh
perusahaan
11 Gudang T abel entitas yang
berisikan data mengenai
gudang pada CV.
Maplesonic Indonesia
Setiap gudang yang ada di perusahaan
12 Pemesananan T abel entitas yang
berisikan data mengenai
pemesanan dari pelanggan
Setiap transaksi
pemesanan yang
dilakukan oleh
pelanggan
13 Penjualan T abel entitas yang
berisikan transaksi
penjualan yang terjadi
Setiap transaksi – transaksi penjualan dari perusahaan
14 PembayaranPenjualan T abel entitas yang
berisikan bukti
pembayaran awal dari
produk oleh pelanggan
Setiap jumlah yang dibayarkan oleh pelanggan
15 Pembelian T abel entitas yang
berisikan transaksi
pembelian yang terjadi
pada CV. Maplesonic Indonesia Setiap transaksi – transaksi pembelian dari perusahaan CV. Maplesonic Indonesia
No. Nama Entitas Deskripsi Kejadian
16 PembayaranPembelian Tabel entitas yang berisikan data bukti pembayaran awal dari produk oleh CV. M aplesonic Indonesia
Setiap jumlah yang dibayarkan oleh perusahaan
17 TermOfDelivery Tabel entitas yang
berisikan data syarat pengiriman barang kepada pelanggan
Setiap jenis syarat pengiriman barang kepada pelanggan
18 TermOfPayment Tabel entitas yang
berisikan data syarat pembayaran pembelian dan penjualan
Setiap jenis syarat pembayaran
pembelian dan penjualan
19 DeliveryOrder Tabel entitas yang
berisikan data pengiriman barang yang
dikirimkan kepada pelanggan sesuai faktur penjualan
Setiap transaksi pengiriman barang yang dilakukan oleh perusahaan
20 User Tabel entitas yang
berisikan data pengguna
Setiap karyawan yang memakai aplikasi
4.1.1.2 Mengidentifikaskan Tipe Relationship
Tujuan dari identifikasi tipe relasional adalah untuk menentukan hubungan – hubungan yang penting yang ada diantara jenis – jenis entitas yang sebelumnya telah diidentifikasikan.
Langkah – langkah penting didalam mengidentifikaskan tipe relational yaitu:
1. M embuat E-R diagram
Tabel 4.2 Identifikasi tipe relasi dan multiplicity
Nama Entitas Multiplicity Relasional Nama Entitas Multiplicity
Pelanggan 1...1 melakukan Penjualan 0...*
1...1 melakukan pembayaranPenjualan 0...*
1...1 melakukan pemesanan 0...*
1...1 menerima Penawaran 0...*
1...1 melakukan Garansi 0...*
JenisPelanggan 1...1 dimiliki Pelanggan 1...*
Supplier 1...1 menerima Pembelian 0...*
1...1 menerima pembayaranPembelian 0...*
Karyawan 1...1 melakukan Pembelian 0...*
1...1 menerima Penjualan 0...*
1...1 menerima Pemesanan 0...*
1...1 melakukan Penawaran 0...*
1...1 melakukan pembayaranPembelian 0...*
1...1 menerima pembayaranPenjualan 0...*
Produk 1...* dimiliki Pembelian 0...*
1...* dimiliki Penjualan 0...* 1...* dimiliki Penawaran 0...* 1...* Dimiliki DeliveryOrder 0...* 1...* dimiliki Pemesanan 0...* 1...* dimiliki pembayaranPembelian 0...* 1...* dimiliki pembayaranPenjualan 0...*
Nama Entitas Multiplicity Relasional Nama Entitas Multiplicity
1...* dimiliki Garansi 0...*
0...* dipengaruhi Persediaan 0...*
Gudang 0...* dipengaruhi pembelian 0...*
0...* dipengaruhi pembayaranPembelian 0...*
Pemesanan 1...1 menimbulkan penjualan 1...1
1...1 menimbulkan deliveryOrder 1...1
Penjualan 1...1 mempunyai Garansi 1...1
Pembayaran Penjualan 0...1 mempunyai Piutang 1...1 Pembayaran Pembelian 0...1 mempunyai Utang 1...1
termOfDelivery 1...1 dimiliki pemesanan 1...1
termOfPayment 1...1 dimiliki penjualan 1...1
1...1 dimiliki pemesanan 1...1
4.1.1.3 Mengidentifikasikan dan Menghubungkan Atribut dengan Tipe Entitas atau Relationship
Tabel 4.3 Identifikasi dan Penghubungan Atribut dengan Tipe Entitas atau Relationship
Nama Entitas
Atribut Deskripsi Data Type dan
Length
Nulls Multi valued
Pelanggan kdPelanggan kode unik untuk
mengidentifikasi-kan pelanggan Char (6) No No kdJenisPelanggan Kode jenispelanggan Char (5) No No
namaPelanggan Nama pelanggan Varchar (50) No No
alamatPelanggan Alamat pelanggan Varchar (50) No No
telpPelanggan Telp Pelanggan Varchar (50) No Yes
faxPelanggan Fax Pelanggan Varchar (50) No Yes
emailPelanggan Email Pelanggan Varchar (50) Yes Yes
NPWP Nomor Pokok
Wajib Pajak
Varchar (50) No No
JenisPelang gan
kdJenisPelanggan Kode unik untuk
mengidentifikasi-kan jenis pelanggan Char (5) No No namaJenisPelang gan Nama jenis pelanggan Varchar (50) No No
Nama Entitas
Atribut Deskripsi Data Type dan
Length
Nulls Multi valued
Supplier kdSupplier kode unik untuk
mengidentifikasi-kan Supplier
Char (5) No No
namaSupplier Nama Supplier Varchar (50) No No
alamatSupplier Alamat Supplier Varchar (50) No No
telpSupplier Telp Supplier Varchar (50) No Yes
faxSupplier Fax Supplier Varchar (50) No Yes
emailSupplier Email Supplier Varchar (50) Yes Yes
Karyawan NIK Kode unik untuk
mengidentifikasi-kan Karyawan
Char (6) No No
namaKaryawan Nama Karyawan Varchar (50) No No
Jabatan Jabatan Karyawan
Varchar (50) No No
alamatKaryawan Alamat Karyawan Varchar (50) No No
telpKaryawan Telp Karyawan Varchar (50) No Yes
emailKaryawan Email Karyawan Varchar (50) Yes Yes
Produk kdProduk Kode unik untuk
mengidentifikasi-kan produk
Char (5) No No
Nama Entitas
Atribut Deskripsi Data Type dan
Length Nulls Multi valued SpesifikasiProduk Spesifikasi Produk Varchar (1000) Yes No
Stok Stok yang
tersedia
int Yes Yes
Harga Harga Produk Decimal (10,2) No Yes
Utang kdUtang kode unik untuk
mengidentifikasi-kan utang Char (5) No No IdPembayaranPe mbelian Id Pembayaran Pembelian Char (6) No No
tglJatuhTempo Tanggal jatuh tempo dari utang
Datetime No No
jumlahUtang Jumlah utang Decimal (10,2) No No
Piutang kdPiutang kode unik untuk
mengidentifikasi-kan Piutang Char (5) No No IdPembayaranPen jualan Id Pembayaran Penjualan Char (6) No No
tglJatuhTempo T anggal jatuh
tempo dari Piutang
Datetime No No
Nama Entitas
Atribut Deskripsi Data Type dan
Length
Nulls Multi valued
Penawaran IdPenawaran Id unik yang
mengidentifikasi-kan quotation Char (6) No No noPenawaran Nomor Penawaran (quotation) Varchar (50) No No
kdPelanggan Kode Pelanggan Char (6) No No
NIK Nomor identitas
karyawan
Char (6) No No
kdProduk Kode Produk Char (5) No No
Qty Jumlah barang Int No No
Diskon Diskon Decimal (10,2) Yes No
Persediaan kdPersediaan kode unik untuk
mengidentifikasi-kan Persediaan
Char (6) No No
kdProduk Kode produk Char (5) No No
tglProdukM asuk Tanggal barang masuk dari supplier ke CV. M aplesonic
Nama Entitas
Atribut Deskripsi Data Type dan
Length
Nulls Multi valued
tglProdukKeluar Tanggal barang
keluar saat pengiriman
barang ke pelanggan
Datetime No No
stok Stok yang ada Int Yes No
Garansi kdGaransi Kode garansi Char (5) No No
kdProduk Kode produk Char (5) No No
kdPelanggan Kode pelanggan Char (6) No No
noPenjualan Nomor Invoice Varchar (50) No No
tglPenukaran Tanggal sparepart
ditukar
Datetime No No
tglService Tanggal produk
diservice
Datetime No No
alasan Alasan penukaran
barang
Varchar (100) Yes No
Gudang KdGudang Kode unik untuk
mengidentifikasi-kan Gudang
Char (5) No No
Nama Entitas
Atribut Deskripsi Data Type dan
Length
Nulls Multi valued
AlamatGudang Alamat Gudang Varchar (50) No No
TelpGudang Telepon Gudang Varchar (50) No Yes
FaxGudang Fax Gudang Varchar (50) No Yes
NamaKaryGdg Karyawan gudang Varchar (50) No No
Pemesanan IdPemesanan Id unik yang
mengidentifikasi-kan pemesanan dari pelanggan Char (7) No No noPemesanan Nomor pemesanan (purchase order) dari pelanggan Varchar (50) No No Tglpemesanan Tanggal pemesanan Datetime No No
Kdpelanggan Kode pelanggan Char (6) No No
Kdproduk Kode produk Char (5) No No
Qty Quantity Int No No
PPN Pajak Pertambahan
Nilai
Decimal (10,2) No No
NIK Nomor induk
karyawan
Nama Entitas
Atribut Deskripsi Data Type dan
Length
Nulls Multi valued
diskon Diskon Decimal (10,2) Yes No
Kdtermpayment Kode term of payment
Char (6) No No
kdtermdelivery Kode term of
delivery
Char (6) No No
status Status kesediaan
barang
Varchar (50) No No
Penjualan IdPenjualan Id unik yang
mengidentifikasi-kan penjualan
Char(7) No No
NIK Nomor induk
Karyawan
Char (6) No No
KdPelanggan Kode Pelanggan Char (6) No No
KdProduk Kode produk Char (5) No No
PPN Pajak Pertambahan
Nilai
Decimal (10,2) No No
KdTermPayment Kode term of payment
Char (6) No No
NoPenjualan Nomor faktur
penjualan
Nama Entitas
Atribut Deskripsi Data Type dan
Length
Nulls Multi valued
NoPemesanan Nomor surat
pemesanan
Varchar (50) No No
Tglpenjualan Tanggal penjualan
Datetime No No
Qty Quantity Int No No
Pembayaran Penjualan IdPembayaranPen jualan Id unik yang mengidentifikasi-kan pembayaran penjualan Char (6) No No NoPemesanan Nomor pemesanan Varhar (50) No No
KdPelanggan Kode Pelanggan Char (6) No No
NIK Nomor Induk
karyawan Char (6) No No NoPembayaranPe njualan Nomor surat pembayaran penjualan Varchar (50) No No tglPembayaranPe njualan Tanggal pembayaran penjualan Datetime No No
Nama Entitas
Atribut Deskripsi Data Type dan
Length
Nulls Multi valued
Qty Quantity Int No No
Pembelian Idpembelian Id unik yang
mengidentifikasi-kan pembelian
Char (7) No No
NIK Nomor induk
karyawan
Char (6) No No
Kdsupplier Kode supplier Char (5) No No
NoPOSupplier Nomor surat
pemesanan ke
supplier
Varchar (50) No No
KdGudang Kode gudang Char (5) No No
NoPembelian Nomor faktur
pembelian
Varchar (50) No No
tglPembelian tanggalPembelian Datetime No No
KdProduk Kode produk Char (5) No No
Qty Quantity Int No No
PreviousPayment Jumlah
pembayaran yang
pernah dilakukan
Decimal (10,2) No No
PaymentDetail Detail pembayaran
(missal: cek, cash
atau transfer)
Nama Entitas
Atribut Deskripsi Data Type dan
Length Nulls Multi valued Pembayaran Pembelian IdPembayaranPe mbelian Id unik yang mengidentifikasi-kan pembayaran pembelian Char (6) No No
NIK Nomor induk
karyawan
Char (6) No No
Kdsupplier Kode supplier Char (5) No No
NoPemesanan Nomor surat pemesanan
Varchar (50) No No
KdGudang Kode gudang Char (5) No No
NoPembayaranPe mbelian Nomor faktur pembelian Varchar (50) No No tglPembayaranPe mbelian Tanggal Pembelian Datetime No No
KdProduk Kode produk Char (5) No No
Qty Quantity Int No No
DP Uang M uka Decimal (10,2) No No
TermOf Delivery
kdTermDelivery Kode unik untuk
mengidentifikasi-kan syarat batas pengiriman
Nama Entitas
Atribut Deskripsi Data Type dan
Length
Nulls Multi valued
TermOfDelivery Tanggal Syarat batas pengiriman
Datetime No No
TermOf Payment
KdTermPayment Kode unik untuk mengidentifikasi-kan syarat batas pembayaran
Char (6) No No
TermOfPayment Tanggal Syarat batas pembayaran
Datetime No No
Delivery Order
IdDelivery Id unik untuk
mengidentifikasi-kan surat delivery order
Char (5) No No
NoPemesanan Nomor pemesanan
Char (7) No No
noSPB Nomor surat
Pengiriman Barang Varchar (50) No No tglKirim Tanggal pengiriman Datetime No No
Nama Entitas
Atribut Deskripsi Data Type dan
Length
Nulls Multi valued
NIK Nomor induk
karyawan
Char (6) No No
KdProduk Kode produk Char (5) No No
Qty Quantity Int No No
User KdUser Kode unik untuk
mengidentifikasi-kan user
Char (7) No No
NIK Nomor Induk
Karyawan
Char (6) No No
username User ID dari
pengguna (user)
Varchar(50) No No
password Password user Varchar(50) No No
userType Jenis user Varchar(50) No No
4.1.1.4 Menentukan Domain Atribut
domain atribut adalah kumpulan nilai yang diperbolehkan untuk satu atau lebih atribut. Domain merupakan fitur yang sangat kuat dalam model relational. Setiap atribut didalam relasi ditetapkan dalam domain. Dari hasil penentuan atribut maka didapat domain atribut sebagai berikut:
Tabel 4.4 Identifikasi domain atribut
Nama Entitas Atribut Data Type
dan Length
Domain Atribut
Pelanggan kdPelanggan Char (6) Diisi dengan PLG[0-9][0-9][0-9]
kdJenisPelanggan Char (5) Diisi dengan JP[0-9][0-9][0-9]
namaPelanggan Varchar (50) Diisi dengan huruf, maksimal
50 huruf
alamatPelanggan Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
telpPelanggan Varchar (50) Diisi dengan angka, maksimal
50 angka
faxPelanggan Varchar (50) Diisi dengan angka, maksimal
50 angka
emailPelanggan Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
NPWP Varchar (50) Diisi dengan angka, maksimal
50 angka
JenisPelanggan kdJenisPelanggan Char (5) Diisi dengan JP[0-9][0-9][0-9]
namaJenis Pelanggan
Varchar (50) Diisi dengan huruf, maksimal
50 huruf
Supplier kdSupplier Char (5) Diisi dengan SP[0-9][0-9][0-9]
namaSupplier Varchar (50) Diisi dengan huruf, maksimal
Nama Entitas Atribut Data Type
dan Length
Domain Atribut
alamatSupplier Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
telpSupplier Varchar (50) Diisi dengan angka, maksimal
50 angka
faxSupplier Varchar (50) Diisi dengan angka, maksimal
50 angka
emailSupplier Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
Karyawan NIK Char (6) Diisi dengan
NIK[0-9][0-9][0-9]
namaKaryawan Varchar (50) Diisi dengan huruf, maksimal
50 huruf
Jabatan Varchar (50) Diisi dengan huruf, maksimal
50 huruf
alamatKaryawan Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
telpKaryawan Varchar (50) Diisi dengan angka, maksimal
50 angka
emailKaryawan Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
Nama Entitas Atribut Data Type
dan Length
Domain Atribut
Produk namaProduk Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
SpesifikasiProduk Varchar (1000) Diisi dengan alfanumerik,
maksimal 1000 karakter
Stok int Diisi dengan angka
Harga Decimal (10,2) Diisi dengan angka, maksimal 10 angka dan 2 angka dibelakang koma
Utang kdUtang Char (5) Diisi dengan UT [0-9][0-9][0-9]
IdPembayaranPem belian
Char (6) Diisi dengan
PB[0-9][0-9][0-9][0-9]
tglJatuhTempo Datetime Diisi dengan format tanggal
dd/mm/yy hh:mm
jumlahUtang Decimal (10,2) Diisi dengan angka, maksimal 10
angka dan 2 angka dibelakang
koma
Piutang kdPiutang Char (5) Diisi dengan PT[0-9][0-9][0-9]
IdPembayaranPenj ualan
Char (6) Diisi dengan
PJ[0-9][0-9][0-9][0-9]
tglJatuhTempo Datetime Diisi dengan format tanggal
Nama Entitas Atribut Data Type
dan Length
Domain Atribut
jumlahPiutang Decimal (10,2) Diisi dengan angka, maksimal
10 angka dan 2 angka dibelakang koma
Penawaran IdPenawaran Char (6) Diisi dengan
QT[0-9][0-9][0-9][0-9]
noPenawaran Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
kdPelanggan Char (6) Diisi dengan PLG[0-9][0-9][0-9]
NIK Char (6) Diisi dengan NIK[0-9][0-9][0-9]
kdProduk Char (5) Diisi dengan KP[0-9][0-9][0-9]
Qty Int Diisi dengan angka
Diskon Decimal (10,2) Diisi dengan angka, maksimal 10
angka dan 2 angka dibelakang
koma
Persediaan kdPersediaan Char (6) Diisi dengan PSD[0-9][0-9][0-9]
kdProduk Char (5) Diisi dengan KP[0-9][0-9][0-9]
tglProdukM asuk Datetime Diisi dengan format tanggal
dd/mm/yy hh:mm
tglProdukKeluar Datetime Diisi dengan format tanggal
dd/mm/yy hh:mm
Nama Entitas Atribut Data Type
dan Length
Domain Atribut
Garansi kdGaransi Char (5) Diisi dengan GR[0-9][0-9][0-9]
kdProduk Char (5) Diisi dengan KP[0-9][0-9][0-9]
kdPelanggan Char (6) Diisi dengan PLG[0-9][0-9][0-9]
noPenjualan Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
tglPenukaran Datetime Diisi dengan format tanggal
dd/mm/yy hh:mm
tglService Datetime Diisi dengan format tanggal
dd/mm/yy hh:mm
alasan Varchar (100) Diisi dengan alfanumerik,
maksimal 100 karakter
Gudang KdGudang Char (5) Diisi dengan GD[0-9][0-9][0-9]
NamaGudang Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
AlamatGudang Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
TelpGudang Varchar (50) Diisi dengan angka, maksimal 50
angka
FaxGudang Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
NamaKaryGdg Varchar (50) Diisi dengan alfanumerik,
Nama Entitas Atribut Data Type
dan Length
Domain Atribut
Pemesanan IdPemesanan Char (6) Diisi dengan
PO[0-9][0-9][0-9][0-9]
noPemesanan Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
Tglpemesanan Datetime Diisi dengan format tanggal
dd/mm/yy hh:mm
Kdpelanggan Char (6) Diisi dengan PLG[0-9][0-9][0-9]
Kdproduk Char (5) Diisi dengan KP[0-9][0-9][0-9]
Qty Int Diisi dengan angka
PPN Decimal (10,2) Diisi dengan angka, maksimal 10
angka dan 2 angka dibelakang
koma
NIK Char (6) Diisi dengan NIK[0-9][0-9][0-9]
diskon Decimal (10,2) Diisi dengan angka, maksimal 10
angka dan 2 angka dibelakang
koma
Kdtermpayment Char (6) Diisi dengan T OP[0-9][0-9][0-9]
kdtermdelivery Char (6) Diisi dengan T OD[0-9][0-9][0-9]
status Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
Penjualan IdPenjualan Char(7) Diisi dengan
Nama Entitas Atribut Data Type
dan Length
Domain Atribut
NIK Char (6) Diisi dengan NIK[0-9][0-9][0-9]
KdPelanggan Char (6) Diisi dengan PLG[0-9][0-9][0-9]
KdProduk Char (5) Diisi dengan KP[0-9][0-9][0-9]
PPN Decimal (10,2) Diisi dengan angka, maksimal 10
angka dan 2 angka dibelakang
koma
KdTermPayment Char (6) Diisi dengan T OP[0-9][0-9][0-9]
NoPenjualan Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
NoPemesanan Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
Tglpenjualan Datetime Diisi dengan format tanggal
dd/mm/yy hh:mm
Qty Int Diisi dengan angka
Pembayaran Penjualan
IdPembayaranPenj ualan
Char (6) Diisi dengan PJ[0-9]
[0-9][0-9][0-9]
NoPemesanan Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
KdPelanggan Char (6) Diisi dengan PLG[0-9][0-9][0-9]
NIK Char (6) Diisi dengan
Nama Entitas Atribut Data Type
dan Length
Domain Atribut
NoPembayaranPen jualan
Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
tglPembayaranPen jualan
Datetime Diisi dengan format tanggal
dd/mm/yy hh:mm Diisi dengan angka
KdProduk Char (5) Diisi dengan KP[0-9][0-9][0-9]
Qty Int Diisi dengan angka
Pembelian Idpembelian Char (7) Diisi dengan PM
B[0-9][0-9][0-9][0-9]
NIK Char (6) Diisi dengan NIK[0-9][0-9][0-9]
Kdsupplier Char (5) Diisi dengan SP[0-9][0-9][0-9]
NoPOSupplier Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
KdGudang Char (5) Diisi dengan GD[0-9][0-9][0-9]
NoPembelian Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
tglPembelian Datetime Diisi dengan format tanggal
dd/mm/yy hh:mm
KdProduk Char (5) Diisi dengan KP[0-9][0-9][0-9]
Nama Entitas Atribut Data Type
dan Length
Domain Atribut
PreviousPayment Decimal (10,2) Diisi dengan angka, maksimal 10 angka dan 2 angka dibelakang koma
PaymentDetail Varchar (50) Diisi dengan huruf, maksimal
50 karakter PembayaranPem
belian
IdPembayaranPem belian
Char (6) Diisi dengan
PB[0-9][0-9][0-9][0-9]
NIK Char (6) Diisi dengan NIK[0-9][0-9][0-9]
Kdsupplier Char (5) Diisi dengan SP[0-9][0-9][0-9]
NoPemesanan Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
KdGudang Char (5) Diisi dengan GD[0-9][0-9][0-9]
NoPembayaranPe mbelian
Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter tglPembayaranPe
mbelian
Datetime Diisi dengan format tanggal
dd/mm/yy hh:mm
KdProduk Char (5) Diisi dengan KP[0-9][0-9][0-9]
Qty Int Diisi dengan angka
DP Decimal (10,2) Diisi dengan angka, maksimal 10 angka dan 2 angka dibelakang koma
Nama Entitas Atribut Data Type
dan Length
Domain Atribut
TermOfDelivery kdTermDelivery Char (6) Diisi dengan T OD[0-9][0-9][0-9]
TermOfDelivery Datetime Diisi dengan format tanggal
dd/mm/yy hh:mm
TermOfPayment KdTermPayment Char (6) Diisi dengan T OP[0-9][0-9][0-9]
TermOfPayment Datetime Diisi dengan format tanggal
dd/mm/yy hh:mm
DeliveryOrder IdDelivery Char (5) Diisi dengan DL[0-9][0-9][0-9]
NoPemesanan Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
noSPB Varchar (50) Diisi dengan alfanumerik,
maksimal 50 karakter
tglKirim Datetime Diisi dengan format tanggal
dd/mm/yy hh:mm
NIK Char (6) Diisi dengan NIK[0-9][0-9][0-9]
KdPelanggan Char (6) Diisi dengan PLG[0-9][0-9][0-9]
KdProduk Char (5) Diisi dengan KP[0-9][0-9][0-9]
Qty Int Diisi dengan angka
User KdUser Char(7) Diisi dengan User[0-9][0-9][0-9]
NIK Char(6) Diisi dengan NIK[0-9][0-9][0-9]
username Varchar(50) Diisi dengan alfanumerik,
Nama Entitas Atribut Data Type
dan Length
Domain Atribut
password Varchar(50) Diisi dengan alfanumerik,
maksimal 50 karakter
userType Varchar(50) Diisi dengan huruf, maksimal
50 huruf
4.1.1.5 Mengidentifikasikan Atribut Candidate Key dan Primary Key
Candidate key adalah sekelompok atribut yang secara unik
mengidentifikasikan tiap kemunculan dari tipe entitas. Primary key adalah key
yang dipilih untuk mengidentifikasikan secara unik tiap kemunculan. Tabel
berikut ini adalah dokumentasi mengenai atribut yang dipilih sebagai primary
key untuk setiap entitas yang telah didefinisikan diatas:
Tabel 4.5 identifikasi atribut Candidate Key dan Primary Key
Nama Entity Candidat Key Primary Key
Pelanggan KdPelanggan, NPWP KdPelanggan
Supplier KdSupplier KdSupplier Karyawan NIK NIK
Produk KdProduk KdProduk
Persediaan KdPersediaan KdPersediaan
JenisPelanggan KdJenisPelanggan KdJenisPelanggan
Utang KdUtang KdUtang Piutang KdPiutang KdPiutang Garansi KdGaransi KdGaransi
TermOfPayment KdTermOfPayment KdTermOfPayment
TermOfDelivery KdTermOfDelivery KdTermOfDelivery
Gudang KdGudang KdGudang
DeliveryOrder IdDelivery, NoPenjualan IdDelivery
User kdUser, NIK NIK
Penjualan IdPenjualan, NoPenjualan IdPenjualan
Pembelian IdPembelian,NoPembelian IdPembelian Pemesanan IdPemesanan,NoPemesanan IdPemesanan DeliveryOrder IdDeliveryOrder IdDeliveryOrder
PembayaranPenjual an IdPembayaranPenjualan, NoPembayaranPenjualan IdPembayaranPenjua lan PembayaranPembel ian IdPembayaranPembelian, NoPembayaranPembelian IdPembayaranPembe lian
Penawaran IdPenawaran,NoPenawaran IdPenawaran
Berikut ini adalah gambar entity relationship diagam CV. M apleSonic
Gambar 4.2 Entity Relationship Diagram CV.Maplesonic dengan Primary-Key
4.1.1.6 Menggunakan konsep pemodelan enhanced (optional step)
Langkah ini untuk mempertimbangkan penggunaan konsep enhanced
modeling, seperti specialization / generalization, aggregation, dan composition. Namun di dalam M odel Konseptual pada sistem pembelian ,penjualan dan
persediaan ini tidak memerlukan konsep untuk pemodelan enhanced.
4.1.1.7 Mengecek Redundancy dari model
Setelah diperiksa semua relasi dari masing – masing entitas, di dalam sistem basisdatanya tidak terdapat hubungan redudansi. M aka langkah ini tidak digunakan.
4.1.1.8 Memvalidasikan Model Konseptual Lokal dengan Transaksi User
Langkah ini memvalidasikan model konseptual terlebih dahulu, untuk mengetahui apakah mampu menangani setiap transaksi yang akan dilakukan oleh
pengguna (user). Cara pengujian dilakukan dengan menggunakan jalur transaksi
Berikut langkah – langkah transaksi yang dilakukan user berdasarkan
gambar diagram ER di atas:
a) User merupakan karyawan yang melakukan akses ke sistem
pembelian, persedian dan penjualan.
b) M encatat dan memasukan data karyawan ke dalam database
berdasarkan kode karyawan pada transaksi pembelian produk.
c) M encatat dan memasukan data karyawan ke dalam database
berdasarkan kode karyawan pada transaksi pembayaran pembelian produk.
d) M encatat dan memasukan data karyawan ke dalam database
berdasarkan kode karyawan pada transaksi penawaran.
e) M encatat dan memasukan data karyawan ke dalam database
berdasarkan kode karyawan pada transaksi pemesanan.
f) M encatat dan memasukan data karyawan ke dalam database
berdasarkan kode karyawan pada transaksi penjualan.
g) M encatat dan memasukan data karyawan ke dalam database
berdasarkan kode karyawan pada transaksi pembayaran penjualan.
h) M encatat informasi perubahan jumlah produk berdasarkan
persediaan.
i) M encatat informasi perubahan jumlah produk berdasarkan pembelian.
j) M encatat informasi perubahan jumlah produk berdasarkan penjualan.
k) M encatat informasi perubahan jumlah produk berdasarkan
l) M encatat informasi perubahan jumlah produk berdasarkan delivery
order.
m) M encatat informasi perubahan jumlah produk berdasarkan
pemesanan.
n) M encatat informasi perubahan jumlah produk berdasarkan
pembayaran penjualan.
o) M encatat informasi perubahan jumlah produk berdasarkan
pembayaran pembelian.
p) M encatat informasi perubahan jumlah produk berdasarkan garansi.
q) M encatat dan memasukan data kode jenis pelanggan ke dalam
pelanggan berdasarkan jenis pelanggan.
r) M encatat dan memasukkan data supplier ke dalam database
berdasarkan kdsupplier dan nama supplier pada transaksi pembelian.
s) M encatat dan memasukkan data supplier ke dalam database
berdasarkan kdsupplier dan nama supplier pada transaksi pembayaran pembelian.
t) M encatat dan memasukkan data pelanggan ke dalam database
berdasarkan kdpelanggan dan nama pelanggan pada transaksi penjualan.
u) M encatat dan memasukkan data pelanggan ke dalam database
berdasarkan kdpelanggan dan nama pelanggan pada transaksi pembayaran penjualan.
v) M encatat dan memasukkan data pelanggan ke dalam database
berdasarkan kdpelanggan dan nama pelanggan pada transaksi pemesanan.
w) M encatat dan memasukkan data pelanggan ke dalam database
berdasarkan kdpelanggan dan nama pelanggan pada transaksi penawaran.
x) M encatat dan memasukkan data pelanggan ke dalam database
berdasarkan kdpelanggan dan nama pelanggan pada transaksi garansi.
y) M encatat dan memasukkan tanggal pembelian ke dalam database
berdasarkan kdproduk pada gudang.
z) M encatat dan memasukkan tanggal pembayaran pembelian ke dalam
database berdasarkan kdproduk pada gudang.
aa) M encatat dan memasukkan data pemesanan ke dalam database
berdasarkan nopemesanan pada penjualan.
bb)M encatat dan memasukkan data pemesanan ke dalam database
berdasarkan nopemesanan pada delivery order.
cc) M encatat dan memasukkan data penjualan ke dalam database
berdasarkan nopenjualan pada garansi.
dd)M encatat dan memasukkan data pembayaran penjualan ke dalam
database berdasarkan idpembayaranpenjualan pada piutang.
ee) M encatat dan memasukkan data pembayaran pembelian ke dalam
database berdasarkan idpembayaranpembelian pada utang.
ff) M encatat dan memasukkan data termofdelivery ke dalam database
gg)M encatat dan memasukkan data termofpayment ke dalam database
berdasarkan kdtermofpayment pada penjualan.
hh)M encatat dan memasukkan data termofpayment ke dalam database
berdasarkan kdtermofpayment pada pemesanan.
4.1.1.9 Melihat Kembali Conceptual Data Model dengan User
Peninjauan data konseptual ini sudah sesuai dengan kebutuhan user. M odel data konseptual merupakan representasi dari kebutuhan transaksi user. M odel data konseptual ini termasuk ER diagram dan dokumentasi pendukung yang mendeskripsikan model data.
4.1.2 Perancangan Basisdata Logikal
Perancangan ini merupakan Lanjutan dari tahap konseptual. Di dalam Perancangan Basis Data Logikal ini akan di gambarkan isi dari databse dan hubungan antar Entitas dalam basis data. Berikut ini adalah langkah – langkah membuat perancangan basis data Logikal :
Langkah 2 : Membangun dan memvalidasi model data logical local untuk setiap view
4.1.2.1 Menghapus fitur yang tidak kompatibel dengan model relasi 4.1.2.1.1 Menghapus Many to many Binary Relationship
1. Relasi antara Produk dan Pembelian menghasilkan entitas baru
yaitu DetailPembelian dengan posting KdProduk dan
Gambar 4.4 Produk dan Pembelian
2. Relasi antata Produk dan Penjualan menghasilkan entitas baru
yaitu DetailPenjualan dengan posting KdProduk dan
IdPenjualan.
3. Relasi antata Produk dan Penawaran menghasilkan entitas baru
yaitu DetailPenawaran dengan posting KdProduk dan
IdPenawaran.
Gambar 4.6 Produk dan Penawaran
4. Relasi antata Produk dan DeliveryOrder menghasilkan entitas
baru yaitu DetailDeliveryOrder dengan posting KdProduk dan
Gambar 4.7 Produk dan DeliveryOrder
5. Relasi antata Produk dan HeaderPemesanan menghasilkan
entitas baru yaitu DetailPemesanan dengan posting KdProduk
dan IdPemesanan.
Gambar 4.8 Produk dan HeaderPemesanan
6. Relasi antata Produk dan HeaderPembayaranPenjualan
menghasilkan entitas baru yaitu DetailPembayaranPenjualan
dengan posting KdProduk dan IdPePembayaranPenjualan.
Gambar 4.9 Produk dan HeaderPembayaranPenjualan
4.1.2.1.2 Menghapus Many to many Recursive Relationship
Di dalam analisa yang telah di lakukan, tidak didapati ada
nya Relasi Many to many dengan model relas i rekursif, sehingga
4.1.2.1.3 Menghapus tipe relasi yang kompleks
Tipe relasi yang kompleks tidak terdapat di dalam relasi basis data dalam sistem ini, sehingga tidak ada fitur yang di hapus.
4.1.2.1.4 Menghapus Multivalued Attribute
Di dalam perancangan basis data dalam sistem ini,
terdapat Multivalue Attribute Yaitu Telp, email , dan fax yang
dapat dihilangkan dan menjadi sebuah entitas tersendiri.
1. Atribut Telepon Pelanggan di pisahkan dan di jadikan entitas
baru yaitu entitas TelpPelanggan yang mempunyai relasi
dengan Pelanggan yaitu “M emiliki” multiplicity 1:* (one to
many)
2. Atribut Email Pelanggan di pisahkan dan di jadikan entitas
baru yaitu EmailPelanggan yang mempunyai relasi dengan
pelanggan yaitu “M emiliki” multiplicity 1:* (One to many)
Gambar 4.11 Multivalued Attribute EmailPelaggan
3. Atribut Fax Pelanggan di pisahkan dan di jadikan entitas baru
yaitu FaxPelanggan yang mempunyai relasi dengan pelanggan
Gambar 4.12 Multivalued Attribute FaxPelanggan
4. Atribut Telepon Karyawan di pisahkan dan di jadikan entitas
baru yaitu TelpKaryawan yang mempunyai relasi dengan
Karyawan yaitu “M emiliki” multiplicity 1:* (One to many)
Gambar 4.13 Multivalued Attribute TelpKaryawan
5. Atribut Email Karyawan di pisahkan dan di jadikan entitas
baru yaitu EmailKaryawan yang mempunyai relasi dengan
Karyawan yaitu “M emiliki” multiplicity 1:* (One to many)
Gambar 4.14 Multivalued Attribute EmailKaryawan
6. Atribut Telepon Supplier di pisahkan dan di jadikan entitas
baru yaitu TelpSupplier yang mempunyai relasi dengan
Gambar 4.15 Multivalued Attribute TelpS upplier
7. Atribut Email Supplier di pisahkan dan di jadikan entitas baru
yaitu EmailSupplier yang mempunyai relasi dengan Supplier
yaitu “M emiliki” multiplicity 1:* (One to many)
8. Atribut Fax Supplier di pisahkan dan di jadikan entitas baru
yaitu FaxSupplier yang mempunyai relasi dengan Supplier
yaitu “M emiliki” multiplicity 1:* (One to many)
Gambar 4.17 Multivalued Attribute FaxS upplier
9. Atribut Telepon Gudang di pisahkan dan di jadikan entitas
baru yaitu TelpGudang yang mempunyai relasi dengan
Gambar 4.18 Multivalued Attribute TelpGudang
10. Atribut Fax Gudang di pisahkan dan di jadikan entitas baru
yaitu FaxGudang yang mempunyai relasi dengan Gudang
yaitu “M emiliki” multiplicity 1:* (One to many)
4.1.2.2 Menentukan Relasi untuk Model Data Logikal
Langkah ini Bertujuan untuk membuat Relasi untuk model data logikal
untuk menampilkan kembali Entitas, Relationship dan atribut yang di
identifikasi.
4.1.2.2.1 Strong Entity Type
Tahap ini berfungsi untuk membagi entitas apa saja yang
termasuk dalam himpunan strong entity type dimana di dalam himpunan
ini hanya terdapat entitas – entitas yang tidak memiliki ketergantungan
terhadap entitas yang lain. Berikut ini adalah himpunan Strong Entity
Type.
Karyawan (NIK, NamaKaryawan, Jabatan, TelpKaryawan, AlamatKaryawan, EmailKaryawan)
Primary Key NIK
Pelanggan (KdPelanggan, KdJenisPelanggan, NamaPelanggan, TelpPelanggan, AlamatPelanggan, Fax, NPWP, EmailPelanggan)
Primary Key KdPelanggan
Supplier (KdSupplier, NamaSupplier, TelpSupplier, AlamatSupplier, FaxSupplier, EmailSupplier)
Primary Key KdSupplier
Produk ( KdProduk, NamaProduk, SpesifikasiProduk, Harga)
Primary Key KdProduk
Persediaan (KdPersediaan, KdProduk, TglProdukM asuk, TglProdukKeluar, Qty)
JenisPelanggan (KdJenisPelanggan, NamaJenisPelanggan)
Primary Key KdJenisPelanggan
Utang (KdUtang, IdPembayaranPembelian, Tgl-Jatuh-Tempo, JumlahUtang)
Primary Key KdUtang
Piutang (KdPiutang, IdPembayaranPenjualan, Tgl-Jatuh-Tempo,JumlahPiutang)
Primary Key KdPiutang
User (KdUser, NIK, Username, Password, TipeUser)
Primary Key KdUser
Gudang (KdGudang, NamaGudang, AlamatGudang, TelpGudang, FaxGudang, NamaKaryawanGudang)
Primary Key KdGudang
Garansi (KdGaransi, KdProduk, KdPelanggan, NoPenjualan, TglPenukaran,Alasan)
Primary Key KdGaransi
TermOfPayment (KdTermPayment, TermOfPayment)
Primary Key KdTermPayment
TermOfDeliery (KdTermDelivery, TermOfDelivery)
Primary Key KdTermDelivery
HeaderPenjualan (IdPenjualan, NoPenjualan, KdPelanggan, TglPenjualan, NoPemesanan, TermOfPayment, NIK )
HeaderPembelian (IdPembelian, NIK, KdSupplier, NoPemesanan, KdGudang, NoPoSupplier, NoPembelian, T glPembelian, PreviousPayment, PaymentDetail )
Primary Key IdPembelian
HeaderPenawaran (IdPenawaran, NoPenawaran, KdPelanggan, NIK, Diskon)
Primary Key IdPenawaran
HeaderPemesanan (IdPemesanan, NoPemesanan, TglPemesanan, KdPelanggan, Diskon, PPN, NIK, TermOfPayment, TermOfDelivery, IdDelivery, IdPenjualan, Status)
Primary Key IdPemesanan
HeaderPembayaranPenjualan (IdPembayaranPenjualan, NoPemesanan, NIK, NoPembayaranPenjualan, T glPembayaranPenjualan, KdPelanggan )
Primary Key IdPembayaranPenjualan
HeaderPembayaranPembelian (IdPembayaranPembelian,
NoPembayaranPembelian, NoPemesanan, NIK, KdGudang ,KdSupplier, TglPembayaranPembelian, DP)
Primary Key IdPembayaranPembelian
HeaderDeliveryOrder (IdDelivery, NoPemesanan, noSPB, TglKirim, NIK, KdPelanggan)
4.1.2.2.2 Weak Entitas Type
Tahap ini merupakan lawan dari tahap Strong entity type, di dalam
Himpunan Weak entity type terdapat entitas – entitas yang
kemunculannya tergantung eksistensinya dalam sebuah relasi terhadap suatu entitas lainnya. Setiap entitas yang ada di dalam Himpunan ini,
tidak mempunyai atribut yang dapat berfungsi sebagai Key untuk
menjamin sebuah keunikan entitas di dalamnya. Berikut ini adalah himpunanya.
DetailPembelian (IdPembelian, KdProduk, Qty)
Primary Key IdPembelian
DetailPenjualan (IdPenjualan, KdProduk, Qty)
Primary Key IdPenjualan
DetailPembayaranPenjualan (IdPembayaranPenjualan, Qty,KdProduk)
Primary Key IdPembayaranPenjualan
DetailPenawaran (IdPenawaran, KdProduk, Qty, Diskon)
Primary Key IdPenawaran
DetailPembayaranPembelian (IdPembayaranPembelian, Qty, KdProduk )
Primary Key IdPembayaranPembelian
DetailPemesanan (IdPemesanan, KdProduk, Qty)
Primary Key IdPemesanan
DetailDeliveryOrder (IdDelivery, KdProduk, Qty)
Primary Key IdDelivery
Primary Key None
EmailKaryawan (EmailKaryawan)
Primary Key None
TelpPelanggan (TelpPelanggan)
Primary Key None
EmailPelanggan (EmailPelanggan)
Pimary Key None
FaxPelanggan (FaxPelanggan)
Primary Key None
TelpS upplier (TelpSupplier)
Primary Key None
FaxS upplier (FaxSupplier)
Primary Key None
EmailS upplier (EmailSupplier)
Primary KeyNone
TelpGudang (TelpGudang)
Primary Key None
FaxGudang (FaxGudang)
Primary Key None
4.1.2.2.3 One-to-many ( 1:*)Binary Relationship
Untuk setiap 1:* Binary Relationship, Setiap entitas relasi One di
gambarkan sebagai parent entitas dan entitas relasi many digambarkan
Post NIK Ke Pembelian 1:* relasi M elakukan
Post NIK Ke Penjualan 1:* relasi M enerima
Post NIK Ke Penawaran 1:* relasi M elakukan
Karyawan(NIK,NamaKary awan, Jabatan,
TelpKaryawan, AlamatKaryawan, EmailKaryawan)
Primary Key NIK
Penawaran (IdPenawaran, NoPenawaran, KdPelanggan, NIK, Diskon)
Primary Key IdPenawaran
Foreign Key NIK references Karyawan(NIK) Karyawan(NIK,NamaKary awan, Jabatan,
TelpKaryawan, AlamatKaryawan, EmailKaryawan)
Primary Key NIK
Penjualan (IdPenjualan, NoPenjualan, KdPelanggan, TglPenjualan, NoPemesanan, KdTermPayment, NIK)
Primary Key IdPenjualan
Foreign Key NIK references Kary awan (NIK) Karyawan(NIK,NamaKary awan, Jabatan,
TelpKaryawan, AlamatKaryawan, EmailKaryawan)
Primary Key NIK
Pembelian (IdPembelian, NIK ,KdSupplier, NoPemesanan, KdGud ang,NoPoSupplier, NoPembelian, TglPembelian, PreviousPayment, PaymentDetails)
Primary Key IdPembelian
Post NIK Ke Pemesanan 1:* relasi M enerima
Post NIK Ke PembayaranPembelian 1:* relasi M enerima
Post NIK Ke Garansi 1:* relasi M emeriksa
Karyawan(NIK,NamaKary awan, Jabatan,
TelpKaryawan, AlamatKaryawan, EmailKaryawan)
Primary Key NIK
Garansi (KdGaransi, KdProduk, KdPelanggan, NoPenjualan, TglPenukaran, Alasan)
Primary Key KdGaransi
Foreign Key NIK references Karyawan (NIK) Karyawan(NIK,NamaKary awan, Jabatan,
TelpKaryawan, AlamatKaryawan, EmailKaryawan)
Primary Key NIK
PembayaranPembelian(IdPembay aranPembeli an, NoPembayaranPembelian, NoPemesanan, NIK, KdGudang , KdSupplier,
TglPembayaranPemb elian, DP)
Primary Key IdPembayaranPembelian Foreign Key NIK references Karyawan (NIK) Karyawan(NIK,NamaKary awan, Jabatan,
TelpKaryawan, AlamatKaryawan, EmailKaryawan)
Primary Key NIK
Pemesanan (IdPemes anan,NoPemesan an, TglPemesanan,KdPelanggan, Diskon,PPN,NIK, KdTermpayment, Kdtermofd elivery, Status) Primary Key IdPemesanan
Post KdPelanggan Ke Penjualan 1:* relasi M elakukan
Post KdPelanggan Ke PembayaranPenjualan 1:* relasi M elakukan
Pelanggan (KdPelanggan, KdJenisPelanggan,
NamaPelangg an, TelpPelanggan, AlamatPelanggan, Fax,NPWP, EmailPelanggan)
Primary Key KdPelanggan
PembayaranPenjualan(
IdPembayaranPenjualan, NoPemesanan, NIK, NoPembayaranPenjualan,
TglPembayaranPenju alan, KdPelanggan) Primary Key IdPembayaranPenjualan Foreign Key KdPelanggan references
Pelanggan (KdPelanggan ) Pelanggan (KdPelanggan, KdJenisPelanggan,
NamaPelangg an, TelpPelanggan, AlamatPelanggan, Fax,NPWP, EmailPelanggan)
Primary Key KdPelanggan
Penjualan (IdPenjualan, NoPenjualan, KdPelanggan, TglPenjualan, NoPemesanan, KdTermPayment, NIK)
Primary Key IdPenjualan
Foreign Key KdPelanggan references Pelanggan (KdPelanggan )
Post KdPelanggan Ke Pemesanan 1:* relasi M elakukan
Post KdPelanggan Ke Penawaran 1:* relasi M enerima
Post KdPelanggan Ke Garansi 1:* relasi M elakukan
Pelanggan (KdPelanggan, KdJenisPelanggan,
NamaPelangg an, TelpPelanggan, AlamatPelanggan, Fax,NPWP, EmailPelanggan)
Primary Key KdPelanggan
Garansi (KdGaransi, KdProduk, KdPelanggan, NoPenjualan, TglPenukaran,Alasan)
Primary Key KdGaransi
Foreign Key KdPelanggan refer ences
Pelanggan(KdPelangg an) Pelanggan (KdPelanggan, KdJenisPelanggan,
NamaPelangg an, TelpPelanggan, AlamatPelanggan, Fax,NPWP, EmailPelanggan)
Primary Key KdPelanggan
Penawaran (IdPenawaran, NoPenawaran, KdPelanggan,NIK, Diskon)
Primary Key IdPenawaran
Foreign Key KdPelanggan references
Pelanggan (KdPelanggan ) Pelanggan (KdPelanggan, KdJenisPelanggan,
NamaPelangg an, TelpPelanggan, AlamatPelanggan, Fax,NPWP, EmailPelanggan)
Primary Key KdPelanggan
Pemesanan (IdPemesanan, TglPemesanan, KdPelanggan, Diskon, PPN, NIK,
KdTermpayment, Kdtermofdelivery, Status ) Primary Key IdPemesanan
Foreign Key KdPelanggan references
Post KdJenisPelanggan Ke Pelanggan 1:* relasi Dimiliki
Post KdS upplier Ke Pembelian 1:* relasi M enerima
Post KdS upplier Ke PembayaranPembelian 1:* relasi M enerima
PembayaranPembelian
(IdPembayaranPembelian,
NoPembayaranPembelian, NoPemesan an, NIK,
KdGudang ,KdSupplier, TglPembayaranPemb elian, DP)
Primary Key IdPembayaranPembelian Foreign Key KdSupplier references
Supplier(KdSupplier) Supplier( KdSupplier, NamaSupplier,
TelpSupplier, AlamatSupplier, FaxSupplier, EmailSupplier) Primary Key KdSupplier
Supplier(KdSupplier,NamaSupplier,
TelpSupplier, AlamatSupplier, FaxSupplier, EmailSupplier )
Primary Key KdSupplier
Pembelian (IdPembelian, NIK ,KdSupplier, NoPemesanan,
KdGudang,NoPoSupplier,NoPembelian, TglPembelian, PreviousPayment, PaymentDetails )
Primary Key IdPembelian
Foreign Key KdSupplier References
Supplier(KdSupplier) JenisPelanggan (KdJenisPelanggan,
NamaJenisPelangg an)
Primary Key KdJenisPelanggan
Pelanggan (KdPelanggan, KdJenisPelanggan, NamaPelangg an, TelpPelanggan,
AlamatPelanggan, Fax, NPWP, EmailPelanggan)
Primary Key KdPelanggan
Foreign Key KdJenisPelanggan references
Post KdProduk Ke Persediaan 1:* relasi M empengaruhi
4.1.2.2.4 One to one ( 1:1 ) Binary relationship
M embuat relasi untuk mempresentasikan relasi 1:1 adalah sedikit lebih kompleks sebagai inti yang tidak dapat
digunakan untuk mengidentifikasi parent dan child entitas
dalam sebuah relasi.
Produk (KdProduk, NamaProduk, SpesifikasiProduk, Harga)
Primary Key KdProduk
Persediaan (KdPers ediaan, KdProduk, TglProdukMasuk, TglProdukKeluar, Qty )
Primary Key KdPersediaan
Foreign Key KdProduk Referen ces Produk (KdProduk)
Post IdPemesanan Ke Penjualan 1:1 relasi M enimbulkan
Post KdProduk Ke Garansi *:* relasi Dimiliki
Produk (KdProduk, NamaProduk, SpesifikasiProduk, Harga)
Primary Key KdProduk
Garansi(KdGaransi, KdProduk, KdPelangg an, NoPenjualan, TglPenukaran,Alasan )
Primary Key KdGaransi
Foreign Key KdProduk references Produk (KdProduk)
Foreign Key KdPelanggan references Pelanggan (KdPelanggan)
Pemesanan (IdPemesan an, TglPemesanan, KdPelanggan, Diskon, PPN, NIK, KdTermpayment, Kdtermdelivery, Status )
Primary Key IdPemesanan
Foreign Key KdPelanggan references Pelanggan (KdPelanggan )
Foreign Key KdTermPayment refer ences
TermOfPayment (KdTermPayment)
Foreign Key KdTermDelivery refer ences
TermOfDelivery (KdTermDelivery)
Penjualan(IdPenjualan, NoPenjualan, KdPelanggan, TglPenjualan, IdPemesanan, KdTermPayment, NIK )
Primary Key IdPenjualan
Foreign Key IdPemesanan references
Pemesanan (IdPemes anan)
Post IdPemesanan Ke DeliveryOrder 1:1 relasi M enimbulkan
Post IdPenjualan Ke Garansi 1:1 relasi M emiliki
Penjualan(IdPenjualan,
KdPelanggan,TglPenjualan, IdPemesanan, KdTermPayment, NIK )
Primary Key IdPenjualan
Foreign Key IdPemesan an refer ences
Pemesanan (IdPemes anan)
Foreign Key NIK references Karyawan (NIK) Foreign Key KdTermPayment Refer ences
TermOfPayment (KdTermOfPaym ent)
Garansi (KdGaransi, IdPenjualan, KdProduk,
KdPelanggan, NoPenjualan, TglPenukaran,Alasan )
Primary Key KdGaransi
Foreign Key IdPenju alan ref erences Penjualan (IdPenjualan)
Foreign Key KdProduk references Produk (KdProduk)
Foreign Key KdPelanggan refer ences
Pelanggan (KdPelanggan ) Pemesanan (IdPemesan an, TglPemesanan,
KdPelanggan, Diskon, PPN, NIK, KdTermpayment, Kdtermdelivery, Status )
Primary Key IdPemesanan
Foreign Key KdPelanggan references Pelanggan (KdPelanggan )
Foreign Key KdTermPayment refer ences
TermOfPayment (KdTermPayment)
Foreign Key KdTermDelivery refer ences
TermOfDelivery (KdTermDelivery)
DeliveryOrder(Id Delivery,IdPemes anan, noSPB, TglKirim, NIK, KdPelanggan ) Primary Key IdDelivery
Foreign Key IdPemesanan references
Pemesanan (IdPemes anan)
PostIdTermOfDelivery Ke Pemesanan 1:1 relasi Dimiliki
PostIdTermOfPayment Ke Penjualan 1:1 relasi Dimiliki
TermOPayment (KdTermPayment,
TermOfPayment )
Primary Key KdTermPayment
Penjualan ( IdPenjualan, KdPelangg an, TglPenjualan, IdPemesanan, KdTermPayment, NIK )
Primary Key IdPenjualan
Foreign Key KdTermPayment References
TermOfPayment (KdTermOfPaym ent)
Foreign Key IdPemesanan references
Pemesanan (IdPemes anan)
Foreign Key NIK references Kary awan (NIK) TermOfDeliery(KdTermDelivery,
TermOfDelivery )
Primary Key KdTermDelivery
Pemesanan (IdPemesan an, TglPemesanan, KdPelanggan, Diskon, PPN, NIK, Kdtermpayment, Kdtermo fdelivery, Status)
Primary Key IdPemesanan Foreign Key KdtermDelivery Refer ences
TermOfDelivery (KdtermDelivery)
Foreign Key NIK References Kary awan (NIK) Foreign Key KdPelanggan Refer ences
PostIdTermOfPayment Ke Pemesanan 1:1 relasi Dimiliki
Post NIK Ke User1:1 relasi Dimiliki
4.1.2.2.5 one – to – one Recursive relationship
Di dalam basis data sistem ini, tidak terdapat relasi one to
onerecursive.
Karyawan ( NIK, NamaKary awan, Jab atan,
TelpKaryawan, AlamatKaryawan, EmailKaryawan )
Primary Key NIK
User (Kd User, NIK, Username, Password, TipeUser )
Primary Key KdUser
Foreign Key NIK references User (KdUser) TermOPayment (KdTermPayment,
TermOfPayment )
Primary Key KdTermPayment
Pemesanan ( IdPem esanan, TglPemesanan, KdPelanggan, Diskon, PPN, NIK, Kdtermpayment, Kdtermo fdelivery, Status )
Primary Key IdPemesanan
Foreign Key KdtermPayment references TermOfPayment (KdtermPayment )
Foreign Key KdtermDelivery Refer ences
TermOfDelivery (KdtermDelivery)
Foreign Key NIK References Karyawan(NIK) Foreign Key KdPelanggan References
4.1.2.2.6 Superclass
Setelah melewati tahap perancangan konseptual maka
tidak ditemui relasi Superclass.
4.1.2.2.7 Many-to-many ( *:*)Binary Relationship
1. Relasi antara Produk dan Pembelian menghasilkan entitas baru
yaitu DetailPembelian dengan posting KdProduk dan
IdPembelian
Produk (KdProduk, NamaProduk,
SpesifikasiProduk, Harga)
Primary Key KdProduk
Pembelian (IdPembelian, NIK ,KdSupplier, NoPemesanan,KdGud ang,NoPoSupplier, NoPembelian,TglPembelian,
PreviousPayment,PaymentDetail) Primary Key IdPembelian
Foreign Key NIK References MsKaray wan (NIK)
Foreign Key KdSupplier References Supplier (KdSupplier)
Foreign Key KdProduk references Produk (KdProduk)
DetailPembelian (IdPembelian, KdProduk, Qty) Primary Key IdPembelian
Foreign Key IdPembelian referen ces Pembelian (IdPembelian)
Foreign Key KdProduk referen ces Produk (KdProduk)
2. Relasi antata Produk dan Penjualan menghasilkan entitas
baru yaitu DetailPenjualan dengan posting KdProduk dan
IdPenjualan.
3. Relasi antata Produk dan Penawaran menghasilkan entitas
baru yaitu DetailPenawaran dengan posting KdProduk
dan IdPenawaran.
Produk (KdProduk, NamaProduk,
SpesifikasiProduk, Harga)
Primary Key KdProduk
Penjualan(IdPenjualan, NoPenjualan,KdPelanggan,
TglPenjualan,NoPemesanan, KdTermPayment, NIK )
Primary Key IdPenjualan
Foreign Key NIK References Karyawan(NIK) Foreign Key KdPelanggan Refer ences
Pelanggan (KdPelanggan ) DetailPenjualan(IdPenjualan,KdProduk, Qty)
Primary Key IdPenjualan
Foreign Key IdPenjualan references Penjualan (IdPenjualan)
Foreign Key KdProduk references Produk (KdProduk)
4. Relasi antara Produk dan DeliveryOrder menghasilkan
entitas baru yaitu DetailDeliveryOrder dengan posting
KdProduk dan IdDeliveryOrder.
Produk (KdProduk, NamaProduk,
SpesifikasiProduk, Harga) Primary Key KdProduk
HeaderPenawaran(IdPenawaran,
NoPenawaran, KdPelanggan,NIK, Diskon) Primary Key IdPenawaran
Foreign Key NIK References Karyawan(NIK) Foreign Key KdPelanggan References
Pelanggan(KdPelangg an)
DetailPenawaran (IdPenawaran,KdProduk, Qty, Diskon )
Primary Key IdPenawaran
Foreign Key IdPenawaran Refer ences
Penawaran (IdPenawaran)
Foreign Key KdProduk references Produk (KdProduk)
5. Relasi antata Produk dan HeaderPemesanan
menghasilkan entitas baru yaitu DetailPemesanan dengan
posting KdProduk dan IdPemesanan.
Produk (KdProduk, NamaProduk,
SpesifikasiProduk, Harga)
Primary Key KdProduk
HeaderPemesanan ( IdPemesanan, TglPemesanan, KdPelanggan, Diskon, PPN, NIK, Kdtermpaym ent, Kdtermo fd elivery, Status)
Primary Key IdPemesanan
Foreign Key NIK References Karyawan(NIK) Foreign Key KdPelanggan References Pelanggan (KdPelanggan)
Foreign Key KdtermPayment references TermOfPayment (KdtermPayment)
Foreign Key KdtermDelivery Refer ences
TermOfDelivery (KdtermDelivery) DetailPemesanan (IdPemesanan, KdProduk, Qty)
Primary Key IdPemesanan
Foreign Key IdPemesan an Ref erences Pemesan an (IdPemesan an)
Foreign Key KdProduk references Produk (KdProduk)
Produk (KdProduk, NamaProduk,
SpesifikasiProduk, Harga)
Primary Key KdProduk
HeaderPenawaran(IdPenawaran,
NoPenawaran, KdPelanggan,NIK, Diskon) Primary Key IdPenawaran
Foreign Key NIK References Karyawan(NIK) Foreign Key KdPelanggan References
Pelanggan(KdPelangg an)
DetailDeliveryOrder (Id Delivery, KdProduk, Qty)
Primary Key IdDelivery
Foreign Key IdDelivery referen ces
DeliveryOrder (Id Delivery )
Foreign Key KdProduk references Produk (KdProduk)
6. Relasi antata Produk dan HeaderPembayaranPenjualan
menghasilkan entitas baru yaitu
DetailPembayaranPenjualan dengan posting KdProduk dan IdPePembayaranPenjualan.
4.1.2.2.8 Complex Binary Relationship
Setelah diidetifikasi pada sub bab (4.1.2.1.3 ) maka tidak terdapat relasi yang kompleks dalam basis data sistem ini.
Produk (KdProduk, NamaProduk,
SpesifikasiProduk, Harga)
Primary Key KdProduk
HeaderPembayaranPenjualan(IdPembayaranP enjualan,
NoPemesanan,NIK,NoPembay aranPenjualan, TglPembayaranPenju alan, KdPelanggan) Primary Key IdPembayaranPenjualan Foreign Key NIK References Kary awan (NIK) Foreign Key KdPelanggan
Referen ces Pelanggan (KdSupplier)
Foreign Key IdPemesan an refer ences
Pemesanan (IdPemes anan)
DetailPembayaranPenjualan(IdPembayaranPe njualan, Qty,KdProduk)
Primary Key IdPembayaranPenjualan
Foreign Key IdPembayaranPenjualan
references PembayaranPenjualan (IdPembayaranPenjual an )
Foreign Key KdProduk references Produk (KdProduk)
4.1.2.2.9 Multivalued Attribute
Untuk setiap multivalued attributes, buatlah suatu relasi
baru untuk merepresentasikan multivalued attribute dan
termasuk primary key dari entitas relasi baru tersebut.
Post KdPelanggan ke TelpPelanggan
Post KdPelanggan ke EmailPelanggan
Pelanggan (KdPelanggan, KdJenisPelanggan,
NamaPelangg an, TelpPelanggan, AlamatPelanggan, Fax, NPWP, EmailPelanggan)
Primary Key KdPelanggan
EmailPelanggan(KdPelanggan, EmailPelanggan)
Primary Key EmailPelanggan
Foreign Key KdPelanggan refer ences
Pelanggan (KdPelanggan ) Pelanggan (KdPelanggan, KdJenisPelanggan,
NamaPelangg an, TelpPelanggan, AlamatPelanggan, Fax, NPWP, EmailPelanggan)
Primary Key KdPelanggan
TelpPelanggan (KdPelanggan, TelpPelanggan) Primary Key TelpPelanggan
Foreign Key KdPelanggan refer ences
Post KdPelanggan ke FaxPelanggan
Post NIK ke TelpKaryawan
Post NIK ke EmailKaryawan
Post KdS upplier ke TelpS upplier
Supplier (KdSupplier, NamaSupplier, TelpSupplier, AlamatSupplier, FaxSupplier, EmailSupplier)
Primary Key KdSupplier
TelpSupplier (KdSupplier, TelpSupplier) Primary Key TelpSupplier
Foreign Key KdSupplier refer ences Supplier (KdSupplier)
Karyawan (NIK, NamaKaryawan, Jab atan,
TelpKaryawan, AlamatKaryawan, EmailKaryawan)
Primary Key NIK
EmailKaryawan (NIK, EmailKaryawan) Primary Key EmailKary awan
Foreign Key NIK references Karyawan (NIK) Karyawan (NIK, NamaKaryawan, Jab atan,
TelpKaryawan, AlamatKaryawan, EmailKaryawan)
Primary Key NIK
TelpKaryawan ( NIK, TelpKaryawan) Primary Key TelpKaryawan
Foreign Key NIK references Kary awan (NIK) Pelanggan (KdPelanggan, KdJenisPelanggan,
NamaPelangg an, TelpPelanggan, AlamatPelanggan, Fax, NPWP, EmailPelanggan)
Primary Key KdPelanggan
Fax Pelanggan(KdPelanggan, FaxPelanggan) Primary Key FaxPelanggan
Foreign Key KdPelanggan references
Post KdS upplier ke EmailS upplier
Post KdS upplier ke FaxS upplier
Post KdGudang ke TelpGudang
Gudang (KdGudang, NamaGud ang,
AlamatGudang, TelpGudang, FaxGudang, NamaKaryawanGud ang)
Primary Key KdGudang
TelpGudang (KdGudang , TelpGudang) Primary Key TelpGudang
Foreign Key KdGud ang refer ences Gudang (KdGudang )
Supplier (KdSupplier, NamaSupplier, TelpSupplier, AlamatSupplier, FaxSupplier, EmailSupplier)
Primary Key KdSupplier
Fax Supplier (KdSupplier, FaxSupplier) Primary Key FaxSupplier
Foreign Key KdSupplier refer ences Supplier (KdSupplier)
Supplier (KdSupplier, NamaSupplier, TelpSupplier, AlamatSupplier, FaxSupplier, EmailSupplier)
Primary Key KdSupplier
EmailSupplier (KdSupplier, EmailSupplier) Primary Key EmailSupplier
Foreign Key KdSupplier refer ences Supplier (KdSupplier)