VI. NORMALISASI
Normalisasi merupakan cara
pendekatan dalam membangun desain logika basis data relasional yang tidak
secara langsung berkaitan dengan model data, tetapi dengan menerapkan sejumlah
aturan dan kriteria standar untuk menghasilkan struktur tabel yang normal. Pada
dasarnya desain logika basis data relasional dapat menggunakan prinsip
normalisasi maupun transformasi dari model E-R ke bentuk fisik (Kusrini, 2007).
Tujuan dari Normalisasi
1. Untuk
menghilang kerangkapan data
2. Untuk
mengurangi kompleksitas
3. Untuk
mempermudah pemodifikasian data
Proses Normalisasi
1. Data
diuraikan dalam bentuk table, selanjutnya dianalisis berdasarkan persyaratan
tertentu ke beberapa tingkat.
2. Apabila
table yang diuji belum memenuhi persyaratan tertentu, maka table tersebut perlu
dipecah menjadi beberapa table yang lebih sederhana sampai memenuhi bentuk yang
optimal.
Tahapan Normalisasi
Bentuk
Tidak Normal = Menghilangkan perulangan group
Bentuk
Normal Pertama (1 NF)= Menghilangkan Ketergantungan sebagian
Bentuk Normal Ketiga (3NF)= Menghilangkan
anomali-anomali hasil dari ketergantungan fungsional
Bentuk Normal Boyce-Codd (BCNF)= Menghilangkan
ketergantungan Multivalue
Bentuk Normal Keempat (4NF)= Menghilangkan
anomali-anomali yang tersisa
Bentuk Normal Kelima
Ketergantungan Fungsional :
Atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X (R.X
–> R.Y), jika dan hanya jika setiap nilai X pada relasi R mempunyai tepat
satu nilai Y pada R
Ketergantungan Fungsional Penuh
: Atribut Y pada relasi R dikatakan tergantung fungsional penuh pada atribut X
pada relasi R, jika Y tidak tergantung pada subset dari X (bila X adalah key
gabungan)
Ketergantungan Fungsional Transitif
: Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X, jika
atribut Y tergantung pada atribut X pada relasi R dan atribut Z
tergantung pada atribut Y pada relasi R. ( X –>
Y, Y –> Z, maka
X –> Z )
STUDI KASUS
Penerapan Bentuk
Normalisasi
Proses perancangan
basis data dapat dimulai dari dokumen dasar yang dipakai dalam sistem
sesungguhnya. Kadang-kadang basis data dibentuk dari sistem nyata yang
mempunyai bentuk masih belum menggambarkan entitas-entitas secara baik. Sebagai
contoh basis data yang dibangun dari daftar faktur pembelian sebagai berikut :
Langkah Pertama
Bentuklah menjadi tabel
Un-Normalized, dengan mencantumkan semua field data
yang ada.
Menuliskan semua data
yang akan direkam, bagian yang doubel tidak perlu dituliskan. Terlihat
record-record yang tidak lengkap, sulit untuk membayangkan bagaimana bentuk
record yang harus dibentuk untuk merekam data tersebut.
Langkah Kedua
Ubahlah menjadi bentuk
Normal Kesatu dengan memisahkan data pada field-field yang tepat dan bernilai
atomik, juga seluruh record harus lengkap datanya. Bentuk file masih flat.
Dengan bentuk Normal
Kesatu ini telah dapat dibuat satu file dengan 11 field yaitu No faktur, Kode
Suplier, Nama Suplier, Kode Barang, Nama Barang, Tanggal, Jatuh Tempo, Quntity,
Harga, Jumlah, Total.
Namun bentuk Normal
Kesatu ini mempunyai banyak kelemahan diantaranya yaitu :
•
Penyisipan data
Kode Suplier dan Nama
Suplier tidak bisa ditambahkan tanpa adanya transaksi pembelian.
•
Penghapusan data
Jika salah satu record
dihapus maka semua data yang ada di situ akan terhapus juga.
•
Pengubahan data
Data suplier ditulis
berkali-kali (Kode dan Nama). Jika suatu saat terjadi perubahan Nama suplier
maka harus mengganti semua record yang ada data supliernya. Bila tidak maka
akan terjadi inkonsistensi.
•
Redundansi
Field jumlah merupakan
redundansi karena setiap harga dikalikan kuantitas hasilnya adalah jumlah,
sehingga field ini dapat dibuang. Bila tidak maka dapat mengakibatkan
inkonsistensi jika terjadi perubahan harga.
Langkah Ketiga
Pembentukan Normal
Kedua dengan mencari field kunci yang dapat dipakai sebagai patokan dalam
pencarian dan yang mempunyai sifat yang unik. Melihat kondisi dari permasalahn
faktur di atas dapat diambil kunci kandidat sbb :
§ No
faktur
§ Kode
Suplier
§ Kode
Barang
Buatlah tiga tabel dengan kunci
tersebut, lihatlah kebergantungan fungsional field lain terhadap kunci, maka
didapatkan tabel sebagai berikut :
Dengan pemecahan seperti di atas maka
sebagian dari pertanyaan pengujian pada bentuk normal kesatu yaitu masalah
penyisipan, penghapusan dan pengubahan dapat dijawab. Data suplier dapat
ditambahkan kapan saja tanpa harus ada transaksi pembelian. Namun permasalahan
masih ada yaitu pada tabel nota.
§ Field
Kuantitas dan Harga tidak bergantung peenuh pada kunci primer nomor nota, ia
juga bergantung fungsi pada kode barang. Hal ini disebut sebagai kebergantungan
yang transitif dan harus dipisahkan dari tabel.
§ M
= redundansi masih terjadi, yaitu setiap kali satu nota yang terdiri dari 5
macam barang yang dibeli maka 5 kali pula nota dituliskan ke nomor nota,
tanggal nota, tempo dan total. Ini harus dipisahkan bila terjadi penggandaan
tulisan yang berulang-ulang.
Langkah Ke 4
Bentuk normal ketiga
mempunyai syarat setiap tabel tidak mempunyai field yang bergantung transitif,
harus bergantung penuh pada kunci utama. Maka terbentuklah tabel sebagai
berikut :
Langkah Ke-5
Pengujian di sini untuk
memastikan kebenaran isi tabel dan hubungan antara tabel tersebut. Ujian bahwa
setiap tabel haruslah punya hubungan dengan tabel yang lainnya. Bila tidak ada
penghubungan antar tabel maka dapat dikatakan perancangan untuk membuat satu
basis data adalah gagal.
Langkah Ke-6
Relasi Antar tabel
Gambarkan hubungan
relasi antar file yang ada sebagai berikut :
Pengertian relasi di
atas adalah
§ Satu
supplier punya banyak nota
§ Nota
punya relasi dengan suplier bukan sebaliknya suplier punya relasi terhadap
nota.
§ Satu
nota punya banyak transaksi barang
§ Satu
barang terjadi beberapa kali transaksi pembelian barang.
Langkah Ke-7
Permasalahan di atas
hanya terbatas pada satu dokumen Faktur pembelian barang, padahal pada
kenyataannya tentu faktur tersebut mempunyai dokumen pelengkap misalnya nota
penjualan barang, laporan stok barang, laporan penjualan, laporan pembelian dan
masih banyak lagi laporan dan dokumen data enty lainya.
Dengan langkah-langkah
perancangan seperti di atas maka diperoleh field-field untuk melengkapi
tabel-tabel yang ada dalam satu basis data. Misalnya tabel barang dengan
bertambahnya field yang lain menjadi :
SUMBER
:
riyanwae.files.wordpress.com/2009/05/normalisasi_ohp.doc
blog.unsri.ac.id/userfiles/09071003056(2).doc
Tidak ada komentar:
Posting Komentar