ARSIP BULANAN : November 2012

tugas 4

08 November 2012 20:31:05 Dibaca : 136

 

NORMALISASI DATABASE
 
 
 
Proses normalisasi pertama kali diperkenalkan oleh E.F.Codd pada tahun 1972. normalisasi sering dilakukan sebagai suatu uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi tersebut sudah baik atau masih melanggar aturan-aturan standar yang diperlakukan pada suatu relasi yang normal (sudah dapat dilakukan proses insert, update, delete, dan modify pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut).
       Proses normalisasi merupakan metode yang formal/standar dalam mengidentifikasi dasar relasi bagi primary keynya (atau candidate key dalam kasus BCNF), dan dependensi fungsional diantara atribut-atribut dari relasi tersebut. Normalisasi akan membantu perancang basis data dengan menyediakan suatu uji coba yang berurut yang dapat diimplementasikan pada hubungnan individualshingga skema relasi dapat di normalisasi ke dalam bentuk yang lebih spesifik untuk menghindari terjadinya error atau inkonsistansi data, bila dilakuan update tehadap relasi tersebut dengan Anomaly.
 

BEBERAPA DEFINISI NORMALISASI

  • ·         Normalisasi adalah suatu proses memperbaiki / membangun dengan model data relasional, dan                   secara umum lebih tepat dikoneksikan dengan model data logika.
  • ·         Normalisasi adalah proses pengelompokan data ke dalam bentuk tabel atau relasi atau file untuk menyatakan entitas dan hubungan mereka sehingga terwujud satu bentuk database yang mudah untuk dimodifikasi.
  • ·         Normalisasi dapat berguna dalam menjawab 2 pertanyaan mendasar yaitu: “apa yang dimaksud dengan desain database logical?” dan “apa yang dimaksud dengan desain database fisikal yang baik? What is phisical good logical database design?”.
  • ·         Normalisasi adalah suatu proses untuk mengidentifikasi “tabel” kelompok atribut yang memiliki ketergantungan yang sangat tinggi antara satu atribut dengan atrubut lainnya.
  • ·         Normalisasi bisa disebut jga sebagai proses pengelompokan atribut-atribut dari suatu relasi sehingga membentuk WELL STRUCTURED RELATION.

 

WELL STRUCTURED RELATION adalah sebuah relasi yang jumlah kerangkapan datanya sedikit (Minimum Amount Of Redundancy), serta memberikan kemungkinan bagi used untuk melakukan INSERT, DELETE, MODIFY, terhadap baris-baris data pada relasi tersebut, yang tidak berakibat terjadinya ERROR atau INKONSISTENSI DATA, yang disebabkan oleh operasi-operasi tersebut.

 

Contoh:

 

Terdapat sebuah relasi Mahasiswa, dengan ketentuan sebagai berikut.

  • Setiap Mahasiswa hanya boleh mengambil satu mata kuliah saja.
  • Setiap matakuliah mempunyai uang kuliah yang standar (tidak tergantung pada mahasiswa yang mengambil matakuliah tersebut).

 

Tabel 9.1 Relasi Kuliah

 

NIM             KODE-MTK               BIAYA

92130             CS-200                   75  

92200             CS-300                  100

92250             CS-200                   75

92425             CS-400                  150

92500             CS-300                  100

92575             CD-500                   50

  

 

Relasi Kuliah di atas merupakan sebuah relasi yang sederhana dan terdiri dari 3 kolom / atribut. Bila diteliti secara seksama, maka akan ditemukan redundancy pada datanya, dimana biaya kuliah selalu berulang pada setiap mahasiswa. Akibatnya besar kemungkinan terjadi error atau inkonsistensi data, bila dilakukan update terhadap relasi tersebut dengan Anomaly.

       Anomaly merupakan penyimpangan-penyimpangan atau error atau inkonsistensi data yang terjadi pada saat dilakukan proses delete, insert ataupun modify dalam suatu basis data. 

 

2. Langkah-Langkah Normalisasi

2.1. Bentuk Normal Pertama (1NF)

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.

Entitas utama untuk database tugas matakuliah tentu saja Tugas Matakuliah. Sebagian atribut

yang dimiliki entitas ini tertera dalam Gambar 1.

Atribut Nama Kelas mencantumkan kelas-kelas di mana tugas tersebut berlaku. Apabila

pendaftar untuk sebuah matakuliah melebihi kapasitas ruangan yang dimiliki fakultas, kebijakan

yang umum diambil Kepala Program Studi adalah membagi kegiatan perkuliahan untuk

matakuliah tersebut menjadi beberapa kelas. Karenanya atribut ini rentan memiliki nilai jamak,

dan lebih sesuai menjadi entitas baru atau atribut dari entitas lain. Untuk sementara kita

membuat entitas baru, Kelas, dimana sebagian atributnya berasal dari Tugas Matakuliah yang

secara logis lebih sesuai menjadi atribut entitas ini. Sementara itu, hampir semua atribut entitas

Tugas Matakuliah selain Nama Kelas memiliki nilai tunggal (dengan asumsi setiap matakuliah

diampu oleh satu dosen saja).

 

2.1.a Relasi Antar-Entitas dan Identifier

Masalah yang kita hadapi sekarang adalah menghubungkan Tugas Matakuliah dengan Kelas.

