Kamis, 20 Januari 2011

Normalisasi Data

1.1 Latar Belakang
Basis data dapat diumpamakan sama dengan lemari arsip data. Dengan adanya basis data kita jadi lebih gampang untuk menyampaikan informasi yang tersimpan dalam lemari arsip data.
Penyampaian informasi melalui basis data selalu dibuat sesimpel dan seringkas mungkin serta tidak menhilangkan informasi yang ingin disampaikan. Bentuk penyampai informasi seperti ini biasanya dilakukan pada sebuah bentuk tabel yang disebut tabel Universal.
Tabel universal menyampaikan semua informasi yang ada seringkas mungkin dan tanpa menhilangkan satupun informasi. Tetapi kita sering tidak melihat data atau informasi yang tertera pada tabel Universal.
Supaya kita dapat melihat informasi yang tertera pada tabel universal sehingga tidak ada data yang tidak terbaca atau data tertambah, yang bukan merupakan sebuah data yang tertera pada tabel universal. Maka kita lakukan dengan cara menormalisasi data tersebut.
1.2 Tujuan
a. Agar kita memiliki basis data yang kompak dan efesien dalam penggunaan ruang penyimpanan
b. Agar cepat dalam pengaksesan data
c. Agar mudah dalam pemanipulasian data
d. Agar tidak terjadi pengulanggan data
e. Agar tidak ada data yang tersembunyi
1.3 Landasan Teori
Dalam merancang basis data kita dapat melakukannya dengan dua cara yaitu:
a. Menerapkan Normalisasi
b. Lansung membuat model entity-Relationship(E-R)
Normalisai sendiri merupakan cara pendekatan lain dalam membangun desain lojik basis data relasional yang tidak secara lansung berkaitan dengan model data, tetapi dengan menerapkan sejumlah aturan dan criteria standar untuk menghasilkan bentuk table yang normal. Namun demikian dalam pelaksanaannya desainlojik basis data relasional yag didasari baik leh prinsip normalisasi maupun yang didasari oleh transformasi secara berhati-hati dari model E-R ke bentuk fisik akan menghasilkan hasil yang mirip.
Dalam menormalisasi data kita memiliki beberapa tahap, diantaranya:
a. Kebergantungan Fungsional
b. Dekomposisi
c. Proses Normalisasi
a. Kebergantungan Fungsional
Kebergantungan Funsional berfungsi untuk :
• Menentukan satu nilai unik pada suatu atribut ditentukan oleh suatu nilai atribut lain
• Contohnya adalah : Seorang pegawai dengan IDPegawai mempunyai satu tglLahir dapat dipresentasikan dengan KF berikut:
• tglLahirIDPegawai
Keterangan:
 Sisi kiri adalah determinan (penentu)
 Nilai di determinan dapat menentukan hanya satu sisi kanan.
 Nilai IDPegawai menentukan satu nilai tglLahir
Ada tiga jenis Kebergantungan Fungsional
1. Saling Bergantung
Contoh Kebergantungan Fungsional Saling Bergantung : Jika satu proyek mempunyai satu manager dan masing-masing manager hanya mengelola satu proyek, maka dapat dipresentasikan sebagai berikut:
IDProyekManager
manajerIdproyek
Atau dapa disingkat
IDProyek Manager
2. Kebergantungan Lebih dari satu Atribut
Contoh Kebergantungan Fungsional lebih dari satu atribut. WaktuKeterlibatan pegawai disuatu proyek, ditentukan oleh IDPegawai dan IDProyek. Sehingga dapat dipresentasikan sebagai berikut:
waktuketerlibatanIDPegawai, IDProyek
3. Kebergantungan Funsional penuh
Kebergantungan Fungsional Penuh adalah dimana tidak ada atribut-atribut tak perlu yang berada disisi determinan (sisi kiri).
Contoh :
• tglLahirIDPegawai
• tglLahirIDPegawai, nama
Pada contoh yang kedua, nama tidak diperlukan untuk memperoleh tglLahir. IDPegawai telah mencukupi untuk memperoleh nilai tglLahir. Sehingga contoh yang pertama adalah Kebergantungan Fungsional Penuh dan contoh yang keduan bukan Kebergantunga Fungsional Penuh.
b. Dekomposisi
Dekomposisi yaitu melakukan pemilahan / pemisahan tabel menjadi beberapa tabel dengan mempertimbangkan KF yang telah didapat.
Dikomposisi dilakukan agar setiap tabel yang digunakan hanya memiliki satu KF saja.
Dekomposisi yang benar ( Lossless Dekompotition ) terjadi jika tabel hasil Dekomposisi digabungkan kembali dapat menghasilka tabel awal sebelum dikomposisi.
Contoh Dekomposisi:
Diberikan sebuah tabel ABC
Tabel ABC dikomposisi menjadi tabel AB, dan BC
c. Proses Normalisasi
Proses normalisasi dalam basis data adalah proses untuk memperoleh properti skema relasi yang bagus.
Keuntungan normalisasi :
Membuat sekecil mungkin terjadinya data rangkap
Menghindarkan adanya data yang tidak Konsisten bila dilakukan penghapusan atau penambahan data.
Menjamin bahwa key tabel secara tunggal sebagai determinan semua atribut.
Relasi (tabel) secara berurutatan diproses menjadi bentuk normal lebih tinggi yang memiliki redudansi lebih rendah.
Dalam proses menormalisasi data terdapat beragam tingkat bentuk normalisasi :
Bentuk Normal pertama (1NF)
Bentuk Normal Pertama ini dicapai bila tiap nilai atribut adalah tunggal ( bukan atribut turunan). Dan kondisi ini dapat diperoleh dengan melakukan eliminasi terjadinya data rangkap.
Bentuk Normal kedua (2NF)
Bentuk Norma kedua ini bukan utama harus bergantung fungsional penuh pada kunci relasi. Dan relasi harus telah berbentuk normal pertama.
Bentuk Normal ketiga (3NF)
Pada Bentuk Normal ketiga ini relasi telah berbetuk normal kedua, relasi ini tidak boleh memuat kebergantungan fungsional diantara atribut bukan utama dan bentuk ketiga ini menghilangkan kebergantungan transitif.