NORMALISASI
A.
Landasan
Teori
Normalisasi database biasanya jarang dilakukan dalam database skala kecil, dan dianggap
tidak diperlukan pada penggunaan personal. Namun sering dengan berkembangnya
informasi yang dikandung dalam sebuah database, proses normalisasi akan sangat
membantu dalam menghemat ruang yang digunakan oleh setiap tabel di dalamnya,
sekaligus mempercepat proses permintaan data. Berikut ini dipaparkan metodologi
logis sederhana untu menormalkan model data dalam sebuah database.
Proses
normalisasi model data dapat diringkas sebagai berikut :
o
Temukan
entitas-entitas utama dalam model data
o
Temukan
hubungan antara setiap entitas
o
Tentuan
atribut yang dimiliki masing-masing entitas
Normalisasi
model data dilakukan dengan mengikuti langkah-langkah sederhana, mengubahnya
agar memenuhi apa yang disebut sebagai bentuk normal pertama, kedua, lalu
ketiga secara berurutan.
Normalisasi merupakan suatu proses
untuk mengubah suatu tabel yang memiliki masalah tertentu ke dalam dua buah
tabel atau lebih yang tidak lagi memiliki masalah tersebut (Abdul Kadir, 2008).
Langkah-Langkah
Normalisasi
1.
Unnormalization
Form
Bentuk yang tidak
normal dimaksudkan suatu kumpulan data akan diolah yang diperoleh dari
format-format yang beraneka ragam, masih terdapat duplikasi, tidak sempurna
atau tidak lengkap, dan sesuai fakta lapangan. Bentuk ini didapat dari dokumen
yang ada di alapangan atau manual dengan atribut bukan nilai sederhana.
2.
Bentuk
Normal Pertama (1NF)
Suatu tabel dianggap normal ke satu (1NF) jika :
- Tidak terdapat baris yang bernilai ganda atau duplikat.
- Masing - masing baris bernilai tunggal dan tidak bernilai
null.
Langkah – langkah :
- Isikan setiap data bernilai tunggal dan tidak null
- Membuang perulangan data dalam satu baris dengan baris yang
lain.
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.
Gambar 1: Entitas pertama dalam contoh model data untuk database tugas matakuliah.
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).
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” menunjuk pada entitas jamak)
Gambar 2: Hubungan antara Tugas Matakuliah dan entitas baru, Kelas.
Sejauh ini tidak ada atribut entitas
yang memiliki nilai lebih dari satu, sehingga rasanya cukup aman mengatakan bahwa model ini memenuhi bentuk
normal pertama.
3.
Bentuk
Normal Kedua (2NF)
Bentuk normal kedua (2NF) terpenuhi jika :
- Harus telah berbentuk normal pertama (1NF).
- pada sebuah tabel semua atribut yang tidak termasuk dalam
primary key memiliki ketergantungan fungsional pada primary key secara utuh.
Suatu atribut dikatakan ketergantungan fungsional jika harga pada atribut
tersebut menentukan harga dari atribut yang lain. Misalnya, nim → mhs_nama.
Langkah – langkah :
- Jika terdapat atribut yang bergantung terhadap atribut
bukan kunci utama dan merupakan atribut kunci maka pecah menjadi table baru.
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 terlihat
bahwa 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).
Tentang Identifier
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 putus-putus atau tersamar.
Gambar 3: Ketiga entitas utama dalam model data dan hubungan antar masing-masing entitas.
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.
4. Bentuk
Normal Ketiga (3NF)
Bentuk normal ketiga (3NF) terpenuhi jika :
- Harus telah berbentuk normal kedua (2NF).
- Tidak terdapat anomali – anomali hasil dari ketergantungan transitif.
ketergantungan transitif adalah ketergantungan fungsional antara 2 atau lebih
atribut bukan kunci.
Langkah – langkah :
- Pastikan semua atribut non kunci bergantung penuh terhadap atribut
kunci.
- Pisahkan menjadi tabel baru jika menemukan ketergantungan
transitif dalam tabel tersebut.
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.
B.
Tujuan
1) Mahasiswa
memahami pengertian dan tujuan dari Normalisasi
2) Mahasiswa
memahami langkah-langkah dalam Normalisasi
C.
Hasil Praktikum
o
Buatlah
Normalisasi dari data berikut
o
Lakukan
Unnormalization form
o
Lakukan tahap
1NF
o
Lakukan tahap
2NF
o
Terakhir tahap
3NF
D.
Penutup
Kesimpulan
Dapat
disimpulkan dari praktiku kalai ini membahas tentang Normalisasi yang berarti suatu proses untuk mengubah suatu tabel yang memiliki masalah
tertentu ke dalam dua buah tabel atau lebih yang tidak lagi memiliki masalah
tersebut. dalam proses Normalisasi terdapat beberapa tahapan yaitu
Unnormalization form, Bentuk Normal Pertama (1NF), Bentuk Normal Kedua (2NF)
dan Bentuk Normal Ketiga (3NF). dari tahapa n tersebut data sudah dikatakan
normal apabila sudah mencapai pada tahapan Bentuk normal Ketiga (3NF).
Kritik
Tidak Ada
Saran
Tidak ada
E.
Daftar Pustaka
1) Raghu
Ramakrishnan, Johannes Gehrke. Sistem Manajemen Database, Edisi 3.Andi
Publisher : Jakarta.2004
2) 2003-2006 IlmuKomputer.Com
3) http://mufari.files.wordpress.com/2009/10/normalisasi-database.pdf
4) http://lecturer.eepis-its.edu/~ariv/Database/T07%20-%20Normalisasi%20Database.pdf
5) http://kesbangpol.kemendagri.go.id/files_uploads/NORMALISASI.pdf
6) http://b_lolita.staff.gunadarma.ac.id/Downloads/files/37803/NORMALISASI.pdf
7) http://leeput.files.wordpress.com/2008/11/sbdnormalized_12.pdf
8) http://blog.stie-mce.ac.id/sandynata/files/2009/06/adhi-database.pdf












Tidak ada komentar:
Posting Komentar