normalisasi basis data


Teknik Normalisasi

Normalisasi adalah suatu teknik yang menstrukturkan data dalam cara-cara tertentu untuk membantu mengurangi atau mencegah timbulnya masalah yang behubungan dengan pengolahan data dalam database. Proses normalisasi menghasilkan struktur record yang konsisten secara logik, yang mudah untuk dimengerti, dan sederhana dalam pemeliharaannya.

Ada beberapa macam penyimpangan-penyimpangan (anomalies) yang bisa terjadi akibat desain database yang tidak baik, penyimpangan-penyimpangan tersebut antara lain :

a.) Delete Anomaly
Delete anomaly merupakan suatu proses penghapusan suatu entity logik yang mengakibatkan hilangnya informasi tetang entity yang tidak direlasikan secara logik.

b.) Insert Anomaly
Insert anomaly yaitu suatu proses insert data entity logik yang memerlukan penggeseran data entity logiknya.

c.) Update Anomaly
Update anomaly merupakan suatu proses update data pada suatu entity logik yang mengakibatkan perubahan pada lebih dari satu tempat dalam satu relasi.

Pada proses normalisasi selalu diuji beberapa kondisi seperti : apakah ada kesulitan pada saat menambah (insert), menghapus (delete), mengubah (update), dan membaca (retrive) pada suatu database.

Sebelum mengenal lebih jauh tentang normalisasi, ada beberapa konsep yang perlu diketahui lebih dahulu, antara lain :

a.) Field/Atribut Kunci (Key Field)
Setiap file selalu terdapat kunci dari file yang berupa suatu field atau satu set field yang dapat mewakili record yang ada.
Jika satu kunci terdapat lebih dari satu atribut, maka biasanya disebut dengan kunci campuran/ gabungan (Composite Key).

b.) Kunci Kandidat (Candidate Key)
Merupakan satu atribut atau satu set minimal atribut yang mengidentifikasikan secara unik suatu kejadian specific dari entity.

c.) Kunci Primer (Primary Key)
Kunci primer merupakan satu atribut atau satu set minimal atribut yang tidak hanya mengidentifikasi secara unik suatu kejadian specific, tetapi juga dapat mewakili setiap kejadian dari suatu entity.

d.) Kunci Alternatif (Alternate Key)
Adalah kunci kandidat yang tidak dipakai sebagai primary key.

e.) Kunci Tamu (Foreign Key)
Yaitu suatu atribut atau set minimal atribut yang melengkapi satu hubungan/relasi yang menunjukan ke induknya.
Dalam hal relasi dua buah file yang mempunyai hubungan many to many maka terdapat dua buah kunci tamu pada file konektornya.

f.) Ketergantungan Fungsi (Functional Dependence)
Definisi dari Functional Dependence adalah :
Diberikan sebuah relasi R, atribut Y dan R adalah bergantung fungsi pada atribut X dari R jika dan hanya jika setiap nilai X dalam R punya hubungan dengan tepat suatu nilai Y dalam R (dalam setiap satu waktu).

g.) Ketergantungan Transitif (Transitive Dependence)
Definisi dari keterangan taransitif adalah :
Jika A,B dan C ada dalam satu record dan A tergantung pada B serta B tergantung pada C, maka A tergantunga pada C secara transitif.

Setelah memahami konsep-konsep diatas, maka berikutnya perlu juga diketahui definisi dari tiap-tiap tahap normalisasi, dimana tahap-tahap tersebut sebagai berikut :

a.) Bentuk Tidak Normal (Unnormalized Form)
Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti format tertentu.

b.) Bentuk Normal Kesatu (1NF/First Norm Form)
Suatu relasi dikatakan dalam bentuk normal kesatu jika ralasi tersebut tidak mengandung group berulang (repeating group).

c.) Bentuk Normal Kedua (2NF/Second Norm Form)
Suatu relasi dikatakan dalam bentuk normal kedua jika relasi tersebut dalam bentuk normal kesatu dan seluruh atribut yang bukan kunci primer tergantung secara fungsional penuh pada kunci primernya.

d.) Bentuk Normal Ketiga (3NF/Third Norm Form)
Suatu relasi dikatakan dalam bentuk normal ketiga jika relasi tersebut dalam bentuk normal kedua dan setiap atributnya tidak tergantung secara transitif terhadap kunci primernya.

