Rabu, 16 Maret 2011

Normalisasi (Bag.1)

06OKT
database-tipsBeberapa waktu lalu, beberapa rekan menanyakan dalam blog ini tentang langkah-langkah dalam membangun sebuah database. Sebelum memulai membuat sebuah database, kita perlu melakukan normalisasi terhadap database yang akan kita buat. Setiap programmer memiliki cara tersendiri dalam melakukan normalisasi data, dan berikut ini adalah cara saya dalam melakukan normalisasi, dan saya akan coba jelaskan dengan cara yang sederhana sehingga anda dapat memahami langkahnya dengan mudah.
Semoga petunjuk dari saya ini dapat berguna.
Definisi Normalisasi
Dalam sebuah basis data diperlukan proses normalisasi data. Normalisasi merupakan cara untuk mencari / mengelompokan seluruh sifat yang berkenaan dengan objek/entitas. Selain itu juga untuk menghilangkan redudansi dan untuk memberikan identifikasi unik setiap record (tabel).
Langkah-langkah Normalisasi
Dalam melakukan normalisasi ada beberapa langkah yang harus diperhatikan. Langkah – langkah tersebut yaitu:
1. Bentuk Tidak Normal
Data ditulis tabel tunggal dengan apa adanya sesuai waktu kedatangannya.      Data – data ini dapat diperoleh dari laporan transaksi.
2. Bentuk Normal Ke-satu (1NF : First Normal Form)
Bentuk Normal Kesatu merupakan uraian tabel dasar. Untuk membuatnya        dapat melengkapi data pada bentuk tidak Normal.
3. Bentuk Normal Ke-dua (2NF : Second Normal Form)
Untuk mengelompokan data menjadi bentuk normal kedua, ada syarat–syarat yang harus dipenuhi yaitu :
º Sudah dalam bentuk Normal Kesatu
º Menentukan Primary key dan mengelompokan field non kunci dengan Primary key berdasarkan ketergantungan fungsional.
4. Bentuk Normal Ke-tiga (3NF : Third Normal Form)
Untuk mengelompokan data menjadi bentuk normal ketiga, ada syarat – syarat yang harus dipenuhi yaitu :
º Sudah dalam bentuk Normal Kedua
º Tidak mempunyai field yang bengantung Transitif
º Bentuk relasi yang menentukan Foreign Key.

Normalisasi (Bag.2)

06OKT
Pada bagian sebelumnya kita telah mendapatkan sedikit gambaran dari proses normalisasi. Pada bagian ini kita akan lakukan sedikit pembahasan dari sebuah proses normalisasi.
Untuk memahami lebih lanjut tentang pembuatan normalisasi, kita akan membuat sebuah contoh normalisasi dari Nota Pembelian berikut:
normalisasi1
Langkah 1 :
Bentuk tidak normal
Dari Nota diatas dapat kita bentuk bentuk tidak normal sebagai berikut:
normalisasi2
Langkah 2 :
Bentuk Normal Kesatu
Langkah selanjutnya adalah membentuk data menjadi bentuk normal kesatu. Untuk membentuk bentuk tidak normal menjadi bentuk normal kesatu kita harus melengkapi data diatas menjadi sebagai berikut:
normalisasi3
Langkah 3 :
Bentuk Normal Kedua
Langkah berikutnya adalah membentuk data menjadi bentuk normal kedua, dengan menentukan Primary key. Dari contoh diatas Primary key(*) adalah :
º Nota
º Kode Pelanggan
º Kode Barang
Selanjutnya adalah mengelompokan field non kunci dengan Primary key berdasarkan ketergantungan Fungsional menghasilkan :
normalisasi4
Langkah Selanjutnya adalah menghilangkan field yang bergantung Transitif (Total Bayar) dan membentuk relasi dengan dengan menentukan Foreign Key yaitu Kode Pelanggan dan Kode Barang dan menambahkan Foreign Key(**) tersebut dalam Tabel Transaksi, sehingga menjadi seperti berikut :
normalisasi5
Kesimpulan
Dari contoh diatas dapat kita simpulkan bahwa :
1. Dalam membuat normalisasi suatu data kita harus memperhatikan data-data dan field – field kunci (primary key) untuk memudahkan     pengelompokan data dalam field.
2. Normalisasi dapat menghilangkan redudansi dalam suatu basis data.
3. Normalisasi dapat memberikan identifikasi unik untuk setiap tabel data.

Normalisasi (Bag.3-Selesai)

09OKT
Setelah dalam pembahasan sebelumnya kita membahas cara melakukan normalisasi dari sebuah nota hingga menjadi bentuk normal ketiga. Pada pembahasan kali ini kita akan membahas langkah – langkah berikutnya dalam melakukan normalisasi.
Langkah ke-5  yaitu Pengujian dengan data contoh.
Langkah ini bertujuan untuk menormalisasi  tabel jika terjadi redudansi dalam tabel, yaitu dengan memecah tabel yang masih mengalami redudansi.
Langkah ke-6 yaitu melakukan Hubungan Relasi Antar Tabel.
Langkah ini dimaksudkan untuk mengetahui hubungan antar satu tabel dengan tabel yang lain.
Langkah ke-7 yaitu melengkapi field – field dalam perancangan.
Langkah ini dilakukan dengan melengkapi tabel dalam perancangan dengan field – field yang dirasa perlu untuk ditambahkan dalam tabel tersebut.
Dalam pembahasan Normalisasi sebelumnya kita telah mendapatkan tiga tabel yaitu
normalisasi5
Pada pembahasan berikut ini kita akan melanjutkan pembahasan dengan langkah berikutnya:
Langkah 5 :
Pengujian dengan data contoh
Jika terjadi redudansi supaya di Normalisasi dengan memecah tabel yang mengalami redudansi.Tabel transaksi diatas akan dinormalisasi dan dipecah menjadi tabel transaksi dan tabel item transaksi karena tabel tersebut masih mengalami redudansi. Tabel tersebut dinormalisasi menjadi:
normalisasi6Selanjutnya adalah dengan menguji dengan data contoh menjadi :
normalisasi7
Langkah 6:
Hubungan Relasi Antar Tabel
Dalam langkah ini kita akan mengecek Hubungan Relasi Antar Tabel menjadi:
normalisasi8
Langkah 7:
Melengkapi field – field dalam perancangan.
Tabel Barang dan tabel Pelanggan akan kita lengkapi dengan beberapa field yang dianggap perlu untuk ditambahkan menjadi:
normalisasi9
Dari pembahasan diatas dapat kita simpulkan sebagai berikut:
  1. Nota Transaksi Pembelian dapat kita buat normalisasinya sehingga menghasilkan tabel Pelanggan, Barang, Transaksi dan Item Transaksi.
  2. Redudansi dalam tabel dapat dihilangkan dengan memecah tabel tersebut menjadi dua.
  3. Dalam membuat Normalisasi perlu diperhatikan Hubungan Relasi Antar Tabel sehingga tabel dapat saling berinteraksi satu sama lain.
  4. Setelah tabel dinormalisasi kita dapat menambahkan field – field yang kita anggap perlu untuk ditambahkan.