NORMALISASI
Proses normalisasi menyediakan cara sistematis untuk meminimalkan
terjadinya kerangkapan data diantara relasi dalan perancangan logikal basis
data. Normalisasi merupakan proses
pengelompokan elemen data menjadi tabel–tabel yang menunjuk-kan entity dan relasinya.
Normalisasi adalah proses pengelompokan atribute-atribute dari suatu relasi
sehingga membentuk WELL STRUCTURE RELATION.
Well Structure
Relation
Adalah sebuah relation yang jumlah kerangkapan datanya sedikit (minimum
Amount Of Redundancy), serta memberikan kemungkinan bagi user untuk melakukan
INSERT, DELETE, dan MODIFY terhadap baris-baris data pada relation
tersebut, yang tidak berakibat terjadinya ERROR atau INKONSESTENSI DATA, yang
disebabkan oleh operasi –operasi tersebut
Contoh :
Terdapat sebuah relation Course, dengan ketentuan sbb:
Ø Setiap mahasiswa hanya boleh mengambil satu matakuliah saja.
Ø Setiap matakuliah mempunyai uang kuliah yang standar (tidak tergantung pada
mahasiswa yang mengambil matakuliah tsb.
RELATION COURSE
Relation di atas merupakan sebuah relation yang
sederhana dan terdiri dari 3 kolom/atribute
Bila diteliti secara seksama, maka akan ditemukan redundancy pada datanya,
dimana biaya kuliah selalu berulang pada setiap mhs. Akibatnya besar
kemungkinan terjadi Error atau inkonsistensi data, bila dilakukan update
terhadap relation tsb yang disebut dengan Anomali. Anomali Merupakan
penyimpangan-penyimpangan atau Error atau Inkonsistensi data yang terjadi pada
saat dilakukan proses insert, delete ataupun modify.
Terdapat 3 jenis Anomali :
1. Insertion Anomali
Error yang terjadi sebagai akibat operasi insert
record/tuple pada sebuah relation
Contoh :
Ada matakuliah baru (CS-600) yang akan diajarkan, maka
matakuliah tsb tidak bisa di insert ke dalam relation tsb sampai ada mhs yang
mengambil matakuliah tsb.
2. Delettion Anomali
Error yang terjadi sebagai akibat operasi delete
record/tuple pada sebuah relation
Contoh :
Mhs dengan student-id 92-425, memutuskan untuk batal
ikut kuliah CS-400, karena dia merupakan satu-satunya peserta matakuliah tsb,
maka bila record/tuple tsb didelete akan berakibat hilangnya informasi bahwa
mata-kuliah CS-400, biayanya 150
3. Update Anomali
Error yang terjadi sebagai akibat inkonsistensi data
yang terjadi sebagai akibat dari operasi update record/tuple dari sebuah
relation
Contoh :
Bila biaya kuliah untuk matakuliah CS-200 dinaikan
dari 75 menjadi 100, maka harus dilakukan beberapa kali modifikasi terhadap
record-record, tuple-tuple mhs yang mengambil matakuliah CS-200, agar data
tetap konsisten Berdasarkan teori normalisasi, relation course dipecah
menjadi 2 relation terpisah , sbb
Proses normalisasi adalah proses pengelompokan data elemen menjadi
tabel-tabel yang menunjukkan entity dan relasinya. Pada proses normalisasi
dilakukan pengujian pada beberapa kondisi apakah ada kesulitan pada saat
menambah/menyisipkan, menghapus, mengubah dan mengakses pada suatu basis data.
Bila terdapat kesulitan pada pengujian tersebut maka perlu dipecahkan relasi
pada beberapa tabel lagi atau dengan kata lain perancangan basis data belum
optimal.
Beberapa konsep yang harus diketahui :
a. Field/ Atribut Kunci
b. Kebergantungan Fungsi
a) Field (Atribut)
Kunci
Setiap file
selalu terdapat kunci dari file berupa field atau satu set field yang dapat
mewakili record. Misalnya Nomor Pokok Mahasiswa (NPM) merupakan kunci dari
tabel mahasiswa suatu Perguruan Tinggi, Nomor Pegawai (NIP) bagi data dosen, NIK
untuk data karyawan, Kode_Kuliah untuk data Mata kuliah, dan lain sebagainya.
Jenis Atribut
Pada Entitas
Atribut yang
melekat pada suatu entitas ada bermacam tipe seperti yang akan
dijelaskan
sebagai berikut :
Atribut
Sederhana : atribut sederhana merupakan
atribut atomik yang tidak
dapat lagi
dipecah menjadi atribut lain.
Contoh : Entitas mahasiswa
mempunyai atribut sederhana berupa NIM, NamMahasiswa .
Atribut
Komposit : atribut komposit merupakan
atribut yang masih dapat dipecah menjadi sub-sub atribut yang masing-masing
memiliki arti tesendiri.
Contoh : entitas
mahasiswa mempunyai atribut alamat. Alamat disini dapat
dipecah menjadi
sub atribut seperti nama_kota, kode_pos.
Atribut Bernilai
Tunggal : yaitu atribut yang hanya memiliki satu nilai
untuk
setiap barisnya.
Contoh : entitas
mahasiswa mempunyai atribut NPM, Nama, Alamat isi data dari atribut ini hanya
boleh diisi dengan 1 data. Setiap mahasiswa hanya memiliki 1 NPM, 1 Nama, 1
Alamat.
Atribut Bernilai
Jamak : yaitu atribut yang boleh memiliki lebih dari satu nilai
untuk setiap barisnya.
Contoh : entitas
mahasiswa mempunyai atribut Hobby isi data dari atribut ini boleh lebih dari 1
data. Mahasiswa Roshita memiliki NPM 13402021 beralamat di Jalan Garuda 32
Yogyakarta memiliki Hobby (Olah Raga, Nyanyi, Masak dan Nonton TV)
Atribut Harus
Bernilai : yaitu atribut yang harus memiliki nilai data
untuk setiap barisnya. Biasanya atribut seperti ini sudah ditetapkan dalam
perancangan tabelnya sehingga jika dalam pengisian dikosongi akan terjadi
kesalahan.
Atribut Bernilai
Null : yaitu atribut yang boleh tidak memiliki nilai data
untuk setiap barisnya.
Contoh : entitas
mahasiswa mempunyai atribut Alamat, Hobby, Nama_Pacar yang boleh untuk tidak
diisi tetapi kalau diisi akan lebih baik.
Atribut
Turunan : yaitu atribut yang
nilai-nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut
lain yang berkaitan.
Contoh : entitas
mahasiswa mempunyai atribut IPK yang diperoleh dari pengolahan atribut Nilai
pada tabel (entitas Nilai) dengan kode NIM mahasiswa yang sama dan diproses
sehingga menghasilkan IPK untuk mahasiswa yang bersangkutan.
Super Key
Yaitu himpunan dari satu atau lebih entitas yang digunakan untuk
mengidentifikasikan secara unik sebuah entitas dalam entitas set
Kunci Kandidat
(Candidate Key)
Kunci kandidat
adalah satu atribut atau satu set atribut yang mengidentifikasikan secara unik
suatu kejadian spesifik dari entity. Satu set atribut menyatakan secara tidak
langsung dimana anda tidak dapat membuang beberapa atribut dalam set tanpa
merusak kepemilikan yang unik. Jika kunci kandidat berisi lebih dari satu
atribut, maka biasanya disebut sebagai composite key (kunci campuran atau
gabungan).
Macam-macam bentuk Normalisasi
LANGKAH - LANGKAH PEMBENTUKAN NORMALISASI:
1. Bentuk tidak normal (Unnormalized Form):
Bentuk ini merupakan kumpulan data yang akan direkam,
tidak ada keharusan mengikuti suatu format tertentu. Dapat saja data tidak
lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan saat
menginput.
Contoh data :
Ket : PA = Penasehat Akademik
Siswa yg punya nomor siswa, nama, dan PA mengikuti 3 mata pelajaran/kelas.
Disini ada perulangan kelas 3 kali ini bukan bentuk 1 NF
2. Bentuk Normal Ke Satu (1
NF/First Normal Form)
Suatu relasi 1NF jika dan hanya jika sifat dari setiap relasi atributnya
bersifat atomik.
Atom adalah zat terkecil yang masih memiliki sifat induknya, bila dipecah
lagi maka ia tidak memiliki sifat induknya.
Ciri-ciri 1 NF :
• Setiap data dibentuk
dalam flat file, data dibentuk dalam satu record demi satu record nilai dari
field berupa “atomic value
• Tidak ada set
atribute yang berulang atau bernilai ganda
• Tiap field hanya satu pengertian
3. Bentuk Normal Ke Dua (2 NF
/Second Normal Form)
Bentuk
normal kedua mempunyai syarat yaitu bentuk data telah memenuhi kriteria bentuk
normal kesatu. Atribute bukan kunci haruslah bergantung secara fungsi pada
kunci utama/primary key. Sehingga utk membentuk normal kedua haruslah sudah
ditentukan kunci-kunci field. Kunci field haruslah unik dan dapat mewakili
atribute lain yg menjadi anggotanya.
Misal
:
Dari
contoh relasi Siswa pada I NF terlihat bahwa kunci utama/primary key adalah
nomor siswa. Nama siswa dan bergantung fungsi pada no_siswa, tetapi kode_kelas
bukanlah fungsi dari siswa, maka file siswa dipecah menjadi 2 relasi
Relasi
Siswa
Relasi
ambil_kelas
4. Bentuk Normal Ke Tiga (3 NF /
Third Normal Form)
Untuk
menjadi bentuk normal ketiga maka relasi haruslah dalam bentuk normal kedua dan
semua atribute bukan primer tidak punya hubungan yg transitif. Dengan kata
lain,setiap atribute bukan kunci haruslah bergantung hanya pada primary key dan
pada primary key secara menyeluruh.
Contoh
pada bentuk normal kedua di atas termasuk juga bentuk normal ke tiga karena
seluruh atribute yang ada disitu bergantung penuh pada kunci primernya
5. Boyce-Codd Normal Form ( BCNF)
BCNF
mempunyai paksaan yg lebih kuat dari bentuk normal ketiga. Untuk menjadi BCNF,
relasi harus dalam bentuk normal kesatu dan setiap atribute harus bergantung
fungsi pada atribute superkey
Pada
contoh di bawah ini terdapat relasi seminar dengan ketentuan sbb :
kunci
primer adalah no_siswa+seminar.
a. Siswa
boleh mengambil satu atau dua seminar.
b. Setiap siswa
dibimbing oleh salah satu diantara 2 instruktur seminar tsb.
c. Setiap
instruktur boleh hanya mengambil satu seminar saja.
Pada
contoh ini no_siswa dan seminar menunjuk seorang
instruktur
:
Relasi
seminar
Bentuk
relasi seminar adalah bentuk normal ketiga, tetapi tidak BCNF karena nomor
seminar masih bergantung fungsi pada instruktur, jika setiap instruktur dapat
mengajar hanya pada satu seminar. Seminar bergantung fungsi pada satu atribute
bukan superkey seperti yg disyaratkan oleh BCNF. Maka relasi seminar haruslah
dipecah menjadi dua yaitu :
Relasi
pengajar
6. Bentuk Normal Ke Empat (4 NF)
Relasi
R adalah bentuk 4 NF jika dan hanya jika relasi tersebut juga termasuk
BCNF dan semua ketergantungan multivalue adalah juga ketergantungan fungsional
7. Bentuk Normal Ke Lima (5 NF)
Disebut juga PJNF (Projection Join
Normal Form) dari 4 NF dilakukan dengan menghilangkan ketergantungan join yang
bukan merupakan kunci kandidat.