NORMALISASI
Assalamu’alaykum,
jumpa lagi di blog saya. Setelah UTS kemaren kan ngga ada laporan, kangen banget deh sama laporan praktikum yang satu ini. rasanya seminggu tanpanya weekend ku hampa ^^V
Kali ini saya akan membahas praktikum minggu ini yang
berjudulkan “NORMALISASI” . Apa itu normalisasi serta apa saja yang dilakukan
untuk membentuk sebuah database menjadi “normal” ? Langsung saja kita bahas yaa
:D
A.
Landasan
Teori
1.1
Pengertian Normalisasi
Normalisasi adalah suatu teknik
untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai
di dalam suatu organisasi. Suatu rancangan database disebut buruk jika :
·
Data
yang sama tersimpan di beberapa tempat (file atau record)
·
Ketidakmampuan
untuk menghasilkan informasi tertentu
·
Terjadi
kehilangan informasi
·
Terjadi
adanya redudansi (pengulangan) atau duplikasi data sehingga
memboroskan ruang
·
penyimpanan
dan menyulitkan saat proses updating data
·
Timbul
adanya NULL VALUE.
1.2
Pentingnya Normalisasi
Kehilangan informasi bisa terjadi
bila pada waktu merancang database (melakukan proses dekomposisi yang keliru).
Tujuan normalisasi adalah menyempurnakan struktur table dengan:
·
mengeliminasi
adanya duplikasi informasi,
·
memudahkan
pengubahan struktur tabel,
·
memperkecil
pengaruh perubahan struktur database
1.3
Functional Dependency (Fd)
Untuk melakukan normalisasi, harus
bisa menentukan terlebih dahulu Functional Dependency (FD) atau Ketergantungan
Fungsional, khususnya dalam melakukan dekomposisi rancangan database. Functional
Dependency (FD) dapat disimbolkan dengan: A à B : artinya B memiliki ketergantungan dengan A. Berarti A secara
fungsional menentukan B atau B secara fungsional tergantung pada A.
Dengan kondisi: jika dan hanya jika
untuk setiap rows data pada tabel T, maka jika ada 2 rows di tabel T dengan
nilai pada A yang sama, maka nilai pada B pasti juga sama.
Jadi, diberikan 2 rows, yaitu: row
r1 dan row r2 dalam tabel T, dimana
A à B, sehingga jika r1(A) = r2(A), maka r1(B)=r2(B)
1.4
Langkah-Langkah
Normalisasi
1.
Unnormalization Form
Bentuk yang tidak normal dimaksudkan
suatu kumpulan data yang akan diolah yang diperoleh dari format – format yang
beraneka ragam, masih terdapat duplikasi, bisa saja tidak sempurna atau tidak
lengkap, dan sesuai fakta lapangan. Bentuk ini didapat dari dokumen yang ada
dilapangan atau manual dengan atribut bukan nilai sederhana
2. First Normal Form (1NF)
·
Merubah
dari bentuk tabel tidak normal (unnormalized table) menjadi bentuk normal
pertama (1NF).
·
Suatu
relation R disebut 1st NF jika dan hanya jika semua attribute value-nya simple/atomic
(tidak boleh ada attribute yang composit & multivalue)
·
Tujuan
1NF adalah:
–
Membuang
adanya pengulangan (Redudansi) data,
–
Menghindari
adanya pencatatan Null Value, dan
–
Menjaga
setiap entry data dr relasi (perpotongan bariskolom) memiliki maksimal satu nilai
tunggal.
·
Beberapa
table dapat mengandung partial dependency
3. Second Normal Form (2NF)
·
Sudah
dalam bentuk / lolos 1NF.
·
Dibuat
berdasarkan FULL FUNCTIONAL DEPENDENCY (ketergantungan fungsional penuh)
·
Normalisasi
2NF: jika tabel berada dalam bentuk normal pertama (1NF)
dan setiap atribut bukan kunci (bukan PK) bergantung penuh (FULL DEPENDENT) pada
kunci primer (PK).
·
Sehingga
tidak ada atribut bukan kunci yang bergantung pada sebagian (parsial)
kunci primer.
Langkah – langkah :
·
Jika terdapat atribut yang bergantung terhadap atribut
bukan kunci utama dan merupakan atribut kunci maka pecah menjadi table baru.
4. Third Normal Form (3NF)
·
Suatu
relasi R disebut normal ke tiga (3rd NF) jika sudah memenuhi
dalam bentuk normal ke dua (2nd NF) dan tidak dijumpai
adanya ketergantungan TRANSITIF (Transitive Dependency).
·
Kebergantungan
transitif (transitive dependency) adalah
ketergantungan fungsional antara 2 (atau lebih) atribut bukan key (kunci/PK).
Syarat 3NF:
·
Harus
berada dalam bentuk normal ke dua (2NF).
·
Ketergantungan
field-field yang bukan PK adalah harus secara mutlak (full-dependent).
Artinya harus tidak ada transitive dependency (ketergantungan secara
transitif).
·
Langkah – langkah :
·
- Pastikan semua atribut non kunci bergantung penuh terhadap atribut
kunci.
·
- Pisahkan menjadi tabel baru jika menemukan ketergantungan transitif
dalam tabel tersebut.
5. Boyce-Codd Normal Form (BCNF)
·
Secara
praktis, tujuan rancangan database adalah cukup sampai pada level 3NF.
Akan tetapi untuk kasus-kasus tertentu kita bisa mendapatkan rancangan yang
lebih baik lagi apabila bisa mencapai ke BCNF.
·
BCNF
ditemukan oleh: R.F. Boyce dan E.F. Codd
·
Suatu
relasi R dikatakan dalam bentuk BCNF: jika dan hanya jika setiap atribut
kunci (Key) pada suatu relasi adalah kunci kandidat (candidate
key).
·
Kunci
kandidat (candidate key) adalah
atribut-atribut dari entitas yang mungkin dapat digunakan sebagai kunci (key)
atribut.
·
BCNF
hampir sama dengan 3NF, dengan kata lain setiap BCNF adalah
3NF.
6.
Fourth Normal Form (4NF)
Dilakukan
jika terdapat anomali pada (3NF)
7.
Fifth Normal Form (5NF)
Langkah
ini untuk memecah relasi menjadi dua sehingga relasi tersebut tidak digabungkan
kembali manjadi satu dan jika terdapat anomali pada (5NF)
B.
Hasil Praktikum
Buatlah
normalisasi dari data berikut:
1.
Unnormalization
Form
Bentuk unnormalisasi ini merupakan bentuk yang masih sederhana dan
terdapat kerancuan data serta redudansi data, serta terdapat kolom yang
berisikan nilai null.
2.
First
Normal Form (1NF)
Pada bentuk normal bentuk pertama,
kita harus mengisikan semua nilai null. Selain itu kita harus membuat primary
key nya. Primary key pada bentuk unnormalization di atas adalah no_faktur dan kode_bar.
Berikut gambaran tabel nya
3.
Second
Normal Form
Setelah menenutkan primary key, kita
dapat membentuk normal kedua. Pertama primary key hanya boleh tergantung
(functional dependency),dan menghilangkan ketergantungan parsial pada tabel dengan
cara membuat tabel baru.
Nama_bar, harga_bar, diskon1, dan
PPN bergantung pada kode_bar maka kita buat tabel barang
Lalu nama_pel, bergantung pada
id_pel, maka kita buat tabel pelanggan
Lalu kita buat tabel petugas dengan
atribut id_pet dan nama_pet
Kemudian yang
terakhir adalah membuat tabel transaksi yang berisikan atribut no_faktur, tanggal,
jml_bar, harga_bar, total, id_pel, kode_bar, id_pet, dan diskon2, seperti
gambar tabel di bawah ini
4.
Third
Normal Form (3NF)
Bentuk normal yang kedua harus terpenuhi sebelum bisa membuat
bentuk normal ketiga ini. Selain itu, tidak boleh ada ketergantungan transitif
yaitu primary key tergantung pada
atribut bukan primary key. Pada tabel pelanggan dan petugas tidak perlu diubbah
lagi karena sudah tidak ada ketergantungan transitif.
Dibuat diagram seperti dibawah ini untuk mengetahui relasi antar
tabelpada normalisasi yang telah kita lakukan
C.
Kesimpulan,
Kritik Dan Saran Serta Manfaat Bagi
Pembaca
1.
Kesimpulan
Setelah melakukan praktikum ini, saya dapat menyimpulkan bahwa
normalisasi adalah teknik dalam pembuatan tabel, dengan tabel yang terdiri dari
berbagai macam masalah seperti kerancuan, redudansi dan adanya nilai null,
dengan normalisasi masalah-masalah tersebut bisa diminimalisir serta kita
mendapatkan sebuah tabel yang akurat dan valid relasinya. Normalisasi dilakukan
memlalui beberapa tahap, yaitu unnormalization, 1NF, 2NF, 3NF, 4NF dan5NF. Namun
database yang baik cukup sampai pada 3NF saja.
2.
Kritik
dan Saran
Dalam laporan ini, saya merasa banyak kekurangan dan kekeliruan
dalam melakukan normalisasi, dibutuhkan ketelitian dan logika yang cerdas untuk
memisahkan tabel-tabel tersebut dan menjadikannya suatu relasi yang ciamik,
oleh karenanya diperlukan pembelajaran yang lebih lagi, serta bimbingan yang
ekstra dari dosen maupun asisten lab, sebaiknya diberi tahu normalisai yang
benar, agar kami para praktikan lebih mengerti apa kekurangan dan kesalahan
kami.
3.
Manfaat
Semoga pembaca pada umumnya dapat mengetahui dan mengerti
tahapan-tahapan yang dilakukan apabila ingin melakukan normalisasi agar
diperoleh database yang baik.
D.
Daftar
Pustaka
Nugroho, Adi.
2011. Perancangan dan Implementasi Sistem Basis Data. Yogyakarta: ANDI





