• Tidak ada hasil yang ditemukan

BAB 4 PERANCANGAN DAN IMPLEMENTASI. Langkah selanjutnya yang perlu dilakukan adalah perancangan basis data yang dibagi

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 4 PERANCANGAN DAN IMPLEMENTASI. Langkah selanjutnya yang perlu dilakukan adalah perancangan basis data yang dibagi"

Copied!
278
0
0

Teks penuh

(1)

59 4.1 Perancangan Basis Data

Langkah selanjutnya yang perlu dilakukan adalah perancangan basis data yang dibagi kedalam 3 tahapan, yaitu :

1. Perancangan Basis Data Konseptual 2. Perancangan Basis Data Logikal 3. Perancangan Basis Data Fisikal

4.1.1 Perancangan Basis Data Konseptual

Perancangan basis data konseptual merupakan suatu proses pembuatan model dengan menggunakan informasi yang diperoleh dari perusahaan. Beberapa langkah penting dalam merancang basis data secara konseptual adalah :

1. Identifikasi tipe entity 2. Identifikasi tipe relasional

3. Identifikasi dan asosiasi atribut suatu entity 4. Menentukan domain atribut

5. Identifikasi candidate dan primary key setiap entitas 6. Memeriksa model dari redudancy

(2)

4.1.1.1 Identifikasi Tipe Entity

Tahap ini ditentukan entitas-entitas utama yang dibutuhkan pada perancangan basis data.

Tabel 4.1 Identifikasi Tipe-Tipe Entity

NO Nama Entity Deskripsi

1. Barang Keterangan yang berhubungan dengan penyediaan barang

2. M erk M erk pada barang

3. Jenis Jenis barang

4. Customer Daftar pelanggan

5. Pegawai Daftar pegawai

6. Order Daftar pemesanan

7. Supplier Daftar pemasok barang

8. Divisi Bagian dari pegawai

9. Faktur_Penerimaan_Barang M enunjukan bukti daftar barang yang sudah diterima

10. Faktur_Penjualan M enunjukan bukti daftar barang yang dijual ke pelanggan

11. Nota_Tagihan M enunjukkan daftar piutang kepada pelanggan 12. Surat_Jalan_Order M enunjukkan informasi surat jalan yang menyertai

order

13. Surat_Jalan_Customer M enunjukkan informasi surat jalan yang menyertai nota tagihan

(3)

14. Daftar_Pemesanan Daftar Pemesanan barang oleh cutomer

4.1.1.2 Mengidentifikasikan Tipe-Tipe Relasi

(4)

4.1.1.3 Mengidentifikasi dan Menghubungkan Atribut dengan Tipe-Tipe Entitas, Domain Atribut, Primary Key dan Candidate key Tabel 4.2 Pembatas Multiplicity Tipe Relational

Entity Name Multiplicity Relationship Entity Name Multiplicity

Barang 1..* Terhadap Order 1..*

1..* Terhadap Faktur_Penerimaan_ Barang 1..* 1..* Terhadap Faktur_Penjualan 1..* 1..* Terhadap Daftar_Pemesanan 1..* 1..* M emiliki M erk 1..1 1..1 M emiliki Jenis 1..*

Customer 1..1 M emiliki Daftar_Pemesanan 1..* 1..1 M emiliki Faktur_Penjualan 1..* 1..1 M emiliki Nota_Tagihan 1..*

Pegawai 1..1 M elakukan Order 1..*

1..1 M elakukan Faktur_Penjualan 1..* 1..1 M enerima Faktur_Penerimaan_

Barang

1..*

1..1 M enerima Daftar_Pemesanan 1..*

Divisi 1..1 M emiliki Pegawai 1..*

Faktur_Penjualan 1..* Terhadap Nota_tagihan 1..1

(5)

Supplier 1..1 M enerima Order 1..* 1..1 M elakukan Faktur_Penerimaan_

Barang

1..*

1..1 M embuat Surat_Jalan 1..*

Surat_Jalan_Customer 1..1 M emiliki Faktur_Penjualan 1..*

1..1 Terhadap Customer 1..1

4.1.1.4 Mengidentifikasikan Asosiasi Atribut Suatu Entity Entitas Customer

Tabel 4.3 Entitas Customer

Attribute Description Date Type & Length

Nulls Multi Valued Kd_Customer M engidentifikasi setiap

customer

Char(5) No No

Nama_Customer Nama dari customer Varchar(20) No No Alamat_Customer Alamat dari customer Varchar(100) No No Telp_Customer Nomor telpon dari customer Varchar(30) No Yes

(6)

Entitas Barang

Tabel 4.4 Entitas Barang

Attribute Description Data Type & Length

Nulls Multi Valued Kd_Barang M engidentifikasikan Barang

yang tersedia

Char(5) No No

Nama_Barang Nama barang yang tersedia Varchar(20) No No Kd_M erk_Barang M engidentifikasikan merk

barang

Char(5) No No

Nama_M erk Nama merk pada barang Varchar(20) No No Kd_Jenis_Barang M engidentifikasikan Jenis

barang yang tersedia

Char(5) No No

Jenis_Barang Jenisa dari suatu barang Varchar(10) No No Harga Harga dari masing-masing

barang yang tersedia

M oney No No

Ukuran Ukuran dari barang yang tersedia

Varchar(5) No No

(7)

Entitas Jenis

Tabel 4.5 Entitas Jenis

Attribute Description Data Type & Lenght

Nulls Multi Valued Kd_Jenis_Barang M engidentifikasikan jenis

barang yang tersedia

Char(5) No No

Jenis_Barang Jenis dari suatu barang Varchar(15) No No

Entitas Merk

Tabel 4.6 Entitas Merk

Attribute Description Data Type & Lenght

Nulls Multi Valued Kd_M erk_Barang M engidentifikasikan merk

dari barang yang tersedia

Char(5) No No

(8)

Entitas Pegawai

Tabel 4.7 Entitas Pegawai

Attribute Description Data Type & Lenght

Nulls Multi Valued Kd_Pegawai M engidentifikasi pegawai yang

bekerja

Char(5) No No

Kd_Divisi M engidentifikasi divisi yang ada pada perusahaan secara unik

Char(5) No No

Nama_Pegawai Nama dari pegawai Varchar(30) No No Alamat_Pegawai Alamat dari pegwai Varchar(100) No No Telp_Pegawai Nomor telepon dari pegawai Varchar(30) No No

Entitas Divisi

Tabel 4.8 Entitas Divisi

Attribute Description Data Type & Lenght

Nulls Multi Valued Kd_Divisi M engidentifikasikan divisi

yang ada pada perusahaan

Char(5) No No

(9)

Entitas S uplier

Tabel 4.9 Entitas Supplier

Attribute Description Data Type & Lenght

Nulls Multi Valued Kd_Supplier M engidentifikasikan setiap

supplier

Char(5) No No

Nama_Supplier Nama dari supplier Varchar(30) No No

Alamat_Supplier Alamat dari supplier Varchar(100) No No

Telp_Supplier Nomor dari supplier Varchar(30) No No

Entitas Order

Tabel 4.10 Entitas Order

Attribute Description Data Type & Lenght

Nulls Multi Valued No_Order M engidentifikasikan nomor order Char(5) No No Kd_Supplier M engidentifikasikan setiap

supplier

Char(5) No No

Nama_Supplier Nama dari supplier Varchar(30) No No

Tanggal Tanggal Order Datetime No No

Kd_Pegawai M engidentifikasikan setiap pegawai

Char(5) No No

(10)

Kd_Barang M engidentifikasikan setiap barang

Char(5) No No

Nama_barang Nama dari barang yang dipesan Varchar(20) No No Ukuran Ukuran dari barang yang dipesan Varchar(5) No No Harga_Beli Harga beli barang Decimal No No Qty Jumlah Pembelian setiap barang Interger No No Sub_Total Harga Sub total pemesanan barng

dari supplier

Decimal No No

Total Total harga pemesanan barang dari supplier

Decimal No No

Entitas Daftar_Pemesanan

Tabel 4.11 Entitas Daftar Pemesanan Attribute Description Data Type &

Lenght Nulls Multi Valued No_Daftar_Pemesan an M engidentifikasikan daftar pemesanan yang ada pada perusahaan

Char(5) No No

Status_Pemesanan Status Pemesanan Char(10) No No Kd_Customer M engidentifikasikan setiap

pembeli

Char(5) No No

