Minggu, 03 Maret 2013

Penerapan Normalisasi.



Tahapan Normalisasi
1.      Bentuk Tidak Normal
Menghilangkan perulangan group
2.      Bentuk Normal Pertama (1NF)
Menghilangkan ketergantungan sebagian
3.      Bentuk Normal Kedua (2NF)
Menghilangkan ketergantungan transitif
4.      Bentuk Normal Ketiga (3NF)
Menghilangkan anomali-anomali hasil dari ketergantungan fungsional

Contoh Penerapan Normalisasi Data
 Bentuk Unnormal

Kode_Desa, Kode_Kecamatan, Nama_Desa, Kode_Kecamatan, Nama_Kecamatan, No_Gardu, No_Tiang, Nama_Desa, Kode_Loket, Nama_Loket, Alamat_Loket, No_Pelanggan, No_Pengajuan, No_KTP, Nama_Pelanggan, Alamat_Pelanggan, Telepon_Pelanggan, Nama_Desa, Nama_Kecamatan, No_Pelanggan_Terdekat, Daya, Tarif, Jaminan_Layanan, Jumlah_Biaya, Tgl_Pengajuan, Tgl_Pemasangan, No_Tiang, Status_Pemasangan, Username, Password, Hak_Akses, No_Transaksi, Denda, Total_Tagihan, Lama_Tunggakan/bulan, Tgl_pembayaran, No_Pelanggan, Nama_Pelanggan, Alamat_Pelanggan, Nama_Desa, Nama_Kecamatan, Biaya_Beban, Tarif_Meteran, Jumlah_Tagihan, Bulan_dan_Tahun_Tagihan, Status_Pembayaran , No_Transaksi, No_Pelanggan, Nama_Pelanggan, Alamat_Pelanggan, Nama_Desa, Nama_Kecamatan, No_Tiang, Biaya_Beban, Tarif_Meteran, Jumlah_Tagihan, Bulan_dan_Tahun_Tagihan, Status_Pembayaran, No_Transaksi, No_Pelanggan, Nama_Pelanggan, Alamat_Pelanggan, Nama_Desa, Nama_Kecamatan, KWH_Terpakai, Biaya_Beban, Tarif_Meteran, jumlah_Tagihan, Denda, Bulan_dan_Tahun_Tagihan, Lama_Tunggakan/bulan, Total,_Tagihan, Denda, Jumlah_Tagihan, No_Pelanggan, Nama_Pelanggan, Alamat_Pelanggan, Daya, Tarif, Jaminan_Langganan, Jumlah_Biaya, No_Tiang, No_Transaksi, No_Pelanggan, Nama_Pelanggan, Alamat_Pelanggan, Bulan_dan_Tahun_Tagihan, Biaya_Beban, Tarif_Meteran, Denda, Total_Tagihan, Lama_Tunggakan/bulan.

Tabel 1 : Bentuk tidak Unnormalized Form (Non 1-NF table)


Normal Kesatu
            Suatu  relasi  memenuhi  1NF  jika  dan  hanya  jika  setiap  atribut  dari  relasi  tersebut  hanya  memiliki  nilai tunggal dalam satu baris atau record. 
Kode_Desa, Nama_Desa, Kode_Kecamatan, Nama_Kecamatan, No_gardu, No_Tiang, Kode_Loket, Nama_Loket, No_Pengajuan, No_Pelanggan, No_KTP, Nama_Pelanggan, Daya, Tarif, Jaminan_Langganan, Jumlah_Biaya, Tgl_Pengajuan, Tgl_Pemasangan, Status_Pemasangan, Username, Password, Hak_Akses, No_Transaksi, Alamat_Pelanggan, KWH_Terpakai Biaya_Beban, tarif_meteran, Jumlah_Tagihan, .Bulan_dan_Tahun_Tagihan, Sattus_Pe,mabyaran, Total_tagihan, Denda, Jumlah_Tagihan, Telepon_Pelanggan, No_Pelanggan_Terdekat.
Contoh :

Tabel 2 : Bentuk 1-NF table 

Normal Kedua
Jika suatu relasi memenuhi 1NF  dan  relasi  tersebut memiliki tepat satu  atribut yang  membentuk kunci utama, maka relasi tersebut memenuhi 2-NF. 
Desa      : Kode_Desa*, Nama_ Desa
Kecamatan : Kode_Kecamatan*, Nama_Kecamatan
Gardu     : No_Gardu*
Tiang     :No_Tiang*
Loket     :Kode_Loket*, Nama_Loket, Alamat_Loket
Pemasangan:No_Pelangggan*, No_Pengajuan, No_KTP, Nama_Pelanggan, Alamat_Pelanggan, Telepon_Palanggan, No_Pelanggan_Terdekat, Daya, Tarif, Tgl_Pengajuan, Tgl_Pemasangan, Status_Pemasangan, Jaminan_Langganan, Jumlah_Biaya.
Tagihan   :No_Transaksi*, KWH_Terpakai, Biaya_Beban, Tarif_Meteran, Jumlah_Tagihan, Bulan_dan_Tahun, Status_Pembayaran, Denda, Total_tagihan, Lama_Tunggakan/bulan, Tgl_Pemabayaran.
Contoh :
Ketergantungan Fungsional : Nomor, Nama => Jumlah Tagihan


Tabel 3 : Bentuk 2-NF table (satisfying 1-NF). 





Tabel 4 : Tabel yang memenuhi 2-NF. 



Normal Ketiga
Suatu relasi memenuhi bentuk III (3-NF) jika dan hanya jika : 
a.       Relasi tersebut memenuhi 2-NF. 
b.      Setiap  atribut  bukan  kunci  tidak  tergantung  secara  fungsional  kepada  atribut  bukankunci  yang  lain dalam relasi  tersebut. 

Desa : Kode_Desa*, Kode_Kecamatan**, Nama_ Desa
Kecamatan : Kode_Kecamatan*, Nama_Kecamatan
Gardu : No_Gardu, Kode_Desa**
Tiang :No_Tiang*, No_Gardu**
Loket :Kode_Loket*, Nama_Loket, Alamat_Loket
Pemasangan :No_Pelangggan*, No_Tiang**, No_Pengajuan, No_KTP, Nama_Pelanggan, Alamat_Pelanggan, Telepon_Palanggan, No_Pelanggan_Terdekat, Daya, Tarif, Tgl_Pengajuan, Tgl_Pemasangan, Jaminan_Langganan, Jumlah_Biaya, Status_Pemasangan.
Tagihan :No_Transaksi*, No_Pelanggan**, KWH_Terpakai, Biaya_Beban, Tarif_Meteran, Jumlah_Tagihan, Bulan_dan_Tahun_Tagihan, Status_Pembayaran
Tunggakan :Denda, Total_tagihan, Lama_Tunggakan/bulan, Tgl_Pemabayaran, No_Transaksi**, Kode_Loket**.
Contoh :


Tabel 5 : Bentuk Normal 3