Anda di halaman 1dari 12

TUGAS LAPORAN BASIS DATA

“Normalisasi Dengan Keterganungan Fungsional”

Disusun Oleh:
RAHMAT HIDAYAT
1815025091
Dosen :
Putut Pamilih Widagdo, S.Kom. M. Kom

PROGRAM STUDI ILMU KOMPUTER


FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS MULAWARMAN
2018
BAB I
PENDAHULUAN

1.1. Latar Belakang


Normalisasi adalah suatu proses untuk mengidentifikasi tabel kelompok atribut yang
memiliki ketergantungan sangat tinggi antara satu atribut dengan aribut lainnya
Normalisasi bisa di sebut juga sebagai proses pengolompokan atribut-atribut dari suatu
relasi sehingga membentuk “Well Stuructured Relation”.
Normalisasi adalah suatu proses memperbaiki/membangun data dengan model data
relasional dan secara umum lebih tepat di koneksikan dengan data model logikal
Normalisasi adalah proses pengelompokan data ke dalam bentuk tabel atau relasi atau file
untuk menyatakan entitas dan hubungan mereka, sehingga terwujud satu bentuk basis data
yang mudah untuk di modifikasi
Normalisasi adalah suatu proses untuk mengidentifikasi tabel kelompok atribut yang
memiliki ketergantungan sangat tinggi antara satu atribut dengan aribut lainnya.
Normalisasi bisa di sebut juga sebagai proses pengolompokan atribut-atribut dari suatu
relasi sehingga membentuk “Well Stuructured Relation”.
Well Stuructured Relation adalah sebuah relasi yang kerangkapan datanya sedikit
(Minimum Amount Of Redudancy), serta memberikan kemungkinan bagi pemakai untuk
melakukan insert, Delete, Modify terhadap baris-baris data pada relasi tersebu,yang tidak
berakibat terjadinya error atau inconsistency data yang disebabkan oleh operasi-
operasiyang di berikan oleh pemakai.

1.2. Tujuan
1. Tujuan normalisasi database adalah untuk menghilangkan dan mengurangi redudansi
data.
2. Tujuan yang kedua adalah memastikan dependensi data (Data berada pada tabel yang
tepat).
3. Tujuan yang ketiga adalah Normaliasi diperlukan agar kerelasian dalam basis data menjadi mudah
dimengerti, mudah dipelihara, mudah memprosesnya, dan mudah untuk dikembangkan sesuai dengan
kebutuhan baru.

1.3. Manfaat
1. Untuk menghilangkan kerangkapan data
2. Untuk mengurangi kompleksitas
3. Untuk mempermudah pemodifikasian data
BAB II
PEMBAHASAN

A. KETERGANTUNGAN FUNGSIONAL (KF)


Merupakan konsep dasar normalisasi yang menjelaskan hubungan antar atribut,
atau lebih khusus menjelaskan nilai suatu atribut yang menentukan nilai atribut lainnya.
Fungsinya menjadi acuan dekomposisi data ke dalam bentuk yang lebih efisien
Ketergantungan Fungsional (functional dependency) sering disingkat dengan KF
Functional dependency (ketergantungan fungsional) menggambarkan hubungan kaitan
antara atribut-atribut dalam relasi, dikatakan fungsional dependent karena nilai dari suatu
atribut digunakan oleh atribut yang lain Simbol untuk menyatakan functional dependent
adalah dibaca secara fungsional menentukan.
Contoh : A ⇒ B (A secara fungsional menentukan B)
Artinya bahwa A secara fungsional menentukan B atau B bergantung pada A

Ketergantungan fungsional dari tabel Nilai di atas adalah :


NIM ⇒ NamaMhs
NIM menentukan Nama Mahasiswa karena NIM yang sama menunjukkan nama
Mahasiswa yang sama.

{Matakuliah,NIM} ⇒NilaiHuruf

