09071003019 - teknik normalisasi

Upload: bachtiar-annas-yaasiin

Post on 17-Jul-2015

67 views

Category:

Documents


0 download

TRANSCRIPT

TUGAS SISTEM INFORMASI BERBASIS WEB TEKNIK NORMALISASI PADA DATABASE SECARA LOGIK

Disusun Oleh, Alvibianto Shidiq 09071003019

UNIVERSITAS SRIWIJAYA FAKULTAS ILMU KOMPUTER SISTEM INFORMASI 6

DAFTAR ISIBAB I (Bentuk Normal Dan Redudansi) ............................................................................................1 1.1 Bentuk Normal...............................................................................................................................1 1.2 Persoalan Redudansi......................................................................................................................2 1.3 Fakta...............................................................................................................................................5 1.4Penghilang Redundansi ..................................................................................................................6 BAB II (Proses Normalisasi 1 NF hingga BCNF)...............................................................................7 2.1 Kebergantungan..............................................................................................................................7 2.2 kebergantungan fungsional............................................................................................................7 2.2.1 Saling Bergantung.......................................................................................................................8 2.2.2 Kebergantungan pada lebih dari satu atribut.............................................................................8 2.2.3 Kebergantungan Penuh..............................................................................................................8 2.3Properti Matematika kebergantungan fungsional...........................................................................8 2.3.1 Deskripsi kebergantungan fungsional.........................................................................................9 2.3.2 Kebergantungan fungsional dan anomali pembaruan................................................................9 2.3.3 Properti kebergantungan fungsional.........................................................................................10 2.4 Proses normalisasi........................................................................................................................11 2.4.1 Bentuk normal...........................................................................................................................12 2.4.2 Dekomposisi..............................................................................................................................13 2.5 Bentuk Normal Pertama (1NF)....................................................................................................14 2.6 Bentuk Normal Kedua(2NF)........................................................................................................14 2.6.1 Atribut utama dan bukan Utama...............................................................................................14 2.6.2 Ketentuan Bentuk Normal kedua(2NF)....................................................................................15 2.7 Bentuk normal Ketiga (3NF).......................................................................................................16 2.8 BCNF(Boyce-Codd Normala form)............................................................................................17 BAB III Bentuk Normal Tinggi Dan Denormalisasi.........................................................................19 3.1 Kebergantungan Banyak Nilai.....................................................................................................19 3.2 Bentuk Normal Keempat(4NF)....................................................................................................20 3.3 Bentuk Normal lebih tinggi..........................................................................................................20 3.4Denormalisasi................................................................................................................................21

BAB I BENTUK NORMAL DAN REDUDANSIKetika merancang Basisdata menggunakan model relasional, kita sering menemui beberapa alternatif dalam pendefinisian himpunan skema relasi. Beberapa pilihan lebih nyaman disbanding pilihan-pilihan lain untuk beragam alas an. Untuk dapat memperoleh gambaran yang benar mengenai pemilihan himpunan relasi maka perlu memahami property-properti skema relasi serta proses untuk memperoleh skema basisdata ( yaitu di basisdata relasional adalah himpunan skema relasi) yang memiliki property-properti bagus. Proses untuk memperoleh property-properti skema relasi yang bagus adalah proses normalisasi. Perancangan melalui proses normalisasi mempunyai keuntungan-keuntungan sebagi berikut ini: 1. Meminimalkan ukuran penyimpangan yang diperlukan untuk menyimpan data 2. meminimalkan resiko inkonsistensi data pada basisdata 3. meminimalkan kemungkinana anomaly pembaruan 4. memaksimalkan stabilitas struktur data .

1.1 Bentuk NormalPada Teori relasional terdapat metodeidentifikasi beragam tingkat redudansi relas. Tingkat redudansi yang terjadi dinyatakan sebagai bentuk normal (norm form). Relasi secara berurutan diproses menjadi bentuk normal lebih tinggi. Dengan demikia, tujuan proses normalisasi adalah menkonversi relasi menjadi bentuk normal yang lebih tinggi. Terdapat beragam tingkat bentuk normal, yaitu: 1. Bentuk normal pertama(1NF) 2. Bentuk normal kedua(2NF) 3. Bentuk normal ketiga(3NF) 4. Bentuk normal Boyce-Codd(BCNF) 5. Bentuk normal keempat(4NF) 6. Bentuk normal kelima(5NF) Codd mendefinisikan bentuk normal pertama, kedua dan ketiga di makalah(Codd, 1970). Bentuk normal ketiga kemudian diperbaiki sehingga mempunyai bentuk normal yang lebih kuat yaitu BCNF(Codd, 1974). Fagin memperkenalkan bentuk normal keempat(Fagin, 1977), kemudian fagin juga memperkenalkan bentuk normal kelima(Fagin, 1979). Kriteria dalam proses normalisasi adalah kebergantungan fungsional (functional dependency), kebergantungan banyak nilai dan kebergantungan join(join dependency). Ketiga tipe kebergantungan tersebut digunakan untuk menilai relasi-relasi t\yang dihasilkan dari konversi diagram ER menjadi kumpulan relasi-relasi. Proses normalisasi membentuk relasi-relasi bentuk normal menggunakan dekomposisi yang memecah relasi menjadi relasi-relasi berbentuk normal lebih tinggi. Namun kita belum tentu perlu bentuk normal tertinggi, BCNF adalah telah memadai pada bayak aplikasi.

1.2 Persoalan Redudansi

