4. Flowchart Pengiriman dan Pemasangan
3.3. Perancangan Basis Data
3.3.1. Perancangan Basis Data Konseptual
3.3.3.4. Memeriksa Integrity Constraints
Tujuannya untuk memeriksa integrity constraint yang direpresentasikan dalam model data logikal.Integrity Constraintsterdiri dari enam tipe, yaitu:
1. Required data
Constraint ini sudah diidentifikasi pada perancangan basis data konseptualtahapan ketiga, yaitu mengidentifikasi dan mengasosiasikan atribut dengan tipe entitas atau relationship(3.3.1.3).
2. Attribute domain constraint
Constraint ini sudah diidentifikasi pada perancangan basis data konseptual tahapan keempat, yaitu menentukan domain atribut(3.3.1.4).
3. Multiplicity
Constraint ini sudah diidentifikasi pada perancangan basis data konseptual tahapan kedua, yaitu mengidentifikasi tipe relationship(3.3.1.2).
4. Entity Integrity
Constraint ini sudah diidentifikasi pada perancangan basis data konseptual tahapan kelima, yaitu menentukan atribut dari candidate key dan primary key(3.3.1.5).
5. Referential Integrity
Berikut adalah referentialintegrityyang telah dibuat:
Tabel 3.49Hasil Referential Integrity
Karyawan (KdKar, NamaKar, AlamatKar, EmailKar, JenisKelamin, FotoKar, KdPosKar, KdPosisi)
PrimaryKey (KdKar)
Foreign Key KdPosKarreferences PosKaryawan (KdPosKar) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key KdPosisireferences PosisiKaryawan(KdPosisi) ON UPDATE CASCADE ON DELETE NO ACTION
PosisiKaryawan (KdPosisi, PosisiKar) PrimaryKey (KdPosisi)
PosKaryawan (KdPosKar, KotaKar, KecKar, KelKar) PrimaryKey (KdPosKar)
Pelanggan (KdPel, NamaPel, AlamatPel, EmailPel, FaxPel, KdPosPel) PrimaryKey (KdPel)
Foreign KeyKdPosPelreferences PosPelanggan(KdPosPel) ON UPDATE CASCADE ON DELETE NO ACTION
PosPelanggan (KdPosPel, KotaPel, KecPel, KelPel) PrimaryKey (KdPosPel)
Pemasok (KdPem, NamaPem, AlamatPem, EmailPem, FaxPem, KdPosPem) PrimaryKey (KdPem)
Foreign KeyKdPosPemreferences PosPemasok(KdPosPem) ON UPDATE CASCADE ON DELETE NO ACTION
PosPemasok (KdPosPem,KotaPem, KecPem, KelPem) PrimaryKey (KdPosPem)
TugasProduksi (KdTugas, Keterangan, KdProduksi) PrimaryKey (KdTugas)
Foreign KeyKdProduksireferences Produksi (KdProduksi) ON UPDATE CASCADE ON DELETE NO ACTION
DetilTugas (KdKar, KdTugas, StatusTugas, TglMulai, TglSelesai, DeskTugas, Deadline) PrimaryKey (KdKar, KdTugas)
Foreign Key KdKarreferences Karyawan (KdKar) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign KeyKdTugasreferences TugasProduksi (KdTugas) ON UPDATE CASCADE ON DELETE NO ACTION
Pemasangan (KdPemasangan, TglPemasangan, FotoHasil, KdPemesanan) PrimaryKey (KdPemasangan)
Foreign KeyKdPemesananreferences Pemesanan (KdPemesanan) ON UPDATE CASCADE ON DELETE NO ACTION
DetilPemasangan (KdKar, KdPemasangan, StatusPemasangan) PrimaryKey (KdKar, KdPemasangan)
Foreign Key KdKarreferences Karyawan (KdKar) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign KeyKdPemasanganreferences Pemasangan (KdPemasangan) ON UPDATE CASCADE ON DELETE NO ACTION
RumusBahanBaku (KdRumus, NamaRumus, Gambar, Deskripsi) PrimaryKey (KdRumus)
DetilRumus (KdRumus, KdBahanBaku, SatuanRumus, RumusUkuran) Primary Key (KdRumus, KdBahanBaku)
Foreign KeyKdRumusreferences RumusBahanBaku (KdRumus) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign KeyKdBahanBakureferences BahanBaku (KdBahanBaku) ON UPDATE CASCADE ON DELETE NO ACTION
Pembelian (KdPembelian, TglPembelian, StatusPembelian, KdKar, KdPengajuan, KdPem) PrimaryKey (KdPembelian)
Foreign Key KdKar references Karyawan (KdKar) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign KeyKdPengajuanreferences PengajuanPembelian (KdPengajuan) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign KeyKdPemreferences Pemasok (KdPem) ON UPDATE CASCADE ON DELETE NO ACTION
DetilPembelian (KdPembelian, KdBahanBaku, HargaBeli, JumlahBeli) PrimaryKey (KdPembelian, KdBahanBaku)
Foreign KeyKdPembelianreferences Pembelian (KdPembelian) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign KeyKdBahanBakureferences BahanBaku (KdBahanBaku) ON UPDATE CASCADE ON DELETE NO ACTION
PengajuanPembelian (KdPengajuan, TglPengajuan, StatusPengajuan, KdKar) PrimaryKey (KdPengajuan)
Foreign Key KdKar references Karyawan (KdKar) ON UPDATE CASCADE ON DELETE NO ACTION
DetilPengajuanBeli (KdPengajuan, KdBahanBaku, JumlahAju) PrimaryKey (KdPengajuan, KdBahanBaku)
Foreign KeyKdPengajuanreferences PengajuanPembelian (KdPengajuan) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign KeyKdBahanBakureferences BahanBaku (KdBahanBaku) ON UPDATE CASCADE ON DELETE NO ACTION
ReturPembelian (KdReturPemb, TglRetur, StatusRetur, AlasanRetur, KdKar, KdPembelian) PrimaryKey(KdReturPemb)
Foreign Key KdKar references Karyawan (KdKar) ON UPDATE CASCADE ON DELETE NO ACTION
ON DELETE NO ACTION
DetilReturBeli (KdReturPemb, KdBahanBaku, JumlahRetur) PrimaryKey (KdReturPemb, KdBahanBaku)
Foreign KeyKdReturPembreferences ReturPembelian (KdReturPemb) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign KeyKdBahanBakureferences BahanBaku (KdBahanBaku) ON UPDATE CASCADE ON DELETE NO ACTION
PengambilanBahanBaku (KdPengambilan, TglPengambilan, KdKar) PrimaryKey (KdPengambilan)
Foreign Key KdKar references Karyawan (KdKar) ON UPDATE CASCADE ON DELETE NO ACTION
DetilPengambilanBahan (KdPengambilan, KdBahanBaku, JumlahAmbil) PrimaryKey (KdPengambilan, KdBahanBaku)
Foreign KeyKdPengambilanreferences PengambilanBahanBaku (KdPosPem) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign KeyKdBahanBakureferences BahanBaku (KdBahanBaku) ON UPDATE CASCADE ON DELETE NO ACTION
TelpKaryawan (KdKar,TelpKar) PrimaryKeyTelpKar
Foreign KeyKdKar references Karyawan (KdKar) ON UPDATE CASCADE ON DELETE NO ACTION
TelpPelanggan (KdPel, TelpPel) PrimaryKeyTelpPel
Foreign KeyKdPelreferences Pelanggan (KdPel) ON UPDATE CASCADE ON DELETE NO ACTION
TelpPemasok (KdPem, TelpPem) PrimaryKeyTelpPem
Foreign KeyKdPemreferences Pemasok (KdPem) ON UPDATE CASCADE ON DELETE NO ACTION
BahanBaku (KdBahanBaku, NamaBahanBaku, KdTipeBahan, KdSatuanBahan, Harga, Stok, StokMin)
PrimaryKey (KdBahanBaku)
Foreign KeyKdTipeBahanreferences TipeBahan (KdTipeBahan) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign KeyKdSatuanBahanreferences SatuanBahan (KdSatuanBahan) ON UPDATE CASCADE ON DELETE NO ACTION
TipeBahan (KdTipeBahan, TipeBahanBaku) PrimaryKey (KdTipeBahan)
SatuanBahan (KdSatuanBahan, SatuanBahanBaku) PrimaryKey (KdSatuanBahan)
Produksi (KdProduksi, NamaBarang, TglMulaiProduksi, StatusProduksi, JumlahProduksi, UkTinggi, UkLebar, HargaProduksi, KdRumus, KdPemesanan)
PrimaryKey (KdProduksi)
Foreign KeyKdRumusreferences RumusBahanBaku (KdRumus) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign KeyKdPemesananreferences Pemesanan (KdPemesanan) ON UPDATE CASCADE ON DELETE NO ACTION
TargetProduksi (TglPengiriman, TglPemasangan, Keterangan, KdPemesanan) PrimaryKey (TglPengiriman, TglPemasangan, KdPemesanan)
Foreign KeyKdPemesananreferences Pemesanan (KdPemesanan) ON UPDATE CASCADE ON DELETE NO ACTION
PembayaranPembelian (KdPembPembelian, TglPembPembelian, JumlahBayar, KdPembelian, KdKar)
PrimaryKey (KdPembPembelian)
Foreign KeyKdPembelianreferences Pembelian (KdPembelian) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key KdKar references Karyawan (KdKar) ON UPDATE CASCADE ON DELETE NO ACTION
BarangJadi (KdBarangJadi, TglBarangMasuk, StatusBarangJadi, KdPengiriman, KdProduksi)
PrimaryKey (KdBarangJadi)
Foreign Key KdPengiriman references Pengiriman (KdPengiriman) ON UPDATECASCADE ON DELETE NO ACTION
Foreign KeyKdProduksireferences Produksi (KdProduksi) ON UPDATE CASCADE ON DELETE NO ACTION
Pengiriman (KdPengiriman, TglPengiriman, StatusPengiriman, KdPemesanan, KdKar) PrimaryKey (KdPengiriman)
Foreign KeyKdKarreferences Karyawan (KdKar) ON UPDATE CASCADE ON DELETE NO ACTION
ForeignKeyKdPemesananreferences Pemesanan (KdPemesanan) ON UPDATE CASCADE ON DELETE NO ACTION
Kontrak (KdKontrak, Spesifikasi, Keterangan, Diskon, TglKontrak, StatusKontrak, KdKar, KdPemesanan)
PrimaryKey (KdKontrak)
ForeignKey KdKar references Karyawan (KdKar) ON UPDATE CASCADE ON DELETE NO ACTION
ForeignKeyKdPemesananreferences Pemesanan (KdPemesanan) ON UPDATE CASCADE ON DELETE NO ACTION
Pemesanan (KdPemesanan, TglPemesanan, TglPengPemesanan, GmbPengPemesanan, StatusPengPemesanan, NamaProyek, AlamatPemesanan, KdPel, KdKar, KdPosPemesanan) PrimaryKey (KdPemesanan)
ForeignKey KdPel references Pelanggan (KdPel) ON UPDATE CASCADE ON DELETE NO ACTION
ForeignKey KdKar references Karyawan (KdKar) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key KdPosPemesanan references PosPemesanan (KdPosPemesanan) ON UPDATE CASCADE ON DELETE NO ACTION
PosPemesanan (KdPosPemesanan, KotaPemesanan, KecPemesanan, KelPemesanan) PrimaryKey (KdPosPemesanan)
RancanganKusen (KdRancangan, TglRancangan, GmbRancangan, StatusRancangan, UkLubang, UkJendela, Keterangan, KdPemesanan)
PrimaryKey (KdRancangan)
Foreign KeyKdPemesananreferences Pemesanan (KdPemesanan) ON UPDATE CASCADE ON DELETE NO ACTION
PembayaranPemesanan (KdPembPemesanan, TglPembPemesanan, JumlahBayar, KdKar, KdPemesanan)
PrimaryKey (KdPembPemesanan)
Foreign Key KdKar references Karyawan (KdKar) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign KeyKdPemesananreferences Pemesanan (KdPemesanan) ON UPDATE CASCADE ON DELETE NO ACTION
6. General Constraint
PT Luxus Indo Prima memiliki beberapa batasan, yaitu:
1. Seorang karyawan produksi hanya dapat melakukan satu
tugas produksi pada waktu yang bersamaan
2. Tugas produksi harus bisa diselesaikan sesuai tanggal pengiriman yang sudah ditentukan
3. Tugas produksi harus bisa diselesaikan sesuai tanggal pemasangan yang sudah ditentukan
3.3.3.5.Review Model Data Logikal dengan User
Tujuannya untuk memeriksa ulang model data logikal dengan pengguna untuk memastikan bahwa mereka sudah mempertimbangkan model dengan benar dari data yang diperlukan dalam perusahaan.
Perancangan hingga model data logikalsudah dibahas dengan Wakil Direktur PT Luxus Indo Prima dan semua kebutuhan sudah sesuai dengan kebutuhan perusahaan.
3.3.3.6.Menggabungkan Model Data Logikal ke Dalam Model Global
Tujuannya untuk menggabungkan model data logikal lokal ke dalam model data logikal global tunggal untuk merepresentasikan semua pandangan pengguna terhadap basis data.
Tahapan ini hanya dilakukan jika menggunakan multiuserviews, sedangkan perancangan basis data ini menggunakan singeluserviews sehingga tahapan ini tidak dibahas.
3.3.3.7.Mempertimbangkan Perkembangan di Masa Depan
Tujuan dari langkah ini yaitu menentukan segala perubahan signifikan yang mungkin terjadi pada masa depan dan menaksirkan kemungkinan untuk menangani perubah tersebut.
Setelah perancangan basis data logikal ini diperiksa, tidak ditemukan perubahan yang signifikan.