Normalisasi

 Anomali

Anomali merupakan proses pada basisdata yang memberikan efek samping yang tidak diharapkan, Anomali ini terjadi karena struktur tabel yang kita buat memiliki masalah. Masalah ini akan meningkatkan kompleksitas daata dan menyulitkan dalam pemodifikasian data itu sendiri. Sehingga harus dilakukan cara-cara yang disebut dengan normalisasi. Terdapat 3 jenis anomali data antara lain

Anomali update: Anomali update merupakan masalah yang timbul saat terjadi perubahan terhadap sejumlah data yang mubazir, tetapi tidak seluruhnya diubah. Contoh : Jika PT. Kencan pindah ke Surabaya, kemudian perubahan data hanya dilakukan pada data pertama, sedangkan data yang lain tetap, maka akan terjadi inkonsistensi data pada PT. Kencana. Jika hasil data setelah diubah menjadi seperti tabel nomor 2, maka orang akan bingung apakah PT. Kencana ada dua ? satu di bandung dan satu lagi di surabaya, padahal PT. Kencana hanya ada satu dan sudah pindah tempat ke Surabaya.


Solusi untuk anomali update dalam kasus ini adalah supplier dan kota dijadikan dalam satu tabel dalam tabel pertama, dengan kode_supplier sebagai primary keynya. Kemudian barulah kode_suplier dipakai untuk melengkapi tabel kedua. Dengan cara seperti ini kita hanya perlu merubah kota pada tabel pertama, dan otomatis semua data akan berubah.


Anomali Penambahan : Anomali penambahan merupakan masalah yang timbul saat melakukan penambahan data. Namun data itu adalah Primary Key atau elemen kunci. Contohnya seperti tabel dibawah menunjukkan bahwa jenis kursus bahasa hanya ada 3, dan kursus bahasa lain tidak akan dapat ditambah kecuali jika ada siswa yang mengambil kursus tersebut

Untuk penyelesaian masalah ini tabel perlu dipecah seperti kasus anomali penyisipan. Contoh tabelnya seperti dua tabel dibawah, hanya saja pada tabel kursus ditambah dengan biaya.


Anomali penghapusan : Anomali penghapusan merupakan masalah yang timbul saat melakukan penghapusan data, akibatnya data lain ikut terhapus atau hilang. Contohnya seperti Jika siswa dengan no_siswa S02 batal mengambil kursus, sehingga datanya dihapus, maka data yang menyatakan biaya kursus bahasa mandarin juga akan terhapus.

Untuk penyelesaian masalah ini tabel perlu dipecah seperti kasus anomali penyisipan. Contoh tabelnya seperti dua tabel dibawah, hanya saja pada tabel kursus ditambah dengan biaya


Normalisasi

Normalisasi merupakan proses menstrukturkan /mendekomposisi data dalam cara-cara tertentu untuk mencegah timbulnya permasalahan pengolahan data dalam basis data. Permasalahan yang di maksud adalah berkaitan dengan penyimpangan-penyimpangan (anomalies) yang terjadi akibat adanya kerangkapan data dalam relasi dan in-efisiensi pengolahan


Tujuan Normalisasi data

  • Untuk menghilangkan kerangkapan data
  • Untuk mengurangi kompleksitas
  • Untuk mempermudah pemodifikasi data

Proses Normalisasi

  • Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertenty ke beberapa tingkat
  • Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.


Level Normalisasi

Level normalisasi atau sering di sebut sebagai bentuk normal suatu relasi, dijelaskan berdasarkan kriteria tertentu pada bentuk normal. Bentuk normal yang di kenal hingga saat ini meliputi bentuk 1NF,2NF,3NF,BCNF,4NF,5NF,DKNF, dan RUNF. Secara berturut-turut masing-masing level normal tersebut akan di bahas dari bentuk tidak normal yang dari tahap 1NF hingga ke tahap normalisasi yang sudah sesuai dengan syarat bentuk normal suatu data.

 

Relasi bentuk tidak normal (Un Normalized Form/UNF)

Relasi bentuk tidak normal merupakan relasi-relasi yang dirancang tanpa mengindahkan batasan dalam definisi basis data dan karakteristik RDBM. Bentuk ini harus dihindari dalam perancangan relasi dalam basis data.

Relasi UNF mempunyai kriteria antara lain :

  1. Jika relasi mempunyai bentuk non flat file (dapat terjadi akibat data disimpan sesuai dengan kedatangannya, tidak memiliki struktur tertentu, terjadi duplikasi atau tidak lengkap).
  2. Jika ralasi memuat set atribut berulang (non single value).
  3. Jika relasi memuat atribut non atomic value

 

Relasi bentuk normal pertama (First Normal Form/ 1NF)

