Sunday, February 17, 2019

Konsep Basis Data NORMALISASI DAN DENORMALISASI



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
Kasus 2 :
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
Proses menuju 2NF untuk Entitas Mahasiswa
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
Ketergantungan Transitif :

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
Menjadi
NIDN(PK)
NamaDosen
1078523
Riyanti Anjani
1078523
Riyanti Anjani
1078523
Riyanti Anjani
Entitas Ambil_MK 3NF
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
Catatan : Agar tidak terputus relasi antara entitas dosen 3NF dan entitas Ambil_MK 3NF, maka perlu ditambahkan atribut penghubungnya, yaitu NIDN
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