Secara teoritis dimungkinkan seluruh atribut di system diletakkan di satu relasi. Relasi ini disbut relasi relasi universal. Satu relasi universal itu mendeskripsikan seluruh system. Cara ini hanya berlaku secara teoritis. Kebanyakan basisdata relasional berisi sejumlah relasi. Untuk menyimpan data di sejumlah relasi bukan di satu relasi universal diperlukan untuk mengeliminasi redudansi. Redudansi harus diminimalkan agar mempermudah pengelolaan konsistensi data. Tujuan perancangan logic basisdata adalah menghindari redundansi. Redundansi dihindari karena 1. memboroskan ruang penyimpanan, 2. merumitkan pembaruan 3. menunutun inkonsistensi Redunsasi dapat ditoleransi bila terkendali, redundansi yang terkendali diperlukan karena bias digunakan untuk peningkatan kinerja Rumus umum konversi diagram ER menjadi relasi adalah sebagai berikut: Korespondensi atara entitas-entitas di model ER dan relasi-relasi di model relasional adalah masingmasing tipe entitas dikonversi menjadi satu relasi dan masing-masing atribut di entitas dikonversi menjadi atribut-atribut dari relasi. Kesederhanaan rumus konversi ini terlihat mencurigakan karena entitas dapat memiliki atribut bernilai himpunan seperti atribut Hobby yang dimana atribut hobby bagi setiap orang dapat melebihi dari satu hobby, sementara secara teoritis relasi tidak boleh memiliki atribut bernilai himpunan atau jamak (ketentuan pada teori relasi adalah atribut di relasi harus bernilai tunggal), Bagaiamana atribut bernilai himpunana di entitas siubah menjadi atribut bernilai tunggal di relasi yang berkorespondensi tanpa melanggar property data atomicity dari relasi di model relasional? Bila dinyatakan dalam contoh SQl maka atribut hobby sebagai atribut-atribut pembentuk kunci relasi mahasiswa maka table yang dibangun dengan script bahasa sql untuk mendefinisikan relasi adalah sebagai berikut: #SQL Script 5.1 Create TABLE Mahasiswa( NRP CHAR(8), Nama CHAR(30), Alamat CHAR(50), Hobby CHAR(20), PRIMARY KEY(NRP,HOBBY) ) Jawabannya adalah masing-masing entitas yang mempunyai atribut-atribut bernilai himpunan dirpepresentasikan menjadi sekumpulan tupelo. Satu tupelo untuk masing-masing elemen di nilai atribut. Ilistrasi: Tipe entitas Mahasiswa yang mempunyai entitas-entitas sbagai berikut : (1001, Nina Niana , Jalan Siliwangi 16, {memancing, Menembak}) (1002, Nini Karlini, Jalan Abdul Muis 34, {Menembak, Berenang })

Akan menjadi relasi yang ditabelkan sebgai berikut:

Relasi Mahasiswa NRP 1001 1001 1002 1002 Nama Nina Niana Nina Niana Nini Karlini Nini Karlini Alamat Jalan Siliwangi 16 Jalan Siliwangi 16 Jalan Abdul Muis 34 Jalan Abdul Muis 34 Hobby Memancing Menembak Menembak Berenang

Persoalan Yang muncul : Perosalan muncul dalam penetapan kunci relasi ? jika suatu entitas memiliki nilai himpunan maka persoalan pencarian kunci relasi menjadi tidak sederhana. Pada entitas di model ER, NRP dapat menjadi kunci kaena memang pada kenyataannya tidak ada dua mahasiswa yang mempunyai NRP yang sama dan semua Hobby dapat menjadi elemen-elemen dari atribut hobby yang bernilai himpunanan. Namun, pada relasi hasil konversi ke model relasional , NRP saja tidak dapat menjadi kunci relasi. Bila kita putuskan kunci relasi adalah NRP dan Hobby maka pilihan ini terasa janggal karena kenyataan bahwa sebenarnya NRP sendiri telah mampu mengidentifikasi Nama dan Alamat. Ilustrasi di atas menunjukan pendekatan permodelan ER sisertai rumus sederhana konversi saja tidak mencukupi untuk perancangan model relasional yang bagus. Kita memerlukan teori mengenai normalisasi untuk memperoleh skema relasi yang bagus. Konversi yang terus terjadi menggunakan aturan sederhana konversi diagram ER menjadi relasirelasi tidak hanya memunculkan relasi-relasi yang tidak intuitif tapi juga memiliki dampak yang tidak diharapkan. Persoalan-persoalan dapat muncul dikarenakan skema buruk yang masih mengandung redundansi disebut anomali pembaruan , terdiri dari 1. Anomali pembaruan Misalanya Nina Niana berpindah ke Jalan mekar sari 34 maka pembaruan relasi mahasiswa memerlukan pengubahan alamat di dua tupelo yang mendeskripsikan Nina Niana. Cara ini selain tidak wajar juga menyengsarakan atau merepotkan. 2. Anomali penyisipan Misalnya terjadi penambahan tupelo murdiman , namun kita belum (tidak) dapat menspesifikasikan hobbynya maka tupelo akan berisi sebagai berikut: (1006, Murdiman, Jalan Margabuntu 100,NULL) Tupel akan berisi field bernilai NULL. Namun, karena Hobby merupakan bagian dari kunci Utama maka peristiwa ini tidak diijinkan karena kebanyakan DBMS tidak mengijinkan Nilai Null berada di kunci utamanys. Alasan pelanggaran Null sebagai bagian kunci utama Adalah DBMS biasanya mengelola indeks berdasarkan kunci utama maka menjadikan pengacuan indeks ke nilai adalah sangat tidak jelas. 3. Anomali Penghapusab Misalnya kita menghapus Hobby menembak untuk nina maka penghapusan dilakukan dengan cara penghapusa tupelo nina. Namun karena hanya terdapat satu tupelo yang mengacu Nina maka maka pembuangan ini secara sempurna juga membuang informasi bagus mengenai NRP dan alamat nina padahal hal ini tidak dikehendaki. Untuk menghindari kehilangan informasi sperti ini, misalnya kita mengganti Menembak dengan NULL , maka pemberian nilai Null akan menimbulkan pelanggran ketentuan kunci relasi tidak boleh berniali NULL.

Dekomposisi terhadap relasi dapat memperbaiki kondisi diatas Dekomposisi relasi mahasiswa akan menjadikan 2 Relasi sebagai berikut:

Relasi Mahasiswa: NRP 1001 1002 Relasi Hobby Mahasiswa NRP 1001 1001 1002 1002

Nama Nina Niana Nini Karlini Hobby Memancing Menembak Menembak Berenang

Alamat Jalan Siliwangi 16 Jalan Abdul Muis 34

