Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

1 Sistem Basis Data Dependency Teknik Normalisasi.

Presentasi serupa


Presentasi berjudul: "1 Sistem Basis Data Dependency Teknik Normalisasi."— Transcript presentasi:

1 1 Sistem Basis Data Dependency Teknik Normalisasi

2 2 Definisi Normalisasi Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, dan fleksible. Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert,update,delete, dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut. 1.Untuk menghilangkan kerangkapan data 2.Untuk mengurangi kompleksitas 3.Untuk mempermudah pemodifikasian data Tujuan dari Normalisasi 1.Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat. 2.Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal. Proses Normalisasi

3 Dependency Fungsional Fungsional penuh TransitifTotal 3

4  Ketergantungan Fungsional Suatu atribut Y mempunyai ketergantungan fungsi terhadap atribut X, jika dan hanya jika setiap nilai X berhubungan dengan sebuah nilai Y. –Definisi diatas dituangkan dalam bentuk notasi X  Y X  Y –Dibaca : X secara fungsional menentukan Y

5  Ketergantungan Fungsional Penuh Suatu atribut Y mempunyai ketergantungan fungsional penuh terhadap atribut X, jika –Y mempunyai dependensi fungsional terhadap X –Y tidak memiliki dependensi terhadap bagian dari X –Notasi : X  Y

6 Ketergantungan transitif Ketergantungan transitif X  Y  Z –Atribut Z mempunyai dependensi transitif terhadap X bila: –Y memiliki dependensi fungsional terhadap X –Z memiliki dependensi fungsional terhadap Y

7  Dependensi Total Suatu atribut Y mempunyai ketergantungan total pada atribut X jika: –Y memiliki ketergantungan fungsi terhadap X –X memiliki ketergantungan fungsi terhadap Y –Notasi : X  Y

8 Tahapan Normalisasi Bentuk Tidak Normal Bentuk Tidak Normal Menghilangkan perulangan group Bentuk Normal Pertama (1NF) Bentuk Normal Pertama (1NF) Menghilangkan ketergantungan sebagian Bentuk Normal Kedua (2NF) Bentuk Normal Kedua (2NF) Menghilangkan ketergantungan transitif Bentuk Normal Ketiga (3NF) Bentuk Normal Ketiga (3NF) Menghilangkan anomali-anomali hasil dari ketergantungan fungsional Bentuk Normal Boyce-Codd (BCNF) Bentuk Normal Boyce-Codd (BCNF) Menghilangkan Ketergantungan Multivalue Bentuk Normal Keempat (4NF) Bentuk Normal Keempat (4NF) Menghilangkan anomali-anomali yang tersisa Bentuk Normal Kelima Bentuk Normal Kelima

9 Ketergantungan Fungsional Definisi Atribut Y pada relasi R dikatakan tergantung fungsional padaatribut X (R.X ---> R.Y), jika dan hanya jika setiap nilai X pada relasi R mempunyai tepat satu nilai Y pada R. R= Relasi / Tabel Y,X = Atribut didalam Tabel R.

10 Contoh Ketergantungan Tabel PEMASOK-BARANG Ketergantungan fungsional dari tabel PEMASOK-BARANG adalah : No_Pem ---> Nama_Pem No_PemNama_Pem P01Imam_x P02Yazix P03Hana

11 FUNCTIONAL DEPENDENCY (FD) Contoh: Functional Dependency: NRP  Nama Mata_Kuliah, NRP  Nilai Non Functional Dependency: Mata_Kuliah  NRP NRP  Nilai

12 Ketergantungan Fungsional Penuh Atribut Y pada relasi R dikatakan tergantung fungsional penuh pada atribut X pada relasi R, jika Y tidak tergantung pada subset dari X ( bila X adalah key gabungan). Suatu atribut Y mempunyai dependensi sepenuhnya terhadap atribut X jika Y mempunyai dependensi terhadap X Y tidak mempunyai dependensi terhadap bagian dari X

