B. Perancangan Basis Data Logikal
C.1 Merancang Relasi Dasar
Bertujuan untuk menjelaskan relasi dasar yang diidentifikasikan dalam model data pada sistem. Berikut definisi relasi dengan menggunakan Database Design Language (DBDL) :
1. Merancang Relasi Dasar Suplier
Domain Kode_Suplier : Fixed Length Character String, length 6
Domain Kode_Jenis_ Suplier : Fixed Length Character String, length 6
Domain Nama_ Suplier : Varchar length 30 Domain Alamat : Varchar length 150 Domain Kota : Varchar length 50 Domain Kode_pos : Varchar length 10
Suplier ( Kode_Suplier char(6), Kode_Jenis_Suplier char(6), Nama_Suplier varchar(30), Alamat varchar(150), Kota varchar(50), Kode_pos varchar(10), primary key(Kode_Suplier),
foreign key(Kode_Jenis_Suplier) references Jenis_Suplier(Kode_Jenis_Suplier)
114
Jenis Suplier
Domain Kode_Jenis_Suplier : Fixed Length Character String, length 6
Domain Jenis_ Suplier : Varchar length 30 Jenis Suplier ( Kode_Jenis_Suplier char(6), Jenis_Suplier varchar(30), primary key(Kode_Jenis_Suplier) ); Telepon Suplier
Domain Kode_ Suplier : Fixed Length Character String, length 6
Domain Telepon_Suplier : Varchar length 15 Telepon Suplier (
Telepon_Suplier varchar(15), Kode_Suplier char(6),
primary key(Telepon_Suplier),
foreign key(Kode_Suplier) references Suplier(Kode_Suplier) );
Bahan Baku
Domain Kode_Bahan_Baku : Fixed Length Character String, length 6
Domain Kode_Suplier : Fixed Length Character String, length 6
Domain Kode_Jenis_Bahan_Baku : Fixed Length Character String, length 6
Domain Kode_Ukuran_Bahan_Baku : Fixed Length Character String, length 6
Domain Kode_Gudang : Fixed Length Character String, length 6
Domain Nama_Bahan_Baku : Varchar length 50 Domain Jumlah : Integer length 30 Bahan Baku ( Kode_Bahan_Baku char(6), Kode_Suplier char(6), Kode_Jenis_Bahan_Baku char(6), Kode_Ukuran_Bahan_Baku char(6), Kode_Gudang char(6), Nama_Bahan_Baku varchar(50), Jumlah int, primary key(Kode_Bahan_Baku),
foreign key(Kode_Suplier) references Suplier(Kode_Suplier), foreign key(Kode_Jenis_Bahan_Baku) references
foreign key(Kode_Ukuran_Bahan_Baku) references Ukuran_Bahan_Baku(Kode_Ukuran_Bahan_Baku),
foreign key(Kode_Gudang) references Gudang(Kode_Gudang) );
Jenis Bahan Baku
Domain Kode_Jenis_Bahan_Baku : Fixed Length Character String, length 6
Domain Jenis_Bahan_Baku : Varchar length 30 Jenis Bahan Baku (
Kode_Jenis_Bahan_Baku char(6), Jenis_Bahan_Baku varchar(30),
primary key(Kode_Jenis_Bahan_Baku) );
Ukuran Bahan Baku
Domain Kode_Ukuran_Bahan_Baku : Fixed Length Character String, length 6
Domain Ukuran_Bahan_Baku : Varchar length 30 Ukuran Bahan Baku (
Kode_Ukuran_Bahan_Baku char(6), Ukuran_Bahan_Baku varchar(30),
primary key(Kode_Ukuran_Bahan_Baku) );
Bahan Pendukung
Domain Kode_Bahan_Pendukung : Fixed Length Character String, length 6
Domain Kode_Suplier : Fixed Length Character String, length 6
Domain Kode_Jenis_Bahan_Pendukung : Fixed Length Character String, length 6
Domain Kode_Satuan_Bahan_Pendukung : Fixed Length Character String, length 6
Domain Kode_Gudang : Fixed Length Character String, length 6
Domain Nama_Bahan_Pendukung : Varchar length 50
Domain Jumlah : Float
Bahan Pendukung ( Kode_Bahan_Pendukung char(6), Kode_Penyedia_Bahan char(6), Kode_Jenis_Bahan_Pendukung char(6), Kode_Satuan_Bahan_Pendukung char(6), Kode_Gudang char(6), Nama_Bahan_Pendukung varchar(50), Jumlah float, primary key(Kode_Bahan_Pendukung),
116
foreign key(Kode_Penyedia_Bahan) references Penyedia_Bahan(Kode_Penyedia_Bahan),
foreign key(Kode_Jenis_Bahan_Pendukung) references Jenis_Bahan_Pendukung(Kode_Jenis_Bahan_Pendukung), foreign key(Kode_Satuan_Bahan_Pendukung) references Satuan(Kode_Satuan_Bahan_Pendukung),
foreign key(Kode_Gudang) references Gudang(Kode_Gudang) );
Jenis Bahan Pendukung
Domain Kode_Jenis_Bahan_Pendukung : Fixed Length Character String, length 6
Domain Nama_Jenis_Bahan_Pendukung : Varchar length 30 Jenis Bahan Pendukung (
Kode_Jenis_Bahan_Pendukung char(6), Nama_Jenis_Bahan_Pendukung varchar(30), primary key(Kode_Jenis_Bahan_Pendukung)
); Satuan
Domain Kode_Satuan_Bahan_Pendukung : Fixed Length Character String, length 6
Domain Satuan_Bahan_Pendukung : Varchar length 30 Satuan ( Kode_Satuan_Bahan_Pendukung char(6), Satuan_Bahan_Pendukung varchar(30), primary key(Kode_Satuan_Bahan_Pendukung) ); Gudang
Domain Kode_Gudang : Fixed Length Character String, length 6
Domain Nama_Gudang : Varchar length 30
Gudang ( Kode_Gudang char(6), Nama_Gudang varchar(30), primary key(Kode_Gudang) ); Telepon Gudang
Domain Kode_Gudang : Fixed Length Character String, length 6
Domain Telepon_Gudang : Varchar length 15 Telepon Gudang (
Telepon_Gudang varchar(15), Kode_Gudang char(6),
primary key(Telepon_Gudang),
foreign key(Kode_Gudang) references Gudang(Kode_Gudang) );
Karyawan
Domain Kode_Karyawan : Fixed Length Character String, length 6
Domain Kode_Jenis_Jabatan : Fixed Length Character String, length 6
Domain Kode_Jenis_Hak_Akses : Fixed Length Character String, length 6
Domain Kode_Jenis_Kelamin : Fixed Length Character String, length 6
Domain Nama_Karyawan : Varchar length 30
Domain Alamat : Varchar length 150 Domain Pass_Word : Varchar length 50
Domain Tanggal_Lahir : Datetime Karyawan ( Kode_Karyawan char(6), Kode_Jenis_Jabatan char(6), Kode_Jenis_Hak_Akses char(6), Kode_Jenis_Kelamin char(6), Nama_Karyawan varchar(30), Alamat varchar(150), Pass_Word varchar(50), Tanggal_Lahir datetime, primary key(Kode_Karyawan),
foreign key(Kode_Jenis_Jabatan) references Jenis_Jabatan(Kode_Jenis_Jabatan),
foreign key(Kode_Jenis_Hak_Akses) references Jenis_Hak_Akses(Kode_Jenis_Hak_Akses), foreign key(Kode_Jenis_Kelamin) references Jenis_Kelamin(Kode_Jenis_Kelamin)
); Jenis Jabatan
Domain Kode_Jenis_Jabatan : Fixed Length Character String, length 6
Domain Jenis_Jabatan : Varchar length 30 Jenis Jabatan (
Kode_Jenis_Jabatan char(6), Jenis_Jabatan varchar(30),
118
); Jenis Hak Akses
Domain Kode_Jenis_Hak_Akses : Fixed Length Character String, length 6
Domain Jenis_Hak_Akses : Varchar length 30 Jenis Hak Akses (
Kode_Jenis_Hak_Akses char(6), Jenis_Hak_Akses varchar(30),
primary key(Kode_Jenis_Hak_Akses) );
Jenis Kelamin
Domain Kode_Jenis_Kelamin : Fixed Length Character String, length 6
Domain Jenis_Kelamin : Varchar length 30 Jenis Kelamin ( Kode_Jenis_Kelamin char(6), Jenis_Kelamin varchar(30), primary key(Kode_Jenis_Kelamin) ); Telepon Karyawan
Domain Kode_Karyawan : Fixed Length Character String, length 6
Domain Telepon_Karyawan : Varchar length 15 Telepon Karyawan (
Telepon_Karyawan varchar(15), Kode_Karyawan char(6),
primary key(Telepon_Karyawan),
foreign key(Kode_Karyawan) references Karyawan(Kode_Karyawan) );
Produksi
Domain Kode_Produksi : Fixed Length Character String, length 6
Domain Kode_Jenis_Produksi : Fixed Length Character String, length 6
Domain Kode_Karyawan : Fixed Length Character String, length 6
Domain Kode_Bahan_Pendukung_Produksi : Fixed Length Character String, length 6
Domain Kode_Bahan_Baku : Fixed Length Character String, length 6
Domain Tanggal_Produksi : Datetime Domain Jumlah_Bahan_Baku_Terpakai : Integer
Produksi ( Kode_Produksi char(12), Kode_Jenis_Produksi char(6), Kode_Karyawan char(6), Kode_Bahan_Pendukung_Produksi char(12), Kode_Bahan_Baku char(6), Jumlah_Bahan_Baku_Terpakai int, Tanggal_Produksi datetime, primary key(Kode_Produksi),
foreign key(Kode_Jenis_Produksi) references Jenis_Produksi(Kode_Jenis_Produksi),
foreign key(Kode_Karyawan) references Karyawan(Kode_Karyawan), foreign key(Kode_Bahan_Pendukung_Produksi) references
Bahan_Pendukung_Produksi(Kode_Bahan_Pendukung_Produksi), foreign key(Kode_Bahan_Baku) references
Bahan_Baku(Kode_Bahan_Baku) );
Jenis Produksi
Domain Kode_Jenis_Produksi : Fixed Length Character String, length 6
Domain Jenis_Produksi : Varchar length 30 Jenis Produksi ( Kode_Jenis_Produksi char(6), Jenis_Produksi varchar(30), primary key(Kode_Jenis_Produksi) ); Produk
Domain Kode_Produk : Fixed Length Character String, length 6
Domain Kode_Jenis_Produk : Fixed Length Character String, length 6
Domain Kode_Gudang : Fixed Length Character String, length 6
Domain Nama_Produk : Varchar length 30 Domain Deskripsi : Varchar length 100
Domain Jumlah : Integer
Produk (
Kode_Produk char(6), Kode_Jenis_Produk char(6),
120 Kode_Gudang char(6), Nama_Produk varchar(30), Deskripsi char(150), Jumlah int, primary key(Kode_Produk),
foreign key(Kode_Jenis_Produk) references Jenis_Produk(Kode_Jenis_Produk),
foreign key(Kode_Gudang) references Gudang(Kode_Gudang) );
Jenis Produk
Domain Kode_Jenis_Produk : Fixed Length Character String, length 6
Domain Jenis_Produk : Varchar length 30 Jenis Produk ( Kode_Jenis_Produk char(6), Jenis_Produk varchar(30), primary key(Kode_Jenis_Produk) ); Catatan Produksi
Domain Kode_Catatan_Produksi : Fixed Length Character String, length 12
Domain Kode_Produksi : Fixed Length Character String, length 12
Domain Jumlah : Integer
Domain Status :Fixed Length Character String, length 50
Domain Keterangan : Varchar length 150 Domain Tanggal_Catatan : Datetime
Catatan Produksi ( Kode_Catatan_Produksi char(12), Kode_Produksi char(12), Jumlah int, Status varchar(50), Keterangan varchar(150), Tanggal_Catatan datetime, primary key(Kode_Catatan_Produksi),
foreign key(Kode_Produksi) references Produksi(Kode_Produksi) );
Stok Order List
Domain Kode_SOL : Fixed Length Character String, length 12
Domain Kode_Karyawan : Fixed Length Character String, length 6
Domain Jenis_Produk : Varchar length 30
Domain Tanggal : Datetime
Stok Order List (
Kode_SOL char(12), Kode_Karyawan char(6), Tanggal datetime,
primary key(Kode_SOL),
foreign key(Kode_Karyawan) references Karyawan(Kode_Karyawan) );
SOL Detail Bahan Baku
Domain Kode_SOL : Fixed Length Character String, length 12
Domain Kode_Bahan_Baku : Fixed Length Character String, length 6
Domain Status : Varchar length 50 Domain Keterangan : Varchar length 150
Domain Jumlah : Integer
SOL Detail Bahan Baku ( Kode_SOL char(12), Kode_Bahan_Baku char(6), Jumlah int, Status varchar(50), Keterangan varchar(150), primary key(Kode_SOL,Kode_Bahan_Baku),
foreign key(Kode_SOL) references Stok_Order_List(Kode_SOL), foreign key(Kode_Bahan_Baku) references
Bahan_Baku(Kode_Bahan_Baku) );
SOL Detail Bahan Pendukung
Domain Kode_SOL : Fixed Length Character String, length 12
Domain Kode_Bahan_Pendukung : Fixed Length Character String, length 6
Domain Status : Varchar length 50 Domain Keterangan : Varchar length 150
Domain Jumlah : Integer
122 Kode_SOL char(12), Kode_Bahan_Pendukung char(6), Jumlah float, Status varchar(50), Keterangan varchar(150), primary key(Kode_SOL,Kode_Bahan_Pendukung),
foreign key(Kode_SOL) references Stok_Order_List(Kode_SOL), foreign key(Kode_Bahan_Pendukung) references
Bahan_Pendukung(Kode_Bahan_Pendukung) );
Detail Catatan Bahan Pendukung
Domain Kode_Detail_Catatan_Bahan_Pendukung : Fixed Length Character String, length 13
Domain Kode_Catatan_Bahan_Pendukung : Fixed Length Character String, length 12
Domain Kode_Bahan_Pendukung : Fixed Length Character String, length 6
Domain Jumlah : Float
Detail Catatan Bahan Pendukung (
Kode_Detail_Catatan_Bahan_Pendukung char(13), Kode_Catatan_Bahan_Pendukung char(12),
Kode_Bahan_Pendukung char(6), Jumlah float,
primary key(Kode_Detail_Catatan_Bahan_Pendukung), foreign key(Kode_Catatan_Bahan_Pendukung) references Catatan_Bahan_Pendukung(Kode_Catatan_Bahan_Pendukung), foreign key(Kode_Bahan_Pendukung) references
Bahan_Pendukung(Kode_Bahan_Pendukung) );
Bahan Pendukung Produksi
Domain Kode_Bahan_Pendukung_Produksi : Fixed Length Character String, length 12
Domain Tanggal : Datetime
Catatan Bahan Pendukung Produksi (
Kode_Bahan_Pendukung_Produksi char(12), primary key(Kode_Bahan_Pendukung_Produksi), Tanggal datetime
);
Detail Bahan Pendukung Produksi
Domain Kode_Bahan_Pendukung_Produksi : Fixed Length Character String, length 12
Domain Kode_Bahan_Pendukung : Fixed Length Character String, length 6
Domain Jumlah :Float
Detail Bahan Pendukung Produksi (
Kode_Bahan_Pendukung_Produksi char(12), Kode_Bahan_Pendukung char(6),
Jumlah float,
primarykey(Kode_Bahan_Pendukung_Produksi,Kode_Bahan_Pendukun g),
foreign key(Kode_Bahan_Pendukung) references Bahan_Pendukung(Kode_Bahan_Pendukung),
foreign key(Kode_Bahan_Pendukung_Produksi) references Bahan_Pendukung_Produksi(Kode_Bahan_Pendukung_Produksi) );