e.) Bentuk Normal Keempat (4NF/Fourth Norm Form)
Suatu relasi dikatakan dalam bentuk normal keempat jika relasi tersebut dalam bentuk normal ketiga dan seluruh atribut bukan kunci primer tidak tergantung bernilai banyak pada kunci primernya (multivalued dependence).

Proses perancangan database dapat dimulai dari dokumen dasar yang dipakai dalam system. Langkah-langkah dalam perancangan ini meliputi :

a.) Membentuk sebuah relasi unnormalized.
Semua filed dibuat dalam satu table.
b.) Mengubah relasi unnormalized kedalam bentuk normal kesatu dengan cara memisahkan group berulang kedalam relasi baru, kemudian kunci primernya adalah berupa kunci gabungan dari kunci primer relasi awal ditambah dengan atribut kunci group berulang.
c.) Mengubah bentuk normal kesatu menjadi bentuk normal kedua dengan cara memisahkan atribut-atribut yang tergantung hanya pada sebagian kunci gabungan kedalam relasi baru dengan disertakan atribut kunci yang mengidentifikasikannya sebagai kunci primer relasi yang baru tersebut.
d.) Mengubah bentuk normal kedua kedalam bentuk normal ketiga dengan cara memisahkan atribut yang mempunyai ketergantungan transitif kedalam relasi baru dengan disertakan atribut yang mengidentifikasikannya sebagai kunci primer relasi yang baru tersebut.

e.) Mengubah bentuk normal ketiga kedalam bentuk normal keempat dengan cara memisahkan atribut yang mempunyai ketergantungan nilai banyak kedalam bentuk relasi baru, kemudian kunci primernya adalah kunci gabungan dari kunci primer relasi asal ditambah dengan atribut yang bersangkutan yang dikenal dengan istilah kunci soliter (solitary key).
f.) Gambarkan hubungan antar table relasi yang ada

Contoh diambil dari order pembelian
Langkah-langkah teknik normalisasi :

1. Unnormal
No order tgl No cust Nm cust Almt cust No brg Nm brg Byk brg Hrg sat Jum Tot Pengirim Penerima

Group Berulang

Ket :
Group berulang dimana data value dapat diisi lebih dari 1 kali dalam satu formulir, dalam kasus ini dapat anda lihat dari no barang sampai jumlah adalah group berulang. Maka dapat kita simpulkan maka unnormal ini belum otomatis normal pertama (INF), tetapi jika field dalam satu formulir hanya mengidentifikasi satu nilai saja (group tidak berulang) maka secara otomatis table tersebut sudah normal ke 1.

2. 1NF
No order Tgl No cust Nm cust Almt cust Tot Pengirim Penerima

No brg + no order Nm brg Byk brg Hrg sat jum

3. 2NF
Table pertama sudah normal ke 1, tetapi pada table ke 2 belum normal ke 2 karena nm brg dan hrg sat tergantung hanya pada separuh primary key yaitu tergantung pada no brg mak harus dipisahkan.

Table order
No order Tgl No cust Nm cust Almt cust Tot Pengirim Penerima

Table trans
No brg + no order Byk brg jum

Table brg
No brg Nm brg Hrg sat

4. 3NF
Pada tabelorder belum normal ke 3, karena nama cust dan alamat cust tidak tergantung pada nomor order, tetapi ia tergantung pada no cust maka table tersebut belum normal ketiga, karena adanya ketergantungan transitif maka harus dipisah, adapun pada table trans dan table brg sudah tidak ada ketergantungan transitif maka otomatis sudah normal ke 3.

Tabel order
No order Tgl No cust Tot Pengirim Penerima

Table cust
No cust Nm cust Almt cust

Table trans
No brg + no order Byk brg jum

Table brg
No brg Nm brg Hrg sat

5. 4NF
Karena masing-masing primary key hanya mengidentifikasi satu data value maka secara otomatis table diatas sudah normal ke 4.

6. Hasil Akhir

Table Order
No order Tgl No cust Tot Pengirim penerima

Table cust
No cust Nm cust Almt cust

Table trans
No brg + no order Byk brg jum

Table brg
No brg Nm brg Hrg sat

Tinggalkan komentar

Filed under Uncategorized

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s