13 KIRIM-BARANG( No_pem, Na_pem, No_bar, Jumlah) KIRIM-BARANG( No_pem, Na_pem, No_bar, Jumlah) Ketergantungan fungsional : Ketergantungan fungsional : No-pem --> Na-pem No-pem --> Na-pem No-bar, No-pem --> Jumlah (Tergantung penuh thd keynya) No-bar, No-pem --> Jumlah (Tergantung penuh thd keynya) No_pemNa_pemNo_barJumlah P01BahanaB P01BahanaB P01BahanaB P02Sinar MuliaB P03HarapanB022000

14 Ketergantungan Transitif Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X, jika atribut Y tergantung pada atribut X pada relasi R dan atribut Z tergantung pada atribut Y pada relasi R. (X  Y, Y  Z, maka X  Z )

15 Pengertian Dependensi Transitif Suatu atribut Z mempunyai dependensi transitif terhadap X jika: –Y memiliki dependensi terhadap X dan –Z memiliki dependensi terhadap Y X → Z X→Y→Z

16 Contoh Dependensi Transitif KuliahRuangTempatWaktu Jaringan KomputerMerapiGedung UtaraSenin, Pengantar Basis DataMerbabuGedung UtaraSelasa, Matematika IRamaGedung SelatanRabu, Sistem PakarSintaGedung SelatanKamis, Kecerdasan BuatanMerapiGedung UtaraSelasa, Kuliah → { Ruang, Waktu } Ruang → Tempat Kuliah → Ruang → Tempat

17 Contoh Lain Dependensi Transitif Id_PelangganNamaSalesmanArea A-001AndiFarkanJateng A-002Kurnia JatiDianJabar B-001Fika DewiJonedJatim B-002Gani WirawanFarkanJateng C-001Cici KusumaJonedJatim Id_PelangganNamaSalesmanArea

18 Contoh Lain Dependensi Transitif No_PesanNo_UrutKode_ItemNama_Item No_PesanNo_UrutKode_ItemNama_ItemJumlah P1Pensil P2 Buku Tulis P3Penggaris P4Penghapus P3Penggaris P5Pulpen P6Spidol P1Pensil P2 10 Jumlah

19 Problem pada Dependensi Transitif Id_PelangganNamaSalesmanArea A-001AndiFarkanJateng A-002Kurnia JatiDianJabar B-001Fika DewiJonedJatim B-002Gani WirawanFarkanJateng C-001Cici KusumaJonedJatim Anomali penyisipan: Seorang salesman baru yang bertugas di Jateng tidak dapat dimasukkan dalam tabel sampai salesman tersebut mendapatkan seorang pelanggan Anomali penghapusan: Jika pelanggan A-002 dihapus, informasi bahwa Dian menangani daerah Jabar ikut hilang Anomali peremajaan: Jika katakanlah Farkan mendapat penugasan baru untuk menangani daerah Kalimantan, maka sejumlah baris harus diremajakan agar data tetap konsisten

20 20 Normalisasi dengan Ketergantungan Fungsional Dalam perspektif Normalisasi, sebuah basis data dapat dikatakan baik, jika setiap tabel yang menjadi unsur pembentuk basis data tersebut juga telah berada dalam keadaan baik atau normal. Sebuah tabel dapat dikategorikan baik (efisien) atau normal, jika telah memenuhi 3 kriteria berikut: 1.Jika ada dekomposisi (penguraian) tabel, maka dekomposisi-nya dijamin aman (Lossless-Join Decomposotion). 2.Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation). 3.Tidak melanggar Boyce-Code Normal Form (BCNF). Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak tabel tersebut tidak melanggar bentuk normal tahap ketiga (3nd Normal Form/3NF). Kriteria tersebut merupakan kriteria minimal untuk mendapatkan predikat efisien/normal bagi sebuah tabel.

