NAMA
: DEWI APRILIYANTI
NIM
: 15101856
KELAS
: K
TUGAS II
SISTEM BASIS DATA
SISTEM BASIS DATA
1. Definisi
Normalisasi Pada Database
Menurut
Jogiyanto (2005:403) ”Normalisasi (Normalization)
adalah Proses untuk mengorganisasikan file untuk menghilangkan grup elemen yang
berulang-ulang”. Konsep dan teknik normalisasi ini dikenalkan oleh Dr.E.F Codd
di papernya pada tahun 1970 dan 1972. Dalam papernya, E.F. Codd mendefinisikan
struktur data yang baru yaitu disebut dengan struktur data hubungan (relational
data structure). Istilah data hubungan menunjukkan suatu struktur data yang
mempunyai hubungan dengan elemen-elemen data lainnya, baik dalam satu atau
dalam file lainnya.
Pengertian normalisasi pada database
Normalisasi
merupakan teknik analisis data yang mengorganisasikan atribut-atribut data
dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant,
stabil, dan fleksible
Normalisasi dilakukan sebagai uji coba pada suatu
relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah baik,
yaitu dapat dilakukan proses insert,update,delete, dan modifikasi pada satu
atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut.
Database dengan struktur data hubungan dapat digambarkan
dalam bentuk tabel dua dimensi. Kolom dari tabel menunjukkan atribut dari file.
Atribut ini menunjukkan item data atau field. Kumpulan dari nilai field disebut
domain. Masing-masing baris dari record didalam tabel disebut dengan istilah
tuple. Tiap-tiap record dapat mempunyai satu kunci yang unik dimana record ini
dapat diidentifikasikan. Field yang menjadi kunci tersebut disebut dengan field
kunci (key field).
2.
Tujuan Dilakukan Normalisasi
a)
menghilangkan kerangkapan pada data/ redudansi.
b)
mengurangi kompleksitas
c)
mempermudah pemodifikasian data
d)
menghilangkan anomali data
Anomali
Insert (Penyisipan)
·
Keadaan yang tidak diingini atau
munculnya masalah saat akan menyisipkan data baru ke dalam relasi dengan
struktur yang tidak lengkap
·
Data baru bernama Rudi tetapi hobby
belum tercatat…?
Anomali
Update (Pembaharuan)
·
Keadaan di mana apabila satu nilai
atribut perlu diperbaharui, jika lebih daripada satu data yang terlibat yang
disebabkan adanya pengulangan data maka apabila tidak semua data diperbaharui
akan menimbulkan inkonsistensi data
·
Andi berpindah alamat…?
Anomali
Delete (Penghapusan)
·
Keadaan di mana apabila satu data
dihapuskan pada suatu relasi, terjadi kehilangan data lain yang masih
diperlukan
·
Data hobby bersepeda dihilangkan,
maka Data Antok ikut hilang
3. Functional
Denpendency
Functional Dependencies atau
ketergantungan fungsional merupakan ketergantungan relasi suatu atribut dalam
tabel atau set entity terhadap atribut yang lainya.
Misalnya diberikan relasi R, Atribut A dikatakan mempengaruhi secara fungsional atribut lainya B yang juga berada di R, ditulis dengan A --> B (baca: A menentukan B atau B tergantung A), jika untuk setiap elemen/anggota dari atribut A memetakan satu elemen pada Y, dan tidak harus sebaliknya.
Contoh:
Misalkan pada Data Mahasiswa terdapat atribut: NIM, Nama, Alamat. dikarenakan Nama tergantung pada NIM dan Alamat tergantung pada NIM, maka :
NIM --> Nama dan NIM --> Alamat.
Aturan-aturan Ketergantungan Fungsional:
Jika A,B,dan C merupakan himpunan atribut pada relasi R, maka terdapat sifat-sifat yang dikenal dengan axioma amstrong (sifat-sifat ini digunakan untuk normalisasi) adalah sebagai berikut:
Misalnya diberikan relasi R, Atribut A dikatakan mempengaruhi secara fungsional atribut lainya B yang juga berada di R, ditulis dengan A --> B (baca: A menentukan B atau B tergantung A), jika untuk setiap elemen/anggota dari atribut A memetakan satu elemen pada Y, dan tidak harus sebaliknya.
Contoh:
Misalkan pada Data Mahasiswa terdapat atribut: NIM, Nama, Alamat. dikarenakan Nama tergantung pada NIM dan Alamat tergantung pada NIM, maka :
NIM --> Nama dan NIM --> Alamat.
Aturan-aturan Ketergantungan Fungsional:
Jika A,B,dan C merupakan himpunan atribut pada relasi R, maka terdapat sifat-sifat yang dikenal dengan axioma amstrong (sifat-sifat ini digunakan untuk normalisasi) adalah sebagai berikut:
- Aksioma Reflexity:
Jika B merupakan subset A, maka A --> B,
- Aksioma Augmentasi:
Jika A --> B, maka AC --> BC,
- Aksioma Transitifity: Jika A --> B dan B --> C, maka A --> C
dengan aturan-aturan diatas dapat
dibuat aturan turunan sebagai berikut:
- Union:
Jika A --> B dan A --> C, maka A --> BC,
- Dekomposisi:
Jika A --> BC , maka A --> B dan A --> C,
- Peseudo Transitifity: Jika A --> B dan BC --> D, maka AC --> D,
Dependensi fungsional adalah Suatu
atribut Y mempunyai depedensi fungsional terhadap atribut X jika dan hanya jika
setiap nilai X berhubungan dengan sebuah nilai Y.
Macam
– macam depedensi :
Depedensi
fungsional
“X
secara fungsional menentukan Y” atau secara istilah :
penentu
(determinan) → yang tergantung (dependen)
Depedensi
fungsional sepenuhnya
Suatu
atribut Y mempunyai dependensi fungsional sepenuhnya terhadap atribut X, jika:
·
Y mempunyai dependensi fungsional
terhadap X, dan
·
Y tidak memiliki dependensi terhadap
bagian dari X.
4. Bentuk – Bentuk Normalisasi Beserta Contohnya
Pada
proses normalisasi terhadap tabel pada database dapat dilakukan dengan tiga
tahap normalisasi antara lain :
a)
Bentuk Tidak Normal (Unnormalized Form)
b)
Bentuk Normal Ke Satu (First Normal Form/1-NF)
Pada tahap ini dilakukan penghilangan beberapa group elemen
yang berulang agar menjadi satu harga tunggal yang berinteraksi di antara
setiap baris pada suatu tabel, dan setiap atribut harus mempunyai nilai data
yang atomic (bersifat atomic value). Atom adalah zat terkecil yang masih
memiliki sifat induknya, bila terpecah lagi maka ia tidak memiliki sifat
induknya.
Syarat normal ke satu (1-NF) antara lain:
1.
setiap data dibentuk dalam flat
file, data dibentuk dalam satu record demi satu record nilai dari field
berupa “atomic value”.
2.
tidak ada set atribute yang berulang
atau bernilai ganda.
3.
telah ditentukannya primary key
untuk tabel / relasi tersebut.
Bentuk Normal Pertama
Masalah yang muncul : Duplication, Inconsistency, Data
Isolation, dan Un-Efficiency
c)
Bentuk Normal Kedua (Second Normal Form/2-NF)
Bentuk normal kedua didasari atas konsep full functional
dependency (ketergantungan fungsional sepenuhnya) yang dapat didefinisikan
sebagai berikut. Jika A adalah atribut-atribut dari suatu relasi, B
dikatakan full functional dependency (memiliki ketergantungan fungsional terhadap
A, tetapi tidak secara tepat memiliki ketergantungan fungsional dari subset
(himpunan bagian) dari A.
Syarat normal kedua (2-NF) sebagai berikut.
1.Bentuk
data telah memenuhi kriteria bentuk normal kesatu.
2.Atribute
bukan kunci (non-key) haruslah memiliki ketergantungan
fungsional sepenuhnya (fully functional dependency) pada kunci
utama / primary key.
Contoh Bentuk Normal Kedua

Contoh Bentuk Normal Kedua
d)
Bentuk Normal Ketiga (Third
Normal Form / 3 NF)
Walaupun
relasi 2-NF memiliki redudansi yang lebih sedikit dari pada relasi
1-NF, namun relasi tersebut masih mungkin mengalami kendala bila terjadi
anomaly peremajaan (update) terhadap relasi tersebut.
Syarat
normal ketiga (Third Normal Form / 3 NF) sebagai berikut.
1.
Bentuk data telah memenuhi kriteria
bentuk normal kedua.
2.
Atribute bukan kunci (non-key) harus
tidak memiliki ketergantungan transitif, dengan kata lain suatu atribut bukan
kunci (non_key) tidak boleh memiliki ketergantungan fungsional (functional
dependency) terhadap atribut bukan kunci lainnya, seluruh atribut bukan kunci
pada suatu relasi hanya memiliki ketergantungan fungsional terhadap priamry key
di relasi itu saja.
3.
Seluruh atribut non-primary key pada
relasi Pelanggan dan Biaya di atas terlihat memiliki ketergantungan
fungsional (functional dependency) terhadap primary key dari masing-masing
tabel / relasi. Relasi / tabel Pelanggan dan Biaya di atas tidak
memiliki ketergantungan transitif (transitive dependency), sehingga tabel
tersebut telah memenuhi
e)
Boyce-Code Normal Form (BCNF)
Suatu
relasi disebut memenuhi bentuk normal Boyce-Codd jika dan hanya jika semua
penentu (determinan) adalah kunci kandidat (atribut yang bersifat unik). BCNF
merupakan bentuk normal sebagian perbaikan terhadap 3NF. Suatu relasi yang
memenuhi BCNF selalu memenuhi 3NF, tetapi tidak untuk sebaliknya
Suatu
relasi yang memenuhi 3NF belum tentu memenuhi BCNF. Dalam banyak literatur
disebutkan bahwa BCNF adalah perbaikan dari 3NF, karena bentuk normal ketigapun
mungkin masih mengandung anomali sehingga masih perlu dinormalisasi lebih
lanjut.
BCNF
memiliki ketentuan yaitu :
·
Bentuk BCNF terpenuhi dalam sebuah
tabel, jika untuk setiap Functional Dependency terhadap setiap atribut atau
gabungan atribut dalam bentuk : X –> Y maka X adalah Super Key.
·
Tabel tersebut harus di dekomposisi
berdasarkan Functional Dependency yang ada, sehingga X menjadi super key dari
tabel-tabel hasil dekomposisi.
·
Setiap tabel dalam BCNF merupakan
3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF. Perbedaannya, untuk
Functional Dependency X–> A, BCNF tidak membolehkan A sebagai bagian dari
primary key.
Properti
penting BCNF adalah relasi tidak memiliki informasi yang redundan.
Perbedaan
BCNF dengan 3NF :
·
Pada BCNF suatu atribut yang
bergantung secara fungsional terhadap kunci primer, mungkin saja merupakan kunci
primer bagi atribut yang lain.
·
Pada 3NF hal ini bisa saja terjadi
dan tidak menjadi masalah.
Relasi di
atas memenuhi 3NF tetapi tidak memenuhi BCNF, Karena :
·
Seorang mahasiswa dapat mengambil
sejumlah mata kuliah.
·
Setiap dosen hanya mengajar pada
sebuah mata kuliah.
·
Setiap mahasiswa pada setiap mata
kuliah hanya diajar oleh seorang dosen.
·
Suatu mata kuliah yang sama bisa
memiliki lebih dari satu dosen.
Mahasiswa,
Mata Kuliah –>Dosen
Mahasiswa,
Dosen –> Mata Kuliah
Cara mengkonversi relasi yang telah memenuhi 3NF ke BCNF:
·
Carilah semua penentu
·
Bila terdapat penentu yang bukan
berupa kunci kandidat,
maka:
·
Pisahkan relasi tersebut, dan
·
Buat penentu tersebut sebagai kunci
primer.
f)
Bentuk Normal Keempat (4NF)
Syarat-syaratnya:
·
Bentuk normal 4NF terpenuhi dalam
sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh
memiliki lebih dari sebuah multivalued attribute.
·
Untuk setiap multivalued
attribute (MVD) juga harus merupakan Functional Dependency
Multivalued dependency (MVD).
Dependensi ini pertama kali diperkenalkan oleh R.Fagin pada
tahun 1977, dipakai pada bentuk normal keempat (4NF). Dependensi ini dipakai
untuk menyatakan hubungan satu ke banyak.
Secara umum, dependensi nilai banyak muncul pada relasi yang
paling tidak memiliki tiga atribut dan dua di antaranya bernilai banyak, dan
nilainilainya tergantung hanya pada atribut ketiga.
Bila R(A,B,C) merupakan suatu relasi, dengan A, B, C adalah
atribut – atribut relasi tersebut, maka proyeksi dari R berupa (A,
B) dan (A, C) jika R memenuhi MVD: A –>> B | C
Perlu
diketahui, bila terdapat:
A
—>> B
A
—>> C
Maka
keduanya dapat ditulis menjadi:
A
—>> B | C
Misalnya,
pegawai ditugaskan ke banyak proyek dan ia mempunyai banyak keahlian.
· Jika kita mencatat info ini pd satu tabel, ketiga atribut
harus digunakan sbg kunci
· Hubungan antara pegawai dan proyek mrp
ketergantungan multivalue krn untuk setiap pasang nilai pegawai/ahli pd
tabel, himp nilai proyek yg berhub hanya ditentukan oleh pegawai
dan tidak tergantung pada
· Hubungan antara pegawai &ahli mrp ketergantungan
multivalue,karena himpunan nilai ahli untuk pasangan pegawai/proyek selalu
hanya tergantung pd pegawai
· untuk mengubah sebuah tabel dg ketergantungan multivalue ke
dlm 4NF, pindahkan masing2 pasangan MVD ke tabel baru.
g)
Bentuk Normal Tahap Kelima (5NF)
·
Bentuk normal 5NF terpenuhi jika
memiliki sebuah loseloss decomposition menjadi tabel-tabel yang lebih kecil
·
Jika 4 bentuk normal sebelumnya
dibentuk berdasarkan Functional Dependency, 5NF dibentuk berdasarkan konsep
Join Dependence. Yakni apabila sebuah tabel telah di dekomposisi menjadi
tabel-tabel lebih kecil, harus bisa digabungkan lagi untuk membentuk tabel
semula.
Analisa Overnormalisasi diperlukan jika :
·
Database ini digunakan untuk sistem
multi user
·
Tabel-tabel yang sudah normal ini
digabungkan dengan fungsi lain yang ada di lapangan, misalnya; untuk fungsi
retur, untuk fungsi inventori, untuk fungsi sales order maupun order pembelian,
untuk fungsi keamanan database, dan lain-lain.
SELESAI
|
|||
Tidak ada komentar:
Posting Komentar