Tempat Segala Ilmu Hacking dan Komputer dari A-Z

Search

Teknik Normalisasi LENGKAP beserta CONTOH



Normalisasi adalah teori pada databae yang ditemukan oleh seseorang yang bernama Dr. Codd. Dia menemukan teori ini sekitar tahun 1970. Teori normalisasi ini dapat membantu kita dalam membuat desain database yang baik dan mudah digunakan.

Desain database yang baik :

- Tidak ada anomali data
- Tidak ada redudansi data
- Saat melakukan Edit/Update/Delete tidak perlu menghapus data-data lainnya yang sebenarnya masih diperlukan

Bagaimana cara membuat desain database yang baik ? Ya tentunya dengan menggunakan teknik NORMALISASI.

Jenis normalisasi :

1. Normalisasi Pertama
2. Normalisasi Kedua
3. Normalisasi Ketiga
4. Normalisasi Boyce Codd
5. Normalisasi Keempat
6. Normalisasi Kelima

Namun, dalam kenyataannya apabila kita sudah mencapai normalisasi ketiga itu sudah termasuk baik. Maka dari itu pada postingan kali ini akan dijelaskan normalisasi dari pertama hingga ketiga.

Database Tidak Normal

Sebelum kita normalisasi mari kita ambil contoh database data pemesanan rumah makan yang tidak normal seperti berikut.

ID
Waktu
Nomeja
Namapemesan
Nama_makanan
Harga
Kateogorimakanan
1
9 sep 2017
A
Arif Budiman
Kerang goreng, ikan nila bakar
10000
seafood
2
9 sep 2017
A
Arif Budiman
Tempe
3000
Gorengan
3
9 sep 2017
A
Arif Budiman
Tahu
2500
Gorengan
4
9 sep 2017
A
Arif Budiman
Nasi Putih
3000
Nasi
5
9 sep 2017
A
Arif Budiman
Nasi Putih
3000
Nasi
6
9 sep 2017
A
Arif Budiman
Nasi Putih
3000
Nasi
7
9 sep 2017
A
Arif Budiman
Es teh
2000
Minuman
8
9 sep 2017
A
Budi Setiawan
Nasi goreng
10000
Nasi
9
9 sep 2017
A
Budi Setiawan
Nasi goreng
10000
Nasi
10
9 sep 2017
A
Budi Setiawan
Es jeruk
3000
Minuman

Dalam tabel tersebut terlihat bahwa banyak sekali data duplikat. Bahkan parahnya database tersebut hanya terdiri dari 1 TABEL.

Mengapa Kita Tidak Boleh Membuat Database Hanya 1 Tabel ? Baca Alasannya disini (beserta contoh)
Mengapa Kita Tidak Membuat 1 Tabel Dalam 1 Database Saja ?

Normalisasi Pertama atau 1NF

Syarat :
- Tidak ada grup-grup yang diulang
- Harus ada key di setiap tabel
- Semua data harus atomic
- Setiap baris harus unik

Proses Normalisasi :

ID
Waktu
Nomeja
Namapemesan
Nama_makanan
Harga
Kateogorimakanan
1
9 sep 2017
A
Arif Budiman
Kerang goreng
10000
seafood
2
9 sep 2017
A
Arif Budiman
Ikan nila bakar
10000
Seafood
3
9 sep 2017
A
Arif Budiman
Tempe
3000
Gorengan
4
9 sep 2017
A
Arif Budiman
Tahu
2500
Gorengan
5
9 sep 2017
A
Arif Budiman
Nasi Putih
3000
Nasi
6
9 sep 2017
A
Arif Budiman
Nasi Putih
3000
Nasi
7
9 sep 2017
A
Arif Budiman
Nasi Putih
3000
Nasi
8
9 sep 2017
A
Arif Budiman
Es teh
2000
Minuman
9
9 sep 2017
A
Budi Setiawan
Nasi goreng
10000
Nasi
10
9 sep 2017
A
Budi Setiawan
Nasi goreng
10000
Nasi
11
9 sep 2017
A
Budi Setiawan
Es jeruk
3000
Minuman

Nah tabel diatas adalah hasil dari normalisasi pertama. Bisa kita lihat bahwa pada kolom nama_makanan terdapat "kerang goreng, ikan nila bakar" dan itu harus dipisah agar data menjadi atomic. Data yang atomic adalah data yang hanya mempresentasikan 1 hal !
Kalau data tersebut berupa "kerang goreng, ikan nila bakar" maka data tersebut mempresentasikan 2 hal yaitu "kerang goreng" dan "ikan nila bakar" sehingga harus kita pisah dulu.

Normalisasi Kedua atau 2NF

Syarat :
- Harus sudah melalui normalisasi pertama(1NF)
- Kolom/atribut yang bukan kunci harus bergantung pada primary key

Proses Normalisasi : 


Bisa dilihat, banyak sekali perubahan yang terjadi setelah normalisasi kedua ini. Karena di setiap bagian akan dipecah-pecah menjadi beberapa tabel yang bisa Anda lihat pada gambar tersebut.

pada tabel tersebut juga ditambahkan beberapa kolom untuk memudahkan kita dalam melakukan edit,delete,menambah,membaca data(CRUD). Yang saya beri garis merah itu adalah relasi.

Silahkan dipelajari dulu pelan-pelan tabel tersebut hingga Anda mengerti.

Normalisasi Ketiga atau 3NF

Syarat :
- Harus sudah melalui normalisasi kedua(2NF)
- Tidak boleh ada ketergantungan transitif (kolom bukan kunci tidak boleh bergantung pada kolom bukan kunci lainnya)

Proses Normalisasi :
setelah dinormalisasi ketiga :

Bisa Anda lihat bahwa pada tabel makanan SEBELUMNYA, kolom seafood bergantung pada kolom nama. Betul ? padahal syarat yang ketiga adalah tidak boleh ada ketergantungan pada kolom bukan kunci dengan kolom bukan kunci lainnya sehingga hal ini harus diperbaiki.
Jadi database yang baru bisa Anda lihat diatas yaitu dengan menambahkan tabel bernama 'kategorimakanan' yang berelasi dengan tabel 'makanan'

Itu saja dari IHE, apabila Anda merasa bermanfaat silahkan shar eke teman-temanmu. !
Labels: Programming

Thanks for reading Teknik Normalisasi LENGKAP beserta CONTOH. Please share...!

0 Comment for "Teknik Normalisasi LENGKAP beserta CONTOH"

Back To Top