1 / 49

NORMALISASI

PERTEMUAN 9. NORMALISASI. LatiFah rifani. BAD DATABASE!!!. Data yang sama disimpan di beberapa tempat . Ketidakmampuan untuk menghasilkan informasi tertentu. Lost data. Terjadi adanya redudansi data dan atau duplikasi data. Timbul adanya null value. CONTOH 1:. Nama. Kota.

edmund
Download Presentation

NORMALISASI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PERTEMUAN 9 NORMALISASI LatiFahrifani

  2. BAD DATABASE!!! • Data yang samadisimpan di beberapatempat. • Ketidakmampuanuntukmenghasilkaninformasitertentu.

  3. Lost data. • Terjadiadanyaredudansi data danatauduplikasi data. • Timbuladanya null value.

  4. CONTOH 1: Nama Kota Pembelian Harga Santi Surabaya Gula 120 Rika Semarang Beras 200 Santi Surabaya Tepung 100 Dwi Jakarta Sabun 10

  5. PERMASALAHAN contoh 1: • Redundansi • Data untuknama, dankotadiulangiuntuktiappembelianyang dibuat • Tempatyang terbuangpercuma • Proses update yang rumit, dapatmenyebabkaninkonsistensinilaiatribut, contohnyauntukatributharga. • Nilainull • Tidakdapatmenyimpaninformasitentangsebuahnamaapabilatidakadapembelian. • Dapatdiselesaikandenganpenggunaannilai null, tetapinilai null sulitditangani.

  6. Contoh 2: NIM KD MK BIAYA 94410200 TI-101 120 94410201 TI-104 100 94410202 TI-104 100 94410203 TI-102 110 94410204 TI-102 110 94410205 TI-105 115

  7. PERMASALAHAN CONTOH 2: • Biaya yang selaluberulang-ulangpadasetiapmahasiswa yang mengambilnya. • Mudahterjadianomalisasi.

  8. PENDAHULUAN • Normalisasi database biasanyajarangdilakukandalam database skalakecil, dandianggaptidakdiperlukanuntukpenggunaan personal. Namunseiringdenganperkembanganinformasi yang dikandungdalamdalamsebuah database, proses normalisasisangatmembantudalammenghematruang yang digunakanolehsetiaptabeldidalamnya, sekaligusmempercepat proses permintaan data.

  9. Normalisasibisadisebutjugasebagai proses pengelompokanatribut-atributdarisuaturelasisehinggamembentuk WELL STRUCTURED RELATION. • WELL STRUCTURED RELATION adalahsebuahrelasi yang jumlahkerangkapandatanyasedikit (Minimum Amount Of Redundancy), sertamemberikankemungkinanbagiused untukmelakukan INSERT, DELETE, MODIFY, terhadapbaris-baris data padarelasitersebut, yang tidakberakibatterjadinya ERROR atau INKONSISTENSI DATA, yang disebabkanolehoperasi-operasitersebut.

  10. Dalammerancang database, kitaharusdapatmenentukanstrukturlogik yang tepatpada data yang sudahdidapat. • Semuarelasidalam database relasionalselalusudahternormalisasi, dalamartibahwasemuarelasisudahdidefinisikanterhadap domain sederhana, yaitu domain yang hanyabernilaiatomik. • Normalisasidiperlukanuntukmenghilangkan / mengurangiredudansi data.

  11. PENGERTIAN • Teknik yang digunakanuntukmembantumengidentifikasirelasi-relasidanbatasan-batasansuaturepresentasi data secaratepat. • Proses pengelompokkan data kedalambentuktabeluntukmenyatakanentitasdanhubunganmerekasehinggaterwujudsatubentuk database yang mudahdimodifikasi. • Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam suatu organisasi.

  12. Proses normalisasiakansangatmembantudalammenghematruang yang digunakanolehsetiaptabel di dalamnya, sekaligusmempercepatproses permintaan data. • TahapNormalisasidimulaidaritahap paling ringan (1NF) hingga paling ketat (5NF) • Biasanyahanyasampaipadatingkat 3NF atau BCNF karenasudahcukupmemadaiuntukmenghasilkantabel-tabel yang berkualitasbaik.

  13. TABEL UNIVERSAL • Tabel Universal (Universal / Star Table) sebuahtabel yang merangkumsemuakelompok data yang salingberhubungan, bukanmerupakantabel yang baik. • Contoh:

  14. Sejarahperkembangan • Diperkenalkanoleh EF Coddpadatahun 1972. • Dilakukanuntukujicobasuaturelasiuntukmenentukanapakahrelasitersebutsudahbaik.

  15. tujuan • Menghindariterjadinya error atauinkonsistensi data. • Menghindariredudansi data. • Menghematruang yang digunakanolehsetiaptabel di dalamnya, sekaligusmempercepat proses permintaandata. • Untuk mempermudah pemodifikasian data

  16. ANOMALI • Merupakanpenyimpangan-penyimpanganatau error atauinkonsistensi data yang terjadipadasaatdilakukan proses delete, insert, ataupun modify dalamsuatu basis data.

  17. Macam-macamanomali • Insertion Anomaly • Merupakan error ataukesalahan yang terjadisebagaiakibatdarioperasimenyisipkan tuple/record padasebuahrelasi. • Delete Anomaly • Merupakan error ataukesalahan yang terjadisebagaiakibatdarioperasipenghapusanterhadap tuple/record padasebuahrelasi. • Update Anomaly • Merupakan error ataukesalahan yang terjadisebagaiakibatdarioperasiperubahan (update) tuple/record padasebuahrelasi.

  18. Contoh 1: RELASI KULIAH Insertion Anomaly Delete Anomaly Update Anomaly

  19. Penyelesaian: • Relasikuliahharus di buatmenjadi 2 tabel:

  20. CONTOH 2:

  21. KetergantunganFungsional • Definisi: • Atribut Y padarelasi R dikatakantergantungfungsionalpadaatributX (R.X ---> R.Y), jikadanhanyajikasetiapnilai X padarelasiR mempunyaitepatsatunilai Y pada R. • Misal, terdapatskema database Pemasok-barang : • Pemasok (No-pem, Na-pem)

  22. Tabel PEMASOK-BARANG • Ketergantunganfungsionaldaritabel PEMASOK-BARANG adalah : • No-pem ---> Na-pem

  23. KetergantunganFungsionalPenuh • Definisi : • Atribut Y padarelasi R dikatakantergantungfungsionalpenuhpadaatribut X padarelasi R, jika Y tidaktergantungpada subset dari X ( bila X adalah key gabungan) • Contoh : • KIRIM-BARANG( No-pem, Na-pem, No-bar, Jumlah)

  24. Ketergantunganfungsional : No-pem --> Nm-pem No-bar, No-pem --> Jumlah (Tergantungpenuhthdkeynya)

  25. KetergantunganTransitif • Definisi : • Atribut Z padarelasi R dikatakantergantungtransitifpadaatributX , jikaatribut Y tergantungpadaatribut X padarelasi R danatribut Z tergantungpadaatribut Y padarelasi R. • (X Y, Y Z , maka X Z )

  26. No-pemKode-kota Kota No-bar Jumlah P01 1 Jakarta B01 1000 P01 1 Jakarta B02 1500 P01 1 Jakarta B03 2000 P02 3 Bandung B03 1000 P03 2 Surabaya B02 2000 Ketergantungantransitif : No-pemKode-kota Kode-kota Kota , maka No-pemKota

  27. Contohsoal: NIM Nm_ MhsNilaiKd_MKNm_MKKd_Dosen Nm-Dosen 2683 Welli 90 MI350 Manajamen DB B104 AtiA 2514 Ika 70 MI465 Sistem B317 Dita B 5432 BakriAk. 65 MI350 Manajemen DB B104 AtiC 5430 Rita 70 AKN201 Akuntansi D310 LiaB 5431 Sita 75 MKT300 Pemasaran B212 Lola A TEMUKAN: Ketergantunganfungsional Ketergantunganfungsionalpenuh Ketergantungantransitif.

  28. Proses Normalisasi • Proses normalisasi model data: • Temukanentitas-entitasutamadalam model data. • Temukanhubunganantarasetiapentitas. • Tentukanatribut yang dimilikimasing-masingentitas. • Normalisasi model data dilakukandenganmengikutilangkah-langkahsederhana, mengubahnyaagar memenuhiapa yang disebutsebagaibentuk normal pertama, kedua, laluketigasecaraberturutan.

  29. Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat. • Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.

  30. Langkah-langkahnormalisasi Bentuk normal pertama: • Tidakada set atribut yang berulangataubernilaiganda. • Telahditentukannya primary key untuktabelataurelasi. • Tiapatributhanyamemilikisatupengertian. • Tiapatribut yang dapatmemiikibanyaknilaisebenarnyamenggambarkanentitasataurelasi yang terpisah.

  31. Contoh Misal data mahasiswa sbb: Atau: Tabel-tabel di atastidakmemenuhisyarat 1NF

  32. SOLUSINYA:

  33. Didekomposisi menjadi: • TabelMahasiswa • TabelHobi

  34. ATAU Tabel-tabel di atastidakmemenuhisyarat 1NF

  35. SOLUSINYA SEMUA PRIMARY KEY TIDAK BOLEH DALAM KEADAAN NULL VALUE

  36. Bentuk normal kedua: • Bentuk data telahmemenuhikriteriabentuk normal kesatu. • Atributbukankunci(non-key attribute) haruslahmemilikiketergantunganfungsionalsepenuhnyapada primary key. • Jikaterdapatatribut yang tidakmemilikiketergantunganterhadap primary key, makaatributtersebutharusdipindahataudihilangkan

  37. Contoh Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF: • Tidakmemenuhi 2NF, karena {Mhs_nrp, mk_kode} yang dianggapsebagai primary key sedangkan: {Mhs_nrp, mk_kode} mhs_nama {Mhs_nrp, mk_kode} mhs_alamat {Mhs_nrp, mk_kode} mk_nama {Mhs_nrp, mk_kode} mk_sks {Mhs_nrp, mk_kodenihuruf • Tabel di atasperludidekomposisimenjadibeberapatabel yang memenuhisyarat 2NF

  38. Contoh Functional dependencynya sbb: {Mhs_nrp, mk_kode} nihuruf (fd1) Mhs_nrp  {mhs_nama, mhs_alamat} (fd2) Mk_kode  {mk_nama, mk_sks} (fd3) fd1 (mhs_nrp, mk_kode, nihuruf)  TabelNilai fd2 (Mhs_nrp, mhs_nama, mhs_alamat)  TabelMahasiswa fd3 (mk_kode, mk_nama, mk_sks)  TabelMataKuliah

  39. NILAI MAHASISWA MATAKULIAH

  40. Bentuk Normal Ketiga: • Bentuk data telahmemenuhikriteriabentuk normal kedua. • Atributbukankunci(non-key attribute) tidakbolehmemilikiketergantunganfungsionalterhadapatributbukankuncilainnya. Seluruhatributbukankuncipadasuaturelasihanyamemilikiketergantunganfungsionalterhadap primary key di relasiitusaja.

  41. Contoh Tabel berikut memenuhi 2NF, tapi tidak memenuhi 3NF: Mahasiswa • karenamasihterdapatatributnon primary key (yaknialm_kotadanalm_Provinsi) yang memilikiketergantunganterhadapatributnon primary key yang lain (yaknialm_kodepos): alm_kodepos  {alm_Provinsi, alm_kota} • Sehinggatabeltersebutperludidekomposisimenjadi: Mahasiswa (Nrp, nama, alm_jalan, alm_kodepos) Kodepos (alm_kodepos, alm_provinsi, alm_kota)

  42. Boyce-Code Normal Form (BCNF) • BentukBCNF terpenuhidalamsebuahtabel, jikauntuksetiapfunctional dependencyterhadapsetiapatributataugabunganatributdalambentuk: X  Y makaX adalahsuper key • tabeltersebutharus di-dekomposisiberdasarkanfunctional dependency yang ada, sehingga X menjadisuper key daritabel-tabelhasildekomposisi • Setiaptabeldalam BCNF merupakan 3NF. Akan tetapisetiap 3NF belumtentutermasuk BCNF . Perbedaannya, untuk functional dependency X  A, BCNF tidakmembolehkan A sebagaibagiandari primary key.

  43. Bentuk Normal TahapKeempat (4th Normal Form /4NF) • Bentuk normal 4NF terpenuhidalamsebuahtabeljikatelahmemenuhibentuk BCNF, dantabeltersebuttidakbolehmemilikilebihdarisebuahmultivalued atribute • Untuksetiapmultivalued dependencies (MVD) jugaharusmerupakanfunctional dependencies.

  44. Contoh Misal, tabel berikut tidak memenuhi 4NF: Setiap employee dapatbekerja di lebihdari project dandapatmemilikilebihdarisatu skill. Untukkasussepertiinitabeltersebutharus di-dekomposisimenjadi: (Employee, Project) (Employee, Skill)

  45. Bentuk Normal TahapKeLIMA(5th Normal Form /5NF) • Bentuk normal 5NF terpenuhijikatidakdapatmemilikisebuahlossless decomposition menjaditabel-tabelyglebihkecil. • Jika 4 bentuk normal sebelumnyadibentukberdasarkanfunctional dependency, 5NF dibentukberdasarkankonsepjoin dependence. Yakniapabilasebuahtabeltelah di-dekomposisimenjaditabel-tabellebihkecil, harusbisadigabungkanlagi (join) untukmembentuktabelsemula.

  46. LATIHAN: DiberikantabelMahasiswa di bawahini, akandilakukan normalisasisampaibentuk normal ketiga Bentuk normal 1 (1NF)

  47. Tabeldi atassudahdalambentuk normal keSatu(1NF) MENGAPA ???? Karena: Tidakada data yang berulang Setiap domain terisidengan data (tidakada domain yang kosong). Bentuk normal 2 (2NF)

  48. Belummemenuhikriteria 3NF, Karenaatribut non-key Nilaidan Bobotmasihmemilikiketergantu- nganfungsional.

More Related