NORMALISASI
A. Pengertian Normalisasi
Normalisasi
adalah proses penyusunan table-tabel yang tidak redudan (dobel), yang dapat
menyebabkan anomali pada saat terjadi operasi manipulasi data seperti tambah,
hapus, dan ubah. Masalah-masalah yang timbul dalam pembuatan tabel yang disebut
dengan anomali. Anomali adalah proses pada basis data yang mempunyai efek
samping yang tidak diharapkan. Contoh : ketidakkonsistenan data, suatu data
hilang pada saat dihapus, dll.
Ada dua fungsi normalisasi, yaitu
:
1. Dapat digunakan
sebagai metodologi dalam menciptakan desain database
2. Dapat digunakan
sebagai verifikasi terhadap hasil desain database yang telahdibuat, baik
menggunakan E-R Model atau menggunakan model relasi, seperti yang anda buat
diatas atau dari model yang lain
B. Tujuan Normalisasi
Tujuan
Normalisasi dapat dibagi menjadi 3, yaitu :
1. Normaliasi diperlukan
agar kerelasian dalam basis data menjadi mudah dimengerti, mudah dipelihara,
mudah memprosesnya, dan mudah untuk dikembangkan sesuai dengan kebutuhan baru.
2. Normalisasi
mengharuskan relasi pada suatu basis data dalam bentuk normal.
3. Bentuk normal sendiri
merupakan seperangkat aturan yang dikenakan dan harus dipenuhi oleh relasi
basis data pada setiap level normalisasi.
C. Jenis-jenis Anomali
Ada 3 jenis Anomali :
1. Anomali peremajaan
Anomali ini terjadi bila
ada perubahan pada sejumlah data yang mubazir, tetapi tidak seluruhnya diubah
2. Anomali Penyisipan
Anomali ini terjadi
pada saat penambahan data ternyata ada elemen yang kosong dan elemen tsb justru
menjadi key.
3. Anomali Penghapusan
Anomali ini terjadi apabila dalam
satu baris/ tuple ada data yang akan dihapus sehingga akibatnya terdapat data
lain yang hilang. Contoh pada table kursus data Jumlah Siswa 10 akan dihapus
dengan data kursus perancis karena sudah tidak ikut kursus lagi sehingga
akibatnya data kursus bahasa perancis dan biaya 80000 akan ikut terhapus.
D. Bentuk Normal 1nf
Bentuk Normal
Pertama (1NF) Bentuk normal pertama dikenakan pada entity yang belum normal
(Unnormalized Form). Bentuk tidak normal merupakan kumpulan data yang akan di
rekam, tidak ada keharusan mengikuti suatu format tertentu, dapat saja tersebut
tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan
kedatangannya.
Tahapan yang harus dilakukan pada 1NF
adalah:
a. Hilangkan
pengulangan kelompok data dalam suatu tabel.
b. Buatkan
tabel tersendiri untuk setiap set data terkait.
c. Identifikasikan
setiap set data yang akan dijadikan sebagai primary key.
Pada tahap ini, jangan menggunakan
beberapa field dalam satu tabel untuk menyimpan data yang sama. Misalnya, untuk
menulusuri item persediaan yang berasal dari dua sumber penjual, bisa jadi data
item persediaan tersebut tersimpan di kolom Kode Penjual 1 dan Kode Penjual 2.
Jika misalnya ada penambahan penjual ketiga, maka tidak dianjurkan untuk
menambahkan field Kode Penjual 3. Sebagai gantinya, letakkan semua informasi
penjual dalam satu tabel terpisah yang disebut table Penjual, kemudian
hubungkan table Penjual dengan table Persediaan berdasarkan Kode Penjual
(sebagai primary key-nya).
E. Bentuk Normal 2nf
Tahapan
yang harus dilakukan pada 2NF adalah:
a. Buat
tabel terpisah untuk sekumpulan nilai yang berlaku pada beberapa data.
b. Hubungkan
tabel tersebut melalui foreign key.
Data yang saling
berkaitan harus tergantung pada primary key. Sebagai contoh adalah Alamat
Pelanggan dalam sebuah Sistem Akuntansi. Alamat Pelanggan tidak hanya
dibutuhkan oleh tabel Pelanggan itu sendiri, tetapi juga oleh tabel Pesanan,
Pengiriman, Faktur, Piutang, dan Pembayaran. Agar tabel Pesanan, Pengiriman,
Faktur, Piutang, dan Pembayaran dapat menggunakan data Alamat Pelanggan di
table Pelanggan, maka di masing-masing table tersebut perlu ditambahkan field
Kode Pelanggan sebagai foreign key-nya. Perhatikan data Class# dan data
Student# pada table hasil 1NF tersebut. Data Class# secara fungsi tidak
tergantung pada Student# (sebagai primary key), dengan demikian hubungan data
antara dua field tersebut belum belum memenuhi bentuk 2NF. Untuk mengubahnya menjadi
2NF, hilangkan redudansi data dan pisahkan menjadi beberapa tabel
F. Bentuk Normal 3nf
Tahapan yang harus dilakukan pada 3NF adalah menghilangkan data pada
field yang tidak tergantung pada primary key. Sebagai contoh pada Sistem
Akuntansi di 2NF di atas. Jika pada tabel Pesanan, Pengiriman, Faktur, Piutang,
dan Pembayaran terdapat data Nama, Alamat, Kota, Kode Pos, Nomor Telepon, dan
Nomor Fax Pelanggan; padahal data Nama, Alamat, Kota, Kode Pos, Nomor Telepon,
dan Nomor Fax Pelanggan sudah ada di table Pelanggan; maka data-data tersebut
harus dihilangkan dari table Pesanan, Pengiriman, Faktur, Piutang, dan
Pembayaran. Perhatikan tabel Students hasil 2NF. Sebenarnya data nomor ruangan
pada field Adv-Room secara fungsional tergantung pada tabel Advisor karena
suatu saat bisa terjadi perubahan pada nomor ruangan tersebut. Untuk
mengantisipasinya, data Adv-Room dipindahkan ke tabel Advisor
G. Bentuk Normal Boyce-Codd (BCNF)
Meskipun sudah ada Bentuk
Normal Keempat (4NF) yang juga disebut Boyce Codd Normal Form (BCNF), Bentuk
Normal Kelima (5NF), dan Bentuk Normal Kenam (6NF); tapi bentuk-bentuk normal
ini jarang digunakan sebagai bahan pertimbangan dalam praktek 5 mendesain suatu
database. Kecuali jika database yang didesain sangatlah kompleks.
Link video tentang materi terkait ada dibawah ini, silahkan kunjungi :
https://www.youtube.com/watch?v=L4nfjB4f_Is
Link video tentang materi terkait ada dibawah ini, silahkan kunjungi :
https://www.youtube.com/watch?v=L4nfjB4f_Is
Tidak ada komentar:
Posting Komentar