BAB 4 PERANCANGAN DAN IMPLEMENTAS I
4.1 Usulan Sistem Baru Sistem yang dirancang berdasarkan analisis kebutuhan sistem dan permasalahan yang dihadapi oleh PT Indogravure, yaitu merancang suatu sistem basis data inventori dimana sistem dijalankan melalui jaringan intranet, dimana sistem tersebut dapat memenuhi segala yang dibutuhkan oleh user. Sistem inventori ini juga dilengkapi sistem evaluasi supplier, dimana sistem ini dapat memudahkan purchasing manager dalam memilah mana supplier yang baik dan yang buruk, serta memiliki fitur stock alert yang berguna untuk memonitor keadaan stock bahan baku sistem ini dapat menghasilkan suatu output berupa report atau bisa berupa chart.
94
95
4.1.1 Diagram Aliran Data pada S istem yang diusulkan
4.1.1.1
Diagram Konteks pada Sistem yang diusulkan
Gambar 4.1. Diagram Konteks yang diusulkan
96
4.1.1.2
Diagram Rinci Level 0 pada sistem yang diusulkan
Customer
Purchase Order Customer
Sales Con tract
Sales & Marketing
Kurs Dolar
1.0 Proses Pemesan an
Copy of Purchase Order C ustom er Data Upda te Ku rs Dolar Cop y of Sales Contract
Acc & Finance Sales Contra ct
Customer PPIC&WH
D ata Purchase Request ReturRawMaterial Copy of Purchase R equest
Purchasing
2.0 Proses Pembelian Raw Material
Data Purchase Order Su pplier R eport
Purchase Request RawMateria l
Supplier
C opy of Purch ase Order
Supplier
Data WIP Daily report
Purchase Order Productio n Schedule Job Ord er Data WIP
3.0 Proses Pembua tan Pesanan
Produksi Data Finished Goods F in ishedGoods
Data Finished Goods yg ditolak Stock F inished Goods
Factory Ma nager
Daily Report D elivery Report Data Delivery
ReturFinishedGoods
4.0 Proses Pengiriman Pesanan
Delivery
Delivery Report
Gambar 4.2 Diagram Rinci Level 0 Sistem yang diusulkan
97
4.1.1.3
Diagram Rinci Level 1 pada sistem yang diusulkan
Gambar 4.3 Diagram Rinci Level 1 Sistem yang diusulkan
98
4.2
Perancangan Basis Data Perancangan basis data yang dilakukan pada P.T. Indogravure dibagi dalam tiga tahap, yaitu: 1. Perancangan Basis Data Konseptual 2. Perancangan Basis Data Logikal 3. Perancangan Basis Data Fisikal 4.2.1 Perancangan Basis Data Konseptual Tujuan dari perancangan basis data konseptual ini adalah untuk membangun model data konseptual berdasarkan kebutuhan data dari perusahaan. Tahap perancangan konseptual ini terdiri dari 9 langkah yang akan dibahas berikut ini: 4.2.1.1
Identifikasi Tipe Entitas Tujuan dari tahap ini adalah untuk menetukan entitas yang dibutuhkan Tabel 4.1 Identifikasi Tipe Entitas
Nama Entitas Staff
Deskripsi Semua
Alias Karyawan
Kejadian Satu Staff membuat nol
pekerja
atau lebih
dalam P.T.
PurchaseRequest, nol
Indogravure.
atau banyak PurchaseOrder, nol atau banyak PengeluaranRawMaterial
99
dan lebih dari satu JobOrder. Customer
Semua
Pelanggan
Satu Customer memiliki
Pemesan
lebih dari satu JobOrder.
pada P.T.
Satu Customer menerima
Indogravure.
lebih dari satu Delivery. Satu Customer memiliki lebih dari satu FinishedGoods. Satu Customer memiliki lebih dari satu WIP. Satu Customer memiliki lebih dari satu ReturFinishedGoods.
Supplier
Semua
Pemasok
Satu Supplier melakukan
pemasok
lebih dari satu
bahan baku
PenerimaanRawMaterial.
pada P.T.
Satu Supplier menerima
Indogravure.
nol atau lebih PurchaseOrder. Satu Supplier melakukan lebih dari satu
100
RawMaterial. RawM aterial
Semua
Bahan baku
Nol atau banyak
bahan baku
RawMaterial memiliki
yang
lebih dari satu
dibutuhkan
ReturRawMaterial.
pada P.T
Satu RawMaterial
Indogravure.
melibatkan lebih dari satu PenerimaanRawMaterial. Satu RawMaterial dimiliki lebih dari satu JobOrder. Satu RawMaterial memiliki lebih dari satu PengeluaranRawMaterial . Satu RawMaterial memiliki satu PurchaseRequest. Satu RawMaterial memiliki lebih dari satu WIP. Satu RawMaterial memiliki satu
101
PurchaseOrder. Satu RawMaterial memiliki lebih dari satu Supplier. FinishedGoods
Semua
Barang jadi
Satu FinishedGoods
barang jadi
memesan satu JobOrder.
yang
Satu FinishedGoods
diproduksi
dimiliki satu Customer.
oleh P.T.
Satu FinishedGoods
Indogravure.
memiliki satu Invoice. Satu FinishedGoods memiliki satu Delivery. Satu FinishedGoods memiliki satu ReturFinishedGoods.
SalesContract
Informasi
Permintaan
Setiap SalesContract
detail bahan
Penjualan
hanya dapat
baku barang
menghasilkan satu
pesanan
JobOrder. Setiap
yang telah
SalesContract
disetujui
hanya dapat
oleh
menghasilkan satu
102
JobOrder.
customer dan PT Indogravure JobOrder
Informasi
Perintah
Satu JobOrder
mengenai
Kerja
melibatkan lebih dari satu
komposisi
RawMaterial.
bahan baku
Satu JobOrder
yang akan
melibatkan lebih dari satu
digunakan
PengeluaranRawMaterial.
dalam
Satu JobOrder memiliki
proses
satu FinishedGoods.
produksi.
Satu JobOrder memiliki satu Delivery. Satu JobOrder memiliki satu WIP. Satu JobOrder dibuat satu Staff Satu JobOrder dimiliki oleh satu Customer. Satu JobOrder memiliki satu FinishedGoods. Satu JobOrder memiliki satu ReturRawMaterial.
103
PurchaseRequest
Informasi
Permintaan
Satu PurchaseRequest
mengenai
pembelian
melibatkan satu Staff.
permintaan
bahan baku
Satu PurchaseRequest
pembelian
melibatkan satu atau lebih
bahan baku
RawMaterial.
yang
Satu PurchaseRequest
diajukan
memiliki satu Cylinder.
oleh bagian
Satu PurchaseRequest
PPIC.
dimiliki satu PurchaseOrder.
PurchaseOrder
Informasi
Permintaan
Satu PurchaseOrder
pembelian
pembelian ke
melibatkan satu atau lebih
bahan baku
Supplier
RawM aterial.
yang
Satu PurchaseOrder
dilakukan
melibatkan satu
P.T.
PurchaseRequest.
Indogravure.
Satu PurchaseOrder melibatkan satu Supplier. Satu PurchaseOrder dibuat oleh satu Staff. Satu PurchaseOrder memiliki satu PenerimaanRawMaterial.
104
ProductionSchedule
WIP
Urutan
Jadwal
Setiap
pekerjaan
Produksi
ProductionSchedule
proses
melibatkan satu atau lebih
produksi
WIP.
Informasi
Proses
Setiap WIP memiliki satu
mengenai
Berjalan
JobOrder.
proses
Setiap WIP menghasilkan
pengolahan
lebih dari satu
bahan baku
FinishedGoods.
yang sedang
Setiap WIP melibatkan
berjalan
satu Customer. Setiap WIP melibatkan lebih dari satu RawMaterial. Setiap WIP memiliki satu ProductionSchedule.
Delivery
Informasi
Pengiriman
Setiap Delivery mengirim
pengiriman
ke satu atau lebih
barang jadi
Customer, melibatkan
pesanan
satu atau lebih JobOrder,
customer.
satu Staff, satu atau lebih FinishedGoods, dan
105
menggunakan satu atau lebih Vehicle. PenerimaanRawM aterial
Informasi
Penerimaan
Satu
mengenai
Bahan Baku
PenerimaanRawMaterial
penerimaan
melibatkan satu atau lebih
bahan baku
RawMaterial.
dari
Satu
supplier.
PenerimaanRawMaterial melibatkan satu Supplier. Satu PenerimaanRawMaterial melibatkan satu PurchaseOrder.
PengeluaranRawM aterial
Informasi
Pengeluaran
Setiap
mengenai
Bahan Baku
PengeluaranRawMaterial
penerimaan
melibatkan satu atau lebih
bahan baku
RawMaterial.
dari gudang.
Setiap PengeluaranRawMaterial melibatkan lebih dari satu JobOrder. Setiap
106
PengeluaranRawMaterial melibatkan satu RawMateriaEstimationl. ReturRawM aterial
Informasi
Pengembalia
Setiap ReturRawMaterial
tentang
n Bahan
melibatkan satu atau lebih
pengembalia
Baku
RawMaterial
n bahan
Setiap ReturRawMaterial
baku akibat
melibatkan lebih dari satu
cacat atau
JobOrder.
bahan baku
Setiap ReturRawMaterial
yang tidak
satu SupplierEvaluation.
sesuai oleh bagian produksi kepada bagian gudang. ReturFinishedGoods
Informasi
Pengembalia
Setiap
tentang
n Barang Jadi
ReturFinishedGoods
pengembalia
melibatkan satu atau lebih
n barang jadi
FinishedGoods.
akibat cacat
Setiap
107
atau bahan
ReturFinishedGoods
baku yang
melibatkan lebih dari satu
tidak sesuai
JobOrder.
oleh
Setiap
customer.
ReturFinishedGoods melibatkan satu Customer.
KursDollar
Informasi
Nilai dollar
Setiap nilai tukar dollar
tentang kurs
terhadap rupiah
dollar
mempengaruhi
terhadap
PurchaseOrder.
rupiah yang berlaku saat ini
4.2.1.2
Identifikasi Tipe-tipe Relasi Tujuan dari tahap ini adalah untuk menentukan hubunganhubungan yang terjadi di antara jenis-jenis entitas yang telah diidentifikasi.
1, 1
0,n
menghasilk an
1,n
0, 1
1,1
1, 1
1, 1
1,n
menghasi lkan
1,n
0,n
Menghas ilk an
Gambar 4.4 Entity Relationship Diagram (ERD) 1, n
1,1
1, 1
1,1
1,1
Staff
membuat
0,n
0, n
0,n
0, n
1, n
0,n
0,n
ReturRawMateri al
0, n
1, n
1, 1
1,n
mel ak uk an
1, 1
Suppli er
menambahkan 1,n
Peneri maanRawMateri al
KursD ollar menerima
1, 1
mengembali kan
0, n
Ra wMate ri al
1,n
mempengaruhi
0,n
0,n
mempengaruhi
Purcha seOrde r
1, 1
menghasilk an
membuat
1,1
1,1
meny ebabk an
mengurangi
0, n
Purcha seReq uest
0,n
membuat
1,1
meny et uj ui
membuat
Pe ng eluara nRa wMate ri al
membut uhkan
0, 1
0, 1
menghas ilk an
1, 1
WIP
1,n
menghasilk an
1, 1
Productio nSche dule
meli batk an
0, n
1,1
Jo bOrd er
1,n
0,n
0, n
mengurus
Sale sContract
melibatk an
C ustomer
mengembalikan
1,1
1,1
Menerima
ReturFi nished Goo ds
1,n
B agian dari
1,n
0,n
1, n
Fi nished Good s
mengirimk an
0, n
De livery
0, n
bagian dari
0, n
memerik s a
108
109
Tabel 4.2 M ultiplicity Tipe Relasional Nama Entiti
Multi- Relationship
Nama Entiti
plicity S taff
Customer
Supplier
RawMaterial
FinishedGoods
S alesContract
Multiplicity
1..1
M embuat
JobOrder
0..*
1..1
M embuat
PurchaseRequest
0..*
1..1
M embuat
PurchaseOrder
0..*
1..1
M emeriksa
PenerimaanRawMaterial
0..*
1..1
M enyetujui
PengeluaranRawMaterial 0..*
1..1
M embuat
S alesContract
0..*
1..1
M engurus
Delivery
0..*
1..1
M enerima
Delivery
1..*
1..1
M elibatkan
JobOrder
1..*
1..1
M engembalikan
ReturFinishedGoods
1..*
1..1
M elibatkan
S alesContract
0..*
1..1
M elakukan
PenerimaanRawMaterial
1..*
1..1
M enerima
PurchaseOrder
0..*
1..*
M enyebabkan
PurchaseRequest
0..*
1..*
M empengaruhi
PurchaseOrder
1..1
1..1
M engirimkan
Delivery
1..*
1..*
Bagian dari
ReturRawMaterial
1..*
1..1
Bagian dari
Delivery
1..*
1..1
M enghasilkan
JobOrder
1..*
110
JobOrder
1..*
M enghasilkan
ProductionS chedule
1..*
PurchaseRequest
1..1
M enghasilkan
PurchaseOrder
1..*
ProductionS chedu
1..1
M enghasilkan
WIP
1..*
0..1
M embutuhkan
PengeluaranRawMaterial 0..1
1..1
M enghasilkan
FinishedGoods
0..*
1..1
M enghasilkan
ReturRawMaterial
0..*
M enambah
RawMaterial
0..*
0..*
M engurangi
RawMaterial
0..*
0..*
M enambah
RawMaterial
0..*
1..1
M empengaruhi
PurchaseOrder
1..*
le WIP
PenerimaanRawM 0..* aterial PengeluaranRaw Material ReturRawMateria l KursDollar
4.2.1.3
Identifikasi dan Asosiasi Atribut dengan Tipe Entitas atau Relasi Tujuan dari tahap ini adalah untuk menentukan dan menghubungkan atribut dari entitas dengan jenis hubungan yang sesuai.
Tabel 4.3 Entitas Nama
Atribut
Deskripsi
Entiti Staff
Tipe Data &
Null
Length Staff_ID
Kode karyawan.
Char (6)
Multivalued
No
No
111
Staff_Nm
Nama karyawan.
Varchar (50)
No
No
Gender
Jenis kelamin .
Char(1)
No
No
Position_ID
Kode jabatan.
Char (6)
No
No
Position_Nm
Jabatan karyawan.
Varchar (30)
No
No
Staff_Phone
Nomor telepon
Varchar (15)
No
Yes
Datetime
No
No
Varchar (70)
No
No
karyawan. Start_Year
Tahun mulai bekerja.
Staff_Address Street
Nama jalan.
Varchar (20)
No
No
City
Nama Kota.
Varchar (6)
No
No
ZipPostal
Kode pos.
Varchar (2)
No
No
M enikah.
Integer
No
No
User_ID
Kode user.
Varchar (50)
No
No
Username
Nama user.
Varchar (6)
No
No
Password
Kata kunci.
Cust_ID
Kode pelanggan.
Char (6)
No
No
Cust_Nm
Nama perusahaan
Varchar (50)
No
No
Varchar (15)
No
Yes
Varchar (15)
Yes
Yes
Varchar (50)
No
Yes
Varchar (15)
No
Yes
M artial_Status
Customer
Keterangan status
pelanggan. Cust_Phone
Nomor telepon perusahaan pelanggan.
Cust_FAX
Nomor FAX perusahaan pelanggan.
CPC_Nm
Nama contact person pelanggan.
CPC_Phone
Nomor telepon contact person
112
pelanggan. Cust_Address
Varchar (70)
No
Yes
Street
Nama jalan.
Varchar (20)
No
Yes
City
Nama Kota.
Varchar (6)
No
Yes
Kode pos.
Varchar (30)
No
No
wajib pajak.
Varchar (10)
No
No
Seg_M arket
Segmen market.
Datetime
No
No
Insert_date_CS
Tanggal entri
ZipPostal NPWP
Nomor pokok
customer. Supplier
Supl_ID
Kode supplier.
Char (6)
No
No
Supl_Nm
Nama perusahaan
Varchar (50)
No
No
Varchar (15)
No
Yes
Varchar (15)
Yes
Yes
Varchar (50)
No
Yes
Varchar (15)
No
Yes
supplier. Supl _Phone
Nomor telepon supplier.
Supl _FAX
Nomor FAX supplier.
CPS_Nm
Nama contact person supplier.
CPS_Phone
Nomor telepon contact person supplier.
Supl _Address Street
Nama jalan.
City
Nama Kota.
Varchar (70)
No
Yes
ZipPostal
Kode pos.
Varchar (20)
No
Yes
Nomor pokok
Varchar (6)
No
Yes
wajib pajak.
Varchar (30)
No
No
Varchar (30)
No
No
NPWP
PKP
Nomor Pengusaha kena pajak.
113
Seg_Supl
Segmen market.
Insert_date_SP
Tanggal entri
Varchar (10)
No
No
supplier.
Datetime
No
No
RawM ateri RM _ID
Kode bahan baku.
Char (6)
No
No
al
RM _Nm
Nama bahan baku.
Varchar (50)
No
No
RMType_ID
Kode jenis bahan
Char (6)
No
No
Varchar (6)
No
No
Char (3)
No
No
Float
Yes
Yes
Float
Yes
Yes
Float
Yes
Yes
Float
Yes
Yes
M oney
No
Yes
M oney
No
Yes
Integer
Yes
Yes
Datetime
No
Yes
Datetime
No
Yes
baku. RMType_Nm
Nama jenis bahan baku.
RM _Satuan
Satuan ukuran bahan baku.
RM _M assa
M assa jenis bahan baku.
RM _Tebal
Tebal bahan baku per roll.
RM _Lebar
Lebar bahan baku per roll.
RM _Panjang
Panjang bahan baku per roll.
UnitPrice_Buy
Harga beli bahan baku satuan.
UnitPrice_Sell
Harga jual bahan baku satuan.
RM _Stock
Stock bahan baku saat ini.
RM _update_date
Tanggal update stok bahan baku.
Est_date
Tanggal estimasi stok.
114
M in_buff
Estimasi
Float
No
Yes
Float
No
Yes
Char (6)
No
No
Datetime
No
No
Integer
No
No
Integer
No
No
Integer
No
No
Char (13)
No
No
Datetime
No
No
Varchar (50)
No
No
Datetime
No
No
minimum stok. M ax_buff
Estimasi maksimum stok.
FinishedG
FG_ID
oods
Kode finished goods.
FG_Date
Tanggal barang pesanan selesai diproduksi.
FG_Qty
Jumlah barang jadi keseluruhan.
FG_Del
Jumlah barang jadi yang siap dikirim.
FG_Stock
Sisa barang jadi setelah diambil untuk pengiriman.
SalesContr
SC_ID
act
Kode SalesContract.
SC_Date
Tanggal pembuatan Sales.
POCust_No
Nomor Purchase Order yang didapat dari pihak pemesan.
POCust_Date
Tanggal pembuatan PO Customer.
Order_Type
Jenis pesanan.
Varchar (10)
No
No
DiameterRoll
Diameter roll
Integer
No
No
115
bahan baku. PcsPerRoll
Jumlah pieces
Integer
No
No
Integer
No
No
Integer
No
No
Integer
No
No
Varchar(15)
No
No
Integer
No
No
Integer
No
No
yang dihasilkan dalam satu roll. RunM eters
Jumlah panjang barang pesanan per roll.
ColorProc_InkC
Kepekatan bahan
o
baku yang akan diproses.
EstInkProc
Perkiraan jumlah tinta yang diperlukan.
Print_Type
Jenis cara mencetak.
Cyl_Pitch
Ukuran Pitch silinder.
Cyl_Up
Ukuran Up silinder.
Cyl_Width
Lebar silinder.
Integer
No
No
Cyl_Circum
Ukuran Circum
Integer
No
No
Varchar(10)
No
No
silinder. EyeM ark_Positio Posisi EyeM ark. n EyeM ark_Color
Warna EyeM ark.
Varchar(15)
No
No
Cutting_Position
Posisi
Varchar(50)
No
No
pemotongan. JobOrder
JO_ID
Kode Job order.
Char (14)
No
No
JO_Date
Tanggal Job
Datetime
No
No
116
Order. Qty_JO
Banyaknya
Integer
No
No
pesanan. Cetak_FF
Cetak front foil.
Varchar(50)
No
No
Cetak_BF
Cetak back foil.
Varchar(50)
No
No
Date_done
Tanggal selesai.
Datetime
No
No
Tgl_kesanggupa
Tanggal
Datetime
No
No
n
kesanggupan selesai.
Ukuran_Panjang
Ukuran panjang.
Integer
No
No
Ukuran_Lebar
Ukuran lebar.
Integer
No
No
ArahGulungan
Arah gulungan
Varchar(20)
No
No
rol. Warna
Jenis warna.
Varchar(20)
No
No
Warna_FF
Warna front foil.
Varchar(50)
No
No
Warna_BF
Warna back foil.
Varchar(50)
No
No
Alufoil
Tipe permukaan.
Varchar(20)
No
No
Printing
Tipe perinting.
Varchar(20)
No
No
Komposisi_FF
Komposisi bahan
Varchar(50)
No
No
Varchar(50)
No
No
Varchar(50)
No
Yes
Integer
No
Yes
Varchar(50)
No
No
Integer
No
No
dari FF. Komposisi_BF
Komposisi bahan dari BF.
Est_Bahan
Nama estimasi bahan baku utama.
Est_Panjang_bah
Panjang bahan
an
baku utama.
Sandwich
Bahan pendukung yang digunakan untuk lapisan.
Est_Berat_sandw Berat sandwich.
117
ich Coating
Nama bahan baku
Varchar(50)
No
No
Berat coating.
Integer
No
No
Tipe tinta yang
Varchar(20)
No
Yes
pendukung yang digunakan untuk pelindung luar. Est_Berat_coatin g Est_Type_Tinta
digunakan. Est_Berat_T
Berat tinta.
Integer
No
Yes
Est_Type_ADH
Tipe ADHE yang
Varchar(20)
No
Yes
E
digunakan.
Est_Berat_A
Berat ADHE.
Integer
No
Yes
Est_Type_Solfen
Tipe solfent yang
Varchar(20)
No
Yes
t
digunakan.
Est_Berat_S
Berat Solfent.
Integer
No
Yes
Keterangan
Keterangan /
Varchar(50)
No
No
Varchar(20)
No
No
Varchar(50)
No
No
Char (6)
No
No
Datetime
No
No
Float
No
Yes
komentar. Packing
Tipe packing yang diinginkan.
Purchase
M etode_pengiri
M etode
man
pengiriman.
PR_ID
Kode permintaan
Request
pembelian. PR_Date
Tanggal pembuatan permintaan pembelian.
PR_Qty
Jumlah bahan baku yang dibeli.
118
Date_Needed
Tanggal
Datetime
No
Yes
diperlukan. PurchaseO
PO_ID
Kode PO.
Char (6)
No
No
rder
PO_Date
Tanggal
Datetime
No
No
Integer
No
Yes
M oney
No
Yes
pembuatan PO. Qty_Prchs
Jumlah bahan baku yang akan dibeli.
SubTotalPrice
Sub total harga bahan baku.
Tax
Presentase pajak.
Integer
No
No
GrandTotal
Total harga
M oney
No
No
Datetime
No
Yes
Datetime
No
Yes
pembelian bahan baku. DelPO_Date
Tanggal pengiriman bahan baku yang dibeli.
Payment
Waktu pembayaran.
Production
PS_ID
Kode jadwal.
Char (6)
No
No
Schedule
M achine_ID
Kode mesin.
Char (6)
No
Yes
M achine_Nm
Nama mesin.
Varchar(20)
No
Yes
Proc_Date
Tanggal proses
Datetime
No
Yes
Integer
No
Yes
dilakukan. Qty_Used
Jumlah bahan baku yang digunakan.
WIP
Status
Status konfirmasi.
Varchar(20)
Yes
Yes
WIP_ID
Kode WIP.
Char(6)
No
No
WIP_Date
Tanggal
Datetime
No
No
119
pengerjaan proses. Qty_Take
Jumlah bahan
Integer
Yes
No
Integer
Yes
No
Char(17)
No
No
Datetime
No
No
Varchar (9)
No
Yes
Integer
No
Yes
Integer
No
Yes
Varchar (20)
No
No
Char (6)
No
No
Integer
No
Yes
baku yang digunakan untuk proses selanjutnya. Qty_After
Sisa bahan baku setelah diambil untuk proses berikutnya.
Delivery
Del_ID
Kode pengiriman barang jadi.
Del_Date
Tanggal pengiriman barang jadi.
Car_Num
Nomor polisi kendaraan yang digunakan untuk mengirim barang jadi.
Del_Length
Total panjang barang yang dikirim.
Del_Width
Total lebar barang yang dikirim.
Status_DEL
Status pengiriman barang jadi.
Penerimaa
PNRM _ID
nRawM ate rial
Kode penerimaan bahan baku.
Qty_PNRM
Kuantitas
120
penerimaan bahan baku. PNRM _date
Tanggal
Datetime
No
No
Varchar (20)
No
No
Char (6)
No
No
Datetime
No
No
Integer
No
Yes
Varchar (20)
No
No
Char (6)
No
No
Integer
No
Yes
Char (6)
No
No
Varchar (15)
No
No
Alasan retur bahan Varchar (50)
No
Yes
penerimaan bahan baku. Status_PNRM
Status penerimaan bahan baku.
Pengeluara
PNGRM _ID
nRawM ate rial
Kode pengeluaran bahan baku.
PNGRM _date
Tanggal pengeluaran bahan baku.
Qty_PNGRM
Kuantitas pengeluaran bahan baku.
Status_PNGRM
Status pengeluaran bahan baku.
ReturRaw
RRM _ID
M aterial
Kode retur bahan baku.
Qty_RRM
Jumlah retur bahan baku.
Bag_Prod_ID
Kode bagian produksi yang melakukan retur.
Bag_Prod_Nm
Nama bagian produksi yang melakukan retur.
Alasan_RRM
baku.
121
RRM _date
Tanggal retur
Datetime
No
No
Char (6)
No
No
Integer
No
Yes
Varchar(50)
No
Yes
Datetime
No
No
Datetime
No
No
M oney
No
No
bahan baku. ReturFinis
RFG_ID
Kode retur barang
hedGoods
jadi. Qty_RFG
Jumlah retur barang jadi.
Alasan_RFG
Alasan retur barang jadi.
RFG_date
Tanggal retur barang jadi.
KursDollar
Kurs_Date
Tanggal pengupdatean kurs.
Kurs_Value
4.2.1.4
Nilai tukar.
Menentukan Domain Atribut Tujuan dari tahap ini adalah untuk menentukan domain untuk tiap atribut pada model data konseptual lokal. Tabel 4.4 Domain Attribut
Nama Entitas Staff
Atribut Staff_ID
Tipe Data & Length Char (6)
Domain 6 karakter, dengan 2 digit pertama huruf dan berikutnya angka range 0001-9999.
Staff_Nm
Varchar (50)
Berupa variant karakter dengan maksimal 50
122
huruf termasuk spasi. Gender
Char(1)
Hanya 1 karakter [M /F].
Position_ID
Char (6)
6 karakter, dengan 2 digit pertama huruf dan berikutnya angka range 0001-9999.
Position_Nm
Varchar (30)
Berupa variant karakter dengan maksimal 30 huruf termasuk spasi.
Staff_Phone
Varchar (15)
Berupa variant karakter dengan maksimal 15.
Start_Year
Datetime
Tahun mulai bekerja [yyyy].
Staff_Address Street
Varchar (70)
Berupa variant karakter dengan maksimal 70 huruf termasuk spasi.
City
Varchar (20)
Berupa variant karakter dengan maksimal 20 huruf termasuk spasi.
ZipPostal
Varchar (6)
Berupa angka dengan maksimal 6 karakter.
123
M arital_Status
Varchar (2)
Berupa Berupa variant karakter maksimal 2 huruf.
User_ID
Integer
Berupa Integer.
Username
Varchar (50)
Huruf berupa variant karakter dengan maksimal 50.
Password
Varchar (6)
Berupa variant karakter dengan panjang 6.
Customer
Cust_ID
Char (6)
6 karakter, dengan 2 digit pertama huruf dan berikutnya angka range 0001-9999.
Cust_Nm
Varchar (50)
Berupa variant karakter dengan maksimal 50 huruf termasuk spasi.
Cust_Phone
Varchar (15)
Berupa variant karakter dengan maksimal 15.
Cust_FAX
Varchar (15)
Berupa variant karakter dengan maksimal 15.
CPC_Nm
Varchar (50)
Berupa variant karakter dengan maksimal 50 huruf termasuk spasi.
124
CPC_Phone
Varchar (15)
Berupa variant karakter dengan maksimal 15.
Cust_Address Street
Varchar (70)
Berupa variant karakter dengan maksimal 70 huruf termasuk spasi.
City
Varchar (20)
Berupa variant karakter dengan maksimal 20 huruf termasuk spasi.
ZipPostal
Varchar (6)
Berupa angka dengan maksimal 6 karakter.
NPWP
Varchar (30)
Berupa Berupa variant karakter maksimal 30 huruf.
Seg_M arket
Varchar (10)
Berupa variant karakter dengan maksimal 10 huruf termasuk spasi.
Supplier
Insert_date_CS
Datetime
Tanggal [dd/mm/yyyy].
Supl_ID
Char (6)
6 karakter, dengan 2 digit pertama huruf dan berikutnya angka range 0001-9999.
Supl_Nm
Varchar (50)
Berupa variant karakter
125
dengan maksimal 50 huruf termasuk spasi. Supl _Phone
Varchar (15)
Berupa variant karakter dengan maksimal 15.
Supl _FAX
Varchar (15)
Berupa variant karakter dengan maksimal 15.
CPS_Nm
Varchar (50)
Berupa variant karakter dengan maksimal 50 huruf termasuk spasi.
CPS_Phone
Varchar (15)
Berupa variant karakter dengan maksimal 15.
Supl _Address Street
Varchar (70)
Berupa variant karakter dengan maksimal 70 huruf termasuk spasi.
City
Varchar (20)
Berupa variant karakter dengan maksimal 20 huruf termasuk spasi.
ZipPostal
Varchar (6)
Berupa angka dengan maksimal 6 karakter.
NPWP
Varchar (30)
Berupa Berupa variant karakter maksimal 30 huruf.
126
PKP
Varchar (30)
Berupa Berupa variant karakter maksimal 30 huruf.
Seg_Supl
Varchar (10)
Berupa variant karakter dengan maksimal 10 huruf termasuk spasi.
RawM aterial
Insert_date_SP
Datetime
Tanggal [dd/mm/yyyy]
RM _ID
Char (6)
6 karakter, dengan 2 digit pertama huruf dan berikutnya angka range 0001-9999.
RM _Nm
Varchar (50)
Berupa variant karakter dengan maksimal 50 huruf termasuk spasi.
RMType_ID
Char (6)
6 karakter, dengan 2 digit pertama huruf dan berikutnya angka range 0001-9999.
RMType_Nm
Varchar (6)
Berupa variant karakter dengan maksimal 6 huruf termasuk spasi.
RM _Satuan
Char (3)
Berupa karakter dengan maksimal 3.
127
RM _M assa
Float
Berupa angka decimal.
RM _Tebal
Float
Berupa angka decimal.
RM _Lebar
Float
Berupa angka decimal.
RM _Panjang
Float
Berupa angka decimal.
UnitPrice_Buy
M oney
Berupa money.
UnitPrice_Sell
M oney
Berupa money.
RM _Stock
Integer
Berupa Integer.
RM _update_dat
Datetime
Tanggal [dd/mm/yyyy].
Est_date
Datetime
Tanggal [dd/mm/yyyy].
M in_buff
Float
Berupa angka decimal.
M ax_buff
Float
Berupa angka decimal.
FG_ID
Char (6)
6 karakter, dengan 2
e
FinishedGoods
digit pertama huruf dan berikutnya angka range 0001-9999.
SalesContract
FG_Date
Datetime
Tanggal [dd/mm/yyyy].
FG_Qty
Integer
Berupa Integer.
FG_Del
Integer
Berupa Integer.
FG_Stock
Integer
Berupa Integer.
SC_ID
Char (13)
13 karakter, 4 digit pertama menunjuk
128
angka, 2 digit kode transaksi, 5 karakter terakhir menunjukkan bulan dan tahun penerimaan order. SC_Date
Datetime
Tanggal [dd/mm/yyyy].
POCust_No
Varchar (50)
Berupa variant karakter dengan maksimal 50 huruf.
POCust_Date
Datetime
Tanggal [dd/mm/yyyy].
Order_Type
Varchar (10)
Berupa variant karakter dengan maksimal 10 huruf.
DiameterRoll
Integer
Berupa Integer.
PcsPerRoll
Integer
Berupa Integer.
RunM eters
Integer
Berupa Integer.
ColorProc_Ink
Integer
Berupa Integer.
EstInkProc
Integer
Berupa Integer.
Print_Type
Varchar(15)
Berupa variant karakter
Co
dengan maksimal 15 huruf. Cyl_Pitch
Integer
Berupa Integer.
129
Cyl_Up
Integer
Berupa Integer.
Cyl_Width
Integer
Berupa Integer.
Cyl_Circum
Integer
Berupa Integer.
EyeM ark_Positi Varchar(10)
Berupa variant karakter
on
dengan maksimal 10 huruf.
EyeM ark_Color Varchar(15)
Berupa variant karakter dengan maksimal 15 huruf.
Cutting_Positio
Varchar(50)
Berupa variant karakter dengan maksimal 50
n
huruf. JobOrder
JO_ID
Char (14)
14 karakter, 4 digit pertama menunjuk angka, 2 digit kode transaksi, 6 karakter terakhir menunjukkan bulan dan tahun penerimaan order.
JO_Date
Datetime
Tanggal [dd/mm/yyyy].
Qty_JO
Integer
Berupa integer.
Cetak_FF
Varchar(50)
Berupa variant karakter dengan maksimal 50
130
huruf termasuk spasi. Cetak_BF
Varchar(50)
Berupa variant karakter dengan maksimal 50 huruf termasuk spasi.
Date_done
Datetime
Tanggal [dd/mm/yyyy].
Tgl_kesanggup
Datetime
Tanggal [dd/mm/yyyy].
Varchar(20)
Berupa variant karakter
an Warna
dengan maksimal 20 huruf termasuk spasi. ArahGulungan
Varchar(20)
Berupa variant karakter dengan maksimal 20 huruf termasuk spasi.
Warna_FF
Varchar(50)
Berupa variant karakter dengan maksimal 50 huruf termasuk spasi.
Warna_BF
Varchar(50)
Berupa variant karakter dengan maksimal 50 huruf termasuk spasi.
Integer
Berupa integer.
Ukuran_Lebar
Integer
Berupa integer.
Alufoil
Varchar(20)
Berupa variant karakter
Ukuran_Panjan g
131
dengan maksimal 20 huruf termasuk spasi. Printing
Varchar(20)
Berupa variant karakter dengan maksimal 20 huruf termasuk spasi.
Komposisi_FF
Varchar(50)
Berupa variant karakter dengan maksimal 50 huruf termasuk spasi.
Komposisi_BF
Varchar(50)
Berupa variant karakter dengan maksimal 50 huruf termasuk spasi.
Est_Bahan
Varchar(50)
Berupa variant karakter dengan maksimal 50 huruf termasuk spasi.
Est_Panjang_B
Integer
Berupa Integer.
Varchar(50)
Berupa variant karakter
ahan Sandwich
dengan maksimal 50 huruf termasuk spasi. Est_Berat_sand
Integer
Berupa Integer.
Varchar(50)
Berupa variant karakter
wich Coating
dengan maksimal 50
132
huruf termasuk spasi. Est_Berat_coati
Integer
Berupa Integer.
ng Est_Type_Tinta Varchar(20)
Berupa variant karakter dengan maksimal 20 huruf termasuk spasi.
Est_Berat_T
Integer
Berupa Integer.
Est_Type_ADH Varchar(20)
Berupa variant karakter
E
dengan maksimal 20 huruf termasuk spasi.
Est_Berat_A
Integer
Berupa integer.
Est_Type_Solfe
Varchar(20)
Berupa variant karakter
nt
dengan maksimal 20 huruf termasuk spasi.
Est_Berat_S
Integer
Berupa integer.
Keterangan
Varchar (50)
Berupa variant karakter dengan maksimal 50 huruf termasuk spasi.
Packing
Varchar(20)
Berupa variant karakter dengan maksimal 20 huruf termasuk spasi.
M etode_pengiri man
Varchar(50)
Berupa variant karakter dengan maksimal 50
133
huruf termasuk spasi. Purchase
PR_ID
Char (6)
6 karakter, dengan 2 digit pertama huruf dan
Request
berikutnya angka range 0001-9999.
PurchaseOrder
PR_Date
Datetime
Tanggal [dd/mm/yyyy].
PR_Qty
Float
Berupa angka decimal.
Date_Needed
Datetime
Tanggal [dd/mm/yyyy].
PO_ID
Char (6)
6 karakter, dengan 2 digit pertama huruf dan berikutnya angka range 0001-9999.
Production Schedule
PO_Date
Datetime
Tanggal [dd/mm/yyyy].
Qty_Prchs
Integer
Berupa Integer.
SubTotalPrice
M oney
Berupa M oney.
Tax
Integer
Berupa Integer.
GrandTotal
M oney
Berupa M oney.
DelPO_Date
Datetime
Tanggal [dd/mm/yyyy].
Payment
Datetime
Tanggal [dd/mm/yyyy].
PS_ID
Char (6)
6 karakter, dengan 2 digit pertama huruf dan berikutnya angka range
134
0001-9999. M achine_ID
Char (6)
6 karakter, dengan 2 digit pertama huruf dan berikutnya angka range 0001-9999.
M achine_Nm
Varchar(20)
Berupa variant karakter dengan maksimal 20 huruf termasuk spasi.
Proc_Date
Datetime
Tanggal [dd/mm/yyyy].
Qty_Used
Integer
Berupa Integer.
Status
Varchar(20)
Berupa variant karakter dengan maksimal 50 huruf.
WIP
WIP_ID
Char(6)
6 karakter, dengan 2 digit pertama huruf dan berikutnya angka range 0001-9999.
Delivery
WIP_Date
Datetime
Tanggal [dd/mm/yyyy].
Qty_Take
Integer
Berupa Integer.
Qty_After
Integer
Berupa Integer.
Del_ID
Char(17)
17 karakter, dengan 5 digit pertama angka, 3
135
digit berikutnya kode DEL, 2 digit menyatakan bulan, 4 digit menyatakan tahun. Del_Date
Datetime
Tanggal [dd/mm/yyyy].
Car_Num
Varchar (9)
Berupa variant karakter dengan maksimal 9 karakter termasuk spasi.
Del_Length
Integer
Berupa angka.
Del_Width
Integer
Berupa angka.
Status_DEL
Varchar (20)
Berupa variant karakter dengan maksimal 20 huruf termasuk spasi.
PenerimaanRawM
PNRM _ID
Char (6)
6 karakter, dengan 2 digit pertama huruf dan
aterial
berikutnya angka range 0001-9999. PNRM _date
Datetime
Tanggal [dd/mm/yyyy].
Status_PNRM
Varchar (20)
Berupa varian karakter sebanyak 20 huruf termasuk spasi.
136
PengeluaranRawM
Qty_PNRM
Integer
Berupa angka.
PNGRM _ID
Char (6)
6 karakter, dengan 2 digit pertama huruf dan
aterial
berikutnya angka range 0001-9999. PNGRM _date
Datetime
Tanggal [dd/mm/yyyy].
Status_
Varchar (20)
Berupa variant karakter dengan maksimal 20
PNGRM
huruf termasuk spasi.
ReturRawM aterial
Qty_PNRM
Integer
Berupa angka.
RRM _ID
Char (6)
6 karakter, dengan 2 digit pertama huruf dan berikutnya angka range 0001-9999.
Qty_RRM
Integer
Berupa Integer.
Bag_Prod_ID
Char (6)
6 karakter, dengan 2 digit pertama huruf dan berikutnya angka range 0001-9999.
Bag_Prod_Nm
Varchar (15)
Berupa variant karakter dengan maksimal 15 huruf termasuk spasi.
137
Alasan_RRM
Varchar(50)
Berupa variant karakter dengan maksimal 50 huruf termasuk spasi.
ReturFinishedGoo
RRM _date
Datetime
Tanggal [dd/mm/yyyy].
RFG_ID
Char (6)
6 karakter, dengan 2 digit pertama huruf dan
ds
berikutnya angka range 0001-9999. Qty_RFG
Integer
Berupa Integer.
Alasan_RFG
Varchar(50)
Berupa variant karakter dengan maksimal 50 huruf termasuk spasi.
KursDollar
4.2.1.5
RFG_date
Datetime
Tanggal [dd/mm/yyyy].
Kurs_Date
Datetime
Tanggal [dd/mm/yyyy].
Kurs_Value
M oney
Berupa money.
Menentukan kandidat dan primary key tiap entitas Tujuan dari tahap ini adalah untuk mengidentifikasi candidate keypada setiap entitas, dan bila ada lebih dari satu candidate key maka dipilihsalah satunya untuk menjadi primary key dan yang lainnya menjadi alternate key.
138
Tabel 4.5 Identifikasi Candidate Key dan Primary Key No 1
Entity Staff
Candidate Key Staff_ID
Primary Key Staff_ID
Staff_Nm Position_ID Position_Nm Staff_Phone Staff_Address Username 2
Customer
Cust_ID
Cust_ID
Cust_Nm Cust_Phone Cust_FAX NPWP 3
Supplier
Supl_ID
Supl_ID
Supl_Nm Supl _Phone Supl _FAX Supl _Address NPWP PKP 4
RawM aterial
RM _ID
RM _ID
139
5
FinishedGoods
FG_ID
FG_ID
6
SalesContract
SC_ID
SC_ID
7
JobOrder
JO_ID
JO_ID
8
PurchaseRequest
PR_ID
PR_ID
PR_Date 9
PurchaseOrder
PO_ID
PO_ID
10
ProductionSchedule
PS_ID
PS_ID
11
WIP
WIP_ID
WIP_ID
12
Delivery
Del_ID
Del_ID
13
PenerimaanRawM aterial
PNRM _ID
PNRM _ID
14
PengeluaranRawM aterial
PNGRM _ID
PNGRM _ID
15
ReturRawM aterial
RRM _ID
RRM _ID
16
ReturFinishedGoods
RFG_ID
RFG_ID
17
KursDollar
Kurs_Date
Kurs_Date
1, 1
0, n
D el ivery
RF G_id
1, n
0,1
1,1
CUS T _id
1,1
1,n
menghas ilk an
1,n
0,n
WIP WIP _id
Gambar 4.5 ERD Konseptual dengan Primary Key 1, n
PNGRM_id
S taff _id
1, 1
1,1
1, 1
1,1
PR_id
0,n
mengurangi
0, n
0, n
0,n
0, n
1, n
0,n
RM_ id
0,n
P O_i d
RRM _id
ReturRawMa teri al
0, n
1,n
1, n
Su pl_ID
melakuk an
1, 1
Su ppli er
P NRM _id
Pene rima anRa wMate ria l
1,1
1,n menambahk an
Ku rs_d ate
KursDo llar
menerima
1, 1
mengem balik an
0, n
RawMa te rial
1, n
mempengaruhi
0,n
0, n
mempengaruhi
Purcha seOrd er
1,1
menghas ilk an
membuat
1, 1
1, 1
meny ebabkan
Staff
membuat
Purcha seRe quest
0, n
membuat
1, 1
meny et ujui
membuat
Peng elua ranRa wMate ria l
m embutuhkan
0,1
0,1
menghas ilk an
1, 1
1,1
menghas ilk an
1, n
P S_ id
Prod ucti onSche dule
melibatk an
0, n
JO_id
0,n
Menghasil kan
1, 1
JobOrde r
1,n
0,n
SC_ID
Sa lesC ontra ct
melibatk an
1,1
Custome r
mengembalik an
1, 1
1,1
Menerima
Re turFi nishe dGood s
1,n
Bagian dari
1,n
menghas ilk an
0, n
FG_ id
0,n
1, n
Fi nishe dGood s
mengiri mkan
DEL _id
0,n
bagian dari
mengurus
0, n
memerik sa
140
141
4.2.1.6
Pertimbangan penggunaan Konsep Model EERD Tujuan dari tahap ini adalah untuk mempertimbangkan penggunaan
konsep
pengembangan
model,
seperti penggunaan
spesialisasi/generalisasi, agregasi, dan komposisi. RawMaterial RM_id RM_Nm RMTy pe_Nm UnitPrice_B uy UnitPrice_S ell
{Mandatory,Or} Relationship_33
RMUtama RM_Tebal RM_Lebar RM_Panjang
RMPembantu RM_Massa
Gambar 4.6 Spesialisasi dengan superclass RawM aterial dan subclass RM Utama dan RM Pembantu Pada entitas RawM aterial digunakan spesialisasi dengan superclass RawM aterial dan subclass RM Utama dan RM Pembantu. Spesialisasi tersebut bersifat mandatory dan disjoint, karena semua RawM aterial pasti merupakan RM Utama atau RM Pembantu, dan setiap RawM aterial tidak bisa termasuk dalam RM Utama dan RMPembantu sekaligus.
142
JobOrder JO_ID JO_Date Qty_JO Cetak_FF Cetak_B F Date_Done Tgl _Kesanggupan Ukuran_P anj ang Ukuran_Lebar Warna Warna_FF Warna_BF Al ufoi l Pri nti ng
JO_Pri nti ng
Dry
E xtrudeLami nasi
Est_T ype_T i nta Est_T ype_A DHE Est_T ype_S ol fent
B ag_M aki ng
Sandwi ch Coati ng Est_Berat_S andwi ch
Kom posi si _FF Kom posi si _BF Bahan Est_P anjang_Bahan
Packi ng
Gambar 4.7 Spesialisasi dengan superclass JobOrder dan subclass JO_Printing, ExtrudeLaminating, Dry, Bag_M aking
Pada
entitas
JobOrder
digunakan
spesialisasi
dengan
superclass JobOrder dan subclass JO_Printing, ExtrudeLaminasi, Dry, dan Bag_M aking. Spesialisasi tersebut bersifat mandatory dan nondisjoint, karena entitas JobOrder bisa merupakan JO_Printing, ExtrudeLaminasi, Dry, dan Bag_M aking sekaligus. 4.2.1.7
Memeriksa Model yang Redundan Tujuan dari tahap ini adalah untuk memeriksa ada atau tidaknya redundancy. Langkah-langkahnya adalah sebagai berikut: 1. Re-examine one-to-one (1:1) Langkah ini dilakukan untuk menghindari dua entitas yang mewakili obyek yang sama, sehingga kedua entitas tersebut harus
143
digabung menjadi satu. Dalam model ERD di atas tidak ditemukan satu obyek yang diwakili oleh dua entitas. 2. Remove redundant relationships Langkah ini dilakukan bila ada informasi yang sama yang bisa didapatkan melalui relasi yang berbeda. Tujuannya adalah untuk mendapatkan model data yang sederhana. Dalam model ini tidak terdapat relasi yang redundant.
4.2.1.8
Validasi Model Konseptual berdasarkan Transaksi Pengguna Tujuan dari tahap ini adalah untuk memastikan bahwa model konseptual ini mendukung transaksi-transaksi yang diperlukan oleh pengguna. Pendekatan yang digunakan dalam langkah ini meliputi: 1. M enggunakan pathway transaksi Tujuannya adalah untuk memastikan model konseptual lokal mendukung transaksi yang diperlukan oleh User. Pendekatan pathway transaksi ini memvalidasi model data berdasarkan transaksi yang diperlukan yang melibatkan gambar jalur transaksi yang langsung diterapkan pada ERD.
0,n
0,n
Deliv ery
N
0,n
RFG_id
1,n
0,1
0,n
1,1
1,n
I
WI P_id
WIP
1,n
P S _id
E
1,n
meng hasilka n
1,n
0,n
L
O
menghasi lkan
0,1
Q
1,1
1,1
S taff_ id
1,1
PNGRM _id
F
1,1
1,1
A
1,n
0,n
P R_id
0,n
0,n
mengura ng i
menyeba bkan
0,n
G
0,n
1,1
0,n
RM _id
me nghasi lkan
membua t
1,1
Staff
P urc ha seR eque st
0,n
me mb uat
me nyetujui
membuat
H
membuat
Pe ngelua ranRa wMa terial
membutuhka n
0,1
menghasi lkan
1,1
Pr oductionSchedule
J
JO_id
0,n
Me ng hasil kan
1,1
JobOrder
1,n
me liba tkan
1,1
B
CUS T_ id
0,n
SC_ID
SalesC ontrac t
me lib atka n
1,1
C ustom er
meng embali kan
1,1
1,1
Mene ri ma
Re tur FinishedGoods
1,n
me ng emba likan
1,n
K mengha silkan
FG_id
Finis he dGoods
1,1
mengi rimkan
DE L_i d
1,n
bag ia n da ri
1,n
0,n
RRM_id
Kur s_da te
1,n
P NRM_ id
me nambahka n
1,n
1,1
S upl _ID
1,n
mela kukan
0,n
Supplier
M
C
Penerimaa nR awMaterial
K ur sDollar
menerima
1,1
meng embali kan
0,n
R awMaterial
R eturRa wMa te ria l
D
1,1
mempe ngaruhi
0,n 0,n
1,n
P O_ id
Pur chaseOrder
mempe ngaruhi
P
0,n
memeri ksa
144
Gambar 4.8 ERD Konseptual dengan Pathway
145
2. M enjelaskan transaksi Penjelasan dari pathway transaksi di atas: A. M emasukkan, mengubah, dan mencari data Staff B. M emasukkan, mengubah, dan mencari data Customer C. M emasukkan, mengubah, dan mencari data Supplier D. M emasukkan, mengubah, dan mencari data Raw Material E. M encatat dan mencari data Job Order F. M emasukkan dan mencari data PurchaseRequest G. M emasukkan dan mencari data PurchaseOrder H. M emasukkan dan mencari data SalesContract I. M encatat data WIP J. M embuat, mengubah, menghapus dan mencari data ProductionSchedule serta memeriksa status yang ada K. M emasukkan, mengubah, mencari data pada Finished Goods serta memeriksa status yang ada L. M encatat data Delivery dan memeriksa status yang ada M . M engubah data Kurs Dollar N. M embuat Delivery Report O. M emasukkan, mengubah, mencari data pada ReturRawMaterial serta memeriksa status yang ada P. M emasukkan, mengubah, mencari data pada PenerimaanRawMaterial memeriksa status yang ada
146
Q. M emasukkan, mengubah, mencari data pada PengeluaranRawMaterial memeriksa status yang ada R. M embuat Daily Report S. M encatat data ReturFinishedGoods T. M encatat data ReturRawMaterial
4.2.1.9
Melihat kembali Model Data Konseptual dengan Pengguna Peninjauan kembali dilakukan untuk memastikan bahwa model konseptual sudah mencakup semua kebutuhan data perusahaan. M odel konseptual di atas sudah meliputi diagram ER dan dokumen yang mendukung representasi data model.
4.2.1.10
Pemilihan Database Management S ystem (DBMS ) Pemilihan DBM S merupakan hal yang dilakukan untuk
menentukan DBM S apa yang nantinya akan
digunakan oleh
perusahaan. Di bawah ini merupakan tabel perbandingan DBM S antara M icrosft SQL Server 2000, M ySQL AB MySQL 5.0.45, dan Oracle 9i :
147
Tabel 4.6 Tabel perbandingan antara M icrosoft SQL Server 2000, MySQL AB MySQL 5.0.45, dan Oracle 9i Keterangan
Tipe DBM S
Microsoft SQL
MySQL AB
Server 2000
MySQL 5.0.45
Oracle 9i
Transactional
Relational
Transactional
relational
database
relational database
database
Server
server
server
(Transactional dengan driver InnoDB) $1,500-$15,000
$1,489-$4,999
$0 (lisensi umum)
(Professional
atau $395 (lisensi
Edition)
komersial)
Kebutuhan
Processor :
Kebutuhan
Processor :
piranti keras
Pentium 166 MHz
minimum yang
Pentium 166 MHz
(minimum)
diperlukan oleh
(minimum)
Memory :
sistem operasinya
Memory :
Biaya
64 M B RAM
128 M B RAM
(minimum)
(minimum)
Hard disk space :
Hard disk space :
145
140 M B pada System
M B (minimum),
Drive ditambah 4,5
148
380
GB untuk Oracle
M B (typical)
Home Drive (FAT) atau 2,8 GB untuk Oracle Home Drive (NTFS)
Kebutuhan
Windows 2000
Linux / Sistem
Oracle 9i
piranti lunak
Server atau
operasi berbasis
mendukung semua
Windows
UNIX, MyODBC
platform termasuk
.NET Server 2003,
(untuk ODBC
platform berbasis
Internet Explorer
driver support),
Windows,
5.0
Connector / J
AIXBased
(untuk JDBC
Systems,
driver
Compaq Tru64
support)
UNIX, HP 9000 Series HP-UX, Linux Intel, Sun Solaris, dan Sebagainya
Kelebihan
M endukung
Cuma-cuma,
DBM S dengan
kehandalan dan
dokumentasi
standar industri
keamanan tingkat
secara
mampu mengatur
enterprise, dapat
online
data tingkat
149
menjalankan
enterprise,
berbagai
mendukung semua
basis data dalam
akses standar basis
satu
data pada umumnya,
server
memiliki kehandalan dan tingkat keamanan yang tinggi
Kekurangan
Biaya cukup
Tidak sepenuhnya
Lisensi berdasarkan
tinggi,
compatible dengan
per individu bukan
memerlukan
SQL92 (yang
medianya,
Windows 2000
menyebabkan
dokumentasi sulit
Server
masalah dengan
dipahami
aplikasi server yang membuat query SQLnya sendiri, versi yang cumacuma tidak mendapatkan bantuan teknis, tidak dapat
150
mengunci objek dibawah level tabel) Keterbatasan
Terbatas
Terbatas hingga 32
basis data
mendekati 2
index tiap tabel,
miliar objek dalam
ukuran basis data
basis data
terbatas hingga
Tidak diketahui
ukuran terbesar file dari sistem operasinya Pemenuhan
M endukung
Piranti lunak open
M endukung failover
ACID
failover
source
clusters, pemulihan
cluster, pemulihan
point in time dan
point in time, dapat
kehandalan tingkat
melakukan restart
enterprise lainnya
jika berhenti Keamanan
SQL99, XM L,
SQL92
SQL92
ODBC, JDBC,
Intermediate,
Intermediate,
TSQL
ODBC
ODBC
(memerlukan
(memerlukan
MyODBC), JDBC
MyODBC), JDBC
151
Data di atas menunjukkan bahwa Oracle 9i memiliki kemampuan yang lebih baik dibandingkan dengan SQL Server 2000 dan MySQL, namun biaya yang harus dikeluarkan untuk DBM S tersebut relatif tinggi, sedangkan M ySQL yang memiliki biaya rendah memiliki persyaratan piranti lunak berbasis UNIX. Sehingga untuk pengelolaannya tidak diperlukan DBM S dengan kemampuan yang besar seperti Oracle 9i. Dengan pertimbangan masalah biaya, kemudahan teknis, kapasitas DBM S dibandingkan dengan jumlah transaksinya maka disarankan MySQL 5.0.45 sebagai DBM S yang digunakan untuk mengimplementasikan rancangan basis data.
4.2.2
Perancangan Basis Data Logical Perancangan basis data logikal merupakan suatu proses pembuatan model dengan menggunakan informasi yang diperoleh dari perusahaan dimana model data konseptual yang telah dibuat sebelumnya diperhalus dan dipetakan pada model data logikal. 4.2.2.1
Relasi Turunan untuk Model Data Logikal Tujuan dari tahap ini adalah untuk membuat relasi untuk model data logikal yang digunakan untuk menampilkan entitas, relasi, dan atribut yang telah diidentifikasi pada tahap konseptual.
152
1. Strong Entity Types Tabel 4.7 Strong Entity Types S trong Entity S taff ( Staff_ID, Staff_Nm, Gender, Position_ID, Position_Nm, Start_Year, Staff_Phone, Street, City, ZipPostal, M arital_Status, User_ID, Username, Password) Primary Key Staff_ID Customer ( Cust_ID, Cust_Nm, Cust_Phone, Cust_FAX, CPC_Nm, CPC_Phone, Street, City, ZipPostal, NPWP, Seg_M arket, Insert_date_CS ) Primary Key Cust_ID Supplier ( Supl_ID, Supl_Nm, Supl _Phone, Supl _FAX, CPS_Nm, CP S_Phone, Street, City, ZipPostal, NPWP, PKP, Seg_Supl, Insert_date_SP ) Primary Key Supl_ID RawMaterial ( RM _ID, RM _Nm, RMType_ID, RMType_Nm, RM _Satuan, RM _M assa,
RM _Tebal,
RM _Lebar,
RM _Panjang,
UnitPrice_Buy, UnitPrice_Sell, RM _Stock, RM _update_date, Est_date, M in_buff, M ax_buff ) Primary Key RM _ID FinishedGoods ( FG_ID, FG_Date, FG_Qty, FG_Del, FG_Stock ) Primary Key FG_ID S alesContract (SC_ID, SC_Date, POCust_No, POCust_Date, Order_Type, DiameterRoll,
PcsPerRoll,
RunM eters,
ColorProc_InkCo,
153
EstInkProc, Print_Type, Cyl_Pitch, Cyl_Up, Cyl_Width, Cyl_Circum,
EyeM ark_Position,
EyeM ark_Color,
Cutting_Position ) Primary Key SC_ID JobOrder (JO_ID,
JO_Date,
Qty_JO,
Cetak_FF,
Cetak_BF,
Date_done,
Tgl_kesanggupan, Warna, ArahGulungan, Warna_FF, Warna_BF, Ukuran_Panjang, Ukuran_Lebar, Alufoil, Printing, Komposisi_FF, Komposisi_BF,
Est_Bahan,
Est_Panjang_Bahan,
Sandwich,
Est_Berat_sandwich, Coating, Est_Berat_coating, Est_Type_Tinta, Est_Berat_T, Est_Type_ADHE, Est_Berat_A, Est_Type_Solfent, Est_Berat_S, Keterangan, Packing, M etode_pengiriman ) Primary Key JO_ID PurchaseRequest ( PR_ID, PR_Date, PR_Qty, Date_Needed ) Alternate Key PR_Date Primary Key PR_ID PurchaseOrder ( PO_ID, PO_Date, Qty_Prchs, SubTotalPrice, Tax, GrandTotal, DelPO_Date, Payment ) Primary Key PO_ID ProductionS chedule (PS_ID, M achine_ID, M achine_Nm, Proc_Date, Qty_Used, Status) Primary Key PS_ID WIP ( WIP_ID, WIP_Date, Qty_Take, Qty_After )
154
Primary Key WIP_ID Delivery ( Del_ID, Del_Date, Car_Num, Del_Length, Del_Width, Status_DEL ) Primary Key DEL_ID PenerimaanRawMaterial (PNRM _ID, PNRM _date, Status_PNRM , Qty_PNRM ) Primary Key PNRM _ID PengeluaranRawMaterial
(
PNGRM_ID,
PNGRM _date,
Status_PNGRM ,
Qty_PNGRM ) Primary Key PNGRM _ID ReturRawMaterial ( RRM _ID, Qty_RRM , Bag_Prod_ID, Bag_Prod_Nm, Alasan_RRM , RRM _date ) Primary Key RRM _ID ReturFinishedGoods (RFG_ID, Qty_RFG, Alasan_RFG, RFG_date ) Primary Key RFG_ID KursDollar ( Kurs_Date, Kurs_Value ) Primary Key Kurs_date
2. Weak Entity Types Tidak terdapat entitas yang tidak memiliki primary key.
3. One-to-Many (1 : *) Binary Relationship Types Untuk relasi 1 : *, entitas yang bernilai ‘1’ ditentukan sebagai entitas parent, sedangkan entitas yang bernilai ‘*’ ditentukan sebagai entitas child. Untuk membuat relasinya, atribut primary key
155
dari parent dicopy ke entitas child dan berfungsi sebagai foreign key.
- One-to-many antara Staff dan SalesContract Post Staff_ID ke SalesContract pada model relasi membuat 1: *
Staff ( Staff_ID, Staff_Nm, Gender, Position_ID,
SalesContract (SC_ID, SC_Date,
Position_Nm, Start_Y ear, Staff_Phone,
POCust_No,
Street, City, ZipPostal, Marital_Status,
POCust_Date,
User_ID, Username, Password)
Order_Ty pe,
Primary Key Staff_ID
DiameterRoll, PcsPerRoll, RunMeters, ColorProc_InkCo, EstInkProc, Print_Ty pe, Cy l_Pitch, Cyl_Up, Cy l_Width, Cyl_Circum, Ey eMark_Position, Ey eMark_Color, Cutting_Position, Staff_ID ) Primary Key SC_ID Foreign Key Staff_ID references Staff (Staff_ID)
Gambar 4.9 Relationship 1 : * antara Staff dan SalesContract
156
-
One-to-many antara Staff dan JobOrder
Post Staff_ID ke JobOrder pada model relasi membuat 1:*
Staff ( Staff_ID, Staff_Nm, Gender, Position_ID,
JobOrder (JO_ID, JO_Date, Qty_JO,
Position_Nm, Start_Y ear, Staff_Phone,
Cetak_FF, Cetak_BF,
Street, City, ZipPostal, Marital_Status,
Date_done, Tgl_kesanggupan,
User_ID, Username, Password)
Warna, ArahGulungan,
Primary Key Staff_ID
Warna_FF, Warna_BF, Ukuran_Panjang, Ukuran_Lebar, Aluf oil, Printing, Komposisi_FF, Komposisi_BF, Est_Bahan, Est_Panjang_Bahan, Sandwich, Est_Berat_sandwich, Coating, Est_Berat_coating, Est_Ty pe_Tinta, Est_Ty pe_ADHE, Est_Ty pe_Solf ent, Keterangan, Packing, Metode_pengiriman, Staff_ID) Primary Key JO_ID Foreign Key Staff_ID references Staff (Staff_ID)
Gambar 4.10 Relationship 1 : * antara Staff dan JobOrder
-
One-to-many antara Staff dan PurchaseRequest
Post Staff_ID ke PurchaseRequest pada model relasi membuat 1:*
Staff ( Staff_ID, Staff_Nm, Gender, Position_ID, Position_Nm, Start_Y ear, Staff_Phone,
PurchaseRequest ( PR_ID, PR_Date, PR_Qty, Date_Needed, Staff_ID )
Street, City, ZipPostal, Marital_Status,
Primary Key PR_ID
User_ID, Username, Password)
Alternate Key PR_Date
Primary Key Staff_ID
Foreign Key Staff_ID references Staff (Staff_ID)
Gambar 4.11 Relationship 1 : * antara Staff dan PurchaseRequest
157
- One-to-many antara Staff dan PurchaseOrder Post Staff_ID ke PurchaseOrderpada model relasi membuat 1:*
Staff ( Staff_ID, Staff_Nm, Gender, Position_ID,
PurchaseOrder ( PO_ID, PO_Date, Qty_Prchs,
Position_Nm, Start_Y ear, Staff_Phone,
SubTotalPrice, Tax,
Street, City, ZipPostal, Marital_Status,
GrandTotal, DelPO_Date,
User_ID, Username, Password)
Payment, Staff_ID )
Primary Key Staff_ID
Primary Key PO_ID Foreign Key Staff_ID references Staff(Staff_ID)
Gambar 4.12 Relationship 1 : * antara Staff dan PurchaseOrder
-
One-to-many antara Staff dan PenerimaanRawM aterial
Post Staff_ID ke PenerimaanRawMaterial pada model relasi memeriksa 1:*
Staff ( Staff_ID, Staff_Nm, Gender, Position_ID,
PenerimaanRawMaterial ( PNRM_ID,
Position_Nm, Start_Y ear, Staff_Phone,
Status_PNRM,
Street, City, ZipPostal, Marital_Status,
PNRM_date,
User_ID, Username, Password)
Staff _ID,
Primary Key Staff_ID
Qty _PNRM ) Primary Key PNRM_ID Foreign Key Staff_ID references Staff (Staff_ID)
Gambar 4.13 Relationship 1 : * antara Staff dan PenerimaanRawM aterial
- One-to-many antara Staff dan Delivery Post Staff_ID ke Delivery pada model relasi mengurus 1:*
Staff ( Staff_ID, Staff_Nm, Gender, Position_ID,
Delivery ( Del_ID, Del_Date, Car_Num,
Position_Nm, Start_Y ear, Staff_Phone,
Del_Length, Del_Width,
Street, City, ZipPostal, Marital_Status,
Status_DEL, Staff_ID )
User_ID, Username, Password) Primary Key Staff_ID
Primary Key DEL_ID Foreign Key Staff_ID references Staff (Staff_ID)
Gambar 4.14 Relationship 1 : * antara Staff dan Delivery
158
-
One-to-many antara Staff dan PengeluaranRawM aterial
Post Staff_ID ke PengeluaranRawMaterial pada model relasi menyetujui 1:*
Staff ( Staff_ID, Staff_Nm, Gender, Position_ID,
PengeluaranRawMaterial ( PNGRM_ID,
Position_Nm, Start_Y ear, Staff_Phone,
PNGRM_date,
Street, City, ZipPostal, Marital_Status,
Status_PNGRM,
User_ID, Username, Password)
Staff _ID )
Primary Key Staff_ID
Primary Key PNGRM_ID Foreign Key Staff_ID references Staff (Staff_ID)
Gambar 4.15 Relationship 1 : * antara Staff dan PengeluaranRawM aterial
-
One-to-many antara Customer dan JobOrder
Post Cust_ID ke JobOrder pada model relasi melibatkan 1:*
Customer ( Cust_ID, Cust_Nm, Cust_Phone,
JobOrder (JO_ID, JO_Date, Qty_JO,
Cust_FAX, CPC_Nm,
Cetak_FF, Cetak_BF,
CPC_Phone, Street, City,
Date_done, Tgl_kesanggupan,
ZipPostal, NPWP, Seg_Market,
Warna, ArahGulungan,
Insert_date_CS )
Warna_FF, Warna_BF,
Primary Key Cust_ID
Ukuran_Panjang, Ukuran_Lebar, Aluf oil, Printing, Komposisi_FF, Komposisi_BF, Est_Bahan, Est_Panjang_Bahan, Sandwich, Est_Berat_sandwich, Coating, Est_Berat_coating, Est_Ty pe_Tinta, Est_Ty pe_ADHE, Est_Ty pe_Solf ent, Keterangan, Packing, Metode_pengiriman, Staff _ID, Cust_ID) Primary Key JO_ID Foreign Key Staff_ID references Staff (Staff_ID) Foreign Key Cust_ID references Customer(Cust_ID)
Gambar 4.16 Relationship 1 : * antara Customer dan JobOrder
159
-
One-to-many antara Customer dan Delivery
Post Cust_ID ke Delivery pada model relasi menerima 1:*
Customer ( Cust_ID, Cust_Nm, Cust_Phone,
Delivery ( Del_ID, Del_Date, Car_Num,
Cust_FAX, CPC_Nm, CPC_Phone,
Del_Length, Del_Width,
Street, City, ZipPostal, NPWP,
Status_DEL, Staff_ID, Cust_ID)
Seg_Market, Insert_date_CS ) Primary Key Cust_ID
Primary Key DEL_ID Foreign Key Staff_ID references Staff (Staff_ID) Foreign Key Cust_ID references Customer(Cust_ID)
Gambar 4.17 Relationship 1 : * antara Customer dan Delivery
-
One-to-many antara Customer dan SalesContract
Post Cust_ID ke SalesContract pada model relasi melibatkan 1: *
Customer ( Cust_ID, Cust_Nm, Cust_Phone,
SalesContract (SC_ID, SC_Date, POCust_No,
Cust_FAX, CPC_Nm, CPC_Phone,
POCust_Date, Order_Ty pe,
Street, City, ZipPostal, NPWP,
DiameterRoll, PcsPerRoll,
Seg_Market, Insert_date_CS )
RunMeters,
Primary Key Cust_ID
ColorProc_InkCo, EstInkProc, Print_Ty pe, Cy l_Pitch, Cyl_Up, Cy l_Width, Cyl_Circum, Ey eMark_Position, Ey eMark_Color, Cutting_Position, Staff_ID, Cust_ID ) Primary Key SC_ID Foreign Key Staff_ID references Staff (Staff_ID) Foreign Key Cust_ID references Customer(Cust_ID)
Gambar 4.18 Relationship 1 : * antara Customer dan SalesContract
160
-
One-to-many antara Customer dan ReturFinishedGoods
Post Cust_ID ke ReturFinishedGoods pada model relasi mengembalikan 1: *
Customer ( Cust_ID, Cust_Nm, Cust_Phone,
ReturFinishedGoods (RFG_ID, Qty _RFG,
Cust_FAX, CPC_Nm, CPC_Phone,
Alasan_RFG,
Street, City, ZipPostal, NPWP,
RFG_date, Cust_ID)
Seg_Market, Insert_date_CS ) Primary Key Cust_ID
Primary Key RFG_ID Foreign Key Cust_ID references Customer(Cust_ID)
Gambar 4.19 Relationship 1 : * antara Customer dan ReturFinishedGoods
-
One-to-many antara FinishedGoods dan Delivery
Post FG_ID ke Delivery pada model relasi mengirimkan 1: *
FinishedGoods ( FG_ID, FG_Date, FG_Qty, FG_Del, FG_Stock) Primary Key FG_ID
Delivery ( Del_ID, Del_Date, Car_Num, Del_Length, Del_Width, Status_DEL, Staff_ID, Cust_ID, FG_ID) Primary Key DEL_ID Foreign Key Staff_ID references Staff (Staff_ID) Foreign Key Cust_ID references Customer(Cust_ID) Foreign Key FG_ID references FinishedGoods(FG_ID)
Gambar 4.20 Relationship 1 : * antara FinishedGoods dan Delivery
161
-
One-to-many antara ProductionSchedule dan WIP
Post PS_ID ke WIP pada model relasi menghasilkan 1: *
ProductionSchedule ( PS_ID, Machine_ID,
Qty _Take,
WIP ( WIP_ID, WIP_Date,
Machine_Nm, Proc_Date,
Qty _After,
Qty _Used, Status)
PS_ID,
Primary Key PS_ID
PS_ID ) Primary Key WIP_ID Foreign Key PS_ID references
ProductionSchedule (PS_ID)
Gambar 4.21 Relationship 1 : * antara ProductionSchedule dan WIP
-
One-to-many antara WIP dan FinishedGoods
Post WIP_ID ke FinishedGoods pada model relasi menghasilkan 1: *
WIP ( WIP_ID, WIP_Date, Qty_Take, Qty_After, PS_ID)
FinishedGoods ( FG_ID, FG_Date, FG_Qty, FG_Del,
Primary Key WIP_ID
FG_Stock, WIP_ID)
Foreign Key PS_ID references ProductionSchedule (PS_ID)
Primary Key FG_ID Foreign Key WIP_ID references WIP (WIP_ID)
Gambar 4.22 Relationship 1 : * antara WIP dan FinishedGoods
162
-
One-to-many antara WIP dan ReturRawM aterial
Post WIP_ID ke ReturRawMaterial pada model relasi menghasilkan 1: *
WIP ( WIP_ID, WIP_Date, Qty_Take, Qty_After, PS_ID )
ReturRawMaterial ( RRM_ID, Qty _RRM, Bag_Prod_ID,
Primary Key WIP_ID
Bag_Prod_Nm,
Foreign Key PS_ID references
Alasan_RRM,
ProductionSchedule (PS_ID)
RRM_date, WIP_ID) Primary Key RRM_ID Foreign Key WIP_ID references WIP (WIP_ID)
Gambar 4.23 Relationship 1 : * antara WIP dan ReturRawM aterial
-
One-to-many antara Supplier dan PenerimaanRawM aterial
Post Supl_ID ke PenerimaanRawMaterial pada model relasi melakukan 1: *
Supplier ( Supl_ID, Supl_Nm, Supl _Phone, Supl
PenerimaanRawMaterial ( PNRM_ID,
_FAX, CPS_Nm, CPS_Phone, Street, City,
Status_PNRM,
ZipPostal, NPWP, PKP, Seg_Supl,
PNRM_date,
Insert_date_SP )
Qty _PNRM,
Primary Key Supl_ID
Staff _ID, Supl_ID) Primary Key PNRM_ID Foreign Key Staff_ID references Staff (Staff_ID) Foreign Key Supl_ID references Supplier(Supl_ID)
Gambar 4.24 Relationship 1 : * antara Supplier dan PenerimaanRawM aterial
163
- One-to-many antara PurchaseRequest dan PurchaseOrder Post PR_ID ke PurchaseOrder pada model relasi menghasilkan1:*
PurchaseRequest ( PR_ID, PR_Date, PR_Qty, Date_Needed, Staff_ID )
PurchaseOrder ( PO_ID, PO_Date, Qty_Prchs, SubTotalPrice, Tax,
Primary Key PR_ID
GrandTotal, DelPO_Date,
Alternate Key PR_Date
Payment, Staff_ID , PR_ID)
Foreign Key Staff_ID references Staff(Staff_ID)
Primary Key PO_ID Foreign Key Staff_ID references Staff (Staff_ID) Foreign Key PR_ID references PurchaseRequest(PR_ID)
Gambar 4.25 Relationship 1 : * antara PurchaseRequest dan PurchaseOrder
- One-to-many antara Supplier dan PurchaseOrder Post Supl_ID ke PurchaseOrder pada model relasi menerima 1: *
Supplier ( Supl_ID, Supl_Nm, Supl _Phone, Supl
PurchaseOrder ( PO_ID, PO_Date,
_FAX, CPS_Nm, CPS_Phone, Street,
Qty _Prchs, SubTotalPrice,
City, ZipPostal, NPWP, PKP,
Tax, GrandTotal,
Seg_Supl, Insert_date_SP )
DelPO_Date, Payment,
Primary Key Supl_ID
Staff _ID , PR_ID, Supl_ID) Primary Key PO_ID Foreign Key Staff_ID references Staff (Staff_ID) Foreign Key PR_ID references PurchaseRequest(PR_ID) Foreign Key Supl_ID references Supplier(Supl_ID)
Gambar 4.26 Relationship 1 : * antara Supplier dan PurchaseOrder
164
- One-to-many antara KursDollar dan PurchaseOrder Post Kurs_Date ke PurchaseOrder pada model relasi mempengaruhi 1: *
KursDollar ( Kurs_Date, Kurs_Value )
PurchaseOrder ( PO_ID, PO_Date,
Primary Key Kurs_date
Qty _Prchs, SubTotalPrice, Tax, GrandTotal, DelPO_Date, Payment, Staff _ID , PR_ID, Supl_ID, RM_ID, Kurs_date) Primary Key PO_ID Foreign Key Staff_ID references Staff (Staff_ID) Foreign Key PR_ID references PurchaseRequest(PR_ID) Foreign Key Supl_ID references Supplier(Supl_ID) Foreign Key Kurs_Date references KursDollar (Kurs_Date)
Gambar 4.27 Relationship 1 : * antara KursDollar dan PurchaseOrder - One-to-many antara SalesContract dan Delivery Post SC_ID ke Deliverypada model relasi bagian dari 1: *
SalesContract (SC_ID, SC_Date, POCust_No,
Delivery ( Del_ID, Del_Date, Car_Num,
POCust_Date, Order_Ty pe,
Del_Length, Del_Width,
DiameterRoll, PcsPerRoll,
Status_DEL, Staff_ID, Cust_ID,
RunMeters, ColorProc_InkCo,
FG_ID, SC_ID)
EstInkProc, Print_Ty pe,
Primary Key DEL_ID
Cy l_Pitch, Cyl_Up, Cy l_Width,
Foreign Key Staff_ID references
Cy l_Circum, EyeMark_Position, Ey eMark_Color, Cutting_Position, Staff_ID, Cust_ID )
Staff (Staff_ID) Foreign Key Cust_ID references Customer(Cust_ID) Foreign Key FG_ID references
Primary Key SC_ID
FinishedGoods(FG_ID)
Foreign Key Staff_ID references Staff(Staff_ID) Foreign Key Cust_ID references
Foreign Key SC_ID references SalesContract(SC_ID)
Customer(Cust_ID)
Gambar 4.28 Relationship 1 : * antara SalesContract dan Delivery
165
- One-to-many antara SalesContract dan JobOrder Post SC_ID ke JobOrder pada model relasi bagian dari 1: *
SalesContract (SC_ID, SC_Date, POCust_No,
JobOrder (JO_ID, JO_Date, Qty_JO,
POCust_Date, Order_Ty pe,
Cetak_FF, Cetak_BF,
DiameterRoll, PcsPerRoll,
Date_done, Tgl_kesanggupan,
RunMeters, ColorProc_InkCo,
Warna, ArahGulungan,
EstInkProc, Print_Ty pe,
Warna_FF, Warna_BF,
Cy l_Pitch, Cyl_Up, Cy l_Width,
Ukuran_Panjang,
Cy l_Circum, EyeMark_Position,
Ukuran_Lebar, Aluf oil, Printing,
Ey eMark_Color,
Komposisi_FF, Komposisi_BF,
Cutting_Position, Staff_ID,
Est_Bahan,
Cust_ID )
Est_Panjang_Bahan,
Primary Key SC_ID
Sandwich,
Foreign Key Staff_ID references Staff(Staff_ID)
Est_Berat_sandwich, Coating,
Foreign Key Cust_ID references
Est_Berat_coating,
Customer(Cust_ID)
Est_Ty pe_Tinta, Est_Ty pe_ADHE, Est_Ty pe_Solf ent, Keterangan, Packing, Metode_pengiriman, Staff _ID, Cust_ID, SC_ID) Primary Key JO_ID Foreign Key Staff_ID references Staff (Staff_ID) Foreign Key Cust_ID references Customer(Cust_ID) Foreign Key SC_ID references SalesContract(SC_ID)
Gambar 4.29 Relationship 1 : * antara SalesContract dan JobOrder
4. One-to-One (1:1) Binary Relationship Types Pada kasus suatu relasi 1:1, cardinality tidak bisa digunakan untuk menentukan entitas parent dan child dalam suatu relasi. Oleh karena itu digunakan participation constraint untuk menentukan cara penggambaran suatu relasi.
166
a. mandatory participation on both side of 1:1 relationship Pada kasus ini tidak terdapat jenis relasi ini. b. mandatory participation on one side of 1:1 relationship Pada kasus ini tidak terdapat jenis relasi ini. c. optional participation on both side of 1:1 relationship Relasi pada kasus ini digambarkan dengan melakukan copy primary key dari entitas parent ke entitas child.
Untuk relasi 1:1 dengan optional participation pada WIP dan PengeluaranRawMaterial, post WIP_ID ke PengeluaranRawMaterial untuk membentuk relasi mengurangi
WIP ( WIP_ID, WIP_Date, Qty _Take,
PengeluaranRawMaterial ( PNGRM_ID, PNGRM_date,
Qty _After, PS_ID )
Status_PNGRM, Staff_ID,
Primary Key WIP_ID
WIP_ID )
Foreign Key PS_ID references ProductionSchedule (PS_ID)
Primary Key PNGRM_ID Foreign Key Staff_ID references Staff(Staff_ID) Foreign Key WIP_ID references WIP(WIP_ID)
Gambar 4.30 Relationship 1 : * antara KursDollar dan PurchaseOrder
5. One-to-one (1:1) Recursive Relationship Types Tidak terdapat jenis relasi rekursif one-to-one 6. Superclass/Subclass Relationship Types. Untuk setiap relasi superclass/subclass, entitas superclass berfungsi sebagai parent sedangkan entitas subclass berfungsi sebagai child.
167
-
Relasi superclass/subclass pada RawM aterial Relasi superclass/subclass pada RawM aterial mempunyai participation constraint mandatory dan disjoint {Or}. Oleh karena itu relasi yang dibutuhkan adalah banyak relasi dengan satu relasi untuk setiap kombinasi superclass/subclass. RMUtama ( RM _ID, RM _Nm, RMType_ID, RMType_Nm, RM _Satuan , RM _Tebal, RM _Lebar,RM _Panjang, UnitPrice_Buy,
UnitPrice_Sell,
RM _Stock,
RM _update_date, Est_date, M in_buff, M ax_buff) Primary Key RM _ID RMPembantu
(
RM _ID,
RMType_Nm, UnitPrice_Buy,
RM_Nm,
RMType_ID
,
RM _M assa,
RM_Satuan
,
UnitPrice_Sell,
RM _update_date,
Est_date,
RM _Stock, M in_buff,
M ax_buff) Primary Key RM _ID -
Relasi superclass/subclass pada JobOrder Relasi
superclass/subclass
pada
JobOrder
mempunyai
participation constraint mandatory dan nondisjoint {And}. Oleh karena itu relasi yang dibutuhkan adalah satu relasi dengan satu atau lebih pembeda untuk membedakan jenis kolomnya. JobOrder (JO_ID, JO_Date, Qty_JO, Cetak_FF, Cetak_BF, Date_done, Tgl_kesanggupan, Warna,
168
ArahGulungan, Warna_FF, Warna_BF, Ukuran_Panjang, Ukuran_Lebar, Alufoil, Printing, Komposisi_FF, Komposisi_BF, Est_Bahan, Est_Panjang_Bahan, Sandwich, Est_Berat_sandwich, Coating, Est_Berat_coating, Est_Type_Tinta, Est_Berat_T, Est_Type_ADHE, Est_Berat_A, Est_Type_Solfent, Est_Berat_S, Keterangan, Packing, M etode_pengiriman, Staff_ID, Cust_ID) Primary Key JO_ID Foreign Key Staff_ID references Staff(Staff_ID) Foreign Key Cust_ID references Customer(Cust_ID) 7. Many-to-Many (*:*) Binary Relationship Types Untuk setiap relasi * : *, dibentuk suatu relasi baru yang menggambarkan hubungan dari kedua entitas dan mengandung atribut kombinasi dari kedua relasi tersebut.
169
- Many-to-many antara PengeluaranRawM aterial dengan RM Utama RMUtama ( RM_ID, RM_Nm, RMTy pe_ID, PengeluaranRawMaterial ( PNGRM_ID,
RMTy pe_Nm, RM_Satuan ,
Status_PNGRM, Staff_ID,
RM_Tebal,RM_Lebar,RM_Panjan
WIP_ID )
g, UnitPrice_Buy, UnitPrice_Sell,
Primary Key PNGRM_ID
RM_Stock, RM_update_date,
Foreign Key Staff_ID references Staff(Staff_ID)
Est_date, Min_buff, Max_buff)
Foreign Key WIP_ID references WIP(WIP_ID)
Primary Key RM_ID
PengeluaranRawMaterialDetail (RM_ID, PNGRM_ID, PNGRM_date) Primary Key RM_ID, PNGRM_ID Foreign Key RM_ID references RMUtama (RM_ID) Foreign Key PNGRM_ID references PengeluaranRawMaterial (PNGRM_ID)
Gambar 4.31 Relationship * : * antara PengeluaranRawM aterial dengan RM Utama
- Many-to-many antara PengeluaranRawM aterial dengan RMPembantu RMPembantu ( RM_ID, RM_Nm, RMTy pe_ID , PengeluaranRawMaterial ( PNGRM_ID,
RMTy pe_Nm, RM_Satuan ,
Status_PNGRM, Staff_ID,
RM_Massa, UnitPrice_Buy,
PNGRM_date, WIP_ID )
UnitPrice_Sell, RM_Stock,
Primary Key PNGRM_ID
RM_update_date, Est_date,
Foreign Key Staff_ID references Staff(Staff_ID)
Min_buff, Max_buff)
Foreign Key WIP_ID references WIP(WIP_ID)
Primary Key RM_ID
PengeluaranRawMaterialDetail (RM_ID, PNGRM_ID,Qty _PNGRM) Primary Key RM_ID, PNGRM_ID Foreign Key RM_ID references RMPembantu (RM_ID) Foreign Key PNGRM_ID references PengeluaranRawMaterial (PNGRM_ID)
Gambar 4.32 Relationship * : * antara PengeluaranRawM aterial dengan RM Pembantu
170
-
Many-to-many antara PenerimaanRawM aterial dengan RM Utama RMUtama ( RM_ID, RM_Nm, RMTy pe_ID ,
PenerimaanRawMaterial ( PNRM_ID, Staff_ID,
RMTy pe_Nm, RM_Satuan ,
Supl_ID, Status_PNRM,
RM_Tebal,RM_Lebar,RM_Panjan
PNRM_date)
g, UnitPrice_Buy, UnitPrice_Sell,
Primary Key PNRM_ID
RM_Stock, RM_update_date,
Foreign Key Staff_ID references Staff(Staff_ID)
Est_date, Min_buff, Max_buff)
Foreign Key Supl_ID references Supplier(Supl_ID)
Primary Key RM_ID
PenerimaanRawMaterialDetail (RM_ID, PNRM_ID, Qty_PNRM) Primary Key RM_ID, PNRM_ID Foreign Key RM_ID references RMUtama(RM_ID) Foreign Key PNRM_ID references PenerimaanRawMaterial (PNRM_ID)
Gambar 4.33 Relationship * : * antara PenerimaanRawM aterial dengan RM Utama
- Many-to-many antara ReturRawM aterial dengan RM Utama RMUtama ( RM_ID, RM_Nm, RMTy pe_ID , RMTy pe_Nm, RM_Satuan , RM_Tebal,RM_Lebar,RM_Panjan ReturRawMaterial ( RRM_ID, Bag_Prod_ID,
g, UnitPrice_Buy, UnitPrice_Sell,
Bag_Prod_Nm, WIP_ID)
RM_Stock, RM_update_date,
Primary Key RRM_ID Foreign Key WIP_ID references WIP (WIP_ID)
Est_date, Min_buff, Max_buff) Primary Key RM_ID
RRMDetail (RM_ID, RRM_ID, Qty_RRM, Alasan_RRM, RRM_date) Primary Key RM_ID, RRM_ID Foreign Key RM_ID references RMUtama(RM_ID) Foreign Key RRM_ID references ReturRawMaterial (RRM_ID)
Gambar 4.34 Relationship * : * antara ReturRawM aterial dengan RM Utama
171
- Many-to-many antara ReturRawM aterial dengan RM Pembantu RMPembantu ( RM_ID, RM_Nm, RMTy pe_ID , RMTy pe_Nm, RM_Massa, RM_Satuan , UnitPrice_Buy, ReturRawMaterial ( RRM_ID, Bag_Prod_ID,
UnitPrice_Sell, RM_Stock,
Bag_Prod_Nm, WIP_ID)
RM_update_date, Est_date,
Primary Key RRM_ID
Min_buff, Max_buff)
Foreign Key WIP_ID references WIP (WIP_ID)
Primary Key RM_ID
RRMDetail (RM_ID, RRM_ID, Qty_RRM, Alasan_RRM, RRM_date) Primary Key RM_ID, RRM_ID Foreign Key RM_ID references RMPembantu(RM_ID) Foreign Key RRM_ID references ReturRawMaterial (RRM_ID)
Gambar 4.35 Relationship * : * antara ReturRawM aterial dengan RM Pembantu
- Many-to-many antara JobOrder dengan ProductionSchedule JobOrder (JO_ID, JO_Date, Qty_JO, Cetak_FF, Cetak_BF, Date_done, Tgl_kesanggupan, Warna, ArahGulungan, Warna_FF, Warna_BF, Ukuran_Panjang, Ukuran_Lebar, Aluf oil, Printing, Komposisi_FF, Komposisi_BF, Est_Bahan, Est_Panjang_Bahan, Sandwich, Est_Berat_sandwich, Coating, Est_Berat_coating, Est_Ty pe_Tinta, Est_Berat_T, Est_Ty pe_ADHE, Est_Berat_A, Est_Ty pe_Solf ent, Est_Berat_S, Keterangan, Packing, Metode_pengiriman, Staff_ID, Cust_ID) Primary Key JO_ID Foreign Key Staff_ID references Staff(Staff_ID)
ProductionSchedule ( PS_ID, Status)
Foreign Key Cust_ID references Customer(Cust_ID)
Primary Key PS_ID
ScheduleDetail (JO_ID, PS_ID, Qty _Used, Machine_ID, Machine_Nm, Proc_Date)
172
Primary Key JO_ID, PS_ID Foreign Key JO_ID references JobOrder(JO_ID) Foreign Key PS_ID references ProductionSchedule(PS_ID)
Gambar 4.36 Relationship * : * antara JobOrder dengan ProductionSchedule
- Many-to-many antara ReturFinishedGoods dengan FinishedGoods FinishedGoods (FG_ID, FG_Date, ReturFinishedGoods(RFG_ID, RFG_date, Cust_ID)
FG_Qty, FG_Del, FG_Stock)
Primary Key RFG_ID Foreign Key Cust_ID references Customer (Cust_ID)
Primary Key FG_ID
RFGDetail (RFG_ID, FG_ID, Qty _RFG, Alasan_RFG) Primary Key FG_ID, RFG_ID Foreign Key FG_ID references FinishedGoods(FG_ID) Foreign Key RFG_ID references ReturFinishedGoods (RFG_ID)
Gambar 4.37 Relationship * : * antara ReturFinishedGoods dengan FinishedGoods
- Many-to-many antara PurchaseRequest dengan RM Pembantu RMPembantu ( RM_ID, RM_Nm, RMTy pe_ID , RMTy pe_Nm, UnitPrice_Buy, RM_Satuan , UnitPrice_Sell, RM_Massa, UnitPrice_Buy, PurchaseRequest ( PR_ID, Staff_ID, PR_Date)
UnitPrice_Sell, RM_Stock,
Primary Key PR_ID
RM_update_date, Est_date,
Alternate Key PR_Date
Min_buff, Max_buff)
Foreign Key Staff_ID references Staff(Staff_ID)
Primary Key RM_ID
PRDetail (PR_ID, RM_ID, PR_Qty, Date_Needed) Primary Key PR_ID, RM_ID Foreign Key RM_ID references RMUtama (RM_ID) Foreign Key PR_ID references PurchaseRequest (PR_ID)
Gambar 4.38 Relationship * : * antara PurchaseRequest dengan RM Pembantu
173
- Many-to-many antara PurchaseRequest dengan RM Utama RMUtama ( RM_ID, RM_Nm, RMTy pe_ID , PurchaseRequest ( PR_ID, Staff_ID, PR_Date)
RMTy pe_Nm, RM_Satuan ,
Primary Key PR_ID
RM_Tebal,RM_Lebar,RM_Panjan
Alternate Key PR_Date
g, UnitPrice_Buy, UnitPrice_Sell,
Foreign Key Staff_ID references Staff(Staff_ID)
RM_Stock, RM_update_date,
Foreign Key Kurs_Date references KursDollar
Est_date, Min_buff, Max_buff)
(Kurs_Date)
Primary Key RM_ID
PRDetail (PR_ID, RM_ID, PR_Qty, Date_Needed) Primary Key PR_ID, RM_ID Foreign Key RM_ID references RMPembantu(RM_ID) Foreign Key PR_ID references PurchaseRequest (PR_ID)
Gambar 4.39 Relationship * : * antara PurchaseRequest dengan RM Utama
- Many-to-many antara PurchaseOrder dengan RM Pembantu PurchaseOrder ( PO_ID, PO_Date, Tax, DelPO_Date, Payment, Staff_ID , PR_ID, Supl_ID) Primary Key PO_ID
RMPembantu ( RM_ID, RM_Nm, RMTy pe_ID ,
Foreign Key Staff_ID references Staff(Staff_ID)
RMTy pe_Nm, RM_Massa,
Foreign Key PR_ID references
RM_Satuan , UnitPrice_Buy,
PurchaseRequest(PR_ID)
UnitPrice_Sell, RM_Stock,
Foreign Key Supl_ID references Supplier(Supl_ID)
RM_update_date, Est_date,
Foreign Key Kurs_Date references KursDollar
Min_buff, Max_buff)
(Kurs_Date)
Primary Key RM_ID
PODetail (PR_ID, RM_ID, Qty _Prchs, SubTotalPrice, GrandTotal) Primary Key PR_ID, RM_ID Foreign Key RM_ID references RMUtama (RM_ID) Foreign Key PO_ID references PurchaseOrder (PO_ID)
Gambar 4.40 Relationship * : * antara PurchaseOrder dengan RM Pembantu
174
- Many-to-many antara PurchaseOrder dengan RM Utama PurchaseOrder ( PO_ID, PO_Date, Tax, DelPO_Date, Payment, Staff_ID ,
RMUtama ( RM_ID, RM_Nm, RMTy pe_ID ,
PR_ID, Supl_ID)
RMTy pe_Nm, RM_Satuan ,
Primary Key PO_ID
RM_Tebal,RM_Lebar,RM_Panjan
Foreign Key Staff_ID references Staff(Staff_ID)
g, UnitPrice_Buy, UnitPrice_Sell,
Foreign Key PR_ID references
RM_Stock, RM_update_date,
PurchaseRequest(PR_ID) Foreign Key Supl_ID references Supplier(Supl_ID)
Est_date, Min_buff, Max_buff) Primary Key RM_ID
PODetail (PR_ID, RM_ID, Qty _Prchs, SubTotalPrice, GrandTotal ) Primary Key PR_ID, RM_ID Foreign Key RM_ID references RMPembantu(RM_ID) Foreign Key PO_ID references PurchaseOrder (PO_ID)
Gambar 4.41 Relationship * : * antara PurchaseOrder dengan RM Utama
8. Complex Relationship Types Pada tahap ini tidak terdapat relasi yang kompleks. 9. Multi-Valued Attributes Untuk setiap atribut multi-value yang terdapat pada entitas, dibuat suatu relasi baru untuk menggambarkan atribut multi-valued dan dilakukan copy primary key dari entitas ke relasi yang baru sebagai foreign key. Primary key dari relasi yang baru adalah kombinasi dari atribut multivalued dan primary key dari entitas, kecuali jika atribut multi-valued tersebut merupakan alternate key dari entitas.
175
Post Staff_ID ke Staff_Phone
Staff ( Staff_ID, Staff_Nm, Gender, Position_ID,
StaffPhone( Staff_ID, Staff_Phone )
Position_Nm, Start_Y ear, Street, City,
Primary Key Staff_ID, Staff_Phone
ZipPostal, Marital_Status, User_ID,
Foregin Key Staff_ID references Staff(Staff_ID)
Username, Password) Primary Key Staff_ID
Gambar 4.42 Atribut multi-valued pada Staff Post Cust_ID ke Cust_Address
Customer ( Cust_ID, Cust_Nm, Cust_Phone,
CustomerAddr ( Cust_ID, Street, City, ZipPostal)
Cust_FAX, CPC_Nm, CPC_Phone,
Primary Key Cust_ID, Street
NPWP, Seg_Market,
Foregin Key Cust_ID references
Insert_date_CS )
Customer(Cust_ID)
Primary Key Cust_ID
Gambar 4.43 Atribut multi-valued pada Customer
Post Cust_ID ke Cust_Phone
Customer ( Cust_ID, Cust_Nm, Cust_FAX,
CustomerPhone ( Cust_ID, Cust_Phone)
CPC_Nm, CPC_Phone, NPWP,
Primary Key Cust_ID, Cust_Phone
Seg_Market, Insert_date_CS )
Foregin Key Cust_ID references
Primary Key Cust_ID
Customer(Cust_ID)
Gambar 4.44 Atribut multi-valued pada Customer
Post Cust_ID ke Cust_Fax
Customer ( Cust_ID, Cust_Nm, CPC_Nm,
CustomerFax ( Cust_ID, Cust_FAX)
CPC_Phone, NPWP, Seg_Market,
Primary Key Cust_ID, Cust_FAX
Insert_date_CS )
Foregin Key Cust_ID references
Primary Key Cust_ID
Customer(Cust_ID)
Gambar 4.45 Atribut multi-valued pada Customer
176
Post Cust_ID ke ContactPersonCustomer
Customer ( Cust_ID, Cust_Nm, NPWP,
ContactPersonCustomer ( Cust_ID, CPC_Nm,
Seg_Market, Insert_date_CS ) Primary Key Cust_ID
CPC_Phone) Primary Key Cust_ID, CPC_Phone Foregin Key Cust_ID references Customer(Cust_ID)
Gambar 4.46 Atribut multi-valued pada Customer
Post Supl_ID ke Supl_Address
Supplier ( Supl_ID, Supl_Nm, Supl _Phone, Supl
SupplierAddr ( Supl_ID, Street, City, ZipPostal)
_FAX, CPS_Nm, CPS_Phone,
Primary Key Supl_ID, Street
NPWP, PKP, Seg_Supl,
Foregin Key Supl_ID references
Insert_date_SP )
Supplier(Supl_ID)
Primary Key Supl_ID
Gambar 4.47 Atribut multi-valued pada Supplier
Post Supl_ID ke Supl_Phone
Supplier ( Supl_ID, Supl_Nm, Supl _FAX,
SupplierPhone (Supl_ID, Supl _Phone)
CPS_Nm, CPS_Phone, NPWP,
Primary Key Supl_ID, Supl_Phone
PKP, Seg_Supl, Insert_date_SP )
Foregin Key Supl_ID references
Primary Key Supl_ID
Supplier(Supl_ID)
Gambar 4.48 Atribut multi-valued pada Supplier Post Supl_ID ke Supl_Phone
Supplier ( Supl_ID, Supl_Nm, CPS_Nm,
SupplierPhone (Supl_ID, Supl _FAX)
CPS_Phone, NPWP, PKP,
Primary Key Supl_ID, Supl _FAX
Seg_Supl, Insert_date_SP )
Foregin Key Supl_ID references
Primary Key Supl_ID
Supplier(Supl_ID)
Gambar 4.49 Atribut multi-valued pada Supplier
177
Post Supl_ID ke ContactPersonSupplier
Supplier ( Supl_ID, Supl_Nm, NPWP, PKP,
ContactPersonSupplier (Supl_ID, CPS_Nm,
Seg_Supl, Insert_date_SP )
CPS_Phone)
Primary Key Supl_ID
Primary Key Supl_ID, CPS_Phone Foregin Key Supl_ID references Supplier(Supl_ID)
Gambar 4.50 Atribut multi-valued pada Supplier Post Del_ID ke Vehicle
Delivery ( Del_ID, Del_Date, Del_Length,
Vehicle (Del_ID, Car_Num, Status_DEL)
Del_Width, Staff_ID, Cust_ID,
Primary Key Del_ID, Car_Num
FG_ID, SC_ID)
Foregin Key Del_ID references Deliv ery(Del_ID)
Primary Key DEL_ID Foreign Key Staff_ID references Staff(Staff_ID) Foreign Key Cust_ID references Customer(Cust_ID) Foreign Key FG_ID references FinishedGoods(FG_ID) Foreign Key SC_ID references SalesContract(SC_ID)
Gambar 4.51 Atribut multi-valued pada Supplier
Post JO_ID ke JoDetailBahan
JobOrder (JO_ID, JO_Date, Qty_JO, Cetak_FF, Cetak_BF, Date_done,
JoDetailBahan( JO_ID, Est_Bahan, Est_Panjang_Bahan )
Tgl_kesanggupan, Warna,
Primary Key JO_ID, Est_Bahan
ArahGulungan, Warna_FF,
Foregin Key JO_ID references JobOrder(JO_ID)
Warna_BF, Ukuran_Panjang, Ukuran_Lebar, Aluf oil, Printing, Komposisi_FF, Komposisi_BF, Sandwich, Est_Berat_sandwich, Coating, Est_Berat_coating, Keterangan, Packing,
178
Metode_pengiriman, Staff_ID, Cust_ID, SC_ID ) Primary Key JO_ID Foreign Key Staff_ID references Staff(Staff_ID) Foreign Key Cust_ID references Customer(Cust_ID) Foreign Key SC_ID references SalesContract(SC_ID)
Gambar 4.52 Atribut multi-valued pada JobOrder
Post JO_ID ke JoDetailTinta
JobOrder (JO_ID, JO_Date, Qty_JO, Cetak_FF, Cetak_BF, Date_done,
JoDetailTinta( JO_ID, Est_Ty pe_Tinta, Est_Berat_T)
Tgl_kesanggupan, Warna,
Primary Key JO_ID, Est_ Ty pe_Tinta
ArahGulungan, Warna_FF,
Foregin Key JO_ID references JobOrder(JO_ID)
Warna_BF, Ukuran_Panjang, Ukuran_Lebar, Aluf oil, Printing, Komposisi_FF, Komposisi_BF, Sandwich, Est_Berat_sandwich, Coating, Est_Berat_coating, Est_Ty pe_ADHE, Est_Ty pe_Solf ent, Keterangan, Packing, Metode_pengiriman, Staff _ID, Cust_ID, SC_ID ) Primary Key JO_ID Foreign Key Staff_ID references Staff(Staff_ID) Foreign Key Cust_ID references Customer(Cust_ID) Foreign Key SC_ID references SalesContract(SC_ID)
Gambar 4.53 Atribut multi-valued pada JobOrder
179
Post JO_ID ke JoDetailADHE
JobOrder (JO_ID, JO_Date, Qty_JO, Cetak_FF,
JoDetailADHE( JO_ID, Est_Ty pe_ADHE,
Cetak_BF, Date_done,
Est_Berat_A)
Tgl_kesanggupan, Warna,
Primary Key JO_ID, Est_Ty pe_ADHE
ArahGulungan, Warna_FF,
Foregin Key JO_ID references JobOrder(JO_ID)
Warna_BF, Ukuran_Panjang, Ukuran_Lebar, Aluf oil, Printing, Komposisi_FF, Komposisi_BF, Sandwich, Est_Berat_sandwich, Coating, Est_Berat_coating, Est_Ty pe_Solf ent, Keterangan, Packing, Metode_pengiriman, Staff _ID, Cust_ID, SC_ID ) Primary Key JO_ID Foreign Key Staff_ID references Staff(Staff_ID) Foreign Key Cust_ID references Customer(Cust_ID) Foreign Key SC_ID references SalesContract(SC_ID)
Gambar 4.54 Atribut multi-valued pada JobOrder
Post JO_ID ke JoDetailSolfent
JobOrder (JO_ID, JO_Date, Qty_JO, Cetak_FF, Cetak_BF, Date_done,
JoDetailADHE( JO_ID, Est_Ty pe_Solfent, Est_Berat_S)
Tgl_kesanggupan, Warna,
Primary Key JO_ID, Est_Ty pe_Solfent
ArahGulungan, Warna_FF,
Foregin Key JO_ID references JobOrder(JO_ID)
Warna_BF, Ukuran_Panjang, Ukuran_Lebar, Aluf oil, Printing, Komposisi_FF, Komposisi_BF, Sandwich, Est_Berat_sandwich, Coating, Est_Berat_coating, Keterangan, Packing, Metode_pengiriman, Staff_ID, Cust_ID, SC_ID ) Primary Key JO_ID
180
Foreign Key Staff_ID references Staff(Staff_ID) Foreign Key Cust_ID references Customer(Cust_ID) Foreign Key SC_ID references SalesContract(SC_ID)
Gambar 4.55 Atribut multi-valued pada JobOrder
Tabel 4.8 Document Relations and Foreign Key Attributes No. 1
Nama Entitas Staff
Atribut S taff_ID, Staff_Nm, Gender, Position_ID, Position_Nm, Start_Year, Street, City, ZipPostal, M arital_Status, User_ID, Username, Password
2
StaffPhone
S taff_ID, S taff_Phone
3
Customer
Cust_ID, Cust_Nm, NPWP, Seg_M arket, Insert_date_CS
4
ContactPersonCustomer
Cust_ID, CPC_Nm, CPC_Phone
5
CustomerFAX
Cust_ID, Cust_FAX
6
CustomerPhone
Cust_ID, Cust_Phone
7
CustomerAddr
Cust_ID, S treet, City, ZipPostal
8
Supplier
Supl_ID, Supl_Nm, NPWP, PKP, Seg_Supl, Insert_date_SP
9
SupplierAddr
Supl_ID, S treet, City, ZipPostal
10
SupplierPhone
Supl_ID, S upl _Phone
11
SupplierFax
Supl_ID, S upl _FAX
181
12
ContactPersonSupplier
Supl_ID, CPS_Nm, CPS_Phone
13
RMUtama
RM_ID, RM _Nm, RMType_ID, RMType_Nm, UnitPrice_Buy, UnitPrice_Sell, RM _Satuan , RM _Tebal,RM _Lebar,RM _Panjang, RM _Stock, RM _update_date, Est_date, M in_buff, M ax_buff
14
RMPembantu
RM_ID, RM _Nm, RMType_ID, RMType_Nm, UnitPrice_Buy, UnitPrice_Sell, RM _M assa, RM _Satuan , RM _Stock, RM _update_date, Est_date, M in_buff, M ax_buff
15
FinishedGoods
FG_ID, FG_Date, FG_Qty, FG_Del, FG_Stock, WIP_ID
16
SalesContract
SC_ID, SC_Date, POCust_No, POCust_Date, Order_Type, DiameterRoll, PcsPerRoll, RunM eters, ColorProc_InkCo, EstInkProc, Print_Type, Cyl_Pitch, Cyl_Up, Cyl_Width, Cyl_Circum, EyeM ark_Position, EyeM ark_Color, Cutting_Position, Staff_ID, Cust_ID
17
JobOrder
JO_ID, JO_Date, Qty_JO, Cetak_FF, Cetak_BF, Date_done, Tgl_kesanggupan, Warna, ArahGulungan, Warna_FF, Warna_BF,
182
Ukuran_Panjang, Ukuran_Lebar, Alufoil, Printing, Komposisi_FF, Komposisi_BF, Sandwich, Est_Berat_sandwich, Coating, Est_Berat_coating, Keterangan, Packing, M etode_pengiriman, Staff_ID, Cust_ID, SC_ID 18
JoDetailBahan
JO_ID, Est_Bahan, Est_Panjang_Bahan
19
JoDetailTinta
JO_ID, Est_Type_Tinta, Est_Berat_T
20
JoDetailADHE
JO_ID, Est_Type_ADHE, Est_Berat_A
21
JoDetailSolfent
JO_ID, Est_Type_S olfent, Est_Berat_S
22
PurchaseRequest
PR_ID, Staff_ID, PR_Date
23
PRDetail
PR_ID, RM_ID, PR_Qty, Date_Needed
24
PurchaseOrder
PO_ID, PO_Date, Tax, DelPO_Date, Payment, Staff_ID , PR_ID, Supl_ID
25
PODetail
PO_ID, RM_ID, Qty_Prchs, SubTotalPrice, GrandTotal
26
ProductionSchedule
PS _ID, Status
27
ScheduleDetail
JO_ID, PS _ID, Qty_Used, M achine_ID, M achine_Nm, Proc_Date
28
WIP
WIP_ID, WIP_Date, Qty_Take, Qty_After, PS_ID
29
Delivery
Del_ID, Del_Date, Car_Num, Del_Length, Del_Width, Status_DEL, Staff_ID, Cust_ID,
183
FG_ID, SC_ID 30
PenerimaanRawM aterial
PNRM_ID, Staff_ID, Supl_ID, Status_PNRM
31
PenerimaanRawM aterialDetail
RM_ID, PNRM_ID, Qty_PNRM
32
PengeluaranRawM aterial
PNGRM_ID, PNRM _date, Status_PNGRM , Staff_ID, WIP_ID
33
PengeluaranRawM aterialDetail RM_ID, PNGRM_ID, Qty_PNGRM
34
ReturRawM aterial
RRM_ID, Bag_Prod_ID, Bag_Prod_Nm, WIP_ID
35
RRMDetail
RM_ID, RRM_ID, Qty_RRM , Alasan_RRM , RRM _date
36
RFGDetail
RFG_ID, FG_ID, Qty_RFG, Alasan_RFG
37
ReturFinishedGoods
RFG_ID, RFG_date, Cust_ID
38
KursDollar
Kurs_Date, Kurs_Value
39
Vehicle
Del_ID, Car_Num, Status_DEL
4.2.2.2
Validasi Relasi menggunakan Normalisasi Setelah dilakukan validasi dengan menggunakan normalisasi, ada beberapa table yang belum normal, yaitu: S taff 1NF Di dalam tabel Staff tidak ditemukan repeating groups sehingga table Staff sudah memenuhi 1NF
184
S taff_ID
fd1 (Primary Key)
Staff_Nm Gender
Position_ID fd3 (Transitif Dependency) Position_Nm Start_Year Street City ZipPostal M arital_Statu User_ID
fd2 (Transitif Dependency)
Username Password 2NF Di dalam tabel Staff tidak ditemukan partial dependency sehingga tabel Staff sudah memenuhi 2NF. 3NF Di dalam tabel Staff ditemukan transitive dependency sehingga harus dilakukan 3NF fd1 : Staff (S taff_ID, Staff_Nm, Gender, Position_ID, Start_Year, Street, City, ZipPostal, M arital_Status, User_ID) fd2 : UserStaff (User_ID, Username, Password)
185
fd3 : Position (Position_ID, Position_Nm) RMUtama 1NF Di dalam tabel RM Utama tidak ditemukan repeating groups sehingga table RM Utama sudah memenuhi 1NF
RM_ID
fd1 (Primary Key)
RM _Nm RMType_ID fd2 (Transitif Dependency) RMType_Nm UnitPrice_Buy UnitPrice_Sell RM _Tebal RM _Lebar RM _Panjang UnitPrice_Buy UnitPrice_Sell RM _Stock RM _update_date Est_date M in_buff M ax_buff RM _Satuan
186
2NF Di dalam tabel RM Utama tidak ditemukan partial dependency sehingga table RM Utama sudah memenuhi 2NF 3NF Di dalam tabel RM Utama ditemukan transitive dependency sehingga harus dilakukan 3NF fd1 : RM Utama ( RM_ID, RM _Nm, RMType_ID, UnitPrice_Buy, UnitPrice_Sell, RM _Satuan , RM _Tebal,RM _Lebar,RM _Panjang, UnitPrice_Buy, UnitPrice_Sell, RM _Stock, RM _update_date, Est_date, M in_buff, M ax_buff) fd2 : RMType(RMType_ID, RM Type_Name)
RMPembantu 1NF Di dalam tabel RM Pembantu tidak ditemukan repeating groups sehingga table RM Pembantu sudah memenuhi 1NF
RM_ID
fd1 (Primary Key)
RM _Nm RMType_ID fd2 (Transitif Dependency) RMType_Nm
187
UnitPrice_Buy UnitPrice_Sell RM _M assa UnitPrice_Buy UnitPrice_Sell RM _Stock RM _update_date Est_date M in_buff M ax_buff RM _Satuan 2NF Di dalam tabel RM Pembantu tidak ditemukan partial dependency sehingga table RM Utama sudah memenuhi 2NF 3NF Di dalam tabel RM Pembantu ditemukan transitive dependency sehingga harus dilakukan 3NF fd1 : RM Pembantu (RM_ID, RM _Nm, RMType_ID, UnitPrice_Buy, UnitPrice_Sell, , RM _Satuan , RM _M assa, UnitPrice_Buy, UnitPrice_Sell, RM _Stock, RM _update_date, Est_date, M in_buff, M ax_buff ) fd2 : RMType(RMType_ID, RM Type_Name
188
PODetail 1NF PODetail (PR_ID, RM_ID, Qty_Prchs, SubTotalPrice, GrandTotal) Tabel PODetail belum memenuhi 1NF karena masih memiliki atribut yang merupakan hasil perhitungan. Atribut hasil perhitungan : -
SubTotalPrice
-
GrandTotal
Tabel setelah proses 1NF : PODetail (PO_ID, Qty_Prchs)
PO_ID fd1 (Primary Key) Qty_Prchs 2NF Di dalam tabel PODetail tidak ditemukan partial dependency sehingga table PODetail sudah memenuhi 2NF 3NF Di dalam tabel PODetail tidak ditemukan transitive dependency sehingga table PODetail sudah memenuhi 3NF
189
S cheduleDetail 1NF Di dalam tabel ScheduleDetail tidak ditemukan repeating groups sehingga table ScheduleDetail sudah memenuhi 1NF PS _ID fd1 (Primary Key) JO_ID Qty_Used M achine_ID fd2 (Transitif Dependency) M achine_Nm Proc_Date 2NF Di dalam tabel ScheduleDetail tidak ditemukan partial dependency sehingga table ScheduleDetail sudah memenuhi 2NF 3NF Di dalam tabel ScheduleDetail ditemukan transitive dependency sehingga harus dilakukan 3NF fd1 : ScheduleDetail (JO_ID, PS _ID, Qty_Used, M achine_ID, Proc_Date) fd2 : M achine(Machine_ID, M achine_Nm)
190
ReturRawMaterial 1NF Di dalam tabel ReturRawMaterial tidak ditemukan repeating groups sehingga table ReturRawMaterial sudah memenuhi 1NF RM_ID fd1 (Primary Key) RRM_ID Qty_RRM Bag_Prod_ID
fd2 (Transitif Dependency)
Bag_Prod_Nm Alasan_RRM RRM _date
2NF Di dalam tabel ReturRawMaterial tidak ditemukan partial dependency sehingga table ScheduleDetail sudah memenuhi 2NF 3NF Di dalam tabel ReturRawMaterial ditemukan transitive dependency sehingga harus dilakukan 3NF fd1 : RRM Detail (RM_ID, Bag_Prod_ID, RRM _date ) fd2 : BagianProd(Bag_Prod_ID, Bag_Prod_Nm)
191
Gambar 4.56 ERD Global
192
4.2.2.3
Validasi Relasi berdasarkan Transaksi Pengguna Langkah ini bertujuan untuk meyakinkan bahwa relasi-relasi dalam model data logikal lokal mendukung semua transaksi yang dibutuhkan oleh pengguna. Relasi-relasi yang dihasilkan dari model data logical sudah memenuhi kebutuhan data pengguna dan mendukung transaksi yang dilakukan.
4.2.2.4
Memeriksa Kendala Integritas Tujuan dari tahap ini adalah untuk memeriksa integrity constraint pada model data logikal. Jenis-jenis integrity constraint yang perlu diperiksa: 1. Required Data Constraint data yang diperlukan sudah diidentifikasi dalam kamus data pada tahap penentuan jenis entitas. 2. Attribute Domain Constraint Constraint dari domain atribut sudah diidentifikasi pada tahap penentuan domain atribut. 3. Multiplicity Multiplicity sudah diidentifikasi pada tahap penentuan tipe relasi. 4. Entity Integrity Constraint untuk primary key sudah diidentifikasi pada tahap penentuan primary key. 5. Referential Integrity Constraint
193
S taff (Staff_ID, Staff_Nm, Gender, Position_ID, Position_Nm, Start_Year, Street, City, ZipPostal, M arital_Status, User_ID, Username, Password) Primary Key Staff_ID Foreign Key Position_ID references Position(Position_ID) ON UPDATE CASCADE ON DELETE NO ACTION, Foreign Key User_ID references StaffUser(User_ID) ON UPDATE CASCADE ON DELETE NO ACTION
UserS taff (User_ID, Username, Password) Primary Key User_ID
Position (Position_ID, Position_Nm) Primary Key Position_ID
BagianProd (Bag_Prod_ID,Bag_Prod_Nm) Primary Key Bag_Prod_ID
S taffPhone (Staff_ID, Staff_Phone) Primary Key Staff_Phone, Staff_ID Foreign Key Staff_ID references Staff(Staff_ID) ON UPDATE CASCADE ON DELETE NO ACTION
194
Customer (Cust_ID, Cust_Nm, NPWP, Seg_M arket, Insert_date_CS) Primary Key Cust_ID
ContactPersonCustomer (Cust_ID, CPC_Nm, CPC_Phone) Primary Key Cust_ID, CPC_Phone Foreign Key Cust_ID references Customer(Cust_ID) ON UPDATE CASCADE ON DELETE NO ACTION
CustomerFax (Cust_ID, Cust_Fax) Primary Key Cust_ID, Cust_Fax Foreign Key Cust_ID references Customer(Cust_ID) ON UPDATE CASCADE ON DELETE NO ACTION
CustomerPhone (Cust_ID, Cust_Phone) Primary Key Cust_ID, Cust_Phone Foeign Key Cust_ID refernces Customer(Cust_ID) ON UPDATE CASCADE ON DELETE NO ACTION
CustomerAddress (Cust_ID, Street, City, ZipPostal) Primary Key Cust_ID, Street Foreign Key Cust_ID references Customer(Cust_ID) ON UPDATE CASCADE ON DELETE NO ACTION
195
Supplier (Supl_ID, Supl_Nm, NPWP, PKP, Seg_Supl, Insert_date_SP) Primary Key Supl_ID
ContactPersonSupplier (Supl_ID, CPS_Nm, CPS_Phone) Primary Key Supl_ID Foreign Key Supl_ID references Supplier (Supl_ID) ON UPDATE CASCADE ON DELETE NO ACTION
SupplierFax (Supl_ID, Supl_Fax) Primary Key Supl_ID, Supl_Fax Foreign Key Supl_ID references Supplier (Supl_ID) ON UPDATE CASCADE ON DELETE NO ACTION
SupplierPhone (Supl_ID, Supl_Phone) Primary Key Supl_ID, Supl_Phone Foreign Key Supl_ID references Supplier (Supl_ID) ON UPDATE CASCADE ON DELETE NO ACTION
SupplierAddress (Supl_ID, Street, City, ZipPostal) Primary Key Supl_ID, Street Foreign Key Supl_ID references Supplier (Supl_ID) ON UPDATE CASCADE ON DELETE NO ACTION
196
RMUtama (RM _ID, RM _Nm, RM Type_Nm, UnitPrice_Buy, UnitPrice_Sell, RM _Tebal,RM _Lebar,RM _Panjang, RM _Stock, RM _update_date, Est_date, M in_buff, M ax_buff) Primary Key RM _ID
RMPembantu (RM _ID, RM _Nm, RM Type_Nm, UnitPrice_Buy, UnitPrice_Sell, RM _M assa, RM _Stock, RM _update_date, Est_date, M in_buff, M ax_buff) Primary Key RM _ID
RMType (RMType_ID, RMType_Name) Primary Key RMType_ID
FinishedGoods (FG_ID, FG_Date, FG_Qty, FG_Del, FG_Stock, WIP_ID) Primary Key FG_ID Foreign Key WIP_ID references WIP (WIP_ID) ON UPDATE CASCADE ON DELETE NO ACTION
S alesContract (SC_ID, SC_Date, POCust_No, POCust_Date, Order_Type, DiameterRoll, PcsPerRoll, RunM eters,
197
ColorProc_InkCo, EstInkProc, Print_Type, Cyl_Pitch, Cyl_Up, Cyl_Width, Cyl_Circum, EyeM ark_Position, EyeM ark_Color, Cutting_Position, Staff_ID, Cust_ID) Primary Key SC_ID Foreign Key Staff_ID references Staff (Staff_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key Cust_ID references Customer (Cust_ID) ON UPDATE CASCADE ON DELETE NO ACTION
JobOrder (JO_ID, JO_Date, Qty_JO, Cetak_FF, Cetak_BF, Date_done, Tgl_kesanggupan, Warna, ArahGulungan, Warna_FF, Warna_BF, Ukuran_Panjang, Ukuran_Lebar, Alufoil, Printing, Komposisi_FF, Komposisi_BF, Sandwich, Est_Berat_sandwich, Coating, Est_Berat_coating, Keterangan, Packing, M etode_pengiriman, Staff_ID, Cust_ID, SC_ID) Primary Key JO_ID Foreign Key Staff_ID references Staff (Staff_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key Cust_ID references Customer (Cust_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key SC_ID references SalesContract (SC_ID) ON UPDATE CASCADE ON DELETE NO ACTION
198
JoDetailBahan (JO_ID, Est_Bahan, Est_Panjang_Bahan) Primary Key JO_ID, Est_Bahan Foreign Key JO_ID references JobOrder (JO_ID) ON UPDATE CASCADE ON DELETE NO ACTION
JoDetailTinta (JO_ID, Est_Type_Tinta, Est_Berat_T) Primary Key JO_ID, Est_Type_Tinta Foreign Key JO_ID references JobOrder (JO_ID) ON UPDATE CASCADE ON DELETE NO ACTION
JoDetailADHE (JO_ID, Est_Type_ADHE, Est_Berat_A) Primary Key JO_ID, Est_Type_ADHE Foreign Key JO_ID references JobOrder (JO_ID) ON UPDATE CASCADE ON DELETE NO ACTION
JoDetailSolfent (JO_ID, Est_Type_Solfent, Est_Berat_S) Primary Key JO_ID, Est_Type_Solfent Foreign Key JO_ID references JobOrder (JO_ID) ON UPDATE CASCADE ON DELETE NO ACTION
PurchaseRequest (PR_ID, Staff_ID, PR_Date) Primary Key PR_ID
199
Foreign Key Staff_ID references Staff (Staff_ID) ON UPDATE CASCADE ON DELETE NO ACTION
PRDetail (PR_ID, RM _ID, PR_Qty, Date_Needed) Primary Key PR_ID, RM _ID Foreign Key PR_ID references PurchaseRequest(PR_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key RM_ID references RMUtama (RM _ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key RM_ID references RMPembantu (RM _ID) ON UPDATE CASCADE ON DELETE NO ACTION
PurchaseOrder (PO_ID, PO_Date, Tax, DelPO_Date, Payment, Staff_ID , PR_ID, Supl_ID) Primary Key PO_ID Foreign Key Staff_ID references Staff (Staff_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key PR_ID references PurchaseRequest (PR_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key Supl_ID references Supplier (Supl_ID) ON UPDATE CASCADE ON DELETE NO ACTION
PODetail (PO_ID, RM _ID, Qty_Prchs, SubTotalPrice, GrandTotal)
200
Primary Key PO_ID, RM _ID Foreign Key PO_ID references PurchaseOrder (PO_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key RM_ID references RMUtama (RM _ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key RM_ID references RMPembantu (RM _ID) ON UPDATE CASCADE ON DELETE NO ACTION
ProductionS chedule (PS_ID, Status) Primary Key PS_ID
S cheduleDetail (JO_ID, PS_ID, Qty_Used, M achine_ID, Proc_Date) Primary Key JO_ID, PS_ID Foreign Key JO_ID references JobOrder (JO_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key PS_ID references ProductionSchedule (PS_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key M achine_ID references M achine (M achine_ID) ON UPDATE CASCADE ON DELETE NO ACTION
Machine(M achine_ID, M achine_Nm) Primary Key M achine_ID
201
WIP (WIP_ID, WIP_Date, Qty_Take, Qty_After, PS_ID) Primary Key WIP_ID, PS_ID Foreign Key PS_ID references ProductionSchedule (PS_ID) ON UPDATE CASCADE ON DELETE NO ACTION
Delivery (Del_ID, Del_Date, Car_Num, Del_Length, Del_Width, Status_DEL, Staff_ID, Cust_ID, FG_ID, SC_ID) Primary Key Del_ID Foreign Key Staff_ID references Staff (Staff_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key Cust_ID references Customer (Cust_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key Car_Num references Vehicle (Car_Num) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key FG_ID references FinishedGoods (FG_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key SC_ID references SalesContract (SC_ID) ON UPDATE CASCADE ON DELETE NO ACTION
PenerimaanRawMaterial (PNRM _ID, Staff_ID, Supl_ID, Status_PNRM, PNRM_date) Primary Key PNRM _ID
202
Foreign Key Staff_ID references Staff (Staff_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key Supl_ID references Supplier (Supl_ID) ON UPDATE CASCADE ON DELETE NO ACTION
PenerimaanRawMaterialDetail (RM_ID, PNRM _ID,Qty_PNRM ) Primary Key RM _ID, PNRM_ID Foreign Key RM_ID references RMUtama (RM _ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key RM_ID references RMPembantu (RM _ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key PNRM _ID references PenerimaanRawM aterial (PNRM _ID) ON UPDATE CASCADE ON DELETE NO ACTION
PengeluaranRawMaterial (PNGRM_ID, Status_PNGRM , Staff_ID, WIP_ID, PNGRM_date) Primary Key PNGRM _ID Foreign Key Staff_ID references Staff (Staff_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key WIP_ID references WIP (WIP_ID) ON UPDATE CASCADE ON DELETE NO ACTION
203
PengeluaranRawMaterialDetail (RM _ID, PNGRM_ID, Qty_PNGRM ) Primary Key RM _ID, PNGRM _ID Foreign Key RM_ID references RMUtama (RM _ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key RM_ID references RMPembantu (RM _ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key PNGRM_ID references PengeluaranRawM aterial (PNGRM _ID) ON UPDATE CASCADE ON DELETE NO ACTION
ReturRawMaterial (RRM _ID, Bag_Prod_ID, WIP_ID) Primary Key RRM _ID, Foreign Key WIP_ID references WIP (WIP_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key Bag_Prod_ID references BagianProd (Bag_Prod_ID) ON UPDATE CASCADE ON DELETE NO ACTION
RRMDetail (RM _ID, RRM_ID, Qty_RRM , Alasan_RRM , RRM_date) Primary Key RM _ID, RRM _ID Foreign Key RM_ID references RMUtama (RM _ID) ON UPDATE CASCADE ON DELETE NO ACTION
204
Foreign Key RM_ID references RMPembantu (RM _ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key RRM_ID references ReturRawM aterial (RRM _ID) ON UPDATE CASCADE ON DELETE NO ACTION
ReturFinishedGoods (RFG_ID, Alasan_RFG, RFG_date, Cust_ID) Primary Key RFG_ID, Cust_ID Foreign Key Cust_ID references Customer (Cust_ID) ON UPDATE CASCADE ON DELETE NO ACTION
RFGDetail (RFG_ID, FG_ID, Qty_RFG, Alasan_RFG) Primary Key RFG_ID, Cust_ID Foreign Key FG_ID references FinishedGoods (FG_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key RFG_ID references ReturFinishedGoods (RFG_ID) ON UPDATE CASCADE ON DELETE NO ACTION
KursDollar (Kurs_Date, Kurs_Value) Primary Key Kurs_Date Vehicle (Del_ID, Car_Num, Status_DEL) Primary Key Del_ID, Car_Num
205
6. General Constraint Dalam sistem terdapat beberapa aturan-aturan yang harus dipenuhi. Berikut ini didefinisikan general constraint yang akan dibuat untuk menjaga integritas dari data yang disimpan. a. Validitas tanggal update nilai tukar dollar. Untuk nilai tukar yang digunakan dalam transaksi, tanggal update dari kurs tersebut harus sama dengan tanggal pembuatan transaksi. b. Validitas Position_ID. Satu orang Staff tidak boleh memiliki lebih dari satu jabatan (Position_ID).
4.2.2.5
Meninjau Model Data Logikal dengan Pengguna Tujuan dari tahap ini adalah memeriksa model data logikal dengan user untuk memastikan bahwa user telah menyetujui model tersebut untuk dijadikan
representasikan nyata dari kebutuhan data
perusahaan. Untuk tahap ini digunakan pemeriksaan kesesuaian antara model data logikal yang telah dibuat dengan Data Flow Diagram (DFD) yang menunjukkan pergerakan data dalam
perusahaan dan
penyimpanan data dalam datastore. Hasil yang didapat setelah tahap ini dilakukan adalah: - Setiap datastore sudah mewakili semua tipe entitas. - Atribut-atribut yang terdapat pada data flow sudah terdapat pada tipe entitas.
206
4.2.2.6
Memeriksa Pertumbuhan Yang Akan Datang Tujuan dari tahap ini adalah untuk memperkirakan ada tidaknya perubahan yang signifikan untuk ke depannya dan untuk menentukan apakah model data logikal yang telah dibuat dapat mengakomodasi perubahan tersebut.
4.2.3
Perancangan Basis Data Fisikal Perancangan basis data fisikal terdiri dari proses pembuatan deskripsi implementasi database pada secondary storage, meliputi penjabaran relasi dasar, pengorganisasian file, dan penggunaan indeks untuk mengakses data dengan efisien, dan integrity constraint dan masalah security yang berhubungan.
4.2.3.1
Perancangan Relasi Dasar Tujuan dari tahap ini adalah untuk menentukan cara menampilkan relasi dasar pada model data logical yang telah diidentifikasi ke dalam DBM S tujuan. Database Design Language (DBDL) yang digunakan adalah sebagai berikut:
1. S taff Domain Staff_ID
fixed length character string, length 6, must be ‘[A-Z][A-Z][0-9][0-9][0-9][0-9]’
Domain Staff_Nm
variable length character string, length 50
Domain Gender
single character, must be ‘M ’ or ‘F’
Domain Position_ID
fixed length character string, length 6, must
207
be ‘[A-Z][A-Z][0-9][0-9][0-9][0-9]’ Domain Start_Year
variable datetime
Domain Street
variable length character string, length 70
Domain City
variable length character string, length 20
Domain ZipPostal
variable length character string, length 6
Domain M arital_Status
variable length character string, length 2
Domain User_ID
variable integer
Staff ( Staff_ID
Kode Karyawan
NOT NULL,
Staff_Nm
Nama Karyawan
NOT NULL,
Gender
Jenis Kelamin
NOT NULL,
Position_ID
Kode Jabatan
NOT NULL,
Start_Year
Tahun M ulai Bekerja
NOT NULL,
Street
Nama Jalan
NOT NULL,
City
Nama Kota
NOT NULL,
ZipPostal
Kode Pos
NOT NULL,
M arital_Status
Status M enikah
NOT NULL,
User_ID
Kode Pengguna
NOT NULL,
PRIM ARY KEY (Staff_ID), FOREIGN KEY Position_ID REFERENCES Position(Position_ID) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY User_ID REFERENCES StaffUser(User_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
208
2. S taffUser Domain User_ID
variable integer
Domain Username
variable length character string, length 50
Domain Password
variable length character string, length 6
StaffUser ( User_ID
Kode Pengguna
NOT NULL,
Username
Nama Pengguna
NOT NULL,
Password
Kata Kunci Penguna
NOT NULL,
PRIM ARY KEY (User_ID);
3. Position Domain Position_ID
fixed length character string, length 6, must be ‘[A-Z][A-Z][0-9][0-9][0-9][0-9]’
Domain Position_Nm
variable length character string, length 30
Position ( Position_ID
Kode Jabatan
NOT NULL,
Position_Nm
NamaJabatan
NOT NULL,
PRIM ARY KEY (Position_ID);
4. S taffPhone Domain Staff_ID
fixed length character string, length 6, must be ‘[A-Z][A-Z][0-9][0-9][0-9][0-9]’
Domain Staff_Phone
variable length character string, length 15
209
StaffPhone ( Staff_ID
Kode Karyawan
NOT NULL,
Staff_Phone
Telepon Karyawan
NOT NULL,
PRIM ARY KEY (Staff_ID, Staff_Phone), FOREIGN KEY Staff_ID REFERENCES Staff(Staff_ID) ON UPDATE CASCADE ON DELETE NO ACTION)
5. Customer Domain Cust_ID
fixed length character string, length 6, must be ‘CC[0-9][0-9][0-9]’
Domain Cust_Nm
variable length character string, length 50
Domain NPWP
variable length character string, length 30
Domain Seg_M arket
variable length character string, length 10
Customer ( Cust_ID
Kode Customer
NOT NULL,
Cust_Nm
Nama Customer
NOT NULL,
NPWP
Nomor Pokok Wajib Pajak
NOT NULL,
Seg_M arket
Segmen M arket
NOT NULL
PRIM ARY KEY (Cust_ID);
6. ContactPersonCustomer Domain CPC_Phone
variable length character string, length 15
210
Domain CPC_Nm
variable length character string, length 50
Domain Cust_ID
fixed length character string, length 6, must be ‘CC[0-9][0-9][0-9][0-9]’
ContactPersonCustomer ( CPC_Phone
Telepon Contact Person
NOT NULL,
CPC_Nm
Nama Contact Person
NOT NULL,
Cust_ID
Kode Csutomer
NOT NULL,
PRIM ARY KEY (CPC_Phone, Cust_ID), FOREIGN KEY Cust_ID REFERENCES Customer(Cust_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
7. CustomerFAX Domain Cust_Fax
variable length character string, length 15
Domain Cust_ID
fixed length character string, length 6, must be ‘CC[0-9][0-9][0-9][0-9]’
CustomerFax ( Cust_Fax
Fax Customer
NOT NULL,
Cust_ID
Kode Customer
NOT NULL,
PRIM ARY KEY (Cust_Fax, Cust_ID), FOREIGN KEY Cust_ID REFERENCES Customer(Cust_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
211
8. CustomerPhone Domain Cust_Phone
variable length character string, length 15
Domain Cust_ID
fixed length character string, length 6, must be ‘CC[0-9][0-9][0-9][0-9]’
CustomerPhone ( Cust_Phone
Telepon Customer
NULL,
Cust_ID
Kode Customer
NOT NULL,
PRIM ARY KEY (Cust_Phone, Cust_ID), FOREIGN KEY Cust_ID REFERENCES Customer(Cust_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
9. CustomerAddr Domain Street
variable length character string, length 70
Domain City
variable length character string, length 20
Domain ZipPostal
variable length character string, length 6
Domain Cust_ID
fixed length character string, length 6, must be ‘CC[0-9][0-9][0-9][0-9]’
CustomerAddr ( Street
Nama Jalan
NOT NULL,
City
Nama Kota
NOT NULL,
ZipPostal
Kode Pos
NOT NULL,
Cust_ID
Kode Customer
NOT NULL,
PRIM ARY KEY (Street, Cust_ID),
212
FOREIGN KEY Cust_ID REFERENCES Customer(Cust_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
10. Supplier Domain Supl_ID
fixed length character string, length 6, must be ‘CS[0-9][0-9][0-9][0-9]’
Domain Supl_Nm
variable length character string, length 50
Domain NPWP
variable length character string, length 30
Domain PKP
variable length character string, length 30
Domain Seg_Supl
variable length character string, length 10
Domain Insert_date_SP
variable datetime
Supplier ( Supl_ID
Kode Supplier
NOT NULL,
Supl_Nm
Nama Supplier
NOT NULL,
NPWP
Nomor Pokok Wajib Pajak
NOT NULL,
PKP
Nomor Pengusaha Kena Pajak
NOT NULL,
Seg_Supl
Segmen Supplier
NOT NULL,
Insert_date_SP
Tanggal Entri Supplier
NOT NULL,
PRIM ARY KEY (Supp_ID),
11. ContactPersonSupplier Domain CPS_Phone
variable length character string, length 15
Domain CPS_Nm
variable length character string, length 50
213
Domain Supl_ID
fixed length character string, length 6, must be ‘CS[0-9][0-9][0-9][0-9]’
ContactPersonSupplier ( CPS_Phone
Telepon Contact Person
NOT NULL,
CPS_Nm
Nama Contact Person
NOT NULL,
Supl_ID
Kode Supplier
NOT NULL,
PRIM ARY KEY (CPS_Phone, Supl_ID), FOREIGN KEY Supl_ID REFERENCES Supplier(Supl_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
12. SupplierFAX Domain Supl_Fax
variable length character string, length 15
Domain Supl_ID
fixed length character string, length 6, must be ‘CS[0-9][0-9][0-9][0-9]’
SupplierFax ( Supl_Fax
Fax Supplier
NULL,
Supl_ID
Kode Supplier
NOT NULL,
PRIM ARY KEY (Supl_Fax, Supl_ID), FOREIGN KEY Supl_ID REFERENCES Supplier(Supl_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
13. SupplierPhone Domain Supl_Phone
variable length character string, length 15
214
Domain Supl_ID
fixed length character string, length 6, must be ‘CS[0-9][0-9][0-9][0-9]’
SupplierPhone ( Supl_Phone
Telepon Supplier
NOT NULL,
Supl_ID
Kode Supplier
NOT NULL,
PRIM ARY KEY (Supl_Phone, Supl_ID), FOREIGN KEY Supl_ID REFERENCES Supplier(Supl_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
14. SupplierAddr Domain Street
variable length character string, length 70
Domain City
variable length character string, length 20
Domain ZipPostal
variable length character string, length 6
Domain Supl_ID
fixed length character string, length 6, must be ‘CS[0-9][0-9][0-9][0-9]’
SupplierAddr( Street
Nama Jalan
NOT NULL,
City
Nama Kota
NOT NULL,
ZipPostal
Kode Pos
NOT NULL,
Supl_ID
Kode Supplier
NOT NULL,
PRIM ARY KEY (Street, Supl_ID), FOREIGN KEY Supl_ID REFERENCES Supplier(Supl_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
215
15. RMUtama Domain RM _ID
fixed length character string, length 6, must be ‘RM [0-9][0-9][0-9][0-9]’
Domain RM _Nm
variable length character string, length 50
Domain RM Type_ID
fixed length character string, length 6, must be ‘RT[0-9][0-9][0-9][0-9]’
Domain RM _Tebal
variable float
Domain RM _Lebar
variable float
Domain RM _Panjang
variable float
Domain UnitPrice_Sell
variable money
Domain UnitPrice_Buy
variable money
Domain RM _update_date
variable datetime
Domain Est_date
variable datetime
Domain M in_buff
variable float
Domain M ax_buff
variable float
RMFilm ( RM _ID
Kode Raw M aterial
NOT NULL,
RM _Nm
Nama Raw M aterial
NOT NULL,
RMType_ID
Kode Jenis Raw M aterial
NOT NULL,
RM _Tebal
Tebal Raw M aterial
NULL,
RM _Panjang
Panjang Raw M aterial
NULL,
RM _Lebar
Lebar Raw M aterial
NULL,
216
UnitPrice_Sell
Harga Jual Raw M aterial Satuan
NOT NULL,
UnitPrice_Buy
Harga Beli Raw M aterial Satuan
NOT NULL,
RM _update_date
Tanggal Update Stok Raw M aterial NOT NULL,
Est_date
Tanggal Estimasi Stok
NOT NULL,
M in_buff
Estimasi M inimum Stok
NOT NULL,
M ax_buff
Estimasi M aksimum Stok
NOT NULL,
PRIM ARY KEY (RM _ID), FOREIGN KEY RM Type_ID REFERENCES RMType(RMType_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
16. RMPembantu Domain RM _ID
fixed length character string, length 6, must be ‘RM [0-9][0-9][0-9][0-9]’
Domain RM _Nm
variable length character string, length 50
Domain RM Type_ID
fixed length character string, length 6, must be ‘RT[0-9][0-9][0-9][0-9]’
Domain RM _M assa
variable float
Domain UnitPrice_Sell
variable money
Domain UnitPrice_Buy
variable money
Domain RM _update_date
variable datetime
Domain Est_date
variable datetime
Domain M in_buff
variable float
217
Domain M ax_buff
variable float
RMFilm ( RM _ID
Kode Raw M aterial
NOT NULL,
RM _Nm
Nama Raw M aterial
NOT NULL,
RMType_ID
Kode Jenis Raw M aterial
NOT NULL,
RM _M assa
M assa Raw M aterial
NULL,
UnitPrice_Sell
Harga Jual Raw M aterial Satuan
NOT NULL,
UnitPrice_Buy
Harga Beli Raw M aterial Satuan
NOT NULL,
RM _update_date
Tanggal Update Stok Raw M aterial NOT NULL,
Est_date
Tanggal Estimasi Stok
NOT NULL,
M in_buff
Estimasi M inimum Stok
NOT NULL,
M ax_buff
Estimasi M aksimum Stok
NOT NULL,
PRIM ARY KEY (RM _ID), FOREIGN KEY RM Type_ID REFERENCES RMType(RMType_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
17. RMType Domain RM Type_ID
fixed length character string, length 6, must be ‘RT[0-9][0-9][0-9][0-9]’
Domain RM Type_Nm
variable length character string, length 6
RMType ( RMType_ID
Kode Jenis Raw M aterial
NOT NULL,
RMType_Nm
Nama Jenis Raw M aterial
NOT NULL,
218
PRIM ARY KEY (RMType_ID);
18. FinishedGoods Domain FG_ID
fixed length character string, length 6, must be ‘FG[0-9][0-9][0-9][0-9]’
Domain FG_Date
variable datetime
Domain FG_Qty
variable integer
Domain FG_Del
variable integer
Domain FG_Stock
variable integer
Domain WIP_ID
fixed length character string, length 6, must be ‘WP[0-9][0-9][0-9][0-9]’
FinishedGoods ( FG_ID
Kode Finished Goods
NOT NULL,
FG_Date
Tanggal Barang Selesai Dibuat
NOT NULL,
FG_Qty
Jumlah Barang Jadi Keseluruhan
NOT NULL,
FG_Del
Jumlah Barang Jadi Siap Dikirim
NOT NULL,
FG_Stock
Sisa Barang Jadi Setelah Dikirim
NOT NULL,
WIP_ID
Kode Work In Process
NOT NULL,
PRIM ARY KEY (FG_ID), FOREIGN KEY WIP_ID REFERENCES WIP(WIP_ID) ON UPDATE CASCADE ON DELETE NO ACTION)
219
19. S alesContract Domain SC_ID
fixed length character string, length 14, must be ‘[0-9][0-9][0-9][0-9]/SC/mmyyyy’
Domain SC_Date
variable datetime
Domain POCust_No
variable length character string, length 50
Domain POCust_Date
variable datetime
Domain Order_Type
variable length character string, length 10
Domain DiameterRoll
variable integer
Domain PcsPerRoll
variable integer
Domain RunM eters
variable integer
Domain ColorProc_InkCo
variable integer
Domain EstInkProc
variable integer
Domain Print_Type
variable length character string, length 15
Domain Cyl_Pitch
variable integer
Domain Cyl_Up
variable integer
Domain Cyl_Width
variable integer
Domain Cyl_Circum
variable integer
Domain EyeM ark_Position
variable length character string, length 10
Domain EyeM ark_Color
variable length character string, length 15
Domain Cutting_Position
variable length character string, length 50
Domain Staff_ID
fixed length character string, length 6, must be ‘[A-Z][A-Z][0-9][0-9][0-9]’
Domain Cust_ID
fixed length character string, length 6, must
220
be ‘CC[0-9][0-9][0-9][0-9]’ SalesContract ( SC_ID
Kode Sales Contract
NOT NULL,
SO_Date
Tanggal Pembuatan Sales
NOT NULL,
POCust_No
Nomor PO dari Customer
NOT NULL,
POCust_Date
Tanggal PO Customer Dibuat
NOT NULL,
Order_Type
Jenis Pesanan
NOT NULL,
DiameterRoll
Diameter Rol Bahan Baku
NOT NULL,
PcsPerRoll
Jumlah Pieces per Roll
NOT NULL,
RunM eters
Jumlah Panjang Pesanan per Roll
NOT NULL,
ColorProc_InkCo
Banyak Tinta dalam Pesanan
NOT NULL,
EstInkProc
Perkiraan Jumlah Tinta
NOT NULL,
Print_Type
Jenis Pencetakan
NOT NULL,
Cyl_Pitch
Ukuran Pitch Cylinder
NOT NULL,
Cyl_Up
Ukuran Up Cylinder
NOT NULL,
Cyl_Width
Lebar Cylinder
NOT NULL,
Cyl_Circum
Ukuran Circum Cylinder
NOT NULL,
EyeM ark_Position
Posisi EyeM ark
NOT NULL,
EyeM ark_Color
Warna EyeM ark
NOT NULL,
Cuting_Position
Posisi Pemotongan
NOT NULL,
Staff_ID
Kode Karyawan
NOT NULL,
Cust_ID
Kode Customer
NOT NULL,
PRIM ARY KEY (SO_ID),
221
FOREIGN KEY Cust_ID REFERENCES Customer(Cust_ID) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY Staff_ID REFERENCES Staff(Staff_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
20. JobOrder Domain JO_ID
fixed length character string, length 14, must be ‘[0-9][0-9][0-9][0-9]/JO/ [0-3] [09] [1-9] [0-9] [0-9][0-9]’
Domain JO_Date
variable datetime
Domain Qty_JO
variable integer
Domain Cetak_FF
variable length character string, length 50
Domain Cetak_BF
variable length character string, length 50
Domain Date_done
variable datetime
Domain Tgl_kesanggupan
variable datetime
Domain Warna
variable length character string, length 20
Domain ArahGulungan
variable length character string, length 20
Domain Warna_FF
variable length character string, length 50
Domain Warna_BF
variable length character string, length 50
Domain Ukuran_Panjang
variable integer
Domain Ukuran_Lebar
variable integer
Domain Alufoil
variable length character string, length 20
Domain Printing
variable length character string, length 20
222
Domain Komposisi_FF
variable length character string, length 50
Domain Komposisi_BF
variable length character string, length 50
Domain Sandwich
variable length character string, length 50
Domain Est_Berat_sandwich
variable integer
Domain Coating
variable length character string, length 50
Domain Est_Berat_coating
variable integer
Domain Keterangan
variable text
Domain Packing
variable length character string, length 20
Domain M etode_pengiriman
variable length character string, length 50
Domain Staff_ID
fixed length character string, length 6, must be ‘[A-Z][A-Z][0-9][0-9][0-9][0-9]’
Domain Cust_ID
fixed length character string, length 6, must be ‘CC[0-9][0-9][0-9][0-9]’
Domain SC_ID
fixed length character string, length 14, must be ‘[0-9][0-9][0-9][0-9]/SC/mmyyyy’
JobOrder ( Job_ID
Kode JobOrder
NOT NULL,
Job_Date
Tangal Pembuatan JO
NOT NULL,
Qty_JO
Banyaknya Pesanan
NOT NULL,
Cetak_FF
Cetak Front Foil
NOT NULL,
Cetak_BF
Cetak Back Foil
NOT NULL,
Date_done
Tanggal Selesai
NOT NULL,
223
Tgl_kesanggupan
Tanggal Kesanggupan Selesai
NOT NULL,
Warna
Jenis Warna
NOT NULL,
ArahGulungan
Arah Gulungan Rol
NOT NULL,
Warna_FF
Warna Front Foil
NOT NULL,
Warna_BF
Warna Back Foil
NOT NULL,
Ukuran_Panjang
Ukuran Panjang
NOT NULL,
Ukuran_Lebar
Ukuran Lebar
NOT NULL,
Alufoil
Tipe Permukaan
NOT NULL,
Printing
Tipe Printing
NOT NULL,
Komposisi_FF
Komposisi Bahan dari FF
NOT NULL,
Komposisi_BF
Komposisi Bahan dari BF
NOT NULL,
Sandwich
Bahan Pendukung Untuk Lapisan
NOT NULL,
Est_Berat_sandwich
Berat Sandwitch
NOT NULL,
Coating
Bahan Pendukung Untuk Pelindung NOT NULL,
Est_Berat_coating
Berat Coating
NOT NULL,
Keterangan
Keterangan / Komentar
NOT NULL,
Packing
Tipe Packing yang Diinginkan
NOT NULL,
M etode_pengiriman
M etode Pengiriman
NOT NULL,
SC_ID
Kode SalesContract
NOT NULL,
Staff_ID
Kode Karyawan
NOT NULL,
Cust_ID
Kode Customer
NOT NULL,
PRIM ARY KEY (JO_ID), FOREIGN KEY Staff_ID REFERENCES Staff(Staff_ID) ON UPDATE
224
CASCADE ON DELETE NO ACTION, FOREIGN KEY SC_ID REFERENCES SalesContract (SC_ID) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY Cust_ID REFERENCES Customer(Cust_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
21. JoDetailBahan Domain JO_ID
fixed length character string, length 14, must be ‘[0-9][0-9][0-9][0-9]/JO/ [0-3] [09] [1-9] [0-9] [0-9][0-9]’
Domain Est_Bahan
variable length character string, length 50
Domain Est_Panjang_Bahan
variable integer
JoDetailBahan ( JO_ID
Kode Job Order
NOT NULL,
Est_Bahan
Nama Estimasi Bahan Baku Utama NOT NULL,
Est_Panjang_bahan
Panjang Bahan Baku Utama
NOT NULL,
PRIM ARY KEY(Est_Bahan, JO_ID) FOREIGN KEY JO_ID REFERENCES JobOrder(JO_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
225
22. JoDetailTinta Domain JO_ID
fixed length character string, length 14, must be ‘[0-9][0-9][0-9][0-9]/JO/ [0-3] [09] [1-9] [0-9] [0-9][0-9]’
Domain Est_Type_Tinta
variable length character string, length 20
Domain Est_Berat_T
variable integer
JoDetailTinta( JO_ID
Kode Job Order
NOT NULL,
Est_Type_Tinta
Tinta yang Digunakan
NOT NULL,
Est_Berat_T
Berat tinta yang digunakan
NOT NULL,
PRIM ARY KEY(Est_Type_Tinta, JO_ID) FOREIGN KEY JO_ID REFERENCES JobOrder(JO_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
23. JoDetailADHE Domain JO_ID
fixed length character string, length 14,
must
be ‘[0-9][0-9][0-9][0-
9]/JO/ [0-3] [0-9] [1-9] [0-9] [09][0-9]’ Domain Est_Type_ADHE
variable length character string, length 20
Domain Est_Berat_A
variable integer
226
JoDetailADHE( JO_ID
Kode Job Order
NOT NULL,
Est_Type_ADHE
Tipe ADHE yang digunakan
NOT NULL,
Est_Berat_A
Berat ADHE yang digunakan
NOT NULL,
PRIM ARY KEY(Est_Type_ADHE, JO_ID) FOREIGN KEY JO_ID REFERENCES JobOrder(JO_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
24. JoDetailSolfent Domain JO_ID
fixed length character string, length 14, must be ‘[0-9][0-9][0-9][0-9]/JO/ [0-3] [09] [1-9] [0-9] [0-9][0-9]’
Domain Est_Type_Solfent
variable length character string, length 20
Domain Est_Berat_S
variable integer
JoDetailSolfent( JO_ID
Kode Job Order
NOT NULL,
Est_Type_Solfent
Tipe Solfent yang Digunakan
NOT NULL,
Est_Berat_A
Variable integer
NOT NULL,
PRIM ARY KEY(Est_Type_Solfent, JO_ID) FOREIGN KEY JO_ID REFERENCES JobOrder(JO_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
227
25. PurchaseRequest Domain PR_ID
fixed length character string, length 6, must be ‘PR[0-9][0-9][0-9][0-9]’
Domain PR_Date
variable datetime
Domain Staff_ID
fixed length character string, length 6, must be ‘[A-Z][A-Z][0-9][0-9][0-9][0-9]’
PurchaseRequest ( PR_ID
Kode Permintaan Pembelian
NOT NULL,
PR_Date
Tanggal Pembuatan
NOT NULL,
Staff_ID
Kode Karyawan
NOT NULL,
PRIM ARY KEY (PR_ID), FOREIGN KEY Staff_ID REFERENCES Staff(Staff_ID) ON UPDATE CASCADE ON DELETE NO ACTION;
26. PRDetail Domain PR_ID
fixed length character string, length 6, must be ‘PR[0-9][0-9][0-9][0-9]’
Domain RM _ID
fixed length character string, length 6, must be ‘RM [0-9][0-9][0-9][0-9]’
Domain PR_Qty
variable float
Domain Date_Needed
variable datetime
PRDetail( PR_ID
Kode Purchase Request
NOT NULL,
228
RM _ID
Kode Bahan Baku
NOT NULL,
PR_Qty
Jumlah Bahan Baku yang Dibeli
NOT NULL,
Date_Needed
Tanggal Diperlukan
NOT NULL,
PRIM ARY KEY (PR_ID,RM _ID), FOREIGN KEY OR_ID REFERENCES PurchaseRequest(PR_ID) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY RM _ID REFERENCES RM Utama(RM _ID) ON UPDATE CASCADE ON DELETE NO ACTION);
27. PurchaseOrder Domain PO_ID
fixed length character string, length 6, must be ‘PO[0-9][0-9][0-9][0-9]’
Domain PO_Date
variable datetime
Domain Tax
variable integer
Domain DelPO_Date
variable datetime
Domain Payment
variable datetime
Domain Supl_ID
fixed length character string, length 6, must be ‘CS[0-9][0-9][0-9][0-9]’
Domain Staff_ID
fixed length character string, length 6, must be ‘[A-Z][A-Z][0-9][0-9][0-9][0-9]’
Domain PR_ID
fixed length character string, length 6, must be ‘PR[0-9][0-9][0-9][0-9]’
PurchaseOrder (
229
PO_ID
Kode PO
NOT NULL,
PO_Date
Tanggal Pembuatan PO
NOT NULL,
Tax
Persentase Pajak
NOT NULL,
DelPO_Date
Tanggal Pengiriman PO
NOT NULL,
Payment
Waktu Pembayaran
NOT NULL,
Supl_ID
Kode Supplier
NOT NULL,
Staff_ID
Kode Karyawan
NOT NULL,
PR_ID
Kode Permintaan Pembelian NOT NULL,
PRIM ARY KEY (PO_ID), FOREIGN KEY Supl_ID REFERENCES Supplier(Supp_ID) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY Staff_ID REFERENCES Staff(Staff_ID) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY PR_ID REFERENCES PurchaseRequest(PR_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
28. PODetail Domain PO_ID
fixed length character string, length 6, must be ‘PO[0-9][0-9][0-9][0-9]’
Domain Qty_Prchs
PODetail (
variable integer
230
PO_ID
Kode PO
NOT NULL,
Qty_Prchs
Jumlah Bahan Baku yang Dibeli
NOT NULL,
PRIM ARY KEY (PO_ID, Qty_Prchs), FOREIGN KEY PO_ID REFERENCES PurchaseOrder(PO_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
29. ProductionS chedule Domain PS_ID
fixed length character string, length 6, must be ‘PS[0-9][0-9][0-9][0-9]’
Domain Status
variable length character string, length 20
ProductionSchedule ( Schedule_ID
Kode Jadwal Produksi
NOT NULL,
Status
Status Konfirmasi
NULL,
PRIM ARY KEY (Schedule_ID);
30. S cheduleDetail Domain PS_ID
fixed length character string, length 6, must be ‘PS[0-9][0-9][0-9][0-9]’
Domain JO_ID
fixed length character string, length 14, must be ‘[0-9][0-9][0-9][0-9]/JO/ [0-3] [09] [1-9] [0-9] [0-9][0-9]’
Domain Qty_Used
variable integer
Domain M achine_ID
fixed length character string, length 6, must
231
be ‘M N[0-9][0-9][0-9][0-9]’ Domain Proc_Date
variable datetime
ScheduleDetail ( Schedule_ID
Kode Jadwal Produksi
NOT NULL,
JO_ID
Kode Job Order
NOT NULL,
Qty_Used
Jumlah Bahan Baku Dipakai
NOT NULL,
M achine_ID
Kode M esin
NOT NULL,
Proc_Date
Tanggal Proses Dilakukan
NOT NULL,
PRIM ARY KEY (PS_ID, JO_ID), FOREIGN KEY PS_ID REFERENCES ProductionSchedule(PS_ID) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY M achine_ID REFERENCES M achine(M achine_ID) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY JO_ID REFERENCES JobOrder(JO_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
31. Machine Domain M achine_ID
fixed length character string, length 6, must be M C[0-9][0-9][0-9][0-9]’
Domain M achine_Nm
variable length character string, length 20
Domain Proc_Date
variable datetime
M achine(
232
M achine_ID
Kode M esin
NOT NULL
M achine_Nm
Nama M esin
NOT NULL
Proc_Date
Tanggal Proses Dilakukan
NOT NULL
PRIM ARY KEY (M achine_ID);
32. WIP Domain WIP_ID
fixed length character string, length 6, must be ‘WP[0-9][0-9][0-9][0-9]’
Domain WIP_Date
variable datetime
Domain Qty_Take
variable integer
Domain Qty_After
variable integer
Domain PS_ID
fixed length character string, length 6, must be ‘PS[0-9][0-9][0-9][0-9]’
WIP ( WIP_ID
Kode Work In Process
NOT NULL,
WIP_Date
Tanggal Pengerjaan WIP
NOT NULL,
Qty_Take
Jumlah Bahan Baku untuk Proses Selanjutnya NULL,
Qty_After
Sisa Bahan Baku Setelah Dipakai Dalam Proses NULL,
PS_ID
Kode Jadwal Produksi
NOT NULL,
PRIM ARY KEY (WIP_ID); FOREIGN KEY PS_ID REFERENCES ProductionSchedule(PS_ID) ON UPDATE CASCADE ON DELETE NO ACTION,
233
33. Delivery Domain Del_ID
fixed length character string, length 17, must be ‘[0-9][0-9][0-9][0-9][0-9]/[AZ][A-Z][A-Z]/[0-9][0-9]/ [0-9][0-9][0-9][09]’
Domain Del_Date
variable datetime
Domain Car_Num
variable length character string, length 9
Domain Del_Length
variable integer
Domain Del_Width
variable integer
Domain Status_DEL
variable length character string, length 20
Domain FG_ID
fixed length character string, length 6, must be ‘FG[0-9][0-9][0-9][0-9]’
Domain Staff_ID
fixed length character string, length 6, must be ‘[A-Z][A-Z][0-9][0-9][0-9][0-9]’
Domain Cust_ID
fixed length character string, length 6, must be ‘CC[0-9][0-9][0-9][0-9]’
Domain SC_ID
fixed length character string, length 14, must be ‘[0-9][0-9][0-9][0-9]/SC/mmyyyy’
Delivery ( Del_ID
Kode Pengiriman
NOT NULL,
Del_Date
Tanggal Pengiriman
NOT NULL,
Car_Num
Nomor Polisi Kendaraan
NOT NULL,
Del_Length
Total Panjang Barang Dikirim
NOT NULL,
234
Del_Width
Total Lebar Barang Dikirim
NOT NULL,
Status_DEL
Status Pengiriman Barang Jadi
NOT NULL,
FG_ID
Kode FinishedGods
NOT NULL,
Staff_ID
Kode Karyawan
NOT NULL,
Cust_ID
Kode Customer
NOT NULL,
SC_ID
Kode SC
NOT NULL,
PRIM ARY KEY (Del_ID), FOREIGN KEY Staff_ID REFERENCES Staff(Staff_ID) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY Cust_ID REFERENCES Customer(Cust_ID) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY FG_ID REFERENCES FinishedGoods(FG_ID) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY SC_ID REFERENCES SalesContract(SC_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
34. PenerimaanRawMaterial Domain PNRM _ID
fixed length character string, length 6, must be ‘TR[0-9][0-9][0-9][0-9]’
Domain Status_PNRM
variable length character string, length 20
Domain Staff_ID
fixed length character string, length 6, must be ‘[A-Z][A-Z][0-9][0-9][0-9][0-9]’
Domain Supl_ID
fixed length character string, length 6, must
235
be ‘CS[0-9][0-9][0-9][0-9]’ Domain PNRM _date
variable datetime
PenerimaanRawM aterial( PNRM _ID
Kode Penerimaan Bahan Baku
NOT NULL
Status_PNRM
Status Penerimaan Bahan Baku
NOT NULL
Staff_ID
Kode Karyawan
NOT NULL
Supl_ID
Kode Supplier
NOT NULL
PNRM _date
Tanggal Pengeluaran Bahan Baku
NOT NULL
PRIM ARY KEY (PNRM _ID), FOREIGN KEY Staff_ID REFERENCES Staff(Staff_ID) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY Supl_ID REFERENCES Supplier(Supl_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
35. PenerimaanRawMaterialDetail Domain RM _ID
fixed length character string, length 6, must be ‘RM [0-9][0-9][0-9][0-9]’
Domain PNRM _ID
fixed length character string, length 6, must be ‘TR[0-9][0-9][0-9][0-9]’
Domain Qty_PNRM
variabel integer
236
PenerimaanRawM aterialDetail( RM _ID
Kode Bahan Baku
NOT NULL
PNRM _ID
Kode Penerimaan Bahan Baku
NOT NULL
Qty_PNRM
Total Penerimaan Bahan Baku
NOT NULL
PRIM ARY KEY (PNRM _ID,RM _ID), FOREIGN KEY RM _ID REFERENCES RM Utama(RM _ID) ON UPDATE CASCADE ON DELETE NO ACTION);
36. PengeluaranRawMaterial Domain PNGRM _ID
fixed length character string, length 6, must be ‘KR[0-9][0-9][0-9][0-9]’
Domain Status_PNGRM
variable length character string, length 20
Domain Staff_ID
fixed length character string, length 6, must be ‘[A-Z][A-Z][0-9][0-9][09][0-9]’
Domain WIP_ID
fixed length character string, length 6, must be ‘WP[0-9][0-9][0-9][0-9]’
Domain PNGRM _date
variable datetime
PengeluaranRawM aterial( PNGRM _ID
Kode Pengeluaran Bahan Baku
NOT NULL,
Status_PNGRM
Status Pengeluaran Bahan Baku
NOT NULL,
237
Staff_ID
Kode Karyawan
NOT NULL,
WIP_ID
Kode Work In Process
NOT NULL,
PRIM ARY KEY (PNGRM _ID), FOREIGN KEY Staff_ID REFERENCES Staff(Staff_ID) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY WIP_ID REFERENCES WIP(WIP_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
37. PengeluaranRawMaterialDetail Domain RM _ID
fixed length character string, length 6, must be ‘RM [0-9][0-9][0-9][0-9]’
Domain PNGRM _ID
fixed length character string, length 6, must be ‘KR[0-9][0-9][0-9][0-9]’
Domain Qty_PNGRM
variabel Integer
PenerimaanRawM aterialDetail( RM _ID
Kode Bahan Baku
NOT NULL
PNGRM _ID
Kode Pengeluaran Bahan Baku
NOT NULL
PNGRM _date
Tanggal Pengeluaran Bahan Baku
NOT NULL
Qty_PNGRM
Total Pengeluaran Bahan Baku
NOT NULL
PRIM ARY KEY (PNGRM _ID,RM_ID), FOREIGN KEY RM _ID REFERENCES RM Utama(RM _ID) ON UPDATE CASCADE ON DELETE NO ACTION);
238
38. ReturRawMaterial Domain RRM _ID
fixed length character string, length 6, must be ‘RR[0-9][0-9][0-9][0-9]’
Domain WIP_ID
fixed length character string, length 6, must be ‘WP[0-9][0-9][0-9][0-9]’
Domain Bag_Prod_ID
fixed length character string, length 6, must be ‘BP[0-9][0-9][0-9][0-9]’
Domain RRM _date
variable datetime
ReturRawM aterial( RRM _ID
Kode Retur Bahan Baku
NOT NULL
WIP_ID
Kode Work In Process
NOT NULL
Bag_Prod_ID
Kode Bagian Produksi
NOT NULL
RRM _date
Tanggal Retur Bahan Baku
NOT NULL
PRIM ARY KEY (RRM _ID), FOREIGN KEY WIP_ID REFERENCES WIP(WIP_ID) ON UPDATE CASCADE ON DELETE NO ACTION); FOREIGN KEY Bag_Prod_ID REFERENCES BagianProd(Bag_Prod_ID _ID) ON UPDATE CASCADE ON DELETE NO ACTION);
39. RRMDetail Domain RM _ID
fixed length character string, length 6, must be ‘RM [0-9][0-9][0-9][0-9]’
Domain RRM _ID
fixed length character string, length 6, must
239
be ‘RR[0-9][0-9][0-9][0-9]’ Domain Qty_RRM
variable integer
Domain Alasan_RRM
variable length character string, length 50
RRMDetail( RM _ID
Kode Bahan Baku
NOT NULL
RRM _ID
Kode Retur Bahan Baku
NOT NULL
Qty_RRM
Jumlah Retur Bahan Baku
NOT NULL
Alasan_RRM
Alasan Retur Bahan Baku
NOT NULL
PRIM ARY KEY (RRM _ID,RM_ID), FOREIGN KEY RM _ID REFERENCES RM Utama(RM _ID) ON UPDATE CASCADE ON DELETE NO ACTION);
40. BagianProd Domain Bag_Prod_ID
fixed length character string, length 6, must be ‘BP[0-9][0-9][0-9][0-9]’
Domain Bag_Prod_Nm
variable length character string, length 15
BagianProd( Bag_Prod_ID
Kode Bagian Produksi
NOT NULL
Bag_Prod_Nm
Nama Bagian Produksi
NOT NULL
PRIM ARY KEY (Bag_Prod_ID);
240
41. ReturFinishedGoods Domain RFG_ID
fixed length character string, length 6, must be ‘RF[0-9][0-9][0-9][0-9]’
Domain RFG_date
variable datetime
Domain Cust_ID
fixed length character string, length 6, must be ‘CC[0-9][0-9][0-9][0-9]’
ReturFinishedGoods( RFG_ID
Kode Retur Barang Jadi
NOT NULL,
RFG_date
Tanggal Retur Barang Jadi
NOT NULL,
Cust_ID
Kode Customer
NOT NULL,
PRIM ARY KEY (RFG_ID), FOREIGN KEY Cust_ID REFERENCES Customer(Cust_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
42. RFGDetail Domain RFG_ID
fixed length character string, length 6, must be ‘RF[0-9][0-9][0-9][0-9]’
Domain Qty_RFG
variable integer
Domain Alasan_RFG
variable length character string, length 50
Domain FG_ID
fixed length character string, length 6, must be ‘FG[0-9][0-9][0-9][0-9]’
ReturFinishedGoods( RFG_ID
Kode Retur Barang Jadi
NOT NULL,
241
FG_ID
Kode Barang Jadi
NOT NULL,
Alasan_RFG
Alasan Retur Barang Jadi
NOT NULL,
Qty_RFG
Jumlah Retur Barang Jadi
NOT NULL,
PRIM ARY KEY (RFG_ID,FG_ID), FOREIGN KEY RFG_ID REFERENCES ReturFinishedGoods(RFG_ID) ON UPDATE CASCADE ON DELETE NO ACTION); FOREIGN KEY FG_ID REFERENCES FinishedGoods(FG_ID) ON UPDATE CASCADE ON DELETE NO ACTION); 43. KursDollar Domain Kurs_Date
variable datetime
Domain Kurs_Value
variabe money
KursDollar ( Kurs_Date
Tanggal update Kurs
NOT NULL,
Kurs_Value
Nilai Tukar
NOT NULL,
PRIM ARY KEY (Kurs_Date) );
44. Vehicle Domain Del_ID
fixed length character string, length 17, must be ‘[0-9][0-9][0-9][0-9][0-9]/[AZ][A-Z][A-Z]/[0-9][0-9]/ [0-9][0-9][0-9][09]’
Domain Car_Num
variable length character string, length 9
242
Domain Status
variable length character string, length 20
Vehicle ( Del_ID
Kode Pengiriman
NOT NULL,
Car_Num
Nomor Polisi Kendaraan
NOT NULL,
Status
Status Pengiriman Barang Jadi
NOT NULL,
PRIM ARY KEY (Del_ID, Car_Num), FOREIGN KEY Del_ID REFERENCES Delivery (Del_ID) ON UPDATE CASCADE ON DELETE NO ACTION);
4.2.3.2
Perancangan Tampilan Data Turunan Tujuan dari tahap ini adalah untuk menentukan cara menampilkan derived data ke dalam DBM S tujuan. Oleh karena tidak terdapat atribut yang memerlukan perhitungan, maka tahap ini tidak dilakukan.
4.2.3.3
Perancangan General Constraint Tujuan dari tahap ini adalah untuk menentukan general constraint untuk target DBM S.
Create table Position ( Position_ID char(6) primary key not null, Position_Nm varchar(30) not null, CONSTRAINT cek_position1 CHECK (len(Position_ID)=6 and
243
Position_ID like '[A-Z][A-Z][0-9][0-9] [0-9] [0-9]') )
Create table Staff ( Staff_ID char(6) primary key not null, Staff_Nm varchar(50) not null, Position_ID char(6) not null, Gender char(1) not null, Start_Year datetime not null, Street varchar(70) not null, City varchar(20) not null, ZipPostal varchar(6) not null, M arital_Status varchar(2) not null, Constraint position1 foreign key(Position_ID) references Position(Position_ID) ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT cek_staff1 CHECK (len(Staff_ID)=6 and Staff_ID like '[A-Z][A-Z][0-9][0-9] [0-9] [0-9]') )
Create table StaffPhone (
244
Staff_ID char(6) not null, Staff_Phone varchar(15) not null, Constraint staffphone1 primary key(Staff_ID, Staff_Phone),Constraint staffid1 foreign key(Staff_ID) references Staff(Staff_ID) ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT cek_staff2 CHECK (len(Staff_ID)=6 and Staff_ID like '[A-Z][A-Z][0-9][0-9] [0-9] [0-9]') )
Create table StaffUser ( User_ID integer primary key not null, Username varchar(50) not null, Password varchar(6) not null, CONSTRAINT cek_staffuser1 CHECK (len(Password)=6 )
Create table Customer ( Cust_ID char(6) primary key not null, Cust_Nm varchar(50) not null, NPWP varchar(30) not null,
245
Seg_M arket varchar(10) not null, CONSTRAINT cek_customer1 CHECK (len(Cust_ID)=6 and Cust_ID like 'CC[0-9][0-9][0-9][0-9]') )
Create table CustomerPhone ( Cust_ID Char(6) not null, Cust_Phone Varchar(15), Constraint custphone1 primary key(Cust_ID, Cust_Phone), Constraint custid1 foreign key(Cust_ID) references Customer(Cust_ID) ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT cek_customer2 CHECK (len(Cust_ID)=6 and Cust_ID like 'CC[0-9][0-9][0-9][0-9]') )
Create table CustomerAddr ( Cust_ID char(6) not null, Street varchar(70) not null, City varchar(20) not null, ZipPostal char(6) not null,
246
Constraint street1 primary key(Cust_ID, Street), Constraint custid2 foreign key(Cust_ID) references Customer(Cust_ID) ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT cek_customer3 CHECK (len(Cust_ID)=6 and Cust_ID like 'CC[0-9][0-9][0-9][0-9]') )
Create table CustomerFax ( Cust_ID char(6), Cust_Fax varchar(15) not null, Constraint custfax1 primary key(Cust_ID, Cust_Fax), Constraint custid3 foreign key(Cust_ID) references Customer(Cust_ID) ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT cek_customer4 CHECK (len(Cust_ID)=6 and Cust_ID like 'CC[0-9][0-9][0-9][0-9]') )
247
Create table ContactPersonCustomer ( Cust_ID char(6), CPC_Phone varchar(15) not null, CPC_Nm varchar(50) not null, Constraint cpcphone1 primary key(Cust_ID, CPC_Phone), Constraint custid4 foreign key(Cust_ID) references Customer(Cust_ID) ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT cek_customer5 CHECK (len(Cust_ID)=6 and Cust_ID like 'CC[0-9][0-9][0-9][0-9]') ) Create table Supplier ( Supl_ID char(6) primary key not null, Supl_Nm varchar(50) not null, NPWP varchae(30) not null, PKP varchar(30) not null, Seg_Supl(30) not null, Insert_date_SP datetime not null CONSTRAINT cek_supplier1 CHECK (len(Supl_ID)=6 and Supp_ID like 'CS[0-9][0-9][0-9][0-9]') )
248
Create table SupplierPhone ( Supl_ID Char(6) not null, Supl_Phone Varchar(15) not null, Constraint suplphone1 primary key(Supl_ID, Supl_Phone), Constraint suplid1 foreign key(Supl_ID) references Supplier(Supl_ID) ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT cek_supplier2 CHECK (len(Supl_ID)=6 and Supl_ID like 'CS[0-9][0-9][0-9][0-9]') )
Create table SupplierAddr ( Supl_ID char(6) not null, Street varchar(70) not null, City varchar(20) not null, ZipPostal char(6) not null, Constraint street2 primary key(Supl_ID, Street), Constraint suplid2 foreign key(Supl_ID) references Supplier(Supl_ID) ON UPDATE CASCADE ON DELETE NO ACTION,
249
CONSTRAINT cek_supplier3 CHECK (len(Supl_ID)=6 and Supl_ID like 'CS[0-9][0-9][0-9][0-9]') )
Create table SupplierFax ( Supl_ID char(6), Supl_Fax varchar(15) not null, Constraint suppfax1 primary key(Supl_ID, Supl_Fax), Constraint suppid3 foreign key(Supl_ID) references Supplier(Supl_ID) ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT cek_supplier4 CHECK (len(Supl_ID)=6 and Supl_ID like 'CS[0-9][0-9][0-9][0-9]') )
Create table ContactPersonSupplier ( Supl_ID char(6) not null, CPS_Phone varchar(15) not null, CPS_Nm varchar(50) not null, Constraint cpsphone1 primary key(Supl_ID, CPS_Phone), Constraint suplid4 foreign key(Supl_ID) references
250
Supplier(Supl_ID) ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT cek_supplier5 CHECK (len(Supl_ID)=6 and Supl_ID like 'CS[0-9][0-9][0-9][0-9]') )
Create table RM Type ( RMType_ID char(6) primary key not null, RMType_Nm Varchar(50) CONSTRAINT cek_RM Type1 CHECK (len(RMType_ID)=6 and RMType_ID like 'RT[0-9][0-9][0-9][0-9]') )
Create table RM Pembantu ( RM _ID varchar(6) not null, RM _Nm varchar(50) not null, RMType_ID char(6) not null, RM _M assa float, UnitPrice_Buy money not null, UnitPrice_Sell money not null, RM _update_date datetime not null,
251
Est_date date time not null, M in_buff float not null, M ax_buff float not null, Constraint rmid1 primary key(RM _ID), Constraint rmtype1 foreign key(RMType_ID) references RMType(RMType_ID) ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT cek_RM Pembantu1 CHECK (len(RM _ID)=6 and RM _ID like 'RM [0-9][0-9][0-9][0-9]'), CONSTRAINT cek_RM Type2 CHECK (len(RMType_ID)=6 and RMType_ID like 'RT[0-9][0-9][0-9][0-9]') )
Create table RM Utama ( RM _ID varchar(6) not null, RM _Nm varchar(50) not null, RMType_ID char(6) not null, RM _Tebal float, RM _Panjang float, RM _Lebar float, UnitPrice_Buy money not null, UnitPrice_Sell money not null,
252
RM _update_date datetime not null, Est_date date time not null, M in_buff float not null, M ax_buff float not null, Constraint rmid2 primary key(RM _ID), Constraint rmtype1 foreign key(RMType_ID) references RMType(RMType_ID) ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT cek_RM Utama1 CHECK (len(RM _ID)=6 and RM _ID like 'RM [0-9][0-9][0-9][0-9]'), CONSTRAINT cek_RM Type3 CHECK (len(RMType_ID)=6 and RMType_ID like 'RT[0-9][0-9][0-9][0-9]') )
Create table SalesContract ( SC_ID char(14) not null primary key, SC_Date datetime, POCust_No varchar(50), POCust_Date datetime, Order_Type varchar(10) not null, DiameterRoll integer not null, PcsPerRoll integer not null,