Anda di halaman 1dari 11

MODUL 3

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

KodePemasok NamaPemasok Kota


K1 Kartika Jakarta
C1 Citra Bandung
C2 Candra Jakarta

 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

 Diagram Dependensi Fungsional (Diagram DF)


Adalah diagram yang digunakan untuk menggabarkan dependensi fungsional. Diagram ini menunjukkan
hubungan antara atribut yang menjadi penentu atribut lainnya, dengan hubungan yang dinyatakan dengan tanda
panah. Seperti contoh diatas dapat digambarkan diagram DF sebagai berikut :

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 :

Nim Nama Program Studi


95001 Andi Ekonomi
95002 Vira Teknik
95003 Andi Fisika

Akan dibentuk kedalam dekomposisi tak hilang menjadi :

Nim Nama Nim Program Studi


95001 Andi 95001 Ekonomi
95002 Vira 95002 Teknik
95003 Andi 95003 Fisika

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

Nim Nama Nama Program Studi


95001 Andi Andi Ekonomi
95002 Vira Vira Teknik
95003 Andi Andi Fisika

95001 bernama ANDI, tetapi ANDI dengan program studi Ekonomi atau Fisika?

 Tahapan Normalisasi :
Contoh Soal : Buatlah normalisasi tabel dibawah ini!

Nim Nama Sem Matkul NIDN Nama_Dosen


201001 Andika 1 Algoritma 1078523 Riyanti
Struktur Data 1078523 Riyanti
201002 Biyanti 3 Struktur Data 1078523 Riyanti
Pemdasar 1078523 Riyanti
Basis Data 1075047 Safitri
201003 Nora Putri 5 Web 1075047 Safitri
Jarkom 1077021 Erwin
Basis Data 1075047 Safitri

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

Tabel berikut belum Ternormalisasi (unnormalisasi)


Nim Nama Sem Matkul NIDN Nama_Dosen
201001 Andika 1 Algoritma 1078523 Riyanti
Struktur Data 1078523 Riyanti
201002 Biyanti 3 Struktur Data 1078523 Riyanti
Pemdasar 1078523 Riyanti
Basis Data 1075047 Safitri
201003 Nora Putri 5 Web 1075047 Safitri
Jarkom 1077021 Erwin
Basis Data 1075047 Safitri

Untuk membentuk normalisasi pertama adalah menghilangkan kerangkapan data (menghilangkan


elemen data yang berulang), sehingga tabel pada normal pertama menjadi :

Nim Nama Sem Matkul NIDN Nama_Dosen


201001 Andika 1 Algoritma 1078523 Riyanti
201001 Andika 1 Struktur Data 1078523 Riyanti
201002 Biyanti 3 Struktur Data 1078523 Riyanti
201002 Biyanti 3 Pemdasar 1078523 Riyanti
201002 Biyanti 3 Basis Data 1075047 Safitri
201003 Nora Putri 5 Web 1075047 Safitri
201003 Nora Putri 5 Jarkom 1077021 Erwin
201003 Nora Putri 5 Basis Data 1075047 Safitri
2. Bentuk Normal ke dua ( 2NF )
Syarat :
a. Bentuk data telah memenuhi kriteria bentuk normal ke satu
b. Atribut bukan kunci ( non key atribut ) haruslah memiliki ketergantungan fungsional
sepenuhnya pada primary key
c. Kunci primer hanya mengandung satu atribut

Tabel Mahasiswa 1NF ( Tidak Memenuhi 2 NF )

Nim Nama Sem Matkul NIDN Nama_Dosen


201001 Andika 1 Algoritma 1078523 Riyanti
201001 Andika 1 Struktur Data 1078523 Riyanti
201002 Biyanti 3 Struktur Data 1078523 Riyanti
201002 Biyanti 3 Pemdasar 1078523 Riyanti
201002 Biyanti 3 Basis Data 1075047 Safitri
201003 Nora Putri 5 Web 1075047 Safitri
201003 Nora Putri 5 Jarkom 1077021 Erwin
201003 Nora Putri 5 Basis Data 1075047 Safitri

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