Satu tugas dapat diberikan pada beberapa kelas yang berbeda; dalam terminologi pemodelan

data, ini berarti antara entitas Tugas Matakuliah dan entitas Kelas terdapat relasi 1:N (atau 1-N)

untuk nilai N lebih dari satu. Cara paling intuitif untuk menghubungkan kedua entitas tersebut

adalah menyertakan identitas satu entitas sebagai atribut entitas lain. Identitas sebuah entitas

haruslah unik untuk menghindarkan ambiguitas saat akan merujuk pada satu objek khusus dari

entitas tersebut. Entitas Tugas Matakuliah akan menggunakan pengidentifikasi arbitrer berupa

angka yang berbeda antara satu objek Tugas Matakuliah dengan objek Tugas Matakuliah lain.

Entitas Kelas dapat diidentifikasi dengan matakuliah dan kode kelas yang bersangkutan,

sehingga kita cukup menambahkan atribut pengidentifikasi (identifier) dalam kedua entitas.

Entitas ini beserta semua atribut baru dan hubungannya dengan Tugas Matakuliah diperlihatkan

dalam Gambar 2, dengan menggunakan notasi relasi crows foot (dengan simbol “kaki gagak”

Gambar 1: Entitas pertama dalam contoh model data untuk database tugas matakuliah.

Artikel Populer IlmuKomputer.Com

Copyright ©2003- 2006 IlmuKomputer.Com

3

menunjuk pada entitas jamak).

Sejauh ini tidak ada atribut entitas yang memiliki nilai lebih dari satu, sehingga rasanya cukup

aman mengatakan bahwa model ini memenuhi bentuk normal pertama.

 

2.2. Bentuk Normal Kedua (2NF)

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.

Apabila kita perhatikan kembali model data yang telah kita hasilkan di atas, segera terlihatbahwa atribut dari entitas Kelas tidak sepenuhnya bergantung pada identitas unik Kelas tersebut.

Seorang dosen akan tetap ada meskipun kelas matakuliah yang ia ampu sudah tidak ada lagi.

Dalam hal ini, dosen adalah entitas tersendiri (yang nantinya dapat dilekatkan pada entitas

Fakultas atau Universitas bilamana kedua entitas tersebut dirasa perlu ada, tergantung pada

kebutuhan pemodelan data kita).

 

2.2.a Sekali Lagi, Tentang Identifier

Dalam dunia nyata, anggapan yang umum adalah seseorang (“individu”) dapat diidentifikasi

secara unik dengan namanya. Tentu saja anggapan ini tidak sepenuhnya benar, karena bisa saja

sebuah nama (bahkan satu rangkaian nama lengkap) dimiliki oleh lebih dari satu orang;

pemodelan data yang melibatkan informasi tentang individu jarang menggunakan nama

individu tersebut sebagai satu-satunya pengidentifikasi. Implementasi RDBMS tertentu juga

akan lebih cepat memproses query atas suatu tabel apabila tabel tersebut diindeks oleh nilai

integer unik daripada bila menggunakan indeks karakter (rangkaian karakter masih harus

diumpankan ke fungsi hash agar dapat digunakan sebagai indeks tabel, sementara untuk integer

unik tidak harus).

Karena beberapa alasan tersebut, entitas Dosen pada model data kita akan menggunakan

pengidentifikasi arbitrer berupa Nomor Induk Pegawai sebagaimana diperlihatkan dalam

Gambar 3. Dalam notasi crows foot, relasi non-identifying digambarkan dengan garis putusputus

atau tersamar.

Gambar 2: Hubungan antara Tugas Matakuliah dan entitas baru, Kelas.

Artikel Populer IlmuKomputer.Com

Copyright ©2003- 2006 IlmuKomputer.Com

4

Setelah atribut-atribut dari semua entitas dalam sebuah model data hanya bergantung pada

seluruh pengidentifikasi entitas yang memilikinya, model data tersebut dikatakan memenuhi

bentuk normal kedua.

2.3. Bentuk Normal Ketiga (3NF)

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.

Dalam model data sederhana yang kita gunakan di sini, tidak ada satupun atribut non-identifying

(seperti Deskripsi Tugas Matakuliah, atau Nama Dosen) yang bergantung pada atribut nonidentifying

lain. Namun demi adanya contoh, kita misalkan entitas Dosen memiliki atribut

informasi Alamat Rumah dan Nomor Telepon Rumah. Keduanya tidak dapat secara unik

mengidentifikasi objek tertentu dari entitas Dosen, namun keduanya saling bergantung.

Sebagaimana dalam dua langkah normalisasi sebelumnya, jenis kebergantungan seperti ini

dapat dihilangkan dengan membuat entitas baru lagi (yang tidak akan diciptakan karena tiga

entitas sudah cukup banyak untuk satu artikel).

Model terakhir yang kita dapat ini telah memenuhi bentuk normal ketiga (third normal form)

dan siap dikonversi menjadi tabel. Namun sebelumnya, kita perlu membahas berbagai jenis

relasi yang kerap ditemui dalam pemodelan data, termasuk yang kita temui dalam contoh model

data kali ini.

Gambar 3: Ketiga entitas utama dalam model data dan hubungan antar masing-masing entitas.

Artikel Populer IlmuKomputer.Com

Copyright ©2003- 2006 IlmuKomputer.Com