Modul 3 Normalisasi
Modul 3 Normalisasi
TEKNIK NORMALISASI
Kompetensi Dasar :
3.3 Menerapkan Teknik Normalisasi Basis Data
4.3 Membuat Perancangan Sistem Basis Data Menggunakan Teknik Normalisasi Data
Tujuan Pembelajaran :
1. Memahami dan menerapkan teknik normalisasi data
2. Memahami dan membuat perancangan sistem basis data menggunakan teknik normalisasi data
Uraian Materi
Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi
kebutuhan pemakai di dalam suatu organisasi.
Dalam merancang database harus dapat dijawab apabila kita diberikan data, maka bagaimana
kita menentukan struktur logik yang tepat untuk data tersebut, atau bagaimana kita menentukan
relation-relation yang diperlukan dan apa atributnya.
Semua relation dalam relational database selalu sudah ternormalisasi, dalam arti bahwa
semua relation sudah didefinisikan terhadap domain sederhana, yaitu domain yang hanya
berisi nilai atomik. Dalam normalisasi lanjutan kita berusaha untuk menghilangkan/mengurangi
data yang duplikasi atau mubazir agar supaya mendapatkan bentuk yang baik, hemat tempat, hemat
waktu, hemat biaya dan yang memberikan respon yang baik dan cepat.
Metode Normalisasi adalah suatu proses perancangan database untuk mendapatkan bentuk
normal. Normalisasi berkaitan dengan suatu proses sedang Normal Form berkaitan dengan output
proses.Jika suatu relasi berada dalam bentuk normal , maka ia juga termasuk dalam bentuk normal
tersebut didalamnya /dibawahnya. Contoh : jika suatu berada dalam bentuk 2 NF , maka relasi
tersebut termasuk pula dalam bentuk 1NF.
Suatu relation dikatakan sudah berada pada bentuk normalisasi tertentu bila memenuhi beberapa
batasan tertentu pada tingkat tersebut. Tingkat normalisasi yang lebih tinggi dianggap lebih baik dari
tingkat dibawahnya.
Redudansi adalah Kejadian berulangnya data atau kumpulan data yang sama dalam sebuah database yang
mengakibatkan pemborosan media penyimpanan
Masalah-masalah yang timbul dalam pembuatan table yang disebut dengan anomali. Anomali adalah proses
pada basis data yang mempunyai efek samping yang tidak diharapkan. Misal : ketidakkonsistenan data, suatu
data hilang pada saat dihapus, dll.
Anomali ada 3 jenis yaitu :
a. Anomali peremajaan
Anomali ini terjadi bila ada perubahan pada sejumlah data yang mubazir, tetapi tidak seluruhnya diubah.
Contoh : Tabel Pesanan
Pemasok Kota Barang Jumlah
Kartika Jakarta Mouse 5
Citra Bandung Monitor 2
Yudi Medan CPU 2
Citra Bandung Printer 1
Seandainya Citra dengan kota Bandung pindah ke Bogor maka pengubahan data hanya dilakukan pada data
pertama menjadi : Tabel Pesanan
Pemasok Kota Barang Jumlah
Kartika Jakarta Mouse 5
Citra Bogor Monitor 2
Yudi Medan CPU 2
Citra Bandung Printer 1
Di sini terlihat bahwa data tentang pemasok Citra tidak sama yang menyebabkan ketidakkonsistenan data.
b. Anomali Penyisipan
Anomali ini terjadi pada saat penambahan data ternyata ada elemen yang kosong dan
elemen tsb justru menjadi key. Contoh : Tabel Kursus
NoSiswa Kursus Biaya
10 Bhs.Inggris 60000
10 Bhs.Perancis 80000
10 Bhs.Jepang 70000
15 Bhs.Inggris 60000
20 Bhs.Jepang 70000
Misalnya akan dibuka kursus baru yaitu Bhs.Jerman dengan biaya 75000 akan tetapi
belum ada seorangpun yang ikut kursus ini, shg data menjadi : Tabel Kursus
NoSiswa Kursus Biaya
10 Bhs.Inggris 60000
10 Bhs.Perancis 80000
10 Bhs.Jepang 70000
15 Bhs.Inggris 60000
20 Bhs.Jepang 70000
Bhs.Jerman 75000
c. Anomali penghapusan
Anomali ini terjadi apabila dalam satu baris/ tuple ada data yang akan dihapus sehingga akibatnya terdapat
data lain yang hilang. Contoh pada table kursus data NoSiswa 20 akan dihapus karena sudah tidak ikut
kursus lagi sehingga akibatnya data kursus bhs jepang dan biaya 70000 akan ikut terhapus.
Dependensi (Ketergantungan)
Konsep dasar pada tahap normalisasi yang menjelaskan hubungan atribut atau secara lebih khusus menjelaskan
nilai suatu atribut yang menentukan atribut lainnya.
Macam-macam dependensi, yaitu :
a. Dependensi fungsional
Definisi : Suatu atribut Y mempunyai dependensi fungsional terhadap atribut X jika dan hanya jika setiap
nilai X berhubungan dengan sebuah nilai Y.
Notasi : X Y (X secara fungsional menentukan Y)
Contoh : Tabel Pesanan
Pembeli Kota Barang Jumlah
P1 Yogya B1 10
P1 Yogya B2 5
P2 Jakarta B1 4
P2 Jakarta B2 7
P3 Solo B3 6
P3 Solo B4 6
Pembeli secara fungsional menentukan kota, sebab setiap pembeli yang sama mempunyai kota yang sama,
dengan demikian : Pembeli Kota
contoh lain : {Pembeli, Barang} Jumlah
Keterangan:
Bagian yang terletak disebelah kiri tanda panah biasa disebut DETERMINAN / PENENTU dan bagian
yang terletak di sebelah kanan panah disebut DEPENDENSI / YANG TERGANTUNG.
Tanda {} biasanya digunakan untuk menentukan lebih dari satu atribut sebagai penentu atau sebagai
yang tergantung.
b. Dependensi fungsional sepenuhnya
Definisi : Suatu atribut Y mempunyai dependensi fungsional penuh terhadap X jika
Y mempunyai dependensi fungsional terhadap X dan/atau
Y tidak memiliki dependensi terhadap bagian dari X
Contoh : Pembeli Kota
{Pembeli, Barang} Jumlah
Intinya : Kota mempunyai dependensi fungsional terhadap Pembeli atau {Pembeli, Barang} tapi kota
mempunyai dependensi fungsional sepenuhnya terhadap pembeli bukan barang.
c. Dependensi Total
Definisi : Suatu atribut Y mempunyai dependensi total terhadap atribut X jika
Y memiliki dependensi fungsional terhadap X dan
X memiliki dependensi fungsional terhadap Y
Notasi : X Y
Contoh : Tabel Pemasok
Pada kasus ini KodePemasok NamaPemasok, karena setiap kode tidak mempunyai nama yang
sama.
d. Dependensi Transitif
Definisi : Atribut Z mempunyai dependensi transitif terhadap X bila :
Y memiliki dependensi fungsional terhadap X
Z memiliki dependensi fungsional terhadap Y
Kuliah Ruang Tempat Waktu
Contoh : Jarkom Merbabu Gedung Utara Senin
Basis Data Arjuna Gedung Selatan Selasa
Matematika Merapi Gedung Barat Rabu
Fisika Merbabu Gedung Timur Kamis
Relasi : Kuliah {Ruang, Waktu}
Ruang Tempat
Terlihat bahwa : Kuliah Ruang Tempat
Dengan demikian Tempat mempunyai dependensi transitif terhadap kuliah
Ruang Tempat
Kuliah
Waktu
Dekomposisi
Pada tahap normalisasi sering kali terjadi pemecahan table kedalam bentuk dua atau lebih relasi. Proses
pemecahaan ini disebut dengan dekomposisi. Syarat : Tidak ada informasi yang hilang ketika suatu relasi
dipecah menjadi relasi-relasi lain. Contoh : Terdapat suatu relasi awal sebagai berikut :
Pada relasi awal dapat diketahui informasi sebagai berikut : 95001 adalah ANDI program studi Ekonomi. Setelah
proses dekomposisi tak hilang hasilnya adalah sama 95001 adalah ANDI dan 95001 program studi Ekonomi.
Contoh dekomposisi hilang adalah
95001 bernama ANDI, tetapi ANDI dengan program studi Ekonomi atau Fisika?
Tahapan Normalisasi :
Contoh Soal : Buatlah normalisasi tabel dibawah ini!
Penyelesaian :
1. Bentuk Normal ke satu ( 1NF)
Syarat :
a. Tidak ada set atribut yang berulang atau bernilai ganda, setiap atribut yang dimilikinya bersifat
atomic ( bernilai tunggal) untuk setiap baris
b. Telah ditentukan primary key untuk tabel atau relasi
c. Tiap atribut hanya memiliki satu pengertian
d. Tiap atribut yang dapat memiliki banyak nilai sebenarnya menggambarkan entitas atau relasi yang
terpisah
Proses menuju 2NF untuk tabel Mahasiswa : menentukan primery key dan atribut yg bergantung pada
key tersebut
Primary Key (PK) : Nim
Atribut yang bergantung dengan PK ( Fungsional )
- Nama
- Semester
Atribut yang tidak bergantung dengan PK
- Matkul
- NIDN
- Nama_Dosen
Untuk memenuhi 2NF, atribut yang tidak bergantung dengan primary key dipecah menjadi entitas baru,
sehingga entitas mahasiswa dipecah menjadi 2, yaitu :
- tabel Mahasiswa 2NF ( Nim, Nama, Semester )
- tabel Ambil_Mk ( Matkul, NIDN, Nama_Dosen )
Hasil 2a : Mahasiswa 2NF
Terjadi kerangkapan data yang tidak diperlukan ( Redudansi ), untuk itu data yang sama bisa dihilangkan
Entitas Mahasiswa 2NF ( Telah Ternomalisasi Bentuk ke 2 )
201001 Andika 1
201002 Biyanti 3
KETERGANTUNGAN TRANSITIF
Ketergantungan Transitif tidak memiliki ketergantungan secara langsung terhadap primary key
Ketergantungan Transitif :
Nim >< Kd_Jur ( Kd_Jur bergantung pada NIM )
Kd_Jur >< Jurusan ( Jurusan bergantung pada Kd_Jurusan )
Maka :
Atribut Nim dan Jurusan ( Jurusan bergantung transitif dengan NIM )
NIDN Nama_Dosen
1078523 Riyanti
1078523 Riyanti
1078523 Riyanti
1078523 Riyanti
1075047 Safitri
1075047 Safitri
1077021 Erwin
1075047 Safitri
Menjadi
NIDN Nama_Dosen
1078523 Riyanti
1075047 Safitri
1077021 Erwin
Entitas Ambil_MK memenuhi 3NF
Nim Matkul
201001 Algoritma
201001 Struktur Data
201002 Struktur Data
201002 Pemdasar
201002 Basis Data
201003 Web
201003 Jarkom
201003 Basis Data
Agar tidak terputus Relasi antara Entitas Dosen 3NF dan Entitas Ambil_MK 3NF, maka pada Entitas
Ambil_MK perlu ditambahkan atribut penghubungnya, yaitu NIDN
Dari beberapa tahap Normalisasi diatas, Bentuk Normal Pertama (1NF) sampai Normal ke Tiga (3NF),
merupakan bentuk normal yang umum dipakai. Umumnya bila ketiga bentuk normal tersebut telah
dipenuhi, maka persoalan anomaly tidak akan muncul
. Latihan / Tugas :
1. Buatlah tahapan normalisasi perpustakaan sampai kebentuk 3NF !
11