Rabu, 05 November 2014

Laporan Praktikum Desain Basis Data 6 : Normalisasi Database


A. Landasan Teori
       Normalisasi merupakan suatu proses untuk mengubah suatu tabel yang memiliki masalah tertentu ke dalam dua buah tabel atau lebih yang tidak lagi memiliki masalah tersebut (Abdul Kadir, 2008). Ada juga yang berpendapat normalisasi adalah proses penyusunan tabel  –  tabel yang tidak redundan (dobel), yang dapat menyebabkan anomali yaitu proses basis data yang memberikan efek samping yang tidak diharapkan  (Misalnya menyebabkan data tidak konsisten  atau membuat data hilang ketika data yang lain dihapus).
        Normalisasi digunakan sebagai teknik analisis data pada database, sehingga dapat diketahui apakah pembuatan tabel – tabel yang terelasi dalam database itu sudah baik. Kondisi sudah baik yaitu suatu kondisi pada saat proses insert, update, delete dan modifikasi pada satu atau beberapa atribut suatu tabel tidak berpengaruh terhadap integritas data yang lain dalam satu hubungan relasi database.

Alasan mengapa perlu dilakukan normalisasi terhadap tabel :
1. Mengurangi redudansi data.
2. Membuat fields yang bukan key bergantung fungsi sepenuhnya pada primary keynya.
3.Agar kesulitan dalam penambahan, pengupdate-an, penghapusah data tidak sulit dilakukan.

Tujuan Normalisasi :
1. Agar kerelasian dalam basis data menjadi mudah dimengerti.
2. Normalisasi mengharuskan relasi pada suatu basis data dalam bentuik normal.
3. Bentuk normal sendiri merupakan seperangkat aturan yang dikenakan dan harus dipenuhi oleh relasi basis data pada setiap level normalisasi.

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)  
Suatu tabel dianggap normal ke satu (1NF) jika :
  • Tidak terdapat baris yang bernilai ganda atau duplikat.
  • Masing -  masing baris bernilai tunggal dan tidak bernilai null.
Langkah – langkah :
-  Isikan setiap data bernilai tunggal dan tidak null
-  Membuang perulangan data dalam satu baris dengan baris yang lain.
 
3.  Second Normal Form (2NF)
Bentuk normal kedua (2NF) terpenuhi jika : 
  • Harus telah berbentuk normal pertama (1NF).
  • pada sebuah tabel semua atribut yang tidak termasuk dalam primary key
memiliki ketergantungan fungsional pada primary key secara utuh.  Suatu atribut dikatakan ketergantungan fungsional jika harga pada atribut tersebut menentukan harga dari atribut yang lain. Misalnya, nim → mhs_nama. 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) 
Bentuk normal ketiga (3NF) terpenuhi jika :
  • Harus telah berbentuk normal kedua (2NF).
  • Tidak terdapat  anomali  –  anomali hasil dari ketergantungan  transitif.
ketergantungan transitif adalah ketergantungan fungsional antara 2 atau lebih atribut bukan kunci. 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 analisis database cukup sampai pada 3NF, Akan tetapi dalam suatu kasus tertentu lebih baik bila dapat mencapat BCNF.  Beberapa pemikir menyamakan antara 3NF dengan BCNF. Bentuk normal BCNF terpenuhi jika :
  • Masing-masing atribut utama bergantung fungsional penuh pada masing kunci
  • dimana kunci tersebut bukan bagiannya.
  • Setiap determinan atribut-atribut relasi adalah kunci relasi  atau kandidat kunci.
  • BCNF dapat memiliki lebih dari satu kunci.
  • BCNF hampir sama dengan 3NF.
Langkah – langkah :
-  Hilangkan dependensi pada bukan kunci kandidat.
 
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 
 Gambar dibawah adalah soal nota pembelanjaan yang akan di normalisasikan



Tahap UNF (Unnormalization Form)
        Merupakan bentuk yang masih sederhana seperti pada tabel dibawah terlihat masih banyak fields yang kosong yang memungkinkan terjadinya redudans



Tahap 1NF 
         Suatu relasi disebut 1NF jika dan hanya jika semua attribute value-nya simple/atomic (tidak boleh ada attribute yang composit & multivalue). Maka pada tahap normalisasi pertama ini,kita harus membuat nilai kolomnya atomic dan ditentukan kuncinya.


 Tahap 2NF
    Pembentukan bentuk normal kedua ini dilakukan dengan mencari kunci-kunci kolom yang dapat dipakai sebagai patokan dalam pencarian dan sifatnya unik. Jadi pada atribut bukan kunci hanya boleh tergantung pada atribut kunci (functional dependency), kemudian menghilangkan ketergantungan parsial pada tabel dengan membuat tabel yang baru.


  
Tahap 3NF
     Pada tahap normalisasi ke tiga, setiap atribut yang bukan kunci harus bergantung hanya pada atribut kunci (primary key) secara menyeluruh.Lalu menghilangkan anomali–anomali yang masih mempunyai ketergantungan fungsional.





C. Kesimpulan, Saran dan Manfaat 

      Pada sesi laporan praktikum keenam ini tidak lagi menggunakan query seperti laporan-laporan sebelumnya, akan tetapi menggunakan microsoft excel yang sudah familiar bagi pembaca pastinya. Jadi saya tidak perlu menjelaskan cara mulai dari awal karena itu sudah lumrah bukan :) Nah, pada tahap normalisasi ini ada banyak tahapan yang harus dilakukan berturut-turut agar tidak terjadi kerancuan dalam membuat database. Secara teori ada 6 tahapan , yakni : UNF, 1NF, 2NF, 3NF, BCNF, 4NF dan 5NF. Pada umunya hanya cukup sampai 3NF saja. Akan tetapi beda permasalahan lagi ketika masih ada anomali-anomali yang terdapat pada tabel, maka tahap normalisasi dilakukan sampai tahapan kelima.
       Sarannya mungkin sama saja dari praktikum pertama sampai sekarang, terus MENCOBA,MENCOBA dan MENCOBA ya para pembaca. Akhir kata semoga bermanfaat untuk semua para pembaca dan saya sendiri tentunya, dan TERIMA KASIH telah berkunjung :)

E. Referensi



Mustafa,Aziz. Modul Praktikum Desain Basis Data 2014.pdf
https://qorridwiistajib.files.wordpress.com/2013/06/qorri-dwi-istajib_12040014_2a_sbd. pdf
Unknown Web Developer

Tidak ada komentar:

Posting Komentar