Kenapa harus Matakuliah dan NIM tidak NIM saja atau Matakuliah saja. Karena kalau
hanya NIM saja satu NIM dapat memiliki 2 nilai, Jika Matakuliah saja juga terdapat
banyak nilai, oleh karena itu kita menggunakan Matakuliah dan NIM untuk menentukan
Nilai Huruf.

Selanjutnya, sebuah tabel dapat dikategorikan baik (efisien) atau normal, jika telah
memenuhi 3 (tiga) Kriteria berikut :

1. Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman
(Lossless-Join Decomposition).

2. Terpilihnya ketergantungan fungsional pada saat perubahan data (Dependency


Preservation).

3
3. Tidak melanggar Boyce-Code Normal Form (BCNF). Jika criteria ketiga (BCNF) tidak
dapat terpenuhi, maka paling tidak harus diupayakan agar tabel tersebut tidak melanggar
bentuk normal tahap ketiga (3rd Normal Form/3NF).

B. LossLess Join Decomposition

Dekomposisi adalah teknik memecah sebuah relasi menjadi beberapa relasi.


Kemudian setelah relasi tersebut dipecah bila digabungkan kembali harus mendapat hasil
yang sama, tidak boleh record yang diulang maupun record tambahan.

Bila kondisi ini terpenuhi maka ini yang disebut Lessloss-join decomposition.

tujuan dekomposisi adalah untuk mendapatkan tabel yang baik, tetapi jika tidak hati-hati
langkah ini justru dapat mengakibatkan kesalahan dekomposisi dapat dikatakan benar
jika tabel-tabel hasil dekomposisi di gabungkan kembali dapat menghasilkan tabel awal
seperti sebelum di dekomposis

Contoh: Tabel Awal

Contohnya sebuah dekomposisi yang non-Lossless-join:

Bila kedua relasi R2 dan R3 digabung kembali maka akan didapat:


Kondisi ini yang disebut Lossy join decomposition.

Untuk menghindari dekomposisi Lossy-join maka pada relasi hasil dekomposisi harus
memiliki attribut yang beririsan. Contohnya adalah pada Relasi StaffBranch diatas
didekomposisi menjadi Relasi Staff dan Relasi Branch dimana attribut BranchNo sebagai
irisannya.

Ada dua properti penting dalam dekomposisi yaitu Lossless-join Property dan
Dependency Preservation Property. Dalam sebuah dekomposisi apakah memenuhi
kaidah Lossless-join dan apakah memenuhi kaidah Dependency Preservation.

Untuk mendapatkan dekomposisi yang Lossless-join harus ada attribut yang beririsan
namun harus hati hati supaya dekomposisi harus juga Dependency Preserving. Untuk bisa
mendapatkan Dependency Preserving syaratnya adalah constraint yang berlaku direlasi
awal harus juga berlaku di relasi hasil dekomposisi.

Berikut contohnya:

tanda “→” dibaca “menentukan”

Relasi PhoneAddress kemudian dengan cara pertama didekomposisi menjadi:

5
Constraint awal adalah {Mahasiswa → NoHP, NoHP → Operator}, kemudian dari dua
relasi diatas ada irisan yaitu attribut {NoHP}, dengan demikian ketika kita merujuk salah
satu nama Mahasiwa pada relasi PA1 maka kita akan dapat NoHP, berbekal NoHP ketika
kita pergi ke PA2 kita bisa mendapat nama Operator.

Sekarang kita pakai cara dekomposisi kedua:

Constraint awal adalah {Mahasiswa → NoHP, NoHP → Operator}, kemudian dari dua
relasi diatas ada irisan yaitu attribut {Mahasiswa}, ketika kita merujuk salah satu nama
Mahasiwa pada relasi PA1 maka kita akan dapat NoHP, berbekal NoHP kita tidak dapat
mendapat nama Operator pada relasi PA2.

