Anda di halaman 1dari 27

Normalisasi Database

Partono, M.Kom

Normalisasi

Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang nonredundant, 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 bentuk normal ke Satu(1NF)

Contoh (1)
Bentuk Normal ke dua(2NF) :

Belum memenuhi kriteria 3NF, Karena atribut non-key Nilai dan Bobot masih memiliki ketergantungan 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 sejenis
Contoh :

b)

Tabel dibawah adalah tabel siswa mengambil mata kuliah SISWA 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 (fulldependent). 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 FullDependent 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 0001 Nm_Cust ABC Add_Cust fff City_Cust ggg State_Cust hhhh Zip 111 Phone_Cust 123123 Date 1

0002

PQR

Ddd

Eee

Ee

111

1121134

Order No 1231 1211

Rep 31 33

FOB 3 2

QTY 2 3 1

Description aaaa bbbb Aaaa

Unit Price 30 25 30

Total 60 75 30

Subtotal

135 30

Shipping 2 2

Tax Rates 1.4 3.0

G_Total 136.4 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 tabeltabel yang relevan

Form invoice - 2NF (2)

Diubah ke bentuk
Tabel Customer
Nm_Cust* Add_Cu st City_Cust State_Cust Zip Phone_Cust Date

Tabel Transaksi
Invoice No Order No Rep FOB QTY Code** Total Sub total Shipping Tax Rates G_Total Nm _Cu st **

Tabel Barang
Code* Description Unit Price

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.

Anda mungkin juga menyukai