1. Normalisasi adalah proses pembentukan struktur basis data untuk menghilangkan ambiguity dengan membuat tabel-tabel yang memenuhi tingkat normal tertentu hingga tingkat ketiga (3NF) atau BCNF.
2. Normalisasi bertujuan menghilangkan redundansi data, meningkatkan integritas dan konsistensi data, serta mengoptimalkan struktur tabel basis data.
3. Proses normalisasi meliputi penguraian tabel berdasarkan fungsi dependensi antar atribut hingga
2. Normalisasi Basis Data (1)
Normalisasi adalah proses pembentukan struktur basis data sehingga
sebagian besar ambiguity bisa dihilangkan.
Tahap Normalisasi dimulai dari tahap paling ringan (1NF) hingga paling
ketat (6NF)
2
3. Normalisasi Basis Data (1)
Biasanya hanya sampai pada tingkat 3NF atau BCNF
(Boyce-Code Normal Form) karena sudah cukup
memadai untuk menghasilkan tabel-tabel yang
berkualitas baik.
3
4. ALASAN Normalisasi Subtansi
Adanya data yang menumpuk dalam satu DB.
Anolami data (keanehan).
Terjadi ambiguity / kebingungan sistem krn ada 2 data yg mirip.
Terjadi kekeliruan/ kesalahan pemanggilan data dalam record/ tabel.
4
5. ALASAN Normalisasi Teknis
1) Optimalisasi struktur-struktur tabel.
2) Meningkatkan kecepatan.
3) Menghilangkan pemasukan data yang sama.
4) Lebih efisien dalam penggunaan media penyimpanan.
5) Mengurangi redundansi/ duplikasi data.
6) Menghindari anomali (insertion anomalies, deletion anomalies,
update anomalies).
7) Integritas data yang ditingkatkan.
5
6. Normalisasi Basis Data (3)
Sebuah tabel dikatakan baik (efisien) atau normal jika
memenuhi 3 kriteria sbb:
1. Jika ada dekomposisi (penguraian) TABEL (ENTITAS / ATRIBUT), maka
dekomposisinya harus dijamin aman (Lossless-Join Decomposition).
Artinya, setelah tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel
baru, tabel-tabel baru tersebut bisa menghasilkan tabel semula dengan sama
persis.
2. Terpeliharanya ketergantungan fungsional pada saat perubahan data
(Dependency Preservation).
3. Tidak melanggar Boyce-Code Normal Form (BCNF)
6
7. Normalisasi Basis Data (4)
Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling
tidak tabel tersebut tidak melanggar Bentuk Normal tahap
ketiga (3rd Normal Form / 3NF).
7
8. Functional Dependency (1)
Functional Dependency menggambarkan hubungan attributes dalam
sebuah relasi.
Setiap tahapan normalisasi akan diterapkan functional depedency dan
menjadi syarat untuk melakukan normalisasi.
Suatu attribute dikatakan functionally dependant pada yang lain jika kita
menggunakan harga atribut tersebut untuk menentukan harga atribut
yang lain.
8
9. Functional Dependency (1)
Simbol yang digunakan adalah “” untuk mewakili functional
dependency.
“” dibaca “secara fungsional menentukan ....”
9
10. Functional Dependency (2)
Notasi: A B
A dan B adalah atribut dari sebuah tabel. Berarti secara fungsional A
menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris
data dengan nilai A yang sama, maka nilai B juga sama
Notasi: A B atau A x B
Adalah kebalikan dari notasi sebelumnya.
10
11. Functional Dependency (3)
Contoh tabel nilai
11
NIS* Mata Pelajaran NamaSiswa NilaiHuruf
1711001 Fisika Andri Ferdian A
1711002 Elektro Nugraha Adi B
1711003 Matematika Danar Mardian A
1711004 Bahasa Indonesia Nurul Shoefi C
1711005 Agama Dera Dwi C
1711006 Bahasa Inggris Rahmat Setiawan B
1711007 PPKN Dimas Muhamad A
12. Functional Dependency (4)
Functional Dependency dari tabel nilai
NIS NamaSiswa
Karena untuk setiap nilai NIS yang
sama, maka nilai NamaSiswa juga
sama
12
13. Functional Dependency (4)
Functional Dependency dari tabel nilai
{MataPelajaran, NIM} NilaiHuruf
Karena attribut NilaiHuruf tergantung pada
MataPelajaran dan NIS secara bersama-
sama. Dalam arti lain untuk MataPelajaran
dan NIS yang sama, maka NilaiHuruf juga
sama, karena MataPelajaran dan NIS
merupakan key (bersifat unik).
13
15. BENTUK NORMAL PERTAMA (First
Normal Form - 1NF)
Tidak diperbolehkan adanya :
Atribut yang bernilai banyak (Multivalued attribut). Contoh : Atribut hobi.
Seseorang mungkin bisa memiliki lebih dari 1 hobi.
Atribut komposit atau kombinasi. (Atribut yang masih bisa diuraikan lagi).
Contoh : Atribut alamat ada jalan/blok, kecamatan, kota/ kabupaten.
Jadi :
Harga domain atribut harus merupakan harga atomik atau Atribut
sederhana
Atribut sederhana ialah atribut yang tidak dapat dipilih lagi (1x pemakaian).
15
16. 1NF
Jika terjadi atribut bernilai banyak (Multivalued attribute) dan atribut
komposit. Hal pertama yang harus dilakukan ialah melakukan dekomposisi
tabel (baik entitas atau atribut).
Menjadi atribut yang bernilai sederhana (Atomik).
Pemecahan tabel bisa terjadi berulang – ulang sesuai kebutuhan.
16
17. Contoh (1) – Atribut bernilai banyak 17
NIS NamaSiswa Kelas Alamat
1711001 Anggun Ratna XI IPA 2 Jl. Pandawa No. 5 Gedebage, Kota Bandung
1711002 Rafi Budiman XI IPA 3 Perum Turtamulia No. 11 Soreang Kab.
Bandung
1711003 Tono Suratman XI IPA 4 Pondok Ciptamas No. 134 Cimahi Utara, Kota
Cimahi
1711004 Taufik Akbar XI IPS 1 Jl. Tatarningrum No. 28 Kotabaru
Parahyangan, Kab. Bandung Barat
1711005 Nisya Fina XI IPS 2 Jl. Zambrut No. 79 Ngamprah, Kab. Bandung
Barat
1711006 Lala Safitri XI IPS 3 Jl. Pancasila No. 12 Cimahi Selatan, Kota
Cimahi
Tabel tersebut tidak memenuhi 1NF dan perlu dilakukan Dekomposisi tabel
18. Contoh 1 – Dekomposisi 18
NIS NamaSiswa Kelas Alamat Jalan Alamat Kecamatan Alamat Kab/Kota
1711001 Anggun Ratna XI IPA 2 Jl. Pandawa No. 5 Gedebage Kota Bandung
1711002 Rafi Budiman XI IPA 3 Perum Turtamulia
No. 1
Soreang Kab. Bandung
1711003 Tono Suratman XI IPA 4 Pondok Ciptamas
No. 134
Cimahi Utara Kota Cimahi
1711004 Taufik Akbar XI IPS 1 Jl. Tatarningrum No.
28
Kotabaru
Parahyangan
Kab. Bandung
Barat
1711005 Nisya Fina XI IPS 2 Jl. Zambrut No. 79 Ngamprah Kab. Bandung
Barat
1711006 Lala Safitri XI IPS 3 Jl. Pancasila No. 12 Cimahi Selatan Kota Cimahi
19. Contoh (2) – Atribut komposit 19
NIS NamaSiswa Kelas Hobi
001 Ratu Shani XI IPS 2 Bernyani, berenang, memasak
002 Ahmad Falah XI IPS 3 Membaca, travelling, mancing
003 Fery Mulyadi XI IPS 4 Otomotif, futsal, balap sepeda
004 Resti Nurfadilah XI IPA1 Photographer, basket, hidroponik
005 Eka Pengestu XI IPA 2 Menggambar, menjahit, memahat
NIS NamaSiswa Kelas Hobi
001 Ratu Shani XI IPS 2 Berenang
002 Ahmad Falah XI IPS 3 Membaca
003 Fery Mulyadi XI IPS 4 Balap sepeda
004 Resti Nurfadilah XI IPA1 Hidriponik
005 Eka Pengestu XI IPA 2 Menggambar
HASIL DEKOMPOSISI
20. BENTUK NORMAL KEDUA (Second
Normal Form - 2NF) (1)
Bentuk normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi
bentuk 1NF, dan semua atribut selain primary key, secara utuh memiliki
Functional Dependency pada primary key
Sebuah tabel tidak memenuhi 2NF, jika ada atribut yang
ketergantungannya (Functional Dependency) hanya bersifat parsial saja
(hanya tergantung pada sebagian dari primary key)
20
21. BENTUK NORMAL KEDUA (Second
Normal Form - 2NF) (2)
Jika terdapat atribut yang tidak memiliki ketergantungan terhadap primary
key, maka atribut tersebut harus dipindah atau dihilangkan.
Ketergantungan fungsional X Y dikatakan penuh jika menghapus suatu
atribut A dari X berarti Y tidak lagi bergantung fungsional.
Ketergantungan fungsional X Y dikatakan partial jika menghapus
suatu atribut A dari X berarti Y masih bergantung fungsional.
Skema relasi R dalam bentuk 2NF jika setiap atribut non primary key A
R bergantung penuh secara fungsioanl pada primary key R.
21
22. Contoh (1)
Tabel berikut ini memenuhi 1NF, tetapi tidak termasuk 2NF
22
23. Contoh (1) 23
NIS NamaSiswa Alamat MaPel KodeMP Jam NilaiHuruf
001 Ririn Dwi Agustin Jl. Permata Fisika FS 3 C
002 Anggoro Nurcahyo Jl. Giok Biologi BI 2 A
003 Husni Sastramiharja Jl. Intan Sosiologi SO 3 B
004 Rita Rijayanti Jl. Berlian Sejarah SE 3 B
005 Caca Supriatna Jl. Zambrut PPKN PP 2 A
Tabel tersebut perlu didekomposisi menjadi beberapa tabel yang
memenuhi syarat 2NF
24. Contoh (2)
Tidak memenuhi 2NF, karena {NIS, KodeMP} yang dianggap sebagai
primary key karena FD – nya :
{NIS, KodeMP} NamaSiswa
{NIS, KodeMP} Alamat
{NIS, KodeMP} MaPel
{NIS, KodeMP} Jam
{NIS, KodeMP} NilaiHuruf
24
26. Contoh (5)
Sehingga :
fd1 (NIS, KodeMP, NilaiHuruf) Tabel
Nilai
fd2 (NIS, NamaSiswa, Alamat) Tabel
Siswa
fd3 (KodeMP, MaPel, Jam) Tabel Mata
Pelajaran
26
27. Contoh (6) 27
NIS KodeMP NilaiHuruf
001 FS C
002 BI A
003 SO B
004 SE B
005 PP A
NIS NamaSIswa NilaiHuruf
001 Ririn Dwi Agustin C
002 Anggoro Nurcahyo A
003 Husni Sastramiharja B
004 Rita Rijayanti B
005 Caca Supriatna A
KodeMP MaPel Jam
FS Fisika 3
BI Biologi 2
SO Sosiologi 3
SE Sejarah 3
PP PPKN 2
TABEL NILAI TABEL SISWA TABEL MATA PELAJARAN
28. BENTUK NORMAL KETIGA (Third
Normal Form - 3NF) (1)
Bentuk normal 3NF terpenuhi jika telah memenuhi bentuk 2NF,
dan jika tidak ada atribut non primary key yang memiliki
ketergantungan terhadap atribut non primary key yang lainnya
(ketergantungan transitif).
28
29. BENTUK NORMAL KETIGA (Third
Normal Form - 3NF) (2)
Untuk setiap Functional Dependency dengan notasi X A, maka:
X harus menjadi superkey pada tabel
tersebut.
Atau A merupakan bagian dari primary
key pada tabel tersebut.
29
30. BENTUK NORMAL KETIGA (Third
Normal Form - 3NF) (3)
Ketergantungan fungsional X Y dalam relasi R dikatakan
bergantung transitif jika terdapat kumpulan atribut Z
himpunan primary key R sehingga X Z dan Z Y.
30
31. Contoh (1)
Tabel mahasis berikut ini memenuhi syarat 2NF, tetapi tidak memenuhi
3NF
31
32. Contoh (2)
Karena masih terdapat atribut non primary key (yakni Kota dan
Provinsi) yang memiliki ketergantungan terhadap atribut non
primary key yang lain (yakni KodePos) :
KodePos {Kota, Provinsi}
32
33. Contoh (3)
Sehingga tabel tersebut perlu didekomposisi menjadi :
Mahasiswa (NIM, NamaMhs, Jalan, KodePos)
KodePos (KodePos, Provinsi, Kota)
33
36. Contoh Lain (2)
Setelah Normalisasi 1NF
Bentuk normalisasi 1 :
Suatu relasi memenuhi 1NF jika dan hanya jika setiap
atribut dari relasi tersebut hanya memiliki nilai tunggal
dalam satu baris atau record.
36
38. Contoh Lain (4)
Setelah Normalisasi 2NF
Bentuk normalisasi 2 :
Suatu relasi memenuhi 2NF
jika dan hanya jika :
1) Memenuhi 1NF.
2) Setiap atribut yang
bukan kunci utama
tergantung secara
fungsional terhadap
semua atribut kunci dan
bukan hanya sebagian
atribut.
38
39. Contoh Lain (4)
Setelah Normalisasi 3NF
Bentuk normalisasi 3 :
Suatu relasi memenuhi bentuk
3NF jika dan hanya jika :
1) Relasi tersebut memenuhi 2NF
2) Setiap atribut bukan kunci tidak
tergantung secara fungsional
ke atribut bukan kunci yang lain
dalam relasi tersebut
39