Pertemuan ke13 Normalisasi Betha Nurina Sari Normalisasi Normalisasi
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 Jakarta Keyboard 5 Citra Bandung 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 Jakarta Keyboard 5 Citra Bandung Mouse CCP 25
Insert Anomali Error yang terjadi sebagai akibat operasi insert record/tuple pada sebuah relation NO_SISWA NAMA_KURSUS BIAYA 10 b. Inggris 60. 000 10 b. Prancis 80. 000 10 b. Mandarin 60. 000 15 b. Inggris 60. 000 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 10 b. Prancis 80. 000 10 b. Mandarin 60. 000 15 b. Inggris 60. 000 20 b. Jepang 65. 000
Jika di normalkan NAMA_KURSUS BIAYA b. Inggris 60. 000 b. Prancis 80. 000 b. Mandarin 60. 000 b. Jepang 65. 000 NO_SISWA NAMA_KURSUS 10 b. Inggris 10 b. Prancis 10 b. Mandarin 15 b. Inggris 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 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 nama. Mhs Namakul, 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 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 Kode. MK 2683 5432 Welli Bakri MI Ak. Nama MK Kode. Dosen Nama Dosen Nilai B 104 Ati A MI 350 Manajamen DB MI 465 Analsis Prc. Sistem B 317 Dita B MI 350 Manajemen DB B 104 Ati C AKN 201 Akuntansi D 310 Lia B B 212 Lola A Keuangan MKT 300 Dasar Pemasaran
Bentuk Normal Tahap Pertama (1 st NF) • Bentuk normal 1 NF 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 1 st NF
Contoh unnormal No Mhs Nama Mhs Jurusan Kode. MK 2683 Welli MI MI 350 5432 Bakri Ak. Nama MK Kode. Dosen Nama Dosen Nilai Manajamen DB B 104 Ati A MI 465 Analsis Prc. Sistem B 317 Dita B MI 350 Manajemen DB B 104 Ati C AKN 201 Akuntansi D 310 Lia B B 212 Lola A Keuangan MKT 300 Bentuk 1 st NF Dasar Pemasaran No Mhs Nama Mhs Jurusan Kode. MK Nama MK Kode. Dosen Nama Dosen Nilai 2683 Welli MI MI 350 Manajamen DB B 104 Ati A 2683 Welli MI MI 465 Analsis Prc. Sistem B 317 Dita B 5432 Bakri Ak. MI 350 Manajemen DB B 104 Ati C 5432 Bakri Ak. AKN 201 Akuntansi D 310 Lia B B 212 Lola A Keuangan 5432 Bakri Ak. MKT 300 Dasar Pemasaran
Bentuk normal ke 2 • Memenuhi bentuk 1 NF • 2 nd normal form : Tiap atribut bukan kunci harus bergantung fungsi ke atribut kunci • Bergantung fungsi A B, C, D, E A adalah kunci, sedangkan B, C, D, E bergantung fungsi terhadap A • Menjadikan pengelompokan dalam tabel-tabel yang relevan
2 st NF
2 NF No Mhs Nama Mhs Jurusan Kode. MK Nama MK Kode. Dosen Nama Dosen Nilai 2683 Welli MI MI 350 Manajamen DB B 104 Ati A 2683 Welli MI MI 465 Analsis Prc. Sistem B 317 Dita B 5432 Bakri Ak. MI 350 Manajemen DB B 104 Ati C 5432 Bakri Ak. AKN 201 Akuntansi D 310 Lia B B 212 Lola A Keuangan 5432 Bakri Ak. Bentuk 2 NF MKT 300 Dasar Pemasaran Kode. MK Nama MK Kode. Dosen Nama Dosen MI 350 Manajamen DB B 104 Ati No Mhs Kode. MK Nilai MI 465 Analsis Prc. Sistem B 317 Dita 2683 MI 350 A AKN 201 Akuntansi Keuangan D 310 Lia 2683 MI 465 B MKT 300 Dasar Pemasaran B 212 Lola 5432 MI 350 C 5432 AKN 201 B No Mhs Nama Mhs Jurusan 5432 MKT 300 A 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 A B, C, D, E C adalah trans untuk E dan A, maka harus di dekomposisi menjadi : A B, C, D dan C E
Contoh Kode. MK Nama MK Kode. Dosen Nama Dosen MI 350 Manajamen DB B 104 Ati MI 465 Analsis Prc. Sistem B 317 Dita AKN 201 Akuntansi Keuangan D 310 Lia MKT 300 Dasar Pemasaran B 212 Lola Bentuk 3 NF Kode. MK Kode. Dosen Nama MK Kode. Dosen MI 350 Manajamen DB B 104 MI 465 Analsis Prc. Sistem B 317 B 104 Ati B 317 Dita D 310 Lia AKN 201 Akuntansi Keuangan D 310 B 212 Lola MKT 300 Dasar Pemasaran B 212
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)
- Slides: 31