< Previous 91 Basis Data pegawai maka untuk menunjukkan hubungan tersebut dipakai file konektor yang berisi kunci tamu dari kedua file. File Proyek_Pegawai berisi atribute : Nomor Proyek, NIP, Jam Kerja (proyek tersebut dikerjakan oleh pegawai ter-tentu selama sekian jam kerja) Maka pada file Proyek_Pegawai terdapat kunci tamu yaitu Nomor Proyek dan NIP. Kedua atribute tersebut juga merupakan kunci primary. 5) Persyaratan teknik normalisasi data. 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. 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. Terpeliharanya ketergantungan fungsional pada saat perubahan data (DependencyPreservation). 3. Tidak melanggar Boyce–Code Normal Form (BCNF) 6) Lossless–Join Decomposition Dekomposisi memang merupakan upaya untuk mendapatkan tabel yang baik. Tetapi jika tidak hati–hati, upaya ini justru dapat menghasilkan kesalahan. Dekomposisi yang benar terjadi jika tabel–tabel hasil dekomposisi kita gabungkan kembali dapat menghasilkan tabel awal sebelum didekomposisi. Dekomposisi yang benar semacam ini disebut Lossless–Join Decomposition atau Lossless Decomposition (dekomposisi aman). Di bawah ini contoh abstrak yang menghasilkan dekomposisi tidak aman (Lossy–Join Decomposition) : Diasumsikan tabel XYZ yang didefinisikan oleh dua buah ketergantungan fungsional X Y dan Y Z. Kedua ketergantungan fungsional tersebut diperoleh dari pengamatan terhadap data yang kurang memadai atau karena asumsi yang kurang tepat. Katakan isi tabel XYZ tersebut adalah sebagai berikut: 92 Basis Data X Y Z row 1 x1 10 z1 row 2 x2 20 z2 row 3 x3 30 z3 row 4 x4 20 z4 Memang dengan isi seperti itu, pernyataan ketergantungan fungsional yang kedua Y Z tidak sepenuhnya tepat, karena pada row 2 dan row 4, dengan nilai untuk atribut Z–nya berbeda. Tetapi yang ingin ditekankan di sini adalah adanya dua buah ketergantunagn fungsional itu mendorong kita untuk mendekomposisi tabel XYZ tersebut menjadi dua buah tabel yaitu tabel XY dan YZ sebagai berikut : X Y Y Z x1 10 10 z1 x2 20 20 z2 x3 30 30 z3 x4 20 20 z4 Jika kedua tabel diatas kita gabungkan kembali, maka hasilnya adalah : X Y Z x1 10 z1 x2 20 z2 x2 20 z4 x3 30 z3 x4 20 z2 x4 20 z4 Maka ini tentu saja berbeda dengan tabel awal (sebelum didekomposisi). Maka dekomposisi semacam ini disebut Lossy–Join Decomposition (dekomposisi tidak aman), yaitu sebuah dekomposisi yang sedapat mungkin kita hindari.Akan tetapi jika data pada row 4 yang ada di tabel XYZ awal, kita ganti dengan data berikut : x4 20 z2 Sehingga tabel XYZ menjadi : X Y Z Row 1 x1 10 z1 Row 2 x2 20 z2 93 Basis Data Row 3 x3 30 z3 Row 4 x4 20 z2 Dengan data ditabel XYZ demikian maka kedua ketergantungan fungsional dapat dibenarkan. Tabel XYZ tersebut didekomposisikan menjadi tabel XY dan YZ sebagai berikut : X Y Y Z x1 10 10 z1 x2 20 20 z2 x3 30 30 z3 x4 20 Kalau kedua tabel diatas digabungkan kembali maka, tabel awal XYZnya akan diperoleh kembali sehingga dekomposisi tersebut aman. Karena itulah ketergantungan fungsional pada suatu tabel harus kita tetapkan berdasarkan pengamatan yang teliti dan asumsi yang dapat dipertanggung jawabkan agar kelak hasil dekomposisi dapat dibenarkan. 7) Dependency Preservation Dependency Preservation (pemeliharaan ketergantungan) merupakan kriteria kedua yang harus dapat dicapai untuk mendapatkan tabel dan basis data yang baik. Ketika kita melakukan perubahan data, maka harus bisa dijamin agar perubahan tersebut tidak menghasilkan inkonsistensi data yang mengakibatkan ketergantungan fungsional yang sudah benar menjadi tidak terpenuhi. Akan tetapi, dalam upaya untuk memelihara ketergantungan fungsional yang ada untuk tetap terpenuhi tersebut, prosesnya harus dapat dilakukan dengan efisien. Contoh : Tabel mahasiswa : (nim, nama_mhs, alamat_mhs, tgl_lahir) dengan ketergantungan fungsional–nya yaitu : nim nama_mhs, alamat_mhs, tgl_lahir Tabel nilai : (nama_kul, nim, nama_mhs, indeks_nilai) dengan ketergantungan fungsional–nya yaitu : nama_kul, nim indeks_nilai dan nim nama_mhs 94 Basis Data Jika ada perubahan nama_mhs di tabel mahasiswa maka perubahan tersebut harus juga dilakukan di tabel nilai dan juga berlaku sebaliknya yaitu jika ada perubahan nama_mhs di tabel nilai maka perubahan tersebut harus juga dilakukan di tabel mahasiswa. Jika hal tersebut tidak dilakukan maka data menjadi tidak konsiste dan ketergantunan fungsional menjadi tidak terpenuhi. Misalnya nilai yang nim–nya sama tetapi nama_mhs berbeda. Jika begitu, maka perubahan harus dilakukan diseluruh basis data, tetapi masalahnya perubahan itu tidak efisien dan seharusnya dihindari.Karena itu sebaiknya agar kriteria dependency preservation dapat terpenuhi dengan meniadakan/melepaskan atribut nama_mhs dari tabel nilai (sehingga tabel nilai berisi 3 atribut, yaitu nama-kul, nim dan indeks_nilai). 8) Boyce Code Normal Form (BCNF) Kriteria berikutnya untuk mendapatkan tabel yang baik adalah dengan menerapkan BCNF. Sebuah tabel dikatakan memenuhi BCNF jika untuk semua ketergantungan fungsional dengan notasi X Y, maka X harus merupakan candidate key pada tabel tersebut. Jika tidak demikian, maka tabel tersebut harus didekomposisi berdasarkan ketergantungan fungsional yang ada, sedemikian hingga X menjadi candidat key dari tabel–tabel hasil dekomposisi. Contoh tabel yang tidak memenuhi BCNF : Ditentukan tabel A = (E, F, G, H, I) dan berlaku ketergantungan fungsional, yaitu : E, F G, H, I F, G H, I Disini tabel A tidak memenuhi BCNF karena ada X yang bukan candiday key, yaitu F, G sehingga F, G H, I. Sedangkan E, F adalah candidat key karena E, F G, H, I Karena terdapat 2 ketergantungan fungsional maka agar tabel A tidak memenuhi BCNF maka tabel tersebut harus didekomposisikan menjadi : A1 = (E, F, G) dengan ketergantungan fungsional E, F G A2 = (F, G, H, I) dengan ketergantungan fungsional F, G H, I 95 Basis Data c. Rangkuman Perancangan basis data merupakan suatu hal yang sangat penting. Tujuan perancangan adalah agar dapat memiliki basis data yang kompak, efisien dalam penggunaan ruang penyimpanan, cepat dalam pengaksesan dan mudah dalam memanipulasi. Perancangan basis data meliputi perancangan model konseptual dan model phisik. Dalam merancang basis data dapat dilakukan melalui dua pendekatan yaitu: 1) Model Entity–Relationship-diagram dan 2) Menerapkan normalisasi terhadap struktur tabel yang telah diketahui. Normalisasi diartikan sebagai suatu teknik yang menstrukturkan atau mendekomposisi atau memecah data menggunakan cara–cara tertentu untuk mencegah timbulnya permasalahan pengolahan data dalam basis data. Beberapa konsep dasar yang berkaiatan dengan normalisasi data: 1) ketergantungan fungsional (sudah dibahas dalam kegiatan belajar tujuh). 2) Domain dan tipe data. 3) Konsep key atribut (Field/atribute kunci). Domain memiliki kesamaan arti dengan fungsi tipe data. Tipe data merujuk pada kemampuan penyimpanan data yang mungkin bagi suatu atribut secara fisik, tanpa melihat layak atau tidaknya data bila dilihat dari kenyataannya pemakaiannya. Domain nilai lebih ditetapkan pada batas–batas nilai yang diperbolehkan bagi suatu atribut, dilihat dari kenyataanya yang ada. Key atribut adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data (row) dalam table secara unik. Ragam attribute kunci antara lain :Candidate Key (Kunci Kandidat/Kunci Calon), Primary Key (Kunci Primer), Alternate Key (Kunci Alternatif), Foreign Key (Kunci Tamu) Dalam perspektif normalisasi, sebuah tabel dapat dikategorikan baik (efisien) atau normal, jika telah memenuhi 3 (tiga) kriteria yaitu: 1) Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman (Lossless–Join Decomposition). 2) Terpeliharanya ketergantungan fungsional pada saat perubahan data (DependencyPreservation). 3) Tidak melanggar Boyce–Code Normal Form (BCNF). d. Tugas : Mengoperasikan Teknik Normalisasi Data Dalam kegiatan ini peserta didik akan melakukan eksperimen atau praktikum secara berkelompok, satu kelompok terdiri dari dua sampai tiga orang. Dalam Eksperimen ini akan dilakukan pengujian terhadap entity relationship diagram 96 Basis Data yang telah dibuat dalam tugas kegiatan belajar 5. Pengujian yang dilakukan merujuk pada dua kriteria yaitu (Lossless–Join Decomposition dan Dependency Preservation. Bacalah seluruh langkah eksperimen dibawah ini kemudian lakukan dengan cermat dan teliti dengan perangkat yang telah disediakan. 1. Lihat dan amati kembali hasil tugas belajar kegiatan 5 tentang pemetaan ER diagram ke relasi tabel. 2. Pastikan dalam relasi tabel diatas terdapat relasi one to one, relasi one to many, relasi many to many dan relasi dan relasi ternary. Jika belum ada salah satu jenis relasi tersebut buat relasi tabelnya. 3. Untuk setiap tabel dalam langkah dua di atas lengkapi data dengan menambahkan record-record dengan jumlah record 3 -5 record. Tampilkan hasilnya dalam tabel. 4. Dari hasil tabel pada langkah tiga di atas lakukan pengujian terhadap setiap tabel dalam ERD apakah memenuhi persyaratan Lossless–Join Decomposition .Tampilkan hasilnya dalam tabel. 5. Ulangi langkah kegiatan 4 (empat) dengan kriteria persyaratan Dependency Preservation. Tampilkan hasilnya dalam tabel. 6. Kumpulkan data-data setiap langkah dan analisis data tersebut menggunakan analisis diskriptif. 7. Diskusi dan komunikasikan hasilnya dalam kelompok dan buatlah kesimpulan. 8. Buatlah Laporan dan komunikasikan hasil laporan dan pembahasan dengan guru pembimbing. e. Test Formatif. Dalam test ini setiap peserta didik membaca dengan cermat dan teliti setiap butir soal dibawah ini. Kemudian berdasarkan uraian materi diatas tulislah jawabannya pada lembar jawaban test formatif yang telah disediakan. 1. Jelaskan secara singkat definisi dan manfaat teknik normalisasi data? 2. Sebutkan dan jelaskan tiga konsep dasar yang dibutuhkan dalam teknik normalisasi data ? 3. Sebutkan dan jelaskan tiga persyaratan dalam teknik normalisasi data ? 97 Basis Data f. Lembar Jawaban Test Formatif (LJ). LJ- 01 : Pengertian dan manfaat (kegunaan) teknik normalisasi data. ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................. ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... LJ- 02 : Tiga Konsep dasar yang diperlukan dalam teknik normalisasi data? .........................................................................................................:........ ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... 98 Basis Data ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... LJ- 03 : Tiga persyaratan dalam teknik normalisasi data. .........................................................................................................:........ ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... 99 Basis Data ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... 100 Basis Data g. Lembar Kerja Peserta Didik. Next >