Persoalan yang disebabkan redudansi yaitu pemborosan penyimpanan dan anomaly pada relasi yang mempunyai skema relasi berikut: Mahasiswa (NRP,Nama,Alamat,Hobby) Dapat diselesaikan dengan mendekomposisi menjadi 2 relasi berikut: Mahasiswa(NRP, Nama,Alamat) HobbyMahasiswa(NRP,NamaHobby) Rancangan baru ini mempunyai property berikut: 1. Relasi Mahasiswa semula tepat merupakan join alami (natural join ) dari 2 relasi hasil dekomposisi( relasi Mahasiswa,Hobby) 2. Redundansi pada relasi semula telah hilang, demikian juga dengan hilangnya anomaly pembaruan Bila table dibangun dengan script bahasa SQL sebagai berikut: #SQL Script 1.2 CREATE TABLE Mahasiswa( NRP CHAR(8), Nama CHAR(30), Alamat CHAR(50), PRIMARY KEY(NRP) ) CREATE TABLE Hobby( NRP CHAR(8), NamaHobby CHAR(30), FOREIGN KEY(NRP) REFERENCES MAhasiswa(NRP), PRIMARY KEY(NRP, NamaHobby) )

1.3 FAKTAPengamatan mengenai penyebab redundadnsi adalah

1. fakta yang sama disimpan lebih dari sekali 2. Fakta-fakta turunan disimpan Dengan demikian terdapat 2 jenis redudansi, yaitu: 1. Redundansi yang disebabkan penyimpanan terhadap fakta yang sama 2. Redundansi yang disebabkan penyimpanan fakta turunan Fakta berkaitan denagn suatau nilai objek atau asosiasi beberapa objek. Pada system yang dideskripsikan dengan atribut terdapat fakta saat nilai satqu atribut menentukan satu nilai atribut lain. Contoh : TanggalLahir adalah satu fakta mengenai pegawai Beberapa istilah berkaitan dengan fakta yaitu: 1. Fakta bernilai tunggal(single-value fact) 2. Fakta bernilai majemuk (multi-valued fact) 3. Fakta dasar(basic fact) 4. Fakta turunan(derived fact) Fakta bernilai tunggal(single-valued fact) Fakta bernilai tunggal hanya mempunyai satu nilai tunggal. Contoh: tglLahir Fakta bernilai majemuk (multi valued fact) Fakta bernilai majemuk tidak hanya mempunyai satu nilai tunggak , namun sebuah himpunan Contoh: Hobby dan kecakapan(skill) Fakta dasar(basic fact) Fakta dasar yang tidak dapat diperoleh dari fakta yang lain. Contoh NRP , nama Fakta turunan(derived fact) Fakta yang dapat diturunkan dari satu fakta dasar atau lebih Contoh: Umur dapat dihitung dari tanggal lahir Redudansi terjadi karena menyimpan banyang fakta yang sama

1.4 Penghilangan RedudansiRedudan si dapat dihilangkan dengan 2 cara , yaitu: 1. Relasi yang menyimpan data turunan harus dihilangkan dari basisdata.

2. Redudansi disebabkan menyimpan banyak banyak fakta yang sama dihilangkan dengan dekomposisi. Dekomposisi Relasi yang menyimpan fakta lebih dari sekali didekomposisi menjadi relasi-relasi sehingga menyimpan fakta hanya sekali. Contoh: Relasi proyek didekomposisi menjadi 2 relasi proyek dan bekerja. Masalah redudansi di relasi proyek tidak lagi terdapat direlasi-relasi baru. Relasi Proyek ID Pegawai IDProyek danaProyek P001 pj001 20 P003 pj001 20 P002 pj002 17 P002 pj003 84 P003 pj002 17 P004 pj001 20 P004 Pj003 84 Pj004 90 Didekompisis menjadi 2 relasi : proyek dan bekerja Relasi : Proyek ID Proyek Pj001 Pj002 Pj003 Pj004 Relasi : bekerja IDPegawai P001 P003 P002 P002 P003 P003 P004 IDProyek Pj001 Pj001 Pj002 Pj003 Pj002 Pj001 Pj003 danaProyek 20 17 84 90 totalWaktu Keterlibatan 20 16 35 42 17 83 41 totalWaktuKeterlibatan 20 16 35 42 17 83 41 -

BAB II PROSES NORMALISASI

1NF SAMPAI BCNFPusat gagasan utama dalam pengembangan dekomposisi adalah kebergantungan fungsional (functional dependency) yang merupakan generalisasi konstrain kunci. Kebergantungan fungsional digunakan untuk mendefinisikan bentuk-bentuk normal, yaitu sekumpulan kebutuhan pada skemaskema relasional yang dikehendaki transaksi yang banyak melibatkan pembaruan

2.1 KebergantunganDua property penting untuk mendefiniskan bentuk-bentuk normal, yaitu: 1. Kebergantungan di antara atribut-atribut relasi 2. kunci relasi Kebergantungan di antara atribut-atribut relasi Kebergantungan di antara atribut-atribut relasi merupakan konsekuensi dari fakta-fakta di sistem. Sasarannya adalah menjamin tidak ada fakta yang disimpan lebih dari sekali. Kunci relasi Kunci relasi aqdalah himpunan atribut yang nilai-nilainya dapat mengidentifikasi baris-baris unik di relasi. Atribut kunci adalah bergantungnya atribut-atribut di relasi.

2.2 Kebergantungan fungsionalKebergantungan fungsional merupakan bagian semantiks yang terdapat di perusahaan (dunia ekstrenal) yang dimodelkan oleh basisdata. Kebergantungan fungsional terdapat secara eksplisit atau implisit di dokmen kebutuhan dan tidak dapat diubah tanpa kesepakatan dengan pemilik sistem. Kebergantungan fungsional dapat menunjukan stau nilai unik suatu atribut ditentukan oleh suatu nilai atribut lain. Contoh : Fakta sorang pegawai dengan IDPegawau mempunyai satu tglLahir dapat direpresentasikan dengan kebergantungan fungsional berikut: IDPegawai->tglLahir Sisi kiri disebut determinan (penentu) Nilai di determinan dapat menentukan hanya satu nilai sisi kanan. Niali IDPegawai menentukan satu nilai tglLahir. Jika terdapat lebih dari satu nilai atribut di sisi kanan dapat diasosikan dengan satu nilai di sisi kiri berarti tidak terdapat kebergantungan fungsional. Contoh: Jika sorang pegawai dengan IDPegawai mempunyai sejumlah Alamat maka pernyataan kebergantungan fungsional berikut tidak benar IDPegawai->alamat Tetapi jika satu pegawai benar-benar hanya mempunyai satu alamat maka pernyataan kebergantungan fungsional di atas adalah benar Kebergantungan fungsional ditentukan kenyataan di dunia nyata. Kenyataan harus diketahui dan merupakan kewajiban anaklisis sistem untuk mendapatkannya

