Anda di halaman 1dari 6

NORMALISASI DATABASE

Pengertian Normalisasi
Normalisasi merupakan sebuah upaya untuk memperoleh sebuah database dengan struktur
yang baik dengan cara menerapkan sejumlah aturan pada setiap tabel agar ruang penyimpanan
efisien. Istilah normalisasi dapat disederhanakan menjadi memecah relasi menjadi beberapa tabel
untuk mendapat database yang optimal

Istilah Penting dalam Teknik Normalisasi


Field / atribut kunci. Setiap file selalu terdapat kunci dari file berupa satu field atau satu
field yang dapat mewakili record.
Candidate key. Kumpulan atribut minimal yang secara unik mengidentifikasi sebuah baris
fungsinya sebagai calon primary key.
Composite key. Kunci kandidat yang berisi lebih dari satu atribut
Primary key. Candidate key yang dipilih untuk mengidentifikasi baris secara unik
Alternate key. Candidate key yang tidak dipilih sebagai primary key
Foreign key. Key di tabel lain yang terhubung dengan primary key pada sebuah tabel

3 Kriteria Suatu Tabel dikatakan Baik


1. Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman (LosslessJoin Decomposition). Artinya, setelah tabel tersebut diuraikan / didekomposisi menjadi tabeltabel 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) (-akan dijelaskan kemudian-)

Boyce-Code Normal Form (BCNF)


Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak tabel tersebut tidak
melanggar Bentuk Normal tahap ketiga (3rd Normal Form / 3NF).

Aturan normalisasi
1. Bentuk Normal Tahap Pertama (1st Normal Form / 1NF)
Mendefinisikan atribut kunci
Tidak adanya group berulang
Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi)

2. Bentuk Normal Tahap Kedua (2nd Normal Form / 2NF)


Sudah memenuhi dalam bentuk normal kesatu
Sudah tidak ada ketergantungan parsial, dimana seluruh field hanya tergantung pada sebagian
field kunci.
3. Bentuk Normal Tahap (3rd Normal Form / 3NF)
Sudah berada dalam bentuk normal kedua
Tidak ada ketergantungan transitif (dimana field bukan kunci tergantung pada field bukan kunci
lainnya).
4. Boyce-Code Normal Form (BCNF)
Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dependency terhadap
setiap atribut atau gabungan atribut dalam bentuk: X Y
tabel tersebut harus di-dekomposisi berdasarkan functional dependency yang ada, sehingga X
menjadi super key dari tabel-tabel hasil dekomposisi
Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF .
Perbedaannya, untuk functional dependency X A, BCNF tidak membolehkan A sebagai
bagian dari primary key.
5. Bentuk Normal Tahap (4th Normal Form / 4NF)
Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel
tersebut tidak boleh memiliki lebih dari sebuah multivalued atribute
Untuk setiap multivalued dependencies (MVD) juga harus merupakan functional dependencies
6. Bentuk Normal Tahap (5th Normal Form / 5NF)
Bentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuah lossless decomposition menjadi
tabel-tabel yg lebih kecil.
Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional dependency, 5NF dibentuk
berdasarkan konsep join dependence. Yakni apabila sebuah tabel telah di-dekomposisi menjadi
tabel-tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabel semula

Example
Perancangan Basis Data Peminjaman Buku Perpustakaan Pusat
1. Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat

2. Menentukan atribut-atribut key dari masing-masing himpunan entitas

3. Mengidentfikasi dan menetapkan seluruh himpunan relasi di antara himpunan entitas-himpunan


entitas yang ada beserta foreign key-nya

4. Normalisasi

Belum di Normalisasi
NIM

NAMA

Jur

Yudha

KodJu
r
H1

H1108

C2123

Maria

C2

Kedok

Math

KodBu
k
B4
A3
C6
D4
G6
H5

JudBuk

Ambil

Kembal
i
12-1-12
11-2-12
15-2-12
15-5-12
12-5-12
12-5-12

Java
Pascal
numerik
PDP
Anotomi
Fisiologi

2-1-12
1-2-12
5-3-12
4-5-12
5-5-12
6-5-12

KodBu
k
B4
A3
C6
D4
G6

JudBuk

Ambil

Java
Pascal
numerik
PDP
Anotom
i
Fisiolog
i

2-1-12
1-2-12
5-3-12
4-5-12
5-5-12

Kembal
i
12-1-12
11-2-12
15-2-12
15-5-12
12-5-12

6-5-12

12-5-12

Normalisasi bentuk 1 (1NF)


NIM

NAMA

KodJur Jur

H1108
H1108
H1108
H1108
C2123

Yudha
Yudha
Yudha
Yudha
Maria

H1
H1
H1
H1
C2

C2123

Maria

C2

Math
Math
Math
Math
Kedo
k
Kedo
k

H5

Normalisasi bentuk 2 (2NF)


Tabel buku
Kode Buku*
B4
A3
C6
D4
G6
H5

Judul buku
Java
Pascal
Numerik
PDP
Anotomi
Fisiologi

Tabel Peminjam
NIM
H1108
C2123

Nama
Yudha
Maria

Tabel Peminjaman
NIM
H1108
H1108
H1108
H1108

KodJur
H1
H1
H1
H1

KodJur
H1
C2

KodBuk
B4
A3
C6
D4

Jur
Math
Kedok

Ambil
2-1-12
1-2-12
5-3-12
4-5-12

Kembali
12-1-12
11-2-12
15-2-12
15-5-12

C2123
C2123

C2
C2

G6
H5

5-5-12
6-5-12

12-5-12
12-5-12

Normalisasi ke 3 (3NF)
Tabel Buku
KodBuk*
B4
A3
C6
D4
G6
H5

JudBuk
Java
Pascal
numerik
PDP
Anotomi
Fisiologi

Tabel Mhs
NIM*
H1108
C2123

Nama
Yudha
Maria

Tabel Jurusan
KodJur*
H1
C2

Jur
Math
Kedok

Tabel Tanggal
Ambil
2-1-12
1-2-12
5-3-12
4-5-12
5-5-12
6-5-12
Tabel Peminjaman
NIM
H1108
H1108
H1108
H1108
C2123
C2123

KodJur
H1
H1
H1
H1
C2
C2

Kembali
12-1-12
11-2-12
15-2-12
15-5-12
12-5-12
12-5-12
KodBuk
B4
A3
C6
D4
G6
H5

Ambil
2-1-12
1-2-12
5-3-12
4-5-12
5-5-12
6-5-12

Kembali
12-1-12
11-2-12
15-2-12
15-5-12
12-5-12
12-5-12

Anda mungkin juga menyukai