21 21 Akan tetapi, dapat juga menerapkan kriteria-kriteria lain yang juga tercakup dalam kerangka normalisasi, walaupun bukan merupakan kriteria-kriteria utama, yang terdiri dari: 1.Bentuk Normal tahap Pertama (1nd Normal Form/1NF) 2.Bentuk Normal tahap Kedua (2nd Normal Form/2NF) 3.Bentuk Normal tahap Ketiga (3nd Normal Form/3NF) 4.Bentuk Normal tahap Keempat (4nd Normal Form/4NF) 5.Bentuk Normal tahap Kelima (5nd Normal Form/5NF) Dekomposisi sendiri merupakan langkah yang paling sering ditempuh dalam proses Normalisasi, jika sebuah tabel tidak memenuhi Bentuk Normal tertentu. Tabel Universal (Universal / Star Table) sebuah tabel yang merangkum semua kelompok data yang saling berhubungan dan bukan merupakan tabel yang baik. Sebuah tabel yang merangkum semua kelompok data yang saling berhubungan biasa disebut sebagai tabel Universal (universal/star table). Tabel Universal (Universal / Star Table) sebuah tabel yang merangkum semua kelompok data yang saling berhubungan dan bukan merupakan tabel yang baik.

22 22 Berikut contoh sebuah tabel universal yang merupakan rangkuman data mahasiswa, kuliah, dosen, nilai dan jadwal

23 23 Dari table universal tersebut, dengan memperhatikan kesamaan dan ketidak samaan data diantara baris-baris data juga dengan memahami hubungan alamiah antar data, kita dapat membentuk KF sebagai berikut: Nim  nama_mhs Nim  alamat_mhs Nim  tgl_lahir Kode_kul  nama_kul Kode_kul  sks Kode_kul  semester Kode_kul  waktu Kode_kul  tempat Kode_kul  nama_dos Nama_dos  alamat_dos Nim, kode_kul  indeks_nilai Jika kita memusatkan diri pada table universal tersebut, paling tidak ada 3 kelemahan mendasar yang dapat kita lihat, yaitu: 1.Pengulangan informasi Yang terjadi pada atribut nama_mhs, alamat_mhs dan tgl_lahir yang dinyatakan berulang-ulang sesuai dengan data atribut nim, begitu juga dengan atribut nama_kul, tempat, waktu dan seterusnya.

24 24 2.Potensi inkonsistensi data pada operasi pengubahan Yang terjadi jika ada perubahan pada data nama_mhs, dimana perubahan ini harus dijalarkan keseluruh baris data pada table tersebut untuk nim yang sama. Jika perubahan ini tidak dilakukan, maka KF yang telah ditetapkan akan tergangu, karena kelak akan ada 2 row atau lebih dengan nim yang sama, tapi nama_mhs nya berbeda. 3.Tersembunyinya informasi tertentu Tabel universal dibangun atas dasar keterkaitan antar item-item data. Karena itu table semacam ini tidak akan mampu menampilkan informasi tentang item-item data yang kebetulan belum memiliki keterkaitan dengan item data yang lain. Kelemahan-kelemahan tersebut mengiring kita untuk melakukan dekomposisi, yakni melakukan pemilihan table tersebut menjadi beberapa table dengan mempertimbangkan ketergantungan fungsional yang telah kita dapatkan, dekomposisi dilakukan agar setiap table yang kita gunakan hanya memiliki 1 (satu) KF saja, lebih tepatnya KF minimum

25 25 Lossless Join Decomposition Dekomposisi merupakan upaya untuk mendapatkan table yang baik, tapi bila tidak berhati-hati upaya ini justru dapat menghasilkan kesalahan. Dekomposisi yang benar terjadi jika table-tabel hasil dekomposisi kita gabungkan kembali dapat menghasilkan table awal sebelum didekomposisi. Dekomposisi yang benar semacam ini disebut Lossless-Join Decomposition atau Lossless Decomposition (dapat di Indonesia-kan dengan istilah Dekomposisi Aman). Berikut sebuah contoh yang menghasilkan dekomposisi yang tidak aman (Lossy-Join Decomposition). Misalnya ada sebuah table ABC, yang didefinisikan dengan 2 buah table KF yaitu A  B dan B  C. Kedua KF tersebut diperoleh dari pengamatan terhadap data yang kurang memadai atau karena asumsi yang kurang tepat. ABC A1100C1 A2200C2 A3300C3 A4200C4 Memang dengan isi seperti itu, pernyatan KF yang kedua B  C tidak sepenuhnya tepat, karena pada row 2 dan row 4, dengan nilai untuk atribut B yang sama, nilai untuk atribut C nya berbeda.

