BKPM Basis Data Relasional / Praktikum :1 Judul Praktikum : Database Alokasi Waktu : 1. Tujuan Instruksional Khusus Mahasiswa diharapkan mampu : a. Mendefinisikan pengertian database b. Menjelaskan Keuntungan penggunaan database 2. Teori Pembicaraan basis data tidak dapat dipisahkan dengan teknologi komputer, karena teknologi basis data dan komputer berkembang beriringan. Perkembangan teknologi pengelolaan basis data mempunyai pengaruh besar terhadap perkembangan penggunaan komputer. Sebagai contoh pemakaian teknologi basis data dalam pengelolaan data yang berjumlah besar untuk keperluan bisnis, keteknikan, pendidikan, kesehatan, hukum, perpustakaan, dan sebagainya akan sangat efisien bila komputer digunakan. Basis data dapat diartikan sebagai kumpulan data tentang suatu benda atau kejadian yang saling berhubungan satu sama lain. Sedangkan data merupakan fakta yang mewakili suatu obyek seperti manusia, hewan, peristiwa, konsep, keadaan, dan sebagainya yang dapat dicatat dan mempunyai arti yang implisit. Data dapat dicatat atau direkam dalam bentuk angka, huruf, simbol, gambar, bunyi, atau kombinasinya. Sebagai contoh terdapat daftar nama, nomor telepon, dan alamat orang – orang yang menjadi anggota suatu organisasi. Data tersebut dicatat dalam buku daftar anggota atau disimpan dalam disket menggunakan komputer personal dan perangkat lunak. 1 Akademik Komunitas BKPM Basis Data Relasional Istilah Basis Data menurut Elmasri R. (1994) lebih dibatasi pada arti implisit yang khusus, yaitu : 1. Basis Data merupakan penyajian suatu aspek dari dunia nyata (“real world atau miniworld”). Misalnya basis data perbankan, perpustakaan, pertanahan, perpajakan, dan sebagainya. 2. Basis data merupakan kumpulan data dari berbagai sumber yang secara logika mempunyai arti implisit. Sehingga data yang terkumpul secara acak dan tanpa mempunyai arti, tidak dapat disebut basis data. 3. Basis data perlu dirancang, dibangun, dan data dikumpulkan untuk suatu tujuan. Basis data dapat digunakan oleh beberapa pemakai dan beberapa aplikasi yang sesuai dengan kepentingan pribadi. Dari batasan tersebut diatas, dapat dikatakan bahwa basis data mempunyai berbagai sumber data dalam pengumpulan data, bervariasi derajad interaksi kejadian dari dunia nyata, dirancang dan dibangun agar dapar digunakan oleh beberapa pemakai untuk berbagai kepentingan. Suatu hal yang perlu diperhatikan dalam penyimpanan data pada basis data adalah dihindarkan adanya data yang rangkap (“redundant”). Data yang tersimpan dalam basis data dapat bervariasi dalam hal jumlah dan tingkat kompleksitasnya. Misalnya saja daftar alamat anggota seperti contoh sebelumnya hanya terdiri atas ratusan rekaman saja yang dapat disimpan dalam stuktur yang sederhana. Akan tetapi untuk menyimpan basis data perpajakan yang pengelolaan data wajib pajak obyek pajak seluruh negara akan memerlukan penanganan yang seksama, karena data yang dikelola sangat besar jumlahnya dan tingkat kompleksitasnya tinggi. 2 Akademik Komunitas BKPM Basis Data Relasional 3. Alat dan Bahan BKPM Komputer LCD Alat Tulis Kantor 4. Pelaksanaan Praktikum Mahasiswa menjawab pertanyaan pada selembar kertas sesuai dengan arahan dosen pembimbing 5. Tugas dan Latihan 1. Jelaskan pengertian dari Basis Data ? 2. Pengertian Basis Data secara implisit ialah ? 3. Apa yang dimaksud dengan data Redundant ? beri contohnya ? 3 Akademik Komunitas BKPM Basis Data Relasional Praktikum : 2 dan 3 Judul Praktikum : Data Base Management System Alokasi Waktu : 1. Tujuan Instruksional Khusus Mahasiswa diharapkan mampu : a. Mendefinisikan pengertian Data Base Management System b. Menjelaskan Keuntungan penggunaan Data Base Management System 2. Teori Definisi Data Base Management System ( DBMS ) pada sejumlah literatur sangatlah bervariasi. Secara umum, DBMS diartikan sebagai suatu program komputer yang digunakan untuk memasukkan, mengubah, menghapus, memanipulasi, dan memperoleh data /informasi dengan praktis dan efisien. Dibandingkan dengan sistem berbasis kertas, DBMS memiliki empat keunggulan yaitu : 1. Kepraktisan : Sistem yang berbasis kertas akan menggunakan kertas yang sangat banyak untuk menyimpan informasi, sedangkan DBMS menggunakan media penyimpanan sekunder yang berukuran kecil tetapi padat informasi. 2. Kecepatan : Mesin dapat mengambil atau mengubah data jauh lebih cepat daripada manusia. 3. Mengurangi Kejemuan : Orang cenderung menjadi bosan kalau melakukan tindakan – tindakan berulang yang menggunakan tangan ( misalnya harus mengganti suatu informasi ) 4 Akademik Komunitas BKPM Basis Data Relasional 4. Kekinian : Informasi yang tersedia pada DBMS akan bersifat mutakhir dan akurat setiap saat. Komponen Utama Data Base Management System yaitu : 1. Perangkat Keras : Perangkat keras berupa komputer dan bagian – bagian di dalamnya, seperti prosesor, memori, dan hardisk. Komponen inilah yang melakukan pemrosesan dan juga untuk menyimpan data. 2. Data : Data di dalam basis data mempunyai sifat terpadu (integrated) dan berbagi (shared). Terpadu (interated) : Berarti bahwa berkas – berkas data yang ada pada basis data saling terkait, tetapi kemubaziran data tidak akan terjadi atau hanya terjadi sedikit sekali. Sebagai contoh, berkas PEGAWAI terdiri atas nama, alamat, bagian, dan gaji pegawai serta atribut – atribut lainnya dan berkas PELATIHAN menyatakan kursus atau pelatihan yang diikuti oleh para pegawai. Pada saat mencatat pelatihan yang diikuti oelh seseorang , tentu saja data seperti bagian tempat pegawai bekerja tidak perlu disertakan, karena informasi mengenai hal ini bisa diperoleh dari tabel PEGAWAI. Dengan demikian kemubaziran dapat dihindari. Berbagi Data : Berbagi data berarti bahwa data dapat dipakai oleh sejumlah pengguna. Lebih tegas lagi, sesuatu data dapat diakses oleh sejumlah pengguna dalam waktu bersamaan. Sifat ini biasa terdapat pada sistem Multiuser (kebalikan dari sistem yaitu sistem Single – User, yakni sistem yang hanya memungkinkan satu orang yang bisa mengakses suatu data pada suatu waktu. 5 Akademik Komunitas BKPM Basis Data Relasional 3. Perangkat Lunak : Dalam hal ini, DBMS berkedudukan antara basis data (data yang disimpan dalam harddisk) dan pengguna. Perangkat lunak inilah yang berperan melayani permintaan – permintaan pengguna. 4. Pengguna : Pengguna dapat diklasifikasikan menjadi tiga kategori : Pemrograman Aplikasi : adalah orang yang membuat program aplikasi yang menggunakan basis data. Program aplikasi yang dibuat tentu saja sesuai dengan kebutuhan pengguna. Pengguna Akhir : Dibedakan menjadi dua macam yaitu - Pengguna Aplikasi : adalah orang yang mengoperasikan program aplikasi yang dibuat oleh pemrograman aplikasi. - Pengguna Interaktif : adalah orang yang dapat memberikan perintah – perintah berasas tinggi pada antarmuka basis data yang tersedia (misalnya menggunakan perintah SELECT, INSERT dan sebagainya) atau melakukan perintah – perintah melalui antarmuka berbasis menu. Administrator Basis Data (DBA / Database Administrator) : adalah orang yang bertanggung jawab terhadap pengelolaan basis data. Secara lebih detail tugas DBA adalah sebagai berikut : - Mendefinisikan Basis Data - DBA menentukan isi basis data - Menentukan sekuritas basis data 6 Akademik Komunitas BKPM Basis Data Relasional Setiap pengguna diberi hak ases terhadap basis data secara tersendiri. Tidak semua pengguna bisa menggunakan data yang bersifat sensitif. Penentuan hak akses disesuaikan dengan wewenang pengguna dalam organisasi : - Memantau Kinerja Sistem : Secara periodik DBA memantau kinerja DBMS. Termasuk dalam hal ini adalah pemantauan waktu tanggapan selama beban puncak. Informasi yang diperoleh dapat digunakan untuk menentukan perlu tidaknya pengembangan sistem perangkat keras di masa mendatang ataupun melakukan perubahan organisasi di dalam basis data. - Merencanakan Back Up dan Recovery : DBA – lah yang membuat panduan, prosedur, serta standar untuk melakukan pencadangan data (backup) terhadap basis data. Begitu juga untuk proses pemulihan data (recovery) bila terjadi keerusakan data pada sistem. - Mengikuti Perkembangan Produk : DBA juga bertanggung jawab terhadap produk (versi DBMS yang baru, tool, dan perangkat pendukung) sehingga dapat memberikan usulan kepada organisasi untuk melakukan hal – hal yang dipandang perlu, seperti melakukan pelatihan kepada pemrograman aplikasi. Keuntungan Pendekatan Basis Data adalah sebagai berikut : Pemusatan Kontrol Data : Dengan satu DBMS di bawah kontrol satu orang atau kelompok dapat menjamin terpeliharanya standar kualitas data dan keamanan pembatasan pemakaian. Disamping itu adanya konfllik dalam persyaratan pemakaian data dapat dinetralkan, serta integritas data dapat dijaga. 7 Akademik Komunitas BKPM Basis Data Relasional Pemakaian Data Bersama : Dengan menggunakan DBMS, informasi yang ada dalam basis data dapat digunakan secara efektif oleh beberapa pemakai dengan kontrol data yang terjaga. Fasilitas penanganan data dalam DBMS juga memberi kemungkinan untuk mengembangkan program aplikasi yang baru (dengan menggunakan basis data yang ada). Data yang Bebas : Program aplikasi terpisah atau bebas dengan bentuk secara fisik data disimpan dalam komputer. Kemudahan dalam Pembuatan Program Aplikasi Baru : Program aplikasi yang baru dan pencarian basis data yang tunggal aakn lebih mudah jika menggunakan fasilitas yang ada pada DBMS. Pemakaian Secara Langsung : Sistem basis data saat ini biasanya menyediakan jendela pemakai, sehingga pemakai (bukan pemograman) dapat melakukan analisis data yang rumit sekalipun. Pada saat yang sama sistem basis data berperan sebagai pengontrol penggunaan dan operasi basis data untuk menjaga konsistensi, dan adanya perlindungan pada integritas basis data. Data yang Berlebihan dapat Dikontrol : Dalam pemrosesan berkas untuk tiap aplikasi menggunakan berkas – berkas yang terpisah. Sehingga tidak jarang akan menghasilkan data yang rangkap (redundant). Hal demikian menyebabkan pemborosan biaya. Sedangkan tujuan penggunaan basis data salah satunya adalah apabila dilakukan penambahan data pada salah satu berkas, maka berkas data yang lain dengan sendirinya juga ikut diperbaharui. DBMS dapat digunakan untuk menurunkan tingkat redundancy dan pengelolaan proses pembaruan data. 8 Akademik Komunitas BKPM Basis Data Relasional Pandangan Pemakai (“user views”) : DBMS dapat memberikan kemudahan untuk membuat dan memelihara jendela pemakai (user interface) sesuai dengan pandangan pemakai terhadap basis data. Sehingga ada kemungkinan basis data yang diakses sama, tetapi jendela pemakai akan berbeda disesuaikan dengan pemahaman tiap pemakai terhadap basis data menurut kebutuhan. Kelemahan Pendekatan Basis Data adalah sebagai berikut : Biaya : Biaya yang digunakan untuk mendapatkan perangkat lunak dan perangkat keras yang tepat sangatlah mahal. Dan paling tidak harus ada untuk memperoleh kedua perangkat tersebut, termasuk biaya untuk pemeliharaannya (“maintenance coast”) dan penyediaan sumberdaya manusia untuk mengelola basis data tersebut. Sangat Kompleks : Sistem basis data kompleks dibanding proses berkas. Menurut teori, semakin kompleks suatu sistem akan semakin mudah terjadi kesalahan dan semakin sulit dalam pemeliharaan data. Dalam prakteknya, DBMS yang baik mampu membuat “bak up” secara efektif termasuk pemeliharaan data. Resiko Data yang Terpusat : Menurut teori, data yang terpusat dalam satu lokasi dengan selalu mejaga adanya data yang rangkap yang kecil, akan terjadi resiko kehilangan data selama proses aplikasi. Namun demikian biasanya DBMS mampu menjaga agar resiko ini sangat kecil. 3. Alat dan Bahan BKPM Komputer LCD Alat Tulis Kantor 9 Akademik Komunitas BKPM Basis Data Relasional 4. Pelaksanaan Praktikum Mahasiswa menjawab pertanyaan pada selembar kertas sesuai dengan arahan dosen pembimbing 5. Tugas dan Latihan 1. Jelaskan pengertian Data Base Management System ? 2. Sebutkan keunggulan dari Data Base Management System ? 3. Jelaskan keunggulan dan kelemahan penggunaan Data Base Management System ? 10 Akademik Komunitas BKPM Basis Data Relasional Praktikum : 4 dan 5 Judul Praktikum : Desain Basis Data Alokasi Waktu : 1. Tujuan Instruksional Khusus Mahasiswa diharapkan mampu : a. Menjelaskan tahapan – tahapan dalam penyusunan basis data b. Menjelaskan model desain basis data 2. Teori Pokok persoalan dalam perancangan basis data adalah: Bagaimana merancang stuktur logikal dan fisikal dari satu atau lebih basis data untuk memenuhi kebutuhan informasi yang diperlukan oleh pemakai sesuai dengan aplikasi – aplikasi yang telah ditentukan. Dari problem di atas dapat dikatakan bahwa tujuan perancangan basis data adalah : 1. Memenuhi kebutuhan informasi sesuai dengan yang diperlukan oleh pemakai untuk aplikasi tertentu. 2. Mempermudah pemahaman terhadap struktur informasi yang tersedia dalam basis data. 3. Memberikan keterangan tentang persyaratan pemrosesan dan kemampuan sistem, seperti lama pengaksesan data, kapasitas memori yang harus ada. Tujuan tersebut sangatlah sukar untuk dipenuhi secara mutlak. Hal ini disebabkan tidak jarang terjadi bahwa perancangan basis data dimulai dengan pendefinisian persyaratan yang seadanya. 11 Akademik Komunitas BKPM Basis Data Relasional Sebaliknya hasil dari rancangan basis data merupakan pendefinisian skema yang kompak dan tidak mudah untuk diubah jika sistem basis data sudah diimplementasikan. Oleh karena itu, diperlukan tahapan proses perancangan basis data yang dapat diharapkan memperoleh hasil yang sesuai dengan tujuan yaitu : a. Koleksi dan analisis persyaratan b. Perancangan konseptual basis data c. Pemilihan DBMS d. Perancangan logikal basis data e. Perancangan fisikal basis data f. Implementasi sistem basis data Proses perancangan basis data terlepas dari masalah yang ditangani dibagi menjadi tiga tahapan yaitu : a. Perancangan basis data secara konseptual : Perancangan basis data seara konseptual merupakan upaya untuk membuat model yang masih bersifat konsep. Tahapan perancangan konseptual meliputi dua kegiatan yang tak dapat dipisahkan, yaitu : Rancangan skema konseptual tentang organisasi data yang harus disimpan dalam basis data. Hasil rancangan konseptual merupakan pemodelan data dari pemahaman dunia nyata yang dituliskan dalam bahasa tingkat tinggi dan tidak terikat dengan DBMS yang akan digunakan. Dalam penyusunan rancangan konseptual ini dimulai dengan identifikasi komponen utama dari skema yaitu jenis entiti, jenis hubungan, dan atribut tiap entiti. Setiap entiti juga ditentukan identitasnya, derajat, dan partisipasi hubungan, dan konstrin. Pada proses ini tidak jarang terjadi perbedaan pandangan antar pemakai, sebagai contohnya ialah : 12 Akademik Komunitas BKPM Basis Data Relasional - Perbedaan pemberian nama. Misal pemakai yang satu memberikan nama jenis entiti PERSIL sebagai representasi petak tanah, sedang pemakai lain menyebut BIDANG. - Perbedaan klasifikasi. Misal pemakai satu mengklasifikasikan FAKULTAS sebagai jenis entiti, tetapi pemakai lain memandang sebagai atribut. - Perbedaaan nilai data. Hal ini sering terjadi pada pendefinisian tipe data. Misalnya saja pada skema yang satu memberi nilai atribut sebagai integer, tetapi pada skema pemakai lain sebagai karakter. - Perbedaan konstrin. Misal terjadi perbedaan dalam hal penentuan identitas tiap entiti,atau perbedaan dalam penentuan derajat dan partisipasi hubungan. Oleh karena itu, sebagai acuan dalam perancangan konseptual dipakai karakteristik sebagai berikut : - Model data harus cukup memberikan tampilan yang menggambarkan perbedaaan jenis data, hubungan dan konstrin (ekspresif). - Model harus dibuat sederhana dan mudah dipahami serta digunakan oleh pemakai yang awam sekalipun (sederhana). - Penyajian model data dibuat dalam diagram yang mudah diinterprestasi (penyajian diagramatik). - Penyajian model data dalam skema harus teliti dan tidak menimbulkan interpretasi yang bisa (akurat). 13 Akademik Komunitas BKPM Basis Data Relasional Rancangan transaksi yang dilakukan untuk memperoleh informasi dari sistem basis data hasil analisis persyaratan. Penyusunan rancangan transaksi tidak dapat lepas dari pemahaman isi basis data yang dibuat pada rancangan konseptual. Dengan kata lain rancangan transaksi ditentukan setelah mengetahui isi data dalam basis data. Dalam kasus tertentu tidak jarang rancangan transaksi ditentukan setelah sistem basis data diimplementasikan. Suatu hal yang penting dalam perancangan basis data adalah pembuatan spesifikasi fungsional dari transaksi data. Hal ini akan menjamin bahwa skema basis data akan mengikutkan semua data yang diperlukan dalam transaksi untuk memperoleh informasi yang diperlukan. Teknik pembuatan spesifikasi transaksi dilakukan dengan melakukan identifikasi data masukan dan data keluaran serta sifat fungsional transaksi. Dengan membuat spesifikasi data masukan, data keluaran dan kontrol alur internal transaksi data, maka perancang dapat membuat model konseptual transaksi yang tidak terikat dengan sistem. Secara umum model transaksi dapat dikelompokkan menjadi tiga fungsi yaitu : - Transaksi pemanggilan : Pemangggilan data untuk ditampilkan di layar monitor atau dicetak sebagai laporan. Misalnya pemanggilan nama dosen yang mengajar mata kuliah tertentu. - Transaksi pembaharuan : Digunakan untuk pemasukan data baru atau perubahan data yang ada dalam basis data. Misal pemasukan nama dosen baru untuk mengajar mata kuliah tertentu. 14 Akademik Komunitas BKPM Basis Data Relasional - Transaksi gabungan : Digunakan untuk kombinasi pemanggilan data dan pembaharuan data. Misalnya saja dalam kasus revisi perubahan pengisian KRS mahasiswa. Pekerjaan pertama adalah melakukan pemanggilan semua mahasiswa yang ikut suatu mata kuliah, kemudian dilakukan penghapusan yang membatalkan kuliah dan pembaharuan data mahasiswa yang mengambil mata kuliah. b. Perancangan basis data secara logis : Perancangan basis data secara logis merupakan tahapan untuk memetakan model konseptual ke model basis data yang akan dipakai (model relasional, hirarkis, atau jaringan). Namun sebagaimana halnya perancangan basis data secara konseptual, perancangan ini tidak tergantung pada DBMS yang akan dipakai. Itulah sebabnya perancangan basis data secara logis terkadang disebut pemetaan model data. Tujuan dari tahap ini adalah menyusun rancangan konseptual dan skema eksternal yang sesuai dengan DBMS yang dipilih. Dalam pekerjaan ini dilakukan transformasi model konseptual dan skema eksternal yang dihasilkan pada tahap sebelumnya ke dalam model data yang sesuai dengan DBMS yang digunakan. Secara umum dilakukan dengan dua langkah yaitu : Pemetaan (transformasi data) yang tidak terikat sistem. Dalam hal ini dilakukan transformasi model data belum menunjuk pada DBMS yang akan digunakan. Yang diperhatikan adalah jenis DBMS yang dipilih apakah hirarki, jaringan, relasional, atau orientasi obyek. Penyusunan skema sesuai dengan DBMS. Tiap DBMS mempunyai kekhususan dalam mengimplementasikan model data dengan menggunakan pemodelan obyek dan konstrin. Oleh karena ini model dan skema harus disesuaikan dengan pemodelan obyek untuk diimplementasikan dengan DBMS yang digunakan. 15 Akademik Komunitas BKPM Basis Data Relasional c. Perancangan basis data secara fisis : Perancangan basis data secara fisis merupakan tahapan untuk menuangkan perancangan basis data yang bersifat logis menjadi basis data fisis yang tersimpan pada media penyimpan eksternal (yang spesifik terhadap DBMS yang dipakai). Perancangan fisikal basis data bertujuan untuk membuat spesifikasi struktur penyimpanan dan jalur akses data sehingga diperoleh kemampuan sistem yang baik untuk berbagai aplikasi. Tiap DBMS akan menawarkan berbagai pilihan untuk melakukan organisasi berkas dan jalur akses data yang meliputi variasi cara membuat indeks, pengelompokkan rekaman dalam blok cakram penyimpan, mengkaitkan data yang berhubungan dengan pointer dan sebagainya. Apabila suatu jenis DBMS sudah dipilih, maka penyusunan basis data harus mengikuti fasilitas dan ketentuan yang ada pada sistem yang telah dipilih. Beberapa hal yang menjadi pertimbangan dalam perancangan fisikal adalah : - Waktu tanggap : Waktu yang digunakan oleh sisitem sejak transaksi basis data dimasukkan untuk dieksekusi sampai mendapat tanggapan dari sistem. Faktor yang mempengaruhi waktu tanggap adalah waktu akses basis data yang dikontrol oleh DBMS. Selain itu juga dipengaruhi oleh sistem pemuatan data pada komputer, sistem oerasi yang digunakan atau adanya penundaan sistem komunikasi. - Penggunaan memori komputer : Merupakan kapasitas memori komputer yang digunakan untuk menyimpan berkas – berkas basis data dan struktur jalur akses. 16 Akademik Komunitas BKPM Basis Data Relasional - Transaksi data : Kemampuan melakukan transaksi data tiap satuan waktu merupakan suatu hal yang kritis. Transaksi data dalam sistem cepat merupakan dambaaan setiap pengguna sistem. Dalam perancangan fisikal juga dilakukan transformasi struktur data yang akan disimpan dengan membuat spesifikasi stuktur tiap berkas data. 3. Alat dan Bahan BKPM Komputer LCD Alat Tulis Kantor 4. Pelaksanaan Praktikum Mahasiswa menjawab pertanyaan pada selembar kertas sesuai dengan arahan dosen pembimbing 5. Tugas dan Latihan 1. Jelaskan tentang tujuan perancangan sistem basis data ? 2. Jelaskan tentang perancangan basis data secara konseptual ? 3. Jelaskan tentang perancangan basis data secara logis ? 4. Jelaskan tentang perancangan basis data secara fisis ? 17 Akademik Komunitas BKPM Basis Data Relasional Praktikum : 6 dan 7 Judul Praktikum : Implementasi Basis Data Alokasi Waktu : 1. Tujuan Instruksional Khusus Mahasiswa diharapkan mampu : a. Menjelaskan implementasi basis data b. Menjelaskan Centralized dan Distributed Database System 2. Teori Sistem basis data merupakan bagian dari sistem informasi yang digunakan pada suatu organisasi. Banyak organisasi yang menggunakan sistem basis data terpusat (“Centralized Database System”) yang dikontrol oleh DBMS tunggal. Hal yang mendorong pemakaian sistem basis data terpusat adalah : Jumlah data yang diperlukan dalam suatu organisasi adalah sangat besar, dan setiap saat memerlukan data yang baru. Perkembangan program aplikasi yang semakin rumit, hubungan antar data yang semakin kompleks untuk dibuat model data dan dikelola. Terdapat kecendenrungan untuk mengadakan konsolidasi sumberdaya informasi antar organisasi. Program dan data saling bebas yang memungkinkan tiap organisasi mengembangkan program aplikasi sesuai dengan kepentingannya. Skema eksternal memungkinkan dengan data yang sama dapat digunakan oleh beberapa program aplikasi, dimana tiap program aplikasi mempunyai pandangan yang berbeda dengan program aplikasi lain. 18 Akademik Komunitas BKPM Basis Data Relasional Disamping itu penetapan untuk berpindah dari sistem pemrosesan berkas ke sistem basis data ditentukan juga oleh faktor biaya yang lebih murah dalam pengembangan program aplikasi baru dari pada pembuatan program pada sistem lama. Sekarang dominasi sistem basis data terpusat bergeser kembali dengan adanya kecenderungan tiap organisasi untuk mengelola sistemnya sendiri. Hal ini disebabkan adanya beberapa faktor berikut ini yaitu : Penggunaan komputer pribadi dan perangkat lunak memberi peluang para pemakai untuk mengelola data sendiri. Dalam hal ini dengan sistem yang dikelola sendiri juga dapat melakukan pemrosesan data yang diperoleh dari sistem basis data terpusat, dan kemudian menyimpan data hasil proses tersebut dalam sistem sendiri atau sistem basis data yang ada. Kehadiran Sistem Manajemen Basis Data Terdistribusi (“Distributed Database Management System”) memberi peluang menyebarkan basis data pada beberapa sistem komputer dengan kontrol lokal yang lebih baik. Pada saat yang bersamaan pemakai pada sistem lokal dapat mengakses data dari sistem lokal yang lain. Penggunaan sistem kamus data (“Data Dictionary System”) yang dilakukan oleh banyak organisasi untuk mengelola data dalam basis data sebagai alat untuk integrasi manajemen sumberdaya. Sistem kamus data merupakan DBMS mini untuk manajemen data yang meliputi dekripsi struktur basis data, konstrin, aplikasi, otoritas pemakai, hak mengakses data, dan sebagainya. Informasi ini sangat penting untuk perancangan sistem dan para pemakai yang mempunyai otoritas. Dalam organisasi yang besar sistem kamus data sama pentingnya dengan DBMS. 19 Akademik Komunitas BKPM Basis Data Relasional Pada perkembangan terakhir, penekanan lebih cenderung pada kemampuan sistem pemrosesan transaksi (“transaction processing systems”) yang tidak pernah berhenti selama sistem berjalan. Sistem basis data kemungkinan diakses oleh banyak pemakai dan sistem harus melakukan pemrosesan ratusan transaksi per-menit dari terminal lokal atau terminal jauh. Dalam hal ini kemampuan sistem baik harus mampu melakukan proses transaksi tersebut. Hal ini dapat berjalan jika didukung oleh perancangan basis data fisikal yang seksama dengan memperhatikan proses transaksi yang dikehendaki oleh pemakai sistem. Centralized dan Distributed Database System Physical Creation 2 Design 1 Conversion 3 For New Aplication Growth change & Maintenance 6 Integration 4 Operation 5 20 Akademik Komunitas BKPM Basis Data Relasional Centralized Database System : adalah database yang dikontrol secara terpusat Keuntungannya : Redundansi dapat dikurangi Inconcistency dapat dihilangkan Memudahkan shared data Data dapat distandarkan dengan data dictionary Kontrol security dapat dilakukan Integritas dapat dipertahankan Pertentangan kebutuhan antar user dapat diatasi Distributed Database System : adalah database yang ada tersebar pada masing – masing terminal yang saling berhubungan lewat jalur komunikasi. Database tersebar pada tingkat konseptual dan logikal hendaknya dianggap seperti database terpusat, perbedaannya hanya pada tingkat inernal / fisikal Keuntungannya : Kontrol local oleh Database Administrator ditambah proteksi terhadap transmisi komunikasi Pengontrolan sedikit ditetankan 3. Alat dan Bahan BKPM Komputer LCD Alat Tulis Kantor 4. Pelaksanaan Praktikum Mahasiswa menjawab pertanyaan pada selembar kertas sesuai dengan arahan dosen pembimbing 21 Akademik Komunitas BKPM Basis Data Relasional 5. Tugas dan Latihan 1. Jelaskan mengapa perlunya pemakaian sistem basis data secara terpusat ? 2. Jelaskan pengertian dari Centralized Database System dan Distributed Database System ? 3. Jelaskan keuntungan dari Centralized Database System dan Distributed Database System ? 22 Akademik Komunitas BKPM Basis Data Relasional Praktikum : 8 dan 9 Judul Praktikum : Teori E - R Model Alokasi Waktu : 1. Tujuan Instruksional Khusus Mahasiswa diharapkan mampu : a. Mendesain Database Relational dengan Teori E - R Model b. Menjelaskan penggunaan Teori E - R Model 2. Teori Notasi dan Penamaan untuk Konstruksi Skema Diagram E – R Model yaitu : No Simbol Keterangan Entity Type 1. Suatu yang ada ( secara eksplisit ada ) namun keberadaannya dapat nyata, dapat virtual, serta perbedaan antar entity harus jelas. Example : Pegawai, Departemen Weak Entity Type Suatu entity yang tidak punya key atribut, 2. keberadaannya tidak perlu berdiri sendiri atau diluar system. Di dalam weak entity dimungkinkan satu weak mempunyai banyak entity atau setidak – tidaknya memiliki satu relasi. 23 Akademik Komunitas BKPM Basis Data Relasional Example : Karyawan Departemen Salary Attribute Keterangan yang dimiliki Entity atau sifat – sifat yang melekat pada entity yang perlu 3. dicatat Example : Pegawai Nopeg, Nama, Alamat, Jenis Kel, Tgl Masuk Key Atrtribute Bila didalam attribute terdapat nilai sama, maka kita perlu membuat “ Key Attribute “ sehingga dipastikan tidak akan terjadi nilai atau record yang sama 4. Example : Pegawai Sebagai Key adalah NoPeg NoPeg Nama Alamat P01 Friska Bandung P02 Friska Malang 24 Akademik Komunitas BKPM Basis Data Relasional Multivalued Attribute Satu Entity yang memiliki dua attribute sama Example : 5. Departemen yang memiliki dua lokasi pabrik Departemen Lokasi Hal ini bukan berarti bias untuk orang yang mempunyai dua nama dua alamat Composite Attribute Attribute yang mempunyai nilai attribute lebih dari satu Example : Nama : 6. - Nama Depan - Nama Tengah - Nama Belakang Alamat : - Jalan - Nomer - Kota Derived Attribute Merupakan kombinasi dari attribute – attribute dimana keberadaannya tidak perlu disimpan 7. Example : 25 Akademik Komunitas BKPM Basis Data Relasional Mata Kuliah MHS Nilai Relationship Type Menyatakan hubungan antar attribute sehingga terjadi pemetaan Example : M MHS Bisa Ambil N Mata Kuliah 8. # * # . # * # Range Domain 9. 26 Akademik Komunitas Kodoman BKPM Basis Data Relasional Identifying Relationship Type Bila entity mempunyai hubungan lebih dari satu entity lain F1 F2 3. Alat dan Bahan BKPM Komputer LCD Alat Tulis Kantor 4. Pelaksanaan Praktikum Mahasiswa menjawab pertanyaan pada selembar kertas sesuai dengan arahan dosen pembimbing 5. Tugas dan Latihan A. Untuk keperluan penjelasan konsep dan penggunaan E – R Model, digunakan satu contoh basis data “ Pabrik “ yang didalamnya terdapat : - Data Pegawai - Data Divisi - Data Proyek 27 Akademik Komunitas BKPM Basis Data Relasional Keterangan dari basis data Pabrik yaitu : 1. Pabrik terdiri dari sejumlah Divisi dimana setiap Divisi mempunyai satu nama yang unik, nomor yang unik. Dan seorang pegawai yang bertindak sebagai Manager dari Divisi, tanggal mulai bekerja dan Manager juga dicatat dalam database ( tanggal pengangkatan sebagai manajer ). Satu Divisi dapat tersebar di sejumlah lokasi. 2. Satu Divisi dapat mengendalikan sejumlah Proyek. Setiap Proyek mempunyai satu nama yang unik, nomor yang unik dan satu lokasi tertentu. 3. Data Pegawai yang perlu dicatat berupa : Nama, Social Security, Number, Address, Salary, Sex, Birthdate. Seorang Pegawai ditempatkan di satu Divisi, tetapi dapat bekerja di sejumlah Proyek yang tidak harus dikendalikan oleh Divisi, dimana Pegawai tersebut ditempatkan. Jumlah jam per minggunya dari Pegawai yang bekerja pada suatu Proyek perlu dicatat, juga perlu dicatat Supervisor langsung dari setiap pegawai. 4. Untuk tujuan atau keperluan asuransi pegawai, maka perlu dicatat anggota keluarga dari setiap pegawai. Data yang dicatat berupa : Nama, Anggota keluarga, Sex, Birthdate, Hubungan keluarga. a. Buat dan Gambarkanlah E – R Model dari masing – masing keterangan diatas ? b. Dari keempat contoh diatas dapat digabungkan gambarnya menjadi satu gambar E – R model ? 28 Akademik Komunitas BKPM Basis Data Relasional B. Gambarkan E – R Model dari kebutuhan aplikasi di bawah ini : Kebutuhan aplikasi Basis data dari suatu jasa pendidikan yang melakukan proses penjadwalan kursus dan nilai siswa serta pelatihan tutor, yang didalamnya mencatat Entity sebagai berikut : - Siswa - Tutor - Mata Kuliah - Pelatihan Adapun informasinya kebutuhannya adalah sebagai berikut : 1. Pendidikan jasa tersebut memiliki beberapa Mata Kuliah yang mencatat nomor mata kuliah ( unik untuk setiap mata kuliah ), nama mata kuliah, sks mata kuliah. Juga memiliki beberapa Tutor yang mencatat NoTutor ( unik setiap Tutor ), Nama Tutor ( dibagi dalam Fname, Nnama ), Alamat, Telp, Jenis Kelamin, Sejumlah Keahlian. Serta beberapa Siswa yang mencatat NoSiswa ( unik setiap siswa ), Nama, Alamat, Telp, Jenis Kelamin. 2. Setiap Tutor diwajibkan mengikuti Pelatihan yang diselenggarakan lembaga dimana mencatat NoPelatihan ( unik ), Jenis Pelatihan, Nama Pelatihan. Dimana setiap Tutor boleh mengikuti beberapa jadwal Pelatihan dan setiap jadwal Pelatihan boleh diikuti oleh beberapa Tutor dimana perlu mencatat Nojadwal ( unik ), Hari, Jam , Lokasi. 3. Setiap Siswa mempunyai transkip dari beberapa mata kuliah dan setiap mata kuliah bisa ada di beberapa transkip siswa dimana perlu dicatat semester ( unik setiap transkip ), Nilai akhir, Grade ( keberadaannya tidak perlu disimpan ) 29 Akademik Komunitas BKPM Basis Data Relasional 4. Setiap Mata Kuliah akan dijadwalkan ke beberapa Tutor dan Tutor mempunyai beberapa jadwal Mata Kuliah dimana perlu dicatat, hari, dan jam ( unik untuk setiap jadwal ) dan ruang kelas. 30 Akademik Komunitas BKPM Basis Data Relasional Praktikum : 10, 11 dan 12 Judul Praktikum : Teori Normalisasi Alokasi Waktu : 1. Tujuan Instruksional Khusus Mahasiswa diharapkan mampu : a. Menjelaskan pengertian dari Teori Normalisasi b. Mendesain Database Relational dengan menggunakan Teori Normalisasi 2. Teori Istilah Normalisasi berasal dari E. F. Codd, salah seorang perintis teknologi basis data. Selain dipakai sebagai metodologi tersendiri untuk menciptakan struktur tabel ( relasi ) dalam basis data ( dengan tujuan untuk mengurangi kemubaziran data ), normalisasi terkadang hanya dipakai sebagai perangkat verifikasi terhadap tabel – tabel yang dihasilkan oleh metodologi lain ( misalnya E – R ). Normalisasi memberikan panduan yang sangat membantu bagi pengembang untuk mencegah penciptaan struktur tabel yang kurang fleksibel atau mengurangi ketidakefisienan. Kronkoe mendefinisikan normalisasi sebagai proses untuk mengubah suatu relasi yang memiliki masalah tertentu ke dalam dua buah relasi atau lebih yang tak memiliki masalah tersebut. Masalah yang dimaksud oleh Kroenke ini sering disebut dengan isitilah Anomali. Proses Normalisasi Proses untuk memecahkan suatu transaksi, kemudian mengelompokkan atribut – atribut seseuai dengan jenisnya tetapi mempunyai ketergantungan antar grup atribut dan membutuhkan formulir dan data. 31 Akademik Komunitas BKPM Basis Data Relasional Bentuk Normal Aturan – aturan normalisasi dinyatakan dalam istilah bentuk normal. Bentuk normal adalah suatu aturan yang dikenakan pada relasi – relasi dalam basis data dan harus dipenuhi oleh relasi – relasi tersebut pada level – level normalisasi. Suatu relasi dikatakan berada dalam bentuk normal tertentu jika memenuhi kondisi – kondisi tertentu. Misalnya suatu relasi berada dalam bentuk normal pertama ( biasa disebut INF ) jika hanya jika setiap atribut bernilai tunggal untuk setiap baris. Beberapa level yang biasa digunakan pada normalisasi adalah : Bentuk Normal Pertama ( INF ) : Bentuk normal pertama biasa dikenakan pada tabel yang belum ternormalisasi. Tabel yang belum ternormalisasi adalah tabel yang memiliki atribut yang berulang. Sebagai contoh berikut adalah data dalam keadaan belum ternormalisasi. NIP NAMA 115 Riska 109 Dea 178 Farel JABATAN KEAHLIAN Analisis Yunior Ms SQL Server 2 Ms SQL 2 Linux 5 Oracle 5 Delphi 3 Fox Pro 3 Linux 3 Analisis Senior Pemrogramer LAMA (Tahun) Pada contoh di atas, Keahlian menyatakan atribut yang berulang ( misalnya, Farel memiliki tiga keahlian, dan Riska memiliki dua keahlian ). Bentuk seperti ini perlu diubah menjadi bentuk normal pertama. 32 Akademik Komunitas BKPM Basis Data Relasional Definisi bentuk Normal pertama adalah sebagai berikut : Suatu relasi dikatakan dalam bentuk normal pertama jka dan hanya jika setiap atribut bernilai tunggal untuk setiap baris. Data yang tak ternormalisasi dapat diubah ke dalam bentuk normal pertama dengan cara membuat setiap baris berisi kolom dengan jumlah yang sama dan setiap kolom hanya mengandung satu nilai. NIP JABATAN KEAHLIAN 115 Riska Analisis Yunior Ms SQL Server 2 115 Riska Analisis Yunior Ms SQL 2 109 Dea Analisis Senior Linux 5 109 Dea Analisis Senior Oracle 5 178 Farel Pemrogramer Delphi 3 178 Farel Pemrogramer Fox Pro 3 178 Farel Pemrogramer Linux 3 NAMA LAMA (Tahun) Bentuk Normal Kedua ( 2NF ) : Suatu relasi berada dalam bentuk normal kedua jika dan hanya jika : - Berada pada bentuk normal kedua. - Semua atribut bukan kunci memiliki depedensi sepenuhnya terhadap kunci primer. Dalam ungkapan yang lebih praktis, bentuk normal kedua mesyaratkan setiapatribut bergantung kepada kunci primer. Untuk mengubah suatu relasi yang tergolong sebagai bentuk normal pertama ke bentuk normal kedua dilakukan dekomposisi dapat dekomposisi dilakukan terhadap dengan relasi tersebut. menggambarkan Proses diagram dependensi fungsional terlebih dahulu. Berdasarkan diagram ini, relasi dalam bentuk normal pertama dipecah ke dalam sejumlah relasi. 33 Akademik Komunitas BKPM Basis Data Relasional NIP NAMA JABATAN KEAHLIAN LAMA (Tahun) 115 Riska Analisis Yunior Ms SQL Server 2 115 Riska Analisis Yunior Ms SQL 2 109 Dea Analisis Senior Linux 5 109 Dea Analisis Senior Oracle 5 178 Farel Pemrogramer Delphi 3 178 Farel Pemrogramer Fox Pro 3 178 Farel Pemrogramer Linux 3 Diagram depedensi fungsional untuk relasi di atas diperlihatkan sebagai berikut : Nama NIP Jabatan Lama Keahlian Diagram dependensi fungsional di atas menjelaskan bahwa : - NAMA dan JABATAN memiliki dependensi fungsional terhadap NIP - LAMA mempunyai dependensi fungsional terhadap gabungan NIP dan KEAHLIAN 34 Akademik Komunitas BKPM Basis Data Relasional Berdasarkan diagram dependensi fungsional tersebut, pendekomposisiannya menghasilkan dua buah relasi, yang katakanlah saja disebut NNJ dan NKP. Kedua relasi tersebut adalah sebagai berikut : NNJ ( NIP, NAMA, JABATAN ) NKP ( NIP, KEAHLIAN, LAMA ) Pada kedua relasi di atas, tanda garis bawah digunakan untuk menyatakan kunci primer masing – masing relasi. Dengan pendekomposisian seperti di atas, isi kedua relasi tersebut akan berupa sebagaimana dibawah ini : Relasi NNJ NIP NAMA JABATAN 115 Riska Analisis Yunior 109 Dea Analisis Senior 178 Farel Pemrogramer Relasi NKP NIP KEAHLIAN LAMA 115 Ms SQL Server 2 115 Ms SQL 2 109 Linux 5 109 Oracle 5 178 Delphi 3 178 Fox Pro 3 178 Linux 3 35 Akademik Komunitas BKPM Basis Data Relasional Contoh berikut menggambarkan proses dekomposisi relasi yang tergolong dalam bentuk normal pertama ke bentuk normal kedua seperti berikut : Terdapat relasi R : R ( A, B, C, D ) Kunci Primer ( A, B ) A -----) D R dapat digantikan dengan dua proyeksi R1 dan R2 R1 ( A, D ) Kunci Primer ( A ) R2 ( A, B, C ) Kunci Primer ( A, B ) Kunci Tamu ( A ) Referensi R1 Bila rumusan di atas dikenakan pada relasi berikut : Nomer_Pesanan Tgl_Pesanan Item Total 50001 12-05-1997 P1 45.000 50001 12-05-1997 P2 45.000 50001 12-05-1997 P3 45.000 50001 12-05-1997 P4 45.000 50002 12-05-1997 P3 32.500 50002 12-05-1997 P5 32.500 50002 12-05-1997 P6 32.500 50003 13-05-1997 P1 12.000 50003 13-05-1997 P2 12.000 36 Akademik Komunitas BKPM Basis Data Relasional Maka akan diperoleh dua relasi yaitu : Pesanan1 ( Nomer_Pesanan, Tgl_Pesanan, Total ) Pesanan2 ( Nomer_Pesanan, Item ) Dalam hal ini Nomer_Pesanan bertindak sebagai kunci primer Pesanan1 dan gabungan Nomer_Pesanan dan Item bertindak sebagai kunic primer pada Pesanan2. Pada Pesanan2, Nomer_Pesanan menjadi kunci tamu yang mereferensi ke Pesanan1. Berikut adalah isi masing – masing relasi Pesanan1 dan Pesanan2 Relasi Pesanan1 Nomer_Pesanan Tgl_Pesanan Total 50001 12-05-1997 45.000 50002 12-05-1997 32.500 50003 13-05-1997 12.000 Relasi Pesanan2 Nomer_Pesanan Item 50001 P1 50001 P2 50001 P3 50001 P4 50002 P3 50002 P5 50002 P6 50003 P1 50003 P2 37 Akademik Komunitas BKPM Basis Data Relasional Masalah yang masih sering terjadi pada relasi yang tergolong pada bentuk normal kedua diakibatkan oleh adanya dependensi transitif. Dependensi transitif mengakibatkan kemungkinan munculnya permasalahan sebagaimana pada bentuk normal pertama. Bentuk Normal Ketiga ( 3NF ) : Definisi bentuk normal ketiga ialah: Suatu relasi dapat dikatakan dalam bentuk normal ketiga ( 3NF ) jika : Berada dalam bentuk normal kedua Setiap atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci primer. Relasi NNJ dan NKP pada contoh didepan memenuhi kriteria di atas, sehingga kedua relasi tersebut masuk ke dalam bentuk normal ketiga. Begitu juga halnya dengan relasi Pesanan1 dan Pesanan2 Contoh suatu relasi yang memenuhi bentuk normal kedua tetapi tidak memenuhi bentuk normal ketiga sebagai berikut : Nomer_Pesanan Nomer_Urut Kode_Item Nama_Item 50001 0001 P1 Pensil 50001 0002 P2 Buku Tulis 50001 0003 P3 Penggaris 50001 0004 P4 Penghapus 50002 0001 P3 Penggaris 50002 0002 P5 Pulpen 50002 0003 P6 Spidol 50003 0001 P1 Pensil 50003 0002 P2 Buku Tulis Pada contoh di atas, kunci primer relasi berupa gabungan Nomer_Pesanan dan Nomer_Urut. Baik Kode_Item maupun Nama_Item 38 Akademik Komunitas BKPM Basis Data Relasional mempunyai dependensi fungsional terhadap kunci primer tersebut. Namun perlu diperhatikan bahwa bila Kode_Item bernilai sama, Nama_Item juga bernilai sama. Hal ini menunjukkan adanya suatu depedensi diantara kedu atribut tersebut. Lalu manakah yang menjadi penentu ? Apakah Kode_Item bergantung pada Nama_Item atau sebaliknya ? Suatu item bisa saja memiliki nama sama, tetapi mempunyai karakteristik yang berbeda. Sebagai contoh, dua buah mobil bisa saja diberi nama sama, tetapi masing – masing mempunyai warna tersendiri. Pada keadaan seperti ini tidaklah bisa dikatakan bahwa Nama_Item-lah yang menentukan Kode_Item. Lebih tepat kalau Kode_Item yang menjadi penentu. Jadi Nama_Item memiliki dependensi fungsional terhadap Kode_Item. Adanya dependensi Nama_Item terhadap Kode_Item pada relasi ini menunjukkan bahwa Nama_Item tidak memiliki dependensi secara langsung terhadap kunci primer ( gabungan Nomer_Pesanan dan Nomer_Urut ). Dengan kata lain, Nama_Item memiliki dependensi transitif terhadap kunci primer. Agar relasi memenuhi bentuk normal ketiga maka diperlukan langkah normalisasi dengan pendekatan berikut : Bila terdapat relasi R seperti berikut : R ( A, B, C ) Kunci Primer ( A ) B -----) C Maka relasi R dapat digantikan dengan dua proyeksi R1 dan R2, dengan bentuk sebagai berikut : R1 ( B, C ) 39 Akademik Komunitas BKPM Basis Data Relasional Kunci Primer ( B ) R2 ( A, B ) Kunci Primer ( A ) Kunci Tamu ( B ) Referensi R1 Dengan menggunakan pendekatan diatas, maka relasi didekomposisi menjadi dua relasi. Nomer_Pesanan Nomer_Urut Kode_Item 50001 0001 P1 50001 0002 P2 50001 0003 P3 50001 0004 P4 50002 0001 P3 50002 0002 P5 50002 0003 P6 50003 0001 P1 50003 0002 P2 Kode_Item Nama_Item P1 Pensil P2 Buku Tulis P3 Penggaris P4 Penghapus P5 Pulpen P6 Spidol 40 Akademik Komunitas dapat BKPM Basis Data Relasional Bentuk Normal Boyce – Codd ( BCNF ) : Definisi bentuk normal Boyce – Codd ialah: Suatu relasi disebut memenuhi bentuk normal Boyce – Codd jika hanya jika semua penentu ( determinan ) adalah kunci kanditat ( atribut yang bersifat unik ) BCNF merupakan bentuk normal sebagai perbaikan terhadap 3NF. Suatu relasi yang memenuhi BCNF selalu memenuhi 3NF, tetapi tidak untuk sebaliknya. Suatu relasi yang memenuhi 3NF belum tentu memenuhi BCNF. Dalam banyak literatur disebutkan bahwa BCNF adalah perbaikan dari 3NF, karena bentuk normal ketigapun mungkin masih mengandung anomali sehingga masih perlu dinormalisasikan lebih lanjut. Untuk melukiskan relasi yang tergolong sebagai 3NF tetapi tidak memenuhi BCNF, perhatikan relasi Siswa Kursus Tutor ( SKT ) di bawah ini : Siswa Kursus Tutor Adi Bahasa Prancis Pierre Adi Bahasa Inggris Richard Toni Bahasa Prancis Pierre Faisal Bahasa Inggris Suzanne Relasi di atas didasarkan oleh fakta : - Seseorang siswa dapat mengambil sejumlah kursus bahasa - Setiap tutor hanya mengajar pada sebuah kursus bahasa ( misalnya, Pierre hanya mengajar bahasa Prancis ) - Setiap siswa pada setiap kursus bahasa hanya diajar oleh seseorang tutor ( misalnya, tutor bahasa Inggris pada kelas Adi hanyalah Richard ) 41 Akademik Komunitas BKPM Basis Data Relasional - Suatu kursus bahasa yang sama bisa saja memiliki lebih dari satu tutor ( misalnya, ada kelas bahasa Inggris yang diajar Richard dan ada kelas bahasa Inggris yang lain yang diajar oleh Suzanne ). Pada keadaan ini, kunci relasi SKT berupa gabungan : - Siswa dan Kursus - Siswa dan Tutor Relasi SKT memenuhi bentuk normal ketiga, mengapa ? Sebab tak ada depedensi transitif pada relasi tersebut. Namun relasi SKT tidak memnuhi BCNF lantaran adanya determinan Tutor ( yang menentukan Kursus ) dan determinan ini tidak berdiri sebagai kunci kanditat. Dibawah ini menunjukkan diagram dependensi fungsional pada relasi SKT. Siswa Tutor Kursus Relasi SKT masih menimbulkan anomali. Sebagai contoh, bila baris yang berisi siswa bernama Faisal dihapus maka informasi yang menyatakan bahwa Suzanne adalah tutor bahasa Inggris akan ikut hilang Cara mengkonversi relasi yang telah memenuhi bentuk normal ketiga ke BCNF adalah : a. Carilah semua penentu b. Bila terdapat penentu yang bukan berupa kunci kanditat, maka 42 Akademik Komunitas BKPM Basis Data Relasional c. Pisahkan relasi tersebut dan d. Buat penentu tersebut sebagai kunci primer Itulah sebabnya, agar memenuhi BCNF, relasi SKT perlu didekomposisi menjadi : ST ( Siswa, Tutor ) TK ( Tutor, Kursus ) Komposisi data kedua relasi di atas dapat digambarkan sebagai berikut Relasi ST Siswa Tutor Adi Pierre Adi Richard Toni Pierre Faisal Suzanne Relasi TK Tutor Kursus Pierre Bahasa Prancis Richard Bahasa Inggris Suzanne Bahasa Inggris Depedensi Nilai Banyak dan Bentuk Normal Keempat ( 4 NF ) Depedensi nilai banyak merupakan terjemahan dari multivalued dependency ( MVD ). Depedensi ini pertama kali diperkenalkan oleh R. Fagin pada tahun 1997, dipakai pada bentuk normal Keempat ( 4NF ). Depedensi ini dipakai untuk menyatakan hubungan satu ke banyak. 43 Akademik Komunitas BKPM Basis Data Relasional Contoh hubungan satu ke banyak dapat dilihat dibawah ini : Dosen Farrell Pebasket Pendaki Untuk memahami konsep dependensi nilai banyak, perhatikan tabel berikut : Mata Kuliah Dosen Pengetahuan Komputer Isi Keysa Dasar Komputer Friska Pengenalan Pengolah Kata Pengenalan Lembar Kerja Matematika 1 Friska Diferensial Integral Tabel di atas mengungkapan tentang dosen yang mengajar matakuliah dan isi matakuliah bersangkutan. Sebagai contoh, ada dua dosen yang mengajar Pengetahuan Komputer, yaitu Keysa dan Friska. Adapun isi matakuliah Pengetahuan Komputer berupa : Dasar Komputer, Pengenalan Pengolah Kata, Pengenalan Lembar Kerja. Tabel di bawah ini memperlihatkan relasi yang dinormalisasikan : Mata Kuliah Dosen Isi Pengetahuan Komputer Keysa Dasar Komputer Pengetahuan Komputer Keysa Pengenalan Pengolah Kata Pengetahuan Komputer Keysa Pengenalan Lembar Kerja Pengetahuan Komputer Friska Dasar Komputer 44 Akademik Komunitas telah BKPM Basis Data Relasional Pengetahuan Komputer Friska Pengenalan Pengolah Kata Pengetahuan Komputer Friska Pengenalan Lembar Kerja Matematika 1 Friska Diferensial Matematika 1 Friska Integral Relasi di atas merupakan contoh relasi yang memiliki kemubaziran dan tentu saja membawa kemungkinan terjadinya berbagai anomali. Salah satu contoh, bila matakuliah Matematika 1 diajar oleh seseorang dosen baru maka ada dua baris yang perlu diciptakan. Baris pertama untuk menyatakan ISI Diferensial dan bars kedua untuk menyatakan ISI Integral. Contoh lain, bila Friska tidak lagi mengajar Matematika 1 maka informasi bahwa isi matematika adalah Diferensial dan Integral ikut menghilang. Meskipun demikian relasi ini memenuhi persyaratan BCNF. Hal ini disebabkan kunci primer relasi ini berupa gabungan Matakuliah, Dosen, dan Isi. Masalah relasi yang memenuhi BCNF sebagaimana kasus diatas sebenarnya dapat dipecahkan melalui dekomposisi. Hal ini disebabkan adanya kenyataan bahwa antara Dosen dan Isi tidak ada ketergantungan. Solusi yang tepat terhadap masalah ini diajukan oleh R. Fagin melalui konsep dependensi nilai banyak. Secara umum depedensi nilai banyak muncul pada relasi yang paling tidak memiliki tiga atribut dan dua di antaranya bernilai banyak dan nilai nilai tergantung hanya pada atribut ketiga. Pada suatu relasi R dengan atribut A, B, C, atribut B dikatakan bersifat multidependen terhadap A jika : - Sekumpulan nilai B yang diberikan pada pasangan ( A, C ) hanya tergantung pada nilai A dan - Tak tergantung pada nilai C 45 Akademik Komunitas BKPM Basis Data Relasional Hubungan di atas dinyatakan dengan : A -----) B ( dibaca : “ A menentukan banyak nilai B “ atau “ B multidependen terhadap A “ ). Teorema Fagin yang berkaitan dengan dependensi nilai banyak Bila R (A, B, C ) merupakan suatu relasi, dengan A, B, C adalah atribut – atribut relasi tersebut, maka proyeksi dari R berupa ( A, B ) dan ( A, C ) jika R memenuhi MVD A -----) B | C Perlu diketahui bila terdapat : A -----) B A -----) C Maka keduanya dapat ditulis menjadi : A -----) B | C Berdasarkan teorema Fagin diatas, relasi tersebut dapat didekomposisi menjadi dua relasi sebagaimana terlihat dibawah ini : Matakuliah Dosen Pengetahuan Komputer Keysa Pengetahuan Komputer Friska Matematika 1 Friska Relasi - relasi seperti di atas memenuhi bentuk normal keempat ( 4 NF ) Secara praktis, suatu relasi memenuhi bentuk normal keempat ( 4 NF ) jika : - Telah berada pada BCNF dan - Tidak mengandung dua atribut atau lebih yang bernilai banyak 46 Akademik Komunitas BKPM Basis Data Relasional Depedensi Gabungan dan Bentuk Normal Kelima ( 5 NF ) Depedensi gabungan mendasari bentuk normal kelima Suatu relasi R ( X, Y,…..Z ) memenuhi dependensi gabungan jika gabungan dari proyeksi A, B,……C dengan A, B,….C merupakan subhimpunan dari stribut – atribut R. Dependensi gabungan seseuai dengan definisi di aas dinyatakan dengan notasi : * ( A, B, ……., C ) Dengan A = XY, B = YZ, C = ZX Sebagai contoh, terdapat hubungan dealer yang mengageni suatu perusahaan distributor kendaraan. Dalam hal ini distributor memiliki sejumlah produk kendaraan Dealer Distributor Kendaraan PT Makmur Sentosa Honda Honda Jazz PT Makmur Sentosa Toyota Toyota Camry PT Makmur Sentosa Toyota Kijang Innova PT Maju Sejahtera Honda Honda Odissey Relasi di atas memenuhi depedensi gabungan * ( Dealer Distributor, Distributor Kendaraan, Dealer Kendaraan ). Oleh karena itu, relasi Dealer, Distributor, Kendaraan ( DDK ) dapat didekomposisi menjadi tiga relasi : Deal_Dist ( Dealer, Distributor ) Dist_Kend ( Distributor, Kendaraan ) Deal_Kend ( Dealer, Kendaraan ) Gabungan ketiga relasi di atas akan membentuk relasi DDK 47 Akademik Komunitas BKPM Basis Data Relasional Perlu diketahui bahwa gabungan dari dua proyeksi - proyeksi di atas bisa jadi menghasilkan relasi antara yang mengandung baris yang salah. Namun gabungan ketiga proyeksi akan menghasilkan relasi yang sesuai dengan aslinya. Bentuk normal kelima ( 5 NF ) yang terkadang disebut PJ / NF ( Projection – Join / Normal Form ), menggunakan acuan depedensi gabungan. Suatu relasi berada dalam 5 NF jika hanya jika setiap depedensi gabungan dalam R tersirat oleh kunci kanditat relasi R. Secara praktis dapat dikatakan bahwa suatu relasi R berada dalam 5 NF jika data yang ada padanya tak dapat lagi didekomposisi menjadi relasi - relasi yang lebih kecil dengan kumci kanditat relasi – relasi yang lebih kecil ini tidak sama dengan kunci kandidat relasi. Relasi – relasi seperti Deal_Dist, Disi_Kend dan Deal_Kend memenuhi 5 NF, sedangkan relasi DDK tidak memenuhi bentuk normal kelima. 3. Alat dan Bahan BKPM Komputer LCD Alat Tulis Kantor 4. Pelaksanaan Praktikum Mahasiswa menjawab pertanyaan pada selembar kertas sesuai dengan arahan dosen pembimbing 5. Tugas dan Latihan 48 Akademik Komunitas