Normalisasi di Basis Data

Definisi Sistem Basis Data emerer.com
Definisi Sistem Basis Data
4 June 2012
Contoh script php mengupdate data MySQL (updatebarang.php)
18 June 2012

Normalisasi di Basis Data

Normalisasi di Basis Data emerer.com

Beberapa istilah relasi

Beberapa relasi berkaitan dengan penyebutan relasi:

  1. Relasi tak gayut/ independen untuk penyebutan relasi yang berasal dari entitas reguler/dominan.
    Ciri: tidak memiliki FK
    Contoh : Relasi Mahasiswa dan Relasi Matakuliah
  2. Relasi asisiatif , untuk menyatakan relasi yang mempunyai jenis kerelasian n-ke-n.
    Ciri : memiliki lebihdari 1 FK.
    Contoh: Relasi KRS
  3. Relasi karakteristik, untuk menyatakan sebuah relasi dari entitas dependen.
    Ciri : pada umumnya mempunyai kerelasian n-ke-1 terhadap induknya
    Contoh : Relasi KRS
  4. Subrelasi, untuk menyatakan relasi yang berasal dari sub type entity
    Saat akhir perancangan basis data biasanya akan digabung dengan siper relasi.

 

Penyimpangan penyimpangan / anomallies dalam modifikasi data.

Menurut Gio Weiderhold (1988) , penyimpangan yang harus dihindari dalam modifikasi data meliputi:

Penyimpangan penghapusan / delete anomally

Adalah proses penghapusan yan mengakibatkan hilangnya informasi rinci data lain yang tidak memiliki kerelasian secara logik.    Contoh:

NIS Nama_Siswa Jenis_Kursus Instruktur Periode
101 Iin Komputer Irsyad Mei 2012
102 Aan Bahasa Inggris Rasid Juni 2012

Penyimpangan penyisipan  / insert anomally

Adalah suatu proses penyisipan suatu nilai rinci data yang mengakibatkan perlunya penyisipan pada nilai rinci data lain yang tidak memiliki kerelasian secara logik.

Contoh:

NIS Nama_Siswa Jenis_Kursus Instruktur Periode
101 Iin Komputer Irsyad Mei 2012
102 Aan Bahasa Inggris Rasid Juni 2012

Penyimpangan pembaharuan / update anomally

Adalah suatu proses pembaharuan/update  suatu nilai rinci data yang mengakibatkan perlunya mengubah  pada nilai rinci data lain yang tidak memiliki kerelasian secara logik.

Contoh:

NIK Nama_Karyawan Golongan_Gaji Gaji_Pokok
1001 Asad IIIB 2500000
1002 Yuli IIIA 1950000
1003 Arum IIIB 2500000

 

Ketergantungan Data / data dependency

Permasalahan yang muncul dalam struktur relasi dapat ditemukan dengan cara mengetes ketergantungan relatif nilai nilai rinci data terhadap PK.

Yang paling baik dilakukan adalah jika struktur relasi dirancang sedemikian rupa sehingga atribut atribut non kunci hanya bergantung pada atribut PK dan tidak memiliki ketergantungan pada atribut lain.

Ketergantungan data terdiri atas:

  1. Ketergantungan fungsional / functionally defedency / FD
  2. Ketergantungan fungsiona penuh/ full functionally defedency / FFD
  3. Ketergantungan transitif / transitive defedency / TDF
  4. Ketergantungan Total / total depedency / TD

1. Ketergantungan fungsional / functionally defedency / FD

FD muncul jika nilai rinci data pada suatu atribut menentukan nilai rinci data pada atribut lainnya.

Atribut (X) dikatakan berketergantungan secara fungsional terhadap atribut lainnya (Y) jika:

–      setiap nilai X berkaitan dengan sebuah nilai pada Y

–      untuk setiap record yang memiliki sembarang nilai X selalu berhubungan dengan nilai Y yang sama.

FD : R.X -> R.Y

FD : Functioanal Defendency

R         : Relasi

X         : Atribut penentu (determines) , yaitu CK.

Y         : atribut yang bergantung (dependent)

