< Previous 81 Basis Data Constraintmenjelaskan batasan jumlah keterhubungan satu entitas dengan entitas lainnya Suatu atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X (R,X R,Y), jika dan hanya jika setiap nilai X pada relasi R mempunyai tepat satu nilai Y pada R. Suatu 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 Z pada relasi R dikatakan tergantung transitif pada atribut X, jika atribut Y tergantung pada atribut X pada relasi R dan atribut tergantung pada atribut Y pada relasi R. . d. Tugas : Mengamati ketergantungan fungsional Dalam kegiatan ini peserta didik akan melakukan eksperimen atau praktikum secara berkelompok, satu kelompok terdiri dari dua sampai tiga orang. Eksperimen dilakukan melalui pengamatan terhadap entity relationship diagram yang telah dibuat dalamtugas kegiatan belajar 5. Peserta didik akan mengidentifikasi ketergantungan fungsional dengan memberikan sejumlah data pada setiap tabel dalam ERD. 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 identifikasikan ketergantungan fungsional untuk setiap tabel. Tampilkan hasilnya dengan menggunakan tabel. 5. Kumpulkan data-data setiap langkah dan analisis data tersebut menggunakan analisis diskriptif. 82 Basis Data 6. Diskusi dan komunikasikan hasilnya dalam kelompok dan buatlah kesimpulan. 7. 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 ketergantungan fungsional dan berikan contoh ? 2. Jelaskan secara singkat definisi ketergantungan fungsional penuh dan berikan contoh ? 3. Jelaskan secara singkat definisi ketergantungan fungsional transitif dan berikan contoh ? 4. Jelaskan fungsi atau manfaat ketergantungan fungsional dalam sistem basis data? f. Lembar Jawaban Test Formatif (LJ). LJ- 01 : Pengertian ketergantungan fungsional dan contohnya. ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................. ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... 83 Basis Data ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... LJ- 02 : Pengertian ketergantungan fungsional penuh dan contohnya .........................................................................................................:........ ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ...................................................................................................................................................................................................................................... ................................................................................................................... ................................................................................................................... ...................................................................................................................................................................................................................................... ................................................................................................................... 84 Basis Data ...................................................................................................................................................................................................................................... ................................................................................................................... ...................................................................................................................................................................................................................................... LJ- 03 : Pengertian ketergantungan fungsional transitif dan contohnya. .........................................................................................................:........ ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ...................................................................................................................................................................................................................................... ................................................................................................................... ................................................................................................................... ...................................................................................................................................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... 85 Basis Data LJ- 04 : Manfaatketergantunganfungsionaldalamsistem basis data. .........................................................................................................:........ ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... g. Lembar Kerja Peserta Didik. 86 Basis Data a. Tujuan Pembelajaran. Setelah mengikuti kegiatan belajar 1 ini diharapkan peserta didik dapat: Memahami konsepteknik normalisasi data Memahami tiga konsep dasar yang dibutuhkan dalam normalisasi data Memahami persyaratan teknik normalisasi data. Menguji tabel relasional menggunakan dua kriteria yaitu: Lossless–Join Decomposition dan Dependency Preservation b. Uraian materi. 1) Perancangan Basis Data Prancang basis data merupakan suatu hal yang sangat penting. Kesulitan utama dalam merancang database adalah bagaimana merancang sehingga database dapat memuaskan keperluan saat ini dan masa mendatang.Tujuan perancanganadalah agar dapat memiliki basis data yang kompak, efisien dalam penggunaan ruang penyimpanan, cepat dalam pengaksesan dan mudah dalam memanipulasi data (operasi tambah, ubah, hapus). Perancangan model konseptual perlu dilakukan di samping perancangan model phisik.Perancangan konseptual akan menunjukkan entity dan relasinya berdasarkan proses yang diinginkan oleh organisasi. Tugas pernacangan model konseptual basis data ini merupakan tanggung jawab dari Database Administrator. Beberapa pengertian berkaiatan dengan perancangan model konseptual, ialah : Bukan merupakan pendekatan proses informasi untuk seorang programmer aplikasi, tetapi merupakan kombinasi beberapa cara untuk memproses data untuk beberapa aplikasi. Tidak tergantung pada aplikasi individual. Tidak tergantung pada DBMS yang digunakan. Tidak tergantung pada hardware yang digunakan. Tidak tergantung pada phisikal model. Tidaklah perlu dipikirkan tentang terapan dan operasi yang akan dilakukan pada database. Kegiatan belajar 8: Pengantar Teknik Normalisasi Data. 87 Basis Data Pada perancangan model konseptual penekanan tinjauan dilakukan pada struktur data dan relasi antara file.Pendekatan yang dilakukan pada menggunakan model data relational.Dalam merancang basis data dapat dilakukan melalui dua pendekatan yaitu: 1. Model Entity–Relationship-diagram (telah dijelaskan dalam uraian kegiatan 3, 4 dan 5) 2. Menerapkan normalisasi terhadap struktur tabel yang telah diketahui. 2) Definisi Normalisasi 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. Permasalahan yang dimaksud adalah berkaitan dengan penyimpangan–penyimpangan (anomalies) yang terjadi akibat adanya kerangkapan data dalam relasi dan inefisiensi pengolahan.Proses normalisasi akan menghasilkan relasi yang optimal, yaitu : 1. Memiliki struktur record yang mudah untuk dimengerti. 2. Memiliki struktur record yang sederhana dalam pemeliharaan. 3. Memiliki struktur record yang mudah untuk ditampilkan kembali untuk memenuhi kebutuhan pemakai. 4. Minimalisasi kerangkapan data guna meningkatkan kinerja sistem. Dalam pendekatan normalisasi, perancangan basis data bertitik tolak dari situasi nyata. Ia telah memiliki item–item data yang siap ditempatkan dalam baris dan kolom pada tabel–tabel relasional. Demikian juga dengan sejumlah aturan tentang keterhubungan antara item–item data tersebut. Sementara pendekatan model data ER lebih tepat dilakukan jika yang diketahui baru prinsip sistem secara keseluruhan. Pada penerapannya dua pendekatan tersebut dilakukan secara bersama–sama dan, berganti–ganti. Untuk kepentingan evaluasi dan dokumentasi, hasil normalisasi diwujudkan dalam sebuah model data. Model data yang sudah jadi tersebut bisa saja dimodifikasi dengan pertimbangan tertentu. Selanjutnya Hasil modifikasinya diimplementasikan dalam bentuk sejumlah struktur tabel dalam sebuah basis data. Struktur ini dapat diuji kembali dengan menerapkan aturan–aturan normalisasi, hingga akhirnya diperoleh sebuah struktur basis data yang 88 Basis Data benar–benar efektif dan efisien. Begitulah kedua pendekatan dapat saling memperkuat satu sama lain. 3) Domain dan Tipe Data Konsep pendukung teknik normalisasi. Beberapa konsep yang harus dipahami sebelum mengimplementasikan teknik normalisasi data antara lain ialah: 1) ketergantungan fungsional (sudah dibahas dalam kegiatan belajar tujuh). 2) Domain dan tipe data. 3) Konsep key atribut (Field/atribute kunci). Penetapan tipe data pada setiap atribut (kolom) digunakan untuk keperluan penentuan struktur setiap tabel. Penetapan tipe data ini akan berimplikasi pada adanya batas–batas nilai yang mungkin disimpan atau diisikan kesetiap atribut tersebut. Jika telah menetapkan bahwa tipe data untuk sebuah atribut adalah integer, maka kita hanya mungkin untuk menyimpan data angka yang bulat diantara –32.768 hingga 32.768. Pengguna tidak mungkin untuk memasukkan data diluar batas nilai tersebut. untuk memasukkan data pecahan pengguna harus menggunakan data nbertipe string atau text. Domain memiliki banyak kesamaan pengertiannya dengan fungsi tipe data tersebut. Akan tetapi, tipe data merujuk pada kemampuan penyimpanan data yang mungkin bagi suatu atribut secara fisik, tanpa melihat layak tidaknya data tersebut bila dilihat dari kenyataannya pemakaiannya. Sementara domain nilai lebih ditetapkan pada batas–batas nilai yang diperbolehkan bagi suatu atribut, dilihat dari kenyataanya yang ada. Contoh : pada tabel kuliah, ditetapkan tipe data untuk atribut sks adalah integer. Dengan begitu secara fisik kita dapat menyimpan nilai –1, 0 atau 100 untuk atribut sks. Tetapi kita mengetahui dengan pasti, bahwa nilai–nilai tersebut tidak pantas (invalid) untuk menjadi data pada atribut sks. Lalu nilai–nilai yang boleh (valid) untuk atribut sks adalah 1, 2, 3, 4 dan 6, maka dapat dikatakan, domain nilai untuk atribut sks adalah 1, 2, 3, 4 dan 6. 4) Key Attribute Setiap file atau tabel selalu mempunyai kunci (key) yaitu berupa satu field atau satu set field yang dapat mewakili record. Misalnya nomor pegawai merupakan kunci dari tabel pegawai suatu perusahaan. setiap pencarian cukup dengan menyebut nomor pegawai tersebut maka dapat diketahui nama, alamat 89 Basis Data dan atribute lainnya mengenai seorang pegawai tersebut.Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data (row) dalam table secara unik.Macam-macam Filed/attribute kunci: Candidate Key (Kunci Kandidat/Kunci Calon) Primary Key (Kunci Primer) Alternate Key (Kunci Alternatif) Foreign Key (Kunci Tamu) Candidate Key (Kunci Kandidat/Kunci calon)adalah satu atribute atau satu set minimal atribute yang mengidentifikasikan secara unik suatu kejadian spesific dari entity. Jika satu kunci kandidat berisi lebih dari satu atribute, maka biasanya disebut sebagai composite key (kunci campuran/ gabungan). Misalnya tabel Pegawai berisi attribute:No Induk Pegawai (NIP) , No KTP, Nama, Tempat Lahir, Tanggal Lahir, Alamat, KotaKunci kandidat disini antara lain ialah : No Induk Pegawai (NIP), karena unik tidak mungkin ganda. No KTP, karena unik tidak mungkin ganda. Nama, sering dipakai sebagai kunci pencarian namun tidak dapat dikatakan kunci karena sering seseorang punya nama yang sama. Nama + Tanggal lahir, mungkin dapat dipakai sebagai kunci karena kemungkinan sangat kecil seseorang punya nama sama yang lahir pada hari yang sama. Nama + tempat lahir + tanggal lahir, dapat dipakai sebagai kunci Alamat, kota (bukan kunci). Primary Key adalah satu atribute atau satu set minimal atribute yang tidak hanya mengidentitikasi secara unik suatu kejadian spesific, tapi juga dapat mewakili setiap kejadian dari suatu entity. Setiap kunci kandidat punya peluang menjadi primary key, tetapi sebaiknya dipilih satu saja yang dapat mewakili secara menyeluruh terhadap entity yang ada. Contoh: No Induk (NIP), karena unik tidak mungkin ganda dan mewakili secara menyeluruh terhadap entity Pegawai, dan setiap pegawai selalu punya nomor induk No KTP, ini hanya dipakai bila sampai dengan pembayaran gaji pegawai ternyata nomor induk belum keluar. 90 Basis Data NIP Nama_Pegawai Tgl_Lahir Alamat 2001 Anton 12-12-76 Solo 2002 Budi 02-02-75 Yogya 2003 Anton 11-11-76 Semarang Alternate Key (Kunci alternatif)adalah kunci kandidat yang tidak dipakai sebagai primary key. Kerap kali kunci alternatif dipakai sebagai kunci pengurutan dalam laporan.Contoh: Kunci Alternatif untuk pengurutan berdasarkan nama. Foreign Key (Kunci Tamu/Asing)Foreign Key adalah satu atribute (atau satu set atribute) yang melengkapi satu relationship (hubungan) yang menunjukkan ke induknya. Kunci tamu ditempatkan pada entity anak dan sama dengan kunci primary induk direlasikan. Contoh: Dalam hal hubungan dua buah file yang punya relationship banyak lawan banyak maka terdapat 2 buah kunci tamu pada file konektornya. Contoh: File Proyek berisi atribute: NomorProyek, Tgl Mulai, Tgl Selesai, Anggaran File Pegawai berisi atribute: No Induk, Nama Hubungan antara file tersebut adalah banyak lawan banyak yaitu satu Pegawai mengerjakan lebih dari 1 proyek dan satu proyek dikerjakan oleh beberapa Next >