Normalisasi (Revised)
Transcript of Normalisasi (Revised)
Normalisasi Database
Novareza Klifartha, ST., MT.
Normalisasi
Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, dan fleksible
Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert,update,delete, dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut.
Normalisasi: 1NF, 2NF, 3NF
Bentuk Normal ke Satu(1NF) Syarat :
1. Tidak ada set atribut yang berulang atau bernilai ganda.
2. Telah ditentukannya primary key untuk tabel atau relasi.
3. Tiap atribut hanya memiliki satu pengertian. Tiap atribut yang dapat memiiki banyak nilai sebenarnya
menggambarkan entitas atau relasi yang terpisah. Bentuk Normal ke Dua(2NF)
Syarat :
1. Bentuk data telah memenuhi kriteria bentuk normal ke satu.
2. Atribut bukan kunci(non-key attribute) haruslah memiliki ketergantungan fungsional sepenuhnya pada primary key.
Normalisasi: 1NF, 2NF, 3NF (1)
Bentuk Normal ke Tiga(3NF) Syarat :
1. Bentuk data telah memenuhi kriteria bentuk normal ke dua.
2. Atribut bukan kunci(non-key attribute) tidak boleh memiliki ketergantungan fungsional terhadap atribut bukan kunci lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.
Contoh Normalisasi :Diberikan tabel Mahasiswa di bawah ini, akan dilakukan normalisasi sampai bentuk normal ke tiga
Perhatikan bahwa tabel di atas sudah dalam bentuknormal ke Satu(1NF)
Contoh (1)
Bentuk Normal ke dua(2NF) :
Belum memenuhi kriteria 3NF, Karena atribut non-key Nilai danBobot masih memiliki ketergantu-ngan fungsional.
Contoh (2)
Bentuk Normal ke tiga(3NF) :
Functional Dependency (1)
Untuk melakukan normalisasi, harus bisa menentukan terlebih dahulu Functional Dependency (FD) atau Ketergantungan Fungsional, khususnya dalam melakukan dekomposisi rancangan database.
Functional Dependency (FD) dapat disimbolkan dengan:
A B : artinya B memiliki ketergantungan dengan A Berarti A secara fungsional menentukan B atau B secara
fungsional tergantung pada A.
Functional Dependency (2)
Contoh:
Functional Dependency: NRP Nama Mata_Kuliah, NRP Nilai
Non Functional Dependency: Mata_Kuliah NRP NRP Nilai
NORMALISASI 1NF
1st Normal Form (1NF) Merubah dari bentuk tabel tidak normal
(unnormalized table) menjadi bentuk normal (1NF).
Suatu relasi R disebut 1st NF jika dan hanya jika kondisi tablenya dari unnormalized dirubah ke bentuk normal dengan kondisi semua attribute value-nya harus atomic (tidak boleh ada attribute yang composit / multivalue)
Unnormalized table (tabel tidak normal)
Suatu tabel dikatakan unnormalized jika :
a) Mempunyai penggandaan field yang sejenisContoh :
Tabel dibawah adalah tabel siswa mengambil mata kuliah
SISWA
b) Elemen datanya memungkinkan untuk null value (kosong)
Contoh :
Tabel yang mencatat No. SIM yang dimiliki siswa
SISWA_SIM
Tabel dalam bentuk normal 1NF, jika … Suatu tabel dikatakan berada pada bentuk
normal I jika ia tidak berada pada bentuk unnormalized table, dimana terjadi penggandaan field yang sejenis dan memungkinkan ada field yang null (kosong)
SISWA
SIM
NORMALISASI 2NF
2st Normal Form (2NF) Normalisasi 2NF: jika tabel berada dalam
bentuk Normal Pertama (1NF) dan setiap atribut bukan kunci bergantung penuh pada kunci primer.
Sehingga tidak ada atribut bukan kunci yang bergantung pada sebagian (parsial) kunci primer.
Syarat 2st Normal Form (2NF)
Memenuhi kriteria tabel Normal I (1NF) Di dalam tabel tersebut tidak ada
Redundansi / Pengulangan data dan Null Value.
Field-field yang bukan PK adalah Full Dependent (bergantung penuh) pada PK.
Contoh 2NF:
Suatu format tabel Normal I (1NF) : (menghilangkan Redundansi)
Bentuk Normal II (2NF) : (Decompose)
Ilustrasi 2NF
Suatu format tabel Normal I (1NF) : (menghilangkan Redundansi)
Bentuk Normal II (2NF) : (Decompose)
NORMALISASI 3NF
3rd Normal Form (3NF) Suatu relasi R disebut normal III (3rd NF) jika
berada dalam bentuk normal II (2nd NF) dan tidak dijumpai adanya ketergantungan transitif (Transitive Dependency).
Kebergantungan Transitif (Transitive Dependency) adalah ketergantungan fungsional antara 2 (atau lebih) atribut bukan key (kunci).
Syarat 3NF
Harus berada dalam bentuk normal II (2NF). Ketergantungan field-field yang bukan PK
adalah harus secara mutlak (full-dependent). Artinya harus tidak ada transitive dependency (ketergantungan secara transitif).
Contoh 3NF:
Bentuk Normal ke Dua (2NF) :
Tabel di samping sudah masuk dalam bentuk Normal 2. Akan tetapi kita lihat bahwa field Nama dan Nilai adalah Full-Dependent terhadap NRP yang bertindak sebagai PK. Berbeda dengan field Keterangan di atas yang Dependent kepada NRP akan tetapi Tidak Mutlak. Ia lebih dekat ketergantungannya dengan field Nilai. Karena field Nilai Dependent kepada NRP dan field Keterangan Dependent kepada Nilai, maka field Keterangan juga dependent kepada NRP. Ketergantungan yang demikian ini yang dinamakan Transitive-Dependent (dependent secara transitif atau samar/tidak langsung). Untuk itu dilakukan Normalisasi III (3NF).
• Bentuk Normal ke Tiga (3NF) :
Studi kasus: Normalisasi Invoice
Data diambil dari form-form yang ada apa adanya, tidak ada ketentuan mengikuti bentuk tertentu
Semua atribut/field di susun secara flat Periksa bagian yang memungkinkan adanya
data bernilai ganda
Form invoice - 1NF
Disusun ke dalam bentuk flat :
Invoice No Nm_Cust Add_Cust City_Cust State_Cust Zip Phone_Cust Date
Order No Rep FOB QTY Description Unit Price Total Subtotal
Shipping Tax Rates G_Total
Form invoice - 1NF (2)
1st Normal Form : Menghilangkan data bernilai ganda menjadi atomic value (bila ada)
Bentuk ini di uji dengan memasukkan data ke bentuk tak normal, minimal 2 data
Form invoice - 1NF (3)Invoice No Nm_Cust Add_Cust City_Cust State_Cust Zip Phone_Cust Date
0001 ABC fff ggg hhhh 111 123123 1
0002 PQR Ddd Eee Ee 111 1121134 1
Order No Rep FOB QTY Description Unit Price Total Subtotal
1231 31 3 2 aaaa 30 60
3 bbbb 25 75 135
1211 33 2 1 Aaaa 30 30 30
Shipping Tax Rates G_Total
2 1.4 136.4
2 3.0 33.0
Form invoice - 2NF
2nd normal form : Tiap attribut bukan kunci harus bergantung fungsi ke attribut kunci
Bergantung fungsi
AB,C,D,E
A adalah kunci, sedangkan B,C,D,E bergantung fungsi terhadap A
Menjadikan pengelompokan dalam tabel-tabel yang relevan
Form invoice - 2NF (2)
Diubah ke bentuk
Nm_Cust* Add_Cust
City_Cust State_Cust Zip Phone_Cust Date
Invoice No Order No Rep FOB QTY Code** Total Subtotal
Shipping Tax Rates
G_Total Nm_Cust **
Tabel Customer
Code* Description Unit Price
Tabel Barang
Tabel Transaksi
Form invoice – 3NF
Menguji bentuk normal ke 2 untuk menghilangkan ketergantungan transitif
Ketergantungan transitif
AB,C,D,E
CE
C adalah trans untuk E dan A, maka harus di dekomposisi menjadi :
AB,C,D dan CE
Slide credits
Harrismare Craig S. Mullins Haryanto K.