Tahap perancangan basis data fisikal merupakan tahapan terakhir dalam perancangan sistem basis data, dimana perancangan basis data fisikal meliputi tahapan sebagai berikut:
3.1 Menerjemahkan model data logikal global untuk DBMS. 3.1.1 Mendesain Relasi - Relasi Dasar.
Tujuan dari tahap ini adalah untuk mengidentifikasi relasi dasar dalam model data global logikal pada DBMS dengan menggunakan DBDL (Database Design Languages). Untuk memulai proses perancangan fisikal, di haruskan memeriksa dan menggunakan informasi dari relasi yang dihasilkan selama perancangan basis data logikal sebelumnya. Setiap relasi yang diidentifikasikan dalam data model global logikal yang akan didefinisikan terdiri dari:
a. Nama dari relasi
b. Atribut-atribut yang ada didalam relasi c. Primary key dan Foreign key
d. Derived atribut (belum ada)
e. Referential integrity constraint untuk setiap Foreign key
Dalam kamus data ini di dapatkan beberapa atribut, yaitu:
a. Domain atribut
b. Nilai awal suatu atribut
c. Keterangan apakah atribut bisa null.
Relasi – relasi dasarnya adalah sebagai berikut : Tabel 3.16. Relasi Dasar Barang
Barang
Kode_Barang Kode Barang Not Null Nama_Barang Nama Barang Not Null Harga_Beli Harga Beli Not Null Harga_Jual Harga Jual Not Null Jumlah_Barang Jumlah Barang Not Null
Satuan Satuan Not Null
StockMinimal Stock Minimal Not Null
Primary key (Kode_Barang).
Domain Kode_Barang variabel karakter panjang string 20 Domain Nama_Barang variabel karakter
panjang string 50 Domain Harga_Beli variabel integer Domain Harga_Jual variabel integer Domain Jumlah_Barang variabel integer
Domain Satuan variabel karakter panjang string 10
Domain StockMinimal variabel integer
Tabel 3.17 Relasi Dasar Petugas Petugas
Kode Kode Petugas Not Null Nama Nama Petugas Not Null PasswordPtg PasswordPetugas Not Null StatusPtg Status Petugas Not Null
Primary key (Kode).
Domain Kode variabel karakter panjang string 20
Domain Nama variabel karakter panjang string 30
Domain PasswordPtg variabel karakter panjang string 10
Domain StatusPtg variabel karakter panjang string 20
Tabel 3.18. Relasi Dasar Customer Customer
KodeCus Kode Customer Not Null NamaCus NamaCustomer Not Null AlamatCus AlamatCustomer Not Null TeleponCus TeleponCustomer Not Null PersonCus Person Customer Not Null EmailCus Email Customer Not Null
Primary key (KodeCus).
Domain KodeCus variabel karakter panjang string 20
Domain NamaCus variabel karakter panjang string 30
Domain AlamatCus variabel karakter panjang string 50
Domain TeleponCus variabel karakter panjang string 20
Domain PersonCus variabel karakter panjang string 30
Domain EmailCus variabel karakter panjang string 30
Tabel 3.19. Relasi Dasar Supplier Supplier
KodeSpl Kode Supplier Not Null NamaSpl Nama Supplier Not Null AlamatSpl Alamat Supplier Not Null TeleponSpl TeleponSupplier Not Null PersonSpl Person Supplier Not Null EmailSpl Email Supplier Not Null
Primary key (KodeSpl).
Domain KodeSpl variabel karakter panjang string 20
Domain NamaSpl variabel karakter panjang string 30
Domain AlamatSpl variabel karakter panjang string 50
Domain TeleponSpl variabel karakter panjang string 30
Domain PersonSpl variabel karakter panjang string 30
Domain EmailSpl variabel karakter panjang string 30
Tabel 3.20 Relasi Dasar Penjualan Penjualan
Faktur_Penjualan Kode Penjualan Not Null Tanggal TanggalPenjualan Not Null Item Jumlah Penjualan Not Null Total Total Penjualan Not Null Dibayar Pembayaran Not Null Kembali KembaliPembayaran Null
Kode Kode Petugas Not Null KodeCus Kode Customer Not Null
Primary key (Faktur_Penjualan)
Foreign key Kode References Petugas (Kode) On Update On Delete Cascade
Foreign key KodeCus References Customer
(KodeCus) On Update On Delete Cascade
Domain Faktur_Penjualan variabel karakter panjang string 20 Domain Tanggal variabel Datetime
dengan format : “dd/mm/yyyy” Domain Item variabel integer Domain Total variabel integer
Domain Dibayar variabel integer Domain Kembali variabel integer
Domain Kode variabel karakter
panjang string 20 Domain KodeCus variabel karakter
panjang string 20
Tabel 3.21 Relasi Dasar DetailPenjualan DetailPenjualan
Faktur_Penjualan Kode Penjualan Not Null Kode_Barang Kode Barang Not Null Nama_Barang Nama Barang Not Null Harga_Jual Harga Penjualan Not Null Subtotal Total Harga Not Null Jumlah Jumlah Penjualan Not Null
Primary key (Faktur_Penjualan) Primary key (Kode_Barang)
Foreign key (Faktur_Penjualan) References Penjualan (Faktur_Penjualan) On Update Cascasde On Delete Cascade
Foreign key (Kode_Barang) References Barang (Kode_Barang) On Update Cascasde On Delete Cascade
Domain Faktur_Penjualan variabel karakter panjang string 20 Domain Kode_Barang variabel karakter
panjang string 20 Domain Nama_Barang variabel karakter
panjang string 50 Domain Harga_Jual variabel integer Domain Subtotal variabel integer Domain Jumlah variabel integer
Tabel 3.22. Relasi Dasar Pembelian Pembelian
Faktur_Pembelian Kode Pembelian Not Null Tanggal TanggalPembelian Not Null Item Jumlah Pembelian Not Null Total Total Pembelian Not Null Dibayar Pembayaran Not Null Kembali KembaliPembayaran Null
Kode Kode Petugas Not Null KodeSpl Kode Supplier Not Null
Primary key (Faktur_Pembelian)
Foreign key Kode References Petugas (Kode) On Update On Delete Cascade
Foreign key KodeSpl References Supplier (KodeSpl) On Update On Delete Cascade
Domain Faktur_Pembelian variabel karakter panjang string 20 Domain Tanggal variabel Datetime
dengan format : “dd/mm/yyyy” Domain Item variabel integer Domain Total variabel integer Domain Dibayar variabel integer Domain Kembali variabel integer
Domain Kode variabel karakter
panjang string 20 Domain KodeSpl variabel karakter
Tabel 3.23. Relasi Dasar DetailPembelian DetailPembelian
Faktur_Pembelian Kode Pembelian Not Null Kode_Barang Kode Barang Not Null Nama_Barang Nama Barang Not Null Harga_Jual Harga Penjualan Not Null Subtotal Total Harga Not Null Jumlah Jumlah Penjualan Not Null
Primary key (Faktur_Pembelian) Primary key (Kode_Barang)
Foreign key (Faktur_Pembelian) References
Pembelian (Faktur_Pembelian) On Update Cascasde On Delete Cascade
Foreign key (Kode_Barang) References Barang (Kode_Barang) On Update Cascasde On Delete Cascade
Domain Faktur_Pembelian variabel karakter panjang string 20 Domain Kode_Barang variabel karakter
panjang string 20 Domain Nama_Barang variabel karakter
Domain Harga_Jual variabel integer Domain Subtotal variabel integer Domain Jumlah variabel integer
Tabel 3.24. Relasi Dasar Penerimaan Penerimaan
KodeTrm Kode Terima Not Null KodeSpl Kode Supplier Not Null NomorBon Nomor Bon Not Null TotalTrm Jumlah Terima Not Null Kode Kode Petugas Not Null
Primary key (KodeTrm)
Foreign key Kode References Petugas (Kode) On Update On Delete Cascade
Foreign key KodeSpl References Supplier (KodeSpl) On Update On Delete Cascade
Domain KodeTrm variabel karakter panjang string 20
Domain KodeSpl variabel karakter panjang string 20
Domain NomorBon variabel karakter panjang string 10
Domain TotalTrm variabel integer
Domain Kode variabel karakter panjang string 20
Tabel 3.25. Relasi Dasar DetailPenerimaan DetailPenerimaan
KodeTrm Kode Terima Not Null Kode_Barang Kode Barang Not Null StockAwal Stock Awal Not Null StockAkhir Stock Akhir Not Null JumlahMinta Jumlah Minta Not Null
Primary key (KodeTrm) Primary key (Kode_Barang)
Foreign key (KodeTrm) References Penerimaan (KodeTrm) On Update Cascasde On Delete Cascade Foreign key (Kode_Barang) References Barang (Kode_Barang) On Update Cascasde On Delete Cascade
Domain KodeTrm variabel karakter panjang string 20
Domain Kode_Barang variabel karakter panjang string 20
Domain StockAwal variabel integer Domain StockAkhir variabel integer Domain JumlahMinta variabel integer
Tabel 3.26. Relasi Dasar Pengeluaran Penerimaan
KodeKlr Kode Terima Not Null TanggalKlr Tanggal Keluar Not Null Nomorbon Nomor Bon Not Null Totalmnt Jumlah Minta Not Null Totalkrm Jumlah Kirim Not Null Ketkrm Keterangan Kirim Not Null KodeCus Kode Customer Not Null Kode Kode Petugas Not Null
Primary key (KodeKlr)
Foreign key Kode References Petugas (Kode) On Update On Delete Cascade
Foreign key KodeCus References Customer
(KodeCus) On Update On Delete Cascade
Domain KodeKlr variabel karakter panjang string 20
Domain TanggalKlr variabel Datetime dengan format : “dd/mm/yyyy” Domain Nomorbon variabel karakter panjang
string 10 Domain Totalmnt variabel integer Domain Totalkrm variabel integer
Domain Ketkrm variabel karakter panjang string 30
Domain KodeCus variabel karakter panjang string 20
Domain Kode variabel karakter panjang string 20
Tabel 3.27. Relasi Dasar DetailKeluar DetailKeluar
KodeKlr Kode Keluar Not Null Kode_Barang Kode Barang Not Null StockAwal Stock Awal Not Null StockAkhir Stock Akhir Not Null
Dikirim Dikirim Not Null
JumlahMinta Jumlah Minta Not Null Ket Keterangan Keluar Not Null
Primary key (KodeKlr) Primary key (Kode_Barang)
Foreign key (KodeKlr) References Pengeluaran (KodeKlr) On Update Cascasde On Delete Cascade Foreign key (Kode_Barang) References Barang (Kode_Barang) On Update Cascasde On Delete Cascade
Domain KodeKlr variabel karakter panjang string 20
Domain Kode_Barang variabel karakter panjang string 20
Domain StockAwal variabel integer Domain StockAkhir variabel integer Domain JumlahMinta variabel integer Domain Dikirim variabel integer
Domain Ket variabel karakter panjang string 30
Tabel 3.28. Relasi Dasar Permintaan Permintaan
KodeMnt Kode Minta Not Null TanggalMnt Tanggal Minta Not Null Nomorreff Nomor reff Not Null TotalMnt Jumlah Minta Not Null TotalKrm Jumlah Kirim Not Null KetKirim Keterangan Kirim Not Null Kode Kode Petugas Not Null KodeCus Kode Customer Not Null
Primary key (KodeMnt)
Foreign key Kode References Petugas (Kode) On Update On Delete Cascade
Foreign key KodeCus References Customer
(KodeCus) On Update On Delete Cascade
Domain KodeMnt variabel karakter panjang string 20
Domain TanggalMnt variabel Datetime dengan format : “dd/mm/yyyy” Domain NomorReff variabel karakter panjang
string 10 Domain TotalMnt variabel integer
Domain TotalKrm variabel integer
Domain KetKirim variabel karakter panjang string 30
Domain KodeCus variabel karakter panjang string 20
Domain Kode variabel karakter panjang string 20
Tabel 3.29. Relasi Dasar Detail MintaCus DetailMintaCus
KodeMnt Kode Minta Not Null Kode_Barang Kode Barang Not Null Stock Stock Awal Not Null JumlahMinta Jumlah Minta Not Null
Dikirim Dikirim Not Null
Ket Keterangan Minta Not Null
Primary key (KodeMnt) Primary key (Kode_Barang)
Foreign key (KodeMnt) References Permintaan (KodeMnt) On Update Cascasde On Delete Cascade
Foreign key (Kode_Barang) References Barang (Kode_Barang) On Update Cascasde On Delete Cascade
Domain KodeMnt variabel karakter panjang string 20
Domain Kode_Barang variabel karakter panjang string 20
Domain Stock variabel integer Domain JumlahMinta variabel integer Domain Dikirim variabel integer
Domain Ket variabel karakter panjang string 30
Tabel 3.30. Relasi Dasar Retur Retur
Faktur_Penjualan Faktur Penjualan Not Null Tanggal Tanggal Retur Not Null Item Jumlah Barang Not Null Total Total Harga Not Null Kode Kode Petugas Not Null
Foreign key Faktur_Penjualan references Penjualan (Faktur_Penjualan) On Update Cascasde On Delete Cascade
Foreign key Kode references Petugas (Kode) On Update Cascasde On Delete Cascade
Domain Faktur_Penjualan variabel karakter panjang string 20 Domain Tanggal variabel Datetime dengan
format : “dd/mm/yyyy” Domain Item variabel integer
Domain Total variabel integer
Domain Kode variabel karakter panjang string 20
3.1.2 Mendesain Gambaran dari Data yang akan didapat
Tujuan tahap ini adalah untuk memutuskan bagaimana menampilkan derived data yang ditampilkan (bila ada) pada model data global logikal pada target DBMS. Atribut yang nilainya dihasilkan dengan menggunakan nilai atribut lainnya dikenal dengan nama derived attribute. Pada perancangan basis data ini, tidak ditemukan derived attribute pada setiap relasinya.
3.1.3 Mendesain Batasan (Constraint) Perusahaan
Tujuannya adalah untuk merancang batasan-batasan perusahaan ke dalam target DBMS.
CREATE TABLE Barang (
Kode_Barang VARCHAR(20) NOT NULL, Nama_Barang VARCHAR(50) NOT NULL,
Harga_Beli INT NOT NULL,
Harga_Jual INT NOT NULL,
Jumlah_Barang INT NOT NULL,
Satuan VARCHAR(10) NOT NULL,
StockMinimal INT NOT NULL
PRIMARY KEY (Kode_Barang),
CONSTRAINT cek_barang CHECK(len(Kode_Barang)=4 and Kode_Barang like ’KB[0-9][0-9]’)
)
CREATE TABLE Petugas (
Kode VARCHAR(20) NOT NULL,
Nama VARCHAR(30) NOT NULL,
PasswordPtg VARCHAR(10) NOT NULL, StatusPtg VARCHAR(20) NOT NULL PRIMARY KEY (Kode),
CONSTRAINT cek_petugas CHECK(len(Kode)=5 and Kode like ’PTG[0-9][0-9][0-9]’)
CREATE TABLE Customer (
KodeCus VARCHAR(20) NOT NULL, NamaCus VARCHAR(30) NOT NULL, AlamatCus VARCHAR(50) NOT NULL, TeleponCus VARCHAR(20) NOT NULL, PersonCus VARCHAR(30) NOT NULL, EmailCus VARCHAR(30) NOT NULL, PRIMARY KEY (KodeCus),
CONSTRAINT cek_customer CHECK(len(KodeCus)=4 and KodeCus like ’CS[0-9][0-9]’)
)
CREATE TABLE Supplier (
KodeSpl VARCHAR(20) NOT NULL, NamaSpl VARCHAR(30) NOT NULL, AlamatSpl VARCHAR(50) NOT NULL, TeleponSpl VARCHAR(30) NOT NULL, PersonSpl VARCHAR(30) NOT NULL, EmailSpl VARCHAR(30) NOT NULL, PRIMARY KEY (KodeSpl),
CONSTRAINT cek_supplier CHECK(len(KodeSpl)=4 and KodeSpl like ’SP[0-9][0-9]’)
CREATE TABLE Penjualan (
Faktur_Penjualan VARCHAR(20) NOT NULL,
Tanggal DATETIME NOT NULL,
Item INT NOT NULL,
Total INT NOT NULL,
Dibayar INT NOT NULL,
Kembali INT NOT NULL,
Kode VARCHAR(20) NOT NULL,
KodeCus VARCHAR(20) NOT NULL,
PRIMARY KEY (Faktur_Penjualan),
CONSTRAINT cek_penjualan CHECK (len (Faktur_Penjualan) = 10 and Faktur_Penjualan like ’[0-9][0-9][0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]’)
FOREIGN KEY (Kode) REFERENCES Petugas (Kode) ON UPDATE CASCADE ON DELETE CASCADE
FOREIGN KEY KodeCus REFERENCES Customer (KodeCus) ON UPDATE CASCADE ON DELETE CASCADE
)
CREATE TABLE DetailPenjualan (
Faktur_Penjualan VARCHAR(20) NOT NULL,
Nama_Barang VARCHAR(50) NOT NULL,
Harga_Jual INT NOT NULL,
Subtotal INT NOT NULL,
Jumlah INT NOT NULL,
FOREIGN KEY (Faktur_Penjualan) REFERENCES Penjualan (Faktur_Penjualan) ON UPDATE CASCADE ON DELETE CASCADE
FOREIGN KEY Kode_Barang REFERENCES Barang (Kode_Barang) ON UPDATE CASCADE ON DELETE CASCADE
)
CREATE TABLE Pembelian (
Faktur_Pembelian VARCHAR(20) NOT NULL,
Tanggal DATETIME NOT NULL,
Item INT NOT NULL,
Total INT NOT NULL,
Dibayar INT NOT NULL,
Kembali INT NOT NULL,
Kode VARCHAR(20) NOT NULL,
KodeSpl VARCHAR(20) NOT NULL,
CONSTRAINT cek_pembelian CHECK (len (Faktur_Pembelian) = 10 and Faktur_Pembelian like ’[0-9][0-9][0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]’)
FOREIGN KEY (Kode) REFERENCES Petugas (Kode) ON UPDATE CASCADE ON DELETE CASCADE
FOREIGN KEY (KodeSpl) REFERENCES Supplier (KodeSpl) ON UPDATE CASCADE ON DELETE CASCADE
)
CREATE TABLE DetailPembelian (
Faktur_Pembelian VARCHAR(20) NOT NULL,
Kode_Barang VARCHAR(20) NOT NULL,
Nama_Barang VARCHAR(50) NOT NULL,
Harga_Beli INT NOT NULL,
Subtotal INT NOT NULL,
Jumlah INT NOT NULL,
FOREIGN KEY (Faktur_Pembelian) REFERENCES Pembelian (Faktur_Pembelian) ON UPDATE CASCADE ON DELETE CASCADE
FOREIGN KEY (Kode_Barang) REFERENCES Barang (Kode_Barang) ON UPDATE CASCADE ON DELETE CASCADE
CREATE TABLE Penerimaan (
KodeTrm VARCHAR(20) NOT NULL, KodeSpl VARCHAR(20) NOT NULL, NomorBon VARCHAR(10) NOT NULL,
TotalTrm INT NOT NULL,
Kode VARCHAR(20) NOT NULL,
PRIMARY KEY (KodeTrm),
CONSTRAINT cek_penerimaan CHECK(len(KodeTrm)=10 and KodeTrm like ’9]9]9] 9] 9] 9] 9] [0-9] [0-[0-9] [0-[0-9]’)
FOREIGN KEY (Kode) REFERENCES Petugas (Kode) ON UPDATE CASCADE ON DELETE CASCADE
FOREIGN KEY (KodeSpl) REFERENCES Supplier (KodeSpl) ON UPDATE CASCADE ON DELETE CASCADE
)
CREATE TABLE DetailPenerimaan (
KodeTrm VARCHAR(20) NOT NULL, Kode_Barang VARCHAR(20) NOT NULL,
StockAwal INT NOT NULL,
StockAkhir INT NOT NULL,
FOREIGN KEY (KodeTrm) REFERENCES Penerimaan (KodeTrm) ON UPDATE CASCADE ON DELETE CASCADE
FOREIGN KEY (Kode_Barang) REFERENCES Barang (Kode_Barang) ON UPDATE CASCADE ON DELETE CASCADE
)
CREATE TABLE Pengeluaran (
KodeKlr VARCHAR(20) NOT NULL, KodeCus VARCHAR(20) NOT NULL, TanggalKlr DATETIME NOT NULL, NomorBon VARCHAR(10) NOT NULL,
TotalMnt INT NOT NULL,
TotalKrm INT NOT NULL,
KetKrm VARCHAR(30) NOT NULL,
Kode VARCHAR(20) NOT NULL,
PRIMARY KEY (KodeKlr),
CONSTRAINT cek_pengeluaran CHECK(len(KodeKlr)=10 and KodeKlr like ‘KL[0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]’)
FOREIGN KEY (Kode) REFERENCES Petugas (Kode) ON UPDATE CASCADE ON DELETE CASCADE
FOREIGN KEY (KodeCus) REFERENCES Customer (KodeCus) ON UPDATE CASCADE ON DELETE CASCADE
)
CREATE TABLE DetailKeluar (
KodeKlr VARCHAR(20) NOT NULL, Kode_Barang VARCHAR(20) NOT NULL,
StockAwal INT NOT NULL,
JumlahMinta INT NOT NULL,
StockAkhir INT NOT NULL,
Dikirim INT NOT NULL,
Ket VARCHAR(30) NOT NULL,
FOREIGN KEY (KodeKlr) REFERENCES Pengeluaran (KodeKlr) ON UPDATE CASCADE ON DELETE CASCADE
FOREIGN KEY (Kode_Barang) REFERENCES Barang (Kode_Barang) ON UPDATE CASCADE ON DELETE CASCADE
CREATE TABLE PermintaanCustomer (
KodeMnt VARCHAR(20) NOT NULL, KodeCus VARCHAR(20) NOT NULL, TanggalMnt DATETIME NOT NULL, NomorReff VARCHAR(10) NOT NULL,
TotalMnt INT NOT NULL,
TotalKrm INT NOT NULL,
KetKrm VARCHAR(30) NOT NULL,
Kode VARCHAR(20) NOT NULL,
PRIMARY KEY (KodeMnt),
CONSTRAINT cek_permintaan CHECK(len(KodeMnt)=10 and KodeMnt like ‘MT[0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]’)
FOREIGN KEY (Kode) REFERENCES Petugas (Kode) ON UPDATE CASCADE ON DELETE CASCADE
FOREIGN KEY (KodeCus) REFERENCES Customer (KodeCus) ON UPDATE CASCADE ON DELETE CASCADE
)
CREATE TABLE DetailMintaCus (
KodeKlr VARCHAR(20) NOT NULL, Kode_Barang VARCHAR(20) NOT NULL,
Stock INT NOT NULL,
JumlahMinta INT NOT NULL,
Dikirim INT NOT NULL,
Ket VARCHAR(30) NOT NULL,
FOREIGN KEY (KodeMnt) REFERENCES
PermintaanCustomer (KodeMnt) ON UPDATE CASCADE ON DELETE CASCADE
FOREIGN KEY (Kode_Barang) REFERENCES Barang (Kode_Barang) ON UPDATE CASCADE ON DELETE CASCADE
)
CREATE TABLE Retur (
Faktur_Penjualan VARCHAR(20) NOT NULL,
Tanggal DATETIME NOT NULL,
Item INT NOT NULL,
Total INT NOT NULL,
Kode VARCHAR(20) NOT NULL,
FOREIGN KEY (Faktur_Penjualan) REFERENCES Penjualan (Faktur_Penjualan) ON UPDATE CASCADE ON DELETE CASCADE
FOREIGN KEY (Kode) REFERENCES Petugas (Kode) ON UPDATE CASCADE ON DELETE CASCADE
CREATE TABLE DetailRetur (
Faktur_Penjualan VARCHAR(20) NOT NULL,
Kode_Barang VARCHAR(20) NOT NULL,
Nama_Barang VARCHAR(50) NOT NULL,
Harga_Jual INT NOT NULL,
Jumlah_Barang INT NOT NULL,
Subtotal INT NOT NULL,
FOREIGN KEY (Faktur_Penjualan) REFERENCES Penjualan (Faktur_Penjualan) ON UPDATE CASCADE ON DELETE CASCADE
FOREIGN KEY (Kode_Barang) REFERENCES Barang (Kode_Barang) ON UPDATE CASCADE ON DELETE CASCADE
)
3.2 Mendesign Gambaran Fisikal 3.2.1 Menganalisis Transaksi
Tujuan dari langkah ini adalah untuk memenuhi fungsional dari transaksi yang akan berjalan pada basis data dan untuk menganalisis transaksi yang penting.
Tabel 3.31.Analisis Transaksi Transaction / Relation Admin Operator Kantor Operator Pabrik R U D I R U D I R U D I Barang X X X X X X X X Petugas X X X X Customer X X X X X X X X Supplier X X X X X X X X Penjualan X X X X X X X DetailPenjualan X X X X X Pembelian X X X X X X DetailPembelian X X Penerimaan X X X X X X DetailPenerimaan X X Pengeluaran X X X X X X DetailKeluar X X PermintaanCustomer X X X X X X DetailMintaCus X X Retur X X X X
3.2.2 Memperkirakan Kebutuhan Kapasitas Disk Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang dibutuhkan oleh basis data. Perkiraan kapasitas setiap label adalah sebagai berikut: Tabel 3.32. Estimasi Disk Space Entitas Petugas
Filed Type Ukuran(Byte)
Kode Varchar(20) 20
Nama Varchar(30) 30
PasswordPtg Varchar(10) 10 StatusPtg Varchar(20) 20 Kapasitas dari tabel Petugas adalah 80 Byte
Diperkirakan dalam satu tahun terjadi penambahan 1 karyawan baru.
Dalam satu tahun pertumbuhan dari tabel Petugas adalah 1*80 = 80 Byte
Tabel 3.33. Estimasi Disk Space Entitas Supplier
Filed Type Ukuran(Byte)
KodeSpl Varchar(20) 20
NamaSpl Varchar(30) 30
AlamatSpl Varchar(50) 50 TeleponSpl Varchar(30) 30 PersonSpl Varchar(30) 30
EmailSpl Varchar(30) 30 Kapasitas dari tabel Supplier adalah 190 Byte
Diperkirakan dalam satu tahun terjadi penambahan 3 supplier baru.
Dalam satu tahun pertumbuhan dari tabel Supplier adalah 3*190 = 570 Byte
Tabel 3.34. Estimasi Disk Space Entitas Customer
Filed Type Ukuran(Byte)
KodeCus Varchar(20) 20 NamaCus Varchar(30) 30 AlamatCus Varchar(50) 50 TeleponCus Varchar(20) 20 PersonCus Varchar(30) 30 EmailCus Varchar(30) 30
Kapasitas dari tabel Customer adalah 190 Byte
Diperkirakan dalam satu tahun terjadi penambahan 20 customer baru.
Dalam satu tahun pertumbuhan dari tabel Customer adalah 20*190 = 3800 Byte
Tabel 3.35. Estimasi Disk Space Entitas Barang
Filed Type Ukuran(Byte)
Kode_Barang Varchar(20) 20 Nama_Barang Varchar(50) 50 Harga_Beli Int 4 Harga_Jual Int 4 Jumlah_Barang Int 4 Satuan Varchar(10) 10 StockMinimal Int 4
Kapasitas dari tabel Barang adalah 96 Byte
Diperkirakan dalam satu tahun terjadi penambahan 3 barang baru.
Dalam satu tahun pertumbuhan dari tabel Barang adalah 3*96 = 288 Byte
Tabel 3.36. Estimasi Disk Space Entitas Penjualan
Filed Type Ukuran(Byte)
Faktur_Penjualan Varchar(20) 20 Tanggal Datetime 8 Item Int 4 Total Int 4 Dibayar Int 4 Kembali Int 4
Kode Varchar(20) 20
KodeCus Varchar(20) 20
Kapasitas dari tabel Barang adalah 84 Byte
Diperkirakan dalam satu tahun terjadi 70 transaksi.
Dalam satu tahun pertumbuhan dari tabel Penjualan adalah 70*12*84 = 70560 Byte
Tabel 3.37. Estimasi Disk Space Entitas DetailPenjualan
Filed Type Ukuran(Byte)
Faktur_Penjualan Varchar(20) 20 Kode_Barang Varchar(20) 20 Nama_Barang Varchar(50) 50 Harga_Jual Int 4 Subtotal Int 4 Jumlah Int 4
Kapasitas dari tabel DetailPenjualan adalah 102 Byte Diperkirakan dalam 1 bulan terjadi 10 transaksi. Diperkirakan setiap transaksi terdapat 20 barang.
Dalam satu tahun pertumbuhan dari tabel DetailPenjualan adalah 10*20*12*102 = 244800 Byte
Tabel 3.38. Estimasi Disk Space Entitas Pembelian
Filed Type Ukuran(Byte)
Faktur_Pembelian Varchar(20) 20 Tanggal Datetime 8 Item Int 4 Total Int 4 Dibayar Int 4 Kembali Int 4 Kode Varchar(20) 20 KodeCus Varchar(20) 20
Kapasitas dari tabel Barang adalah 84 Byte
Diperkirakan dalam satu tahun terjadi 70 transaksi.
Dalam satu tahun pertumbuhan dari tabel Penjualan adalah 70*12*84 = 70560 Byte
Tabel 3.39. Estimasi Disk Space Entitas DetailPembelian
Filed Type Ukuran(Byte)
Faktur_Pembelian Varchar(20) 20 Kode_Barang Varchar(20) 20 Nama_Barang Varchar(50) 50
Harga_Beli Int 4
Jumlah Int 4
Kapasitas dari tabel DetailPembelian adalah 102 Byte Diperkirakan dalam 1 bulan terjadi 10 transaksi. Diperkirakan setiap transaksi terdapat 20 barang.
Dalam satu tahun pertumbuhan dari tabel DetailPembelian adalah 10*20*12*102 = 244800 Byte
Tabel 3.40. Estimasi Disk Space Entitas Penerimaan
Filed Type Ukuran(Byte)
KodeTrm Varchar(20) 20
KodeSpl Varchar(20) 20
NomorBon Varchar(10) 10
TotalTrm Int 4
Kode Varchar(20) 20
Kapasitas dari tabel Penerimaan adalah 74 Byte Diperkirakan dalam 1 bulan terjadi 70 barang
Dalam satu tahun pertumbuhan dari tabel Penerimaan adalah 70*12*74 = 62160 Byte
Tabel 3.41. Estimasi Disk Space Entitas DetailPenerimaan
Filed Type Ukuran(Byte)
KodeTrm Varchar(20) 20
Kode_Barang Varchar(20) 20
StockAwal Int 4
JumlahTrm Int 4
StockAkhir Int 4
Kapasitas dari tabel DetailPenerimaan adalah 52 Byte Diperkirakan dalam 1 bulan terjadi 5 transaksi. Diperkirakan setiap transaksi terdapat 50 barang.
Dalam satu tahun pertumbuhan dari tabel DetailPenerimaan adalah 5*50*12*52 = 156000 Byte
Tabel 3.42. Estimasi Disk Space Entitas Pengeluaran
Filed Type Ukuran(Byte)
KodeKlr Varchar(20) 20 KodeCus Varchar(20) 20 TanggalKlr Datetime 8 NomorBon Varchar(10) 10 TotalMnt Int 4 TotalKrm Int 4 KetKrm Varchar(30) 30
Kode Varchar(20) 20 Kapasitas dari tabel Pengeluaran adalah 116 Byte Diperkirakan dalam 1 bulan terjadi 10 transaksi. Diperkirakan setiap transaksi terdapat 50 barang.
Dalam satu tahun pertumbuhan dari tabel Pengeluaran adalah 10*50*12*116 = 696000 Byte
Tabel 3.43. Estimasi Disk Space Entitas DetailKeluar
Filed Type Ukuran(Byte)
KodeKlr Varchar(20) 20 Kode_Barang Varchar(20) 20 StockAwal Int 4 JumlahMinta Int 4 StockAkhir Int 4 Dikirim Int 4 Ket Varchar(30) 30
Kapasitas dari tabel DetailKeluar adalah 86 Byte Diperkirakan dalam 1 bulan terjadi 10 transaksi. Diperkirakan setiap transaksi terdapat 20 barang.
Dalam satu tahun pertumbuhan dari tabel DetailKeluar adalah 10*20*12*86 = 206400 Byte
Tabel 3.44. Estimasi Disk Space Entitas PermintaanCustomer
Filed Type Ukuran(Byte)
KodeMnt Varchar(20) 20 KodeCus Varchar(20) 20 TanggalMnt Datetime 8 NomorReff Varchar(10) 10 TotalMnt Int 4