NORMALISASI BASIS DATA Institut Teknologi Sumatera
PRE TEST Sebutkan kegunaan ERD. Sebutkan perbedaan metode perancangan basis data dengan cara top down vs bottom up. Jelaskan! 2
TUJUAN PERKULIAHAN Mahasiswa dapat merancang basis data dengan metode normalisasi (bottom up). Dalam merancang sebuah basis data, mahasiswa dapat menghilangkan duplikasi, anomali, dan berbagai macam ketergantungan. Mahasiswa dapat membentuk struktur tabel yang berkualitas melalui proses normalisasi terhadap data yang belum normal. 3
POKOK BAHASAN 1. Pengantar Normalisasi Anomali Ketergantungan 2. Normalisasi 3. Studi Kasus 4
CARA MERANCANG BASIS DATA Top Down Data belum terbentuk Prinsip sistem keseluruhan sudah diketahui Perancangan menggunakan Entity Relationship Diagram (ERD) Bottom Up Organisasi memiliki data existing (data nyata) yang siap ditempatkan kedalam baris dan kolom Mungkin terjadi perombakan signifikan dari struktur asli ke struktur basis data Perancangan menggunakan metode Normalisasi 5
TOP DOWN VS BOTTOM UP Jika dilaksanakan dengan kehati-hatian dan mengikuti kaidah yang ada, perancangan dengan kedua cara tersebut akan menghasilkan fisik basis data yang sama. Saling melengkapi, dapat dilakukan bersama-sama, atau bergantian. Dari data yang ada dilakukan normalisasi, untuk kepentingan evaluasi dan dokumentasi, hasil kerja normalisasi dapat diwujudkan dalam sebuah ERD. ERD yang ada dapat dimodifikasi dengan pertimbangan tertentu, hasilnya diimplementasikan dalam sejumlah struktur tabel basis data. Struktur tersebut dapat diuji kembali dengan aturan-aturan normalisasi. Hingga akhirnya diperoleh sebuah struktur data yang efektif dan efisien. 6
NORMALISASI Suatu proses yang digunakan untuk menentukan pengelompokan atribut-atribut dalam sebuah tabel sehingga diperoleh tabel dengan struktur yang baik. Suatu tabel dinyatakan normal apabila tabel tersebut memenuhi aturan-aturan tertentu. 7
TABEL DIKATAKAN BURUK Terdapat data sama yang tersimpan di banyak tempat. Menyebabkan data tidak konsisten Terjadi perulangan atau duplikasi sehingga terjadi pemborosan ruang penyimpanan. Terjadi kehilangan data yang tidak disengaja atau tidak diketahui. 8
TUJUAN NORMALISASI 1. Mengatur data dalam kelompok-kelompok sehingga masing-masing kelompok hanya menangai bagian kecil dari sistem. 2. Menghilangkan duplikasi data. 3. Membuat data dapat diakses dan dimanipulasi secara cepat dan efisien. 9
TUJUAN NORMALISASI 4. Mengatur data sedemikian rupa sehingga ketika modifikasi data dilakukan pada satu tempat saja. 5. Memungkinkan baris-baris dalam tabel disisipkan, dimodifikasi, dan dihapus tanpa menimbulkan kesalahan atau ketidakkonsistenan (anomali). 10
Tabel Buruk Normalisasi Tabel Normal 11
PENGANTAR NORMALISASI Anomali Anomali penyisipan Anomali pengubahan Anomali penghapusan Ketergantungan Ketergantungan fungsional Ketergantungan sepenuhnya vs ketergantungan parsial Ketergantungan transitif 12
ANOMALI Anomali adalah masalah yang timbul ketika terjadi operasi pemutakhiran data. Misalnya: pengubahan data yang membuat data tidak konsisten, atau suatu data menjadi hilang. Bentuk Anomali Anomali Penyisipan Anomali pengubahan Anomali penghapusan 13
CONTOH REDUDANSI - ANOMALI Tabel Barang_Pemasok kd_barang nama_barang harga_jual kd_pemasok nama_pemasok kota B001 TV Sono Flat 27 2.700.000 P22 PT Citra Jaya Bogor B002 HP Samsul G7 2.250.000 P33 PT Kartika Yogya B003 Komputer DULL i3 4.500.000 P11 PT Amerta Bandung B004 TV Polyback 32 3.300.000 P33 PT Kartika Yogya B005 HP Lehngopo A100 1.400.000 P44 PT Nidya Tangerang 1. Tentukan kunci primer dari tabel diatas! 2. Temukan bentuk anomali yang dapat terjadi pada tabel diatas! 14
ANOMALI PENYISIPAN Anomali penyisipan adalah masalah yang terjadi ketika suatu baris data disisipkan kedalam sebuah tabel. Anomali terjadi karena kunci primer pada baris data yang baru bernilai NULL. 15
ANOMALI PENYISIPAN Tabel Barang_Pemasok kd_barang nama_barang harga_jual kd_pemasok nama_pemasok kota B001 TV Sono Flat 27 2.700.000 P22 PT Citra Jaya Bogor B002 HP Samsul G7 2.250.000 P33 PT Kartika Yogya B003 Komputer DULL i3 4.500.000 P11 PT Amerta Bandung B004 TV Polyback 32 3.300.000 P33 PT Kartika Yogya B005 HP Lehngopo A100 1.400.000 P44 PT Nidya Tangerang data disisipkan 16 Operator ingin menambahkan data pemasok pada pada tabel diatas. Anomali apa yg mungkin terjadi? P55 PT Bangun Jaya Jakarta data disisipkan P78 CV Mataram Solo
ANOMALI PENGUBAHAN Anomali pengubahan adalah masalah yang timbul ketika data dalam tabel diperbarui. Anomali pengubahan dapat muncul karena terdapat banyak data yg serupa (duplikat). Sehingga apabila satu data diubah, data lain tidak terkena efek perubahan. 17
ANOMALI PENGUBAHAN Tabel Barang_Pemasok kd_barang nama_barang harga_jual kd_pemasok nama_pemasok kota B001 TV Sono Flat 27 2.700.000 P22 PT Citra Jaya Bogor B002 HP Samsul G7 2.250.000 P33 PT Kartika Yogya B003 Komputer DULL i3 4.500.000 P11 PT Amerta Bandung B004 TV Polyback 32 3.300.000 P33 PT Kartika Yogya B005 HP Lehngopo A100 1.400.000 P44 PT Nidya Tangerang data nama_pemasok dan kota diubah 18
ANOMALI PENGUBAHAN Tabel Barang_Pemasok kd_barang nama_barang harga_jual kd_pemasok nama_pemasok kota B001 TV Sono Flat 27 2.700.000 P22 PT Citra Jaya Bogor B002 HP Samsul G7 2.250.000 P33 PT Karmila Jaya Yogyakarta B003 Komputer DULL i3 4.500.000 P11 PT Amerta Bandung B004 TV Polyback 32 3.300.000 P33 PT Kartika Yogya B005 HP Lehngopo A100 1.400.000 P44 PT Nidya Tangerang data nama_pemasok dan kota diubah 1. Ada dua data yg sepertinya sama, mana yg benar? 2. Bagaimana cara mengatasi hal ini? 19
ANOMALI PENGHAPUSAN Anomali penghapusan adalah masalah yang timbul ketika suatu baris dalam suatu tabel dihapus. Anomali pengubahan dapat muncul karena tidak adanya pemisahan/pengelompokan jenis data yang jelas dalam suatu tabel. 20
ANOMALI PENGHAPUSAN Tabel Barang_Pemasok kd_barang nama_barang harga_jual kd_pemasok nama_pemasok kota B001 TV Sono Flat 27 2.700.000 P22 PT Citra Jaya Bogor B002 HP Samsul G7 2.250.000 P33 PT Kartika Yogya B003 Komputer DULL i3 4.500.000 P11 PT Amerta Bandung B004 TV Polyback 32 3.300.000 P33 PT Kartika Yogya B005 HP Lehngopo A100 1.400.000 P44 PT Nidya Tangerang apakah yg akan terjadi apabila kita menghapus data pemasok dg ID P11? 21
KETERGANTUNGAN Ketergantungan fungsional Ketergantungan sepenuhnya vs ketergantungan parsial Ketergantungan transitif 22
KETERGANTUNGAN FUNGSIONAL Ketergantungan fungsional (depedensi fungsional) adalah kekangan antara dua buah atribut (atau himpunan atribut). 23
KETERGANTUNGAN FUNGSIONAL Sebuah atribut dikatakan memiliki ketergantungan fungsional apabila setiap nilai dalam X berhubungan dengan satu nilai yang sama dalam Y. X Y Dibaca: X menentukan Y Y bergantung secara fungsional terhadap X 24
KETERGANTUNGAN FUNGSIONAL X Y Atribut yang berada di kiri tanda panah disebut penentu atau determinan. Adapun yang berada di kanan tanda panah dinamakan sebagai dependen atau yang bergantung. 25
CONTOH - KETERGANTUNGAN FUNGSIONAL kd_barang nama_barang harga_jual kd_pemasok nama_pemasok kota B001 TV Sono Flat 27 2.700.000 P22 PT Citra Jaya Bogor B002 HP Samsul G7 2.250.000 P33 PT Kartika Yogya B003 Komputer DULL i3 4.500.000 P11 PT Amerta Bandung B004 TV Polyback 32 3.300.000 P33 PT Kartika Yogya B005 HP Lehngopo A100 1.400.000 P44 PT Nidya Tangerang Berlaku notasi: kd_barang nama_barang kd_barang harga_jual kd_pemasok nama_pemasok kd_pemasok kota 26
CONTOH - KETERGANTUNGAN FUNGSIONAL Tabel Kuliah kd_mk NIP th_akademik IF4012 198803 2015/2016 IF4013 199212 2015/2016 IF6011 199007 2016/2017 IF6015 199305 2016/2017 IF4012 198803 2016/2017 Ketergantungan fungsional pada kumpulan atribut: {kd_mk, NIP} th_akademik 27
CONTOH - KETERGANTUNGAN FUNGSIONAL Tabel Dosen_Pendidikan NIP nama_dosen jenis_kelamin pendidikan th_lulus 198803 Rajif Pria S1 2010 199305 Indra Pria S1 2013 199007 Nana Wanita S1 2014 199305 Indra Pria S2 2015 198803 Rajif Pria S2 2012 Ketergantungan fungsional pada kumpulan atribut: {NIP, pendidikan} th_lulus 28
CONTOH - KETERGANTUNGAN FUNGSIONAL Tabel Barang_Pemasok kd_barang nama_barang harga_jual kd_pemasok nama_pemasok kota B001 TV Sono Flat 27 2.700.000 P22 PT Citra Jaya Bogor B002 HP Samsul G7 2.250.000 P33 PT Kartika Yogya B003 Komputer DULL i3 4.500.000 P11 PT Amerta Bandung B004 TV Polyback 32 3.300.000 P33 PT Kartika Yogya B005 HP Lehngopo A100 1.400.000 P44 PT Nidya Tangerang Tentukan ketergantungan fungsional pada tabel diatas! 29
KETERGANTUNGAN SEPENUHNYA VS KETERGANTUNGAN PARSIAL Suatu atribut Y dikatakan memiliki ketergantungan sepenuhnya terhadap X, apabila: X adalah atribut (kumpulan atribut) yang menjadi kunci primer. Y tidak memiliki ketergantungan terhadap sebagian dari X. 30
KETERGANTUNGAN SEPENUHNYA VS KETERGANTUNGAN PARSIAL Ketergantungan parsial: X adalah kumpulan atribut yang membentuk kunci primer. Y memiliki ketergantungan terhadap sebagian dari X. Tabel yang baik, semua atributnya harus bergantung sepenuhnya terhadap kunci primer. 31
CONTOH - KETERGANTUNGAN PARSIAL Tabel Dosen_Pendidikan NIP nama_dosen jenis_kelamin pendidikan th_lulus 198803 Rajif Pria S1 2010 199305 Indra Pria S1 2013 199007 Nana Wanita S1 2014 199305 Indra Pria S2 2015 198803 Rajif Pria S2 2012 {NIP, pendidikan} adalah kunci primer NIP nama_dosen Ketergantungan parsial NIP jenis_kelammin 32
KETERGANTUNGAN TRANSITIF Suatu atribut Z dikatakan memiliki ketergantungan transitif terhadap X apabila: Z memiliki ketergantungan fungsional terhadap Y Y memiliki ketergantungan fungsional terhadap X X Y Z 33
CONTOH - KETERGANTUNGAN TRANSITIF Tabel Buku_Penulis ISBN Judul_buku kd_penerbit nama_penerbit kota 978 Basis Data C20 Informatika Bandung 979 Sistem Operasi C21 Andi Offset Yogya 980 Berlatih Fedora C20 Informatika Bandung 981 Seluk Beluk Mikrotik C21 Andi Offset Yogya 982 Belajar Office C22 Airlangga Surabaya Ketergantungan transitif: ISBN kd_penerbit kd_penerbit nama_penerbit, kd_penerbit kota Maka, ISBN kd_penerbit nama_penerbit ISBN kd_penerbit kota 34
CONTOH - KETERGANTUNGAN TRANSITIF Tabel Barang_Pemasok kd_barang nama_barang harga_jual kd_pemasok nama_pemasok kota B001 TV Sono Flat 27 2.700.000 P22 PT Citra Jaya Bogor B002 HP Samsul G7 2.250.000 P33 PT Kartika Yogya B003 Komputer DULL i3 4.500.000 P11 PT Amerta Bandung B004 TV Polyback 32 3.300.000 P33 PT Kartika Yogya B005 HP Lehngopo A100 1.400.000 P44 PT Nidya Tangerang 35 Temukan ketergantungan transitif pada tabel diatas! Temukan jenis ketergantungan lain pada tabel diatas!
SO... Pada satu saat yang sama, mungkin saja satu tabel memiliki banyak jenis ketergantungan. Supaya struktur tabel menjadi lebih baik, dan agar tidak terjadi anomali, maka penting bagi sebuah tabel untuk melewati proses normalisasi. 36
TAHAPAN NORMALISASI Bentuk normal pertama 1NF First normal form Bentuk normal kedua 2NF Second normal form Bentuk normal ketiga 3NF Third normal form Bentuk normal Boyce-Codd BCNF Boyce-Codd normal form Bentuk normal keempat 4NF Fourth normal form Bentuk normal kelima 5NF Fifth normal form 37
BENTUK NORMAL PERTAMA (1NF) Suatu keadaan yang membuat setiap perpotongan baris dan kolom hanya berisi satu nilai. Agar tabel berada dalam bentuk normal pertama, perlu langkah untuk menghilangkan atribut yang bernilai ganda. 38
LANGKAH NORMALISASI 1NF Berikut ini adalah tabel dalam bentuk belum normal / unnormalized form (UNF) Nomor Pegawai Nama Pegawai Nomor Klien Nama Klien P27 Amir Hamzah K01 K02 K03 Rini Sumarni Maman Abdurrohman Imanuel Cristoper P28 Kartika Yani K04 Kurniawan Sugandi P29 Subekti K05 M. Mansyur P30 Hendra K06 K07 Sulaiman Kohar Veronica Anggi Ubahlah tabel diatas menjadi tabel dalam bentuk normal pertama (1NF) 39
LANGKAH NORMALISASI 1NF 1. Bentuk sejumlah baris sehingga setiap sel berisi satu nilai. Tabel Pegawai_Klien nomor_pegawai nama_pegawai nomor_klien nama_klien P27 Amir Hamzah K01 Rini Sumarni K02 Maman Abdurrohman K03 Imanuel Cristoper P28 Kartika Yani K04 Kurniawan Sugandi P29 Subekti K05 M. Mansyur P30 Hendra K06 Sulaiman Kohar K07 Veronica Anggi 40
LANGKAH NORMALISASI 1NF 2. Bagian yg kosong diisi dengan data yang sesuai. Tabel Pegawai_Klien nomor_pegawai nama_pegawai nomor_klien nama_klien P27 Amir Hamzah K01 Rini Sumarni P27 Amir Hamzah K02 Maman Abdurrohman P27 Amir Hamzah K03 Imanuel Cristoper P28 Kartika Yani K04 Kurniawan Sugandi P29 Subekti K05 M. Mansyur P30 Hendra K06 Sulaiman Kohar P30 Hendra K07 Veronica Anggi 41
LANGKAH NORMALISASI 1NF 3. Menentukan kunci primer. Penentuannya dapat dipilih melalui determinan-determinan yang muncul. Sehingga setiap baris dapat diidentifikasi secara unik. Tabel Pegawai_Klien nomor_pegawai nama_pegawai nomor_klien nama_klien P27 Amir Hamzah K01 Rini Sumarni P27 Amir Hamzah K02 Maman Abdurrohman P27 Amir Hamzah K03 Imanuel Cristoper P28 Kartika Yani K04 Kurniawan Sugandi P29 Subekti K05 M. Mansyur P30 Hendra K06 Sulaiman Kohar P30 Hendra K07 Veronica Anggi 42
BENTUK NORMAL KEDUA (2NF) Suatu tabel dikatakan memenuhi bentuk normal kedua apabila tabel tersebut: a. Telah memenuhi bentuk normal pertama (1NF) tidak ada lagi atribut bernilai ganda. b. Tidak mengandung ketergantungan parsial. 43
LANGKAH NORMALISASI 2NF Berikut ini adalah tabel yang memenuhi bentuk normal pertama (1NF). Ubahlah tabel berikut menjadi tabel yang memenuhi bentuk normal kedua. nomor_pegawai nama_pegawai nomor_klien nama_klien P27 Amir Hamzah K01 Rini Sumarni P27 Amir Hamzah K02 Maman Abdurrohman P27 Amir Hamzah K03 Imanuel Cristoper P28 Kartika Yani K04 Kurniawan Sugandi P29 Subekti K05 M. Mansyur P30 Hendra K06 Sulaiman Kohar P30 Hendra K07 Veronica Anggi 44 identifikasi ketergantungan parsial dari tabel diatas!
LANGKAH NORMALISASI 2NF Tabel Pegawai_Klien nomor_pegawai nama_pegawai nomor_klien nama_klien P27 Amir Hamzah K01 Rini Sumarni P27 Amir Hamzah K02 Maman Abdurrohman P27 Amir Hamzah K03 Imanuel Cristoper P28 Kartika Yani K04 Kurniawan Sugandi P29 Subekti K05 M. Mansyur P30 Hendra K06 Sulaiman Kohar P30 Hendra K07 Veronica Anggi {no_pegawai, nomor_klien} adalah kunci primer nomor_pegawai nama_pegawai nomor_klien nama_klien Ketergantungan parsial 45
LANGKAH NORMALISASI 2NF a. Ubah setiap kasus ketergantungan parsial menjadi sebuah tabel sendiri, dengan determinan (dari ketergantungan parsial tersebut) menjadi kunci primer nya. b. Manfaatkan kunci tamu agar relasi antar tabel tetap terjaga. c. Hapus data duplikat. d. Suatu tabel yang dipecah dalam tahapan normalisasi disebut juga dengan istilah dekomposisi tabel. 46
LANGKAH NORMALISASI 2NF Tabel Pegawai_Klien nomor_pegawai nama_pegawai nomor_klien nama_klien P27 Amir Hamzah K01 Rini Sumarni P27 Amir Hamzah K02 Maman Abdurrohman P27 Amir Hamzah K03 Imanuel Cristoper P28 Kartika Yani K04 Kurniawan Sugandi P29 Subekti K05 M. Mansyur P30 Hendra K06 Sulaiman Kohar P30 Hendra K07 Veronica Anggi 47 dekomposisi tabel menjadi..
LANGKAH NORMALISASI 2NF Tabel Pegawai Tabel Klien kunci tamu nomor_pegawai P27 P27 P27 P28 P29 P30 P30 nama_pegawai Amir Hamzah Amir Hamzah Amir Hamzah Kartika Yani Subekti Hendra Hendra nomor_klien nama_klien nomor_pegawai K01 Rini Sumarni P27 K02 Maman Abdurrohman P27 K03 Imanuel Cristoper P27 K04 Kurniawan Sugandi P28 K05 M. Mansyur P29 K06 Sulaiman Kohar P30 K07 Veronica Anggi P30 identifikasi dan hilangkan data duplikat 48
LANGKAH NORMALISASI 2NF Tabel Pegawai Tabel Klien kunci tamu nomor_pegawai P27 P28 P29 P30 nama_pegawai Amir Hamzah Kartika Yani Subekti Hendra nomor_klien nama_klien nomor_pegawai K01 Rini Sumarni P27 K02 Maman Abdurrohman P27 K03 Imanuel Cristoper P27 K04 Kurniawan Sugandi P28 K05 M. Mansyur P29 K06 Sulaiman Kohar P30 K07 Veronica Anggi P30 49
LANGKAH NORMALISASI 2NF Dibawah ini adalah opsi lain dalam dekomposisi tabel ini. Mana yg lebih baik? Tabel Pegawai Tabel Pegawai_Klien Tabel Klien nomor_pegawai P27 P28 P29 P30 50 nama_pegawai Amir Hamzah Kartika Yani Subekti Hendra nomor_pegawai P27 P27 P27 P28 P29 P30 P30 nomor_klien K01 K02 K03 K04 K05 K06 K07 nomor_klien K01 K02 K03 K04 K05 K06 K07 Diagram ER berperan utk check & recheck, periksa kembali apakah hasil dekomposisi tabel diatas sesuai dg teori ERD mapping!? Periksa kembali diagram ER dari tabel diatas! nama_klien Rini Sumarni Maman Abdurrohman Imanuel Cristoper Kurniawan Sugandi M. Mansyur Sulaiman Kohar Veronica Anggi
BENTUK NORMAL KETIGA (3NF) Suatu tabel dikatakan memenuhi bentuk normal ketiga apabila tabel tersebut: a. Telah memenuhi bentuk normal kedua (2NF) tidak ada lagi atribut bernilai ganda dan tidak terdapat ketergantungan parsial. b. Tidak mengandung ketergantungan transitif (jika memang ada). 51
LANGKAH NORMALISASI 3NF a. Bentuk tabel baru yang tidak melibatkan kunci primer pada tabel semula. Atribut perantara (pada ketergantungan transitif) akan menjadi kunci primer bagi tabel baru yang terbentuk. b. Manfaatkan kunci tamu agar relasi antar tabel tetap terjaga. c. Hapus data duplikat. 52
LANGKAH NORMALISASI 3NF Tabel Buku_Penulis ISBN Judul_buku kd_penerbit nama_penerbit kota 978 Basis Data C20 Informatika Bandung 979 Sistem Operasi C21 Andi Offset Yogya 980 Berlatih Fedora C20 Informatika Bandung 981 Seluk Beluk Mikrotik C21 Andi Offset Yogya 982 Belajar Office C22 Airlangga Surabaya Ketergantungan transitif: ISBN kd_penerbit kd_penerbit nama_penerbit, kd_penerbit kota Maka, ISBN kd_penerbit nama_penerbit ISBN kd_penerbit kota 53
LANGKAH NORMALISASI 3NF setelah dekomposisi Tabel Buku Tabel Penulis ISBN Judul_buku kd_penerbit kd_penerbit nama_penerbit kota 978 Basis Data C20 C20 Informatika Bandung 979 Sistem Operasi C21 C21 Andi Offset Yogya 980 Berlatih Fedora C20 C20 Informatika Bandung 981 Seluk Beluk Mikrotik C21 C21 Andi Offset Yogya 982 Belajar Office C22 C22 Airlangga Surabaya 54
LANGKAH NORMALISASI 3NF setelah dekomposisi Tabel Buku Tabel Penerbit ISBN Judul_buku kd_penerbit kd_penerbit nama_penerbit kota 978 Basis Data C20 C20 Informatika Bandung 979 Sistem Operasi C21 C21 Andi Offset Yogya 980 Berlatih Fedora C20 C22 Airlangga Surabaya 981 Seluk Beluk Mikrotik C21 982 Belajar Office C22 55
CONTOH LAIN TABEL NORMAL Tabel Barang kd_barang nama_barang harga_jual kd_pemasok B001 TV Sono Flat 27 2.700.000 P22 B002 HP Samsul G7 2.250.000 P33 B003 Komputer DULL i3 4.500.000 P11 B004 TV Polyback 32 3.300.000 P33 B005 HP Lehngopo A100 1.400.000 P44 Tabel Pemasok kd_pemasok nama_pemasok kota P22 PT Citra Jaya Bogor P33 PT Kartika Yogya P11 PT Amerta Bandung P44 PT Nidya Tangerang Buatlah simulasi tambah, ubah dan hapus data pada kedua tabel diatas! Apakah masih terjadi anomali? 56
BETUK NORMAL LAIN Bentuk normal Boyce-Codd (BCNF), Bentuk normal keempat (4NF), dan Bentuk normal kelima (5NF) tidak dipelajari pada matakuliah ini. Ketiga bentuk normal diatas (BCNF, 4NF, 5NF) sangat kompleks, namun manfaatnya tidak begitu besar. Sampai dengan bentuk normal ketiga telah dapat menghasilkan tabel yang berkualitas. 57
STUDI KASUS Tabel Jadwal_Kuliah NIP Nama Dosen Kode MK Nama MK SKS NIM Nama Mahasiswa 198803 Rajif IF402 Basis Data 3 111 113 114 Rahmat Joni Angel Tahun Akademik 2016/2017 2016/2017 2016/2017 199305 Indra IF405 Kecerdasan Buatan 4 113 Joni 2017/2018 A 199007 Nana IF601 Proyek Perangkat Lunak 4 289 Bagus 2017/2018 BC 198803 Rajif IF402 Basis Data 3 111 234 Rahmat Vicky 2017/2018 2017/2018 Bentuk data diatas menjadi tabel-tabel normal. Tunjukkan langkah-langkah yang dilewati data tersebut dalam proses normalisasi. Baik pada normalisasi tahap pertama, kedua, dan ketiga! Diskusikan bersama kelompok anda. Presentasikan! 58 Nilai D AB C A B
TERIMA KASIH 59
PR Lakukan mapping terhadap ERD tugas anda! Isikan data riil terhadap tabel hasil mapping tersebut. Ujilah masing-masing tabel hasil mapping tersebut dengan prinsip-prinsip normalisasi! Tunjukkan langkah-langkah normalisasi-nya. Mulai dari bentuk normal pertama, bentuk normal kedua, dan bentuk normal ketiga. Presentasikan! 60
PR Instal software basis data pada komputer anda. Gunakan perangkat lunak MySQL atau Maria DB. Aplikasikan rancangan basis data anda (yang sudah dinormalisasi) pada perangkat lunak tersebut. Masukkan semua data riil yang anda miliki pada perangkat lunak basis data tersebut. Susun dalam sebuah laporan dan presentasikan! 61