Nim Nama Sem


201001 Andika 1
201001 Andika 1
201002 Biyanti 3
201002 Biyanti 3
201002 Biyanti 3
201003 Nora Putri 5
201003 Nora Putri 5
201003 Nora Putri 5

Terjadi kerangkapan data yang tidak diperlukan ( Redudansi ), untuk itu data yang sama bisa dihilangkan
Entitas Mahasiswa 2NF ( Telah Ternomalisasi Bentuk ke 2 )

Nim Nama Sem

201001 Andika 1

201002 Biyanti 3

201003 Nora Putri 5

Hasil 2b : Entitas Ambil_MK 2NF

Matkul NIDN Nama_Dosen


Algoritma 1078523 Riyanti
Struktur Data 1078523 Riyanti
Struktur Data 1078523 Riyanti
Pemdasar 1078523 Riyanti
Basis Data 1075047 Safitri
Web 1075047 Safitri
Jarkom 1077021 Erwin
Basis Data 1075047 Safitri
Agar tidak terputus Relasi antara Entitas Mahasiswa dan Entitas Ambil_MK, maka perlu
ditambahkan atribut penghubungnya, yaitu NIM

Nim Matkul NIDN Nama_Dosen


201001 Algoritma 1078523 Riyanti
201001 Struktur Data 1078523 Riyanti
201002 Struktur Data 1078523 Riyanti
201002 Pemdasar 1078523 Riyanti
201002 Basis Data 1075047 Safitri
201003 Web 1075047 Safitri
201003 Jarkom 1077021 Erwin
201003 Basis Data 1075047 Safitri

3. Bentuk Normal ke Tiga ( 3NF )


Syarat :
o Bentuk data telah memenuhi kriteria kedua
o Tidak boleh terdapat ketergantungan Transitif terhadap kunci utama atau Primary Key ( PK )

KETERGANTUNGAN TRANSITIF
Ketergantungan Transitif tidak memiliki ketergantungan secara langsung terhadap primary key

Nim Kd_Jur Jurusan KD_MK Nilai


201001 13 TIF MK001 85
201002 11 TPS MK002 80
201003 11 TPS MK003 90

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 )

Entitas Ambil_MK 2NF ( Tidak memenuhi 3NF )


Nim Matkul NIDN Nama_Dosen
201001 Algoritma 1078523 Riyanti
201001 Struktur Data 1078523 Riyanti
201002 Struktur Data 1078523 Riyanti
201002 Pemdasar 1078523 Riyanti
201002 Basis Data 1075047 Safitri
201003 Web 1075047 Safitri
201003 Jarkom 1077021 Erwin
201003 Basis Data 1075047 Safitri

Proses menuju 3NF untuk Entitas Ambil_MK 2NF


Primary Key ( PK) : NIDN
Atribut yang bergantung dengan PK :
- Nama Dosen
Atribut yang bergantung transitif dengan PK :
- NIM
- Matkul
Untuk memenuhi 2NF, Entitas Ambil_MK 2NF dipecah menjadi 2 Entitas, yaitu :
- Entitas Dosen 3NF ( NIDN, Nama_Dosen )
- Entitas Ambil_MK 3NF ( NIM, Matkul )
Hasil 3a : Entitas Dosen 3NF
Entitas Dosen 3NF ( Telah Ternormalisasi Bentuk ke 3 )

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

Nim Matkul NIDN


201001 Algoritma 1078523
201001 Struktur Data 1078523
201002 Struktur Data 1078523
201002 Pemdasar 1078523
201002 Basis Data 1075047
201003 Web 1075047
201003 Jarkom 1077021
201003 Basis Data 1075047

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

Anda mungkin juga menyukai