jump to navigation

BAB 5 – NORMALISASI BASIS DATA Maret 16, 2010

Posted by pnjtkj2010 in Basis Data 1, Materi Perkuliahan, Semester 2.
add a comment

5.1 Jenjang Data

Untuk itu sebuah basis data yang baik harus memiliki kategori-kategori yang digunakan sebagai pengelompokan data-data. Penggunaan basis data pada komputer dilakukan dengan menggunakan tabel-tabel. Pada tabel-tabel tersebut masih dikelompokkan lagi menjadi beberapa bagian untuk membedakan data yang satu dengan data yang lain. Pada sebuah tabel basis data harus memiliki satu kategori data yang digunakan sebagai kunci untuk membedakan data-data yang ada didalam satu tabel. Data kunci tersebut tidak boleh sama antara satu data dengan data yang lain. Data kunci sering disebut dengan Primary Key. Dalam basis data terdapat jenjang atau urutan data mulai dari kumpulan yang terkecil sampai yang terbesar. Jenjang data dapat Anda lihat pada gambar di bawah ini.

Penjelasan sebagai berikut :

  • Characters : merupakan bagian data yang terkecil, dapat berupa karakter numerik, huruf ataupun karakter-karakter khusus (special characters) yang membentuk suatu item data field.
  • Field : merepresentasikan suatu atribut dari record yang menunjukkan suatu item dari data, seperti misalnya nama, alamat dan lain sebagainya. Kumpulan dari field membentuk suatu record.
    • field name: harus diberi nama untuk membedakan field yang satu dengan lainnya
    • field representation: tipe field (karakter, teks, tanggal, angka, dsb), lebar field (ruang maksimum yang dapat diisi dengan karakter-karakter data).
    • field value: isi dari field untuk masing-masing record.
  • Record : Kumpulan dari field membentuk suatu record. Record menggambarkan suatu unit data individu yang tertentu. Kumpulan dari record membentuk suatu file. Misalnya file personalia, tiap-tiap record dapat mewakili data tiap-tiap karyawan.
  • File /tabel : File terdiri dari record-record yang menggambarkan satu kesatuan data yang sejenis. Misalnya file mata pelajaran berisi data tentang semua mata pelajaran yang ada.
  • Basis data : Kumpulan dari file / tabel membentuk suatu basis data

Macam-macam tabel data berdasarkan fungsinya ialah :

1. File Induk (master File)

a. file induk acuan (reference master file) : file induk yang recordnya relatif statis, jarang berubah nilainya. Misalnya file daftar gaji, file mata pelajaran.

b. file induk dinamik (dynamic master file): file induk yang nilai dari record-recordnya sering berubah atau sering dimutakhirkan (update) sebagai hasil dari suatu transaksi. Misalnya file induk data barang, yang setiap saat harus di up-date bila terjadi transaksi.

2. File Transaksi (transaction file)

File ini bisa disebut file input; digunakan untuk merekam data hasil dari transaksi yang terjadi. Misalnya file penjualan yang berisi data hasil transaksi penjualan.

3. File Laporan (Report file)

File ini bisa disebut output file, yaitu file yang berisi informasi yang akan ditampilkan.

4. File Sejarah (history file)

File ini bisa disebut file arsip (archival file), merupakan file yang berisi data masa lalu yang sudah tidak aktif lagi, tetapi masih disimpan sebagai arsip.

5. File Pelindung (backup file)

File ini merupakan salinan dari file-file yang masih aktif di dalam basis data pada suatu saat tertentu. File ini digunakan sebagai pelindung atau cadangan bila file basis data yang aktif mengalami kerusakan atau hilang.

5.2 Teknik Normalisasi

Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data, teknik pengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi).

Normalisasi Pertama (1st Normal Form)

Aturan :

  • Mendefinisikan atribut kunci
  • Tidak adanya group berulang
  • Semua atribut bukan kunci tergantung pada atribut kunci

Normalisasi Kedua (2nd Normal Form)

Aturan :

  • Sudah memenuhi dalam bentuk normal kesatu
  • Sudah tidak ada ketergantungan parsial, dimana seluruh field hanya tergantung pada sebagian field kunci.

Normalisasi Ketiga (3rd Normal Form)

Aturan :

  • Sudah berada dalam bentuk normal kedua
  • Tidak ada ketergantungan transitif (dimana field bukan kunci tergantung pada field bukan kunci lainnya).

Bentuk Normal seharusnya berada dalam bentuk normal tertinggi dan bergerak dari bentuk normal satu dan seterusnya untuk setiap kali membatasi hanya satu jenis redudansi. Keseluruhannya cuma ada lima bentuk normal. Tiga bentuk normal pertama menekankan redudansi yang muncul dari Function Dependencies sedangkan bentuk keempat dan kelima menekankan redudansi yang muncul dari kasus Multi Valued Dependencies.

Untuk mendapatkan hasil yang paling normal, maka proses normalisasi dimulai dari normal pertama. Field-field tabel di atas yang merupakan group berulang : Employee number, Employee name, Rate category, Hourly rate.

5.3 Bentuk – Bentuk Normalisasi

1) Normalisasi Pertama :

Solusinya hilangkan duplikasi dengan mencari ketergantungan parsial; menjadikan field-field menjadi tergantung pada satu atau beberapa field, bukan seluruhnya. Karena yang dapat dijadikan kunci adalah Project Number dan Employee Number, maka langkah kemudian dicari field-field mana yang tergantung pada Project Number dan mana yang tergantung pada Employee Number.

Ada beberapa keanehan dalam data pada tabel di atas. Adanya kesalahan penulisan data pada kolom project name record ketiga. Kemungkinan kesalahan penulisan data semakin bertambah seiring bertambahnya record.

2) Normalisasi Kedua :

Field-field yang tergantung pada satu field haruslah dipisah dengan tepat, misalnya Project Number menjelaskan Project Name dan Employee Number menjelaskan Employee Name, Rate Category dan Hourly Rate. Untuk membuat hubungan antara dua tabel, dibuat suatu tabel yang berisi key-key dari tabel yang lain.

  • Pada tabel Project dapat dilihat bahwa Project Name hanya disimpan sekali.
  • Secara jelas bahwa pada tabel employee project tabel mengisi data yang berulang-ulang. Tapi paling tidak lebih efisien dan mengurangi resiko kesalahan dalam penulisan data yang panjang.
  • Basis data di atas masih belum sempurna. Masih ada anomali pada data.

3) Normalisasi Ketiga :

Pada tabel diatas masih terdapat masalah, bahwa Employee Number 17 mendapatkan hourly rate yang tidak sesuai dengan rate category nya. Solusinya adalah kita harus mencari hubungan transitif (transitive relation) dimana field non-key tergantung pada field non-key lainnya. Artinya kita harus memisahkan fielfd non-kunci Rate Category yang tadinya tergantung secara parsial kepada field kunci Employee Number, untuk menghilangkan anomali penulisan data pada field hourly rate.

Tabel-tabel yang memenuhi kriteria normalisasi ketiga, sudah siap diimplementasikan. Sebenarnya masih ada lagi bentuk normalisasi yang lain; Normalisasi Boyce-Codd dan normalisasi keempat, hanya saja sangat jarang dipakai. Pada kebanyakan kasus, normalisasi hanya sampai ketiga.