Normalisasi database

29 November 2012 14:49:18 Dibaca : 1757

Normalisasi pada data base

 

·      Definisi/pengertian Normalisasi

 

Istilah Normalisasi berasal dari E. F.Codd, salah seorang perintis teknologi basis data. selain dipakai sebagai metodologi tersendiri untuk menciptakan struktur tabel 9relasi) dalam basis data (dengan tujuan utnuk mengurangi kemubaziran data)  , normalisasi terkadang hanya diipakai sebagai perangkat verifikasi terhadap tabel-tabel yang dihasilkan oleh metodologi lain ( misalnya E-R). Normalisasi memberikan panduan yang sangat membantu bagi pengembang untuk mencegah penciptaan struktur tabel yang kurang fleksibel atau mengurangi keflekxibelan.

 

Kroenke mendefinisikan normalisasi sbagai proses untuk mengubah suatu relasi yang memiliki masalah tertentu ke dalam dua buah relasi atau lebih yang tida memiliki masalah tersebut. Masalah yang dimaksud oleh kroenke ini sering disebut dengan istilah anomali.

 

Normalisasi adalah proses pengelompokan atribute-atribute dari suatu relasi sehingga membentuk WELL STRUCTURE RELATION.

 

Keuntungan dari normalisasi, yaitu :

 

1.    Meminimalkan ukuran penyimpanan yang diperlukan untuk menyimpan data.

 

2.    Meminimalkan resiko inkonsistensi data pada basis data

 

3.    Meminimalkan kemungkinan anomali pembaruan

 

4.    Memaksimalkan stabilitas struktur data

 

WELL STRUCTURE RELATION adalah sebuah relasi yang jumlah kerangkapan datanya sedikit (minimum Amount Of Redundancy), serta memberikan kemungkinan bagi user untuk melakukan INSERT, DELETE, dan MODIFY terhadap baris-baris data pada relation tersebut, yang tidak berakibat terjadinya ERROR atau INKONSESTENSI DATA, yang disebabkan oleh operasi –operasi tersebut.

 

·      Anomali

 

Anomali adalah proses pada basis data yang memberikan efek samping yang tidak diharapkan ( misalnya menyebabkan ketidakonsistenan data atau membuat suatu data menjadi hilang ketika data dihapus)

 

Macam Anomali terdiri dari

 

  • Anomali peremajaan,
  • Anomali Penghapusan, dan
  • Anomali penyisipan

 

Anomali peremajaan

 

Anomali ini terjadi bila ada perubahan pada sejumlah data yang mubazir, tetapi tidak seluruhnya diubah. Contoh : Tabel Pesanan

 

Pemasok

Kota

Barang

Jumlah

Kartika

Jakarta

Mouse

5

Citra

Bandung

Monitor

2

Yudi

Medan

CPU

2

Citra

Bandung

Printer

1

 

Seandainya Citra dengan kota Bandung pindah ke Bogor maka pengubahan data hanya dilakukan pada data pertama menjadi : Tabel Pesanan

 

Pemasok

Kota

Barang

Jumlah

Kartika

Jakarta

Mouse

5

Citra

Bogor

Monitor

2

Yudi

Medan

CPU

2

Citra

Bandung

Printer

1

 

Di sini terlihat bahwa data tentang pemasok Citra tidak sama yang menyebabkan ketidakkonsistenan data.

 

Anomali Penyisipan

 

Anomali ini terjadi pada saat penambahan data ternyata ada elemen yang kosong dan elemen tsb justru menjadi key. Contoh : Tabel Kursus

 

NoSiswa

Kursus

Biaya

10

Bhs.Inggris

60000

10

Bhs.Perancis

80000

10

Bhs.Jepang

70000

15

Bhs.Inggris

60000

20

Bhs.Jepang

70000

 

Misalnya akan dibuka kursus baru yaitu Bhs.Jerman dengan biaya 75000 akan tetapi belum ada seorangpun yang ikut kursus ini, shg data menjadi : Tabel Kursus

 

NoSiswa

Kursus

Biaya

10

Bhs.Inggris

60000

10

Bhs.Perancis

80000

10

Bhs.Jepang

70000

15

Bhs.Inggris

60000

20

Bhs.Jepang

70000

 

Bhs.Jerman

75000

 

 

 

 

 

 

 

 

 

Anomali penghapusan

 

Anomali ini terjadi apabila dalam satu baris/ tuple ada data yang akan dihapus sehingga akibatnya terdapat data lain yang hilang. Contoh pada table kursus data NoSiswa 20 akan dihapus karena sudah tidak ikut kursus lagi sehingga akibatnya data kursus bhs jepang dan biaya 70000 akan ikut terhapus.

 

·      Jenis-Jenis Kunci (Key)

 

Key  atau  kunci  adalah  suatu  field  yang  dapat  mewakili  dari  suatu  record.  Misal  :  nobp

 

merupakan field kunci dari entity mahasiswa, sehingga setiap melakukan pencarian atas entity

 

mahasiswa  cukup  menyebutkan  nobp  saja,  maka  field  nama,  jurusan  dan  alamat  dapat

 

diketahui.  Syarat  utama  pemilihan  suatu  field  kunci  dari  entity  adalah  field  tersebut  harus  unik dan tidak boleh bernilai NULL.

 