Nama_Customer Nama dari customer Varchar(30 No No Alamat_Customer Alamat dari customer Varchar(100) No No

(11)

Telp_Customer Nomor telepon customer Varchar(15) No No Kd_Pegawai M engidentifikasikan pegawai

yang bekerja

Char(5) No No

Tanggal Tanggal pemesanan barang Datetime No No Kd_Barang M engidentifikasikan setiap

barang yang tersedia

Char(5) No No

Nama_Barang Nama dari barang Varchar(20) No No

Harga_Jual Harga jual barang Decimal No No

Qty Jumlah pemesanan u tuk tiap barang

Integer No No

Sub_total Harga sub total pemesanan barang

Decimal No No

Total Total Harga pemesanan harga Decimal No No

Entitas Faktur_Penerimaan_Barang

Tabel 4.12 Entitas Faktur Penerimaan Barang Attribute Description Data Type &

Lenght

Nulls Multi Valued No_Faktur M engidentifikasikan faktur

penerimaan barang yang ada pada perusahaan

Char(5) No No

Kd_Supplier M engidentifikasikan setiap supplier

(12)

Nama_Supplier Nama dari supplier Varchar(30) No No Tanggal Tanggal faktur penerimaan

barang

Datetime No No

Kd_barang M engidentifikasikan setiap barang yang tersedia secara

unik

Char(5) No No

Nama_Barang Nama dari setiap barang Varchar(20) No No

Harga_Beli Harga beli barang Decimal No No

Qty Jumlah pemesanan untuk setiap barang

Integer No No

Sub_Total Harga sub total pemesanan barang ke supplier

Decimal No No

Total Total harga pemesanan barang Decimal No No

Entitas Faktur_Penjualan

Tabel 4.13 Faktur Penjualan

Attribute Description Data Type & Lenght

Nulls Multi Valued No_Faktur_Penjualan M engidentifikasikan faktur

penjualan yang ada pada perusahaan

Char(5) No No

Kd_Customer M engidentifikasikan setiap pembeli

(13)

Nama_Customer Nama dari customer Varchar(30) No No Tanggal Tanggal faktur penjualan Datetime No No Kd_Barang M engidentifikasikan setiap

barang yang tersedia

Char(5) No No

Nama_Barang Nama dari setiap barang Varchar(20) No No

Harga_Jual Harga jual barang Decimal No No

Qty Jumlah penjualan tiap barang Integer No No Sub_Total Harga sub total penjualan

barang

Decimal No No

Total Total Harga Penjualan Decimal No No

Entitas Nota_Tagihan

Tabel 4.14 Entitas Nota Tagihan Attribute Description Data Type

& Lenght

Nulls Multi Valued No_Nota_Tagihan M engidentifikasikan nota

tagihan yang ada pada perusahaan

Char(5) No No

Kd_Customer M engidentifikasikan setiap customer

Char(5) No No

Nama_Customer Nama dari customer Varchar(30) No No Tanggal Tanggal nota tagihan Datetime No No

(14)

penjualoan yang ada pada perusahaan

Tanggal_Pembelian Tanggal pembelian pada nota tagihan

Datetime No No

Harga_Jual Harga jual barang Decimal No No

Sub_Total Harga sub total penjualan barang

Decimal No No

Total Total Harga Penjualan Decimal No No

Entitas S urat_Jalan_Order

Tabel 4.15 Entitas Surat Jalan_Order Attribute Description Data Type &

Lenght

Nulls Multi Valued No_Surat_Jalan_Order M engidentifikasikan surat

jalan order yang tersedia

Char(5) No No

No_Order M engidentifikasikan order

yang tersedia

Char(5) No No

Tanggal Tanggal Surat Jalan Datetime No No

Kd_Supplier M engidentifikasikan setiap supplier

Char(5) No No

Nama_Supplier Nama dari supplier Varchar(30) No No Alamat_Supplier Alamat dari supplier Varchar(100) No No Telp_Supplier Nomor telpon dari supplier Varchar(15) No No

(15)

Kd_Barang M engidentifikasikan setiap barang yang tersedia

Char(5) No No

Nama_Barang Nama dari setiap barang Varchar(20) No No

Entitas S urat_Jalan_Customer

Tabel 4.16 Entitas Surat Jalan_Customer Attribute Description Data Type &

Lenght

Nulls Multi Valued No_Surat_Jalan_Customer M engidentifikasikan

surat jalan customer yang tersedia

Char(5) No No

No_Faktur Penjualan M engidentifikasikan faktur penjualoan yang ada pada perusahaan

Char(5) No No

Tanggal Tanggal surat jalan Datetime No No

Kd_Customer M engidentifikasikan setiap customer

Char(5) No No

Nama_Customer Nama dari supplier Varchar(30) No No Alamat_Customer Alamat dari customer Varchar(100) No No

Telp_Customer Nomor telpon dari customer

Varchar(15) No No

Kd_Barang M engidentifikasikan setiap barang yang

(16)

tersedia

Nama_Barang Nama dari setiap barang Varchar(20) No No

4.1.1.5 Menentukan domain Atribut

Tabel 4.17 Domain Atribut

Attributes Domain

Kd_Customer 5 karakter, 1 karakter di depan berupa huruf ’C’ dan karakter sisanya berupa angka 000-999

Kd_Barang 5 karakter, 1 karakter di depan berupa huruf ’B’ dan karakter sisanya berupa angka 000-999

Kd_M erk 5 karakter, 1 karakter di depan berupa huruf ’M ’ dan karakter sisanya berupa angka 000-999

Kd_Jenis 5 karakter, 1 karakter di depan berupa huruf ’J’ dan karakter sisanya berupa angka 000-999

Kd_Pegawai 5 karakter, 1 karakter di depan berupa huruf ’P’ dan karakter sisanya berupa angka 000-999

Kd_Devisi 5 karakter, 1 karakter di depan berupa huruf ’D’ dan karakter sisanya berupa angka 000-999

Kd_Supplier 5 karakter, 1 karakter di depan berupa huruf ’S’ dan karakter sisanya berupa angka 000-999

(17)

karakter sisanya berupa angka 000-999

No_Daftar_Pemesanan 5 karakter, 2 karakter di depan berupa huruf ’DP’ dan karakter sisanya berupa angka 000-999

No_Faktur_Penerimaan_Barang 5 karakter, 2 karakter di depan berupa huruf ’FP’ dan karakter sisanya berupa angka 000-999

No_Faktur_Penjualan 5 karakter, 1 karakter di depan berupa huruf ’F’ dan karakter sisanya berupa angka 000-999

No_Nota_Tagihan 5 karakter, 2 karakter di depan berupa huruf ’NT’ dan karakter sisanya berupa angka 000-999

No_Surat_Jalan_Order 5 karakter, 2 karakter di depan berupa huruf ’SO’ dan karakter sisanya berupa angka 000-999

No_Surat_Jalan_Customer 5 karakter, 2 karakter di depan berupa huruf ’SC’ dan karakter sisanya berupa angka 000-999

4.1.1.6 Menentuan Candidate Key dan Primary Key Tabel 4.18 Candidate dan Primary Key

Entity Name Candidate Key Primary Key Customer Kd_Customer Kd_Customer

Barang Kd_Barang Kd_Barang M erk Kd_M erk Kd_M erk

Jenis Kd_Jenis Kd_Jenis Pegawai Kd_Pegawai Kd_Pegawai

(18)

Supplier Kd_Supplier Kd_Supplier

Divisi Kd_Divisi Kd_Divisi

Order No_Order No_Order

Daftar_Pemesanan No_Daftar_Pemesanan No_Daftar_Pemesanan Faktur_Penerimaan_Barang No_Faktur_Penerimaan_Barang No_Faktur_Penerimaan_

Barang

Faktur_Penjualan No_Faktur_Penjualan No_Faktur_Penjualan Nota_Tagihan No_Nota_Tagihan No_Nota_Tagihan Surat_Jalan_Order No_Surat_Jalan_Order No_Surat_Jalan_Order

Surat_Jalan_Customer No_Surat_Jalan_Customer No_Surat_Jalan_Customer

4.1.1.7 Memeriksa Model dari Redudancy

M odel data konseptual tidak memiliki redundansi karena tidak ada dua entity yang menunjuk pada objek yang sama dalam perusahaan.

4.1.1.8 Memvalidasi Model Konseptual Lokal dengan Transaksi Pengguna

Tujuan dari langkah ini adalah untuk meyakinkan bahwa model konseptual lokal mendukung transaksi user.

Keterangan transaksi :

a. M embuat daftar_pemesanan b. M embuat order

(19)

c. M embuat penjualan

d. M embuat penerimaan barang e. M embuat nota tagihan f. M embuat surat jalan order g. M embuat surat jalan customer h. Cetak laporan daftar_pemesanan i. Cetak laporan order

j. Cetak laporan penjualan

k. Cetak laporan penerimaan_barang l. Cetak laporan nota_tagihan m. Cetak laporan surat_jalan_order n. Cetak laporan surat_jalan_customer

(20)
(21)

4.1.1.9 Meninjau Model Konseptual Lokal dengan Pengguna

(22)

4.1.2 Perancangan Basis Data logikal

Perancangan basis data logikal merupakan suatu proses pembuatan model dengan menggunakan informasi yang diperoleh dari perusahaan serta berdasarkan pada model data spesifik, tetapi bebas dari DBM S tertentu dan pertimbangan fisik lainnya. Berikut ini adalah langkah-langkah penting dalam merancang basis data logikal :

1. M enghilangkan fitur yang tidak sesuai dengan model relasional

Untuk menghilangkan fitur yang tidak sesuai dengan model relasional, maka yang perlu dihilangkan :

a. Many to many (*.*) binary relationship b. Complex relationship types

c. Multi valued attributes

2. M enurunkan relasi untuk model data logikal lokal 3. M emvalidasi relasi dengan menggunakan normalisasi 4. M emvalidasi relasi terhadap transaksi user

(23)

4.1.2.1 Menghilangkan fitur-fitur yang tidak sesuai dengan Model Relational

Menghilangkan Many to Many (* : *) Binary Relationship

Gambar 4.4 Relasi Biner many-to-many (*:*) Order Header_Order Detail_Order Barang Terhadap 1,* 1.* Header_Order No_Order Detail_Order No_Order Kd_Barang Barang Kd_Barang 1..1 1..1 1..1 1..* M emiliki Terhadap

(24)

Gambar 4.5 Relasi Biner many-to-many (*:*) Penerimaan Barang Header_Penerimaan_Barang Detail_Penerimaan_Barang Barang 1..* 1..* Terhadap Header_Penerimaan_Barang No_Penerimaan_Barang Detail_Penerimaan_Barang No_Penerimaan_Barang Kd_Barang Barang Kd_Barang 1..1 1..1 1..1 1..* M emiliki Terhadap

(25)

Gambar 4.6 Relasi Biner many-to-many (*:*) Penjualan Header_Penjualan Kd_Penjualan Detail_Penjualan No_Penjualan Kd_Barang Barang Kd_Barang 1..1 1..1 1..1 1..* M emiliki Terhadap Header_Penjualan Detail_Penjualan Barang 1..* 1..* Terhadap

(26)

Gambar 4.7 Relasi Biner many to many (*.*) Daftar Pemesanan Header_Daftar_Pemesanan No_Daftar_Pemesanan Detail_Daftar_Pemesanan No_Daftar_Pemesanan Kd_Barang Barang Kd_Barang 1..1 1..1 1..1 1..* M emiliki Terhadap Header_Daftar_Pemesanan Detail_Daftar_Pemesanan Barang 1..* 1..* Terhadap

(27)

Gambar 4.8 Relasi Biner many to many (*.*) S urat Jalan Order Header_Surat_Jalan_Order Barang Detail_Surat_Jalan_Order Terhadap 1..* 1..* Header_Surat_Jalan_Order No_Surat_Jalan_Order Barang Kd_Barang Detail_Surat_Jalan_Order No_Surat_Jalan_Order Kd_Barang 1..1 1..1 1..1 1..* M emiliki Terhadap

(28)

Gambar 4.9 Relasi Biner many to many (*.*) S urat Jalan Customer Header_Surat_Jalan_Customer No_Surat_Jalan_Customer Barang Kd_Barang Detail_Surat_Jalan_Customer No_Surat_Jalan_Customer Kd_Barang 1..1 1..1 1..1 1..* M emiliki Terhadap Header_Surat_Jalan_Customer Barang Detail_Surat_Jalan_Customer Terhadap 1..* 1..*

(29)

4.1.2.2 Menurunkan Relasi untuk Model Data Logikal

Langkah ini bertujuan membuat relasi untuk model data logikal lokal untuk merepresentasikan entity, relationship, dan atribut yang telah kita identifikasikan.

Entity yang terdapat dalam menurunkan relasi untuk M odel Data Logikal :

4.1.2.2.1 Strong Entity Types

Tabel 4.19 Tabel yang Diturunkan dari Tipe Entity Kuat

No Nama Entity Tabel

1 Header_Barang @Kd_Barang, Nama_Barang, Kd_M erk,

Kd_Supplier, Kd_Jenis, Harga. 2 Detail_Barang @Kd_Barang, Ukuran, Qty

3 Pegawai @Kode_Pegawai, Nama_Pegawai,

Alamat_Pegawai, Telepon_Pegawai

4 Customer @Kode_Customer, Nama_Customer,

Alamat_Customer, Telepon_Supplier

5 Supplier @Kode_Supplier, Nama_Supplier,

Alamat_Supplier, Telpon_Supplier

6 Header_Daftar_Pemesanan @No_Daftar_Pemesanan_Barang, Kd_Pegawai, Kd_Customer, Tanggal, Status_Pemesanan

7 Detail_Daftar_Pemesanan @No_Daftar_Pemesanan_Barang, Kd_Barang, Ukuran, Harga_Jual, Qty, Sub_Total

(30)

8 Header _Order @No_Order, Kd_Pegawai, Kd_Supplier, Tanggal 9 Detail_Order @No_Order, Kd_Barang, Ukuran, Harga_Beli Qty,

Sub_Total

10 Header_Penerimaan_Barang @No_Faktur_Penerimaan_Barang, Kd_Supplier, Kd_Pegawai, Tanggal

11 Detail_Penerimaan_Barang @No_Faktur_Penerimaan_Barang, No_Order, Harga_Beli

12 Header_Penjualan @No_Faktur_Penjualan, Kd_Pegawai, Kd_Customer, Tanggal

13 Detail_Penjualan @No_Faktur_Penjualan, Kd_Barang, Ukuran, Harga Jual, Qty, Sub_Total

14 Header_Nota_Tagihan @No_Nota_Tagihan, Kd_Customer, Kd_Pegawai, Tanggal

15 Detail_Nota_Tagihan @No_Nota_Tagihan, No_Daftar_Pemesanan, Harga_Jual

16 Header_Surat_Jalan_Order @No_Surat_Jalan_Order,Kd_Supplier,Kd_Pegawai, Tanggal

17 Detail_Surat_Jalan_Order @No_Surat_Jalan_Order, No_Order

18 Header_Surat_Jalan_Customer @No_Surat_Jalan_Customer,Kd_Customer, Kd_Pegawai, Tanggal

(31)

4.1.2.2.2 Weak Entity Types

Tabel 4.20 Tabel yang Diturunkan dari Tipe Entity Lemah

No Nama Entity Tabel

1 M erk @Kd_M erk, Nama_M erk

2 Jenis @Kd_Jenis, Jenis

3 Divisi @Kode_Divisi, Nama_Divisi

4.1.2.2.3 Tipe relasi Biner one-to-many (1:*)

Gambar 4.10 Relasi Biner one-to-many (1:*) Divisi terhadap Pegawai Divisi(Kd_Divisi, Nama_Divisi) Primary Key Kd_Divisi

Pegawai (Kd_Pegawai, Nama_Pegawai, Alamat_Pegawai, Kd_Divisi) Primary Key Kd_Pegawai

(32)

Gambar 4.11 Relasi Biner one-to-many (1:*) Jenis_Barang terhadap Header_Barang

Gambar 4.12 Relasi Biner one-to-many (1:*) Merk_Barang terhadap Header_Barang

Header_Barang (Kd_Barang, Nama_Barang, Kd_M erk_Barang, Kd_Supplier, Kd_Jenis_Barang, Harga)

Primary Key Kd_Barang

Foreign Key Kd_M erk references M erk (Kd_M erk) Foreign Key Kd_Jenis references Jenis (Kd_Jenis)

Foreign Key Kd_Supplier references Supplier (Kd_Supplier) Jenis _Barang (Kd_Jenis_Barang,

Jenis_Barang)

Merk _Barang (Kd_ M erk _Barang, M erk _Barang)

Header_Barang (Kd_Barang, Nama_Barang, Kd_M erk_Barang, Kd_Supplier, Kd_Jenis_Barang, Harga)

Primary Key Kd_Barang

Foreign Key Kd_M erk references M erk (Kd_M erk) Foreign Key Kd_Jenis references Jenis (Kd_Jenis)

(33)

4.1.2.2.4 Tipe relasi biner one-to-one(1:1)

Gambar 4.13 Relasi Biner one-to-one (1:1) Detail_Surat_Jalan terhadap Header_Order

Gambar 4.14 Relasi Biner one-to-one (1:1) Detail_Surat_Customer terhadap Header_Nota_Tagihan

Header_Order (No_Order, Kd_Pegawai,

Kd_Supplier, Tanggal) Primary Key No_Order

Foreign_Key Kd_Pegawai references

Pegawai(Kd_Pegawai) Foreign_Key Kd_Supplier references

Supplier(Kd_Supplier) Detail_Surat_Jalan_Order

(No_Surat_Jalan_Order, No_Order) Primary Key No_Surat_Jalan_Order Primary Key No _Order

Detail_Surat_Jalan_Customer(No_Surat_Jalan _Customer, No_Nota_Tagihan)

Primary Key No_Surat_Jalan_ Customer Primary Key No_ Nota_Tagihan

Header_ Nota_Tagihan (No_ Nota_Tagihan, Kd_Pegawai, Kd_Customer, Tanggal) Primary Key No_ Nota_Tagihan

Foreign_Key Kd_Pegawai references Pegawai(Kd_Pegawai) Foreign_Key Kd_ Customer references Supplier(Kd_

(34)

4.1.2.2.5 Tipe relasi biner many-to-many(*:*)

Gambar 4.15 Many to many (*.*) relationship antara entity Header_Order dengan Header_Barang

Header_Barang (Kd_Barang,Nama_Barang,Kd_M erk_Barang, Kd_Supplier, Kd_Jenis_Barang, Harga)

Primary Key (Kd_Barang)

Foreign Key Kd_M erk references M erk(Kd_M erk_Barang) Foreign Key Kd_Jenis references Jenis(Kd_Jenis_Barang) Foreign Key Kd_Supplier references Supplier(Kd_Supplier)

Header_Order (No_Order, Kd_Supplier,Tanggal, Total) Primary Key (No_Order)

Foreign Key Kd_Supplier references Supplier (Kd_Supplier)

(35)

Gambar 4.16 Many to many (*.*) relationship antara entity Header_Penerimaan_Barang dengan Header_Barang

Header_Barang (Kd_Barang, Nama_Barang,Kd_M erk, Kd_Supplier, Kd_Jenis, Harga,

Tanggal_Update) Primary Key (Kd_Barang)

Foreign Key Kd_M erk references M erk(Kd_M erk) Foreign Key Kd_Jenis references Jenis(Kd_Jenis)

Foreign Key Kd_Supplier references Supplier(Kd_Supplier)

Header_Penerimaan_Barang (No_Faktur_Penerimaan_Barang,

Kd_Supplier, Tanggal, Kd_Barang, Total) Primary Key

(No_Faktur_Penerimaan_Barang)

Detail_Penerimaan_Barang

(36)

Gambar 4.17 Many to many (*.*) relationship antara entity Header_Penjualan dengan Header_Barang

Header_Barang (Kd_Barang, Nama_Barang, Kd_M erk, Harga)

Primary Key (Kd_Barang)

Foreign Key Kd_M erk_Barang refrerences Merk_Barang ( Kd_M erk_Barang)

Foreign Key Kd_Jenis_Barang references Jenis_Barang (Kd_Jenis_Barang)

Foreign Key Kd_Supplier references Supplier (Kd_Supplier)

Header_Penjualan (No_Faktur_Penjualan, Kd_Customer, Tanggal, Kd_Barang, Total) Primary Key (No_Faktur_Penjualan)

(37)

Gambar 4.18 Many to many (*.*) relationship antara entity Header_Daftar_Pemesanan dengan Header_Barang

Header_Barang ( Kd_Barang, Nama_Barang, Kd_M erk_Barang, Kd_Supplier, Kd_Jenis_Barang, Harga)

Primary Key ( Kd_Barang)

Foreign Key Kd_M erk_Barang references M erk_Barang (Kd_M erk_Barang)

Foreign Key Kd_Jenis_Barang references Jenis_Barang (Kd_Jenis_Barang)

Foreign Key Kd_Supplier references Supplier (Kd_Supplier)

Header_Daftar_Pemesanan (No_Daftar_Pemesanan, Kd_Pegawai, Kd_Customer, Kd_Barang, Total) Primary Key (No_Daftar_Pemesanan)

Detail_Daftar_Pemesanan ( No_Daftar_Pemesanan, Kd_Barang, Qty, Sub_Total)

(38)

4.1.2.3 Validasi Relasi dengan Normalisasi

Tujuan dari normalisasi adalah untuk menghilangkan redundansi semaksimal mungkin dan menghindarkan adanya data yang tidak konsisten terutama bila dilakukan penghapusan atau penambahan data sebagai akibat dari adanya data rangkap. Proses normalisasi terdiri dari langkah-langkah berikut:

• First normal form (1NF) adalah langkah menghilangkan repeating group.

• Second normal form (2NF) adalah langkah menghilangkan ketergantungan parsial pada primary key.

• Third normal form (3NF) adalah langkah menghilangkan ketergantungan transitif pada primary key.

Langkah-langkah normalisasi yang dilakukan : 1. Header_Barang

Telah memenuhi syarat normalisasi, yaitu UNF, 1NF,2NF. UNF

Header_Barang = Kd_Barang, Kd_M erk_Barang, Kd_Jenis_Barang, Kd_Supplier, Nama_Barang, Harga_Barang.

1NF

Header_Barang =@Kd_Barang, Nama_Barang, @Kd_M erk_Barang, @Kd_Supplier, @Kd_Jenis_Barang, Harga

(39)

Header_Barang =@Kd_Barang, Nama_Barang, @Kd_M erk_Barang, @Kd_Supplier, @Kd_Jenis_Barang, Harga

3NF → terdapat ketergantungan transitif, yaitu M erk_Barang, Jenis_Barang, Supplier.

M erk_Barang =@Kd_M erk_Barang, Nama_M erk_Barang

Supplier =@Kd_Supplier, Nama_Supplier, Alamat_Supplier, Telp_Supplier

Jenis_Barang =@Kd_Jenis_Barang, Jenis_Barang 2. Detail_Barang

Telah memenuhi syarat normalisasi UNF, 1NF, 2NF, 3NF UNF

Detail_Barang =@Kd_Barang, Ukuran, Qty 1NF → tidak terjadi repeating group

Detail_Barang =@Kd_Barang, Ukuran, Qty 2NF → tidak terjadi ketergantungan parsial Detail_Barang =@Kd_Barang, Ukuran, Qty

3NF → tidak terjadi ketergantungan transitif Detail_Barang =@Kd_Barang, Ukuran, Qty

3. Merk_Barang

Tabel M erk_Barang sudah memenuhi syarat normalisasi UNF, 1NF, 2NF, 3NF

UNF

M erk_Barang =Kd_M erk_Barang, Nama_M erk_Barang 1NF → tidak terjadi repeating group

(40)

M erk_Barang = @Kd_M erk_Barang, Nama_M erk_Barang 2NF → tidak terjadi ketergantungan parsial

M erk_Barang = @Kd_M erk_Barang, Nama_M erk_Barang 3NF → tidak terjadi ketergantungan transitif

M erk_Barang = @Kd_M erk_Barang, Nama_M erk_Barang 4. Customer

Tabel Customer sudah memenuhi syarat normalisasi UNF, 1NF, 2NF, 3NF

UNF

Customer = Kd_Customer, Nama_Customer, Alamat_Customer, Telp_Customer

1NF → tidak terjadi repeating group

Customer = @Kd_Customer, Nama_Customer, Alamat_Customer, Telp_Customer

2NF → tidak terjadi ketergantungan parsial

Customer = @Kd_Customer, Nama_Customer, Alamat_Customer, Telp_Customer

3NF → tidak terjadi ketergantungan transitif

Customer = @Kd_Customer, Nama_Customer, Alamat_Customer, Telp_Customer

5. Jenis_Barang

Tabel Jenis_Barang sudah memenuhi syarat normalisasi UNF, 1NF, 2NF, 3NF

(41)

Jenis_Barang = Kd_Jenis_Barang, Jenis_Barang 1NF → tidak terjadi repeating group

Jenis_Barang = @Kd_Jenis_Barang, Jenis_Barang 2NF → tidak terjadi ketergantungan parsial

Jenis_Barang = @Kd_Jenis_Barang, Jenis_Barang 3NF → tidak terjadi ketergantungan transitif Jenis_Barang = @Kd_Jenis_Barang, Jenis_Barang 6. Supplier

Tabel supplier sudah memenuhi syarat normalisasi UNF, 1NF, 2NF, 3NF

UNF

Supplier = Kd_Supplier, Nama_Supplier, Alamat_Supplier, Telp_Supplier

1NF → tidak terjadi repeating group

Supplier = @Kd_Supplier, Nama_Supplier, Alamat_Supplier, Telp_Supplier

2NF → tidak terjadi ketergantungan parsial

Supplier = @Kd_Supplier, Nama_Supplier, Alamat_Supplier, Telp_Supplier

3NF → tidak terjadi ketergantungan transitif

Supplier = @Kd_Supplier, Nama_Supplier, Alamat_Supplier, Telp_Supplier

(42)

Tabel Pegawai sudah memenuhi syarat normalisasi UNF, 1NF, 2NF, 3NF

UNF

Pegawai = Kd_Pegawai, Nama_Pegawai, Alamat_Pegawai, Telp_Pegawai, Kd_Divisi

1NF → tidak terjadi repeating group

Pegawai = @Kd_Pegawai, Nama_Pegawai, Alamat_Pegawai, Telp_Pegawai, Kd_Divisi

2NF → tidak terjadi ketergantungan parsial

Pegawai = @Kd_Pegawai, Nama_Pegawai, Alamat_Pegawai, Telp_Pegawai, Kd_Divisi

3NF → terjadi ketergantungan transitif, yaitu Divisi Kd_Pegawai, Kd_Divisi.

Pegawai = @Kd_Pegawai, Nama_Pegawai, Alamat_Pegawai, Telp_Pegawai, Kd_Divisi

Divisi = @Kd_Divisi, Nama_Divisi 8. Divisi

Tabel Divisi sudah memenuhi syarat normalisasi UNF, 1NF, 2NF, 3NF

UNF

Divisi = Kd_Divisi, Nama_Divisi 1NF → tidak terjadi repeating group Divisi = @Kd_Divisi, Nama_Divisi

(43)

Divisi = @Kd_Divisi, Nama_Divisi

3NF → tidak terjadi ketergantungan transitif Divisi = @Kd_Divisi, Nama_Divisi

9. Header_Penerimaan_Barang UNF Header_Penerimaan_Barang = No_Faktur_penerimaan_Barang, Kd_Supplier, Kd_Pegawai,Tanggal 1NF Header_Penerimaan_Barang = @No_Faktur_penerimaan_Barang, @Kd_Supplier, @Kd_Pegawai,Tanggal 2NF Header_Penerimaan_Barang = @No_Faktur_penerimaan_Barang, @Kd_Supplier,@ Kd_Pegawai,Tanggal

3NF → terjadi ketergantungan transitif, yaitu Supplier dan Pegawai.

Header_Penerimaan_Barang = @No_Faktur_penerimaan_Barang, Kd_Supplier, Kd_Pegawai,Tanggal

Supplier = @Kd_Supplier, Nama_Supplier, Alamat_Supplier, Telp_Supplier

Pegawai = @Kd_Pegawai, Nama_Pegawai, Alamat_Pegawai, Telp_Pegawai

10. Detail_Penerimaan_Barang UNF

(44)

Detail_Penerimaan_Barang = No_Faktur_penerimaan_Barang, No_Order, Harga_Beli 1NF Detail_Penerimaan_Barang = @No_Faktur_penerimaan_Barang, @No_Order, Harga_Beli 2NF Detail_Penerimaan_Barang = @No_Faktur_penerimaan_Barang, @No_Order, Harga_Beli Header_Penerimaan_Barang = @No_Faktur_penerimaan_Barang, Kd_Supplier, Kd_Pegawai,Tanggal

Header_Order = @ No_Order, Kd_Supplier, Kd_Pegawai, Tanggal

3NF → terjadi ketergantungan transitif

Detail_Penerimaan_Barang = @No_Faktur_penerimaan_Barang, @No_Order, Harga_Beli

Header_Order = @ No_Order, Kd_Supplier, Kd_Pegawai, Tanggal Supplier = @Kd_Supplier, Nama_Supplier, Alamat_Supplier, Telp_Supplier

Pegawai = @Kd_Pegawai, Nama_Pegawai, Alamat_Pegawai, Telp_Pegawai

11. Header_penjualan UNF

(45)

1NF

Header_penjualan = @No_Faktur_Penjualan, @Kd_Pegawai, Kd_Customer, Tanggal

2NF

Header_penjualan = @No_Faktur_Penjualan, @Kd_Pegawai, @Kd_Customer, Tanggal

3NF

Header_penjualan = @No_Faktur_Penjualan, Kd_Pegawai, Kd_Customer, Tanggal

Pegawai = @Kd_Pegawai, Nama_Pegawai, Alamat_Pegawai, Telp_Pegawai

Customer = @Kd_Customer, Nama_Customer, Alamat_Customer, Telp_Customer

12. Detail_Penjualan UNF

Detail_Penjualan = No_Faktur_Penjualan, Kd_Barang, Ukuran, Qty, Harga_Jual

1NF

Detail_Penjualan = @No_Faktur_Penjualan, @Kd_Barang, Qty, Harga_Jual, Ukuran

2NF

Detail_Penjualan = @No_Faktur_Penjualan, Kd_Barang, Qty, Harga_Jual, Ukuran

(46)

Header_penjualan = @No_Faktur_Penjualan, Kd_Pegawai, Kd_Customer, Tanggal

Header_Barang = @Kd_barang, Nama_Barang, Kd_Jenis_Barang, Kd_M erk_Barang, Nama_Barang, Harga_Barang

3NF

Detail_Penjualan = @No_Faktur_Penjualan, @Kd_Barang, Qty, Harga_Jual, Ukuran

Header_Barang = @Kd_barang, Nama_Barang, Kd_Jenis_Barang, Kd_M erk_Barang, Nama_Barang, Harga_Barang

Jenis_Barang = @ Kd_Jenis_Barang + Nama_Jenis_Barang M erk_Barang = @ Kd_M erk_Barang + Nama_M erk_Barang

Header_penjualan = @No_Faktur_Penjualan, Kd_Pegawai, Kd_Customer, Tanggal

Pegawai = @Kd_Pegawai, Nama_Pegawai, Alamat_Pegawai, Telp_Pegawai

Customer = @Kd_Customer, Nama_Customer, Alamat_Customer, Telp_Customer

13. Header_Order UNF

Header_Order = No_Order, Kd_Pegawai, Kd_Supplier, Tanggal 1NF

Header_Order = @No_Order,@ Kd_Pegawai,@ Kd_Supplier, Tanggal

(47)

Header_Order = @No_Order, Kd_Pegawai, Kd_Supplier, Tanggal 3NF

Header_Order = @No_Order, Kd_Pegawai, Kd_Supplier, Tanggal Pegawai = @Kd_Pegawai, Nama_Pegawai

Supplier = @Kd_Supplier, Nama_Supplier 14. Detail_Order

UNF

Detail_Order = No_Order, Kd_Barang, Ukuran, Qty, Harga_Beli 1NF

Detail_Order = @No_Order, @Kd_Barang, Ukuran, Qty, Harga_Beli

2NF

Detail_Order = @No_Order, Kd_Barang, Ukuran, Qty, Harga_Beli Header_Barang = @Kd_Barang, Nama_Barang, Ukuran, Qty, Kd_Jenis_Barang, Kd_M erk_Barang

3NF

Detail_Order = @No_Order, Kd_Barang, Ukuran, Qty, Harga_Beli Header_Barang = @Kd_Barang, Nama_Barang, Ukuran, Qty Kd_Jenis_Barang, Kd_M erk_Barang

Jenis_Barang = @ Kd_Jenis_Barang + Nama_Jenis_Barang M erk_Barang = @ Kd_M erk_Barang + Nama_M erk_Barang Header_Order = @No_Order, Kd_Pegawai, Kd_Supplier, Tanggal Pegawai = @Kd_Pegawai, Nama_Pegawai

(48)

15. Header_Pemesanan_Barang UNF

Header_Pemesanan_Barang = No_Daftar_Pemesanan_barang, Kd_Pegawai, Kd_Customer, Tanggal, Status_Pemesanan

1NF Header_Pemesanan_Barang = @No_Daftar_Pemesanan_barang, @Kd_Pegawai, @Kd_Customer, Tanggal, Status_Pemesanan

2NF

Header_Pemesanan_Barang = @No_Daftar_Pemesanan_barang, @Kd_Pegawai, @Kd_Customer, Tanggal, Status_Pemesanan

3NF

Header_Pemesanan_Barang = @No_Daftar_Pemesanan_barang, Kd_Pegawai, Kd_Customer, Tanggal, Status_Pemesanan

Customer = @Kd_Customer, Nama_Customer, Alamat_Customer, Telp_Customer

Pegawai = @Kd_Pegawai, Nama_Pegawai, Alamat_Pegawai, Telp_Pegawai

16. Detail_Pemesanan_Barang UNF

Detail_Pemesanan_Barang = No_Daftar_Pemesanan_barang, Kd_Barang, Ukuran, Qty, Harga_Jual

1NF

(49)

2NF

Detail_Pemesanan_Barang = @No_Daftar_Pemesanan_barang, Kd_Barang, Ukuran, Qty, Harga_Jual

Header_Barang = @Kd_Barang, Nama_Barang, Ukuran, Qty Kd_Jenis_Barang, Kd_M erk_Barang

3NF

Detail_Pemesanan_Barang = @No_Daftar_Pemesanan_barang, @Kd_Barang, Ukuran, Qty, Harga_Jual

Header_Barang = @Kd_Barang, Nama_Barang, Ukuran, Qty Kd_Jenis_Barang, Kd_M erk_Barang

Jenis_Barang = @ Kd_Jenis_Barang + Nama_Jenis_Barang M erk_Barang = @ Kd_M erk_Barang + Nama_M erk_Barang

Header_Pemesanan_Barang = @No_Daftar_Pemesanan_barang, Kd_Pegawai, Kd_Customer, Tanggal, Status_Pemesanan

Customer = @Kd_Customer, Nama_Customer, Alamat_Customer, Telp_Customer

Pegawai = @Kd_Pegawai, Nama_Pegawai, Alamat_Pegawai, Telp_Pegawai

17. Header_Nota_Tagihan UNF

Header_Nota_Tagihan = No_Nota_Tagihan, Kd_Pegawai, Kd_Customer, Tanggal

(50)

Header_Nota_Tagihan = @No_Nota_Tagihan, @Kd_Pegawai, Kd_Customer, Tanggal

2NF

Header_Nota_Tagihan = @No_Nota_Tagihan, @Kd_Pegawai, Kd_Customer, Tanggal

3NF → terjadi ketergantungan transitif, yaitu Customer dan Pegawai

Header_Nota_Tagihan = @No_Nota_Tagihan, Kd_Pegawai, Kd_Customer, Tanggal

Customer = @Kd_Customer, Nama_Customer, Alamat_Customer, Telp_Customer

Pegawai = @Kd_Pegawai, Nama_Pegawai, Alamat_Pegawai, Telp_Pegawai

18. Detail_Nota_Tagihan UNF

Detail_Nota_Tagihan = No_Nota Tagihan, No_Daftar_Pemesanan, Harga_Jual

1NF → tidak terjadi repeating group

Detail_Nota_Tagihan = @No_Nota Tagihan, @No_Daftar_Pemesanan, Harga_Jual

2NF → tidak terjadi ketergantungan parsial

Detail_Nota_Tagihan = @No_Nota Tagihan, No_Daftar_Pemesanan, Harga_Jual

(51)

Detail_Nota_Tagihan = @No_Nota Tagihan, @No_Daftar_Pemesanan, Harga_Jual

Header_Daftar_Pemesanan = @No_Daftar_Pemesanan_barang, Kd_Pegawai, Kd_Customer, Tanggal, Status_Pemesanan

Customer = @Kd_Customer, Nama_Customer, Alamat_Customer, Telp_Customer

Pegawai = @Kd_Pegawai, Nama_Pegawai, Alamat_Pegawai, Telp_Pegawai

19. Header_Surat_Jalan_Order UNF

Header_Surat_Jalan_Order = No_Surat_Jalan_Order, Kd_Supplier, Kd_Pegawai, Tanggal

1NF

Header_Surat_Jalan_Order = @No_Surat_Jalan_Order, @Kd_Supplier, @Kd_Pegawai, Tanggal

2NF

Header_Surat_Jalan_Order = @No_Surat_Jalan_Order, @Kd_Supplier, @Kd_Pegawai, Tanggal

3NF → terjadi ketergantungan transitif, yaitu Supplier, dan pegawai

No_Surat_Jalan_Order, Kd_Pegawai, Kd_Supplier

Header_Surat_Jalan_Order = @No_Surat_Jalan_Order, Kd_Supplier, Kd_Pegawai, Tanggal

(52)

Pegawai = @Kd_Pegawai, Nama_Pegawai, Alamat_Pegawai, Telp_Pegawai

20. Detail_Surat_Jalan_Order UNF

Detail_Surat_jalan_Order = No_Surat_Jalan_Order, No_Order 1NF

Detail_Surat_jalan_Order = @No_Surat_Jalan_Order, @No_Order 2NF

Detail_Surat_jalan_Order = @No_Surat_Jalan_Order, @No_Order 3NF

Detail_Surat_jalan_Order = @No_Surat_Jalan_Order, No_Order Header_Order = @No_Order, Kd_Pegawai, Kd_Supplier, Tanggal

Pegawai = @Kd_Pegawai, Nama_Pegawai Supplier = @Kd_Supplier, Nama_Supplier 21. Header_Surat_Jalan_Customer

UNF

Header_Surat_Jalan_Customer = No_Surat_Jalan_Customer, Kd_Customer, Kd_Pegawai, Tanggal

1NF

Header_Surat_Jalan_Customer = @No_Surat_Jalan_Customer, @Kd_Customer,@ Kd_Pegawai, Tanggal

(53)

Header_Surat_Jalan_Order = @No_Surat_Jalan_Customer, @Kd_Customer, @Kd_Pegawai, Tanggal

3NFNo_Surat_Jalan_Customer, Kd_Pegawai, Kd_Customer

Header_Surat_Jalan_Customer = @No_Surat_Jalan_Customer, Kd_Customer, Kd_Pegawai, Tanggal

Customer = @Kd_Customer, Nama_Customer, Alamat_Customer, Telp_Customer

Pegawai = @Kd_Pegawai, Nama_Pegawai, Alamat_Pegawai, Telp_Pegawai

22. Detail_Surat_Jalan_Customer

Tabel Detail_Surat_Jalan_Customer sudah memenuhi syarat normalisasi UNF, 1NF, 2NF, 3NF UNF Detail_Surat_Jalan_Customer= No_Surat_Jalan_Customer, No_Nota_Tagihan, Harga_Jual 1NF Detail_Surat_jalan_Order = @No_Surat_Jalan_Customer, @No_Nota_Tagihan 2NF Detail_Surat_Jalan_Customer = @No_Surat_Jalan_Customer, @No_Nota_Tagihan 3NF Detail_Surat_Jalan_Customer = @No_Surat_Jalan_Customer, No_Nota_Tagihan, Harga_Jual

(54)

Header_Nota_Tagihan = @No_Nota_Tagihan, Kd_Pegawai, Kd_Customer, Tanggal

Customer = @Kd_Customer, Nama_Customer, Alamat_Customer, Telp_Customer

Pegawai = @Kd_Pegawai, Nama_Pegawai, Alamat_Pegawai, Telp_Pegawai

4.1.2.4 Memeriksa Integrity Constraint

Tujuan dari langkah ini untuk menentukan batasan integritas yang dapat melindungi basis data dari ketidakkonsistenan. Ada 5 batasan integristas yang didefinisikan yaitu :

1. Required data

Beberapa atribut harus mengandung sebuah nilai valid, dengan kata lain atribut-atribut ini tidak diperkenankan mengandung nilai null. Batasan ini sudah diidentifikasikan pada saat atribut didokumentasikan dalam kamus data.

2. Attribute domain constraints

Setiap atribut memiliki sebuah domain, yaitu kumpulan dari nilai yang legal. Aturan-aturan seperti ini telah diidentifikasikan pada saat memilih atribut-atribut domain untuk data model.

3. Multiplicity

Multiplicity menampilkan constraints yang ditempatkan pada relasi antar entity dalam database.

(55)

Primary key dari suatu entity tidak boleh memiliki nilai null. Aturan-aturan seperti ini harus telah dipertimbangkan pada saat mengidentifikasikan primary key untuk setiap entitiy.

5. Referential integritiy

Referential integrity berarti apabila suatu foreign key mengandung suatu nilai, maka nilai tersebut harus menunjuk pada tuple yang terdapat pada relasi parent.

(56)

4.1.2.5 Validasi Relasi melalui Transaksi Pengguna

(57)

Penjelasan :

a. M embuat Header_Daftar_Pemesanan

M engambil No_Daftar_Pemesanan _Barang, Kd_Barang, Ukuran, Qty, Harga_Jual dari Detail_Daftar_Pemesanan. M engambil Kd_Barang, Ukuran, Qty dari Header_Barang. M engambil Kd_Customer dari Customer M engambil Kd_Pegawai dari Pegawai.

b. M embuat Header_Order

M engambil No_ Order, Kd_Barang, Ukuran, Qty, Harga_Beli dari Detail_ Order. M engambil Kd_Barang, Ukuran, Qty dari Header_Barang. M engambil Kd_Pegawai dari Pegawai. M engambil Kd_Supplier dari Supplier.

c. M embuat Header_Penjualan

M engambil No_Faktur_Penjualan, Kd_Barang, Ukuran, Qty, Harga_Jual dari Detail_Penjualan. M engambil Kd_Barang, Ukuran, Qty dari Header_Barang. M engambil Kd_Pegawai dari Pegawai. M engambil Kd_Customer dari Customer. d. M embuat Header_Penerimaan_Barang

M engambil No_Faktur_Penerimaan_Barang, No_Order dari Detail_Penerimaan_Barang. M engambil No_Order, Kd_Pegawai, Kd_Supplier, Harga_Beli dari Header_Order. M engambil Kd_Supplier dari Supplier. M engambil Kd_Pegawai dari Pegawai.

e. M embuat Header_Nota_Tagihan

M engambil No_Nota_Tagihan, No_Daftar_Pemesanan dari Detail_Nota_Tagihan. M engambil No_Daftar_Pemesanan, Kd_Pegawai, Kd_Customer, Harga_Jual dari

(58)

Header_Daftar_Pemesanan. M engambil Kd_Pegawai dari Pegawai. M engambil Kd_Customer dari Customer.

f. M embuat Surat_Jalan_Order

M engambil No_Surat_Jalan_Order, No_Order dari Detail Surat_Jalan_Order. M engambil No_Order, Kd_Pegawai, Kd_Supplier dari Header_Order. M engambil Kd_Supplier dari Supplier. M engambil Kd_Pegawai dari Pegawai.

g. M embuat Surat_Jalan_Customer

M engambil No_Surat_Jalan_Customer, No_Nota_Tagihan dari Detail Surat_Jalan_Customer. M engambil No_Nota_Tagihan, Kd_Customer, Kd_Pegawai dari Header_Nota_Tagihan. M engambil Kd_Customer dari Customer. M engambil Kd_Pegawai dari Pegawai.

h. Cetak laporan Header_Daftar_Pemesanan

Ambil No_Daftar_Pemesanan dari Header_Daftar_Pemesanan. Berdasarkan No_Daftar_Pemesanan_Barang, Kd_Barang, Ukuran, Qty, Harga_Jual ambil dari Detail_Daftar_Pemesanan. Berdasarkan Kd_Barang, Nama_Barang, Ukuran, Qty ambil dari Header_Barang. Ambil Kd_Customer, Nama Customer dari Customer. i. Cetak laporan Header_Order

Ambil No_Order dari Header_Order. Berdasarkan No_Order, Kd_Barang, Ukuran, Qty, Harga_Beli ambil dari Detail_Order. Berdasarkan Kd_Barang, Nama_Barang, Ukuran, Qty ambil dari Header_Barang. Ambil dari Kd_Supplier dari Supplier.

j. Cetak laporan Header_Penjualan

(59)

Berdasarkan Kd_Barang, Nama_Barang, Ukuran, Qty ambil dari Header_Barang. Ambil Kd_Customer, Nama_Customer dari Customer. Ambil Kd_Pegawai, Nama_Pegawai dari Pegawai.

k. Cetak laporan Header_Penerimaan_Barang

Ambil No_Faktur_Penerimaan_Barang dari Header_Penerimaan_Barang. Berdasarkan No_Faktur_Penerimaan_Barang, No_Order, Harga_Beli ambil dari Detail_Penerimaan_Barang. Berdasarkan Kd_Barang, Nama_Barang, Ukuran, Qty dari Header_Barang. Ambil Kd_Supplier, Nama_Supplier dari Supplier.

l. Cetak laporan Header_Nota_Tagihan

Ambil No_Nota_Tagihan dari Header_Nota_Tagihan. Berdasarkan No_Nota_Tagihan, No_Daftar_Pemesanan, Harga_Jual ambil dari Detail_Nota_Tagihan. Berdasarkan Kd_Barang, Ukuran, Qty ambil dari Header_Barang. Ambil Kd_Customer, Nama_Customer dari Customer.

m. Cetak laporan Header_Surat_Jalan_Order

Ambil No_Surat_Jalan_Order dari Header_Surat_Jalan_Order. Berdasarkan No_Surat_Jalan_Order, No_Order ambil dari Detail_Surat_Jalan_Order. Ambil Kd_Supplier, Nama_Supplier dari Supplier.

n. Cetak laporan Header_Surat_Jalan_Customer

Ambil No_Surat_Jalan_Customer dari Header_Surat_Jalan_Customer. Berdasarkan No_Surat_Jalan_Customer, No_Nota_Tagihan ambil dari Detail_Surat_Jalan_Customer. Ambil Kd_Customer, Nama_Customer dari Customer.

(60)

4.1.2.6 Meninjau Model Data Logikal dengan Pengguna

(61)

4.1.2.7 Membangun dan Memvalidasi Model Data Logikal Global Tujuan dari langkah ini adalah untuk menggabungkan model data logikal lokal individual ke dalam sebuah model data logikal global. Berikut ini adalah tabel model data logikal global :

Tabel 4.21 Membangun dan Memvalidasi Model Data Logikal Global

Header_Barang (Kd_Barang, Nama_Barang, Kd_Supplier, Kd_M erk_Barang, Kd_Jenis_Barang, Harga_Barang)

Primary Key Kd_Barang

Foreign Key Kd_Supplier references Supplier (Kd_Supplier)

Foreign Key Kd_M erk_Barang references M erk_Barang (Kd_M erk_Barang) Foreign Key Kd_Jenis_Barang references Jenis_Barang (Kd_Jenis_Barang) Detail_Barang (Kd_Barang, Ukuran, Qty)

Foreign Key Kd_Barang references Header_Barang (Kd_Barang) Merk_Barang (Kd_M erk_Barang, M erk_Barang)

Primary Key Kd_M erk_Barang

Jenis_Barang (Kd_Jenis_Barang, Jenis_Barang) Primary Key Kd_Jenis_Barang

Customer (Kd_Customer, Nama_Customer, Alamat_Customer, Telp_Customer) Primary Key Kd_Customer

Supplier (Kd_Supplier, Nama_Supplier, Alamat_Supplier, Telp_Supplier) Primary Key Kd_Supplier

Pegawai (Kd_Pegawai, Kd_Divisi, Nama_Pegawai, Alamat_Pegawai, Telp_Pegawai) Primary Key Kd_Pegawai

(62)

Divisi (Kd_Divisi, Nama_Divisi) Primary Key Kd_Divisi

Header_Order (No_Order, Kd_Supplier, Kd_Pegawai, Tanggal) Primary Key No_Order

Foreign Key Kd_Supplier references Supplier (Kd_Supplier) Foreign Key Kd_Pegawai references Pegawai (Kd_Pegawai) Detail_Order (No_Order, Kd_Barang, Qty, Harga_Beli) Foreign Key No_Order references Header_Order ( No_Order ) Foreign Key Kd_Barang references Header_Barang (Kd_Barang)

Header_Penjualan (No_Faktur_Penjualan, Kd_Customer, Tanggal, Kd_Pegawai) Primary Key No_Faktur_Penjualan

Foreign Key Kd_Customer references Customer (Kd_Customer) Foreign Key Kd_Pegawai references Pegawai (Kd_Pegawai)

Detail_Penjualan (No_Faktur_Penjualan, Kd_Barang, Qty, Harga_Jual)

Foreign Key No_Faktur_Penjualan references Header_Penjualan (No_Faktur_Penjualan)

Foreign Key Kd_Barang references Header_Barang (Kd_Barang)

Header_Penerimaan_Barang ( No_Faktur_Pengiriman_Barang, Kd_Supplier, Tanggal, Kd_Pegawai)

Primary Key No_Faktur_Penerimaan_Barang

Foreign Key Kd_Supplier references Supplier (Kd_Supplier) Foreign Key Kd_Pegawai references Pegawai (Kd_Pegawai)

(63)

Harga_Beli)

Foreign Key No_Faktur_Penerimaan_Barang references Header_Penerimaan_Barang (No_Faktur_Penerimaan_Barang)

Foreign Key No_Order references Header_Order (No_Order)

Header_Daftar_Pemesanan (No_Daftar_Pemesanan_Barang, Kd_Pegawai, Kd_Customer, Tanggal, Status_Pemesanan)

Primary Key No_Daftar_Pemesanan_Barang

Foreign Key Kd_Customer references Customer (Kd_Customer) Foreign Key Kd_Pegawai references Pegawai (Kd_Pegawai)

Detail_Daftar_Pemesanan (No_Daftar_Pemesanan_Barang, Kd_Barang, Qty, Harga_Jual)

Foreign Key (No_Daftar_Pemesanan_Barang references Header_Daftar_Pemesanan_Barang (No_Daftar_Pemesanan_Barang)

Foreign Key Kd_Barang references Header_ Barang (Kd_Barang)

Header_Nota_Tagihan (No_Nota_Tagihan, Kd_Customer, Tanggal, Kd_Pegawai) Primary Key No_Nota_Tagihan

Foreign Key Kd_Customer references Customer (Kd_Customer) Foreign Key Kd_Pegawai references Pegawai (Kd_Pegawai)

Detail Nota_Tagihan (No_Nota_Tagihan , No_Daftar_Pemesanan, Harga_Jual)

Foreign Key No_Nota_Tagihan references Header_Nota_Tagihan (No_Nota_Tagihan) Foreign Key No_Daftar_Pemesanan_Barang references Header_Daftar_Pemesanan_Barang (No_Daftar_Pemesanan_Barang)

(64)

Tanggal)

Primary Key No_Surat_Jalan_Order

Foreign Key Kd_Supplier references Supplier (Kd_Supplier) Foreign Key Kd_Pegawai references Pegawai (Kd_Pegawai) Detail_Surat_Jalan_Order (No_Surat_Jalan_Order, No_Order)

Foreign Key No_Surat_Jalan_Order references Header_Surat_Jalan_Order (No_Surat_Jalan_Order)

Foreign Key No_Order references Header_Order (No_Order)

Header_Surat_Jalan_Customer (No_Surat_Jalan_Customer, Kd_Customer, Kd_Pegawai, Tanggal)

Primary Key No_Surat_Jalan_Customer

Foreign Key Kd_Pegawai references Pegawai (Kd_Pegawai) Foreign Key Kd_Customer references Customer (Kd_Customer)

Detail_Surat_Jalan_Customer (No_Surat_Jalan_Customer, No_Nota_Tagihan)

Foreign Key No_Surat_Jalan_Customer references Header_Surat_Jalan_Customer (No_Surat_Jalan_Customer)

(65)

4.1.2.8 Pemilihan DBMS

Pemilihan DBM S digunakan untuk memilih DBM S yang tepat untuk mendukung aplikasi basis data.

1. Kemudahan Penggunaan

DBM S sebaiknya dapat digunakan dengan mudah oleh pengguna 2. Kemudahan dalam administrasi

Pengadministrasian harus mudah dilakukan 3. Kehandalan

DBM S harus mampu mengamankan data apabila terjadi kegagalan dan kerusakan piranti lunak atau keras

4. Biaya

Biaya yang dikeluarkan untuk DBM S sebaiknya tidak melebihi anggaran yang diperkirakan oleh perusahaan.

5. Keamanan

DBM S sebaiknya dapat bekerja dengan komponan perangkat keras dan piranti lunak lainnya dengan baik didalam sistem manajemen informasi.

6. Kompatibilitas

DBM S harus dapat bekerja dengan komponen perangkat keras dan piranti lunak lainnya dengan baik didalam system manajemen informasi.

7. Persyaratan minimum

DBM S harus mampu bekerja pada platform komputer untuk menjalankan sistem manajemen informasi.

(66)

8. Kedeketan dengan basis data

Apabila strukutur dan operasi dari DBM S telah dketahui, maka waktu yang seharusnya dihabiskan untuk mempelajari DBM S dapat difokuskan kepada perancangan.

9. Skalabilitas

M empertimbangkan faktor besar atau kecilnya suatu perusahaan, dan seberapa banyak data yang ditampung pada DBM S yang digunakan.

Berikut ini adalah perbandingan antara M icrosoft SQL Server 2000 dengan MySQL 4.0

Tabel 4.22 Perbandingan Microsoft SQL server 2000 dengan MyS QL 4.0

Perbedaan SQL Server 2000 MySQL 4.0

Tipe DBM S Transactional relational

database server

Relational database server dengan driver InnoDB

Biaya $1000 - $5000(Profesional

Edition)

$0 - $395 (Lisensi Komersial)

Kebutuhan Perangkat Keras Intel Pentium II atau AM D K6-II processor, 64MB RAM , 380 M B Harddisk Space Kebutuhan berdasarkan system operasinya. Kebutuhan Perangkat Lunak

Windows 2000 atau versi setelahnya hingga Windows

Linux berbasis Unix, MyODBC ( untuk ODBC

(67)

XP, Internet Explore 5.0 driver support), Connector/J (untuk JDBC driver support)

Kelebihan M endukung kehandalan

dan keamanan tingkat

entreprise, dapat menjalankan berbagai basis

data dalam satu server

Gratis, Dokumentasi secara online

Kekurangan Biaya cukup tinggi,

memerlukan windows 2000 server

Tidak sepenuhnya compatibel dengan SQL92

(yang menyebabkan masalah dengan aplikasi server yang membuat query SQL-nya sendiri)

Keterbatasan basis data Terbatas mendekati 2 milliar objek basis data

Terbatas hingga 32 index tiap table, ukuran basis data terbatas hingga ukuran terbesar file dari system operasinya

Pemenuhan ACID Ya Ya

Kemampuan M endukung failover

clusters, pemulihan point in time, dapat melakukan

(68)

restart jika terhenti

Keamanan M enggunakan authentifikasi penggunaan dengan pilihan untuk menyatukan keamanan basis data dengan Windows 2000 server

M enggunakan

Authentifikasi penggunaan

dengan menyatukan keamanan root dan kernel

versi system operasi open source Standard SQL99,ODBC,JDBT-SQL,XM L SQL-92 intermediete, ODBC (memerlukan MyIDBC), JDBC

Data – data diatas menunjukkan MySQL 4.0 memiliki biaya lebih rendah, bebas lisensi. Dikarenakan PT.MUTIARA FIBRINDO menginginkan platform berbasis windows. M aka kami memilih SQL server 2000 untuk pengerjaan basis datanya.

4.1.3 Perancangan Basis Data Fisikal

Perancangan basis data fisikal merupakan proses pembuatan deskripsi dari suatu implementasi basis data pada secondary storage. Beberapa langkah dalam merancang basis data secara fisik adalah sebagai berikut : 1. M erancang relasi dasar

2. M endesain representasi dari derived data 3. M endesain enterprise constraint

(69)

5. M emilih index

6. M emperkirakan kebutuhan kapasitas penyimpanan 7. M erancang user view

8. M erancang mekanisme keamanan

4.1.3.1 Perancangan Relasi Dasar

Tujuan dari tahap ini adalah untuk menentukan bagaimana menggambarkan relasi dasar yang diidentifikasikan oleh model data logikal global dalam DBM S. DBDL ( Database Design Languange) yang digunakan adalah sebagai berikut :

• Barang

Domain KodeBarang : variable lenght character string, lenght 5 Domain KodeM erk : variable lenght character string, lenght 5 Domain NamaBarang : variable lenght character string, lenght 20 Domain NamaM erk : variable lenght character string, lenght 15 Domain KodeJenis : variable lenght character string, lenght 5 Domain NamaJenis : variable lenght character string, lenght 15 Domain Ukuran : variable lenght character string, lenght 5 Domain Harga : money

Header_Barang (

KdBarang KodeBarang NOTNULL KdM erkBarang KodeM erk NOTNULL NamaBarang NamaBarang NOTNULL M erkBrg NamaM erk NOTNULL

(70)

KdJnsBarang KodeJenis NOTNULL

JnsBrg NamaJenis NOTNULL Harga Harga NOTNULL Ukuran Ukuran NOTNULL PRIMARY KEY (KdBarang),

FOREIGN KEY (KdM erk) REFERENCES M erk_Barang (KdM erk)

ON UPDATE CAS CADE ON DELETE NOACTION;

• Jenis_Barang

Domain KodeJenisBarang : variable lenght character string, lenght 5

Domain NamaJenisBarang : variable lenght character string, lenght 30 Jenis_Barang ( KdJnsBrg KodeJenisBarang NOTNULL JnsBrg NamaJenisBarang NOTNULL PRIMARY KEY (KdJnsBrg); • Customer

Domain KodeCustomer : variable lenght character string, lenght 5 Domain NamaCustomer : variable lenght character string, lenght

(71)

Domain AlamatCustomer : variable lenght character string, lenght 100

Domain TelpCustomer : variable lenght character string, lenght 30

Customer (

KdCustomer KodeCustomer NOTNULL NamaCustomer NamaCustomer NOTNULL AlamatCustomer AlamatCustomer NOTNULL PRIMARY KEY (KdCustomer)

• Supplier

Domain Kd_Supplier : Variabel lenght character string, lenght 5 Domain Nama_Supplier : Variabel lenght character string, lenght 30

Domain Alamat_Supplier : Variabel lenght character string, lenght 100

Domain Telp_Supplier : Variabel lenght character string, lenght 30

Supplier (

KdSupplier KodeSupplier NOTNULL NamaSupplier NamaSupplier NOTNULL AlamatSupplier Alamat_Supplier NOTNULL TelpSupplier TelpSupplier NOTNULL PRIMARY KEY (KdSupplier)

(72)

Domain KodePegawai : variabel lenght character string, lenght 5 Domain NamaPegawai : variabel lenght character string, lenght 15

Domain AlamatPegawai : variabel lenght character string, lenght 100

Domain KdDivisi : variabel lenght character string, lenght 20 Pegawai (

KdPegawai KodePegawai NOTNULL NamaPegawai NamaPegawai NOTNULL NamaPegawai AlamatPegawai NOTNULL KdDivisi KodeDivisi NOTNULL PRIMARY KEY (KdPegawai)

• Header_Penjualan

Domain NomorFakturPenjualan : variabel lenght character string, lenght 5

Domain KodeCustomer : variabel lenght character string, lenght 5 Domain TglFakJual : variabel datetime

Domain KdPegawai : variabel lenght character string, lenght 5 Header_Penjualan (

NoFakPenjualan NomorFakturJual NOTNULL KdCustomer KodeCustomer NOTNULL Tanggal TglFakJual NOTNULL KdPegawai KodePegawai NOTNULL

(73)

FOREIGN KEY (KdCustomer) REFERENCES Customer (KdCustomer)

ON UPDATE C AS CADE ON DELETE NO ACTION,

FOREIGN KEY (KdPegawai) REFERENCES Pegawai (KdPegawai)

ON UPDATE C AS CADE ON DELETE NO ACTION

• Detail_Penjualan

Domain NomorFakturPenjualan : variable lenght character string, lenght 5

Domain KodeBarang : variable lenght character string, lenght 5 Domain Ukuran : variable lenght charachter string, lenght 5 Domain HargaJual : variable money

Domain Quantity : integer Detail_Penjualan (

NoFakPenjualan NomorFakturPenjualan NOTNULL KdBarang KodeBarang NOTNULL

Ukuran Ukuran NOTNULL

HargaJual HargaJual NOTNULL

Qty Qty NOTNULL

PRIMARY KEY (NoFakPenjualan, KdBarang),

FOREIGN KEY (NoFakturPenjualan) REFERENCES Header_Penjualan (NoFakturPenjualan)

(74)

FOREIGN KEY (KdBarang) REFERENC ES Header_Barang (KdBarang)

ON UPDATE C AS CADE ON DELETE NO ACTION • Header_Penerimaan_Barang

Domain NoFakturPenerimaan : variable lenght character string, lenght 5

Domain KodeSupplier : variable lenght character string, lenght 5 Domain KodePegawai : variabel lenght character string, lenght 5 Domain Tanggal : variabel datetime

Header_Penerimaan_Barang (

NoFakPenerimaan NoFakturPenerimaan NOTNULL KdSupplier KodeSupplier NOTNULL KdPegawai KodePegawai NOTNULL

Tanggal Tanggal NOTNULL

PRIMARY KEY (NoFakPenerimaan),

FOREIGN KEY (KdSupplier) REFERENCES Supplier (KdSupplier)

ON UPDATE C AS CADE ON DELETE NO ACTION,

FOREIGN KEY (KdPegawai) REFERENCES Pegawai (KdPegawai)

ON UPDATE CAS CADE ON DELETE NO ACTION

(75)

Domain NoFakturPenerimaan : variable lenght character string, lenght 5

Domain NoOrder : variable lenght character string, lenght 5 Domain HargaBeli : money

Detail_Penerimaan_Barang (

NoFakPenerimaan NoFakturPenerimaan NOTNULL

NoOrder KodeBarang NOTNULL

HargaBeli HargaBeli NOTNULL

PRIMARY KEY (NoFakPenerimaan, KdBarang)

FOREIGN KEY (NoOrder) REFERENCES Header_Order (NoOrder),

ON UPDATE C AS CADE ON DELETE NO ACTION

FOREIGN KEY (NoFakPenerimaan) REFERENCES Header_Penerimaan_Barang (NoFakPenerimaan),

ON UPDATE C AS CADE ON DELETE NO ACTION

• Header_Order

Domain NoOrder : variable lenght character string, lenght 5 Domain KodeSupplier : variable lenght character string, lenght 5 Domain KodePegawai : variable lenght character string, lenght 5 Domain Tanggal : datetime

Header_Order (

NoOrder NoOrder NOTNULL

(76)

KdPegawai KodePegawai NOTNULL

Tanggal Tanggal NOTNULL

PRIMARY KEY (NoOrder)

FOREIGN KEY (KdSupplier) REFERENCES Supplier (KdSupplier)

ON UPDATE C AS CADE ON DELETE NO ACTION,

FOREIGN KEY (KdPegawai) REFERENCES Pegawai(KdPegawai)

ON UPDATE C AS CADE ON DELETE NO ACTION

• Detail_Order

Domain NoOrder : variable lenght character string, lenght 5 Domain KodeBarang : variable lenght character string, lenght 5 Domain Quantity : integer

Detail_Order (

NoOrder NoOrder NOTNULL

KdBarang KodeBarang NOTNULL

Qty Qty NOTNULL

PRIMARY KEY (NoOrder, KdBarang)

FOREIGN KEY (KdBarang) REFERENCES Barang (KdBarang)

ON UPDATE C AS CADE ON DELETE NO ACTION,

(77)

ON UPDATE C AS CADE ON DELETE NO ACTION

• Header_Daftar_Pemesanan

Domain NoDaftarPemesanan : variable lenght character string, lenght 5

Domain KodePegawai : variable lenght character string, lenght 5 Domain KodeCustomer : variabel lenght character string, lenght 5 Domain StatusPemesanan : variabel lenght character string, lenght 10

Domain Tanggal : variable datetime Header_Daftar_Pemesanan (

NoDaftPemesanan NoDaftarPemesanan NOTNULL KdPegawai KodePegawai NOTNULL KdCustomer KodeCustomer NOTNULL StatusPemesanan StatusPemesanan NOTNULL

Tanggal Tanggal NOTNULL

PRIMARY KEY (NoDaftPemesanan)

FOREIGN KEY (KdPegawai) REFERENCES Pegawai (KdPegawai)

ON UPDATE C AS CADE ON DELETE NO ACTION,

FOREIGN KEY (KdCustomer) REFERENCES Customer (KdCustomer)

(78)

• Detail_Daftar_Pemesanan

Domain NoDaftarPemesanan : variable lenght character string, lenght 5

Domain KodeBarang : variable lenght character string, lenght 5 Domain Qty : integer

Domain Ukuran : variable lenght character string, lenght 5 Domain HargaJual : money

Detail_Daftar_Pemesanan (

NoDafPemesanan NoDaftarPemesanan NOTNULL

KdBarang KodeBarang NOTNULL

Qty Qty NOTNULL

Ukuran Ukuran NOTNULL

HargaJual HargaJual NOTNULL

PRIMARY KEY (NoDaftPemesanan, KdBarang),

FOREIGN KEY (NoDaftPemesanan) REFERENCES Header_Daftar_Pemesanan (NoDaftPemesanan)

ON UPDATE C AS CADE ON DELETE NO ACTION, FOREIGN KEY (KdBarang) REFERENCES Barang (KdBarang)

ON UPDATE C AS CADE ON DELETE NO ACTION • Header_Nota_Tagihan

Domain NoNotaTagihan : variable lenght character string, lenght 5

(79)

Domain KodePegawai : variable lenght character string, lenght 5 Domain Tanggal : datetime

Header_Nota_Tagihan (

NoNotaTagihan NoNotaTagihan NOTNULL KdCustomer KodeCustomer NOTNULL KdPegawai KodePegawai NOTNULL

Tanggal Tanggal NOTNULL

PRIMARY KEY (NoNotaTagihan)

FOREIGN KEY (KdCustomer) REFERENCES Customer (KdCustomer)

ON UPDATE C AS CADE ON DELETE NO ACTION,

FOREIGN KEY (KdPegawai) REFERENCES Pegawai (KdPegawai)

ON UPDATE C AS CADE ON DELETE NO ACTION

• Detail_Nota_Tagihan

Domain NoNotaTagihan : variable length character string, lenght 5

Domain NoDaftPemesanan : variable length character string, lenght 5

Domain HargaJual : money Detail_Nota_Tagihan (

NoNotaTagihan NoNotaTagihan NOTNULL NoDaftPemesanan NoFakturPenjualan NOTNULL

(80)

HargaJual HargaJual NOTNULL PRIMARY KEY (NoNotaTagihan, NoDaftPemesanan)

FOREIGN KEY (NoNotaTagihan) REFERENCES Header_Nota_Tagihan (NoNotaTagihan)

ON UPDATE C AS CADE ON DELETE NO ACTION,

FOREIGN KEY (NoDaftPemesanan) REFERENCES Header_Daftar_Pemesanan (NoDaftPemesanan)

ON UPDATE C AS CADE ON DELETE NO ACTION

• Header_Surat_Jalan_Order

Domain NoSuratJalanOrder : variable lenght character string, lenght 5

Domain KodePegawai : variable lenght character string, lenght 5 Domain KodeSupplier : variabel lenght character string, lenght 5 Domain Tanggal : datetime

Header_Surat_Jalan_Order (

NoSrtJlnOrder NoSuratJalanOrder NOTNULL KdPegawai KodePegawai NOTNULL KdSupplier KodeSupplier NOTNULL

Tanggal Tanggal NOTNULL

PRIMARY KEY (NoSrtJlnOrder)

FOREIGN KEY (KdPegawai) REFERENCES Pegawai (KdPegawai)

(81)

FOREIGN KEY (KdSupplier) REFERENCES Supplier (KdSupplier)

ON UPDATE C AS CADE ON DELETE NO ACTION

• Detail_Surat_Jalan_Order

Domain NoSuratJalanOrder : variable length character string, lenght 5

Domain NoOrder : variable length character string, lenght 5

Detail_Surat_Jalan _Order(

NoSrtJlnOrder NoSuratJalanOrder NOTNULL

NoOrder NoOrder NOTNULL

PRIMARY KEY (NoSrtJlnOrder, NoOrder)

FOREIGN KEY (NoSrtJlnOrder) REFERENCES Header_Surat_Jalan_Order (NoSrtJlnOrder)

ON UPDATE C AS CADE ON DELETE NO ACTION,

FOREIGN KEY (NoOrder) REFERENCES Header_Order (NoOrder)

ON UPDATE C AS CADE ON DELETE NO ACTION

• Header_Surat_Jalan_Customer

Domain NoSuratJalanCustomer : variable lenght character string, lenght 5

Gambar

Tabel 4.12 Entitas Faktur Penerimaan Barang  Attribute  Description  Data Type &
Tabel 4.15 Entitas Surat Jalan_Order  Attribute  Description  Data Type &
Tabel 4.16 Entitas Surat Jalan_Customer  Attribute  Description  Data Type &
Gambar 4.3 ERD dengan Primary Key
+7

Referensi

Dokumen terkait

Pelaksanaan fase sign in, time out, sign out di ruang operasi Instalasi Bedah Sentral RSUD Harapan Insan Sendawar Kutai Barat seluruhnya (100%) belum sesuai

- akuntabilit as -etika public - nasionalis me - komitmenb mutu -anti korupsi Dengan dilaksanakan kegiatan pemeriksaan hasil evaluasi maka nilai mengembangk an sikap

Berdasarkan laporan publikasi yang diunggah di website resmi OJK dapat diketahui bahwa kinerja keuangan kususnya DPK (Dana Pihak Ketiga), kredit dan laba menglami kenaikan

Limbah cair ini apabila masuk ke dalam badan air, akan berdampak pada meluasnya pesebaran polutan dalam badan air (Boyd, 1990). Secara alamiah sistem perairan

Dengan melihat adanya peluang tersebut, maka setiap perusahaan perlu memperhatikan aktivitas dalam memasarkan produk yang kemudian mengarah kepada kebijakan apa yang

Tersedianya Administrasi Perkantoran Rangkaian dari semua kegiatan yang dikelola Dinas Pasar menghasilka n peningkatan PAD dari sektor Retribusi Penerimaan PAD = Penerimaan

Pada pola adsorpsi ini setiap situs aktif yang terdapat pada permukaan adsorben hanya bisa menampung satu atom teradsorpsi, sehingga setelah semua situs telah

Hasil analisis didapatkan dari jawaban responden pengguna sistem informasi akademik Online yaitu dosen dan mahasiswa Universitas Islam Negeri Raden Fatah Palembang