NORMALISASI
Secara umum konsep normalisasi adalah memecah ke dalam beberapa “bentuk normal”
Tujuan :
1) menghilangkan karakteristik tertentu yang tidak diinginkan pada rancangan basisdata
• Data Redudancy
• Update Anomaly, kesulitan dalam operasi update, insert, dan delete karna struktur basis data.
2) Memudahkan pengelolaan data
3) Menyediakan rancangan yang baik
Bentuk Normal 1 : menghilangkan semua nilai ganda (multivalued) atribut, sehingga hanya ada satu nilai dalam satu baris-kolom
Bentuk Normal 2 : menghilangkan partial functional dependencies
Bentuk Normal 3 : menghilangkan trasitive dependencies
Normalisasi : bentuk normal pertama( 1NF )
Syarat :
• Tidak ada set aribut yang berulang atau bernilai ganda, setiap atribut yang dimiliknya bersifat atomic (bernilai tunggal) untuk setiap baris.
• Telah ditentukannya primary key untuk tabel atau relasi.
• Tiap atribut hanya memiliki satu pengertian.
• Tiap atribut yang dapat memiliki banyak nilai sebenarnya menggambarkan entitas atau relasi yang terpisah.
Normalisasi : bentuk normal kedua( 2NF )
Syarat :
• Bentuk data telah memenuhi kriteria bentuk normal ke satu.
• Atribut bukan kunci (non - key atribut) haruslah memiliki ketergantungan fungsional sepenuhnya pada primary key.
• Kunci primer hanya mengandung satu atribut.
Normalisasi : bentuk normal ketiga( 3NF )
Syarat :
• Bentuk data telah memenuhi kriteria ke dua.
• Tidak boleh terdapat ketergantungan transitif terhadap kunci utama atau primary key.
CONTOH KASUS NORMALISASI
Kasus 1:
Entitas Mahasiswa Belum Ternormalisasi
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
|
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
|
Entitas Dosen belum Ternormalisasi
NIDN
|
NAMA DOSEN
|
MaKul_1
|
MaKul_2
|
MaKul_3
|
1078523
|
Riyanti Anjani
|
Algoritma
|
Struktur Data
|
Jarkom
|
1075047
|
Susan Savitri
|
Metnum
|
Web
|
-
|
1077021
|
Erwin Masadi
|
Jarkom
|
-
|
-
|
Entitas Dosen 1NF
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
|
Belum 1NF
nim
|
nama
|
Hobi1
|
Hobi2
|
1312
|
arfan
|
Masak
|
tidur
|
1312
|
arfan
|
berlari
|
main
|
1231
|
irfan
|
Minum
|
rampok
|
4343
|
urfan
|
makan
|
belajar
|
Bentuk 1NF
nim
|
nama
|
hobi
|
1312
|
arfan
|
Masak
|
1312
|
arfan
|
Tidur
|
1312
|
arfan
|
Berlari
|
1312
|
arfan
|
main
|
1231
|
irfan
|
minum
|
1231
|
irfan
|
rampok
|
4343
|
urfan
|
makan
|
4343
|
urfan
|
belajar
|
Kasus 3 :
Entitas Mahasiswa 1NF, Tidak Memenuhi 2NF
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
|
Primary Key (PK) : NIM
Atribut yang bergantung dengan PK :
• Nama
• Semester
Atribut yang tidak bergantung dengan PK :
• Matkul
• 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)
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
NIM
|
NAMA
|
Sem
|
201001
|
Andika Saputra
|
1
|
201002
|
Biyanti Anggie
|
3
|
201003
|
Naura Putri
|
5
|
Entitas Ambil_MK 2NF
Nim(FK)
|
Matkul
|
NIDN
|
NamaDosen
|
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
|
201003
|
Web
|
1075047
|
Susan Savitri
|
201003
|
Jarkom
|
1077021
|
Erwin Masadi
|
201003
|
Metnum
|
1075047
|
Susan Savitri
|
Note : 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
|
Nilai
|
20100001
|
13
|
TIF
|
MK001
|
85
|
20100002
|
11
|
TPS
|
MK002
|
80
|
20100003
|
11
|
TPS
|
MK002
|
90
|
Kd_jurusan bergantung pada Nim
Jurusan bergantung pada Kd_jurusan
MAKA
Jurusan bergantung transitif dengan Nim
Kasus 4 :
Entitas Ambil_MK 2NF, Tidak Memenuhi 3NF
Nim(FK)
|
Matkul
|
NIDN(PK)
|
NamaDosen
|
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
|
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, Matkul
Untuk memenuhi 3NF, Entitas Ambil_MK 2NF dipecah menjadi 2 Entitas, yaitu
• Entitas Dosen 3NF (NIDN, Nama Dosen)
• Entitas Ambil_MK 3NF (Nim, Matkul)
Entitas Dosen 3NF
NIDN(PK)
|
NamaDosen
|
1078523
|
Riyanti Anjani
|
1078523
|
Riyanti Anjani
|
1078523
|
Riyanti Anjani
|
1078523
|
Riyanti Anjani
|
1075047
|
Susan Savitri
|
1075047
|
Susan Savitri
|
1077021
|
Erwin Masadi
|
1075047
|
Susan Savitri
|
1075047
|
Susan Savitri
|
1077021
|
Erwin Masadi
|
1075047
|
Susan Savitri
|
NIDN(PK)
|
NamaDosen
|
1078523
|
Riyanti Anjani
|
1078523
|
Riyanti Anjani
|
1078523
|
Riyanti Anjani
|
Nim(FK)
|
Matkul
|
NIDN(PK)
|
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
|
201003
|
Web
|
1075047
|
201003
|
Jarkom
|
1077021
|
201003
|
Metnum
|
1075047
|
DENORMALISASI
Kebalikan dari Normalisasi
Tujuan :
1) Mempercepat Query
2) Mempermudah Query
Nanti tinggal di sesuaiin sama kebalikan dari Contoh Kasus diatas untuk upward sama downward!
Terimakasih telah berkomentar
EmoticonEmoticon