Sabtu, 13 Oktober 2012

Normalisasi

Basis data dapat diumpamakan sama dengan lemari arsip data. Dengan adanya basis data kita jadi lebih gampang untuk menyampaikan informasi yang tersimpan dalam lemari arsip data.
Penyampaian informasi melalui basis data selalu dibuat sesimpel dan seringkas mungkin serta tidak menhilangkan informasi yang ingin disampaikan. Bentuk penyampai informasi seperti ini biasanya dilakukan pada sebuah bentuk tabel yang disebut tabel Universal.
Tabel universal menyampaikan semua informasi yang ada seringkas mungkin dan tanpa menhilangkan satupun informasi. Tetapi kita sering tidak melihat data atau informasi yang tertera pada tabel Universal.
Supaya kita dapat melihat informasi yang tertera pada tabel universal sehingga tidak ada data yang tidak terbaca atau data tertambah, yang bukan merupakan sebuah data yang tertera pada tabel universal. Maka kita lakukan dengan cara menormalisasi data tersebut

 Kosep Dasar Normalisasi

Dependensi (Ketergantungan)

Konsep dasar pada tahap normalisasi yang menjelaskan hubungan atribut atau secara lebih khusus menjelaskan nilai suatu atribut yang menentukan atribut lainnya.
Macam-macam dependensi, yaitu :

Dependensi fungsional

Definisi : Suatu atribut Y mempunyai dependensi fungsional terhadap atribut X jika dan hanya jika setiap nilai X berhubungan dengan sebuah nilai Y.
Notasi    :   X –> Y      (X secara fungsional menentukan Y)
Contoh   : Tabel Pesanan
Pembeli Kota Barang Jumlah
P1 Yogya B1 10
P1 Yogya B2 5
P2 Jakarta B1 4
P2 Jakarta B2 7
P3 Solo B3 6
P3 Solo B4 6
Pembeli secara fungsional menentukan kota, sebab setiap pembeli yang sama  mempunyai kota yang sama, dengan demikian :   Pembeli –> Kota
contoh lain                      :  {Pembeli, Barang}   –> Jumlah
Keterangan:
  • Bagian yang terletak disebelah kiri tanda panah biasa disebut DETERMINAN / PENENTU dan bagian yang terletak di sebelah kanan panah disebut DEPENDENSI / YANG TERGANTUNG.
  • Tanda {} biasanya digunakan untuk menentukan lebih dari satu atribut sebagai penentu atau sebagai yang tergantung.

TAHAPAN NORMALISASI


NORMALISASI
Kita telah mengetahui bahwa sasaran menyusun data base adalah untuk meminimalisasikan simpanan – simpana data yang berlebihan (tidak dikehendaki).Data yang Redudance ini bisa diminimalisasikan dengan meminilmalisasikan komposisi tabel data base.Tujuan dari Normalisasi adalah untuk menghilangkan Redudance (pemborosan),membuat data base yang baik dan handal yang bebas/terbebas dari Redudance. Yang dimaksud dengan pemborosan yaitu adanya kolom yang belum diisi atau adanya penggandaan/duplikasi.
Normalisasi tabel terdapat beberapa tingkatan yaitu :
1.       Normalisasi tingkat  1 ( The First normal form. 1 NF )
2.       Normalisasi tingkat 2( The secend normal form. 2 NF )
3.       Normalisasi tingkat 3 ( The three normal form. 3 NF )
4.       Normalisasi tingkat 4 ( The four normal form. 4 NF )
Bentuk Normal ke satu adalah bentuk normal yang tidak seperti normalisasi lain yan tidak membutuhkan informasi tambahan seperti ketergantungan fungsional (functional defendancy) Nilai atau domain dikatakan atomik jika nilai suatu atribut tidak bisa di bagi – bagi lagi menjadi unit – unit yang lebih kecil denan kata lain dalam bentuk normal pertama nilai untuk semua atribut adalah atomik (atribut terkecil). 



tabel normal pertama

