Teknik Normalisasi · Web viewBentuk normal adalah suatu aturan yang dikenakan pada relasi-relasi dalam basis data dan harus dipenuhi oleh relasi-relasi tersebut dalam level-level
Post on 07-Mar-2019
231 Views
Preview:
Transcript
MAKALAHKONSEP NORMALISASI DAN ALJABAR
RELASIONAL
Disusun sebagai salah satu tugas kelompokmata kuliah Sistem Basis Data
Oleh :Ekha Saputra – 201043501034
Sunandar – 201043501066Yanri H.P. – 201043501068
DOSEN NAHOT FRASTIAN, S.KOM
JURUSAN TEKNIK INFORMATIKAFAKULTAS TEKNIK, MATEMATIKA & IPA (FTMIPA)
UNIVERSITAS INDRAPRASTA PGRI2012
Daftar isi
1. Pengertian normalisasi 3
2. Tujuan normalisasi 3
3. Dasar – dasar normalisasi 3
4. Anomali 4
5. Depedensi (ketergantungan) 4
5.1 Depedensi fungsional 4
5.2 Depedensi fungsional sepenuhnya 5
5.3 Depedensi total 6
5.4 Depedensi transitif 6
6. Dekomposisi 7
7. Bentuk normal 8
7.1 Bentuk normal pertama(1NF) 9
7.2 Bentuk normal kedua(2NF) 10
7.3 Bentuk normal ketiga(3NF) 14
7.4 Bentuk normal Boyce-Codd(BCNF) 16
7.5 Bentuk normal keempat(4NF) 18
7.6 Bentuk normal kelima(5NF) 19
8. Daftar Pustaka 21
2
BAB IPENDAHULUAN
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.
Supaya kita dapat melihat informasi yang tertera pada tabel universal sehingga tidak
ada data yang tidak terbaca atau data tertambah, yang bukan merupakan sebuah data
yang tertera pada tabel universal. Maka kita lakukan dengan cara menormalisasi data
tersebut.
B. TUJUAN
Adapun tujuan dari dilakukannya normalisasi data adalah sebagai berikut :
1. Agar kita memiliki basis data yang kompak dan efesien dalam penggunaan
ruang penyimpanan
2. Agar cepat dalam pengaksesan data
3. Agar mudah dalam pemanipulasian data
3
BAB II
PEMBAHASAN
A. NORMALISASI
Proses normalisasi adalah suatu teknik untuk mengorganisasi data ke
dalam tabel-tabel yang menunjukkan entitas dan relasinya untuk memenuhi
kebutuhan pamakai di dalam suatu organisasi.
1. Dasar - Dasar Normalisasi
Normal form (bentuk normal) adalah suatu klas dari skema database relasi
yang didefinisikan untuk memenuhi tujuan dari tingginya integritas dan
maintainability
Kreasi dari suatu bentuk normal disebut normalisasi
2. Anomali
Anomali adalah proses pada basis data yang memberikan efek
samping yang tidak diharap- kan (misalnya ketidakkonsistenan data karena
adanya redudansi). Ada 3 macam anomali pada suatu database:
Anomali penyisipan data (insert)
Anomali pengubahan data (update)
Anomali penghapusan data (delete)
Bila ada anomali maka relasi mungkin perlu dipecah menjadi beberapa
tabel lagi agar diperoleh database yang optimal.
5
3. Depedensi (Ketergantungan)
Depedensi merupakan konsep yang mendasari normalisasi yang
menjelaskan hubungan antar atribut atau secara lebih khusus menjelaskan
nilai suatu atribut yang menentukan nilai atribut lainnya.
Macam – macam depedensi :
Depedensi fungsional
Depedensi fungsional sepenuhnya
Depedensi total
Depedensi transitif
3.1 Depedensi fungsional
Suatu atribut Y mempunyai dependensi fungsional terhadap atribut X,
jika dan hanya jika setiap nilai X berhubungan dengan sebuah nilai Y.
X → Y
artinya : “X secara fungsional menentukan Y”
atau secara istilah :
penentu (determinan) → yang tergantung (dependen)
6
contoh :
3.2 Depedensi fungsional sepenuhnya
Suatu atribut Y mempunyai dependensi fungsional sepenuhnya
terhadap atribut X, jika:
– Y mempunyai dependensi fungsional terhadap X, dan
– Y tidak memiliki dependensi terhadap bagian dari X.
Misalnya: PELANGGAN(KODE_PLG,NAMA,KOTA,FAKS)
Terdapat:
1 - {KODE_PLG, KOTA} → FAKS
2 - KODE_PLG → FAKS
3.3 Depedensi total
Suatu atribut Y mempunyai dependensi total terhadap atribut X jika:
– Y memiliki dependensi fungsional terhadap X, dan
– X mempunyai dependensi fungsional terhadap Y.
7
Dependensi seperti ini dinyatakan dengan notasi:
X ← →Y
Contoh :
3.4 Depedensi transitif
Atribut Z mempunyai dependensi transitif terhadap X jika :
– Y memiliki dependensi fungsional terhadap X.
– Z memiliki dependensi fungsional terhadap Y.
atau dapat dituliskan
X → Y → Z
Contoh :
8
4. Dekomposisi
Pada proses normalisasi seringkali terjadi pemecahan sebuah relasi mejadi
dua relasi atau lebih yang disebut dekomposisi. Secara lebih khusus, macam
dekomposisi yang dilakukan adalah dekomposisi tak hilang, yang artinya bahwa
tak ada informasi yang hilang ketika relasi dipecah menjadi relasi-relasi lain.
9
5. Bentuk Normal
Bentuk normal adalah suatu aturan yang dikenakan pada relasi-relasi
dalam basis data dan harus dipenuhi oleh relasi-relasi tersebut dalam level-
level normalisasi;
Suatu relasi dikatakan berada dalam bentuk normal tertentu jika
memenuhi kondisi-kondisi tertentu;
Beberapa level yang biasa digunakan pada normalisasiadalah:
Bentuk normal pertama (1NF)
Bentuk normal kedua (2NF)
Bentuk normal ketiga (3NF)
Bentuk normal Boyce-Cood (BCNF)
Bentuk normal keempat (4NF)
Bentuk normal kelima (5NF)
5.1 Bentuk normal pertama (1NF)
Bentuk normal pertama biasa dikenakan pada table yang belum
ternormalisasi. Tabel yang belum ternomalisasi adalah tabel yang memiliki
atribut yang berulang.
Suatu relasi dikatakan dalam bentuk normal pertama jika dan hanya
jika setiap atribut bernilai tunggal untuk setiap baris.
10
5.2 Bentuk normal kedua (2NF)
Suatu relasi berada dalam bentuk normal kedua jika dan hanya jika:
– Berada pada bentuk normal pertama
– Semua atribut yang bukan kunci memiliki dependensi
sepenuhnya terhadap kunci primer
Atribut yang bukan kunci adalah atribut yang bukan merupakan
bagian kunci primer.
Dalam ungkapan yang lebih praktis, bentuk normal kedua
mensyaratkan setiap atribut bergantung kepada kunci primer.
Untuk mengubah suatu relasi yang tergolong sebagai bentuk normal
pertama ke bentuk normal kedua perlu dilakukan dekomposisi
terhadap relasi tersebut.
Proses dekomposisi dapat dilakukan dengan menggambarkan diagram
dependensi fungsional terlebih dahulu
12
Menurut Date: Normal pertama menjadi Normal Kedua
Terdapat relasi R:
R(A,B,C,D)
KUNCI PRIMER (A,B)
A → D
R dapat digantikan dengan dua proyeksi R1 dan R2:
R1(A,D)
KUNCI PRIMER (A)
14
R2(A,B,C)
KUNCI PRIMER (A,B)
KUNCI TAMU (A) REFERENSI R1
Masalah yang sering terjadi pada relasi yang tergolong pada bentuk
normal kedua diakibatkan oleh adanya dependensi transitif.
15
5.3 Bentuk normal ketiga (3NF)
Suatu relasi dikatakan dalam bentuk ketiga (3NF) jika:
– Berada pada bentuk normal kedua
– Semua atribut bukan kunci tidak memiliki transitif terhadap
kunci primer.
Pendekatan normalisasi:
Bila terdapat relasi R sbb:
R(A,B,C)
KUNCI PRIMER (A)
B → C
16
Maka relasi R dapat digantikan dengan dua proyeksi R1 dan R2:
R1(B,C)
KUNCI PRIMER (B)
R2(A,B)
KUNCI PRIMER (A)
KUNCI TAMU (B) REFERENSI R1
17
5.4 Bentuk normal Boyce-Code Normal (BCNF)
Suatu relasi disebut memenuhi bentuk normal Boyce-Codd jika dan
hanya jika semua penentu (determinan) adalah kunci kandidat (atribut
yang bersifat unik).
BCNF merupakan bentuk normal sebagian perbaikan terhadap 3NF.
Suatu relasi yang memenuhi BCNF selalu memenuhi 3NF, tetapi tidak
untuk sebaliknya.
Suatu relasi yang memenuhi 3NF belum tentu memenuhi BCNF.
Dalam banyak literatur disebutkan bahwa BCNF adalah perbaikan dari
3NF, karena bentuk normal ketigapun mungkin masih mengandung
anomali sehingga masih perlu dinormalisasi lebih lanjut.
18
Relasi di atas memenuhi 3NF tetapi tidak memenuhi BCNF,
Karena :
– Seorang siswa dapat mengambil sejumlah kursus bahasa.
– Setiap tutor hanya mengajar pada sebuah kursus bahasa.
– Setiap siswa pada setiap kursus bahasa hanya diajar oleh seorang
tutor.
– Suatu kursus bahasa yang sama bisa memiliki lebih dari satu
tutor.
{Siswa, Kursus} → Tutor
{Siswa, Tutor} → Kursus
Cara mengkonversi relasi yang telah memenuhi 3NF ke BCNF:
– Carilah semua penentu
– Bila terdapat penentu yang bukan berupa kunci kandidat, maka:
• Pisahkan relasi tersebut, dan
• Buat penentu tersebut sebagai kunci primer.
19
5.5 Bentuk normal keempat (4NF)
Bila R(A,B,C) merupakan suatu relasi, dengan A, B, C adalah atribut
– atribut relasi tersebut, maka proyeksi dari R berupa (A, B) dan
(A, C) jika R memenuhi MVD:
A -->> B | C
Perlu diketahui, bila terdapat:
A --->> B
A --->> C
Maka keduanya dapat ditulis menjadi:
A --->> B | C
Secara praktis, suatu relasi memenuhi bentuk normal keempat jika:
– telah berada pada BCNF, dan
– tidak mengandung dua atribut atau lebih yang bernilai banyak.
20
5.6 Bentuk normal kelima (5NF)
Dependensi gabungan mendasari bentuk normal kelima.
Suatu relasi R (X, Y, ..., Z) memenuhi dependensi gabungan jika
gabungan dari proyeksi A, B, ..., C dengan A, B, ..., C merupakan sub-
himpunan dari atribut-atribut R. Dependensi gabungan sesuai dengan
definisi di atas dinyatakan dengan notasi:
* (A, B, ..., C)
dengan
A = XY
B = YZ
C = ZX
Bentuk normal kelima (5NF), yang terkadang disebut PJ/NF
(Projection Join/Normal Form), menggunakan acuan dependensi
gabungan. Suatu relasi berada dalam 5NF jika dan hanya jika setiap
dependensi gabungan dalam R tersirat oleh kunci kandidat relasi R.
21
Secara praktis dapat dikatakan bahwa suatu relasi R berada dalam 5NF
jika data yang ada padanya tak dapat lagi didekomposisi menjadi
relasirelasi yang lebih kecil dengan kunci kandidat relasi-relasi yang
lebih kecil ini tidak sama dengan kunci kandidat relasi.
22
B. BAHASA QUERY
Bahasa queri merupakan bahasa yang digunakan user untuk
mengekspresikan permintaan data pada basis data. Bahasa queri ini dapat
dibedakan atas :
a. Bahasa queri formal
Bahasa queri formal merupakan dasar bahasa relasional dengan
menggunakan simbol-simbol matematika. Bahasa queri formal ini dapat
dibedakan atas dua jenis, yakni :
1. Terprosedur,
Bahasa queri formal yang terprosedur artinya pemakai
menjabarkan bagaimana caranya untuk memanipulasi data.
Contoh : Aljabar relasional
2. Tanpa prosedur
Bahasa queri formal yang tanpa prosedur artinya pemakai
hanya menentukan data apa yang dibutuhkan tanpa perlu
menjabarkan bagaimana memperoleh data tersebut
Contoh : Kalkulus relasional tuple dan domain
b. Bahasa queri komersial
Bahasa queri yang dirancang menjadi program aplikasi agar pemakai
mudah menggunakannya.
Contoh :
1. Structures Query Language (SQL)
Kombinasi aljabar dan kalkulus relasional
Contoh :
Select * from PEGAWAI where KodeDiv=’Div02’;
23
2. Query Language (QUEL)
Berdasarkan pada kalkulus relasional tupel
Contoh :
Retrieve (PEGAWAI.*)
Where PEGAWAI.KodeDiv=’Div02’;
3. Query By Example (QBE)
Berdasarkan pada kalkulus relasional domain.
Contoh :
PEGAWAI NIP NAMA ALAMAT GAJI KODEDIV
P. Div02
C. ALJABAR RELASIONAL
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. Operasi-operasi dasar yang
terdapat aljabar relasional antara lain: SELECT, PROJECTION, CARTESIAN
PRODUCT, UNION dan SET DIFFERENCE. Selain ini ada pula operasi
tambahan (khusus) JOIN, INTERSECTION dan DIVISION.
24
1. Notasi Operasi Dasar
a. SELECT
Operasi SELECT ditujukan untuk memperoleh tupel-tupel dari suatu
relasi yang memenuhi predikat tertentu. Simbol yang digunakan : (sigma).
Bentuk :
predikat (R)
Keterangan :
R = relasi
Predikat pada operasi SELECT melibatkan :
operand : konstanta/bilangan
operator aritmatika : , , , , ,
operator logika : (and), (or), (not)
Contoh queri : dicari informasi mengenai pegawai yang bekerja di divisi
Div02. (Berdasarkan relasi pegawai pada divisi.)
KodeDiv=’Div02’ (PEGAWAI)
Hasil :
80100 Muhammad Ali Jl. Depok 1 No.2 1.000.000 Div02
80150 Jaharudin Jl. Gambir No.34 2.000.000 Div02
25
b. PROJECT
Operasi PROJECT ditujukan untuk memperoleh atribut-atribut atau
kolom-kolom tertentu dari suatu relasi serta membuang nilai yang sama.
Simbol yang digunakan : (pi).
Bentuk :
kolom1, kolom2, ..., kolomn (R)
Contoh queri : tampilkan nama dan alamat pegawai
Nama,Alamat (PEGAWAI)
Hasil :
Muhammad Ali Jl. Depok 1 No.2
Sasanti Jl. Akses No.4
Budiman Jl. Kenanga No.10
Jaharudin Jl. Gambir No.34
Nurhayati Jl. Margonda No.12
Amir Rusli Jl. Teratai No.3
26
c. CARTESIAN PRODUCT
Membentuk suatu relasi dari dua relasi, misalkan R dan S, yang terdiri
dari kombinasi untuk setiap tupel pada R dengan semua tupel pada S. Simbol
operasi adalah : (cros)
Bentuk :
R x S
Contoh queri : tampilkan kombinasi pegawai dan divisi tempat pegawai
bekerja.
PEGAWAI DIVISI
d. UNION
Membentuk suatu relasi yang terdiri dari tupel-tupel yang berada
pada salah satu relasi atau pada kedua relasi, dengan syarat :
- misalkan ada relasi R dan S, maka jumlah atribut relasi R dan S harus
sama
- domain dari atribut ke i dari R harus sama dengan domain dari atribut ke i
pada S.
Simbol : (union)
Contoh queri : misalkan terdapat dua relasi pegawai di cabang A yakni
PEGAWAI-A dan di cabang B yakni PEGAWAI-B, apabila ingin diketahui
gabungannya, maka
PEGAWAI-A PEGAWAI-B
27
e. SET DIFFERENCE
Operasi ini untuk membentuk suatu relasi yang terdiri dari tupel-tupel
yang berada pada relasi pertama dan tidak berada pada relasi kedua atau
kedua-duanya.
Simbol : - (minus)
Contoh :
PEGAWAI-A PEGAWAI-B
2. Notasi Operasi Tambahan (Khusus)
a. NATURAL JOIN
Membentuk suatu relasi dari dua relasi yang terdiri dari kombinasi
yang mungkin dari relasi-relasi tersebut. Simbol : X
Ilustrasi :
R S R X S
a 1 1 x a 1 x
b 2 1 y a 1 y 3 z
Contoh queri : dicari nama divisi dimana pegawai dengan NIP 80100 bekerja.
NamaDiv ( NIP=’80100’ ’ (PEGAWAI X DIVISI))
28
Hasil :
Pemasaran
b. INTERSECTION
Operasi ini ditujukan untuk memperoleh tupel-tupel yang berada
pada kedua relasi R dan S. Simbol = .
Contoh :
R S
Ilustrasi :
R S R ∩ S
Contoh Queri :
Skema relasi MTKULIAH ( kd_mk, nama_mk, sks )Skema relasi Nilai ( npm, kd_mk, nil_mid, nil_uas )
Dicari kode matakuliah yang mempunyai sks = 4 yang ambil oleh mahasiswa dengan NPM “50100333”
Π kd_mk ( δ sks = 4 (MTKULIAH) ) ∩ Π kd_mk ( δ npm = ‘50100333’ (NILAI) )
29
c. DIVISION
Untuk memndapatkan nilai yang ada pada salah satu atribut dari
relasi ‘ pembilang ‘ yang nilai atributnya sama dengan nilai atribut relasi
‘ penyebut ‘
Simbol : ÷
Ilustrasi :
R S R ÷ S Ra b c d c d a b R
÷S
Sa b e f e f e db c e fe d c d
Sisabagi
e d e fa b d e
Contoh Queri :
Skema relasi MHS ( npm, nama, alamat, tgl_lahir )Skema relasi NILAi ( npm, kd_mk, nil_mid, nil_uas )
Dicari matakuliah yang diambil oleh mahasiswa yang bernama “SADIKIN”
Π kd_mk, npm (NILAI) ) ∩ Π npm ( δ nama = ‘SADIKIN’ (MHS) )
30
BAB III
KESIMPULAN
Proses normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam
tabel-tabel yang menunjukkan entitas dan relasinya untuk memenuhi kebutuhan
pamakai di dalam suatu organisasi. Normalisasi sangat diperlukan supaya tidak
terjadi redudansi dan integritas data yang disajikan akan tetap terjaga
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.
31
BAB IV
PENUTUP
Demikian yang dapat kami paparkan mengenai materi yang menjadi pokok
bahasan dalam makalah ini, tentunya masih banyak kekurangan dan kelemahannya,
kerena terbatasnya pengetahuan dan kurangnya rujukan atau referensi yang ada
hubungannya dengan judul makalah ini. Semoga makalah ini berguna bagi penulis
pada khususnya juga pada teman – teman pada umumnya.
32
top related