Contoh:

Relasi Tour

No_Anggota Nama Alamat_Lokal Tujuan Biaya Tanggal
1111 Sari Batu aji Jakarta 600000 6-6-2012
1112 Dwi Jodoh Bali 1200000 8-8-2012

FD : R.X -> R.Y

FD : (Tour.No_Anggota, Tour.Tujuan, Tour.Tanggal)

(Tour.Nama, Tour.Alamat_Lokal, Tour.Biaya)

2. Ketergantungan fungsional penuh / full functionally defedency / FFD

Dikatakan FFD jika FD pada suatu atribut dan tidak FD pada bagian lain dari kombinasi atribut.

Atribut (Y) mempunyai ketergantungan fungsional penuh terhadap atribut X  jika:

–      Y functionally dependency terhadap X

–      Y tidak functionally dependency terhadap bagian tertentu dari X

FFD : R.X -> R.Y

FFD : Full Functioanal Defendency

R         : Relasi

X         : Atribut penentu (determines) , yaitu CK.

Y         : atribut yang bergantung (dependent)

Contoh:

Relasi Tour

No_Anggota Nama Alamat_Lokal Tujuan Biaya Tanggal
1111 Sari Batu aji Jakarta 600000 6-6-2012
1112 Dwi Jodoh Bali 1200000 8-8-2012

FFD : R.X -> R.Y

FD : (Tour.Tujuan, Tour.Tanggal) à (Tour.Biaya)

FD : (Tour.No_Anggota) à (Tour.Nama, Tour.Alamat_Lokal)

3. Ketergantungan transitif / transitive defedency / TDF

TDF muncul jika suatu nilai pada atribut pertama menentukan nilai pada atribut kedua yang bukan CK dan nilai pada atribut kedua menentukan nilai pada atribut ketiga.

Atribut Zdikatakan mengalami ketergantungan transitif terhadap X,  jika:

–      Y functionally dependency terhadap X

–      Z functionally dependency terhadap Y

TFD : R.X -> R.Y->R.Z

TFD : Transitive Defendency

R         : Relasi

X         : Atribut penentu (determines) , yaitu CK.

Y         : atribut yang bergantung  terhadap X dan penentu terhadap Z

Z          : atribut yang tergantung terhadap Y

Contoh:

Relasi Karyawan

NIK Nama_Karyawan Golongan_Gaji Gaji_Pokok
1001 Asad IIIB 2500000
1002 Yuli IIIA 1950000
1003 Arum IIIB 2500000

FFD : R.X -> R.Y->R.Z

 TDF : (Karyawan.NIK)          à (Karyawa.Golongan_Gaji)

à (Karyawan.Gaji_Pokok)

4. Ketergantungan Total / total defedency / TD

Atribut Y dikatakan mengalami ketergantungan total ,  jika:

–      Y functionally dependency terhadap X

–      X functionally dependency terhadap Y

TD : R.X ß -> R.Y

 TD : Total Defendency

R         : Relasi

X         : Atribut penentu (determines) , sekaligus bergantung pada Y

Y         : atribut yang bergantung  dan penentu terhadap Z

Contoh:

Relasi Karyawan

NIK Nama_Karyawan Golongan_Gaji Gaji_Pokok
1001 Asad IIIB 2500000
1002 Yuli IIIA 1950000
1003 Arum IIIB 2500000

FFD : R.X ß-> R.Z

 TDF : (Karyawa.Golongan_Gaji) ßà (Karyawan.Gaji_Pokok)

Menggunakan diagram ketergantungan data:

–      Cara 1: secara horisontal

–      Cara 2 : secara vertikal

Langkahnya:

  1. tempatkan setiap atribut yang menjadi penentu pada sebuah garis horisontal yang berupa titik sebagai penghubung.
  2. identifikasi setiap atribut yang bergantung pada atribut penentu tersebut.
  3. gambarkan hal tersebut dengan menggunakan panah kebawah.
  4. identifikasi dan gambarkan ketergantungan data.

Cara 1:

No_Anggota                                                                           Tanggal+Tujuan