Nama
Alamat
Kota
No_tlp
No_faktur
Nama barang
Merk
Harga
Qty
Jumlah harga
Total
Tgl
Petugas
Dendi
jl.Siliwangi 21
Cirebon
231901111
12345
laptop
Thosiba
2000000
2
4000000
5050000
09/04/2011
Indra
Dendi
jl.Siliwangi 21
Cirebon
231901111
12345
printer
epson
1000000
1
1000000
5050000
09/04/2011
Indra
Dendi
jl.Siliwangi 21
Cirebon
231901111
12345
DVD
3M
50000
1
50000
5050000
09/04/2011
Indra
Nobita
jl.Tuvaref 15
Cirebon
231900000
54321
Laptop
Toshiba
2000000
1
2000000
3500000
09/04/2011
indra
Nobita
jl.Tuvaref 15
Cirebon
231900000
54321
printer
epson
1000000
1
1000000
3500000
09/04/2011
indra
Nobita
jl.Tuvaref 15
Cirebon
231900000
54321
Hardisc
Seagete
500000
1
500000
3500000
09/04/2011
indra














                                                                        

bentuk tidak normal
Nama
Alamat
Kota
No_Tlp
No_faktur
Nama Barang
Merk
Harga
Qty
Jumlah Harga
Total
Tgl
Petugas
Dendi
jl.Siliwangi 21
Cirebon
231901111
12345
Laptop
Thosiba
2000000
2
4000000
5050000
09/04/2011
Indra




12345
printer
epson
1000000
1
1000000
5050000
09/04/2011





12345
DVD
3M
50000
1
50000
5050000
09/04/2011

Nobita
jl.Tuvaref 15
Cirebon
231900000
54321
Laptop
Thosiba
2000000
1
2000000
3500000
09/04/2011
Indra




54321
printer
epson
1000000
1
1000000
3500000
09/04/2011





54321
Hardisc
Seagete
500000
1
500000
3500000
09/04/2011


















Pelanggan
KD_PLG
NAMA
ALAMAT
KOTA
NO_TLP
PL - 001
Dendi
Jl. Siliwangi 21
Cirebon
231901111
PL - 002
Nobita
Jl. Tuvaref 15
Cirebon
231900000
Petugas
PETUGAS
KD_PTG
indra
PT - 001


Transaksi
KD_BRG
KD_PLG
QTY
JUMLAH HARGA
TOTAL
TGL
NO FAKTUR
KD_PTG
LPT688
PL - 001
2
2000000
5050000
09/04/2011
12345
PT - 001
PRT43E
PL - 001
1
1000000
5050000
09/04/2011
12345
PT - 001
DVD3M
PL - 001
1
50000
5050000
09/04/2011
12345
PT - 001
LPT688
PL – 002
1
2000000
3500000
09/04/2011
54321
PT - 001
PRT43E
PL – 002
1
1000000
3500000
09/04/2011
54321
PT - 001
HDS600
PL - 002
1
500000
3500000
09/04/2011
54321
PT - 001











Barang
KD_BRG
NAMA BARANG
MERK
HARGA
LPT688
Laptop
TOSHIBA
2000000
PRT43E
Printer
Epson
1000000
DVD3M
DVD
3M
50000
HDS600
Hardisc
Seagete
500000



Faktur
KD_PLG
NO FAKTUR
TOTAL
TGL
PL - 001
12345
5050000
09/04/2011
PL - 002
54321
3500000
09/04/2011



















TABEL  INDUK/MASTER ,3 NF ( the three Normalized form )
Pelanggan
NAMA
ALAMAT
KOTA
NO_TLP
Dendi
Jl. Siliwangi 21
Cirebon
231901111
Nobita
Jl. Tuvaref 15
Cirebon
231900000


KD_PLG
PL – 001
PL - 002


KD_PTG
PT - 001
Petugas
PETUGAS
indra






KD_BRG
LPT688
PRT43E
DVD3M
LPT688
PRT43E
HDS600


KD_PTG
PT - 001
PT - 001
PT - 001
PT - 001
PT - 001
PT - 001



KD_PLG
PL -0 01
PL - 001
PL - 001
PL - 001
PL - 002
PL - 002

No_faktur
Qty
Jumlah Harga
Total
Tgl
12345
2
4000000
5050000
09/04/2011
12345
1
1000000
5050000
09/04/2011
12345
1
50000
5050000
09/04/2011
54321
1
2000000
3500000
09/04/2011
54321
1
1000000
3500000
09/04/2011
54321
1
500000
3500000
09/04/2011


Proses Normalisasi

Proses normalisasi dalam basis data adalah proses untuk memperoleh properti skema relasi yang bagus.
Keuntungan normalisasi :
  1 Membuat sekecil mungkin terjadinya data rangkap

  2 Menghindarkan adanya data yang tidak Konsisten bila dilakukan penghapusan atau penambahan data.

  3 Menjamin bahwa key tabel secara tunggal sebagai determinan semua atribut.

