Pertemuan ke-13 Normalisasi Betha Nurina Sari
Normalisasi Normalisasi adalah suatu teknik untuk mengorganisasikan data ke dalam table-tabel untuk memenuhi kebutuhan pemakai di dalam suatu ogranisasi. Normalisasi terkadang hanya dipakai sebagai perangkat verifikasi terhadap tabel-tabel yang dihasilkan oleh metodologi lain ( misalnya E-R).
Keuntungan Normalisasi Meminimalkan ukuran penyimpanan yang diperlukan untuk menyimpan data. Meminimalkan resiko inkonsistensi data pada basis data Meminimalkan kemungkinan anomali pembaruan Memaksimalkan stabilitas struktur data
Rancangan database dikatakan buruk jika : Data yang sama disimpan di beberapa tempat Ketidakmampuan untuk menghasilkan informasi tertentu Terjadi kehilangan informasi Terjadi adanya redudansi dan duplikasi data Timbul adanya NULL value
Anomali Proses pada basis data yang memberikan efek samping yang tidak diharapkan. Jenis anomali Update anomali Insert anomali Delete anomali
Update anomali Error yang terjadi sebagai akibat inkonsistensi data yang terjadi sebagai akibat dari operasi update record/tuple dari sebuah relation PEMASOK KOTA BARANG JUMLAH Kartika Jakarta Monitor GGG 10 Citra Bandung Zip-drive 4 Candra Keyboard 5 Mouse CCP 25 Pemasok Citra Pindah ke kota Bogor, maka setelah dilakukan perubahan data : PEMASOK KOTA BARANG JUMLAH Kartika Jakarta Monitor GGG 10 Citra Bogor Zip-drive 4 Candra Keyboard 5 Bandung Mouse CCP 25
Error yang terjadi sebagai akibat operasi insert record/tuple Insert Anomali Error yang terjadi sebagai akibat operasi insert record/tuple pada sebuah relation NO_SISWA NAMA_KURSUS BIAYA 10 b. Inggris 60.000 b. Prancis 80.000 b. Mandarin 15 20 b. Jepang 65.000 Jika akan dibuka kursus baru, misalnya bahasa Arab dengan biaya 70.000, tetapi belum ada seorangpun yang mengambil kursus ini. Akibatnya data kursus baru ini tidak dapat dicatat.
Delete Anomali Error yang terjadi sebagai akibat operasi delete record/tuple pada sebuah relation. Anomali delete akan terjadi jika data no_siswa 20 akan di hapus, maka semua data tentang kursus b.Jepang akan ikut terhapus NO_SISWA NAMA_KURSUS BIAYA 10 b. Inggris 60.000 b. Prancis 80.000 b. Mandarin 15 20 b. Jepang 65.000
Jika di normalkan NAMA_KURSUS BIAYA b. Inggris 60.000 b. Prancis 80.000 b. Mandarin b. Jepang 65.000 NO_SISWA NAMA_KURSUS 10 b. Inggris b. Prancis b. Mandarin 15 20 b. Jepang
Ketergantungan Ketergantungan/dependensi menjelaskan hubungan antar atribut, atau secara lebih khusus menjelaskan nilai suatu atribut yang menentukan nilai atribut lainnya. Macam-macam ketergantungan Ketergantungan fungsional Ketergantungan fungsional sepenuhnya Ketergantungan total Ketergantungan transitif
Ketergantungan fungsional Suatu atribut Y mempunyai ketergantungan fungsional terhadap atribut X jika dan hanya jika setiap nilai X berhubungan dengan sebuah nilai Y X Y Yang berarti X secara fungsional menentukan Y atau Y secara fungsional tergantung pada X
Contoh NPM namaMhs Namakul, npm nihuruf Npm nihuruf Namakul npm
Ketergantungan transitif Definisi bentuk ketergantungan transitif adalah sebagai berikut : Atribut Z mempunyai ketergantungan transitif terhadap X, bila : Y memiliki ketergantungan fungsional terhadap X ( X Y ) Z memiliki ketergantungan fungsional terhadap Y ( Y Z) Maka X Y Z
Contoh Kuliah tempat, waktu Tempat Ruang Kuliah Tempat Ruang
Tahapan Normalisasi
Tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria sbb: Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman (Lossless-Join Decomposition). Artinya, setelah tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel baru tersebut bisa menghasilkan tabel semula dengan sama persis.
Tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria sbb: Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation). Tidak melanggar Boyce-Code Normal Form (BCNF) (-akan dijelaskan kemudian-) Jika kriteria BCNF tidak dapat dipenuhi, maka paling tidak , tabel tersebut tidak melanggar Bentuk Normal tahap 3.
Bentuk tidak normal (unnormal) Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu format tertentu. Bisa saja data tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan saat memasukkan data.
Contoh
Contoh No Mhs Nama Mhs Jurusan KodeMK Nama MK KodeDosen Nama Dosen Nilai 2683 Welli MI MI350 Manajamen DB B104 Ati A MI465 Analsis Prc. Sistem B317 Dita B 5432 Bakri Ak. Manajemen DB C AKN201 Akuntansi Keuangan D310 Lia MKT300 Dasar Pemasaran B212 Lola
Bentuk Normal Tahap Pertama (1st NF) Bentuk normal 1NF terpenuhi jika sebuah tabel tidak memiliki atribut bernilai banyak (multivalued attribute), atribut composite atau kombinasinya dalam domain data yang sama. Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi)
Contoh unnormal Bentuk 1st NF
Contoh unnormal Bentuk 1st NF No Mhs Nama Mhs Jurusan KodeMK Nama MK KodeDosen Nama Dosen Nilai 2683 Welli MI MI350 Manajamen DB B104 Ati A MI465 Analsis Prc. Sistem B317 Dita B 5432 Bakri Ak. Manajemen DB C AKN201 Akuntansi Keuangan D310 Lia MKT300 Dasar Pemasaran B212 Lola Bentuk 1st NF No Mhs Nama Mhs Jurusan KodeMK Nama MK KodeDosen Nama Dosen Nilai 2683 Welli MI MI350 Manajamen DB B104 Ati A MI465 Analsis Prc. Sistem B317 Dita B 5432 Bakri Ak. Manajemen DB C AKN201 Akuntansi Keuangan D310 Lia MKT300 Dasar Pemasaran B212 Lola
Bentuk normal ke 2 Memenuhi bentuk 1NF 2nd normal form : Tiap atribut bukan kunci harus bergantung fungsi ke atribut kunci Bergantung fungsi AB,C,D,E A adalah kunci, sedangkan B,C,D,E bergantung fungsi terhadap A Menjadikan pengelompokan dalam tabel-tabel yang relevan
2st NF
2 NF Bentuk 2 NF No Mhs Nama Mhs Jurusan KodeMK Nama MK KodeDosen Nama Dosen Nilai 2683 Welli MI MI350 Manajamen DB B104 Ati A MI465 Analsis Prc. Sistem B317 Dita B 5432 Bakri Ak. Manajemen DB C AKN201 Akuntansi Keuangan D310 Lia MKT300 Dasar Pemasaran B212 Lola Bentuk 2 NF KodeMK Nama MK KodeDosen Nama Dosen MI350 Manajamen DB B104 Ati MI465 Analsis Prc. Sistem B317 Dita AKN201 Akuntansi Keuangan D310 Lia MKT300 Dasar Pemasaran B212 Lola No Mhs KodeMK Nilai 2683 MI350 A MI465 B 5432 C AKN201 MKT300 No Mhs Nama Mhs Jurusan 2683 Welli MI 5432 Bakri Ak.
Bentuk normal ke 3 Memenuhi bentuk 2 NF Atribut bukan kunci tidak memiliki ketergantungan transitif terhadap kunci utama Ketergantungan transitif AB,C,D,E CE C adalah trans untuk E dan A, maka harus di dekomposisi menjadi : AB,C,D dan CE
Contoh Bentuk 3 NF KodeMK Nama MK KodeDosen MI350 Manajamen DB B104 Nama Dosen MI350 Manajamen DB B104 Ati MI465 Analsis Prc. Sistem B317 Dita AKN201 Akuntansi Keuangan D310 Lia MKT300 Dasar Pemasaran B212 Lola Bentuk 3 NF KodeMK Nama MK KodeDosen MI350 Manajamen DB B104 MI465 Analsis Prc. Sistem B317 AKN201 Akuntansi Keuangan D310 MKT300 Dasar Pemasaran B212 KodeDosen Nama Dosen B104 Ati B317 Dita D310 Lia B212 Lola
Diagram Normalisasi
TUGAS Setiap kelompok maksimal 5 anggota Setiap anggota memberikan 1 struk pembelian (harus dari tempat/supermarket yang berbeda) Buatlah Normalisasi berdasarkan struk pembelian di supermarket yang sudah terkumpul Waktu mengerjakan 1 minggu, dikumpulkan H-1 perkuliahan, kirim file tugas (word/excel/pdf) ke betha.nurina@staff.unsika.ac.id Pembahasan dilakukan saat perkuliahan pekan depan
Next >>> NORMALISASI (2)