Suatu relasi dapat disebut dengan 1NF apabila memenuhi kriteria sebagai berikut:

  • Jika seluruh atribut dalam relasi bernilai atomic (atomic value)
  • Jika seluruh atribut dalam relasi bernilai tunggal (single value)
  • Jika relasi tidak memuat set atribut berulang
  • Jika semua record mempunyai sejumlah atribut yang sama

Artinya suatu data dapat dikatakan normal apabila setiap atribut yang dimilikinya memiliki satu dan hanya satu nilai. Apabila ada atribut yang memiliki nilai lebih dari satu, atribut tersebut adalah kandidat untuk menjadi entitas tersendiri.

Permasalahan dalam 1NF adalah sebagai berikut:

  • Tidak dapat menyisipkan informasi persial
  • Terhapusnya informasi ketika menghapus sebuah record
  • Pembaruan atribut non-key mengkibatkan sejumlah record harus diperbarui

Mengubah relasi UNF menjadi 1NF dapat dilakukan dengan cara sebagai berikut:

  • Melengkapi nila-nilai dalam atribut
  • Mengubah struktur relasi

Bentuk Normal Kedua (Second normal Form/ 2NF)

Relasi disebut 2NF apabila memenuhi kriteria sebagai berikut:

  • Jika memenuhi kriteria 1NF
  • Jika semua aitribut nonkunci FD pada PK

model data yang dapat dikatakan memenuhi bentuk normal kedua apabila ia memenuhi bentuk normal pertama dan setiap atribut non-identifier sebuah entitas bergantung sepenuhnya hanya pada semua identifier entitas tersebut.

Pemasalahan dalam 2NF adalah sebagai berikut:

  • Kerangkapan data (data redundancy)
  • Pembaharuan yang tidak benar dapat menimbulakan inkonsistensi data (data inconsistency)
  • Proses pembaruan data efisien
  • Penyimpangan pada saat penyisipan, penghapusan, dan pembaharuan

Kriteria tersebut mengindikasikan bahwa di antaraatribut dalam 2NF masih mungkin mengalami TDF. Selain itu, relasi 2NF menuntut telah didefinisikan atribut PK dalam relasi.

Untuk mengubah relasi 1NF menjadi bentuk 2NF dapat dilakukan dengan mengubah struktur relasi dengan cara:

  • Identifikasi FD relasi 1NF (jika perlu gambarkan diagram ketergantungan datanya)
  • Berdasarkan informasi tersebut, dekomposisi relasi 1NF menjadi relasi-relasi baru sesuai FD-nya. Jika menggunakan diagram maka simpul-simpul yang berada pada puncak diagram ketergantungan data bertindak sebagai PK pada relasi baru.

 

Bentuk Normal Ketiga(Third Normal Form/ 3NF)

Suatu relasi disebut sebagai 3NF jika memenuhi kriteria sebagai berikut:

  • Jika memenuhi kriteria 2NF.
  • Jika setiap atribut nonkunci tidak TDF (non tramsitive dependenc) terhadap PK.

Sebuah model data dikatakan memenuhi bentuk normal ketiga apabila ia memenuhi bentuk normal kedua dan tidak ada satupun atribut non-identifying (bukan pengidentifikasi unik) yang bergantung pada atribut non-identifying lain. Apabila ada, pisahkan salah satu atribut tersebut menjadi entitas baru, dan atribut yang bergantung padanya menjadi atribut entitas baru tersebut.

Permasalahan dalam 3NF adalah keberadaan penentu yang tidak merupakan bagian dari PK menghasilkan duplikasi rinci data pada atribut yang berfungsi sebagai FK (duplikasi berbeda dengan kerangkapan data).

Mengubah relasi 2NF menjasi bentuk 3NF dapat dilakukan dengan mengubah struktur relasi dengan cara sebagai berikut:

  • Identifikasi TDF relasi 2NF (jika perlu gambarkan diagram ketergantungan datanya)
  • Berdasarkan informasi tersebut, dekomposisi relasi 2NF menjadi relasi-relasi baru sesuai TDF-nya. Jika menggunakan diagram maka simpul-simpul yang berada pada puncak diagram ketergantungan data bertindak sebagai PK pada relasi baru.

Misalkan:

Terhadap relasi R dengan sifat sebagai berikut:

a) R=(A,B,C) dengan PK=A

b) FD:R.B?R.C

Maka relasi R perlu di dekomposisi menjasi relasi-relasi R1 dan R2, yaitu:

a) R1=(B,C)

b) R2=(A,B), FK: B references R1


Comments

Popular posts from this blog

ERD (Entity Relationship Diagram)

Project Life Cycle dan Metodologi Pengembangan Perangkat Lunak

Perancangan Sistem 2