26 26 ABC A1100C1 A2200C2 A3300C3 A4200C4

27 27 Tapi yang ingin kita tekankan disini adalah adanya 2 buah KF itu, mendorong kita untuk medekomposisi table ABC menjadi 2 buah table, yaitu table AB dan Tabel BC sbb: Tabel AB AB A1100 A2200 A3300 A4200 Tabel BC Hasil gabungan table AB dan BC BC 100C1 200C2 300C3 200C4 ABC A1100C1 A2200C2 A2200C4 A3300C3 A4200C2 A4200C4 Jika table AB dan table BC digabungkan, hasilnya tidak menghasilkan table awal, sebelum dekomposisi, ini yang disebut dengan Lossy Join Decomposition

28 28 Tapi bila table awal (table ABC) seperti berikut Jika table ABC seperti diatas maka kedua KF dapat dibenarkan, jika dilakukan dekomposisi maka akan menghasilkan table sebagai berikut: A4200C2 ABC A1100C1 A2200C2 A3300C3 A4200C2 AB A1100 A2200 A3300 A4 200 BC 100C1 200C2 300C3 Kesimpulaan “Karena itulah, KF pada suatu table harus kita tetapkan berdasarkan pengamatan yang teliti dan asumsi yang dapat dipertanggung jawabkan, agar kelak hasil dekomposisinya dapat dibenarkan”

29 29 Dependency Preservation Dependency preservation (dapat di Indonesia-kan sebagai Pemeliharaan Ketergantungan) merupakan kriteria yang harus dicapai untuk mendapatkan tabel dan basis data yang baik. Ketika melakukan perubahan data, maka harus dapat dijamin agar perubahan tersebut tidak menghasilkan inkonsistensi data yang mengakibatkan KF yang sudah benar menjadi tidak terpenuhi tetapi dalam upaya untuk memelihara KF yang ada untuk tetap terpenuhi tersebut, prosesnya harus dapat dilakukan dengan efisien. Jika ditinjau pada table universal yang telah digambarkan sebelumnya, sudah jelas sangat rapuh didalam memenuhi kriteria dependency preservation. Kalaupun ingin dipaksakan (agar KF yang ada tetap dapat terjaga pada saat ada perubahan yang terjadi), maka upaya pemeliharaan KF tersebut akan berlangsung tidak efisien Katakanlah ada perubahan data Alamat untuk mahasiswa dengan nim=980001, maka perubahan ini harus juga dijalarkan/dilakukan pada atribut alamat_mhs disemua row yang nilai atribut nim_nya berharga

30 30 Contoh Katakanlah table Mahasiswa dan table Nilai hasil dekomposisi menghasilkan atribut sebagai berikut: Tabel Nilai Nama_kul, Nim, Nama_mhs, Indeks_nilai Dengan 2 KF yaitu Nama_kul, Nim  Indeks_nilai Nim  Nama_mhs Tabel Mahasiswa Nim, Nama_mhs, Alamat_mhs, Tgl_lahir Jika pada table mahasiswa terjadi perubahan data pada atribut alamat_mhs atau pada atribut tgl_lahir, maka perubahan ini tidak perlu dilakukan/dijalarkan pada table nilai, karena pada table ini atribut-atribut tersebut tidak dilibatkan. Tapi jika perubahan terjadi pada atribut nama_mhs pada table mahasiswa, maka perubahan tersebut harus juga dilakukan/dijalarkan ke table nilai, Karena atribut tersebut dilibatkan pada table nilai

