Normalisasi merupakan sebuah teknik dalam logical...

25

Transcript of Normalisasi merupakan sebuah teknik dalam logical...

Page 1: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain
Page 2: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain

� Normalisasi merupakan sebuah teknik dalam logical desain

sebuah basis data, teknik pengelompokkan atribut dari suatu

relasi sehingga membentuk struktur relasi yang baik (tanpa

redudansi).

� Proses normalisasi adalah proses pengelompokan data

elemen menjadi tabel-tabel yang menunjukkan entity danelemen menjadi tabel-tabel yang menunjukkan entity dan

relasinya.

� Pada proses normalisasi dilakukan pengujian pada beberapa

kondisi apakah ada kesulitan pada saat menambah,

mengubah atau menghapus pada suatu basis data.

� Bila terdapat kesulitan pada pengujian tersebut maka perlu

dipecahkan relasi pada beberapa tabel lagi atau dengan kata

lain perancangan basis data belum optimal.

Page 3: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain

� Anomali adalah proses pada basis data yang memberikanefek samping yang tidak diharapkan (misalnyaketidakkonsistenan data karena adanya redudansi). Ada 3macam anomali pada suatu database:

• Anomali penyisipan data (insert)

• Anomali pengubahan data (update)• Anomali pengubahan data (update)

• Anomali penghapusan data (delete)

Bila ada anomali maka relasi mungkin perlu dipecah menjadibeberapa tabel lagi agar diperoleh database yang optimal.

Page 4: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain

� Depedensi (Ketergantungan).

• Depedensi merupakan konsep yang mendasarinormalisasi. Depedensi menjelaskan nilai suatu atributyang menentukan nilai atribut lainnya. Jenis depedensiantara lain:

• Depedensi Fungsional• Depedensi Fungsional

• Depedensi Transitif

� Depedensi Fungsional

• Definisi : Suatu atribut Y mempunyai dependensi fungsional terhadap atribut X dan hanya jika setiap nilai nilai X berhubungan dengan sebuah nilai Y.

X → Y

Page 5: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain

� Depedensi Transitif

• Definisi : Atribut Z mempunyai depedensi transitif terhadap X bila:

• Y memiliki depedensi fungsional terhadap X

• Z memiliki depedensi fungsional terhadap Y

Bentuk tidak normal (unnormalized Form) :� Bentuk tidak normal (unnormalized Form) :

• Bentuk ini merupakan kumpulan data yang direkam, tidak ada keharusan mengikuti suatu format tertentu, bisa tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan kedatangannya. (Lihat contoh kasus)

Page 6: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain
Page 7: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain

Untuk mendapatkan hasil yang paling normal, maka

proses normalisasi dimulai dari normal pertama.

Field-field tabel di atas yang merupakan group

berulang : NoPegawai, NamaPegawai, Golongan,

BesarGaji.

Page 8: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain
Page 9: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain
Page 10: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain
Page 11: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain
Page 12: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain
Page 13: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain
Page 14: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain
Page 15: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain
Page 16: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain
Page 17: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain

� Aturan :

� Mendefinisikan atribut kunci

� Tidak adanya group berulang

Contoh Normaliasi…

� Tidak adanya group berulang

� Semua atribut bukan kunci tergantung pada atribut

kunci

Page 18: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain

Solusinya hilangkan duplikasi dengan mencari

ketergantungan parsial. menjadikan field-field menjadi

tergantung pada satu atau beberapa field. Karena

yang dapat dijadikan kunci adalah NoProyek dan

NoPegawai, maka langkah kemudian dicari field-field

mana yang tergantung pada NoProyek dan mana

yang tergantung pada NoPegawai.yang tergantung pada NoPegawai.

Page 19: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain

� Aturan :

� Sudah memenuhi dalam bentuk normal ke satu

Contoh Normaliasi…

� Sudah tidak ada ketergantungan parsial,

dimana seluruh field hanya tergantung pada

field kunci. Field-field yang tergantung pada

satu field haruslah dipisah dengan tepat,

misalnya NoProyek menjelaskan NamaProyek

dan NoPegawai menjelaskan NamaPegawai,

Golongan dan BesarGaji.

Page 20: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain

TABEL PROYEK

TABEL PEGAWAI

Page 21: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain

Untuk membuat hubungan antara dua tabel, dibuat suatu

tabel yang berisi key-key dari tabel yang lain.

TABEL PROYEKPEGAWAI

Page 22: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain

� Aturan :

� Sudah berada dalam bentuk normal kedua

Tidak ada ketergantungan transitif (dimana field

Contoh Normaliasi…

� Tidak ada ketergantungan transitif (dimana field

bukan kunci tergantung pada field bukan kunci

lainnya).

Page 23: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain

Pada tabel diatas masih terdapat masalah, bahwa

NoPegawai 12 mendapatkan BesarGaji yang tidak

sesuai dengan Golongan nya.

Solusinya adalah kita harus mencari hubungan transitif

(transitive relation) dimana field non-key tergantung(transitive relation) dimana field non-key tergantung

pada field non-key lainnya.

Artinya kita harus memisahkan fielfd non-kunci

Golongan yang tadinya tergantung secara parsial

kepada field kunci NoPegawai, untuk menghilangkan

anomali penulisan data pada field BesarGaji.

Page 24: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain

TABEL PROYEK

TABEL PEGAWAI

TABEL PROYEKPEGAWAI

TABEL GOLONGAN

Page 25: Normalisasi merupakan sebuah teknik dalam logical desainstaffsite.stimata.ac.id/assets/uploads/files/download/Sistembasis... · Normalisasi merupakan sebuah teknik dalam logical desain

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.kasus, normalisasi hanya sampai ketiga.