Nama_Anggota            Alamat_Lokal                                                            Biaya

Cara 2:

Tujuan

No_Anggota

Alamat_Lokal

Nama_Anggota

Biaya

Tanggal

 

Definisi Normalisasi

Normalisasi diartikan sebagai suatu teknik yang menstrukturkan / mendekomposisi data dalam cara cara tertentu untuk mencegah timbulnya permasalahan pengolahan data dalam basis data.

Permasalahan yang dimaksud adalah berkaitan dengan penyimpangan penyimpangan yang terjadi akibat adanya kerangkapan data dalam relasi dan in-efisien pengolahan data.

Proses normalisasi menghasilkan relasi yang optimal, yaitu:

  1. memiliki struktur record yang konsisten secara logik.
  2. memiliki struktur record yang mudah untuk dimengerti.
  3. memiliki struktur record yang sederhana dalam pemeliharaan.
  4. memiliki struktur record yang mudah ditampilkan kembali untuk memenuhi kebutuhan pengguna.
  5. meminimalkan kerangkapan data guna meningkatkan kinerja sistem.

 

 Level Normalisasi

Bentuk normal yang dikenal hingga saat ini meliputi bentuk 1NF, 2NF, 3NF, BCNF, 4NF , 5NF, DKNF dan RUNF:

Relasi bentuk tidak normal / un normalized form /UNF

Relasi yang dirancang tanpa mengindahkan batasan dalam definasi basis data dan karakteristik RDBM,

Mempunyai  kriteria:

  1. jika relasi mempunyai bentuk non flat file.
  2. jika relasi memuat set atribut berulang / non single value.
  3. jika relasi memuat atribut non atomic.

Relasi bentuk pertama / first norm form / INF

harus memnuhi kriteria:

  1. jika seluruh atribut dalam relasi bernilai atomik
  2. jika seluruh atribut dalam relasi bernilai tunggal
  3. jika relasi tidak memuat set atribut berulang
  4. jika semua record mempunyai sejumlah atribut yang sama

Permasalahan dalam INF :

  1. tidak dapat menyisipkan informasi parsial
  2. terhapusnya informasi ketika menghapus sebuah record
  3. pembaruan atribut nonkunci mengakibatkan sejumlah record harus diperbaharui.

Mengubah relasi UNF menjadi 1NF:

  1. melengkapi nilai-nilai dalam atribut
  2. mengubah struktur relasi

 

  1. Bentuk normal kedua /second norm form/ 2NF

Mempunyai kriteria:

  1. jika memenuhi kriteria 1NF
  2. jika semua atribut nonkunci FD pada PK

Permasalahan dalam 2NF:

  1. kerangkapan data
  2. pembaruan yang tidak benar dapat menimbulkan inkonsistensi data
  3. peoses-proses pembaruan data tidak efisien
  4. penyimpangan pada saat penyisipan, penghapusan, dan pembaruan.

Cara mengubah relasi 1Nfmenjadi 2NF:

  1. identifikasikan FD relasi 1NF / jika perlu gambarkan diagram ketergantungannya
  2.  berdasarkan informasi tersebut, dekomposisikan relasi 1NF menjadi relasi baru sesuai FD-nya.

 

Bentuk normal ketiga / third norm form /3NF

 

Disebut sebagai 3NF jika memenuhi kriteria:

  1. jika memenuhi kriteria 2NF
  2. jika setiap atribut nonkunci tidak TDF terhadap PK

Pemasalahan di 3NF: keberadaan penentu yang tidak merupakan bagian dari PK menghasilkan duplikasi rinci data pada atribut yang berfungsi sebagai FK

( duplikasi berbeda dengan kerangkapan data)

Cara mengubah 2NF menjadi  3NF:

  1. identifikasi TDF relasi 2NF
  2. dekomposisikan relasi 2NF menjadi relasi relasi baru sesuai TDF-nya

Contoh:

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

FD:R.BàR.C

didekomposisikan menjadi

R1=(B,C)

R2 = (A,B)      dengan FK :B referances R1

 

Bentuk normal Boyce-Codd / BCNF