2.2.1Saling bergantungJuga dimungkinkan 2 himpunan atribut saling bergantung

Contoh: jika satu proyek mempunyai satu manajer dan masing-masing mana jer hanya mengelola \satu proyek, maka pernyataan kebergantngan fungsional yang ada adalah sebagai berikut: Manajer->IDProyek IDProyek->manajer Penulisan dapat disingkat dengan sbagai berikut: Manajer->IDProyek

2.2.2 Kebergantungan Pada labih dari satu atributKadang fakta-fakta disimpan pada kombinasi 2 atribut atau lebih Contoh: waktu keterlibatan pegawai di suatu proyek adalah fakta mengenai asosiasi antara pegawai dan proyek. Nilai IDPegawai tidak cukup untuk memperoleh satu nilai tunggal waktu keterlibatanPegawai Di Proyek karena pegawai dapat bekerja lebih dari satu proyek. Nilai waktu keterlibatan Pegawai Di Proyek akan berbeda untuk tipa proyek yang diikuti pegawai itu kebergantungan ini ditunjukan dengan: IDPegawai, IDProyek->waktu Keterlibatan Pegawai Di Proyek

2.2.3 Kebergantungan fungsional penuh (full functional dependency)Kebergantungan fungsioanal penuh adalah kebergantungan fungsional dimana tidak ada atributatribut tak perlu yang berada di sisi determinnan (sisi kiri) Contoh:Kebergantunga fungsional berikut: IDPegawai->tglLahir Maka benar juga dinyatakan: IDPegawai, namaPegawai ->tglLahir Pada kebergantungan fungsional (2) sebenranya namaPegawai tidak diperlukan untuk memperoleh tglLahir. IDPegawai telah mencukupi untuk memperoleh nilai tglLahir. Kesimpulannya adalah 1. Kebergantungan (1) merupakan kebergantungan fungsional penuh 2. Kebergantungan (2) bukan kebergantungan fungsional penuh karena Berikut ini adalah contoh lain Contoh:Kebergantungan fungsional penuh noProyek,noSukuCadang->kualitas yang digunakan bukan kebergantungan fungsional penuh : noProyek,nosukucadang,manajer->kuantitasyangdigunakan pada perancangan basisdata, kita hanya menggunakan kebergantungan penuh

2.3 Properti Matematika kebergantunan fungsionalBerikut ini adalah properti matematika dan pengembangan algoritma untuk mengujinya kita terlebih dahulu mengembangkan konvensi notasi untuk keperluan ini sebagai berikut: Konvensi notasi Huruf kapital A, B,C,D,.. merepresentasikan atribut-atribut individu Huruf kapital denganh efe double striketrough merepresentasikan himpunan atribut String huruf kapital misalnya ABCD merepresentasikan himpunan({A,B,C,D})

2.3.1 Deskripsi kebergantungan fungsionalKebergantungan fungsional pada skema relasi R adalah konstrain berbentuk

X->Y Dimana X dan Y adalah himpunan atribut yang digunakan di R Jika r adalah instan relasi dari R, r dikatakan memenuhi kebergantungan fungsional ini jika Untuk setiap pasangan tupel t dan s, di r, jika t dan s memenuhi semua atribut di X maka t dan s memenuhi semua atribut di Y Kata lain yang dapat digunakan adalah Tidaka ada 2 tupel di r sehingga keduanya mempunyai nilai-nilai yang sama untuk setiap atribut di X tapi nilai-nilai berbeda untuk suatu atribut di Y Dengan definisi di atas, konstrain kunci merupakan jenis khusus kebergantungan fungsional. Misalkan Key K adalah konstrain kunci dari skema relasi R dan r adalah instan relasi dari R. Secara definisi, r memenuhi key K jika dan hanya jika tidak ada 2 tupel yang berbeda di r, yaitu t, s E r, dimana t dan s memenuhi setiap atribut di key K dengan demikian konstrain kunci ini adalah ekivalen dengan kebergantungan fungsional K->R dimana K adalah himpunan atribut di konstrain kunci dan R menunjukan himpunan semua atribut di skema R. Kebergantungan fungsional diasosiasikan dengan skema relasi, tapi ketika memperhitungkan pakah kebergantungn fungsional dipenuhi atau tidak maka kita harus mempertimbangkan instan relasi pada skema relasi itu. Hal ini karena kebergantungan fungsional merupakan konstrain integritas padfa skema (lebih mirip konstrain kunci) yang membatasi himpunan instan relasi yang diijinkan yang memenuhi kebergantungan fungsional. Dengan demikian, skema R=(R,{konstrain}), Atau R=(R,{kebergantungan fungsional}) Dimana R adalah himpunan atribut dan konstrain-konstrain adalah himpunan kebergantunganh dimana kita mencari himpunana semua instan relasi pada R yang memenuhi setiap kebergantungan fungsional yang terdapat di konstarin-konstrain. Relasi-relai yang demikian adalah instan-instan skema relasi yang merupakan instan-instain legal dari R

2.3.2 Kebergantungan fungsional dan anomali pembaruanKebergantungan fungsional yang ada di skema relasi dapat menuntun redudansi di instan relasi Misalnya SQL Script 5.1 untuk mahasiswa (pada bab 5) maka kebergantungan fungsionalitasnya yang dimilikinya dapat dinyatakan sebagai berikut : Mahasiswa: NRP, hobby -> NRP, nama , alamat, hobby Mudah terlihta adanya struktur sintaks kebergantungan yang erat berkorespondensi dengan anomali pembaruan yang diidentifikasi di relasi mahasiswa untuk sembarang NRP, kita tidak dapat mengubah nilai-nilai atribut Nama dan Alamat secara independen orang yang berkorespondensi yang mempunyai hobby hobby yaitu jika mahasiswa mempunyai banyak hobby, perubahan harus muncul dibanyak baris (tupel).

