Normalisasi

·         Definisi Normalisasi
Normalisasi dapat diartikan sebagai suatu teknik yang menstrukturkan/ memecah/ mendekomposisi data dalam cara-cara tertentu untuk mencegah timbulnya permasalahan pengolahan data dalam bais data. Permasalahan yang dimaksud adalah berkaitan dengan penyimpangan-penyimpangan (anomallies) yang terjadi akibat adanya kerangkapan data dalam relasi dan inefisiensi pengolahan.
Proses normalisasi dikatakan akan menghasilkan relasi yang optimal, yaitu:
1.       Memiliki struktur record yang konsisten secara logik.
2.       Memiliki struktur record yang mudah untuk dimengerti.
3.       Memiliki struktur record yang sederhana dalam pemeliharaan.
4.       Memiliki struktur record yang mudah untuk ditampilkan kembali untuk memenuhi kebutuhan pemakai.
5.       Minimalisasi kerangkapan data guna meningkatkan kinerja sistem.
·         Level Normalisasi
Teori normalisasi dibangun menurut konsep level normalisasi. Bentuk normal suatu relasi dijelaskan berdasarkan kriteria tertentu pada bentuk normal. Berikut level-level normalisasi sekaligus penjelasannya.
1.       Relasi bentuk tidak normal (Un Normalized Form/ UNF)
Relasi yang dirancang tanpa mengindahkan batasan dalam definisi basis data dan karakteristik RDBM akan menghasilkan relasi UNF.
Kriteria relasi UNF :
-          Jika relasi mempunyai bentuk non flat file (terjadi akibat data yang disimpan sesuai dengan kedatangannya, sehingga tidak memiliki struktur yang sama/ tertentu, terjadi duplikasi atau bahkan tidak lengkap).
-          Jika relasi memuat set atribut berulang (non single value).
-          Jika relasi memuat atribut non atomic value).
2.       Relasi bentuk normal pertama (First Norm Form/ 1NF)
Kriteria relasi bentuk 1NF :
-          Jika seluruh atribut dalam relasi bernilai atomik 9atomic value).
-          Jika seluruh atribut dalam relasi bernilai tunggal (single value).
-          Jika relasi tidak memuat set atribut berulang.
-          Jika semua record mempunyai sejumlah atribut yang sama.
Permasalahan dalam 1NF :
-          Tidak dapat menyisipkan informasi parsial.
-          Terhapusnya informasi ketika menghapus sebuah record.
-          Pembaharuan atribut non kunci mengakibatkan sejumlah record harus diperbaharui.
Untuk mengubah relasi UNF menjadi 1NF, dapat dilakukan dengan cara berikut ini:
-          Melengkapi nilai-nilai dalam atribut.
-          Mengubah struktur relasi.
3.       Bentuk normal kedua (Second Norm Form/ 2NF)
Kriteria 2NF :
-          Jika memenuhi kriteria 1NF.
-          Jika semua atribut non kunci FD pada PK.
Permasalahan dalam 2NF :
-          Kerangkapan data (data redudancy).
-          Pembaharuan yang tidak benar dapat menimbulkan inkonsistensi data (data inconsisytency).
-          Proses pembaharuan data tidak efisien.
-          Penyimpangan/ permaslah pada saat penyisipan, penghapusan dan pembaharuan.
Relasi 2NF menuntut telah didenifikasikan atribut PK dalam relasi.
Untuk mengubah 1NF menjadi 2NF :
-          Identifikasikan FD relasi 1NF (jika perlu gambarlah diagran ketergantungan datanya.
-          Berdasarkan relasi tersebut, dekomposisi relasi 1NF menjadi relasi-relasi baru sesuai FD-nya. Jika menggunakan diagram, maka simpul-simpul yang berada pada puncak diagran ketergantungan data bertindak sebagai PK pada relasi baru.
4.       Bentuk normal ketiga (Third Norm Form/ 3NF)
Kriteria 3NF :
-          Jika memnuhi kriteria 2NF.
-          Jika setiap atribut non kunci tidak TDF (nontransitive depedency) terhadap PK.
Permaslahan dalam 3NF :
-          Keberadaan penentu yang tidak merupakan bagian dari PK menghasilkan duplikasi rinci data pada atribut yang berfungsi sebagai FK (duplikasi berbeda dengan kerangkapan data loh ya J ).
Untuk mengubah 2NF menjadi 3NF :
-          Identifikasikan TDF relasi 2NF.
-          Berdasarkan informasi tersebut, dekomposisi relasi 2NF menjadi relasi-relasi baru sesuai TDF nya.
5.       Bentuk normal Boyce-Cood (Boyce-Cood Norm Form/ BCNF)
Bentuk normal BCNF dikemukakan oleh R.F. Boyce dan E.F. Codd.
Kriterian BCNF :
-          Jika memenuh kriteria 3NF.
-          Jika semua atribut penentu (determinan) merupakan CK.
6.       Bentuk normal keempat (Forth Norm Form/ 4NF)
Kriteria 4NF :
-          Jika memnuhi kriteria BCNF.
-          Jika setiap atribut didalamnya tidak mengalami ketergantungan pada banyak nilai, maksudnya bahwa semua atribut yang mengalami ketergantungan pada banyak nilai adalah bergantung secara fungsional (functionally dependency).
7.       Bentuk norml kelima (Fifth Norm Form/ 5NF)
Kriteria 5NF :
-          Jika kerelasian antar data dalam relasi tersebut tidak dapat direkontruksi dari struktur relasi yang memuat atribut yang lebih sedikit.
8.       Bentuk normal kunci domain (Domain Key Norm Form/ DKNF)
Kriteria DKNF :
-          Jika setiap batasan dapat disimpulkan secara sederhana dengan mengetahui sekumpulan nama atribut dan domainnya selama menggunakan atribut pada kuncinya. Bentuk ini sangat spesifik, artinya tidak semua relasi dapat mencapai level ini.
Umumnya rancangan relasi dalam basis data telah optimal jika memenuhi kriteria bentuk 3NF. Level normalisasi ditentukan berdasarkan kriteria bentuk normal, bukan banyaknya langkah  menstrukturkn/ dekomposisi/ pemecahan sebuah relasi.
·         Efek Normalisasi
Penerapan Normalisasi mengakibatkan efek samping yang tidak diharapkan, yaitu :
a.       Proses dekomposisi relasi akan mengakibatkan munculnya duplikasi rinci data pada atribut kunci tamu (foreign key)
b.      Dekomposisi relasi membuka kemungkinan tidak terpenuhinya integritas referensial dalam basis data.
c.       Dekomposisi relasi akan menghasilkan semakin banyak jumlah relawan baru, sehingga mengakibatkan inefisiensi proses menampilkan kembali data-data dari dalam basis data.
d.      Adanya batasan penerapan pada beberapa DBMS untuk ukuran komputer pribadi/ PC, berkaitan dengan batas maksimal relasi yang dapat dibuka secara bersamaan.
Tugas Rumah 
Berdasarkan nota dibawah ini, buatlah bentuk normalisasinya!
Penyelesaian :
- Bentuk Un-Normalization
berdasarkan nota diatas, dapat dibentuk tabel unnormalization dengan memasukkan semua atribut yang ada pada nota, tanpa mengindahkan aturan-aturan dalam basis data. dalam tabel ini, masih banyak kolom yang kosong.

- Bentuk First Norm Form (1NF)
setelah bentuk un-normalization terbentuk, langkah selanjutnya adalah melengkapi nilai-nilai dalam atribut yang masih kosong.

- Bentuk Second Norm Form (2NF)
jika bentuk 1NF telah terpenuhi, kita bisa melanjutkan dengan memecah tabel pada 1NF menjadi dua tabel. kenapa hanya dua tabel?
kalau diperhatikan, pada tabel 1NF hanya ada dua atribut yang memungkinkan untuk dijadikan suatu primary key, yaitu id_transaksi dan id_barang.
semua atribut yang dirasa memiliki ketergantungan dengan id_barang dimasukkan dalam tabel barang. sedangkan atribut sisa, atau lebih tepatnya memiliki ketergantungan terhadap tabel transaksi dimasukkan dalam tabel transaksi.

- Bentuk Third Norm Form (3NF) 
 permaslahan dalam 3NF adalah keberadaan penentu yang tidak merupakan primary key menghasilkan duplikasi rinci data pada atribut yang berfungsi sebagai foreign key (ingat!!.. duplikasi berbeda dengan kerangkapan data).
dalam kasus ini, tabel transaksi dipecah lagi menjadi tabel. Secara keseluruhan dalam 3NF dapat dibentuk menjadi enam tabel, yaitu tabel barang, tabel pelanggan, tabel admin, tabel diskon, tabel transaksi, dan yang terakhir adalah tabel transaksi barang.
kenapa harus ada tabel transaksi barang?
apa bedanya dengan tabel transaksi?
jawabannya adalah...
pada tabel transaksi, tabel ini hanya bisa melakukan sekali transaksi dengan id_transaksi yang sama. dalam tabel transaksi tidak ada rincian nama-nama barang. sedangkan pada tabel transaksi barang ada atribut id_barang, jadi dalam tabel transaksi barang itu dimungkinkan ada beberapa id_transaksi yang sama. tapi terdapat rincian id_barang yang terlibat transaksi.
oiya,, dalam 3NF.. antar entitas harus sudah direlasikan.. seperti terlihat dalam gambar diatas.

Kesimpulan :
Normalisasi adalah suatu teknik yang membentuk, memecah, mendekomposisi data dalam cara-cara tertentu untuk mencegah timbulnya permasalahan pengolahan data dalam data base. Permasalahan yang dimaksukan disini bisa jadi berkaitan dengan penyimpangan-penyimpangan (anomallies) yang terjadi akibat adanya kerangkapan data dalam relasi dan inefisiensi pengolahan.
Langkah-langkah Normalisasi :
a. Un-Normalization
b. 1NF (first norm form)
c. 2NF (second norm form)
d. 3NF (third norm form)
e. BCNF (Boyce Codd norm form)
f. 4NF (forth norm form)
g. 5NF (fifth norm form)
h. DKNF (domain key norm form)
Namun pada umumnya, normalisasi hanya sampai kepada tahap 3NF, begitupun dalam kasus seperti tugas diatas..
normalisasi kasus diatas dapat diselesaikan / terbentuk tabel normal ketika sampai pada tahap ke 3NF.

Manfaat bagi pembaca :
Semoga postingan ini bisa dijadikan referensi dalam mempelajari normalisasi,,
Dan juga dapat membantu pembaca dalam menambah pemahaman lebih lanjut tentang normalisasi.

Kritik dan Saran
manusia adalah tempatnya lupa, salah dan khilaf,
apabila terdapat kesalahan, mohon komentarnya ya...
kan masih belajar :-D

Daftar pustaka :
Sutanta, edhy . 2004. Sistem basis Data Ed.I . Yogyakarta : Penerbit Graha Ilmu.
http://thedawak.files.wordpress.com/2011/05/normalisasi-database.docx



Komentar

Posting Komentar