CONTOH STUDY KASUS APSI :
1. Suatu perguruan tinggi mempunyai banyak mahasiswa. Setiap mahasiwa tidak harus mengikuti suatu mata kuliah. Setiap biasanya mengikuti beberapa mata kuliah. Suatu mata kuliah diajarkan oleh seorang Dosen dan seorang Dosen bisa mengajar beberapa mata kuliah. Dan seorang Dosen harus mengajarkan suatu mata kuliah. Pada Entitas Mahasiswa diperlukan informasi tentang NIM, Nama_Mhs dan Jurusan, sedangkan Mata Kuliah diperlukan informasi tentang Kd_MK, Nm_Mk, SKS, Semester, sedangkan Dosen diperlukan juga informasi tentang Kd_Dosen, Nama_Dosen.
Pertanyaan : Buatlah ERD-nya ! Jawab :
1. Mengidentifikasikan dan menetapkan seluruh himpunan entitas yang akan terlibat.
2. Menentukan atribut-atribut key dari masing-masing himpunan entitas.
3. Mengidentifikasikan dan menetapkan seluruh himpunan relasi diantara himpunan entitas yang ada beserta foreign key-nya.
Mahasiswa Mata Kuliah Dosen
Mahasiswa Mata Kuliah Dosen
NIM Kd_MK Kd_Dosen
Mahasiswa Mata Kuliah
Dosen
NIM Kd_MK
Kd_Dosen
Mempelajari
NIM Kd_MK
Mempelajari
Kd_Dosen
4. Menentukan derajat dan cardinality rasio relasi untuk setiap himpunan relasi
5. Melengkapi himpunan relasi dengan atribut-atribut yang bukan kunci (non-key).
Mahasiswa Mata Kuliah
Dosen
NIM Kd_MK
Kd_Dosen
Mempelajari
NIM Kd_MK
Mempelajari
Kd_Dosen
Kd_MK
M M
M 1
Semester
Mahasiswa Mata Kuliah
Dosen NIM
Kd_Dosen
Mempelajari
NIM Kd_MK
Mengajar
Kd_Dosen
Kd_MK
M M
M 1
Nama_Mhs Alamat_Mhs Jurusan
Nm_Mk Kd_MK Kd_MK
Nilai
Nm_Dosen
Normalisasi Data
a. Pengertian Normalisasi
Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam suatu organisasi.
b. Tujuan dari Normalisasi
Untuk menghilangkan kerangkapan data Untuk mengurangi kompleksitas
Untuk mempermudah pemodifikasian data c. Proses Normalisasi
Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat. Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal
Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria sbb:
1. 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.
2. Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).
3. Tidak melanggar Boyce-Code Normal Form (BCNF)
Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak tabel tersebut tidak melanggar Bentuk Normal tahap ketiga (3rd Normal Form / 3NF).
Bentuk – bentuk Normalisasi
1. Bentuk Normal Kesatu (1 NF / First Normal Form)
Contoh :
Kelas (Kode Kelas, Nama Kelas, Dosen Pengajar)
Ini merupakan bentuk 1NF karena tidak ada yang berganda dan tiap atribut satu pengertian yang tunggal
Contoh Data
Kode Kelas Nama Kelas Dosen Pengajar
1 Algoritma dan Pemrograman 1 Sujito, S.Kom, M.Pd
2 Manajemen Umum Rahayu Widayanti, SE,MM
3 Pemrograman Web Syahroni, S.Kom
2. Bentuk Normal Kedua (2 NF)
Bentuk Normal kedua mempunyai syarat yaitu bentuk data telah memenuhi kriteria bentuk Normal Kesatu. Atribut bukan kunci haruslah bergantung secara fungsi pada kunci utama, sehingga untuk membentuk Normal Kedua haruslah sudah ditentukankunci-kunci field. Kunci field harus unik dan dapat mewakili atribut lain yang menjadi anggotanya. Dari contoh relasi mahasiswa pada bentuk Normal Kesatu, terlihat bahwa kunci utama adalah NPM. Nama Mahasiswa dan Dosen Wali bergantung pada NPM, Tetapi Kode
Semester bukanlah fungsi dari Mahasiswa maka file siswa dipecah menjadi 2 relasi yaitu :
Relasi Mahasiswa
NPM Nama Dosen Wali
14071004001 Monalisa Dedy Surya
14071004002 Indah Purnamasari Rudi Ruslan
14071004003 Putra kusuma Joko Susilo
Relasi Ambil Kuliah
NPM Kode Kuliah
14071004001 3456
14071004001 5674
14071004001 2345
14071004002 3456
14071004002 1253
14071004002 7534
3. Bentuk Normal Ketiga (3 NF)
Untuk menjadi bentuk Normal Ketiga maka relasi haruslah dalam bentuk Normal Kedua dan semua atribut bukan primer tidak punya hubungan yang transitif. Artinya setiap atribut bukan kunci harus bergantung hanya pada kunci primer secara menyeluruh.
Contoh pada bentuk Normal kedua di atas termasuk juga bentuk Normal Ketiga karena seluruh atribut yang ada di situ bergantung penuh pada kunci primernya.
Boyce-Codd Normal Form (BNCF)
Boyce-Codd Normal Form mempunyai paksaan yang lebih kuat dari bentuk Normal ketiga. Untuk menjadi BNCF, relasi harus dalam bentuk Normal Kesatu dan setiap atribut dipaksa bergantung pada fungsi pada atribut super key.
Relasi Seminar
NPM Seminar Pembimbing
14071004001 S100 Siska
14071004002 S100 Sinta
14071004003 S101 Sukma
14071004004 S101 Akbar
Bentuk Relasi Seminar adalah bentuk Normal Ketiga, tetapi tidak BCNF karena Kode Seminar masih bergantung fungsi pada Pembimbing, jika setiap Pembimbing dapat mengajar hanya satu seminar. Seminar bergantung pada satu atribut bukan super key seperti yang disayaratakan oleh BCNF. Maka relasi Seminar harus dipecah menjadi dua yaitu :
Relasi Seminar – Pembimbing Relasi Pembimbing
4. Field Kunci
Setiap file selalu terdapat kunci dari file berupa field atau satu set field yang dapat mewakili record. Misalnya Nomor Pokok Mahasiswa (NPM) merupakan kunci dari tabel mahasiswa suatu Perguruan Tinggi, setiap pencarian cukup dengan menyebut nomor mahasiswa tersebut maka dapat diketahui identitas mahasiswa lainnya seperti nama, alamat dan atribut lainnya. Nomor Pegawai (NIP) bagi data dosen, NIK untuk data karyawan, Kode_Kuliah untuk data Mata kuliah, dan lain sebagainya
a. Jenis-jenis atribut pada entitas, yaitu : Pembimbing Seminar
Siska S100
Sinta S100
Sukma S101
Akbar S101
NPM Pembimbing
Atribut Sederhana : atribut sederhana merupakan atribut atomik yang tidak dapat lagi dipecah menjadi atribut lain. Contoh : entitas mahasiswa mempunyai atribut sederhana berupa NIM, Nama Mahasiswa .
Atribut Komposit : atribut komposit merupakan atribut yang masih dapat dipecah menjadi sub-sub atribut yang masing-masing memiliki arti tesendiri. Contoh : entitas mahasiswa mempunyai atribut alamat. Alamat disini dapat dipecah menjadi sub atribut seperti nama_kota, kode_pos.
Atribut Bernilai Tunggal: yaitu atribut yang hanya memiliki satu nilai untuk setiap barisnya. Contoh : entitas mahasiswa mempunyai atribut NPM, Nama, Alamat isi data dari atribut ini hanya boleh diisi dengan 1 data. Setiap mahasiswa hanya memiliki 1 NPM, 1 Nama, 1 Alamat.
Atribut Bernilai Jamak: yaitu atribut yang boleh memiliki lebih dari satu nilai untuk setiap barisnya. Contoh : entitas mahasiswa mempunyai atribut Hobby isi data dari atribut ini boleh lebih dari 1 data. Mahasiswa Roshita memiliki NPM 13402021 beralamat di Jalan Garuda 32 Yogyakarta memiliki Hobby (Olah Raga, Nyanyi, Masak dan Nonton TV)
Atribut Harus Bernilai: yaitu atribut yang harus memiliki nilai data untuk setiap barisnya. Biasanya atribut seperti ini sudah ditetapkan dalam perancangan tabelnya sehingga jika dalam pengisian dokosongi akan terjadi kesalahan. Contoh : entitas mahasiswa mempunyai atribut NPM dan Nama_Mahasiswa yang harus diisi datanya, sebab jika tidak diisi akan terjadi kekacauan dalam basis data.