Pada kasus ini, atribut atribut yang terlibat di anomali pembaruan berada di sisi kiri kebergantungan fungsional. Kita dapat melihat bahwa anomali pembaruan diasosiasikan dengan jenis-jenis tertentu kebergantungan fungsional. Kebergantungan fungsional tersebut bukan satu-satunya kebergantungan fungsional di skema relasi mahasiswa. Himpunan kebergantungan fungsional di skema relasi mahasiswa adalah Mahasiswa: NRP, hobby-> NRP, nama, alamat, hobby NRP->nama, alamat Skema dekomposisi merupakan kakas yang bermanfaat dalam melakukan pengaturan relasi-relasi menjadi bentuk-bentuk normal yang terhindar dari anomali pembaruan. Setelah mampu menerapkan kriteria-kriteria normalisasi secara konsisten memenuhi kriteria-kriteria formal maka kita sering kali mampu memebentuk relasi-relasi yang memenuhi kriteria-kriteria formal secara intuisi saat melakukan konversi diagram ER. Namun, bila dirasakan terdapat keraguan maka kriteria-kriteria formal(properti-properti matematika kebergantungan fungional) bentuk-bentuk normal dapat menjadi sarana tepat untuk pengujian pemenuhan kriteria-kriteria kebagusan relasi-relasi yang dirancang

2.3.3 Properti kebergantungan fungsionalBeberapa properti pentng kebergantungan fungsional 1. properti reflexivity 2. Properti aumentation 3. Properti transivity Properti reflexivity Jika X Y maka X->Y Properti augmentation Jika X-> Y maka XZ->YZ Properti transitivity Jika X->Y dan Y-> Z maka X->Z Properti-properti di atas biasa disebut dengan aksioma-aksioma armstrong Gabungan kebergantungan fungsional Aturan Jika X->Y dan X-> Z maka X->YZ Bukti : sembarang relasi, r, yang memenuhi X-> Y danj X-> Z harus juga memenuhi X-> YZ untuk menunjukan ini, kita dapat menurunkan X->YZ dari X->Y dan X->Z menggunakan manipulasi sintaks secara sederhana dari yang didefinisikan oleh aksioma armstrong yaitu: (a) X-> Y diberikan (b) X-> Z diberikan (c) X->YX ditambah X ke kedua sisi (a) : aturan augmentation armstrong (d) YX->YZ --ditambah X ke kedua sisi (b) : aturan augmentation armstrong (e) X->YZ berdasarkan aturan transitivity yang diterapkan ke (c) dan (d)

Dekomposisi kebergantungan fungsional Aturan Jika X-> YZ maka X-> Y dan X-> Z Bukti Dengan cara serupa, kita dapat membuktikan aturan berikut: Setiap relasi yang memenuhi X->YZ harus juga memenuhi kebergantungan fungsional X->Y dan X> Z dengan langkah-langkah berikut (a) X->YZ diberikan (b) YZ->Y berdasarkan aturan transitivity armstrong, karena Y YZ (c) X->Y berdasarkan transitivity dari (a) dan (b) Penurunan untuk X->Z adalah serupa Konsekuensi aturan gabungan dan dekomposisi Konsekuensi penting aturan gabungan dan dekomposisi adalah bahwa jika A1 hinggga An adalah atribut atribut suatu relasi, maka X->A1 hingga An jika dan hanya jika X->Ai untuk masing-masing suku i Pseudotransivity Aturan Jika X->Y dan WY->Z maka XW->Z Bukti : Dengan cara serupa, kita dapat membuktikan aturan berikut: (a) X->Y diberikan (b) WY->Z diberikan (c) WX->WY ditambah W ke kedua sisi(b): aturan augmentation armstrong (d) WX->WY berdasarkan transitivity dari(b) dan (c) Aksioma-aksioma armstrong adalah bersifat kuat dan lengkap. Pemahaman terhadap propertyproperty tersebut sangat penting untuk keperluan validasi proses normalisasi yang dilakukan serta saat membuat kakas proses normalisasi.

2.4 Proses normalisasiUntuk menghilangkan redudansi dan anomali pembaruan, teori relasional telah mengidentifikasi beberapa bentuk normal dimana bila suatu relasi telah berada dalam suatu bentuk normal maka relasi itu mempunyai property-properti tertentu yang dapat di prediksi. Mulanya Codd(1970) mengusulkan tiga bentuk normal yang masing-masing menghilangkan anomaly-anomali yang semakin lebih banyak disbanding bentuk tingkat sebelumnya. Gagasan dasar relasi bentuk normal adalah kunci relasi dan kebergantungan fungsional terhadap kunci relasi tersebut. Terdapat 5 bentuk normal yang utama. Tiga bentuk normal pertama berkaitan dengan kebergantungan fungsional. Sementara itu bentuk keempat dan kelima berkaitan dengan redudansi yang disebabkan kebergantungan banyak nilai(multi-valued dependencies).

2.4.1 Bentuk normalBentuk normal pertam(1NF) Bentuk normal pertama adalah ekivalen dengan definisi model relasional. Relasi adalah berbentuk normal pertama (1NF) jika semua nilai atributnya adalah sederhana(bukan komposit) Bentuk normal kedua (2NF) Sedangkan ketentuan bentuk normal kedua adalah 1. Harus telah berbentuk normal pertama(1NF) 2. Semua atribut bukan utam harus bergantung fungsional penuh pada kunci relasi Pada bentuk normal kedua(2NF), relasi harus tidak menyimpan fakta-fakta mengenai bagian kunci relasi. Bentuk normal kedua menghilangkan kebergantungan parsial. Bentuk normal kedua pun masih memiliki anomali-anomali yang secara praktis tidak dapat diterima. Kita harus mengusahakan relasi-relasi di basisdata berada minimal dalam bentuk normal ketiga. Bentuk normal ketiga(3NF) Ketentuan bentuk normal ketiga adalah 1. Harus telah berbentuk normal kedua(2NF) 2. relasi tidak boleh memuat kebergantungan fungsional di antara atribut-atribut bukan utama Bentuk normal ketiga(3NF) menghilangkan kebergantungan transitif. Mulanya bentuk normal ketiga dipikir sebagai bentuk normal puncak/ paling akhir. Namun, kemudian dapat ditemukan bantuk normal lebih kuat yaitu bentuk normal Boyce-Codd. Bentuk normal Boyce-Codd (BCNF- Boyce Codd Normal Form) Ketentuan BCNF 1. masing-mading atribut utama bergantung fungsional penuh pada masing-masing kunci dimana kunci tersebut bukan bagiannya 2. Atau dengan kalimat lain. Relasi adalah BCNF(yaitu optimal) jika setiap determinan atributatribut relasi adalah kunci relasi. Atau dengan kata lain: Relasi adalah optimal (BCNF) jika kapanpun fakta-fakta disimpan mengenai beberapa atribut maka atribut-atribut ini merupakan satu kunci relasi. Skema relasi yang didefinisikan dengan SQL script 5.2 adalah BCNF karena hanya satu-satunya kebergantungan fungsional NRP -> nama, alamat , sementara NRP adalah kunci relasi BCNF dapat memiliki lebih dari satu kunci. Properti penting BCNF adalah relasi tidak memiliki informasi yang redudan. Ringkasan Bentuk normal 1. Bentuk Normal pertama Jika harga-harga dari suatu domain adalah nilai atomik 2. Bentuk normal kedua a. dalam bentuk normal pertama b. Jika setiap non-prime atributte tergantung penuh kepada candidate key nya 3. Bentuk normal ketiga a. dalam bentuk normal kedua

