• Tidak ada hasil yang ditemukan

Perancangan Basis Data Fisikal

Dalam dokumen BAB 3 ANALISIS DAN PERANCANGAN SISTEM (Halaman 75-118)

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

Dalam dokumen BAB 3 ANALISIS DAN PERANCANGAN SISTEM (Halaman 75-118)

Dokumen terkait