FUNCTIONAL DEPENDENCY (NORMALISASI) Galih Hermawan Teknik Informatika - UNIKOM
Galih Hermawan - IF UNIKOM Normalisasi Dipakai untuk membuat relasi dalam basis data dengan tujuan mengurangi kemubaziran data (E.F. Codd). Juga dipakai sebagai perangkat verifikasi terhadap tabel yang dihasilkan metodologi lainnya. Mencegah pembuatan struktur tabel yang kurang atau mengurangi ketidak efisienan. Proses merubah suatu relasi yang bermasalah ke dalam dua atau lebih relasi yang tidak bermasalah (Kroenke). Galih Hermawan - IF UNIKOM
Galih Hermawan - IF UNIKOM Normalisasi Masalah-masalah yang timbul dalam pembuatan table yang disebut dengan anomali. Anomali adalah proses pada basis data yang mempunyai efek samping yang tidak diharapkan. Misal : ketidakkonsistenan data, suatu data hilang pada saat dihapus, dll. Normalisasi menghilangkan Anomali Peremajaan: Terjadi jika saat perubahan pada sejumlah data yang mubazir, tetapi tidak seluruhnya ikut berubah. Anomali Penghapusan: Terjadi jika suatu tuple (baris) yang tidak terpakai di hapus dan akibatnya ada data lain yang ikut terhapus. Anomali Penyisipan: Terjadi jika pada saat penyisipan pada baris, terdapat elemen (atribut) yang masih kosong dan elemen data tersebut menjadi kunci. Galih Hermawan - IF UNIKOM
Galih Hermawan - IF UNIKOM Normalisasi Anomali dapat di hilangkan dengan memisah satu relasi menjadi dua atau lebih relasi, yang masing-masing dalam tema yang berbeda dan unik. Memecah relasi menciptakan (menghasilkan) referential integrity constraints. Normalisasi bekerja melalui kelas relasi yang dinamakan normal forms. Galih Hermawan - IF UNIKOM
Galih Hermawan - IF UNIKOM Desain Database Integritas Menghindari redundansi Menghilangkan ambiguitas Performance Akses Efisien dalam penyimpanan Maintainability Mudah di remajakan Mudah di sisipkan Mudah di hilangkan Galih Hermawan - IF UNIKOM
Galih Hermawan - IF UNIKOM Desain Database Jika dilakukan normalisasi maka : Tetap dapat merepresentasikan Informasi Dekomposisi tetap menjaga integritas Informasi lain dalam elemen tidak hilang (lossy dan lossless) Dependency Preservation Good relation (no anomaly) , easy maintainance (update, insert, delete) No Redundancy 3rd NF or BCNF Minimalisasi Perulangan Galih Hermawan - IF UNIKOM
Contoh Tabel Registrasi Kuliah NIM KELAS NO_REG TAHUN NO_MK NAMA_MK 10109001 IF1 1 2010 IF101 ALPRO2 2 IF102 HTML 10109002 3 IF103 KONTEK Kesalahan Typical pemula: menggunakan satu tabel utk seluruh database Anomali: PK: kombinasi dari NIM dan NO_REG Insert: Tdk dpt menyisipkan mhs baru tanpa registrasi (NO_REG bag dari PK) Update: perubahan pd nama_mk ; mengubah tiap registrasi pada mata kuliah Delete: hapus baris ke 3; informasi mata kuliah IF103 hilang (lossy) Redundancies mudah di-query: tanpa join Susah diubah: dapat bekerja, tapi menyusahkan (dummy PK) Galih Hermawan - IF UNIKOM
Galih Hermawan - IF UNIKOM Efek Anomali Insertion Insert data lebih dari yang diinginkan Harus tahu NIM dan NO_REG untuk melakukan insert matak kuliah baru Update Mengubah banyak baris : mengubah satu fakta Harus mengubah 2 baris untuk mengubah kelas mahasiswa dari mahasiswa 10109001 Deletion Menghapus baris menyebabkan fakta lain hilang Menghapus registrasi dari mahasiswa 10109002 pada NO_REG 3 menyebabkan hilangnya informasi tentang NO_REG 3 dan mata kuliah IF103 Galih Hermawan - IF UNIKOM
Anomali Peremajaan Tabel Pesanan Pemasok Kota Barang Jumlah Kartika Jakarta Mouse 5 Citra Bandung Monitor 2 Yudi Medan CPU Printer 1 Apa yang terjadi apabila Citra pindah alamat ke Malang? Pemasok Kota Barang Jumlah Kartika Jakarta Mouse 5 Citra Malang Monitor 2 Yudi Medan CPU Bandung Printer 1 Galih Hermawan - IF UNIKOM
Galih Hermawan - IF UNIKOM Anomali Penyisipan Tabel Kursus NoSiswa Kursus Biaya 10 Bhs.Inggris 60000 Bhs.Perancis 80000 Bhs.Italia 70000 15 20 Bhs.Jepang NoSiswa Kursus Biaya 10 Bhs.Inggris 60000 Bhs.Perancis 80000 Bhs.Jepang 70000 15 20 Bhs.Jerman 75000 Bagaimana menyisipkan kursus bahasa Jerman sedangkan belum ada seorang pun yang mengambil kursus tersebut? Galih Hermawan - IF UNIKOM
Galih Hermawan - IF UNIKOM Anomali Penghapusan Tabel Kursus NoSiswa Kursus Biaya 10 Bhs.Inggris 60000 Bhs.Perancis 80000 Bhs.Italia 70000 15 20 Bhs.Jepang NoSiswa Kursus Biaya 10 Bhs.Inggris 60000 Bhs.Perancis 80000 Bhs.Italia 70000 15 Apa yang terjadi apabila siswa dengan nomor 20 dihapus dari tabel? Galih Hermawan - IF UNIKOM
Dependensi (Ketergantungan) Konsep dasar pada tahap normalisasi yang menjelaskan hubungan atribut atau secara lebih khusus menjelaskan nilai suatu atribut yang menentukan atribut lainnya. Macam-macam dependensi: Dependensi fungsional Dependensi fungsional sepenuhnya Dependensi total Dependensi transitif Galih Hermawan - IF UNIKOM
Dependensi Fungsional Definisi : Suatu atribut Y mempunyai dependensi fungsional terhadap atribut X jika dan hanya jika setiap nilai X berhubungan dengan sebuah nilai Y. Notasi : X Y (X secara fungsional menentukan Y) Contoh : Tabel Pesanan Pembeli secara fungsional menentukan kota, sebab setiap pembeli yang sama mempunyai kota yang sama, dengan demikian : Pembeli Kota Contoh lain: Pembeli Kota Barang Jumlah P1 Yogya B1 10 B2 5 P2 Jakarta 4 7 P3 Solo B3 6 B4 {Pembeli,Barang}Jumlah {Pembeli, Barang}Kota {Pembeli,Barang}{Jumlah, Kota} Galih Hermawan - IF UNIKOM
Dependensi Fungsional Sepenuhnya Definisi : Suatu atribut Y mempunyai dependensi fungsional penuh terhadap X jika Y mempunyai dependensi fungsional terhadap X dan/atau Y tidak memiliki dependensi terhadap bagian dari X Contoh : Pembeli Kota {Pembeli, Barang} Jumlah Jumlah mempunyai dependensi fungsional terhadap Pembeli atau {Pembeli, Barang} tapi Kota mempunyai dependensi fungsional sepenuhnya terhadap Pembeli , bukan Barang Galih Hermawan - IF UNIKOM
Galih Hermawan - IF UNIKOM Dependensi Total Definisi : Suatu atribut Y mempunyai dependensi total terhadap atribut X jika 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 Citra Bandung C2 Candra KodePemasok ↔ NamaPemasok Galih Hermawan - IF UNIKOM
Galih Hermawan - IF UNIKOM Dependensi Transitif Definisi : Atribut Z mempunyai dependensi transitif terhadap X bila : Y memiliki dependensi fungsional terhadap X Z memiliki dependensi fungsional terhadap Y Notasi: X Y Z Dibaca: Z mempunyai dependensi transitif terhadap X Galih Hermawan - IF UNIKOM
Galih Hermawan - IF UNIKOM Dependensi Transitif Kuliah Ruang Tempat Waktu Jarkom Merbabu Gedung Utara Senin Basis Data Arjuna Gedung Selatan Selasa Matematika Merapi Gedung Barat Rabu Fisika Gedung Timur Kamis Relasi : Kuliah {Ruang, Waktu} Ruang Tempat Terlihat bahwa : Kuliah Ruang Tempat Dengan demikian Tempat mempunyai dependensi transitif terhadap Kuliah Galih Hermawan - IF UNIKOM
Diagram Dependensi Fungsional Adalah diagram yang digunakan untuk menggabarkan dependensi fungsional. Diagram ini menunjukkan hubungan antara atribut yang menjadi penentu atribut lainnya, dengan hubungan yang dinyatakan dengan tanda panah. Contoh: Kuliah Ruang Waktu Tempat Galih Hermawan - IF UNIKOM
Galih Hermawan - IF UNIKOM Dekomposisi Pada tahap normalisasi sering kali terjadi pemecahan table kedalam bentuk dua atau lebih relasi. Proses pemecahaan ini disebut dengan dekomposisi. Syarat : Tidak ada informasi yang hilang ketika suatu relasi dipecah menjadi relasi-relasi lain. Galih Hermawan - IF UNIKOM
Galih Hermawan - IF UNIKOM Dekomposisi Nim Nama Program Studi 95001 Andi Ekonomi 95002 Vira Teknik 95003 Fisika Dekomposisi tak hilang Nim Nama Program Studi 95001 Andi Ekonomi 95002 Vira Teknik 95003 Fisika Galih Hermawan - IF UNIKOM
Galih Hermawan - IF UNIKOM Dekomposisi Dekomposisi hilang Nim Nama Program Studi 95001 Andi Ekonomi 95002 Vira Teknik 95003 Fisika Galih Hermawan - IF UNIKOM