b. setiap non-prime tidak dalam kondisi bergantung transitif terhadap atribut lainnya 4. Bentuk Normal Boyce Codd a. Dalam kondisi bentuk normal ketiga b. Untuk setiap ketergantungan fungsional elamen A terdapat kondisi X, dimana x merupakan kunci.

2.4.2 DekomposisiTujuan perancangan basisdata adalah membangun relasi-relasi dengan redudansi minimal. Relasirelasi seharusnya berbentuk normal yang setinggi mungkin yang realistis. Pengkonversian satu bentuk normal ke bentuk lebih tinggi mengeliminasi satu jenis redudansi. Konversi ini dilakukan dengan mendekomposisi satu skema relasi menjadio sekumpulan skema relasi yang masing-masing relasi hasil dalam bentuk normal lebih tinggi. Dekomposisi Dekomposisi skema R=(R,F) dimana R adalah kumpulan atribut skema dan F adalah kumpulan kebergantungan fungsional smenetara sekumpulan skema R1=(R1,F1) R2=(R2,F2) Hingga Rn=(Rn,Fn) Properti dekomposisi 1. dekomposisi tidak mengakibatkan munculnya atribut-atribut baru dan tidak mengakibatkan menghilangkan atribut-atribut yang ditemukan di skema asal. 2. dekomposisi tidak mengakibatkan munculnya kebergantungan fungsional baru. Relasi r dan dekomposisinya r1, hingga rn karena setelah dekomposisi basisdata tidak lagi menyimpan relasi r namun mengelola proyeksi-proyeksi r1 hingga rn basisdata harus dapat merekonstruksi relasi asal r dari relasi-relasi hasil proyeksi-proyeksi ini. Bila tidak mampu merekonstruksi r berarti dekomposisi tidak merepresentasikan informasi yang sama dengan basisdata asal/semula secara prinsip, kita dapat menggunakan metode yang menjamin rekonstruksi dari proyeksi-proyeksinya yaitu menggunakan natural join. Dengan demikian adalah dapat direkonstruksi jika dan hanya jika R=r1 x r2 x hingga x rn Selain itu dekomposisi adalah lossy(dapat menghilangkan) Dengan kata lain, lossless decomposition adalah mampu menjamin sembarang instan skema asala dapat direkonstruksi dari proyeksi-proyeksi hasil dekomposisinya.

2.5 Bentuk Normal Pertama (1NF)Relasi adalah berbentuk normal pertama(1NF) jika semua nilai atribut adalah sederhana Contoh Relasi Pesanan IDPesanan Tgl pesanan isiPesanan T20 6 Jul 110107 IDItem kuantitas PC6 24 BW3 83 TY6 37 T33 6 Jul 110107 Iditem kuantitas PC5 810 BW3 87 TY6 810 HJ4 5 Relasi Pesanan tidak 1 NF karena nilai atribut isiPesanan bukan nilai sederhana Relasi Pesanan menjadi 1 NF dengan membuat relasi tersebut menjadi sebagai berikut: Relasi Pesanan IDPesanan tglPesanan IDItem Kuantitas T20 6 Jul 110107 PC6 24 T20 6 Jul 110107 BW3 83 T20 6 Jul 110107 TY6 37 T33 6 Jul 110107 PC5 810 T33 6 Jul 110107 BW3 87 T33 6 Jul 110107 TY6 810 T33 6 Jul 110107 HJ4 5 Relasi 1 NF masih memuat redudansi, haruis diproses manjadi bentuk normal berikutnya

2.6 Bentuk Normal Kedua(2NF) 2.6.1 Atribut utama dan bukan UtamaAtribut utama(prime atribute) Atribut utama di relasi adalah atribut yang setidaknya merupakan bagian dari salah satu kunci relasi Atribut bukan utama (non-prime atribute) Atribut bukan utama pada satu relasi adalah atribut yang bukan merupakan bagian salah satu kunci relasi. Contoh : pada relasi Pekerjaan Terdapat 2 atribut primer yaitu IDPekerja dan IDProyek Hanya terdapat satu atribut non-primer yaitu totak waktu-keterlibatan Pada relasi konsultasi Semuanya merupakan atribut primer.

2.6.2 Ketentuan Bentuk Normal kedua(2NF)

Ketentuan bentuk normal kedua adalah 1. Harus telah terbentuk normal pertama(1NF) 2. semua atribut bukan utama harus bergantung fungsional penuh pada kunci relasi pada bentuk normal kedua(2NF), relasi haru stidak menyimpan fakta-fakta mengenai bagian kunci relasi. Bentuk normal kedua menghilangkan kebergantungan parsial. Contoh relasi Proyek_Data IDPekerja IDProyek P001 P003 P002 P002 P003 P004 P004 Pj001 Pj001 Pj002 Pj003 Pj002 Pj001 Pj003 Pj004 danaProyek 20 20 17 84 17 20 84 100 Totalwaktu keterlibatan 20 16 35 42 17 83 41 -

Proyek-Data=({IDPekerja, IDProyek,danaProyek, totalwaktuketerlibatan}, {IDPekerja IDProyek->totalwaktuketerlibatan, IDProyek->danaProyek}) Kunci relasi Proyek Data adalah {IDPekerja, IDProyek} Atribut-atribut bukan utama adalah -dana proyek -total waktu keterlibatan Dimana Total waktu keterlibatan bergantung penuh terhadap kunci relasi Dana Proyek tidak bergantung penuh terhadap kunci relasi Relasi 1 NF tapi bukan 2 NF dikonversi menjadi 2 NF dengan dekomposisi Contoh : Relasi Proyek Data menjadi 2NF menjadi relasi Proyek dan Pekerjaan Relasi Proyek IDProyek danaProyek Pj001 20 Pj002 17 Pj003 84 Pj004 100 Relasi Proyek = ({IDProyek, danaProyek},{IDProyek->danaProyek}) Kunci relasi adalah IDProyek maka semua atribut non primer bergantung penuh ke kunci relasi dan relasi pekerjaan IDPekerja P001 IDProyek Pj001 Totalwaktu keterlibatan 20

