Desain Database
Pengetahuan Awal
• Data vs Informasi
• Attribut (
Field
)
• Baris/Tupel (
Record
)
• Relasi/Tabel
• Basis Data (
Database
)
Barang
Kode_Barang Nama_Barang satuan Harga
B001 Indomie Kari Ayam Kardus 40000 B002 Saus ABC 50 ml Botol 3000 B003 Kecap ABC Botol 2000 B004 Susu Bendera 400 gr Kotak 15000 B005 Rinso 1 Kg Plastik 12000
Karyawan
NIK Nama_Karyawan Bagian
K1001 Agus Haryanto Personalia K1002 Amri Setiadi Kasir K1003 Mahdiyansyah Sales K1004 Yuri Irawan Sales K1005 Rachmat Nasir S Sales
Detail_Pjl
No_Fa
k Kode_Barang Nama_Barang Satuan Harga Jumlah
F0001 B001 Indomie Kari Ayam Kardus 40000 1 F0001 B002 Saus ABC 50 ml Botol 3000 2 F0002 B001 Indomie Kari Ayam Kardus 40000 5 F0002 B003 Kecap ABC Botol 2000 3 F0003 B001 Indomie Kari Ayam Kardus 40000 2
H_Pjl
No_Fak Tgl_Fak NIK
F0001 01/10/2004 K1001 F0002 02/10/2004 K1002 F0003 03/10/2004 K1003
Normalisasi
Teknik Normalisasi
merupakan teknik
pengelompokan data elemen menjadi
tabel-tabel yang menunjukkan Relasi/Tabel dan
Hubungan antar Tabel.
Syarat
Normalisasi
yang Optimal
adalah
telah teruji dengan baik dalam beberapa
kondisi.
Apakah sudah tidak ada kesulitan pada saat;
•
menambah,
•
menghapus,
•
membaca dan
•
mengubah isi database dengan beberapa
relasi/tabel yang ada
Normalisasi
Tujuan
1. Mengidentifikasi hubungan antar Atribut/Field 2. Mengkombinasikan Atribut untuk membentuk Relasi/Tabel
3. Mengkombinasikan Relasi/Tabel untuk membentuk Database
4. Menghindari terjadiya anomali (kejadian menyimpang) dan
inkonsistensi data karena terjadinya: * Penambahan Record
Normalisasi
Struktur
Relasi
(Tabel)
Kolom / Atribut / Field
Primary Key merupakan suatu atribut yang tidak hanya
mengidentifikasikan secara unik kejadian spesifik, namun juga dapat mewakili setiap kejadian dari suatu entity
Candidate Key merupakan atribut-atribut dalam suatu table yang mungkin dapat mengidentifikasikan secara unik suatu kejadian spesifik dari entity. Jika satu kunci kandidat berisi lebih dari satu atribut, maka kunci tersebut disebut Composite Key.
Foreign Key merupakan atribut atau satu set atribut yang
digunakan untuk melengkapi suatu relationship (hubungan antar table) yang menunjuk ke table induknya. Foreign Key berada pada entity (table) anak, yang sama dengan Primary Key entity (table) induk relasinya
Normalisasi
Functional Dependency
Jika terdapat sebuah relasi R(A, B), dimana atribut B adalah
bergantung fungsi pada atribut A, jika dan hanya jika setiap nilai
A mempunyai hubungan dengan tepat satu nilai B dalam setiap
satu waktu (bila setiap nilai yang berlaku pada B dapat
ditentukan oleh A). Dimana dalam notasi ditulis sebagai berikut:
A
B
atau B
= f(A).
Contoh:
Nama Pegawai bergantung secara fungsi pada NIP, dan NIP
dapat menunjukkan secara fungsi dari sebuah Nama
Pegawai dalam keseluruhan isi tabel Pegawai, maka dalam
notasinya dapat ditulis sebagai berikut:
Fully Functional Dependency
Sebuah Relasi R( A, B, X ), dimana X tergantung fungsional pada AB.
X
dinyatakan tergantung fungsional penuh (fully functional dependency)
bila tidak terjadi:
A X
atau
B
X
,
melainkan hanya AB X
.
Normalisasi
Bentuk-Bentuk
Normalisasi
Unnormalized Form
Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu format tertentu (format bebas), bisa saja tidak lengkap atau terduplikasi.
Data dikumpulkan apa adanya sesuai dengan kedatangannya.
1st Normal Form/1NF
Sebuah relasi berada dalam 1NF, jika relasi tersebut tidak berisi atribut yang berulang-ulang (repeating groups).
2nd Normal Form/2NF
Sebuah Relasi adalah dalam 2NF, jika Relasi tersebut dalam 1NF dan untuk setiap atribut bukan kunci (non-key)
adalah tergantung fungsional kepada Primary Key (PK).
3rd Normal Form/3NF
Sebuah Relasi adalah dalam 3NF, jika Relasi tersebut dalam 1NF dan 2NF dan untuk setiap atribut NK (non-key) tidak
punya hubungan yang transitif, atau setiap atribut NK haruslah hanya bergantung pada PK, atau tidak bergantung
Normalisasi
Petunjuk pengembangan Relasi hingga 3NF:
1. Tentukan atribut-atribut dalam relasi
2. Kelompokkan atribut yang secara logis mempunyai hubungan dalam relasi
3. Pilih CK (Candidate Key)
4. Bila ada RG (Rrepeating Group), normalisasikan terlebih dahulu 5. Pilih PK
6. Identifikasikan ketergantungan fungsional
7. Dekomposisi relasi selagi ada atribut NK yang belum tergantung sepenuhnya terhadap PK
8. Kombinasikan relasi dengan PK yang identik
9. Temukan ketergantungan transitif (atribut yang tergantung pada lebih dari 1 kunci)
Normalisasi
Kasus 1:
Riwayat Pendidikan Formal Pegawai
NIP : ……… Nama : ……… Alamat : ……… ………..………. Telp. : ……….………
S3 . . SMP
SD
Nilai RataRata Tahun
Normalisasi
No. Order : ………… Tanggal : ………. Kd. Vendor : …………
Nama : ………..……… Alamat : ……….…
……….… Telp. : ……….
Nama Deprtement Dept.
Qty Deskripsi
Kode
Kasus 2:
Normalisasi
No. Jual : ………… Tanggal : ………..………. Kd. Pelanggan : …………
Nama : ………..……….…
Alamat : ……….………..… Telp. : ……..…………. Kd. Sales : ………… Nama Sales : ……….……….
Total Bersih Discount Total Kotor
Total Harga
Qty Deskripsi
Kode