Normalisasi
This blog contains about Normalisasi
Normalisasi
Normalisasi merupakan sebuah teknik logical desain dalam sebuah basis data yang mengelompokkan atribut dari berbagai entitas dalam suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi/pengulangan data) serta sebagian besar ambiguity bisa dihilangkan.
Atau pengertian singkatnya, Normalisasi Databse adalah proses pengelompokan atribut data yang membentuk entitas sederhana, nonredundan, fleksibel, dan mudah beradaptasi, Sehingga dapat dipastikan bahwa database yang dibuat berkualitas baik.
Normalisasi database terdiri dari banyak bentuk, dalam ilmu basis data ada setidaknya 9 bentuk normalisasi yang ada yaitu 1NF, 2NF, 3NF, EKNF, BCNF, 4NF, 5NF, DKNF, dan 6NF. Normalisasi database biasanya jarang dilakukan dalam database skala kecil, dan dianggap tidak diperlukan pada penggunaan personal. Namun seiring dengan berkembangnya informasi yang dikandung dalam sebuah database, proses normalisasi akan sangat membantu dalam menghemat ruang yang digunakan oleh setiap tabel di dalamnya, sekaligus mempercepat proses permintaan data.
Tujuan normalisasi database adalah untuk mengurangi pengulangan data, memastikan data berada di posisi yang tepat, tidak adanya sejumlah data yang masuk ke database, adanya penghapusan data yang tidak sesuai dan data yang diubah tidak sesuai keinginan.
Ada beberapa tahapan normalisasi database yang perlu dilakukan agar hasilnya sesuai dan baik, yaitu:
- Unnormalized Form (UNF). UNF adalah bentuk data yang tidak normal karena adanya pengulangan grup pada data, sehingga menjadi masalah saat akan manipulasi data.
- First Normal Form (1NF). 1NF adalah bentuk normalisasi untuk mengelompokkan beberapa data sejenis untuk mengatasi masalah anomali. Sebuah model data dikatakan memenuhi bentuk normal pertama apabila setiap atribut yang dimilikinya memiliki satu dan hanya satu nilai. Apabila ada atribut yang memiliki nilai lebih dari satu, atribut tersebut adalah kandidat untuk menjadi entitas tersendiri.
- Second Normal Form (2NF). 2NF adalah bentuk kedua yang melakukan dekomposisi tabel untuk mencari kunci primer dari setiap tabel. Sebuah model data dikatakan memenuhi bentuk normal kedua apabila ia memenuhi bentuk normal pertama dan setiap atribut non-identifier sebuah entitas bergantung sepenuhnya hanya pada semua identifier entitas tersebut.
- Third Normal Form (3NF). 3NF adalah bentuk normalisasi data yang tidak boleh ada atribut yang bergantung pada field lain dan bukan pada kunci primer, sehingga atribut itu harus dipisah ke tabel baru. Sebuah model data dikatakan memenuhi bentuk normal ketiga apabila ia memenuhi bentuk normal kedua dan tidak ada satupun atribut non-identifying (bukan pengidentifikasi unik) yang bergantung pada atribut non-identifying lain. Apabila ada, pisahkan salah satu atribut tersebut menjadi entitas baru, dan atribut yang bergantung padanya menjadi atribut entitas baru tersebut.
- Code Normal Form (BCNF). BCNF adalah bentuk normalisasi yang bertujuan untuk mengatasi anomali dan over looping yang tidak bisa diatasi dalam bentuk 3NF.
- Fifth Normal Form (5NF). 5NF adalah tahapan untuk mengatasi terjadinya joint dependent sehingga terjadi pemecahan relasi menjadi dua.
Contoh normalisasi database
a.1NF (Bentuk Normal Pertama)
Misalkan kita memiliki sebuah tabel berikut ini yang berisi data pelanggan:
| ID Pelanggan | Nama Pelanggan | Alamat | Nomor Telepon |
|---|---|---|---|
| 1 | John Doe | Jl. Sudirman 123 | 081234567890 |
| 2 | Jane Smith | Jl. Gatot Subroto 456 | 085678912345 |
| 3 | Bob Lee | Jl. Hayam Wuruk 789 | 082345678901 |
| 4 | Alice Johnson | Jl. Asia Afrika 101 | 081234567890 |
| ID Pelanggan | Nama Pelanggan | Alamat | Nomor Telepon |
|---|---|---|---|
| 1 | John Doe | Jl. Sudirman 123 | 081234567890 |
| 2 | Jane Smith | Jl. Gatot Subroto 456 | 085678912345 |
| 3 | Bob Lee | Jl. Hayam Wuruk 789 | 082345678901 |
| 4 | Alice Johnson | Jl. Asia Afrika 101 | 081234567890 |
| ID Pelanggan | Nama Pelanggan | Alamat |
|---|---|---|
| 1 | John Doe | Jl. Sudirman 123 |
| 2 | Jane Smith | Jl. Gatot Subroto 456 |
| 3 | Bob Lee | Jl. Hayam Wuruk 789 |
| 4 | Alice Johnson | Jl. Asia Afrika 101 |
| ID Pelanggan | Nomor Telepon |
|---|---|
| 1 | 081234567890 |
| 2 | 085678912345 |
| 3 | 082345678901 |
| 4 | 081234567890 |
b. 2NF (Two Normal Form)
Berikut adalah contoh bentuk normal kedua dengan data dari 1NF dan kunci utama kolom tunggal yang tidak bergantung secara fungsional pada subset manapun dari relasi kunci kandidat dengan tabel baru untuk identitas member.
c. 3NF (Three Normal Form)
Berikut adalah contoh bentuk normal ketiga dengan memisahkan tabel baru untuk panggilan.
d. BCNF (Code Normal Form)
BCNF (Boyce-Codd Normal Form) adalah bentuk normalisasi database yang lebih ketat daripada bentuk normalisasi yang lebih rendah seperti 1NF, 2NF, dan 3NF. Untuk mengubah suatu tabel ke dalam BCNF, tabel tersebut harus memenuhi dua persyaratan yaitu:
- Setiap atribut harus sepenuhnya bergantung pada kunci utama tabel, atau
- Setiap atribut harus sepenuhnya bergantung pada kunci utama tabel, atau
| Kode_Produk | Nama_Produk | Kategori | Harga | Stok |
|---|---|---|---|---|
| 001 | Sepatu | Fashion | 200.000 | 10 |
| 002 | Buku | Buku | 50.000 | 20 |
| 003 | Topi | Fashion | 30.000 | 5 |
| 004 | Kemeja | Fashion | 100.000 | 15 |
| 005 | Mouse | Elektronik | 80.000 | 8 |
| Kode_Produk | Nama_Produk | Harga | Stok |
|---|---|---|---|
| 001 | Sepatu | 200.000 | 10 |
| 002 | Buku | 50.000 | 20 |
| 003 | Topi | 30.000 | 5 |
| 004 | Kemeja | 100.000 | 15 |
| 005 | Mouse | 80.000 | 8 |
| Kategori | Kode_Produk |
|---|---|
| Fashion | 001 |
| Buku | 002 |
| Fashion | 003 |
| Fashion | 004 |
| Elektronik | 005 |
e. 4NF (Fourth Normal Form)
4NF (Fourth Normal Form) adalah bentuk normalisasi database yang lebih ketat daripada bentuk normalisasi yang lebih rendah seperti 1NF, 2NF, dan 3NF. Untuk mengubah suatu tabel ke dalam 4NF, tabel tersebut harus memenuhi dua persyaratan yaitu:
- Tabel harus sudah dalam bentuk 3NF
- Tabel tersebut tidak memiliki ketergantungan multivalued yang tidak terdapat dalam kunci utama.
| NIM | Nama | Jurusan | Hobi |
|---|---|---|---|
| 001 | Andi | Teknik | Renang, Musik |
| 002 | Budi | Ekonomi | Membaca, Futsal, Musik |
| 003 | Cici | Teknik | Belanja, Renang |
| 004 | Dedi | Hukum | Futsal, Musik |
| NIM | Nama | Jurusan |
|---|---|---|
| 001 | Andi | Teknik |
| 002 | Budi | Ekonomi |
| 003 | Cici | Teknik |
| 004 | Dedi | Hukum |
| NIM | Hobi |
|---|---|
| 001 | Renang |
| 001 | Musik |
| 002 | Membaca |
| 002 | Futsal |
| 002 | Musik |
| 003 | Belanja |
| 003 | Renang |
| 004 | Futsal |
| 004 | Musik |
e. 5NF (Fifth Normal Form)
Contoh normalisasi ke 5NF mungkin sulit ditemukan karena 5NF tidak selalu diperlukan dalam struktur basis data yang umum. Namun, mari kita lihat contoh hipotetis untuk melihat bagaimana sebuah basis data dapat dinormalisasi ke dalam 5NF.
| ID | Judul Buku | Nama Penulis | Penerbit | Kota Penerbit | Negara Penerbit |
|---|---|---|---|---|---|
| 1 | Harry Potter dan Batu Bertuah | J.K. Rowling | Gramedia | Jakarta | Indonesia |
| 2 | The Da Vinci Code | Dan Brown | Gramedia | Jakarta | Indonesia |
| 3 | The Lord of The Rings | J.R.R. Tolkien | HarperCollins | London | Inggris |
| ID | Judul Buku |
|---|---|
| 1 | Harry Potter dan Batu Bertuah |
| 2 | The Da Vinci Code |
| 3 | The Lord of The Rings |
| ID | Nama Penulis |
|---|---|
| 1 | J.K. Rowling |
| 2 | Dan Brown |
| 3 | J.R.R. Tolkien |
| ID | Nama Penerbit | Kota Penerbit | Negara Penerbit |
|---|---|---|---|
| 1 | Gramedia | Jakarta | Indonesia |
| 2 | HarperCollins | London | Inggris |
| ID_Buku | ID_Penulis |
|---|---|
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| ID_Buku | ID_Penerbit |
|---|---|
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
.jpg)


Komentar
Posting Komentar