P003 P002 P002 P003 P004 P004

Pj001 Pj002 Pj003 Pj002 Pj001 Pj003

16 35 42 17 83 41

Relasi pekerjaan =({IDPekerja, IDProyek, totalwaktuketerlibatan}, {IDPekerja, IDProyek->totalwaktuketerlibatan}) Kunci relasi adalah {IDPekerja,IDProyek} Semua atribut non primer bergantung penuh pada kunci relasi Ringkasan 2NF Relasi yang kunci relasinya hanya berisi satu atribut selalu dalam 2NF. Jika kunci relasi hanya satu atribut maka tidak ada atribut yang dapat bergantung parsial kunci relasi itu. 2 NF selalu terpenuhi.

2.7 Bentuk normal Ketiga (3NF)Ketentuan bentuk normal ketiga adalah 1. Harus telah berbentuk normal kedua (2NF) 2. Relasi tidak boleh memeuat kebergantungan fungsional di antara atribut atribut bukan utama Bentuk normal ketiga(3NF) menghilangkan kebergantungan transitif Contoh: Relasi Proyek IDProyek Pj001 Pj002 Pj003 Pj004 Manajer Jon Viki Jon Marini tglLahir 24 Jan 11065 23 Mar 11070 24 Jan 11065 6 Jul 11060

Proyek=({IDProyek, manajer,tglLahir}, {IDProyek->manajer,IDProyek->tglLahir,manajer->tglLahir} ) Kunci relasi adalah IDProyek Kesimpulan Terdapat kebergantungan anatar atribut-atribut yang bukan termasuk himpunan atribut kunci utama, berarti relasi proyek bukan 3NF Relasi 2 NF yang tidak memenuhi 3 NF menjadi 3NF dengan dekomposisi Relasi Proyek menjadi relasi Proyek dan relasi manajer sebagai berikut

Relasi Proyek IDProyek Pj001

Manajer Jon

Pj002 Pj003 Pj004

Viki Jon Marini

Proyek ({IDProyek, manajer}, {IDProyek->manajer}) Kunci relasi adalah IDProyek Tidak terdapat kebergantungan antara atribut-atribut non primer, 3 NF Relasi Manajer Manajer tglLahir Jon 24 jan 11065 Viki 23 Mar 11070 Marini 6 Jul 11060 Manajer=({manajer, tglLahir}, {manajer->TglLahir}) Kunci relasi adalah manajer Tidak terdapat kebergtungan antara atribut-atribut non primer, 3 NF Ringkasan Relasi 2 NF tanpa atribut bukan utama atau satu atribut bukan utama secraa otomatis adalah 3NF. Relasi tanpa atribut bukan utama selalu dalam 3 NF. Relasi 3 NF masih mempunyai masalah yaitu bila relasi mempunyai lebih dari satu kunci relasi. Penyelesaian masalah ini adalah bentuk normal Boyce-codd(BCNF)

2.8 BCNF(Boyce-Codd Normala form)Ketentuan BCNF: 1. masing-masing atribut utama bergantung fungsional penuh pada masing-masing kunci dimana kunci terbut bukan bagiannya 2. atau dengan kalimat lain : relasi adalah BCNF (yaitu otimal) jika setiap determinan antar atribut-atribut relasi adalah kunci relasi atau dengan kata lain: Relasi adalah optimal (BCNF) jika kapanpun fakta-fakta disimpan mengenai beberapa atribut maka atribut-atribut ini merupakan satu kunci relasi Contoh Relasi Kehadiran Dosen Joe Jeni Garin Jeni Garin Joe Joe Semester 1 1 2 1 2 1 1 Kuliah COBOL MATH UNIX MATH UNIX COBOL COBOL sesi Sesi 1 Sesi 1 Sesi 2 Sesi 2 Sesi 1 Sesi 2 Sesi 3 Kehadiran 35 40 33 42 47 50 12

Asumsi Tiap dosen mengajar satu kuliah di masing-masing semester. Masing-masing kuliah hanya memeounyai satu dosen di msaing-masing semester. Meski Dosen dapat mengambil lebih dari satu sesi. Kehadiran=({Dosen, semester, Kuliah, sesi,kehadiran}, {Dosen Semester->Kuliah, kuliah Semester-> dosen, Dosen Semester Sesi-> kehadiran, Kuliah Semester

Sesi-> kehadiran }) Kunci relasi adalah {Dosen,semester,sesi}, {kuliah , semester, sesi} Atribut non primer adalah kehadiran Tidak terdapat kebergantungan antara atribut-atribut non primer, 3NF atribut non primer bergantung penuh terhadap masing-masing kunci relasi dan tidak terdapat kebergantungan antara atribut-atribut non primer karena hanya terdapat satu atribut non primer. Relasi kehadiran adalah 3 NF, Tetapi relasi kehadiran mempunyai redudansi karena dosen untuk satu kuliah dapat disimpan lebih dari sekali Alasan redudansi adalah atribut dosen dalam salah satu kunci relasi bergantung pada bagian satu kunci relasi yang lain dimana atribut dosen bukan bagiaannya Untuk menjadi BCNF maka relasi harus dipecah menjadi relasi kehadiran dan dosen yaitu: Relasi Kehadiran Semester 1 1 2 1 2 1 1 Dan relasi dosen Dosen Joe Jeni Garlin Semester 1 1 2 kuliah COBOL MATH UNIX Kuliah COBOL MATH UNIX MATH UNIX COBOL COBOL Sesi Sesi1 Sesi 1 Sesi2 Sesi2 Sesi1 Sesi2 Sesi3 Kehadiran 35 40 33 42 47 50 12

BAB III Bentuk Normal Tinggi

Dan DenormalisasiSaat relasi telah dalam bentuk BCNF maka tidak ada lagi anomali yang disebabkan kebergantungan fungsional. Pada BCNF, di relasi masid dapat mengalami anomali-anomalo yang disebabkan kebergantungan banyak nilai(multivalued dependency)

