NAMA :
RUPINTAMALA
KELAS : SI3B
TUGAS : SISTEM BASIS DATA
NORMALISASI
Proses
memecah tabel tunggal menjadi beberapa tabel yang saling berhubungan disebut normalisasi. Normalisasi adalah suatu proses untuk mengubah suatu tabel yang
memiliki masalah tertentu ke dalam dua buah tabel atau lebih, yang
tidak lagi memiliki masalah tersebut (Abdul Kadir, 2002: 52). Masalah tersebut
biasanya merupakan suatu ketidakkonsistenan (tidak normal) apabila dilakukan
penghapusan (delete), pengubahan (update) dan pembacaan (retrieve) pada
suatu basis data. sumber: http://blog.re.or.id/normalisasi.htm
Normalisasi adalah proses pengelompokan atribute-atribute
dari suatu relasi sehingga membentuk WELL STRUCTURE RELATION.
WELL STRUCTURE RELATION adalah sebuah relasi yang jumlah
kerangkapan datanya sedikit (minimum Amount Of Redundancy), serta memberikan
kemungkinan bagi user untukmelakukan INSERT, DELETE, dan MODIFY terhadap
baris-baris data pada relation tersebut, yang tidak berakibat terjadinya ERROR
atau INKONSESTENSI DATA, yang disebabkanolehoperasi–operasitersebut.
ANOMALI merupakan penyimpangan-penyimpangan atau Error atau inkonsistensi data yang terjadi pada saat dilakukan proses insert, delete maupun modify.
ANOMALI merupakan penyimpangan-penyimpangan atau Error atau inkonsistensi data yang terjadi pada saat dilakukan proses insert, delete maupun modify.
Tujuan
normalisasi
§ Mengatur data
dalam kelompok-kelompok sehingga mempermudah dalam penanganan data.
§ Menjamin
perawatan data
§ Untuk
menghilangkan kerangkapan data
§ Untuk
mengurangi kompleksitas
§ Untuk
mempermudah pemodifikasian data dll.
Manfaat normalisasi
§ Meminimalkan
terjadinya anomaly pada operasi tuple/record
§ Meminimalkan
resiko data yang tidak konsisten
§ Memaksimalkan
stabilitas struktur data dll.
Proses
Normalisasi
proses normalisasi juga digunakan
pada beberapa operasi yang berhubungan dengan data record yaitu :
1) operasi penambahan ( insert )
2) operasi penghapusan ( delete )
3) operasi pengubahan ( update )
4) operasi pembacaan data
Data diuraikan dalam bentuk tabel, selanjutnya dianalisiberdasarkan
persyaratan tertentu ke beberapa tingkat.Apabila tabel yang diuji belum
memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi
beberapa tabel yanglebih sederhana sampai memenuhi bentuk yang optimal.
Istilah normalisasi dapat disederhanakan menjadi memecah relasi
menjadi beberapa tabel untuk mendapat database yang optimal
Istilah penting dalam
teknik normalisasi
§ Field / atribut kunci Setiap file selalu terdapat kunci dari file
berupa satu field atau satu field yang dapat mewakili record.
§ Candidate key adalah Kumpulan atribut
minimal yang secara unik mengidentifikasi sebuah baris fungsinya sebagai calon
primary key.
§ Composite key adalah Kunci kandidat yang
berisi lebih dari satu atribut
§ Primary key adalah Candidate key yang
dipilih untuk mengidentifikasi baris secara unik
§ Alternate key adalah Candidate key yang
tidak dipilih sebagai primary key
§ Foreign key adalah Key di tabel lain yang
terhubung dengan primary key pada sebuah tabel
Misalkan terdapat sebuah tabel siswa dengan
field sebagai berikut
Atribut kunci ->
NIS
Candidate key -> NIS dan Nama
Composit key -> Nama bisa
dibagi menjadi nama depan dan nama belakang Alamat bisa dibagi menjadi jalan,
kota, propinsi
Primary key
-> NIS
Alternate key -> Nama
Foreign
key -> NIS pada tabel nilai merupakan
foreign key
Ketergantungan fungsi
Diberikan sebuah relasi R, atribut Y dari R
adalah bergantung fungsi pada atribut X dari R jika dan hanya jika setiap nilai
X dalam R punya hubungan dengan tepat satu nilai Y dalam R (dalam setiap satu
waktu)
Bentuk-bentuk normalisasi
proses normalisasi tabel secara
umum dibagi dalam 5 tahap sehingga dikenal
bentuk-bentuk tabel normal sesuai dengan tahapan normalisasi yang telah
dilakukan yaitu bentuk normal pertama, kedua, ketiga, keempat, dan
kelima.
bentuk-bentuk tabel normal sesuai dengan tahapan normalisasi yang telah
dilakukan yaitu bentuk normal pertama, kedua, ketiga, keempat, dan
kelima.
1.
Bentuk
tidak normal
adalah kumpulan data yang tidak disimpan tidak mempunyai
format tertentu, data disimpan apa adanya sesuai masukan yang diperoleh dalam
bentuk ini data mungkin saja tidak lengkap tidak konsisten / terduplikasi.
2.
Bentuk
normalisasi pertama (1NF)
Dikenakan
pada tabel yang sama sekali belum ternomalisasi. Tabel yang belum ternomalisasi
adalah tabel yang mempunyai atribut berulang. Contoh : terdapat suatu data
sebagai berikut :
NIP
|
Nama
|
Jabatan
|
Keahlian
|
Lama Kerja
|
107
|
Ilham
|
Analis
Senior
|
Cobol
|
6
|
|
|
|
Oracle
|
1
|
109
|
Ryan
|
Analis
Junior
|
Cobol
|
2
|
|
|
|
C++
|
2
|
120
|
Fika
|
Programmer
|
Dbase
|
3
|
|
|
|
Sybase
|
1
|
|
|
|
Cobol
|
1
|
Pada
contoh di atas, keahlian mempunyai atribut yang berulang. Untuk itu akan
dibentuk ke normal 1NF. Syarat Normal 1NF adalah suatu relasi dikatakan dalam
bentuk normal pertama jika dan hanya jika setiap atribut bernilai tunggal dalam
satu baris.
NIP
|
Nama
|
Jabatan
|
Keahlian
|
Lama Kerja
|
107
|
Ilham
|
Analis
Senior
|
Cobol
|
6
|
107
|
Ilham
|
Analis
Senior
|
Oracle
|
1
|
109
|
Ryan
|
Analis
Junior
|
Cobol
|
2
|
109
|
Ryan
|
Analis
Junior
|
C++
|
2
|
120
|
Fika
|
Programmer
|
Dbase
|
3
|
120
|
Fika
|
Programmer
|
Sybase
|
1
|
120
|
Fika
|
Programmer
|
Cobol
|
1
|
Tabel
d i atas sudah memenuhi bentuk normal 1NF
3.
Bentuk Normal 2NF
Bentuk
ini didefinisikan berdasarkan dependensi fungsional dengan syarat adalah :
v Berada
pada bentuk normal pertama
v Semua
atribut bukan kunci memiliki dependensi sepenuhnya terhadap kunci primer
Contoh
:
v Nama dan jabatan mempunyai dependensi fungsional
terhadap NIP
v Lama
mempunyai dependensi fungsional terhadap NIP dan keahlian
v Bentuk
tabelnya adalah : NNJ (NIP, Nama, Jabatan) dan NKL (NIP, Keahlian, Lama Kerja)
NIP
|
Nama
|
Jabatan
|
107
|
Ilham
|
Analis
Senior
|
109
|
Ryan
|
Analis
Junior
|
120
|
Fika
|
Programmer
|
NIP
|
Keahlian
|
Lama Kerja
|
107
|
Cobol
|
6
|
107
|
Oracle
|
1
|
109
|
Cobol
|
2
|
109
|
C++
|
2
|
120
|
Dbase
|
3
|
120
|
Sybase
|
1
|
120
|
Cobol
|
1
|
4.
Bentuk Normal 3NF
v Berada
dalam bentuk normal 2 NF
v Setiap
atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci primer
Contoh
di atas sudah memenuhi normal 3NF karena : Tidak memiliki dependensi transitif,
yaitu
NIP {Nama, Jabatan}
{NIP, Keahlian} Lama Kerja
5.
Bentuk Normal boyce-codd (BCNF)
Bentuk
ini dilakukan jika dan hanya jika semua penentu (determinan) adalah kunci
kandidat (atribut yang bersifat unik). BCNF merupakan perbaikan dari 3NF.
Relasi yang memenuhi BCNF pasti memenuhi 3NF tetapi tidak sebaliknya. Contoh :
Tabel SKT
Siswa
|
Kursus
|
Tutor
|
Anwar
|
Bhs.
Perancis
|
Pierre
|
Anwar
|
Bhs.
Inggris
|
Richard
|
Budi
|
Bhs.
Perancis
|
Pierre
|
Cecep
|
Bhs.
Inggris
|
Suzanne
|
Tabel
di atas adalah suatu relasi yang memenuhi 3NF tetapi tidak memenuhi BCNF.
Relasi diatas didasarkan oleh fakta :
v Seorang
siswa dapat mengambil sejumlah kursus
v Setiap
tutor hanya mengajar satu kursus bahasa
v Setiap
siswa dalam satu kursus diajar oleh satu tutor
v Suatu
kursus bis dipegang oleh beberapa tutor
Pada
keadaan tersebut di atas dapat digambarkan sebagai berikut : Siswa &
Kursus dan Siswa & Tutor.
Memenuhi
bentuk 3NF karena tidak ada dependensi transitif pada relasi tersebut. Tetapi
tidak memenuhi BCNF karena adanya determinan Tutor yang berdiri sebagai kunci
kandidat. Realsi SKT menyebabkan anomali karena baris Cecep dihapus maka Suzane
sebagai tutor jug akan terhapus. Cara konversi dari 3NF ke BCNF adalah :
v Carilah
semua penentu
v Bila
terdapat penentu yang bukan kunci kandidat, maka :
ü Pisahkan
relasi tersebut
ü Buat
penentu sebagai kunci primer
ü Dekomposisi
berupa : ST (Siswa, Tutor) dan TK (Tutor, Kursus)
Siswa
|
Tutor
|
Anwar
|
Pierre
|
Anwar
|
Richard
|
Budi
|
Pierre
|
Cece
|
Suzanne
|
Tutor
|
Kursus
|
Pierre
|
Bhs.Perancis
|
Richard
|
Bhs. Inggris
|
Suzanne
|
Bhs. Inggris
|
0 komentar:
Posting Komentar