NORMALISASI PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Pentingnya Normalisasi Bertujuan membuat desain basis data yang efisien (tidak ada pengulangan/redundansi data). Basis data memuat semua sumber informasi yang dibutuhkan. Basis data merupakan kesatuan data.
Untuk menghindari anomali insert, anomali delete dan anomali update. Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Tahapan Normalisasi Conceptual Design Conceptual Schema (ER Model)
Logical Design Logical Schema (Relational Model)
Analysis of Schema Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Normalized Schema
1NF (Bentuk Normal Pertama) Dalam sebuah relasi tidak ada atribut komposit dan multivalued attribute.
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh 1NF (1) Contoh relasi yang belum dalam bentuk 1NF pada tabel mahasiswa: nim, nama, tempat_lahir, tanggal_lahir, jenis_kelamin, angkatan, program_studi, jurusan, fakultas
Hilangkan atribut komposit, sehingga: angkatan, niu, kode_fakultas, nif, nama, tempat_lahir, tanggal_lahir, jenis_kelamin, program_studi, jurusan, fakultas Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh 1NF (2) Tabel krs yang belum dalam bentuk 1NF. matakuliah niu nama_mhs kode_mk nama_mk 1 Annisa MMS101 Kalkulus MMS102 Basisdata MMS103 Jaringan 2 Bambang MMS102 Basisdata MMS103 Jaringan 3 Candra MMS101 Kalkulus MMS103 Jaringan Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
semester tahun GANJIL 2011
GANJIL
2011
GANJIL
2011
Contoh 1NF (2) Hilangkan atribut multivalue, sehingga: niu 1 1 1 2 2 3 3
nama_mhs Annisa Annisa Annisa Bambang Bambang Candra Candra
kode_mk nama_mk MMS101 Kalkulus MMS102 Basisdata MMS103 Jaringan MMS102 Basisdata MMS103 Jaringan MMS101 Kalkulus MMS103 Jaringan
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
semester GANJIL GANJIL GANJIL GANJIL GANJIL GANJIL GANJIL
tahun 2011 2011 2011 2011 2011 2011 2011
2NF (Bentuk Normal Kedua) Functional Dependency (Ketergantungan Fungsional) Sebuah himpunan atribut X dikatakan menentukan secara fungsional himpunan atribut Y jika nilai X menentukan nilai unik untuk Y.
Notasi X → Y jika terdapat dua tuple (baris) yang memiliki nilai yang sama untuk X, maka nilai untuk Y pada kedua tuple tersebut juga sama. IF t1[X] = t2[X] THEN t1[Y] = t2[Y] dalam relasi R.
nim → (nama, tanggal_lahir, program_studi, ...) (kode_fakultas, nif) → (nama, tanggal_lahir, program_studi, ...) Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
2NF (Bentuk Normal Kedua) Syarat 2NF : Memenuhi 1NF. Semua atribut yang bukan bagian dari primary key memiliki ketergantungan fungsional pada primary key secara utuh.
Tidak terpenuhi jika atribut yang bukan bagian dari primary key hanya tergantung secara fungsional pada sebagian dari primary key saja (partial dependency). Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh 2NF Adakah partial dependency? tabel krs niu 1 1 1 2 2 3 3
nama_mhs Annisa Annisa Annisa Bambang Bambang Candra Candra
kode_mk nama_mk MMS101 Kalkulus MMS102 Basisdata MMS103 Jaringan MMS102 Basisdata MMS103 Jaringan MMS101 Kalkulus MMS103 Jaringan Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
semester GANJIL GANJIL GANJIL GANJIL GANJIL GANJIL GANJIL
tahun 2011 2011 2011 2011 2011 2011 2011
Contoh 2NF Pisahkan atribut-atribut yang memiliki partial dependency tersebut pada tabel yang terpisah. tabel mahasiswa niu 1 2 3
nama_mhs Annisa Bambang Candra
tabel matakuliah kode_mk MMS101 MMS102 MMS103
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
nama_mk Kalkulus Basisdata Jaringan
Contoh 2NF tabel krs niu 1 1 1 2 2 3 3
semester tahun kode_mk GANJIL 2011 MMS101 GANJIL 2011 MMS102 GANJIL 2011 MMS103 GANJIL 2011 MMS102 GANJIL 2011 MMS103 GANJIL 2011 MMS101 GANJIL 2011 MMS103
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
3NF (Bentuk Normal Ketiga) Transitive Functional Depedency terdapat himpunan atribut Z yang bukan merupakan bagian dari primary key kemudian X → Z dan Y → Z terpenuhi. jadi sebenarnya X → Z karena X → Y → Z.
Contoh: niu → jurusan merupakan transitive FD. karena niu → program_studi dan program_studi → jurusan. Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
3NF (Bentuk Normal Ketiga) Syarat 3NF : Memenuhi 2NF. Setiap atribut yang bukan bagian dari primary key tidak memiliki transitive functional depedency pada primary key.
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh 3NF tabel mahasiswa niu 1 2 3 4
nama Annisa Bambang Candra Dinda
program_studi Ilmu Komputer Geofisika Statistika Teknologi Informasi
jurusan IKE Fisika Matematika TETI
fakultas MIPA MIPA MIPA Teknik
niu → program_studi → jurusan → fakultas
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh 3NF niu 1 2 3 4
tabel mahasiswa nama kode_prodi ... Annisa IK Bambang GF Candra ST Dinda TI
tabel program_studi kode_prodi nama kode_jurusan IK Ilmu Komputer IKE GF Geofisika FIS ST Statistika MAT TI Teknologi Informasi TEI Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh 3NF tabel jurusan kode_jurusan nama IKE Ilmu Komputer dan Elektronika FIS Fisika MAT Matematika TEI Tek. Elektro dan Tek. Informasi
kode_fakultas PA PA PA TK
tabel fakultas
kode_fakultas nama PA Matematika dan Ilmu Pengetahuan Alam TK Teknik Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/