Dekomposisi cara kedua diatas juga Lossless-join karena memiliki attribut irisan
{Mahasiswa} tapi tidak Dependency Preserving karena constraint yang berlaku pada
awal relasi sebelum didekomposisi tidak berlaku lagi.

C. Dependency Preservation

Merupakan Kriteria kedua yang harus dicapai untuk mendapatkan table dan basis
data yang baik. Ketika melakukan sebuah perubahan data, maka harus bisa dijamin agar
perubahan tersebut tidak menghasilkan inkonsistensi data yang mengakibatkan KF yang
sudah benar menjadi tidak terpenuhi. Dalam memenuhi upaya untuk memelihara KF
yang ada untuk tetap terpenuhi tersebut, prosesnya harus dapat dilakukan dengan efisien.
Dependency Preservation (Pemeliharaan Ketergantungan):
Ketika kita melakukan perubahan data, maka harus bisa dijamin agar perubahan tersebut
tidak menghasilkan inkonsistensi data yang mengakibatkan KF yang sudah benar menjadi
tidak terpenuhi. Pada tabel universal, misalnya ada perubahan data alamat untuk
mahasiswa dengan NPM = ‘2001.25.001’ maka perubahan ini harus kita lakukan pada
atribut alamat_mhs di semua row yang nilai atribut npm-nya bernilai ‘2001.25.001’. Hal
ini menjadi tidak efisien.
Contoh lain :
Ketika melakukan perubahan data, maka perubahan tersebut dapat menjamin tidak akan
mengakibatkan inkonsistensi data yang mengakibatkan KF yang sudah benar menjadi
tidak terpenuhi
Contoh:
pada tabel tidak normal, misal salah satu mahasiswa misalnya anita memilki nama yang
keliru, maka perubahan harus dilakukan sebanyak nama anita disebutkan, jika tidak maka
akan ada dua nama dengan nim yang sama (data tidak konsisten)

D. Boyce Codd Normal Form (BCNF)

Sebuah relasi dalam bentuk Boyce-Codd Normal Form (BCNF) jika dan hanya
jika setiap determinan adalah candidate key. Boyce-Codd Normal Form adalah tipe
khusus dari bentuk normal ketiga. Sebuah relasi dalam BCNF adalah juga bentuk dalam
3NF, tetapi relasi dalam 3NF mungkin tidak dalam BCNF.

Dalam Date (2004), didefinisikan bahwa sebuah relvar (table) berada dalam BCNF jika
dan hanya bila setiap FD yang tidak sepele, tidak dapat dikurangi sebelah kiri memiliki
sebuah kunci kandidat sebagai determinannya.

Dalam Hariyanto (2004), ketentuan BCNF tercapai apabila masingmasing atribut


utama bergantung fungsional penuh pada masingmasing kunci di mana kunci tersebut
bukan bagiannya.

Dalam Philip (2007), dinyatakan bahwa sebuah relasi berada dalam BCNF jika, dan
hanya jika, setiap kunci kandidat adalah sebuah determinan.

7
Perbedaan istilah yang digunakan dalam satu referensi dengan yang lainnya dapat
menimbulkan kesan dan makna yang berbeda pada pembaca, baik berupa kemudahan,
kesulitan, maupun kebingungan. Dengan keberadaan tiga kemungkinan tersebut, maka
kajian terhadap penggunaan istilah dalam suatu referensi sangat diperlukan. Begitu juga,
kondisi di mana referensi mengenai BCNF masih banyak menggunakan bahasa Inggris,
maka ada kemungkinan referensi bahasa Indonesia tidak betulbetul merepresentasikan
makna referensi aslinya yang mana bahasa Inggris dan bahasa Indonesia memiliki
karakteristik bahasa yang cukup berbeda.

sebuah tabel di katakan berada dalam boyce codd normal form jika untuk semua KF
dengan notasi X ® Y, maka X harus merupakan superkey pada tabel tersebut, jika tidak
maka tabel harus di dekomposisi
Contoh :

