Normalisasi (Revised)

27
Normalisasi Database Novareza Klifartha, ST., MT.

Transcript of Normalisasi (Revised)

Page 1: Normalisasi (Revised)

Normalisasi Database

Novareza Klifartha, ST., MT.

Page 2: Normalisasi (Revised)

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.

Page 3: Normalisasi (Revised)

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.

Page 4: Normalisasi (Revised)

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.

Page 5: Normalisasi (Revised)

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)

Page 6: Normalisasi (Revised)

Contoh (1)

Bentuk Normal ke dua(2NF) :

Belum memenuhi kriteria 3NF, Karena atribut non-key Nilai danBobot masih memiliki ketergantu-ngan fungsional.

Page 7: Normalisasi (Revised)

Contoh (2)

Bentuk Normal ke tiga(3NF) :

Page 8: Normalisasi (Revised)

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.

Page 9: Normalisasi (Revised)

Functional Dependency (2)

Contoh:

Functional Dependency: NRP Nama Mata_Kuliah, NRP Nilai

Non Functional Dependency: Mata_Kuliah NRP NRP Nilai

Page 10: Normalisasi (Revised)

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)

Page 11: Normalisasi (Revised)

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

Page 12: Normalisasi (Revised)

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

Page 13: Normalisasi (Revised)

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.

Page 14: Normalisasi (Revised)

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.

Page 15: Normalisasi (Revised)

Contoh 2NF:

Suatu format tabel Normal I (1NF) : (menghilangkan Redundansi)

Bentuk Normal II (2NF) : (Decompose)

Page 16: Normalisasi (Revised)

Ilustrasi 2NF

Suatu format tabel Normal I (1NF) : (menghilangkan Redundansi)

Bentuk Normal II (2NF) : (Decompose)

Page 17: Normalisasi (Revised)

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).

Page 18: Normalisasi (Revised)

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).

Page 19: Normalisasi (Revised)

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) :

Page 20: Normalisasi (Revised)

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

Page 21: Normalisasi (Revised)

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

Page 22: Normalisasi (Revised)

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

Page 23: Normalisasi (Revised)

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

Page 24: Normalisasi (Revised)

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

Page 25: Normalisasi (Revised)

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

Page 26: Normalisasi (Revised)

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

Page 27: Normalisasi (Revised)

Slide credits

Harrismare Craig S. Mullins Haryanto K.