Ada 4 jenis dari key ini :

 

a)    Candidate Key (Kunci Calon)

 

Sebuah attribute atau lebih yang secara unit mengidentifikasi sebuat record, disebut candidate key. Attribute ini mempunyai nilai yang unik pada hampir setiap recordnya. Fungsi dari  candidate key ini adalah sebagai calon primary key. Misal : Entity dosen dalam database akademik :

 

 

 

 

Kode Dosen

NIP

Nama_Dosen

Alamt

Pendidikan

01

12345678

Rahmawaty Naki SE.Ak, M.si

Gorontalo

S2

02

23456789

Anwar Thalib S.T

Gorontalo

S1

03

34567890

Nurlela Mohammad S.Ag

Gorontalo

S1

04

45678901

Dhindra Mokodongan S.H, M.Hum

Gorontalo

S2

 

Tabel dosen

 

Dalam  kasus  ini,  field  KodeDosen  dan  NIP  merupakan  Candidate  Key  karena  masing-masing bersifat unik dan tidak boleh ada yang sama atau bernilai Null.

 

b)   Primary Key (Kunci Utama)

 

Merupakan  candidate  key  yang  telah  dipilih  untuk  mengidentifikasi  setiap  record  secara  unik. Primary  key  harus  merupakan  field  yang  benar-benar  unik  dan  tidak  boleh  ada  nilai  NULL. Misal  : Perhatikan  kembali  entity  dosen  di  atas,  yaitu  mempunyai  dua  Candidate  Key,  maka anda  dapat  mengambil  field  KodeDosen  sebagai  Primary  Key,  Karena  lebih  sederhana  dalam jumlah  digit  dan  unik.  Boleh  juga  menggunakan  NIP  sebagai  Primary  Key-nya,  hal  ini tergantung kepada si perancang database itu sendiri.

 

c)    Alternate Key (Kunci Alternatif)

 

Adalah candidate key yang tidak terpilih. Misal : dalam suatu entity terdapat dua field yang bisa dijadikan sebagai  kunci.  Sementara  yang  boleh  dijadikan  kunci  hanya  satu,  maka  anda  harus memilih salah satu. Field yang anda pilih, disebut primary key, sedangkan field yang tidak dipilih disebut dengan alternate key. Misal : Kembali ke kasus entity dosen diatas, jika anda pilih field KodeDosen  sebagai  Primary  Key, maka otomatis  field  NIP  menjadi  Alternate  Key-nya,  begitu juga sebaliknya.

 

d)   Foreign Key (kunci Tamu)

 

Jika  sebuah  primary  key  terhubungan  ke  table/entity  lain,  maka  keberadaan  primary key  pada entity  tersebut  di  sebut  sebagai  foreign  key.  Misal  :  Primary  Key KodeDosen  dari  entity  Dosen digunakan  juga  pada  field  entity  KRS,  maka  keberadaan  field  KodeDosen  pada  entity  KRS disebut sebagai foreign key.

 

·      Bentuk Normalisasi

 

Aturan-aturan  normalisasi  dinyatakan  dalam  istilah bentuk  normal.  Bentuk  normal  adalah suatu aturan yang dikenakan pada entity-entity dalam database dan harus dipenuhi oleh entity-entity tersebut  sehingga  tercapai  normalisasi.  Suatu  entity  dikatakan  dalam  bentuk  normal apabila  entity  tersebut  memenuhi  aturan  pada  bentuk  normal  tersebut.  Proses  normalisasi dilakukan  secara  bertingkat.  Pada  tingkat  ketiga  (Third  Normal  Form,  3NF)  sebenarnya  telah dapat menghasilkan suatu rancangan database yang baik.

 

Aturan-aturan dalam masing-masing bentuk normalisasi tersebut adalah sebagai berikut (Abdul Kadir, 2002: 54) :

 

a.    Bentuk tidak normal

 

Bentuk ini merupakan kumpulan data yang akan disimpan, tidak ada keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi dan data dikumpulkan apa adanya.

 

b.     Bentuk normal pertama

 

Suatu tabel dikatakan dalam bentuk normal pertama (1NF) bila setiap kolom bernilai tunggal untuk setiap baris. Ini berarti bahwa nama kolom yang berulang cukup diwakili oleh sebuah nama  kolom (tidak perlu ada indeks dalam memberi nama kolom).

 

c.     Bentuk normal kedua

 

Suatu tabel berada dalam bentuk normal kedua (2NF) jika tabel berada dalam bentuk normal pertama, semua kolom bukan kunci primer tergantung sepenuhnya terhadap kunci primer. Suatu kolom disebut tergantung sepenuhnya terhadap kunci primer jika nilai pada suatu kolom selalu bernilai sama untuk suatu nilai kunci primer yang sama.

 

d.    Bentuk normal ketiga

 

Suatu tabel berada dalam bentuk normal ketiga (3NF) jika  tabel berada dalam bentuk normal kedua, setiap kolom bukan kunci primer tidak memiliki ketergantungan secara transitif terhadap kunci primer.

 

·      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

Kategori

  • Masih Kosong

Blogroll

  • Masih Kosong
UPT.TIK UNG © 2012 - 2020
Content By NURBAYA MARUAE ® 17 Oct 2012