Dari tabel, dapat diajukan KF:


NIM ® nama,alamat_mhs
Kd_kul ® nama_kul, sks, smtr
Kd_dos ® nama_dosen
NIM, kd_kul ® nilai
Jadi dapat di simpulkan, bahwa dari tabel tidak hanya memilki satu primary key saja,
sehingga tabel harus di dekomposisi.

E. Bentuk Normal Tahap Ketiga (3rd Normal Form)

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.

BCNF memiliki ketentuan yaitu :

● Masing-masing atribut utama bergantung fungsional penuh pada masing-masing kunci


dimana kunci tersebut bukan bagiannya.
● Relasi adalah BCNF (optimal) jika setiap determinan atribut-atribut relasi adalah kunci
relasi.

● Relasi adalah BCNF (optimal) jika kapanpun fakta-fakta disimpan mengenai beberapa
atribut, maka atribut-atribut ini merupakan satu kunci relasi.

● BCNF dapat memiliki lebih dari satu kunci.

Properti penting BCNF adalah relasi tidak memiliki informasi yang redundan.

Perbedaan BCNF dengan 3NF, yaitu:

● Pada BCNF suatu atribut yang bergantung secara fungsional terhadap kunci primer,
mungkin saja merupakan kunci primer bagi atribut yang lain.

● Pada 3NF hal ini bisa saja terjadi dan tidak menjadi masalah.

Contoh :

Relasi di atas memenuhi 3NF tetapi tidak memenuhi BCNF, karena :

● Seorang mahasiswa dapat mengambil sejumlah mata kuliah.

● Setiap dosen hanya mengajar pada sebuah mata kuliah.

● Setiap mahasiswa pada setiap mata kuliah hanya diajar oleh seorang dosen.

● Suatu mata kuliah yang sama bisa memiliki lebih dari satu dosen.

Syarat BCNF

BCNF mempunyai paksaan yg lebih kuat dari bentuk normal ketiga. Adapun Syarat untuk
menjadi BCNF, yaitu :

● Harus sudah bentuk 1NF, 2NF, 3NF dan relasi pada BCNF yaitu mengoptimalkan jika
setiap determinan antara atribut-atribut relasi adalah kunci relasi.

● Relasi harus dalam bentuk normal ketiga dan setiap atribut harus bergantung fungsi
pada atribut superkey.

9
● Tabel harus mempunyai Functional Dependency dengan notasi X  Y ; X adalah
superkey pada tabel tersebut

● Semua atribute ketergantungan multivalue adalah juga ketergantungan fungsional.

Contoh Kasus BCNF :

Pinjam

Didekomposisi menjadi :

Pinjam 1

FD Trivial –> BCNF

Pinjam 2
ID Pinjam –> BID, Date

ID Pinjam Superkey –> BCNF

BAB III
PENUTUP
A. Kesimpulan

Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atribut


data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant,
stabil, dan fleksible

Normalisasi juga digunakan untuk menghindari terjadinya berbagai anomali data dan
tidak konsistensinya data. Normalisasi sangat penting untuk menunjang kinerja
database dan memastikan bahwa data dalam database tersebut aman dan tidak terjadi
kesalahan jika mendapat perintah SQL

B. Saran

11
DAFTAR PUSTAKA
https://kicaukican.wordpress.com/2014/11/05/laporan-praktikum-dbd-vi-normalisasi/
https://situskuring.wordpress.com/2013/06/28/boyce-codd-normal-form-bcnf/
http://yangkusuk.blogspot.com/2012/11/tahapan-normalisasi.html
http://evarahmawidia07.blogspot.com/2009/01/lossless-join-decomposition.html
https://wibisastro.wordpress.com/2008/03/05/dekomposisi/
http://sisunonline.blogspot.com/2010/10/normalisasi-dengan-ketergantungan.html

Anda mungkin juga menyukai