NORMALISASI
By Mrs Imana Malia Kondou
1
Normalisasi • Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut‐atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non‐redundant, stabil, dan fleksible tit d d t t bil d fl k ibl • Normalisasi dilakukan sebagai uji coba pada suatu relasi secara b k l j t berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu t k t k k h l i it d h b ik it dapat dilakukan proses insert,update,delete, dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut relasi tersebut.
Tujuan normalisasi Tujuan normalisasi • Untuk menghilangkan kerangkapan data • Untuk mengurangi kompleksitas k ik l ki • Untuk mempermudah pemodifikasian data
Anomali • Anomali adalah proses pada basis data yang basis data yang memberikan efek samping yang tidak diharapkan ( misalnya menyebabkan ketidakonsistenan data atau membuat suatu data menjadi hilang ketika data dihapus) • Macam Anomali terdiri dari • Anomali peremajaan, • Anomali Penghapusan, dan • Anomali penyisipan
Anomali peremajaan • Anomali ini terjadi bila ada perubahan pada j data yang mubazir, tetapi y g , p tidak sejumlah seluruhnya diubah. Contoh : Tabel Pesanan SSeandainya d i Cit d Citra dengan k t Bandung pindah kota B d i d h ke k Bogor maka pengubahan data hanya dilakukan pada data pertama menjadi :
Di sini terlihat bahwa data tentang pemasok Citra tidak sama yang menyebabkan Citra tidak yang menyebabkan ketidakkonsistenan data.
Anomali Penyisipan • Anomali ini terjadi pada saat penambahan data ternyata ada elemen yang kosong dan elemen tsb justru menjadi key. Contoh : Tabel Kursus Misalnya akan dibuka kursus baru yaitu Bhs.Jerman dengan biaya 75000 akan tetapi belum ada seorangpun yang ikut kursus ini, shg data menjadi :
Misalnya akan dibuka kursus baru yaitu Bhs.Jerman dengan biaya 75000 akan tetapi belum ada seorangpun yang ikut yang ikut kursus ini, ini shg data menjadi :
NoSiswa
Kursus
Biaya
10
Bhs.Inggris
60000
10
Bhs.Perancis
80000
10
Bhs.Jepang
70000
15
Bhs.Inggris
60000
20
Bhs.Jepang
70000
Bhs.Jerman
75000
Anomali penghapusan • Anomali ini terjadi apabila dalam satu baris/ tuple ada data yang akan dihapus sehingga tuple ada data yang akan dihapus sehingga akibatnya terdapat data lain yang hilang. Contoh pada table kursus data NoSiswa 20 Contoh pada table kursus data NoSiswa 20 akan dihapus karena sudah tidak ikut kursus lagi sehingga akibatnya data kursus bhs lagi sehingga akibatnya data kursus bhs jepang dan biaya 70000 akan ikut terhapus.
Dependensi (Ketergantungan) Dependensi (Ketergantungan) • Konsep Konsep dasar pada tahap normalisasi yang dasar pada tahap normalisasi yang menjelaskan hubungan atribut atau secara lebih khusus menjelaskan nilai suatu atribut lebih khusus menjelaskan nilai suatu atribut yang menentukan atribut lainnya.
Dependensi fungsional • D Definisi : Suatu atribut Y mempunyai fi i i S t t ib t Y i dependensi fungsional terhadap atribut X jika d h dan hanya jika setiap nilai X berhubungan jik ti il i X b h b dengan sebuah nilai Y. • Notasi : X –> Y (X secara fungsional menentukan Y) • Contoh : Tabel Pesanan Pembeli
Kota
Barang
Jumlah
P1
Yogya
B1
10
P1
Yogya
B2
5
P2
Jakarta
B1
4
P2
Jakarta
B2
7
P3
Solo
B3
6
P3
Solo
B4
6
Pembeli secara fungsional menentukan kota, sebab setiap pembeli yang sama mempunyai kota yang sama, dengan demikian : Pembeli –> Kota contoh lain contoh lain
: {Pembeli, Barang} {Pembeli Barang} –>> Jumlah Jumlah
• Keterangan: • Bagian yang terletak disebelah kiri tanda panah biasa disebut DETERMINAN / PENENTU dan bagian yang terletak di sebelah kanan panah disebut DEPENDENSI / YANG TERGANTUNG. • Tanda {} biasanya digunakan untuk menentukan lebih dari satu atribut sebagai penentu atau sebagai yang tergantung. atribut sebagai penentu atau sebagai yang tergantung.
Dependensi fungsional sepenuhnya • Definisi : Suatu atribut Y mempunyai dependensi fungsional penuh terhadap X jika • Y mempunyai Y mempunyai dependensi fungsional terhadap X dan/atau X dan/atau • Y tidak memiliki dependensi terhadap bagian dari X • Contoh : Pembeli –> Kota • {Pembeli, Barang} –> {P b li B } J l h Jumlah • Intinya : Kota mempunyai dependensi fungsional terhadap Pembeli atau {Pembeli, Barang} tapi kota mempunyaii dependensi d d i fungsional f i l sepenuhnya h t h d terhadap pembeli bukan barang.
Dependensi Total • Definisi Definisi : Suatu atribut Y mempunyai : Suatu atribut Y mempunyai dependensi total terhadap atribut X jika • Y memiliki dependensi fungsional terhadap X Y iliki d d if i l h d X dan • X memiliki dependensi fungsional terhadap Y • Notasi : X<–> Y • Contoh : Tabel Pemasok Pada kasus ini : KodePemasok <–>NamaPemasok, karena setiap kode tidak mempunyai nama yang sama.
KodePemasok
NamaPemasok
Kota
K1
Kartika
Jakarta
C1
Cit Citra
B d Bandung
C2
Candra
Jakarta
Dependensi Transitif • Definisi : Atribut : Atribut Z mempunyai Z mempunyai dependensi transitif terhadap X X bila : • Y memiliki dependensi fungsional terhadap X • Z memiliki Z memiliki dependensi fungsional terhadap Y • Contoh : Kuliah Ruang Tempat Waktu • Relasi : • Kuliah –> {Ruang, Waktu} • Ruang R –> Tempat >T t
Jarkom
Merbabu
Gedung Utara
Senin
Basis Data
Arjuna
Gedung Selatan
Selasa
Matematika
Merapi
Gedung Barat
Rabu
Fisika
Merbabu
Gedung Timur
Kamis
• Terlihat bahwa : Kuliah –> Ruang –> Tempat • Dengan D demikian d iki Tempat T mempunyaii dependensi d d i transitif i if terhadap kuliah
Diagram Dependensi Fungsional (Diagram DF) • Diagram Diagram Dependensi Dependensi Fungsional (Diagram DF) (Diagram DF) Adalah diagram diagram yang digunakan untuk menggabarkan dependensi fungsional. Diagram ini menunjukkan hubungan antara atribut yang menjadi penentu atribut lainnya, dengan hubungan yang dinyatakan d dengan t d panah. Seperti tanda h S ti contoh t h diatas di t dapat d t digambarkan di b k diagram DF sebagai berikut : Dekomposisi • Pada tahap normalisasi sering kali terjadi pemecahan table kedalam bentuk dua atau lebih relasi. Proses pemecahaan ini disebut dengan dekomposisi. dekomposisi. Syarat Syarat :: Tidak Tidak ada informasi yang yang hilang ketika suatu relasi dipecah menjadi relasi‐relasi lain. Contoh : Terdapat suatu relasi awal sebagai berikut : Nim
Nama
Program Studi
Nim
Nama
Nim
Program Studi
95001
Andi
Ekonomi
95001
Andi
95001
Ekonomi
95002
Vira
Teknik
95002
Vira
95002
Teknik
95003
Andi
Fisika
95003
Andi
95003
Fisika
dekomposisi
95001 bernama ANDI, tetapi ANDI dengan program studi Ekonomi atau Fisika?
• Contoh dekomposisi hilang adalah
Nim
Nama
Nama
Program Studi
95001
Andi
Andi
Ekonomi
95002
Vira
Vira
Teknik
95003
Andi
Andi
Fisika
95001 bernama ANDI, tetapi ANDI dengan program studi program studi Ekonomi atau Fisika?
Normalisasi: 1NF, 2NF, 3NF Normalisasi: 1NF, 2NF, 3NF •
•
Bentuk Normal ke Satu(1NF) – Syarat : 1. Tidak ada set atribut yang berulang atau bernilai ganda. 2 2. Telah ditentukannya primary key untuk tabel atau relasi Telah ditentukannya primary key untuk tabel atau relasi. 3. Tiap atribut hanya memiliki satu pengertian. – Tiap atribut yang dapat memiiki banyak nilai sebenarnya menggambarkan entitas atau relasi yang terpisah menggambarkan entitas atau relasi yang terpisah. Bentuk Normal ke Dua(2NF) – Syarat : 1. Bentuk data telah memenuhi kriteria bentuk normal ke satu. 2. Atribut bukan kunci(non‐key attribute) haruslah memiliki ketergantungan fungsional sepenuhnya pada primary key.
Normalisasi: 1NF, 2NF, 3NF (1) Normalisasi: 1NF, 2NF, 3NF (1) • Bentuk Normal ke Tiga(3NF) – Syarat : 1. Bentuk data telah memenuhi kriteria bentuk normal ke dua. 2 Atribut bukan kunci(non‐key attribute) tidak boleh memiliki 2. Atribut bukan kunci(non‐key attribute) tidak boleh memiliki ketergantungan fungsional terhadap atribut bukan kunci lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja. g g g pp y y j
Contoh Normalisasi : Contoh Normalisasi : Diberikan tabel Mahasiswa di bawah ini, akan dilakukan normalisasi sampai bentuk normal ke tiga
Perhatikan bahwa tabel di atas sudah dalam bentuk bahwa tabel di atas sudah dalam bentuk normal ke Satu(1NF)
Contoh(cont’) ( ) Bentuk Normal ke dua(2NF) : Bentuk Normal ke dua(2NF) :
Belum memenuhi kriteria 3NF, Belum memenuhi kriteria 3NF Karena atribut non‐key Nilai dan Bobot masih memiliki ketergantu‐ ngan fungsional ngan fungsional.
Bentuk normalisasi pertama (1NF) • •
Dikenakan pada tabel yang sama sekali belum ternomalisasi. Tabel yang ik k d b l k li b l li i b l 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
Cobol
2
C++
2
NIP
Nama
Jabatan
Keahlian
Lama Kerja
Dbase
3
107 07
Ilham a
Analis a s Senior
Cobol Cobo
6
Sybase
1
107
Ilham
Oracle
1
Cobol
1
Analis Senior
109
Ryan
Analis Junior
Cobol
2
109
Ryan
Analis Junior
C++
2
120
Fika
Programm er
Dbase
3
120
Fika
Programm er
Sybase
1
120
Fika
Programm er
Cobol
1
109
120
Ryan
Fika
Analis Junior Programm g er
1NF
Bentuk Normal 2NF • Bentuk ini didefinisikan berdasarkan dependensi p fungsional g dengan syarat adalah : • Berada pada bentuk normal pertama • Semua atribut bukan kunci memiliki dependensi sepenuhnya terhadap kunci primer Contoh : • Nama dan jabatan mempunyai dependensi fungsional terhadap NIP • Lama mempunyai dependensi fungsional terhadap NIP dan keahlian • Bentuk tabelnya adalah : NNJ (NIP, Nama, Jabatan) dan NKL (NIP, Keahlian, Lama Kerja) NIP
Nama
Jabatan
107
Ilham
Analis Senior
NIP
Keahlian
Lama Kerja
107
Cobol
6
107
Oracle
1
109
Cobol
2
109
Ryan
Analis Junior
109
C++
2
120
Fika
Programmer
120
Dbase
3
120
Sybase
1
120
Cobol
1
Bentuk Normal 3NF • Berada Berada dalam bentuk normal 2 NF dalam bentuk normal 2 NF • Setiap atribut bukan kunci tidak memiliki d dependensi transitif terhadap kunci primer d i i if h d k i i • Contoh di atas sudah memenuhi normal 3NF karena : Tidak memiliki dependensi transitif, yaitu • NIP –> {Nama, Jabatan} • {NIP, Keahlian} {NIP, Keahlian} –>> Lama Kerja Lama Kerja
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 ) p p y g memenuhi BCNF pasti memenuhi 3NF tetapi tidak sebaliknya. • Contoh : Tabel SKT C t h T b l SKT Relasi didasarkan oleh fakta : Siswa
Kursus
Tutor
Anwar
Bhs. Perancis
Pierre
Anwar
Bhs. Inggris
Richard
Budi
Bhs. Perancis
Pierre
Cecep
Bhs. Inggris
Suzanne
Seorang siswa dapat mengambil sejumlah kursus Setiap tutor hanya mengajar satu kursus bahasa Setiap siswa dalam satu kursus diajar oleh satu tutor Suatu kursus bisa dipegang oleh beberapa tutor Maka k : Tabel b l di d samping adalah d l h suatu relasi l yang memenuhi 3NF tetapi tidak memenuhi BCNF.
• Pada keadaan tersebut di atas dapat digambarkan sebagai berikut : Siswa & Kursus dan Siswa & Tutor. • Memenuhi bentuk 3NF karena 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 tutor jug akan terhapus. terhapus Cara konversi dari 3NF ke BCNF adalah : • Carilah semua penentu • Bila Bil terdapat t d t penentu t yang bukan b k kunci k i kandidat, maka k did t k : • Pisahkan relasi tersebu • Buat penentu sebagai kunci primer • Dekomposisi D k i i berupa b : ST (Siswa, Tutor) dan TK (Tutor, Kursus) Siswa
Tutor
Tutor
Kursus
Anwar
Pierre
Pierre
Bhs. Perancis
Anwar
Richard
Richard
Bhs. Inggris
Budi
Pierre
Pierre
Bhs. Perancis