Upload
vuliem
View
222
Download
6
Embed Size (px)
Citation preview
NORMALISASI
By Mrs Imana Malia Kondou
1
Normalisasi
• Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut‐atribut data dengan cara mengelompokkan sehingga terbentuk
tit d d t t bil d fl k iblentitas yang non‐redundant, stabil, dan fleksible
• Normalisasi dilakukan sebagai uji coba pada suatu relasi secara b k l j t t k t k k h l i it d h b ik itberkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert,update,delete, dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebutrelasi tersebut.
Tujuan normalisasiTujuan normalisasi
• Untuk menghilangkan kerangkapan data
k i k l k i• Untuk mengurangi kompleksitas
• Untuk mempermudah pemodifikasian data
Anomali
• Anomali adalah proses pada basis data yangAnomali adalah proses pada basis data yang memberikan efek samping yang tidakdiharapkan ( misalnya menyebabkanketidakonsistenan data atau membuat suatudata menjadi hilang ketika data dihapus)
• Macam Anomali terdiri dari• Anomali peremajaan,• Anomali Penghapusan, dan• Anomali penyisipanAnomali penyisipan
Anomali peremajaan
• Anomali ini terjadi bila ada perubahan padasejumlah data yang mubazir, tetapi tidakj y g , pseluruhnya diubah. Contoh : Tabel Pesanan
S d i Cit d k t B d i d h kSeandainya Citra dengan kota Bandung pindah keBogor maka pengubahan data hanya dilakukan
pada data pertama menjadi :
Di sini terlihat bahwa data tentang pemasokCitra tidak sama yang menyebabkanCitra tidak sama yang menyebabkanketidakkonsistenan 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 yaituBhs.Jerman dengan biaya 75000 akan tetapibelum ada seorangpun yang ikut kursus ini,
shg data menjadi :
NoSiswa Kursus Biaya
Misalnya akan dibuka kursus baru yaituBhs.Jerman dengan biaya 75000 akan tetapibelum ada seorangpun yang ikut kursus ini
10 Bhs.Inggris 6000010 Bhs.Perancis 8000010 Bhs.Jepang 7000015 Bhs.Inggris 60000
belum ada seorangpun yang ikut kursus ini, shg data menjadi :
20 Bhs.Jepang 70000Bhs.Jerman 75000
Anomali penghapusan
• Anomali ini terjadi apabila dalam satu baris/ tuple ada data yang akan dihapus sehinggatuple ada data yang akan dihapus sehingga akibatnya terdapat data lain yang hilang. Contoh pada table kursus data NoSiswa 20Contoh pada table kursus data NoSiswa 20 akan dihapus karena sudah tidak ikut kursus lagi sehingga akibatnya data kursus bhslagi sehingga akibatnya data kursus bhs jepang dan biaya 70000 akan ikut terhapus.
Dependensi (Ketergantungan)Dependensi (Ketergantungan)
• Konsep dasar pada tahap normalisasi yangKonsep dasar pada tahap normalisasi yang menjelaskan hubungan atribut atau secara lebih khusus menjelaskan nilai suatu atributlebih khusus menjelaskan nilai suatu atribut yang menentukan atribut lainnya.
Dependensi fungsional
D fi i i S t t ib t Y i• Definisi : Suatu atribut Y mempunyai dependensi fungsional terhadap atribut X jika d h jik ti il i X b h bdan hanya jika setiap nilai X berhubungan dengan sebuah nilai Y.
• Notasi : X –> Y (X secara fungsional menentukan Y)
• Contoh : Tabel PesananPembeli 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 : {Pembeli Barang} –> Jumlahcontoh lain : {Pembeli, Barang} > 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 sepenuhnyaDependensi fungsional sepenuhnya
• Definisi : Suatu atribut Y mempunyai dependensifungsional penuh terhadap X jika
• Y mempunyai dependensi fungsional terhadap X dan/atauY mempunyai dependensi fungsional terhadap X dan/atau• Y tidak memiliki dependensi terhadap bagian dari X• Contoh : Pembeli –> Kota
{P b li B } J l h• {Pembeli, Barang} –> Jumlah• Intinya : Kota mempunyai dependensi fungsional
terhadap Pembeli atau {Pembeli, Barang} tapi kotai d d i f i l h t h dmempunyai dependensi fungsional sepenuhnya terhadap
pembeli bukan barang.
Dependensi Total• Definisi : Suatu atribut Y mempunyai• Definisi : Suatu atribut Y mempunyai dependensi total terhadap atribut X jika
Y iliki d d i f i l h d X• Y memiliki dependensi fungsional terhadap X dan
• X memiliki dependensi fungsional terhadap Y
• Notasi : X<–> Y
• Contoh : Tabel Pemasok
KodePemasok NamaPemasok Kota
K1 Kartika Jakarta
C1 Cit B d
Pada kasus ini :KodePemasok <–>NamaPemasok,
karena setiap kode tidak mempunyaiC1 Citra Bandung
C2 Candra Jakartanama yang sama.
Dependensi Transitif• Definisi : Atribut Z mempunyai dependensi transitif terhadap X• Definisi : Atribut Z mempunyai dependensi transitif terhadap X
bila :• Y memiliki dependensi fungsional terhadap X• Z memiliki dependensi fungsional terhadap Y• Z memiliki dependensi fungsional terhadap Y• Contoh :
Kuliah Ruang Tempat Waktu
Jarkom Merbabu Gedung Utara Senin
• Relasi :• Kuliah –> {Ruang, Waktu}
R > T t
Basis Data Arjuna Gedung Selatan
Selasa
Matematika Merapi Gedung Barat Rabu
• Ruang –> Tempat
• Terlihat bahwa : Kuliah –> Ruang –> TempatD d iki T i d d i i if
Fisika Merbabu Gedung Timur Kamis
• Dengan demikian Tempat mempunyai dependensi transitifterhadap kuliah
Diagram Dependensi Fungsional (Diagram DF)
• Diagram Dependensi Fungsional (Diagram DF) Adalah diagramDiagram Dependensi Fungsional (Diagram DF) Adalah diagram yang digunakan untuk menggabarkan dependensi fungsional. Diagram ini menunjukkan hubungan antara atribut yang menjadipenentu atribut lainnya, dengan hubungan yang dinyatakand t d h S ti t h di t d t di b kdengan tanda panah. Seperti contoh diatas dapat digambarkandiagram DF sebagai berikut :
DekomposisiDekomposisi• Pada tahap normalisasi sering kali terjadi pemecahan table
kedalam bentuk dua atau lebih relasi. Proses pemecahaan inidisebut dengan dekomposisi. Syarat : Tidak ada informasi yang disebut dengan dekomposisi. Syarat : Tidak ada informasi yanghilang ketika suatu relasi dipecah menjadi relasi‐relasi lain. Contoh : Terdapat suatu relasi awal sebagai berikut :
Nim Nama Program Studi
95001 Andi Ekonomi
Nim Nama Nim Program Studi
95001 Andi 95001 Ekonomi
95002 Vira Teknik
95003 Andi Fisikadekomposisi
95002 Vira 95002 Teknik
95003 Andi 95003 Fisika
• Contoh dekomposisi hilang adalah95001 bernama ANDI, tetapi ANDI dengan program studi Ekonomi atau Fisika?
Nim Nama Nama Program Studi
95001 Andi Andi Ekonomi95001 bernama ANDI, tetapi ANDI dengan program studi Ekonomi atau
95002 Vira Vira Teknik
dengan program studi Ekonomi atauFisika?
95003 Andi Andi Fisika
Normalisasi: 1NF, 2NF, 3NFNormalisasi: 1NF, 2NF, 3NF
• Bentuk Normal ke Satu(1NF)– Syarat :
1. Tidak ada set atribut yang berulang atau bernilai ganda.
2 Telah ditentukannya primary key untuk tabel atau relasi2. 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 terpisahmenggambarkan 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 memiliki2. 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 p p y y j
Contoh Normalisasi :Contoh Normalisasi :Diberikan tabel Mahasiswa di bawah ini, akan dilakukannormalisasi sampai bentuk normal ke tiga
Perhatikan bahwa tabel di atas sudah dalam bentukPerhatikan bahwa tabel di atas sudah dalam bentuknormal ke Satu(1NF)
Contoh(cont’)( )
Bentuk Normal ke dua(2NF) :Bentuk Normal ke dua(2NF) :
Belum memenuhi kriteria 3NFBelum memenuhi kriteria 3NF, Karena atribut non‐key Nilai danBobot masih memiliki ketergantu‐ngan fungsionalngan fungsional.
Bentuk normalisasi pertama (1NF)ik k d b l k li b l li i b l• 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 Kerja107 Ilham Analis
SeniorCobol 6
Oracle 1Oracle 1109 Ryan Analis
JuniorCobol 2
C++ 2120 Fika Programm Dbase 3
NIP Nama Jabatan Keahlian Lama Kerja107 Ilham Analis Cobol 6g
erSybase 1Cobol 1
07 a a sSenior
Cobo 6
107 Ilham Analis Senior
Oracle 1
109 Ryan Analis Junior
Cobol 2Junior
109 Ryan Analis Junior
C++ 2
120 Fika Programmer
Dbase 31NF
120 Fika Programmer
Sybase 1
120 Fika Programmer
Cobol 1
Bentuk Normal 2NF• Bentuk ini didefinisikan berdasarkan dependensi fungsionalp 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
keahliankeahlian• Bentuk tabelnya adalah :
NNJ (NIP, Nama, Jabatan) dan NKL (NIP, Keahlian, Lama Kerja)
NIP Nama Jabatan
107 Ilham Analis Senior
NIP Keahlian Lama Kerja107 Cobol 6107 Oracle 1109 Cobol 2
109 Ryan Analis Junior
120 Fika Programmer
109 C++ 2120 Dbase 3120 Sybase 1120 Cobol 1
Bentuk Normal 3NF• Berada dalam bentuk normal 2 NF• Berada dalam bentuk normal 2 NF
• Setiap atribut bukan kunci tidak memiliki d d i i if h d k i idependensi transitif terhadap kunci primer
• Contoh di atas sudah memenuhi normal 3NF karena : Tidak memiliki dependensi transitif, yaitu
• NIP –> {Nama, Jabatan}
• {NIP, Keahlian} –> Lama Kerja{NIP, Keahlian} > 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 gmemenuhi BCNF pasti memenuhi 3NF tetapi tidak sebaliknya.
C t h T b l SKT• Contoh : Tabel SKT
Siswa Kursus Tutor
Relasi didasarkan oleh fakta :Seorang siswa dapat mengambil sejumlah kursusSetiap tutor hanya mengajar satu kursus bahasaSetiap siswa dalam satu kursus diajar oleh satu
Anwar Bhs. Perancis Pierre
Anwar Bhs. Inggris Richard
Setiap siswa dalam satu kursus diajar oleh satututorSuatu kursus bisa dipegang oleh beberapa tutor
k b l d d l h lBudi Bhs. Perancis Pierre
Cecep Bhs. Inggris Suzanne
Maka : Tabel di samping adalah suatu relasi 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 tidak ada dependensi transitif padaMemenuhi bentuk 3NF karena tidak ada dependensi transitif padarelasi tersebut. Tetapi tidak memenuhi BCNF karena adanyadeterminan Tutor yang berdiri sebagai kunci kandidat. Realsi SKT menyebabkan anomali karena baris Cecep dihapus maka Suzanesebagai tutor jug akan terhapussebagai tutor jug akan terhapus.
Cara konversi dari 3NF ke BCNF adalah :• Carilah semua penentu
Bil t d t t b k k i k did t k• Bila terdapat penentu yang bukan kunci kandidat, maka :• Pisahkan relasi tersebu• Buat penentu sebagai kunci primer
D k i i b• Dekomposisi berupa : ST (Siswa, Tutor) dan TK (Tutor, Kursus)
Siswa Tutor
Anwar Pierre
Anwar Richard
Tutor Kursus
Pierre Bhs. Perancis
Richard Bhs. Inggris
Budi Pierre Pierre Bhs. Perancis