Relasi (tabel) secara berurutatan diproses menjadi bentuk normal lebih tinggi yang memiliki redudansi lebih rendah.
Dalam proses menormalisasi data terdapat beragam tingkat bentuk normalisasi :

 1 Bentuk Normal pertama (1NF)
Bentuk Normal Pertama ini dicapai bila tiap nilai atribut adalah tunggal ( bukan atribut turunan). Dan kondisi ini dapat diperoleh dengan melakukan eliminasi terjadinya data rangkap.

  2 Bentuk Normal kedua (2NF)
Bentuk Norma kedua ini bukan utama harus bergantung fungsional penuh pada kunci relasi. Dan relasi harus telah berbentuk normal pertama.

   3 Bentuk Normal ketiga (3NF)
Pada Bentuk Normal ketiga ini relasi telah berbetuk normal kedua, relasi ini tidak boleh memuat kebergantungan fungsional diantara atribut bukan utama dan bentuk ketiga ini menghilangkan kebergantungan transitif.

Contoh Kasus


Tugas Konsep Basis Data — Contoh Kasus Normalisasi Tabel dalam Tiga Tahap
 ~ rain.08 ~
Berikut adalah sebuah tabel daftar anggota beberapa grup:
Nomor
Grup
Nama Grup
Id Anggota
Nama Anggota
Kode
Posisi
Posisi
070223
Trot
13202
   Heechul
S
   Visual
13208
   Eunhyuk
R
   Rapper
0611005
KRY
13204
   Yesung
L
   Leader
13213
   Kyuhyun
V
   Vocalist
080403
Mandarin
13208
   Eunhyuk
R
   Rapper
13209
   Siwon
S
   Visual
13213
   Kyuhyun
V
   Vocalist
Tabel 1.1
Berikut bentuk normalisasi pertamanya:
Nomor
Grup
Nama Grup
I Anggota
Nama Anggota
Kode
Posisi
Posisi
070223
Trot
13202
   Heechul
S
   Visual
070223
Trot
13208
   Eunhyuk
R
   Rapper
061105
KRY
13204
   Yesung
L
   Leader
061105
KRY
13213
   Kyuhyun
V
   Vocalist
080403
Mandarin
13208
   Eunhyuk
R
   Rapper
080403
Mandrin
13209
   Siwon
S
   Visual
080403
Mandarin
13213
   Kyuhyun
V
   Vocalist
Tabel 1.2
Pada tabel 1.2 terdapat kesalahan input pada field Nama Grup. Kesalahan seperti ini dapat terjadi lagi bila terdapat banyak input. Oleh karena itu perlu dilakukan normalisasi kedua.
Normalisasi kedua terdiri dari tiga tabel sbb:
Tabel 1.3. Tabel grup_anggota
Nomor Grup
Id Anggota
070223
13202
070223
13208
061105
13204
061105
13213
080403
13208
080403
13209
080403
13213

Tabel 1.4. Tabel Grup
Nomor Grup
Nama Grup
070223
Trot
061105
KRY
080403
Mandarin

Tabel 1.5. Tabel Anggota
Id Anggota
Nama Anggota
Kode
Posisi
Posisi
13202
  Heechul
S
  Visual
13208
  Eunhyuk
R
  Rapper
13204
  Yesung
L
  Leader
13213
  Kyuhyun
V
  Visual
13209
  Siwon
S
  Visual
Pada tabel 1.5 terdapat kesalahan input di mana posisi dan kode posisi anggota tidak sesuai. Untuk itu dilakukan normalisasi ketiga untuk menghindari terjadinya kesalahan input seperti di atas.
Bentuk normalisasi ketiga:
Tabel 1.6. Tabel Anggota
Id Anggota
Nama Anggota
Kode
Posisi
13202
   Heechul
S
13208
   Eunhyuk
R
13204
   Yesung
L
13213
   Kyuhyun
V
13209
   Siwon
S
Tabel 1.7. Tabel Posisi
Kode Posisi
Posisi
S
   Visual
R
   Rapper
L
   Leader
V
   Vocalist
Normalisasi ketiga dilakukan untuk membuat tabel tersendiri untuk kode posisi dan posisi.
Demikian salah satu contoh kasus normalisasi tabel.