31 31 Jika penjalaran ini hanya dilakukan pada satu baris (row) pertama pada table nilai dengan nilai nim yang sama, dengan nilai nim di table mahasiswa yang nama_mhs-nya diubah tersebut, maka KF nim  nama_mhs tidak terpenuhi lagi. Jika demikian perubahan tersebut harus dijalarkan kesemua baris data dengan nilai nim yang sama/sesuai, masalahnya penjalaran perubahan ini tidak efisien dan seharusnya dihindari. Solusinya agar dependency preservation terpenuhi adalah meniadakan/melepaskan atribut nama_mhs dari table nilai, sehingga table nilai menjadi Nim Nama_kul Indeks_nilai

32 32 Normalisasi  Bentuk Normal ke Satu (1NF) Syarat: 1.Tidak ada set atribut yang berulang atau bernilai ganda (atomik value). 2.Tiap atribut yang dapat memiiki banyak nilai sebenarnya menggambarkan entitas atau relasi yang terpisah (multivalue).  Bentuk Normal ke Dua (2NF) Syarat: 1.Bentuk data telah memenuhi kriteria bentuk normal ke satu. 2.Atribut bukan kunci(non-key attribute) haruslah memiliki ketergantungan fungsional sepenuhnya pada primary key.  Bentuk Normal ke Dua (3NF) Syarat: 1.Bentuk data telah memenuhi kriteria bentuk normal ke dua. 2.Atribut bukan kunci (non-key attribute) tidak boleh memiliki ketergantungan fungsional terhadap atribut bukan kunci lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.

33 33 Contoh Normalisasi Diberikan data Nilai Mahasiswa seperti di bawah ini:

34 NIM  nama mahasiswa NIM  Tgl_lahir Kdmkul  kuliah Kdmkul  SKS Nilai  bobot {NIM, kdmkul}  Nilai 34

35 35  Bentuk Normal ke Satu (1NF)  Bentuk Normal ke Dua (2NF) Belum memenuhi kriteria 2NF, Karena atribut non-key Nilai dan Bobot masih memiliki ketergantu- ngan fungsional.

36 36  Bentuk Normal ke Tiga (3NF)

37 37 Dari normalisasi data nilai mahasiswa tersebut maka akan didapat 4 tabel yaitu: Mahasiswa, Matakuliah, Nilai dan Bobot Mahasiswa Matakuliah Bobot Nilai

38 Selesai

39 39 Tentukan 1.Permasalahan pada tabel 2.Tentukan Dependency 3.Lakukan teknik normalisasi yang kedua Tabel pegawai

40 40

41 41

42 42 Bentuk Normal II (2NF) : (Decompose) tabel Normal I (1NF)

43 43 Dokumen dasar : PT. Ayo Bersama Jl. Senopati 12 yk Kode Suplier : G01 Nama Suplier : Gober Nustra Faktur Pembelian Barang Tanggal : 07/10/04 Nomor : 004 KodeNama BrgQtyHargaJml A01AC model A02AC model Total Faktur Jatuh Tempo 15/10/04

44 44 PT. Ayo Bersama Jl. Senopati 12 yk Kode Suplier : A03 Nama Suplier : Angkasa Faktur Pembelian Barang Tanggal : 09/10/04 Nomor : 006 KodeNama BrgQtyHargaJml B01Kursi A03Meja Total Faktur Jatuh Tempo 17/10/04

45 45 Bentuk tidak ternormalisasi Kd. Fak Kode Sup Nama Sup Kode Brg Nama brgTglJ.tempoqtyHrgJmlTot 004G01Gobel Nustra A01, A02 AC Model 1, AC Model 2 07/10/0415/10/0410, , , A03AngkasaB01, A03 Meja, Kursi09/10/0517/10/045, , ,

46 46 Bentuk Normal 1 Kd. Fak Kode Sup Nama Sup Kode Brg Nama brgTglJ.tempoQtyHrg 004G01Gobel Nustra A01AC Model 107/10/0415/10/ G01Gobel Nustra A02AC Model 207/10/0415/10/ A03Angkas a B01Meja09/10/0517/10/ A03Angkas a A03Kursi09/10/0517/10/


Download ppt "1 Sistem Basis Data Dependency Teknik Normalisasi."

Presentasi serupa


Iklan oleh Google