Normalisasi adalah proses pembentukan struktur database untuk menghilangkan ambiguitas seperti redundansi dan anomali agar database dapat dioptimalkan. Terdapat tiga jenis anomali yaitu delete, insert, dan update anomaly yang dapat terjadi akibat manipulasi data yang tidak sesuai. Dekomposisi digunakan untuk memecah relasi menjadi bagian-bagian lebih kecil guna mencegah terjadinya anomali dan redundansi data.
3. Normalisasi adalah proses pembentukan struktur
database sehingga sebagian besar ambiguity (
redudansi, ketidakkonsistenan, anomali) bisa
dihilangkan sehingga database dapat dioptimalkan.
5. Dekomposisi
• Dekomposisi : memecah relasi/tabel
menjadi relasi/tabel yang lebih kecil
untuk mendapatkan skema yang tidak
mengandung anomali dan redundansi
atau bila digabungkan kembali harus
mendapat hasil yang sama
RELASI ???
6. Penjelasan singkat “Relasi”
hubungan antara tabel yang mempresentasikan hubungan
antar objek di dunia nyata. Relasi merupakan hubungan yang
terjadi pada suatu tabel dengan lainnya yang
mempresentasikan hubungan antar objek di dunia nyata dan
berfungsi untuk mengatur mengatur operasi suatu database
7. • Kumpulan atribut yang nilainya :
– Setiap atribut harus berharga tunggal.
– Semua harga pada suatu atribut harus mempunyai
tipe yang sama
– Setiap atribut harus mempunyai nama yang unik
– Urutan atribut tidak penting
– Tidak ada dua baris dalam relasi yang isinya
identik
– Urutan baris tidak penting
Relasi (review)
ATRIBUT ????
10. Entitas Kuat
• Entitas yang tidak memiliki ketergantungan dengan himpunan
entitas lain.
• Tidak tergantung kepada keberadaan entitas lainnya (berdiri sendiri)
• Entitas yang memiliki atribut kunci (Primary Key)
11. Entitas Lemah
• Keberadaannya tergantung kepada entitas kuat. Tidak dapat berdiri
sendiri
• Biasanya berasal dari atribut multivalue pada entitas lain dan tidak
memiliki atribut yang dipakai sebagai atribut kunci (key).
• Biasanya menggunakan Foreign key sebagai
pengenal/penghubung ke entitas lainnya.
12. Atribut
• Karakteristik dari entity atau relationship, yang menyediakan
penjelasan detail tentang entity atau relationship tersebut.
• Nilai Atribut merupakan suatu data aktual atau informasi yang
disimpan pada suatu atribut di dalam suatu entity atau relationship.
13. Entitas Mahasiswa
NIM, Nama_Mhs, Jurusan, JenKel, Tgl_Lahir, Alamat
Entitas Pegawai
Kode_Peg, Nama_Peg, Alamat, Tgl_Lahir
Entitas Sepeda Motor
Model, No_Rangka, Tahun
Entitas Buku
Judul, Pengarang, Penerbit
16. Redudansi Data
Munculnya data-data yang berulang kali pada
file basis data yang semestinya tdak dilakukan
(Pengulangan Data)
Kemungkinan terjadinya redudansi data
karena :
1. redudansi data dalam satu file
2. redudansi data dalam beberapa file
17. Contoh : redudansi data dalam 1 file
NIK Nama Alamat Gol_Gaji Gaji_Pokok
K001 Rita Yogyakarta IIIA 500.000
K002 Rina Semarang IVA 750.000
K003 Rini Jakarta IIIA 500.000
K004 Rani Yogyakarta IIIB 550.000
K005 Rika Surabaya IVA 750.000
“jika semakin banyak karyawan yang memiliki
Gol_Gaji yang sama, maka semakin banyak pula
pengulangan data yang terjadi”
18. Solusi: Dekomposisi data
NIK Nama Alamat Gol_Gaji
K001 Rita Yogyakarta IIIA
K002 Rina Semarang IVA
K003 Rini Jakarta IIIA
K004 Rani Yogyakarta IIIB
K005 Rika Surabaya IVA
Gol_Gaji Gaji_Pokok
IA 100.000
IB 150.000
IC 200.000
ID 250.000
IIA 300.000
IIB 350.000
IIC 400.000
IID 450.000
IIIA 500.000
IIIB 550.000
IIIC 600.000
IIID 650.000
IVA 750.000
IVB 800.000
IVC 850.000
IVD 900.000
Tabel File Karyawan
Tabel File Golongan
19. Contoh : redudansi data dalam beberapa file
NIK Nama Alamat Gol_Gaji Gaji_Pokok
K001 Rita Yogyakarta IIIA 500.000
K002 Rina Semarang IVA 750.000
K003 Rini Jakarta IIIA 500.000
K004 Rani Yogyakarta IIIB 550.000
K005 Rika Surabaya IVA 750.000
“jika semakin banyak karyawan yang memiliki
Gol_Gaji yang sama, maka semakin banyak pula
pengulangan data yang terjadi”
20. Contoh : redudansi data dalam 1 file
NIM Nama_Mhs Kode_Matkul Nama_Matkul
170001 Rita MK001 Basis Data
170001 Rita MK002 Matematika
170001 Rita MK003 Softskill
170002 Rina MK001 Basis Data
170002 Rina MK002 Matematika
170002 Rina MK003 Softskill
170002 Rina MK004 Algoritma dan Pemrograman
170003 Rini MK001 Basis Data
170003 Rini MK002 Matematika
170004 Rani MK001 Basis Data
170004 Rani MK002 Matematika
170005 Rika MK001 Basis Data
170005 Rika MK002 Matematika
22. Contoh : redudansi data dalam beberapa file
NIM Nama_Mhs
170001 Rita
170002 Rina
170003 Rini
170004 Rani
170005 Rika
Tabel Mahasiswa
NIM Nama_Mhs Minat
170001 Rita Pemrograman
170002 Rina Jaringan
170003 Rini Web
170004 Rani Basis Data
170005 Rika Multimedia
Tabel Minat
“redudansi dalam beberapa file terjadi jika terdapat
nama-nama kolom yang sama dalam beberapa file,
kecuali untuk kolom sebagai foreign key”
25. SOLUSI
Hapus kolom yang sama dan lakukan dekomposisi
Tabel Minat_Mahasiswa
NIM Minat
170001 Pemrograman
170002 Jaringan
170003 Web
170004 Basis Data
170005 Multimedia
26. Anomali Data
Anomali adalah proses manipulasi pada basis data yang
memberikan efek samping yang tidak diharapkan
seperti ketidakkonsistenan data atau membuat suatu
data hilang ketika data lain dihapus. Atau sering juga
disebut sebagai Penyimpangan-penyimpangan yang
harus dihindari dalam modifikasi Data.
Macam anomali ada tiga buah :
- Anomali penghapusan (Delete Anomally)
- Anomali penyisipan (Insert Anomally)
- Anomali pembaharuan (Update Anomally)
27. Delete Anomally
Proses penghapusan suatu nilai rinci data yang
mengakibatkan hilangnya informasi rinci data lain
NIM Nama_Siswa Jenis_Kursus Instruktur Periode
1001 Dian Bahasa Inggris Nita Januari 2017
1002 Dina Bahasa
Jepang
Nina April 2016
1003 Dani Bahasa
Mandarin
Nihaoma Juli 2015
1004 Doni Bahasa Inggris Noni Januari 2018
1005 Dono Bahasa
Jepang
Nina April 2015
1006 Dion Bahasa Inggris Noni Januari 2018
Tabel Siswa
28. Delete Anomally
Kasus
“Karena Dani telah menyelesaikan kursus bahasa
mandarin 3 tahun lalu dan data tersebut tidak
digunakan lagi, maka record akan dihapus.”
Secara kebetulan data peserta kursus bahasa mandarin
pada juli 2015 hanya seorang saja, akibatnya seluruh
rinci data dalam record akan terhapus, termasuk
informasi tentang instruktur bernama Nihaoma dan
periode kursus juli 2015 juga akan hilang.
“Padahal semula hanya ingin menghapus nilai rinci
data Dani saja. “
29. Insert Anomally
Proses menyisipkan suatu nilai rinci data yang
mengakibatkan perlunya penyisipan pada nilai rinci
data lain
NIM Nama_Siswa Jenis_Kursus Instruktur Periode
1001 Dian Bahasa Inggris Nita Januari 2017
1002 Dina Bahasa
Jepang
Nina April 2016
1003 Dani Bahasa
Mandarin
Nihaoma Juli 2015
1004 Doni Bahasa Inggris Noni Januari 2018
1005 Dono Bahasa
Jepang
Nina April 2015
1006 Dion Bahasa Inggris Noni Januari 2018
Tabel Siswa
30. Insert Anomally
Kasus
“terdapat seorang instruktur baru dengan nama Lina,
yang masuk ke lembaga pelatihan, tetapi belum
memiliki pengalaman mengajar sama sekali”
Maka penambahan data instruktur tidak dapat
dilakukan selama belum pernah mengajar (kolom
jenis_kursus, periode akan kosong)
31. Update Anomally
Proses mengubah suatu nilai rinci data yang
mengakibatkan perlunya penyisipan pada nilai rinci
data lain
NIK Nama_Karyawan Gol_Gaji Gaji_Pokok
01001 Feri IIIA 600.000
01002 Dilan IIIB 650.000
01003 Milea IIIA 600.000
01004 Galih IVA 800.000
01005 Ratna IIIB 650.000
Tabel Karyawan
32. Update Anomally
Kasus
“Terjadi perubahan Gaji_Pokok karyawan, misalnya
kenaikan untuk Gol_Gaji IIIA menjadi 625.000, maka
nilai rinci data Gaji_Pokok harus di-update. “
dalam contoh tabel karyawan maka proses update
dilakukan 2x, tapi jika jumlah karyawan yang memiliki
Gol_Gaji IIIA cukup banyak, maka update(perubahan)
akan dilakukan berkali-kali.
34. • Seandainya pemasok Citra berpindah ke kota lain, misalnya ke
Bogor dan pengubahan hanya dilakukan pada record pertama
saja maka hasilnya menjadi
• Terlihat bahwa ada ketidakkonsistenan. Fakta pertama
menyatakan bahwa pemasok Citra berlokasi di Bogor, tetapi
fakta kedua menyatakan bahwa pemasok Citra berada di
Bandung. Keadaan ini yang menyatakan ketidakkonsistenan
1
35. 2
• Kasus :
Masalahnya bagaimana caranya menyimpan fakta
bahwa ruang baru bernama 5204 berada pada
Kampus 5? Penyisipan tidak dapat dilakukan
mengingat tak ada Informasi KULIAH yang
menggunakan ruang tersebut
Tabel Relasi Ruang_Kuliah
36. 3
36
Kasus serupa dapat terjadi pada relasi berikut
• Relasi di atas mencatat kursus-kursus yang diikuti oleh siswa
beserta biayanya. Misalnya, siswa dengan No_Siswa 10
mengambil kursus bahasa Inggris, Perancis dan Mandarin
• Masalahnya jika dibuka kursus baru misalnya bahasa Arab
dengan biaya 70.000 akan tetapi untuk sementara belum
seorang pun yang mengambil kursus tersebut. Akibatnya data
kursus bahasa Arab tidak dapat dicatat
37. 4
37
Kasus yang sama seperti contoh 3:
• Misalnya pada relasi kursus apa yang terjadi jika seandainya
siswa dengan NO_SISWA 20 yang mengambil bahasa Jepang
dihapus?
Data yang menyatakan kursus bahasa Jepang sebesar 65.000
juga akan terhapus
Anomali
Anomali adalah proses pada basis data yang memberikan efek samping yang tidak diharapkan ( misalnya menyebabkan ketidakonsistenan data atau membuat suatu data menjadi hilang ketika data lain dihapus)
Anomali
Anomali adalah proses pada basis data yang memberikan efek samping yang tidak diharapkan ( misalnya menyebabkan ketidakonsistenan data atau membuat suatu data menjadi hilang ketika data lain dihapus)
Anomali
Anomali adalah proses pada basis data yang memberikan efek samping yang tidak diharapkan ( misalnya menyebabkan ketidakonsistenan data atau membuat suatu data menjadi hilang ketika data lain dihapus)
Anomali
Anomali adalah proses pada basis data yang memberikan efek samping yang tidak diharapkan ( misalnya menyebabkan ketidakonsistenan data atau membuat suatu data menjadi hilang ketika data lain dihapus)
Anomali
Anomali adalah proses pada basis data yang memberikan efek samping yang tidak diharapkan ( misalnya menyebabkan ketidakonsistenan data atau membuat suatu data menjadi hilang ketika data lain dihapus)
Anomali
Anomali adalah proses pada basis data yang memberikan efek samping yang tidak diharapkan ( misalnya menyebabkan ketidakonsistenan data atau membuat suatu data menjadi hilang ketika data lain dihapus)
Anomali
Anomali adalah proses pada basis data yang memberikan efek samping yang tidak diharapkan ( misalnya menyebabkan ketidakonsistenan data atau membuat suatu data menjadi hilang ketika data lain dihapus)
Anomali
Anomali adalah proses pada basis data yang memberikan efek samping yang tidak diharapkan ( misalnya menyebabkan ketidakonsistenan data atau membuat suatu data menjadi hilang ketika data lain dihapus)
Anomali
Anomali adalah proses pada basis data yang memberikan efek samping yang tidak diharapkan ( misalnya menyebabkan ketidakonsistenan data atau membuat suatu data menjadi hilang ketika data lain dihapus)