NORMALISASI
2
1. Pengantar Basisdata Relational
3
PENDAHULUAN
• Komputer mempunyai fungsi utama untuk menyimpan
dan mengelola informasi
4
BASIS DATA RELATIONAL
• Merupakan model yang sederhana dan paling populer
saat ini.
5
BASIS DATA RELATIONAL (CONT)
• Meskipun relasi dikatakan sama dengan tabel, istilah
‘relasi’ sering dikaitkan dengan struktur logis dan
‘table’ dikaitkan dengan struktur ‘fisis’.
Contoh,
relasi Mahasiswa memiliki atribut-atribut seperti nim, nama,
tempat lahir. tanggal_ lahir, dan alamat.
6
SEJARAH
Model relasional pertama kali dikenalkan oleh Codd, pada tahun 1971
Sejak itu model relasi memainkan peranan yang sangat penting dalam berbagai
perancangan basis data. Ada tiga alasan mengapa model relasi mempunyai peranan
penting dalam perancangan basis data yaitu :
Model relasional
mendefinisikan salah satu Struktur data yang
Relasi merepresentasikan struktur
direpresentasikan oleh relasi
data yang dapat dimengerti oleh kriteria perancangan basis dapat segera dikonversikan &
user maupun designer data yang penting yaitu relasi diimplementasikan ke RDBMS
bentuk normal
Pada tahun 1985, Codd menerbitkan daftar 12 peraturan untuk mendefinisikan sistem basis
data relasional, karena kekhawatiran bahwa banyak vendor memasarkan produk sebagai
"relasional" walaupun produk tersebut tidak memenuhi standar relasional minimum
7
CODD’S RELATIONAL DATABASE
8
TOOLS MODEL RELASIONAL
• Contoh produk DBMS yang menggunakan model
relasional:
10
ISTILAH-ISTILAH MODEL RELASIONAL
•Representasi tabel yang terdiri dari sejumlah
Relation/table/file baris dan kolom
11
CONTOH BASIS DATA RELASIONAL
Tabel Customer
customer-id customer-name customer street customer city
192-83-7465 Johnson 12 Alma St. Palo Alto
019-28-3746 Smith 4 North St. Rye
677-89-9011 Hayes 3 Main St. Harrison
182-73-6091 Turner 123 Putnam Ave. Stamford
321-12-3123 Jones 100 Main St. Harrison
336-66-9999 Lindsay 175 Park Ave. Pittsfield
019-28-3746 Smith 72 North St. Rye
13
RELASI BASIS DATA
• Skema Relasi
Nama relasi didefinisikan oleh himpunan pasangan
atribut dan nama domain
14
SIFAT-SIFAT RELASI
15
ATRIBUT TABEL
• Atribut dapat juga disebut dengan kolom data
• Atribut sesuai dengan fungsinya merupakan pembentuk sifat-sifat
atau karakteristik yang melekat pada sebuah tabel.
• Pembahasan mengenai atribut perlu dijelaskan pada bagian
normalisasi karena penerapan aturan normalisasi berakibat pada
penghilangan kolom, penambahan kolom baru atau bahkan
penambahan tabel baru
• Contoh (basisdata akademik) terdiri dari:
• Tabel Mahasiswa dengan 4 atribut, yaitu nim,nama_mhs,alamat-mhs dan
tgl_lahir
• Tabel Dosen dengan 2 atribut, yaitu nama_dos dan alamat_dos
• Tabe Kuliah dengan 4 atribut, yaitu kode_kul, nama_kul, sks dan semester
• Tabel Nilai memiliki 4 atribut, yaitu nama_kul, nim_nama_mhs dan indeks_nilai
• Tabel Jadwal dengan 4 atribut, yaitu nama_kul, tempat, waktu dan nama_dos
16
JENIS ATRIBUT TABEL
17
KEY DAN ATRIBUT DESKRIPTIF (1)
Super key
• Satuatribut/kumpulanatributyangsecaraunikmengidentifikasisebuahtup
eldidalamrelasi(satuataulebihfield
yangdapatdipilihuntukmembedakanantara1
recorddenganrecordlainnya).
Candidat Key
• Atributdidalamrelasiyangbiasanyamempunyainilaiunik(super
keyyangpalingsedikit)
Primary key
• Candidate
keyyangdipilihuntukmengidentifikasikantupelsecaraunikdalamrelasi
Atribut Deskriptif
• Atribut-atribut yang tidak menjadi anggota darikeyprimer
18
KEY DAN ATRIBUT DESKRIPTIF (2)
Super key
•(nim, nama_mhs,alamat_mhs, tgl_lahir)
•(nim, nama,_mhs, alamat_mhs)
•(nim, nama_mhs)
•(nama_mhs) jika dijamin tidak ada nilai yang sama
•(nim)
Candidat Key
•(nim)
•(nama_mhs) jika dijamin tidak ada nilai yang sama
Primary key
•(nim)
Atribut Deskriptif
•nama_mhs,alamat_mhs, tgl_lahir
19
ATRIBUT SEDERHANA (SIMPLE ATTRIBUTE ) DAN
ATRIBUT KOMPOSIT (COMPOSITE ATTRIBUT )
21
ATRIBUT HARUS BERNILAI (MANDATORY
ATTRIBUTE ) DAN NILAI NULL
• Mandatory atribut adalah sejumlah atribut pada sebuah tabel yang
ditetapkan harus berisi suatu nilai atau tidak boleh kosong
Contoh : Pada tabel mahasiswa terdapat atribut yang
tidak boleh kosong, yaitu (nim, nama_mhs)
22
ATRIBUT TURUNAN (DERIVED ATTRIBUTE )
25
RELATIONAL KEY
Superkey
• Sebuah atribut (atau kombinasi atribut) secara unik mengenali setiap entitas dalam
sebuah tabel.
Candidate key
• Sebuah superkey minimal, yaitu superkey yang tidak merupakan bagian atribut dari
suatu superkey.
Primary key
• Candidate key yang terpilih untuk mengenali secara unik seluruh nilai atribut pada
sebuah baris. Tidak boleh kosong.
Secondary key
• Sebuah atribut (atau kombinasi atribut) secara paksa digunakan untuk tujuan
pengambilan data.
Foreign key
• Sebuah atribut (atau kombinasi atribut) dalam sebuah tabel dimana nilainya cocok
dengan primary key pada tabel lainnya.
26
CONTOH RELATIONAL KEY
27
RELATIONAL INTEGRITY
• Null
• Representasi nilai atribut yang tidak diketahui atau tidak digunakan
dalam tuple
• Berkaitan dengan ketidaklengkaan atau pengecualian data
• Representasi tidak adanya suatu nilai, dan tidak sama dengan nol
atau spasi
• Entity Entegrity
• Pada relasi dasar, tidak ada atribut ataupun primary key yang bernilai
NULL
• Referential Entegrity
• Jika terdapat foreign key dalam suatu relasi, maka foreign key
tersebut dibandingkan dengan candidate key dan beberapa tuple
pada relasi itu sendiri
• Enterprise Constraint
• Aturan tambahan yang diberikan oleh user atau DBA
28
CONTOH RELATIONAL INTEGRITY
29
KETERGANTUNGAN FUNGSIONAL
(FUNCTIONAL DEPENDENCY) (1)
AB
Syarat FD ini terjadi jika minimal dua baris pada suatu tabel
dengan nilai A yang sama, memiliki nilai B yang juga sama
30
KETERGANTUNGAN FUNGSIONAL
(FUNCTIONAL DEPENDENCY) (2)
• Contoh FD pada tabel Nilai
31
2. Pentingnya Normalisasi
32
SUATU RANCANGAN DATABASE
DISEBUT BURUK JIKA :
33
NORMALISASI
34
FUNGSI NORMALISASI
• Normalisasi dilakukan sebagai uji coba pada suatu relasi secara
berkelanjutan untuk menentukan apakah relasi sudah baik
35
TUJUAN NORMALISASI
• Untuk menghilangkan kerangkapan data
• Untuk mengurangi kompleksitas
• Untuk mempermudah pemodifikasian data
36
TAHAPAN NORMALISASI
37
KRITERIA TABEL NORMAL
Sebuah tabel dikatakan baik (efisien) atau
normal jika memenuhi 3 kriteria sbb:
39
TABEL UNIVERSAL
Tabel Universal (Universal / Star Table) sebuah tabel yang
merangkum semua kelompok data yang saling berhubungan, bukan
merupakan tabel yang baik.
41
DEKOMPOSISI AMAN DAN TIDAK AMAN
Dekomposisi Tidak Aman Dekomposisi Aman
(Lossy-Join Decomposition) (Lossless-Join Decomposition)
Contoh : Contoh :
• Terdapat tabel ABC dengan FD : • Terdapat tabel ABC dengan FD :
AB dan BC AB dan BC
A B C A B C Hasil
Hasil Penggabungan
a1 100 c1 Penggabungan a1 100 c1 Kembali
Kembali
a2 200 c2 a2 200 c2
a3 300 c3 A B C a3 300 c3 A B C
• Contoh :
• Pada tabel universal slide sebelumnya jika terjadi perubahan tidak efisien
pada data mahasiswa dengan nim ‘163010015’ maka perubahan harus
dilakukan pada alamat_mhs di semua baris nim tersebut.
• Perubahan yang efisien terdapat pada tabel hasil dekomposisi tabel
mahasiswa{nim, nama_mhs, alamat_mhs, tgl_lahir} dan nilai{nama_kul,
nim, nama_mhs, indeks_nilai}.
• Jika pada tabel mahasiswa terjadi perubahan data pada atribut
alamat_mhs, maka perubahan tidak perlu dijalankan ke tabel nilai
43
BENTUK-BENTUK
NORMALISASI
44
3. NORMALISASI PERTAMA (1 NF)
45
NORMALISASI PERTAMA
(1ST NORMAL FORM)
• Aturan :
• Tidak adanya atribut multivalue, atribut komposit
atau kombinasinya.
• Mendefinisikan atribut kunci.
• Setiap atribut dalam tabel tersebut harus bernilai
atomic (tidak dapat dibagi-bagi lagi)
46
CONTOH I - 1NF
tabel kuliah{kode_kul,nama_kul,
tabel sks, semester, nama_dos}
kuliah tabel jadual {kode_kul,
waktu,tempat}
47
tabel kuliah
kode_kul nama_kul sks semester nama_dos
BD-111 Basisdata 3 2 Dr. Manaf Putra
Dr. Maryam
MT-111 Matematika 2 1
Harlina
BG-111 Bahasa inggris 2 1 Dr. Ristianto Arif
IM-111 IMK 3 2 Dr. Maya Rista
tabelmahasiswa{nim,nama_mhs,
tabel alamat_mhs, tgl_lahir}
mahasiswa
tabel hobi{nim, hobi}
49
tabel mahasiswa
tabel hobi
Ket Tambahan :
nim hobi • Setiap mahasiswa
163010015 Melukis dapat memiliki
163010015 Berenang lebih dari satu hobi
163010025 Membaca atau bahkan tidak
163010025 Melukis
memiliki sama sekali
• Oleh karena itu
163010033 Musik
perlu dibuat tabel
163010033 Menari
hobi
163010035 Musik
50
4. NORMALISASI KEDUA (2 NF)
51
NORMALISASI KEDUA
(2ND NORMAL FORM)
• Aturan :
• Sudah memenuhi dalam bentuk normal kesatu
(1NF)
• Semua atribut bukan key primer hanya boleh
memiliki ketergantungan (functional dependency)
pada atribut key primer
• Jika ada ketergantungan parsial maka atribut
tersebut harus dipisah pada tabel yang lain
*Ket. Tambahan :
Ketergantungan parsial ---> hanya tergantung pada sebagian key
primer
52
CONTOH 2NF
Dengan menggunakan acuan tabel universal pada slide
sebelumnya,
Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF:
54
5. NORMALISASI KETIGA (3 NF)
55
NORMALISASI KETIGA
(3RD NORMAL FORM)
• Aturan :
• Sudah berada dalam bentuk normal kedua (2NF)
• Tidak ada ketergantungan transitif (dimana atribut
bukan key primer tergantung pada atribut bukan key
primer lainnya).
• Dalam bentuk FD :
• X Y maka X adalah super key
• X A, dengan membolehkan A sebagai bagian
dari primary key
56
CONTOH 3NF
Berdasarkan informasi pada tabel universal pada slide
sebelumnya, jika pada tabel mahasiswa, atribut alamat sesuai
dengan kebutuhan dibagi informasi jalan, kota, provinsi, dan
kodepos, maka tabel mahasiswa dapat dituliskan sebagi
berikut :
nim nama_mhs alamat_jalan_mhs alamat_kota_mhs alamat_provinsi_mhs alamat_kodepos_mhs
• alamat_jalan_mhs,alamat_provinsi_mhs,alamat_kota_mhs
alamat_kodepos_mhs
• alamat_kodepos_mhs alamat_provinsi_mhs,alamat_kota_mhs
NB :
Merah : Superkey
Hitam : bukan superkey
Biru : Bagian Primary Key
58
INFORMASI
59
TERIMAKASIH
60
REFERENSI
• Dwi Puspitasari, S.Kom, “Buku Ajar Dasar
Basis Data”, Program Studi Manajemen
Informatika Politeknik Negeri Malang, 2012.
61