NORMALISASI DATA BASE - (1)
Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk
memenuhi kebutuhan pemakai di dalam suatu organisasi.
Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk
menentukan apakah relasi itu sudah baik. Dapat dilakukan melalui proses insert, update,
delete dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas
dalam relasi tersebut.
Kapan di Perlukan Normalisasi?
Normalisasi di perlukan untuk database berskala besar.
Tujuan Normalisasi :
1. Untuk menghilangkan kerangkapan data (redudansi).
2. Untuk mengurangi kompleksitas (kerumitan).
3. Untuk mempermudah pemodifikasian data dan menghilangkan anomali data.
Keunggulan dari Normalisasi Database
1. Memecah table (sangat) kompleks menjadi beberapa tabel. sederhana.
Seperti Tabel Master (Data cenderung tetap), Tabel Transaksi (dinamik, berhubungan
dengan tabel master).
2. Mudah diatur, dipleihara dan mempermudah proses pelaporan data.
3. Tabel (terutama Tabel Master) bisa digunakan berulang kali.
4. Ketika terjadi perubahan atas tabel master, maka tabel transaksi otomatis juga berubah
menyesuaikan tabel master.
Kerugian dari Normalisasi
1. Meningkatkan jumlah dari penggabungan antar tabel (JOIN).
2. Menyebabkan query yang cukup rumit.
Cara Melakukan Normalisasi
1. Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu
kebeberapa tingkat.
2. Apabila tabel yang diuji belum memenuhi persyaratan tertentu maka tabel tersebut perlu
dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang
optional.
Tahapan atau Bentuk-bentuk Normalisasi
Bentuk normal adalah keadaan relasi yang dihasilkan dengan menerapkan aturan sederhana
berkaitan dengan konsep kebergantungan fungsional pada relasi yang bersangkutan.
Tahap-tahap normalisasi tersebut adalah:
(1) Bentuk Normal ke Satu (1NF)
Syarat :
1. Tidak ada set aribut yang berulang atau bernilai ganda, setiap atribut yang dimiliknya
bersifat atomic (bernilai tunggal) untuk setiap baris.
2. Telah ditentukannya primary key untuk tabel atau relasi.
3. Tiap atribut hanya memiliki satu pengertian.
4. Tiap atribut yang dapat memiliki banyak nilai sebenarnya menggambarkan entitas atau
relasi yang terpisah.
(2) Bentuk Normal ke Dua (2NF)
Syarat :
1. Bentuk data telah memenuhi kriteria bentork normal ke satu.
2. Atribut bukan kunci (non - key atribut) haruslah memiliki ketergantungan fungsional
sepenuhnya pada primary key.
3. Kunci primer hanya mengandung satu atribut.
(3) Bentuk Normal ke Tiga (3NF)
Syarat :
Bentuk data telah memenuhi kriteria ke dua.
Tidak boleh terdapat ketergantungan transitif terhadap kunci utama atau primary key.
(4) Boyce-Codd Normal Form (BCNF)
Syarat :
Semua anomali (kesalahan data) yang tersisa dari hasil penyempurnaan kebergantungan
fungsional telah dihilangkan.
(5) Bentuk Normal ke Empat (4NF)
Syarat:
1. Bila dan hanya bila telah berada dalam bentuk BCNF dan tidak ada multivalued dependency
nontrivial.
2. Multivalued Dependency Nontrivial (MVD) dipakai dalam 4NF.
3. Dependency ini dipakai untuk menyatakan hubungan satu (one to many).
(6) Bentuk Normal ke Lima (5NF)
Syarat:
Semua anomali (kesalahan data) yang tertinggal telah dihilangkan.
Dari beberapa tahap normalisasi diatas, Bentuk Normal Pertama (1NF) sampai Normal ke Tiga
(3NF), merupakan bentuk normal yang umum dipakai. Umumnya bila ketiga bentuk normal
tersebut telah dipenuhi, maka persoalan anomali tidak akan muncul.
Contoh Kasus Normalisasi.
Kasus 1 : Entitas Mahasiswa Belum Ternormalisasi :
Tabel 1 : Entitas Mahasiswa
NIM NAMA Sem MaKul NIDN Nama Dosen
201001 Andika Saputra 1 Algoritma 1078523 Riyanti Anjani
Struktur Data 1078523 Riyanti Anjani
201002 Biyanti Anggie 3 Struktur Data 1078523 Riyanti Anjani
Orkom 1078523 Riyanti Anjani
Metnum 1075047 Susan Savitri
201003 Naura Putri 5 Web 1075047 Susan Savitri
Jarkom 1077021 Erwin Masadi
Metnum 1075047 Susan Savitri
Hasil 1: Entitas Mahasiswa 1NF
Tabel 2 : Entitas Mahasiswa 1NF (Telah Ternormalisasi Bentuk Pertama)
NIM NAMA Sem MaKul NIDN Nama Dosen
201001 Andika Saputra 1 Algoritma 1078523 Riyanti Anjani
201001 Andika Saputra 1 Struktur Data 1078523 Riyanti Anjani
201002 Biyanti Anggie 3 Struktur Data 1078523 Riyanti Anjani
201002 Biyanti Anggie 3 Orkom 1078523 Riyanti Anjani
201002 Biyanti Anggie 3 Metnum 1075047 Susan Savitri
201003 Naura Putri 5 Web 1075047 Susan Savitri
201003 Naura Putri 5 Jarkom 1077021 Erwin Masadi
201003 Naura Putri 5 Metnum 1075047 Susan Savitri
Kasus 2 : Entitas Dosen Belum Ternormalisasi
Tabel 3 : Entitas Dosen
NIDN NAMA DOSEN MaKul_1 MaKul_2 MaKul_3
1078523 Riyanti Anjani Algoritma Struktur Data Orkom
1075047 Susan Savitri Metnum Web -
1077021 Erwin Masadi Jarkom - -
Hasil 2: Entitas Dosen 1NF
Tabel 4 : Entitas Dosen 1NF (Telah Ternormalisasi Bentuk Pertama)
NIDN NAMA DOSEN MaKul
1078523 Riyanti Anjani Algoritma
1078523 Riyanti Anjani Struktur Data
1078523 Riyanti Anjani Orkom
1075023 Susan Savitri Metnum
1075023 Susan Savitri Web
1077021 Erwin Masadi Jarkom
Kasus 3 : Entitas Mahasiswa 1NF, Tidak Memenuhi 2NF
Tabel 2 : Entitas Mahasiswa 1NF
NIM NAMA Sem MaKul NIDN Nama Dosen
201001 Andika Saputra 1 Algoritma 1078523 Riyanti Anjani
201001 Andika Saputra 1 Struktur Data 1078523 Riyanti Anjani
201002 Biyanti Anggie 3 Struktur Data 1078523 Riyanti Anjani
201002 Biyanti Anggie 3 Orkom 1078523 Riyanti Anjani
201002 Biyanti Anggie 3 Metnum 1075047 Susan Savitri
201003 Naura Putri 5 Web 1075047 Susan Savitri
201003 Naura Putri 5 Jarkom 1077021 Erwin Masadi
201003 Naura Putri 5 Metnum 1075047 Susan Savitri
Proses menuju 2NF untuk Relasi Mahasiswa
Primary Key (PK) : NIM
•Atribut yang bergantung dengan PK :
– Nama
– Semester
•Atribut yang tidak bergantung dengan PK:
– Makul
– NIDN
– NamaDosen
Untuk memenuhi 2NF, atribut yang tidak bergantung dengan primary key dipecah menjadi
entitas baru, sehingga entitas mahasiswa dipecah menjadi 2 entitas, yaitu :
– Entitas Mahasiswa 2NF (Nim, Nama, Semester)
– Entitas Ambil_MK (Makul, Nidn, NamaDosen)
HASIL 3A : Entitas Mahasiswa 2NF
NIM NAMA Sem
201001 Andika Saputra 1
201001 Andika Saputra 1
201002 Biyanti Anggie 3
201002 Biyanti Anggie 3
201002 Biyanti Anggie 3
201003 Naura Putri 5
201003 Naura Putri 5
201003 Naura Putri 5
Terjadi kerangkapan data yang tidak diperlukan (redudansi), untuk itu data yang sama bisa
dihilangkan.
Tabel 5 : Entitas Mahasiswa 2NF (Telah Ternormalisasi Bentuk ke 2)
NIM NAMA Sem
2010001 Andika Saputra 1
2010002 Biyanti Anggie 3
2010003 Naura Putri 5
HASIL 3B: Entitas Ambil_MK 2NF
Tabel 6: Entitas Ambil_MK 2NF (Telah Ternormalisasi Bentuk ke 2)
NIM MaKul NIDN Nama Dosen
201001 Algoritma 1078523 Riyanti Anjani
201001 Struktur Data 1078523 Riyanti Anjani
201002 Struktur Data 1078523 Riyanti Anjani
201002 Orkom 1078523 Riyanti Anjani
201002 Metnum 1075047 Susan Savitri
201003 Web 1075047 Susan Savitri
201003 Jarkom 1077021 Erwin Masadi
201003 Metnum 1075047 Susan Savitri
Catatan : Agar tidak terputus relasi antara entitas mahasiswa dan entitas Ambil_MK,
maka perlu ditambahkan atribut penghubungnya, yaitu NIM.
Ketergantungan Transitif
Ketergantungan Transitif tidak memiliki ketergantungan secara langsung
terhadap primary key.
Nim Kd_Jur Jurusan Kd_MK
20100001 13 TIF MK001
20100002 11 TPS MK002
20100003 11 TPS MK002
Ketergantungan transitif :
Nim à Kd_Jur (kd_jurusan bergantung pada Nim)
Kd_Jur à Jurusan (jurusan bergantung pada kd_jurusan) , MAKA
Nim à Jurusan (Jurusan bergantung transitif dengan Nim)
Kasus 4: Entitas Ambil_MK 2NF, Tidak Memenuhi 3NF
Tabel 6: Entitas Ambil_MK 2NF
NIM MaKul NIDN Nama Dosen
201001 Algoritma 1078523 Riyanti Anjani
201001 Struktur Data 1078523 Riyanti Anjani
201002 Struktur Data 1078523 Riyanti Anjani
201002 Orkom 1078523 Riyanti Anjani
201002 Metnum 1075047 Susan Savitri
201003 Web 1075047 Susan Savitri
201003 Jarkom 1077021 Erwin Masadi
201003 Metnum 1075047 Susan Savitri
Proses menuju 3NF untuk Entitas Ambil_MK 2NF
•Primary Key (PK) : NIDN
•Atribut yang bergantung dengan PK :
–Nama Dosen
•Atribut yang bergantung transitif dengan PK:
–NIM
–Makul
Untuk memenuhi 2NF, Entitas Ambil_MK 2NF dipecah menjadi 2 Entitas, yaitu
–Entitas Dosen 3NF (NIDN, Nama Dosen)
–Entitas Ambil_MK 3NF (Nim, Makul)
HASIL 4A: Entitas Dosen 3NF
Tabel 7: Entitas Dosen 3NF (Telah Ternormalisasi Bentuk ke 3)
NIDN Nama Dosen
1078523 Riyanti Anjani
1078523 Riyanti Anjani
1078523 Riyanti Anjani
1078523 Riyanti Anjani
1075047 Susan Savitri
1075047 Susan Savitri
1077021 Erwin Masadi
1075047 Susan Savitri
Menjadi:
NIDN Nama Dosen
1078523 Riyanti Anjani
1075047 Susan Savitri
1077021 Erwin Masadi
Keterangan : Data yang sama pada tabel sebelah kiri di buang, sehingga akan
menghasilkan tabel sebelah kanan
HASIL 4B : Entitas Ambil_MK memenuhi 3NF
NIM Makul
201001 Algoritma
201001 Struktur Data
201002 Struktur Data
201002 Orkom
201002 Metnum
201003 Web
201003 Jarkom
201003 Metnum
Menjadi :
Tabel 8: Entitas Ambil_MK 3NF (Telah Ternormalisasi Bentuk ke 3)
NIM Makul NIDN
201001 Algoritma 1078523
201001 Struktur Data 1078523
201002 Struktur Data 1078523
201002 Orkom 1078523
201002 Metnum 1075047
201003 Web 1075047
201003 Jarkom 1077021
201003 Metnum 1075047
Catatan : Agar tidak terputus relasi antara entitas dosen 3NF dan entitas Ambil_MK
3NF, maka perlu ditambahkan atribut penghubungnya, yaitu NIDN
Tambahan
Tabel 8: Entitas Makul 3NF (Telah Ternormalisasi Bentuk ke 3)
Kd-MK MaKul
A Algoritma
B Struktur Data
B Struktur Data
C Orkom
D Metnum
E Web
F Jarkom
D Metnum
Menjadi:
Kd-MK MaKul
A Algoritma
B Struktur Data
C Orkom
D Metnum
E Web
F Jarkom
Keterangan : Data yang sama pada tabel sebelah kiri di buang, sehingga akan
menghasilkan tabel sebelah kanan
oooOooo