dikemukakan oleh R.F. Boyce dan E.F Codd harus memenuhi kriteria:

  1. Jika memenuhi kriteria 3NF
  2. Jika senua atribut penentu merupakan CK

 

Bentuk normal keempat/ forth norm form /4NF

jika memenuhi kriteria:

  1. jika memenuhi kriteria BCNF
  2. jika setiap atribut didalamnya tidak mengalami ketergantungan pada banyak nilai, bahwa semua atribut yang mengalami ketergantungan pada banyak nilai adalah bergantung secara fungsional/ FD.
  3. Bentuk normal kelima/ fifth norm form / 5NF

Suatu relasi memenuhi kriteria 5NF jika kerelasian antar data dalam relasi tersebut tidak dapat direkontruksi dari struktur relasi yang sederhana

Bentuk normal kunci domain / domain key norm form / DKNF

Dikatan sebagai DKNF jika setiap batasan dapat disimpulkan secara sederhana dengan mengetahui sekumpulan nama atribut dan domainnya selama menggunakan sekumpulan atribut pada kuncinya.

Dikemukakan oleh R. Fagin 1982 danbersifat sangat spesifik artinya tidak semua relasi dapat mencapai level ini

 

Contoh Proses Normalisasi

Bentuk UNF dari Relasi Supplier

Kode_Supplier Status Kota Kode_Barang Jumlah_Barang
S01 10 Jakarta B01 100
B02 150
S02 20 Surabaya B02 250
B04 200
S03 30 Yogyakarta B05 150

Bentuk 1NF dari Relasi Supplier

Kode_Supplier Status Kota Kode_Barang Jumlah_Barang
S01 10 Jakarta B01 100
S01 10 Jakarta B02 150
S02 20 Surabaya B02 250
S02 20 Surabaya B04 200
S03 30 Yogyakarta B05 150

Bentuk 2NF:

  1. Relasi Supplier
  2. Relasi Barang

Relasi Supplier

Kode_Supplier Status Kota
S01 10 Jakarta
S02 20 Surabaya
S03 30 Yogyakarta

Relasi Barang

Kode_Supplier Kode_Barang Jumlah_Barang
S01 B01 100
S01 B02 150
S02 B02 250
S02 B04 200
S03 B05 150

Bentuk normalisasi bentuk 3NF

Kota
Status *Kota

1. Relasi Barang

2. Relasi Supplier

Supplier
Kode_Supplier*Status**

3. Relasi Kota

 

Barang
Kode_Supplier**Kode_Barang*Jumlah_Barang

 

Efek Normalisasi

Penerapan normalisasi juga menyebabkan efek samping yang tidak diharapkan:

  1. proses dekomposisi relasi engakibatkan munculnya duplikasi rinci data pada atribut kunci penghubung /FK
  2. dekomposisi relasi membuka kemungkinan tidak terpenuhinya integritas referensial dalam basis data
  3. dekomposisi menghasilkan semakin banyak jumlah relasi baru sehingga mengakibatkan inefisiensi proses menampilkan kembali data data dari basis data.
  4. adanya batasan penerapan pada beberapa DBMS untuk ukuran komputer pribadi, terutama berkaitan dengan batas maksimal relasi yang dapat dibuka secara bersamaan.

 

 

 

Motivasi

 

Lebih baik menjaga mulut Anda tetap tertutup dan membiarkan orang lain menganggap Anda bodoh, daripada membuka mulut Anda dan menegaskan semua anggapan mereka

Kepuasan terletak pada usaha, bukan pada hasil. Berusaha dengan keras adalah kemenangan yang hakiki

Orang-orang yang melontarkan kritik bagi kita pada hakikatnya adalah pengawal jiwa kita, yang bekerja tanpa bayaran

Muhammat Rasid Ridho
Muhammat Rasid Ridho
Software Developer yang Suka Jalan jalan, Belajar Jaringan dan Berbagi Cerita. Instagram: muhammat.rasid.ridho Jangan lupa tulis komentar di bawah ini ya teman teman ... !

Leave a Reply

Your email address will not be published.