3.1 Kebergantungan Banyak NilaiMahasiswa dapat menulis tabel secara manual untuk masing-masing kuliah yang ditawarkan departemen sebagai berikut: MataKuliah Manajemen instruktur Kebo Giro Gajah Takamada Kebo Bairu Abu Mada Abu Gagak bukuTeks Drucker Peters Jones Chang

keuangan

Tabel menyatakan pada masing-masing kuliah terdapat sekelompok instruktur yang memberikan kuliah serta sekelompok buku teks yang digunakan. Asumsi yang digunakan tabel adalah 1. Masing-masing mata Kuliah mempunyai sekumpulan instruktur yang telah terdefinisi 2. Masing-masing mata Kuliah mempunyai sekumpulan buku teks yang digunakan 3. Buku teks-buku teks yang digunakan untuk suatu mata kuliah tidak bergantung instruktur untuk suatu mata kuliah. Contoh 2 buku teks yang sama digunakan untuk kuliah manajemen tidak peduli kombinasi yang dimungkinkan dari instruktur dan buku teks seperti pada tebel berikut: Relasi Tawaran Kuliah Mata kuliah Manajemen Manajemen Manajemen Manajemen Manajemen Manajemen Manajemen Manajemen Keuagan Keuagan Instruktur Kebo Giro Kebo Giro Gajah Takamada Gajah Takamada Kebo Bairu Kebo Bairu Abu Mada Abu Mada Abu Gagak Abu Gagak Bukuteks Drucker Peters Drucker Peters Drucker Peters Drucker Peters Jones Chang

3.2 Bentuk Normal Keempat(4NF)Bentuk normal keempat(4NF)

Relasi dalam 4 NF jika suatu kebergantungan banyak nilai X->->Y, tidak terdapat atribut lain selain yang terdapat pada X dan Y. Untuk menghilangkan kebergntungan banyak nilai dari suatu relasi, kita membagi relasi menjadi 2 relasi baru. Masing-masing relasi berisi 2 atribut yang mempunyai hubungan banyak nilai. Dengan Demikian , relasi Tawaran kuliah menjadi: Relasi Dosen Pengajar mataKuliah Manajemen Manajemen Manajemen Manajemen Keuangan Relasi Bukuajar Mata kuliah Manajemen Manajemen Keuangan Keuangan Bukuteks Druckers Peters Jones Chang Instruktur Kebo Giro Gajah Takamada Kebo Bairu Abu Mada Abu Gagak

Relasi dalam bentuk 4 NF jika relasi dalam BCNF dan tidak bergantungan banyak nilai. Kita dapat memverifikasi relasi Dosen Pengajar dan Buku ajar adalah telah bebas anomali. Kita juga dapat memeverifikasi bahwa relasi-relasi tersebut dapat direkonstruksi menjadi relasi asal dengan melakukan join terhadap 2 relasi

3.3 Bentuk Normal lebih tinggiKebergantungan banyak nilai memebantu penanganan beberapa bentuk pengulangan informasi yang tidak dapat dipahami menurut kebergantungan fungsional. Terdapat tipe konstrain yang disebut kebergantungan join. Setidaknya terdapat 3 bentuk normal level lebih tinggi daripada 4 NF yang telah didefiniskan oleh para ilmuwan yaitu: 1. Bentuk normal kelima(5NF) 2. DKNF(domain key normal form) 3. Restriction- union normal form Bentuk normal kelima(5NF) Bentuk normal 5NF berurusan dengan property yang disebut join tanpa adanya kehilangan informasi (lossless join). Bentuk normal 5 NF juga disebut PJNF(projection-join nirmal form) kasus-kasus ini sangat jarang muncul dan sulit untuk dideteksi secara prkatis. DKNF(domain key normal form) DKNF merupakan usaha untuk mendefinisikan bentuk normal paling puncak yang memperhitungkan semua tipe kebergantungan dan konstrain yang mungkin muncul pada relasi. Meskipun definisi DKNF adalah sederhana, namun penggunaannya praktisnya sangat terbatas. Bentuk normal 5 NF atau DKNF atau rectriction union normal form sangat jarang digunakan.

3.4Denormalisasi

Pada perancangan fisik basisa data, sasaran untuk memperoleh pengolahan data yang efesien merupakan sasaran yang paling penting. Prinsip pengolahan data yang efesien dapat diperoleh sebagaiman pengelolaan arsip-arsip manual yaitu dengan cara mendekatkan data-data (arsip-arsip) yang berhubungan erat. Sering data yang berasal dari relasi-relasi berbeda diperlukan untuk menjawwab query atau menghasilkan informasai. Dengan demikian, meskipun relasi-relasi yang telah diproses normalisasi menyelsaikan atau menghilangkan anomaly anomaly pembaruan, implementasi relasi-relasi normal sebagi satu table perelasi berpeluang / berpotensi tidak menghasilkan pengolahan data yang efesien. Banyak riset praktis yang menyatakan perbedaan kinerja anatar pengolahan basisadata yang telah diproses normalisasi penuh dengan basisdata yang diproses normalisasi parsial dapat sangat dramatis. Meski hasil tersebut tidak dapat digeneralisasikan untuk seluruh persoalan namun kita patut memeprtimbangkan penyesuaian cerdas terhadap relasi-relasi normal untuk memperoleh kinerja pengolahan yang efesien saat melakukan perancangan fisik basisdata. Denormalisasi merupakan proses transformasi relasi-relasi yang telah normal manjadi relasi-relasi yang tidak normal. Proses denormalisasi dapat menuntun terjadinya kesalahan dan inkonsistensi serta dapat memaksa pemrograman ulang terhadap aplikasi jika menghasilkan perubahan aturan bisni. Dengan demikian, denormalisasi mengoptimasi pengolahan data tertentu dengan bayaran ketidakefesienan pada pengolahan yang lain. Dengan demikian jika pengolahan data yang dioptimasi secara denormalisasi tidak begitu sering dilakukan maka manfaat denormalisasi dapat menjadi hilang Terdapat tiga peluang denormalisasi yang biasa dilakukan, yaitu: 1. 2 entitas dengan relationship satu ke Satu 2. Relationship banya ke banyak dengan atribut atribut bukan kunci 3. Data acuan

DAFTAR PUSTAKA

Bambang Dkk, 2008. manajemen basisdata, Bandung. Penerbit JavaBeans