TEHNIK
NORMALISASI
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 mata kuliah 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
ANOMALY 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 menujukan entity dan relasi .
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.
Jenis Atribut Pada Entitas
Atribut yang melekat pada suatu entitas
ada bermacam tipe seperti yang akan
dijelaskan sebagai berikut .
1. Atribut Sederhana : atribut sederhana merupakan atribut atomik yang tidak
dapat lagi dipecah menjadi atribut
lain.
2. Atribut Komposit : atribut komposit
merupakan atribut yang masih dapat dipecah menjadi sub-sub atribut yang masing-masing
memiliki arti tesendiri.
3. Atribut Bernilai Tunggal : yaitu atribut yang hanya memiliki satu nilai untuk setiap barisnya.
4. Atribut Bernilai Jamak : yaitu atribut yang boleh memiliki lebih dari satu nilai untuk setiap barisnya
5. 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.
6. Atribut Bernilai Null : yaitu atribut yang boleh tidak memiliki nilai data untuk setiap barisnya.
7. Atribut Turunan : yaitu atribut yang nilai-nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut lain yang berkaitan.
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).
Contoh :
File mahasiswa berisi :
· Nomor Pegawai
· No KTP
· Nama Pegawai
· Tempat Lahir
· Tanggal Lahir
· Alamat
· Kota
Kunci kandidat dalam file mahasiswa di
atas dapat dipilih sbb :
· Nomor Pegawai
· No KTP
·
Nama (tidak
dapat dipakai karena sering seseorang punya nama yang sama dengan orang lain)
·
Nama + Tanggal
Lahir (mungkin bisa dipakai sebagai kunci karena kemungkinan orang dengan nama
yang sama dan tanggal lahir yang sama cukup kecil)
·
Nama + Tempat
Lahir + Tanggal Lahir (dapat dipakai sebagai kunci)
·
Alamat dan Kota (bukan kunci)
Kunci Primer (Primery Key)
Primary key adalah satu atribut atau
satu set minimal atribut yang tidak hanya mengidentifikasi secara unik suatu
kejadian spesifik, tetapi juga dapat mewakili setiap kejadian dari suatu
entity.
Setiap kunci kandidat dapat menjadi
kunci primer tetapi sebaliknya sebaiknya dipilih satu saja yang dapat mewakili
secara menyeluruh terhadap entity yang ada.
Kunci Alternatif (Alternate Key)
Kunci alternatif adalah kunci kandidat
yang tidak dipakai sebagai kunci primer. Kunci alternatif ini sering digunakan
untuk kunci pengurutan misalnya dalam laporan.
Kunci Tamu (Foreign Key)
Kunci tamu adalah satu atribut atau
satu set minimal atribut yang melengkapi satu hubungan yang menunjukkan ke
induknya. kunci tamu ditempatkan pada entity anak dan sama dengan kunci primer
induk yang direlasikan. Hubungan antara entity induk dengan anak adalah
hubungan satu lawan banyak (one to many relationship)
Contoh :
File Transaksi Gaji Bulanan
·
No Pegawai
·
No Bukti
·
Tanggal
·
Jumlah Gaji Kotor
·
Jumlah Potongan
·
Jumlah Gaji Bersih
·
Jumlah Pajak
ð Kunci Tamu
* No Pegawai (karena Gaji berhubungan dengan file Pegawai)
ð Kunci Primer
* No Bukti (karena unik dan mewakili entity)
ð Kunci Kandidat
* No Pegawai + Nomor Bukti (Unik dan
menunjukkan hubungan dengan file
pegawai)
Dalam hubungan dua buah file yang punya
relationship banyak lawan banyak
maka terdapat 2 kunci tamu pada file
konektornya.
Contoh :
File Proyek berisi atribut
·
No Proyek
·
Tgl Mulai
·
Tgl Selesai
·
Anggaran
File Pegawai Berisi Atribut
·
No Pegawai
·
Nama
Hubungan antara file tersebut adalah
banyak lawan banyak yaitu satu
pegawai mengerjakan lebih dari 1 proyek
dan 1 proyek dikerjakan oleh
beberapa pegawai maka untuk menunjukkan
hubungan tersebut dipakai file
konektor yang berisi kunci tamu dari
kedua file.
File Proyek Pegawai berisi atribut :
·
No Proyek
·
No Pegawai
·
Jam Kerja
Maka pada file proyek pegawai terdapat
kunci tamu yaitu nomor proyek dan
no pegawai. Kedua atribut tersebut juga
merupakan kunci primer.
B)
Ketergantungan Kunci
Kebergantungan Fungsi didefinisikan
sebagai
Diberikan sebuah relasi R, atribut Y dan R adalah bergantung
fungsi pada atribut X dari R jika dan hanya jika setiap nilai X dalam R punya hubungan
dengan tepat satu nilai Y dalam R (dalam setiap satu waktu).
File relasi pegawai atribut berisi :
·
No Pegawai
·
No KTP
·
Nama
·
Tempat Lahir
·
Tgl Lahir
·
Alamat’
·
Kota
Isi dari atribut nama bergantung pada
No Pegawai. Jadi dapat dikatakan bahwa atribut nama bergantung secara fungsi
pada No Pegawai dan Nomor Pegawai menunjukkan secara fungsi nama. jika anda
mengetahui no pegawai maka anda dapat menentukan nama pegawai tersebut. Notasi
untuk kebergantungan fungsi ini adalah
No Pegawai à Nama atau
Nama = f(No Pegawai)
1. Ketergantungan Fungsional (Fungsional Dependent)
Keterkaitan antar hubungan antara 2 atribute pada sebuah
relasi. Dituliskan dengan cara : A ->
B, yang berarti :
Atribute B fungsionality Dependent
terhadap atribute A atau
Isi (value) atribute A
menentukan isi atribute B
Definisi dari functional dependent :
Diketahui sebuah relasi R, atribute Y dari R adalah FD
pada atribute X dari R ditulis R.X -> R.Y jika dan hanya jika tiap harga X
dalam R bersesuaian dengan tepat satu harga Y dalam R
2. Fully
Functinaly Dependent (FFD)
Suatu rinci data dikatakan fully functional dependent
pada suatu kombinasi rinci data jika functional dependent pada kombinasi rinci
data dan tidak functional dependent pada bagian lain dari kombinasi rinci data.
3. Ketergantungan
Partial
Sebagian dari kunci dapat digunakan sebagai kunci utama
4. Ketergantungan Transitif
Menjadi atribute biasa pada suatu relasi tetapi menjadi
kunci pada realasi lain
5. Determinan
Suatu atribute (field) atau gabungan atribute dimana
beberapa atribute lain bergantung sepenuhnya pada atribute tersebut.
MACAM-MACAM BENTUK NORMALISASI
langkah-langkah pembentukan Normallisasi
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 pa bergantung fungsi pada no_siswa, tetapi
kode_kelas bukanlah fungsi dari siswa, maka file siswa dipecah menjadi 2 relasi
Relasi Siswa
Dan
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.
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.
EFEK-EFEK
NORMALISASI
KASUS
PENERAPAN NORMALISASI
PT. SANTA PURI FAKTUR PEMBELIAN BARANG
Jalan senopati 11
yogyakarta
Kode Suplier :
G01 Tanggal : 05/09/2000
Nama Suplier :
Gobel Nustra Nomor : 998
Jatuh tempo faktur : 09/09/2000
1. Step 1 bentuk unnormalized
2. Step 2 bentuk 1 NF
3. Step 3 bentuk 2
NF
4. Step IV Bentuk 3 NF
0 komentar:
Posting Komentar