PENDAHULUAN
A. LATAR BELAKANG
Basis data dapat diumpamakan sama dengan lemari arsip data. Dengan
adanya basis data kita jadi lebih gampang untuk menyampaikan informasi yang
tersimpan dalam lemari arsip data.
Penyampaian informasi melalui basis data selalu dibuat sesimpel dan seringkas
mungkin serta tidak menghilangkan informasi yang ingin disampaikan.
Bentuk penyampai informasi seperti ini biasanya dilakukan pada sebuah
bentuk tabel yang disebut tabel Universal. Tabel universal menyampaikan
semua informasi yang ada seringkas mungkin dan tanpa menhilangkan
satupun informasi. Tetapi kita sering tidak melihat data atau informasi yang
tertera pada tabel Universal.
Perancangan basis data diperlukan, agar kita bisa memiliki basis data yang
kompak dan efisien dalam penggunaan ruang penyimpanan, cepat dalam
pengaksesan dan mudah dalam pemanipulasian (tambah, ubah, hapus) data.
Dalam merancang basis data, kita dapat melakukannya dengan :
1. Menerapkan normalisasi terhadap struktur tabel yang telah diketahui.
2. Langsung membuat model EntityRelationship.
Normalisasi adalah teknik perancangan yang banyak digunakan sebagai
pemandu dalam merancang basis data relasional. Pada dasarnya, normalisasi
adalah proses dua langkah yang meletakkan data dalam bentuk tabulasi dengan
menghilangkan kelompok berulang lalu menghilangkan data yang terduplikasi
dari table relasional
Istilah Normalisasi berasal dari E. F.Codd, salah seorang perintis teknologi
basis data. Selaindipakai sebagai metodologi tersendiri untuk menciptakan
struktur tabel 9relasi) dalam basis data (dengan tujuan utnuk mengurangi
BAB II
PEMBAHASAN
Perancangan basis data diperlukan, agar kita bisa memiliki basis data yang
kompak dan efisien dalam penggunaan ruang penyimpanan, cepat dalam
pengaksesan dan mudah dalam pemanipulasian (tambah, ubah, hapus) data.
Dalam merancang basis data, kita dapat melakukannya dengan :
3. Menerapkan normalisasi terhadap struktur tabel yang telah diketahui.
4. Langsung membuat model EntityRelationship.
Normalisasi adalah teknik perancangan yang banyak digunakan sebagai
pemandu dalam merancang basis data relasional. Pada dasarnya, normalisasi
adalah proses dua langkah yang meletakkan data dalam bentuk tabulasi dengan
menghilangkan kelompok berulang lalu menghilangkan data yang terduplikasi
dari table relasional
Istilah Normalisasi berasal dari E. F.Codd, salah seorang perintis teknologi
basis data. Selaindipakai sebagai metodologi tersendiri untuk menciptakan
struktur tabel 9relasi) dalam basis data (dengan tujuan utnuk mengurangi
kemubaziran data) , normalisasi terkadang hanya diipakai sebagai perangkat
verifikasi terhadap tabel-tabel yang dihasilkan oleh metodologi lain ( misalnya ER). Normalisasi memberikan panduan yang sangat membantu bagi pengembang
untuk mencegah penciptaan struktur tabel yang kurang fleksibel atau mengurangi
keflekxibelan. Kroenke mendefinisikan normalisasi sbagai proses untuk
mengubah suatu relasi yang memiliki masalah tertentu ke dalam dua buah relasi
atau lebih yang tida memiliki masalah tersebut. Masalah yang dimaksud olej
kroenke ini sering disebut dengan istilah anomali. ( Pada beberapa literatur, istilah
relasi yang digunakan pada bab ini terkadang digantikan dengan tabel. Istilah
relasi digunakan pada bab ini dikarenakan definisi tentang normalisasi memang
menggunakan istilah relasi).
Teori normalisasi didasarkan pada konsep bentuk normal. Sebuah table
relasional dikatakan berada pada bentuk normal tertentu jiak table memenuhi
himpunan batasan tertentu. Ada lima bentuk normal yang telah ditemukan.
KONSEP DASAR
Normalisasi adalah bagian perancangan basisdata. Tanpa normalisasi,
system basisdata menjadi tidak akurat, lambat, tidak efisien, serta tidak
memberikan data yang diharapkan Pada waktu normalisasi basisdata, ada empat
tujuan utama yang harus dicapai, yaitu :
1. Mengatur data dalam kelompok-kelompok sehingga masing-masing
kelompok hanya menangani bagian kecil system.
2. Meminimalkan jumlah data berulang dalam basisdata
3. Membuat basisdata yang datanya diakses dan dimanipulasi secara
cepat dan efisien tanpa melupakan integritas data
4. Mengatur data sedemikian rupa sehingga ketika memodifikasi data,
anda hanya mengubah pada satu tempat.
Perancang basisdata terkadang menyebut keempat tujuan dengan istilah
integritas data, integritas referensial, dan pengaksesan data.
Tujuan normalisasi adalah membuat kumpulan table ralasional yang bebas
dari data berulang dan dapat dimodifikasi secara benar dan konsisten. Ini berarti
bahwa semua table pada basisdata relasional harus berada pada bentuk normal
ketiga (3NF). Sebuah table relasional berada pada 3NF jika dan hanya jika semua
kolom bukan kunci adalah (a) saling independen dan (b) sepenuhnya tergantung
pada kunci utama. Saling independen berarti bahwa tidak ada kolom bukan kunci
yang tergantung pada sembarang kombinasi kolom lainnya. Dua bentuk normal
pertama adalah langkah antara untuk mencapai tujuan, yaitu mempunyai semua
table dalam 3NF (Stephen and Plew, 2000).
ATURAN NORMALISASI
Berikut adalah aturan-aturan normalisasi :
1. Hilangkan kelompok berulang-buat table terpisah untuk setiap himpunan
atribut yang berhubungan dan tentukan kunci utama pada masing-masing
table.
2. Hilangkan data berulang- jika sebuah atribut hanya tergantung pada
sebagian kunci utama gabungan, pindahkan atribut ke table lain.
3. Hilangkan kolom yang tidak tergantung pada kunci- jika atribut tidak
tergantung pada kunci, pindahkan atribut ke table lain.
4. Pisahkan relasi majemuk-tidak ada table yang bisa mengandung data atau
lebih relasi 1:n atau n:m yang tidak berhubungan langsung.
5. Pisahkan relasi majemuk yang berhubungan secara semantic-ada batasan
pada informasi yang memperbolehkan pemisahan relasi many to many
yang berhungan secara logis.
6. Bentuk normal optimal-sebuah model hanya diabtasi oleh fakta sederhana
7. Bentuk normal domain-key-sebuah model harus terbebas dari semua
anomaly
4.1
Definisi Normalisasi
Normalisasi diartikan sebagai suatu teknik yang menstrukturkan/
mendekomposisi/ memecah data dalam caracara tertentu untuk mencegah
timbulnya permasalahan pengolahan data dalam basis data. Permasalahan
yang dimaksud adalah berkaitan dengan penyimpanganpenyimpangan
(anomalies) yang terjadi akibat adanya kerangkapan data dalam relasi dan
inefisiensi pengolahan.
Proses normalisasi akan menghasilkan relasi yang optimal, yaitu :
1. Memiliki struktur record yang mudah untuk dimengerti.
2. Memiliki struktur record yang sederhana dalam pemeliharaan.
3. Memiliki struktur record yang mudah untuk ditampilkan kembali untuk
memenuhi kebutuhan pemakai.
4. Minimalisasi kerangkapan data guna meningkatkan kinerja sistem.
Dalam pendekatan normalisasi, perancangan basis data bertitik tolak
dari situasi nyata. Ia telah memiliki itemitem data yang siap ditempatkan
dalam baris dan kolom pada tabeltabel relasional. Demikian juga dengan
sejumlah aturan tentang keterhubungan antara itemitem data tersebut.
Sementara pendekatan model data ER lebih tepat dilakukan jika yang
diketahui baru prinsip sistem secara keseluruhan.
Cukup sering pendekatan ini dilakukan bersamasama, berganti
ganti. Dari fakta yang telah kita miliki, kita lakukan normalisasi. Untuk
kepentingan evaluasi dan dokumentasi, hasil normalisasi itu kita wujudkan
dalam sebuah model data. Model data yang sudah jadi tersebut bisa saja
dimodifikasi dengan pertimbangan tertentu. Hasil modifikasinya kemudian
kita implementasikan dalam bentuk sejumlah struktur tabel dalam sebuah
basis data. Struktur ini dapat kita uji kembali dengan menerapkan aturan
aturan normalisasi, hingga akhirnya kita peroleh sebuah struktur basis data
yang benarbenar efektif dan efisien. Begitulah kedua pendekatan dapat
saling memperkuat satu sama lain.
4.2
Atribut Tabel
Atribut yang sebenarnya identik dengan pemakaian istilah kolom data.
Istilah atribut ini lebih umum digunakan dalam perancangan basis data,
karena istilah itu lebih impresif dalam menunjukkan fungsinya sebagai
pembentuk karakteristik (sifatsifat) yang melekat pada sebuah table.
1. Atribut Sederhana (Simple Attribute) dan Atribut Komposit (Composite
Attribute)
Atribut sederhana adalah atribut atonik yang tidak dapat dipilah lagi.
Sementara atribut komposit merupakan atribut yang masih dapat
diuraikan lagi menjadi subsub atribut yang masingmasing memiliki
makna.
Contoh pada tabel mahasiswa, atribut nama_mhs merupakan atribut
sederhana. Sedangkan alamat_mhs merupakan atribut komposit, karena
dapat diuraikan menjadi beberapa sub atribut seperti alamat, nama_kota
dan kode_pos yang masingmasing memiliki makna.
Nim
.
nama_mhs
Andika Budi
alamat_mhs
tgl_lahir
Jl. Mangga IV No. 80 Semarang ..
.
.
Silvana Putri
.
50173
Jl. Belimbing No. 21 Semarang 50175
.
..
..
Alamat
Jl. Mangga IV No. 80
Jl. Belimbing No. 21
..
Kota
Semarang
Semarang
..
kode_pos
50173
50175
.
nama_mhs
..
alamat_mhs
..
tgl_lahir
..
hobi
Membaca
Berenang
Menari
040002
..
..
..
040003
040004
..
..
..
..
..
..
Musik
Sepak Bola
040005
..
..
..
Basket
Menyanyi
nama_mhs
..
..
..
..
alamat_mhs
..
..
..
..
Mandatory Attribute
tgl_lahir
..
..
..
..
hobi
..
..
..
..
4. Atribut Turunan
Atribut turunan adalah atribut yang nilainilainya diperbolehkan dari
pengolahan atau dapat diturunkan dari atribut atau tabel lain yang
berhubungan. Atribut demikian sebetulnya dapat ditiadakan dari sebuah
tabel, karena nilainilainya bergantung pada nilai yang ada di atribut
lainnya.
Penambahan atribut angkatan dan IP (Indeks Prestasi) pada tabel
mahasiswa berikut merupakan contoh atribut turunan
nim
040001
040002
..
050001
050002
..
nama_mhs
..
..
..
..
..
..
alamat_mhs
..
..
..
..
..
..
tgl_lahir
..
..
..
..
..
..
angkatan
2004
2004
..
2005
2005
..
ip
3,25
2,85
..
2,95
3,10
..
Atribut Turunan
4.3
pada
adanya
batasbatas
nilai
yang
mungkin
10
Contoh : pada tabel kuliah, ditetapkan tipe data untuk atribut sks adalah
integer. Dengan begitu secara fisik kita dapat menyimpan nilai 1, 0 atau
100 untuk atribut sks. Tetapi kita mengetahui dengan pasti, bahwa nilai
nilai tersebut tidak pantas (invalid) untuk menjadi data pada atribut sks.
Lalu nilainilai yang boleh (valid) untuk atribut sks adalah 1, 2, 3, 4 dan
6, maka dapat dikatakan, domain nilai untuk atribut sks adalah 1, 2, 3, 4
dan 6.
4.4
nim
nama_mhs
indeks_nila
row 1
040001
Santi Purnamasari
i
A
row 2
040002
Budi Setyawan
row 3
row 4
Struktur Data
Struktur Data
040001
040002
Santi Purnamasari
Budi Setyawan
row 5
row 6
Struktur Data
Komunikasi Data
040003
040001
Kartika Sari
Santi Purnamasari
row 7
Riset Operasi
040002
Budi Setyawan
Dengan melihat data di atas dan dengan pertimbangan intuisi kita, maka
ketergantungan fungsional yang dapat kita ajukan adalah :
nim nama_mhs
11
nim
nideks_nilai
12
X
x1
x2
x3
x4
Y
10
20
30
20
Z
z1
z2
z3
z4
dengan nilai untuk atribut Znya berbeda. Tetapi yang ingin ditekankan di
sini adalah adanya dua buah ketergantunagn fungsional itu mendorong kita
untuk mendekomposisi tabel XYZ tersebut menjadi dua buah tabel yaitu
tabel XY dan YZ sebagai berikut :
13
X
x1
x2
x3
x4
Y
10
20
30
20
Y
10
20
30
20
Z
z1
z2
z3
z4
Jika kedua tabel diatas kita gabungkan kembali, maka hasilnya adalah :
X
x1
x2
x2
x3
x4
x4
Y
10
20
20
30
20
20
Z
z1
z2
z4
z3
z2
z4
Maka ini tentu saja berbeda dengan tabel awal (sebelum didekomposisi).
Maka dekomposisi semacam ini disebut LossyJoin Decomposition
(dekomposisi tidak aman), yaitu sebuah dekomposisi yang sedapat mungkin
kita hindari.
Akan tetapi jika data pada row 4 yang ada di tabel XYZ awal, kita ganti
dengan data berikut :
x4
20
z2
Row 1
Row 2
Row 3
Row 4
X
x1
x2
x3
x4
Y
10
20
30
20
Z
z1
z2
z3
z2
14
Y
10
20
30
20
Y
10
20
30
Z
z1
z2
z3
Kalau kedua tabel diatas digabungkan kembali maka, tabel awal XYZnya
akan diperoleh kembali sehingga dekomposisi tersebut aman. Karena itulah
ketergantungan fungsional pada suatu tabel harus kita tetapkan berdasarkan
pengamatan yang teliti dan asumsi yang dapat dipertanggung jawabkan agar
kelak hasil dekomposisi dapat dibenarkan.
Dependency Preservation
Dependency
Preservation
(pemeliharaan ketergantungan)
merupakan
kriteria kedua yang harus dapat dicapai untuk mendapatkan tabel dan basis
data yang baik. Ketika kita melakukan perubahan data, maka harus bisa
dijamin agar perubahan tersebut tidak menghasilkan inkonsistensi data yang
mengakibatkan ketergantungan fungsional yang sudah benar menjadi tidak
terpenuhi. Akan tetapi, dalam upaya untuk memelihara ketergantungan
fungsional yang ada untuk tetap terpenuhi tersebut, prosesnya harus dapat
dilakukan dengan efisien.
Contoh :
Tabel mahasiswa : (nim, nama_mhs, alamat_mhs, tgl_lahir) dengan
ketergantungan fungsionalnya yaitu :
nim nama_mhs, alamat_mhs, tgl_lahir
Tabel
nilai
(nama_kul,
nim,
nama_mhs,
indeks_nilai)
dengan
15
BentukBentuk Normalisasi
Normalisasi data adalah proses yang berkaitan dengan model data relasional
untuk
mengorganisasi
himpunan
data
dengan
ketergantungan
dan
keterkaitan yang tinggi/ erat. Hasil dari proses normalisasi adalah tabel
tabel data dalam bentuk normal (normal form), yaitu tabeltabel data yang
terhindar dari :
Pengulangan informasi.
Potensi inkonsistensi data pada operasi pengubahan.
Bentuk Normal Tahap Pertama (1st Normal Form)
Suatu tabel memenuhi 1stNF jika dan hanya jika tabel tersebut tidak
memiliki atribut bernilai banyak atau lebih dari satu atribut dengan domain
nilai yang sama.
Contoh tabel yang tidak memenuhi 1stNF
Tabel mahasiswa = (nim, nama_mhs, alamat_mhs, hobi)
Nim
nama_mhs
alamat_mhs
Hobi
040001
Sintawati
Tlogosari
Menari, Membaca
040002
Andika
Peterongan
Berenang
040003
Setiawan
Ngaliyan
040004
Kartika Sari
Banyumanik
Menyanyi
040005
AstiAnanta
Kaliwiru
Membaca,Musik, Basket
nama_mhs
Sintawati
Sintawati
Andika
Setiawan
Setiawan
alamat_mhs
Tlogosari
Tlogosari
Peterongan
Ngaliyan
Ngaliyan
hobi
Menari
Membaca
Berenang
Basket
Sepak Bola
17
040004
040005
040005
040005
Kartika Sari
AstiAnanta
AstiAnanta
AstiAnanta
Banyumanik
Kaliwiru
Kaliwiru
Kaliwiru
Menyanyi
Membaca
Musik
Basket
18
A, B C
A, B D
A, B E
Catatan :
Jika suatu tabel memenuhi 1sfNF dan tabel tersebut memiliki tepat satu
atribut yang membentuk kunci utama,
2ndNF.
Bentuk Normal Tahap Ketiga (3rd Normal Form)
Suatu tabel memenuhi bentuk normal 3rdNF jika dan hanya jika :
1. Tabel tersebut memenuhi 2ndNF.
2. Tidak ada atribut bukan kunci tergantung secara transitive pada kunci
utama.
Contoh tabel yang tidak memenuhi 3rdNF :
Diketahui tabel T = (A, B, C, D, E) dan berlaku ketergantungan fungsional :
A, B C, D, E
C D, E
Dalam hal ini tabel tidak memenuhi 3rdNF karena atribut D dan E yang
bukan kunci tergantung secara fungsional kepada C yang juga bukan kunci
(atau dengan kata lain D dan E tergantung secara transitive kepada kunci
utama).
Agar tabel T diatas memenuhi 3rdNF maka harus didekomposisikan
menjadi :
T1= (A, B, C) dan T2 = ( C, D, E)
Karena masingmasing T1 dan T2 memenuhi 3rdNF maka keseluruhan relasi
diatas memenuhi 3rdNF.
Catatan :
Suatu tabel yang memenuhi 2ndNF dan hanya memiliki satu atribut bukan
kunci selalu memenuhi 3rdNF.
Bentuk Normal Tahap Keempat (4th Normal Form)
Suatu tabel memenuhi bentuk normal 4rdNF jika dan hanya jika :
19
20
nama_mhs
Andika
Sari
Dewi
Rudi
kode_mk
SDT231, KDT220, SBD211
SBD211
RPL202, SDT231
SD231, RPL202
Catatan :
Tabel Mahasiswa di atas belum memenuhi kriteria 1stNF, sebab atribut
kode_mk
masih
memiliki
nilai
ganda
dalam
satu
baris.
Untuk
nama_mhs
Andika
Andika
Andika
Tabel Mahasiswa_2
nama_mhs
Andika
Andika
Andika
kode_mk
SDT231
KDT220
SBD211
21
61300
Sari
Sari
SBD211
61425
Dewi
Dewi
RPL202
61425
Dewi
Dewi
SDT231
61230
Rudi
Rudi
SDT231
61230
Rudi
Rudi
RPL202
Tabel Mahasiswa_C dibawah ini akan dilakukan uji normalisasi dari
bentuk normal satu 1sfNF sampai ke bentuk normal ketiga 3rdNF
Terdapat sebuah tabel yang sudah memenuhi kriteria 1stNF dengan
komposisi sebagai berikut :
Tabel Relasi Mahasiswa_C bentuk 1stNF
Nim
nama_
tgl_lahir
6152
mhs
Andika
12-05-85
1
6152
Andika
1
6152
Kuliah
kode_m
sks
nil
bo
Struktur Data
k
SDT231
ai
B
bot
3
12-05-85
Komunikasi Data
KDT220
Andika
12-05-85
SBD211
1
6130
Sari
14-06-86
SBD211
0
6142
Dewi
18-09-86
5
6142
Dewi
18-09-86
Struktur Data
SDT231
5
6123
Rudi
01-12-85
Struktur Data
SDT231
0
6123
Rudi
01-12-85
0
Dari tabel relasi Mahasiswa_C di atas terdapat beberapa ketergantungan
fungsional di antara atributatributnya sebagai berikut :
nim nama_mhs, tgl_lahir
kode_mk kuliah, sks
22
nama_mhs
Andika
Sari
Dewi
Rudi
tgl_lahir
12-05-85
14-06-86
18-09-86
01-12-85
23
kode_mk
SDT231
KDT220
SBD211
SBD211
RPL202
SDT231
SDT231
RPL202
nilai
B
A
B
A
C
B
B
C
bobot
3
4
3
4
2
3
3
2
24
kode_mk
SDT231
KDT220
SBD211
SBD211
RPL202
SDT231
SDT231
RPL202
nilai
B
A
B
A
C
B
B
C
bobot
4
3
2
1
0
25
BAB III
PENUTUP
A. KESIMPULAN
Normalisasi adalah proses dua langkah yang meletakkan data dalam
bentuk tabulasi dengan menghilangkan kelompok berulang lalu menghilangkan
data yang terduplikasi dari table relasional
Istilah Normalisasi berasal dari E. F.Codd, salah seorang perintis teknologi
basis data. Selaindipakai sebagai metodologi tersendiri untuk menciptakan
struktur tabel 9relasi) dalam basis data (dengan tujuan utnuk mengurangi
kemubaziran data) , normalisasi terkadang hanya diipakai sebagai perangkat
verifikasi terhadap tabel-tabel yang dihasilkan oleh metodologi lain ( misalnya ER).
Normalisasi diartikan sebagai suatu teknik yang menstrukturkan/
mendekomposisi/ memecah data dalam caracara tertentu untuk mencegah
timbulnya permasalahan pengolahan data dalam basis data. Permasalahan
yang dimaksud adalah berkaitan dengan penyimpanganpenyimpangan
(anomalies) yang terjadi akibat adanya kerangkapan data dalam relasi dan
inefisiensi pengolahan.
Proses normalisasi akan menghasilkan relasi yang optimal, yaitu :
5. Memiliki struktur record yang mudah untuk dimengerti.
6. Memiliki struktur record yang sederhana dalam pemeliharaan.
7. Memiliki struktur record yang mudah untuk ditampilkan kembali untuk
memenuhi kebutuhan pemakai.
8. Minimalisasi kerangkapan data guna meningkatkan kinerja sistem.
Aljabar relasional merupakan bahasa teoritis yang operasi-operasinya
bekerja pada satu atau lebih dari satu relasi untuk mendefinisikan relasi-relasi lain
tanpa mengubah relasi original. Hasil dari operasi aljabar relasional berupa relasi
juga yang dapat digunakan untuk operasi lain.
26
27
DAFTAR PUSTAKA
http://xzilin.blogspot.co.id/2012/11/jenis-atribut-tabel.html
http://evarahmawidia07.blogspot.co.id/2009/01/domain-dan-tipe-data.html
https://tuhfatussalisah.wordpress.com/2016/01/06/ketergantungan-fungsional/
http://sisunonline.blogspot.co.id/2010/10/normalisasi-denganketergantungan.html
http://chynteea.blogspot.co.id/2008/12/normalisasi-dengan-ketergantungan.html
https://tuhfatussalisah.wordpress.com/2016/01/06/ketergantungan-fungsional/
28