3.2.2 Perancangan Basisdata Logikal
3.2.2.1 Menghilangkan fitur yang tidak sesuai dengan model relasional
1. Menghilangkan many-to-many binary relationship type • MsProduksi (1..*) Melibatkan MsStock (1..*)
(ii)
Keterangan : (i) Kondisi awal, (ii) Kondisi akhir
Gambar 3.9 Dekomposisi MsProduksi dengan MsStock
• FakturVendor (1…*) Melibatkan MsStock (1…*)
(i)
(ii)
Keterangan : (i) Kondisi awal, (ii) Kondisi akhir
• SuratJalan (1..*) Melibatkan MsStock (1..*)
(i)
(ii)
Keterangan : (i) Kondisi awal, (ii) Kondisi akhir
Gambar 3.11 Dekomposisi SuratJalan dengan MsStock
• MsKonversi (1..*) Melibatkan MsStock (1..*) (i)
Keterangan : (i) Kondisi awal, (ii) Kondisi akhir
Gambar 3.12 Dekomposisi MsKonversi dengan MsStock
• Stand (1...*) Melibatkan Karyawan (1...*)
(i)
(ii)
Keterangan : (i) Kondisi awal, (ii) Kondisi akhir
Gambar 3.13 Dekomposisi Stand dengan Karyawan
• FormOrder (1…*) melibatkan MsStock (1…*) (i)
(ii)
Keterangan : (i) Kondisi awal, (ii) Kondisi akhir
Gambar 3.14 Dekomposisi FormOrder dengan MsStock
• Karyawan (1…*) menangani MsProduksi (1…*) (i)
(ii)
Keterangan : (i) Kondisi awal, (ii) Kondisi akhir
1. Tipe entiti kuat
• Karyawan (KdKaryawan, NamaKaryawan, Alamat, TglLahir, Telp, Status)
Primary Key: KdKaryawan
• Stand (KdStand, NamaStand, Alamat, Telp) Primary Key: KdStand
• MsStock (PartyNo, NamaBarang, JumlahStock, Satuan, ROP) Primary Key: PartyNo
• MsKonversi (KdKonversi, NamaKon, Perkalian) Primary Key: KdKonversi
• MsProduksi (KdProduksi, TglProduksi) Primary Key: KdProduksi
• MsVendor (KdVendor, NamaVendor, Alamat, Telp, Fax, CP) Primary Key: KdVendor
• FakturVendor (NoFaktur, TglFaktur, Deskripsi) Primary Key: NoFaktur
• FormOrder (NoOrder, TglOrder, Qty, Status, Deskripsi) Primary Key: NoOrder
• SuratJalan (NoSuratJalan, TglSurat, Status) Primary Key: NoSuratJalan
2. Tipe entiti lemah
• DetailProduksi (KdProduksi, PartyNo, QtyPakai) Primary Key: KdProduksi, PartyNo
• AfterProd (KdProduksi, PartyNo, KdKaryawan, TglJadi, QtyHasil) Primary Key: KdProduksi, KdKaryawan
• DetailFV (NoFaktur, PartyNo, QtyMasuk) Primary Key: NoFaktur, PartyNo • DetailSuratJalan (NoSuratJalan, PartyNo)
Primary Key: NoSuratJalan, PartyNo
• DetailKonversi (KdKonversi, PartyNo, Perbandingan) Primary Key: KdKonversi, PartyNo
• TempatKerja (KdStand, KdKaryawan, TglMasuk, TglKeluar) Primary Key: KdStand, KdKaryawan
• Franchise (KdStand, NamaPerusahaan, Alamat, TelpPerusahaan, FaxPerusahaan, CP)
Primary Key: KdStand
• Login (KdKaryawan, Username, Password, Privilege) Primary Key: KdKaryawan
• Bazaar (KdStand, TglAwal, TglAkhir) Primary Key: KdStand
• Hubungan Karyawan dengan FormOrder
Setiap Karyawan dapat melakukan satu atau lebih FormOrder. Dengan demikian pada FormOrder terdapat atribut primary key dari Karyawan yaitu KdKaryawan
Post KdKaryawan ke FormOrder untuk model relasi (1 : *) melakukan
Karyawan (KdKaryawan,
NamaKaryawan , Alamat,TglLahir, Telp, Status)
Primary Key KdKaryawan
FormOrder(NoOrder, TglOrder, QtyOrder, Deskripsi, Status, KdKaryawan)
Primary Key NoOrder
Foreign Key KdKaryawan references Karyawan (KdKaryawan)
• Hubungan Karyawan dengan FakturVendor
Setiap Karyawan dapat menerima satu atau lebih FakturVendor. Dengan demikian pada FakturVendor terdapat atribut primary key dari Karyawan yaitu KdKaryawan
Post KdKaryawan ke FakturVendor untuk model relasi (1 : *) menerima
Karyawan (KdKaryawan,
NamaKaryawan , Alamat,TglLahir, Telp, Status)
Primary Key KdKaryawan
FakturVendor (NoFaktur, TglFaktur, Deskripsi, KdKaryawan)
Primary Key NoFaktur
Foreign Key KdKaryawan references Karyawan (KdKaryawan)
• Hubungan Stand dengan SuratJalan
Setiap Stand dapat melibatkan satu atau lebih SuratJalan. Dengan demikian pada SuratJalan terdapat atribut primary key dari Stand yaitu KdStand
Post KdStand ke SuratJalan untuk model relasi (1 : *) melibatkan
Stand (KdStand, NamaStand, Alamat, Telp)
Primary Key KdStand
SuratJalan (NoSuratJalan, TglSurat, Status, KdStand)
Primary Key NoSuratJalan
Foreign Key KdStand references Stand (KdStand)
• Hubungan MsVendor dengan FakturVendor
Setiap M sVendor dapat mengeluarkan satu atau lebih FakturVendor. Dengan demikian pada FakturVendor terdapat atribut primary key dari M sVendor yaitu KdVendor
Post KdVendor ke FakturVendor untuk model relasi (1 : *) mengeluarkan
MsVendor(KdVendor, NamaVendor, Alamat, Telp, Fax, CP)
Primary Key KdVendor
FakturVendor (NoFaktur, TglFaktur, Deskripsi, KdKaryawan, KdVendor) Primary Key NoFaktur
Foreign Key KdKaryawan references Karyawan (KdKaryawan)
Foreign Key KdVendor references Vendor (KdKaryawan)
Setiap M sKonversi dapat melibatkan satu atau lebih M sProduksi. Dengan demikian pada M sProduksi terdapat atribut primary key dari MsKonversi yaitu KdKonversi
Post KdKonversi ke M sProduksi untuk model relasi (1 : *) mengeluarkan
MsKonversi (KdKonversi, NamaKon, Perkalian)
Primary Key: KdKonversi
MsProduksi (KdProduksi, TglProduksi, KdKonversi)
Primary Key: KdProduksi
Foreign Key KdKonversi references MsKonversi (KdKonversi)
• Hubungan Karyawan dengan SuratJalan
Setiap Karyawan dapat menangani satu atau lebih SuratJalan. Dengan demikian pada SuratJalan terdapat atribut primary key dari Karyawan yaitu KdKaryawan
Post KdKaryawan ke SuratJalan untuk model relasi (1 : *) menangani
Karyawan (KdKaryawan,
NamaKaryawan, Alamat, TglLahir, Telp) Primary Key: KdKaryawan
SuratJalan (NoSuratJalan, TglSurat, Status, KdStand, KdKaryawan)
Primary Key NoSuratJalan
Foreign Key KdStand references Stand (KdStand)
Foreign Key KdKaryawan references Karyawan (KdKaryawan)
• Hubungan Stand dengan Franchise
Setiap Stand dapat memiliki satu atau lebih Franchise. Dengan demikian pada Franchise terdapat atribut primary key dari Stand yaitu KdStand
Post KdStand ke Franchise untuk model relasi (1 : *) memiliki
Stand (KdStand, NamaStand, Alamat, Telp)
Primary Key: KdStand
Franchise (KdStand, NamaPerusahaan, Alamat, TelpPerusahaan)
Primary Key: KdStand
Foreign Key KdStand references Stand (KdStand)
• Hubungan Stand dengan Bazaar
Setiap Stand dapat memiliki satu atau lebih Bazaar. Dengan demikian pada Bazaar terdapat atribut primary key dari Stand yaitu KdStand Post KdStand ke Bazaar untuk model relasi (1 : *) memiliki
Stand (KdStand, NamaStand, Alamat, Telp)
Primary Key: KdStand
Bazaar (KdStand, TanggalAwal, TanggalAkhir)
Primary Key: KdStand
Foreign Key KdStand references Stand (KdStand)
4. Tipe Relasi Binari One to One (1:1)
• Hubungan antara Karyawan dengan Login
Post KdKaryawan ke Login untuk model relasi (1 : 1) memiliki
Karyawan (KdKaryawan,
namaKaryawan , Alamat,TglLahir, Telp, Status)
Primary Key KdKaryawan
Login (KdKaryawan, Username, Password, Privilege)
Primary Key KdKaryawan
Foreign Key KdKaryawan references Karyawan (KdKaryawan)
5. Tipe Relasi Binari M any to M any (*:*)
• Hubungan antara Stand dengan Karyawan
Relasi antara Stand dengan Karyawan M enghasilkan entity baru yaitu TempatKerja yang menerima posting KdStand dan KdKaryawan
Stand (KdStand, NamaStand, Alamat, Telp) Primary Key: KdStand
Karyawan (KdKaryawan, namaKaryawan , Alamat,TglLahir, Telp, Status)
Primary Key KdKaryawan TempatKerja (KdKaryawan, KdStand)
Primary Key KdKaryawan, KdStand
Foreign Key KdKaryawan references Karyawan (KdKaryawan) Foreign Key KdStand references Stand (KdStand)
• Hubungan antara MsProduksi dengan MsStock
Relasi antara M sProduksi dengan M sStock M enghasilkan entity baru yaitu DetailProduksi yang menerima posting KdStand dan PartyNo
KdKonversi)
Primary Key: KdProduksi
Foreign Key KdKonversi references MsKonversi (KdKonversi)
JumlahStock, Satuan, ROP) Primary Key: PartyNo
DetailProduksi (KdProduksi, PartyNo, QtyPakai) Primary Key: KdProduksi, PartyNo
Foreign Key KdProduksi references M sProduksi (KdProduksi) Foreign Key PartyNo references M sStock (PartyNo)
• Hubungan antara FakturVendor dengan MsStock
Relasi antara FakturVendor dengan M sStock M enghasilkan entity baru yaitu DetailFV yang menerima posting NoFaktur dan PartyNo
FakturVendor (NoFaktur, TglFaktur, Deskripsi, KdKaryawan, KdVendor) Primary Key NoFaktur
Foreign Key KdKaryawan references Karyawan (KdKaryawan)
Foreign Key KdVendor references Vendor (KdKaryawan)
MsStock (PartyNo, NamaBarang, JumlahStock, Satuan, ROP) Primary Key: PartyNo
DetailFV (NoFaktur, PartyNo, QtyM asuk) Primary Key: NoFaktur, PartyNo
Foreign Key NoFaktur references FakturVendor (NoFaktur)
Foreign Key PartyNo references M sStock (PartyNo)Foreign Key KdProduksi references MsProduksi (KdProduksi)
Relasi antara SuratJalan dengan M sStock M enghasilkan entity baru yaitu DetailSuratJalan yang menerima posting NoSuratJalan dan PartyNo
SuratJalan (NoSuratJalan, TglSurat, Status, KdStand, KdKaryawan)
Primary Key NoSuratJalan
Foreign Key KdStand references Stand (KdStand)
Foreign Key KdKaryawan references Karyawan (KdKaryawan)
MsStock (PartyNo, NamaBarang, JumlahStock, Satuan, ROP) Primary Key: PartyNo
DetailSuratJalan (NoSuratJalan, PartyNo, qtyKeluar) Primary Key: NoSuratJalan, PartyNo
Foreign Key NoSuratJalan references SuratJalan (NoSuratJalan) Foreign Key PartyNo references M sStock (PartyNo)
• Hubungan antara MsKonversi dengan MsStock
Relasi antara M sKonversi dengan M sStock M enghasilkan entity baru yaitu DetailKonversi yang menerima posting KdKonversi dan PartyNo
MsKonversi (KdKonversi, NamaKon, Perkalian)
Primary Key: KdKonversi Foreign Key KdKaryawan references Karyawan (KdKaryawan)
MsStock (PartyNo, NamaBarang, JumlahStock, Satuan, ROP) Primary Key: PartyNo
DetailKonversi (KdKonversi PartyNo, Perbandingan) Primary Key: KdKonversi, PartyNo
Foreign Key KdKonversi references M sKonversi (KdKonversi) Foreign Key PartyNo references M sStock (PartyNo)
• Hubungan antara FormOrder dengan MsStock
Relasi antara FormOrder dengan M sStock M enghasilkan entity baru yaitu DetailOrder yang menerima posting NoOrder dan PartyNo
FormOrder(NoOrder, TglOrder, QtyOrder, Deskripsi, Status, KdKaryawan)
Primary Key: NoOrder
Foreign Key KdKaryawan references Karyawan (KdKaryawan)
MsStock (PartyNo, NamaBarang, JumlahStock, Satuan, ROP) Primary Key: PartyNo
DetailOrder(NoOrder, PartyNo, QtyOrder) Primary Key: NoOrder, PartyNo
Foreign Key NoOrder references FormOrder (NoOrder) Foreign Key PartyNo references M sStock (PartyNo)
• Hubungan Karyawan dengan MsProduksi
Relasi antara Karyawan dengan M sProduksi M enghasilkan entity baru yaitu AfterProd yang menerima posting KdKaryawan dan KdProduksi
Karyawan (KdKaryawan,
NamaKaryawan , Alamat,TglLahir, Telp, Status)
Primary Key KdKaryawan
MsProduksi (KdProduksi, TglProduksi, KdKonversi)
Primary Key KdProduksi
Foreign Key KdKonversi references MsKonversi (KdKonversi)
AfterProd(KdProduksi, PartyNo, KdKaryawan, TglJadi, QtyHasil) Primary Key: KdProduksi, KdKaryawan
Foreign Key KdProduksi references M sProduksi (KdProduksi) Foreign Key PartyNo references M sStock (PartyNo)
3.2.2.3 Validasi Relasi dengan Normalisasi