MODUL PROGRAM KEAHLIAN GANDA Desain Sistem Basis Data Paket Keahlian Rekayasa Perangkat Lunak Kelompok Kompetensi A Penulis : Abdul Munif, S.Pd, S.ST, M.Kom Direktorat Jenderal Guru dan Tenaga Kependidikan Kementrian Pendidikan dan Kebudayaan Tahun 2017 2 Penulis: 1. Abdul Munif, S.Pd, S.ST, M.Kom Penelaah: 1. 2. Alwan Ali Latief, S.T, MT Fathahillah, S.Pd., M.Eng. Ilustrator: 1. 2. Faizal Reza Nurzeha, Amd Sierra Maulida Asrin, ST Layouter: 1. Janwar Fajrin, S.T [085299970328] Copyright ©2017 Lembaga Pengembangan dan Pemberdayaan Pendidikan Tenaga Kependidikan Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi. Hak Cipta Dilindungi Undang-Undang Dilarang mengkopi sebagian atau keseluruhan isi buku ini untuk kepentingan komersial tanpa izin tertulis dari Kementrian Pendidikan Kebudayaan. i KATA SAMBUTAN Peran guru profesional dalam proses pembelajaran sangat penting sebagai kunci keberhasilan belajar siswa. Guru Profesional adalah guru yang kopeten membangun proses pembelajaran yang baik sehingga dapat menghasilkan pendidikan yang berkualitas. Hal ini tersebut menjadikan guru sebagai komponen yang menjadi fokus perhatian pemerintah pusat maupun pemerintah daerah dalam peningkatan mutu pendidikan terutama menyangkut kopetensi guru. Pengembangan profesionalitas guru melalui program Pembinaan Karir merupakan upaya peningkatan kompetensi untuk semua guru. Sejalan dengan hal tersebut, pemetaan kompetensi guru telah dilakukan melalui uji kompetensi guru (UKG) untuk kompetensi pedagogik dan profesional pada akhir tahun 2015. Hasil UKG menunjukanpeta kekuatan dan kelemahan kompetensi guru dalam penguasaan pengetahuan. Peta kompetensi guru tersebut dikelompokan menjadi 10 (sepuluh) kelompok kompetensi. Tindak lanjut pelaksanaan UKG diwujudkan dalam bentuk pelatihan guru paska UKG melalui program Guru Pembelajar. Tujuannya untuk meningkatkan kompetensi guru sebagai agen perubahaan dan sumber belajar utama bagi peserta didik. Program Guru Pembelajar dilaksanakan melalui pola tatap muka, daring (online) dan campuran (blended) tatap muka dengan online. Pusat Pengembangan dan Pemberdayaan Pendidik dan Tenag Kependidikan (PPPPTK), Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependidikan Kelautan Perikanan Teknologi Informasi dan Komunikasi (LP3TK KPTK) dan Lembaga Pengembangan dan Pemberayaan Kepala Sekolah (LP2KS) merupakan Unit Pelaksana Teknis di lingkungan Direktorat Jendral Guru dan Tenaga Kependidikan yang bertanggung jawab dalam mengembangkan perangkat dan melaksanakan peningkaan kompetensi guru sesuai dengan bidangnya. Adapun peragkat pembelajaran yang dikembangkan tersebut adalah modul untuk program Pembinaan Karir untuk semua mata pelajaran dan kelompok kompetensi. Dengan modul ini diharapkan program Pembinaan Karir memberikan sumbangan yang sangat besar dalam peningkatan kualitas kompetensi guru. Mari kita sukseskan program Pembinaan Karir ini untuk mewujudkan Guru Mulia Karena Karya. Jakarta, Februari 2016 Direktur Jendral Guru dan Tenaga Kependidikan Sumarna Surapranata, Ph.D NIP. 195908011985031002 iii iv KATA PENGANTAR Profesi guru dan tenaga kependidikan harus dihargai dan dikembangkan sebagai profesi yang bermartabat sebagaimana diamanatkan Undang-Undang Nomor 14 Tahun 2005 tentang Guru dan Dosen. Hal ini dikarenakan guru dan tenaga kependidikan merupakan tenaga profesional yang mempunyai fungsi, peran, dan kedudukan yang sangat penting dalam mencapai visi pendidikan 2025 yaitu “Menciptakan Insan Indonesia Cerdas dan Kompetitif”. Untuk itu guru dan tenaga kependidikan yang profesional wajib melakukan pengembangan keprofesian berkelanjutan. Modul Pembinaan Karir merupakan petunjuk bagi penyelenggara pelatihan di dalam melaksakan pengembangan modul yang merupakan salah satu sumber belajar bagi guru dan tenaga kependidikan. Modul ini disajikan untuk memberikan informasi tentang penyusunan modul sebagai salah satu bentuk bahan dalam kegiatan pengembangan keprofesian berkelanjutan bagi guru dan tenaga kependidikan. Pada kesempatan ini disampaikan ucapan terima kasih dan penghargaan kepada berbagai pihak yang telah memberikan kontribusi secara maksimal dalam mewujudkan modul ini, mudah-mudahan modul ini dapat menjadi acuan dan sumber inspirasi bagi guru dan semua pihak yang terlibat dalam pelaksanaan penyusunan modul untuk pengembangan keprofesian berkelanjutan. Kritik dan saran yang membangun sangat diharapkan untuk menyempurnakan modul ini di masa mendatang. Makassar, Februari 2017 Kepala Dr. H. Rusdi, M.Pd. NIP. 19650430 199103 1 004 v vi DAFTAR ISI KATA SAMBUTAN .................................................................................. iii KATA PENGANTAR ................................................................................. v DAFTAR ISI ............................................................................................. vii DAFTAR GAMBAR ................................................................................ xiii DAFTAR TABEL ..................................................................................... xv PENDAHULUAN ....................................................................................... 1 A. Latar Belakang ............................................................................................ 1 B. Tujuan ......................................................................................................... 2 C. Peta Kompetensi ......................................................................................... 2 D. Ruang Lingkup Penggunaan Modul ............................................................ 4 E. Saran Cara Penggunaan Modul .................................................................. 4 Ragam Model Struktur Basis Data ....................................................... 9 A. Tujuan Pembelajaran .................................................................................. 9 B. Indikator pencapaian kompetensi ................................................................ 9 C. Uraian materi .............................................................................................. 9 1. Definisi Struktur Basis Data ................................................................... 9 2. Skema Atau Abstraksi Basis Data ....................................................... 10 3. Pemodelan data .................................................................................. 11 4. Model keterhubungan entitas (Entity Relationalship Model/ERD) ........ 12 5. Model Hirarki Basis Data (Hierarchical Model) ..................................... 13 6. Model Jaringan Basis Data (Network Model). ...................................... 14 7. Model data Relational .......................................................................... 16 D. Aktivitas Pembelajaran .............................................................................. 17 E. Latihan Soal .............................................................................................. 18 F. Rangkuman............................................................................................... 18 vii G. Umpan Balik.............................................................................................. 19 H. Kunci Jawaban .......................................................................................... 20 Arsitektur Aplikasi Sistem Basis Data ................................................ 23 A. Tujuan Pembelajaran ................................................................................ 23 B. Indikator pencapaian kompetensi .............................................................. 23 C. Uraian materi ............................................................................................ 23 1. Definisi Arsitektur Aplikasi Basis Data.................................................. 23 2. Centralized Database manajemen Sistem (CDBMS) ........................... 24 3. Distributed Database manajemen Sistem (DDBMS) ............................ 25 4. Client-Server Architecture .................................................................... 27 5. Arsitektur N-tier atau multi tier ............................................................. 30 D. Aktivitas Pembelajaran .............................................................................. 32 E. Latihan Soal .............................................................................................. 33 F. Rangkuman............................................................................................... 34 G. Umpan Balik.............................................................................................. 34 H. Kunci Jawaban .......................................................................................... 34 Menemukan Entitas dan Atribut ............................................................ 36 A. Tujuan Pembelajaran ................................................................................ 36 B. Indikator Pencapaian Kompetensi ............................................................. 36 C. Uraian materi ............................................................................................ 36 1. Definisi ERD ........................................................................................ 36 2. Komponen-Komponen ERD ................................................................ 36 3. Prosedur Merancang ERD ................................................................... 41 D. Aktifitas Pembelajaran............................................................................... 41 viii 1. Metode Menemukan Entitas ................................................................ 41 2. Prosedur menemukan Entitas .............................................................. 42 3. Prosedur Menemukan atribut. .............................................................. 44 E. Latihan Soal .............................................................................................. 46 F. Rangkuman............................................................................................... 47 G. Umpan Balik.............................................................................................. 47 H. Kunci Jawaban .......................................................................................... 48 Menemukan Relasi dan Menggambar ERD......................................... 55 A. Tujuan Pembelajaran ................................................................................ 55 B. Indikator Pencapaian Kompetensi ............................................................. 55 C. Uraian materi ............................................................................................ 55 1. Relasi .................................................................................................. 55 2. Batasan Partisipasi .............................................................................. 56 D. Aktifitas Pembelajaran: Prosedur menemukan Relasi ............................... 58 E. Latihan Soal .............................................................................................. 63 F. Rangkuman............................................................................................... 63 G. Umpan Balik.............................................................................................. 64 H. Kunci Jawaban .......................................................................................... 65 Memetakan ER MOdel Ke Relational Model........................................ 71 A. Tujuan Pembelajaran ................................................................................ 71 B. Indikator Pencapaian Kompetensi ............................................................. 71 C. Uraian materi ............................................................................................ 71 1. Definisi Relational Model ..................................................................... 71 2. Algoritma Pemetakan model Relasi Entitas (ERD) Ke Relasi Tabel (Relational Model)....................................................................................... 72 D. Aktifitas Pembelajaran .............................................................................. 74 E. Latihan Soal .............................................................................................. 78 F. Rangkuman............................................................................................... 78 G. Umpan Balik.............................................................................................. 79 H. Kunci Jawaban .......................................................................................... 80 Ketergantungan Fungsional ................................................................ 85 ix A. Tujuan Pembelajaran ................................................................................ 85 B. Indikator Pencapaian Kompetensi ............................................................. 85 C. Uraian materi ............................................................................................ 85 D. Aktifitas Pembelajaran: menganalisis ragam bentuk ketergantungan ........ 86 1. Ketergantungan Fungsional ................................................................. 86 2. Ketergantungan Fungsional Penuh ...................................................... 86 3. Ketergantungan Transitif...................................................................... 87 4. Ragam Contoh Ketergantungan Fungsional. ....................................... 87 E. Latihan Soal: Mengamati Ketergantungan fungsional ............................... 89 F. Rangkuman............................................................................................... 90 G. Umpan Balik.............................................................................................. 90 Ragam Bentuk Teknik Normalisasi Data ............................................. 93 A. Tujuan Pembelajaran ................................................................................ 93 B. Indikator Pencapaian Kompetensi ............................................................. 93 C. Uraian materi ............................................................................................ 93 1. Definisi Normalisasi ............................................................................. 93 2. Bentuk-Bentuk Normalisasi .................................................................. 94 3. Proses-Proses Normalisasi data .......................................................... 95 D. Aktifitas Pembelajaran:.............................................................................. 96 1. Bentuk tidak normal (Unnormalized Form) ........................................... 96 2. Bentuk Normal Tahap pertama (1st Normal Form) ............................... 97 3. Bentuk Normal Tahap Kedua (2nd Normal Form) .................................. 98 4. Bentuk Normal Tahap Ketiga (3rd Normal Form) .................................. 99 5. Boyce Codd Normal Form (BCNF) ...................................................... 99 6. Bentuk Normal Tahap ke empat (4th Normal Form) ............................ 101 7. Bentuk Normal Tahap Kelima (5th Normal Form) ............................... 102 E. Latihan Soal ............................................................................................ 104 x F. Rangkuman............................................................................................. 105 G. Umpan Balik............................................................................................ 105 Sistem manajemen basis data ........................................................... 109 A. Tujuan Pembelajaran .............................................................................. 109 B. Indikator pencapaian Kompetensi ........................................................... 109 C. Uraian materi .......................................................................................... 109 1. Definisi Sistem manajemen basis Data .............................................. 109 2. Sistem manajemen basis data relasional ........................................... 111 3. Ragam jenis SMBD ........................................................................... 112 D. Aktifitas Pembelajaran: Mengamati Berbagai Ragam Jenis DBMS ......... 117 E. Latihan Soal ............................................................................................ 118 F. Rangkuman............................................................................................. 119 G. Umpan Balik............................................................................................ 119 H. Kunci Jawaban ........................................................................................ 120 EVALUASI ............................................................................................ 121 PENUTUP ............................................................................................. 127 A. Kesimpulan ............................................................................................. 127 B. Tindak lanjut............................................................................................ 127 DAFTAR PUSTAKA ............................................................................. 129 GLOSARIUM ........................................................................................ 131 xi xii DAFTAR GAMBAR Gambar 1. Peta kedudukan Modul Desain Sistem Basis Data ............................. 2 Gambar 2. Struktur Modul Pembinaan Karir RPL Kompetensi A Desain sistem Data ..................................................................................................................... 4 Gambar 3. Struktur hirarki basis data................................................................. 10 Gambar 4. Arsitektur tiga-skema sistem manajemen basis data ........................ 11 Gambar 5. . Contoh Entity Relationship Diagram ............................................... 13 Gambar 6. Model Herarki Sistem Perkuliahan (Level Konseptual) ..................... 13 Gambar 7. Struktur pengkodean record data (model level fisik) ......................... 14 Gambar 8. Model struktur jaringan basis data.................................................... 15 Gambar 9. Organisasi record data pada model jaringan .................................... 15 Gambar 10. Arsitektur CDBMS .......................................................................... 25 Gambar 11. Arsitektur DDMS ............................................................................ 26 Gambar 12. Struktur DDBMS............................................................................. 27 Gambar 13. Arsitektur Basis Data Client server ................................................. 27 Gambar 14. Arsitektur two tier client server ....................................................... 29 Gambar 15. Aarsitektur three-tier client server................................................... 30 Gambar 16. Arstektur N-Tier client server .......................................................... 31 Gambar 17. Arsitektur basis data amazon.com ................................................. 31 Gambar 18. Notasi entitas kuat (kotak satu) dan entitas lemah (kotak dua) ....... 37 Gambar 19. Gambar simple attribute (JenisKel, NmDepan, Inisial, NmBlk) dan composite attribute (Nama) ................................................................................ 38 Gambar 20. Single value Atribute (NmDepan) dan multivalue Atribute (Lokasi) . 38 Gambar 21. Gambar Derived Attribute Jumlah Pegawai (JmlPegawai) ............. 39 Gambar 22. Notasi Primary Key Attribute (NoKTP) ............................................ 40 Gambar 23. Struktur entitas pegawai beserta atributnya.................................... 40 Gambar 24. Gambar entitas proyek dan entitas tanggungan beserta atributnya 46 Gambar 25. Diagram struktur entitas beserta atributnya. .................................. 46 Gambar 26. Ragam relasi antar entitas ............................................................. 56 Gambar 27. Notasi relasi entitas untuk entitas kuat (b) dan entitas lemah (c) .... 56 xiii Gambar 28. Relasi dengan batasan partisipasi total. ......................................... 57 Gambar 29. Relasi dengan batasan (constraint) partisipasi parsial .................... 58 Gambar 30. . Diagram relasi entitas pegawai dan departemen .......................... 62 Gambar 31. ERD sistem basis data pegawai perusahaan A .............................. 63 Gambar 32. Mapping ER ke tabel untuk entitas kuat. ........................................ 74 Gambar 33. Mapping ER ke tabel untuk entitas lemah ...................................... 75 Gambar 34. Mapping multivalue attribute........................................................... 75 Gambar 35. Mapping relasi binary 1:1 ............................................................... 76 Gambar 36. Mapping ER to tabel relasi one to many ......................................... 76 Gambar 37. Mapping ER to tabel relasi Many to many ...................................... 77 Gambar 38. Mapping untuk relasi N-narry ......................................................... 77 Gambar 39. Relasi Tabel hasil pemetakan ERD ................................................ 78 Gambar 40. Langkah-langkah proses normalisasi data. .................................... 95 Gambar 41. Hasil dekomposisi tabel mahasiswa untuk memenuhi bentuk 1NF . 97 Gambar 42. Tabel relasional Dealer-Distributor-Kendaraan (DDK) .................. 103 xiv DAFTAR TABEL Tabel 1. Peta Kompetensi Modul Diklat GP RPL Kompetensi A .......................... 3 Tabel 2. Contoh tabel dan keterhubungannya ................................................... 16 Tabel 3. Lembar Kerja (LK 1.1) Analisis Ragam Model Struktur Basis Data ...... 17 Tabel 4. Lembar Kerja (LK 2.1) Analisis Ragam Arsitektur Aplikasi Basis Data . 32 Tabel 5. Daftar entitas dan atributnya ................................................................ 39 Tabel 6. Identifikasi atribute ............................................................................... 45 Tabel 7. Identifikasi hubungan antara dua entitas dua arah ............................... 59 Tabel 8. Identifikasi hubungan antara dua entitas satu arah .............................. 60 Tabel 9. Identifikasikan rasio kardinalitas dari setiap hubungan ......................... 60 Tabel 10. Indentifikasi batasan partisipasi (min, max) antara dua entitas. .......... 61 Tabel 11.Kosa kata / istilah dalam beberapa ragam model ................................ 72 Tabel 12. Tabel pemasok barang ...................................................................... 86 Tabel 13. Tabel Pengiriman barang ................................................................... 86 Tabel 14. Tabel Pengiriman barang yang melibatkan atribut kota ...................... 87 Tabel 15. Tabel nilai mahasiswa ........................................................................ 88 Tabel 16. Tabel mahasiswa yang tidak normal .................................................. 96 Tabel 17.Tabel mahasiswa (Nis, nama mahasiswa, hobi1,hobi2,hobi3) yang tidak normal ............................................................................................................... 96 Tabel 18. Tabel seminar .................................................................................. 100 Tabel 19. contoh relasi yang belum memenuhi bentuk normal tahap 4 ............ 101 Tabel 20. Penyederhanaan relasi atau tabel 8.4 .............................................. 102 Tabel 21. Relasi Dealer Distributor dan kendaraan .......................................... 103 xv xvi PENDAHULUAN A. Latar Belakang Guru dan tenaga kependidikan wajib melaksanakan kegiatan pengembangan keprofesian secara berkelanjutan agar dapat melaksanakan tugas profesionalnya. Program Pembinaan Karir adalah pengembangan kompetensi Guru dan Tenaga Kependidikan yang dilaksanakan sesuai kebutuhan, bertahap, dan berkelanjutan untuk meningkatkan profesionalitasnya. Pembinaan Karir sebagai salah satu strategi pembinaan guru dan tenaga kependidikan diharapkan dapat menjamin guru dan tenaga kependidikan terus sehingga mampu secara menerus memelihara, meningkatkan, dan mengembangkan kompetensinya sesuai dengan standar yang telah ditetapkan. Pelaksanaan kegiatan pembinaan karir akan mengurangi kesenjangan antara kompetensi yang dimiliki guru dan tenaga kependidikan dengan tuntutan profesional yang dipersyaratkan. Program Pembinaan Karir ini membutuhkan modul yang berfungsi sebagai salah satu sumber belajar. Modul Pembinaan Karir Guru Rekayasa Perangkat Lunak (RPL) Kompetensi A “Desain Basis Data ” ini dapat digunakan oleh guru dan tenaga kependidikan dan berfungsi sebagai acuan untuk memenuhi tuntutan kompetensinya, sehingga guru dapat melaksanakan tugasnya secara professional sesuai dengan standar yang telah ditetapkan. Modul ini mempelajari tentang prinsip-prinsip perancangan sistem basis data. Melalui modul ini guru bermain peran sebagai database administrator yang merupakan salah satu job tittle di dunia industri teknologi informasi. Database administrator mempunyai tanggung jawab terhadap pengelolaan data dalam sistem informasi. Database administrator mempunyai tugas: merancang struktur basis data, memelihara keamanan data, melakukan perawatan, backup, menjaga konsistensi dan validasi data. Hal ini akan berpengaruh besar terhadap keabsahan informasi hasil pengolahan data. 1 B. Tujuan Tujuan disusunnya modul pembinaan karir RPL Kompetensi A ini adalah memberikan pengetahuan dan keterampilan kepada guru atau peserta diklat tentang merancang sistem basis data dengan benar melalui aktifitas observasi dan praktikum. Setelah mempelajari modul ini diharapkan guru dapat: “Merencanakan DBMS yang mampu memfasilitasi pengguna untuk menyimpan, memperoleh, dan mengubah data di dalam basis data”. Indikator pencapaian kompetensinya adalah: 1. Menganalisis struktur hirarki dan bentuk diagram antar entitas dalam basis data. 2. Membuat Entity Relationship Diagram 3. Menganalisis teknik normalisasi basis data. 4. Membuat basis data menggunakan fitur visual DBMS C. Peta Kompetensi Modul ini merupakan modul ke-1 dari 10 modul yang akan digunakan untuk memenuhi sepuluh level diklat Pembinaan Karir. Berdasarkan struktur jenjang diklat pembinaan karir modul desain sistem basis data ini termasuk dalam jenjang Dasar. Modul ini akan digunakan untuk Program Pembinaan Karir bagi guru-guru produktif Sekolah menengah Kejuruan pada paket keahlian Rekayasa Perangkat Lunak. Gambar 1. Peta kedudukan Modul Desain Sistem Basis Data 2 Tabel 1. Peta Kompetensi Modul Diklat GP RPL Kompetensi A Standar kompetensi Kompetensi Kompetensi Kompetensi Guru Indikator pencapaian Utama Inti Guru Keahlian (KGK) Kompetensi 1.1. Merencanakan 1.1.1. Menganalisis (KIG) Profesional 1. Menguasai materi, DBMS yang struktur hirarki dan struktur, mampu bentuk diagram konsep dan memfasilitasi antar pola pikir pengguna dalam basis data. untuk entitas keilmuan menyimpan, 1.1.2. Membuat yang memperoleh, dan Relationship mendukung mengubah data di Diagram mata dalam basis data. 1.1.3. Menganalisis Entity pelajaran teknik normalisasi yang diampu basis data 1.1.4. Membuat basis data menggunakan fitur visual pada DBMS 3 D. Ruang Lingkup Penggunaan Modul Modul ini terdiri dari empat materi pokok. Setiap materi pokok terdapat beberapa kegiatan pembelajaran. Setiap kegiatan pembelajaran terdiri dari tujuan pembelajaran, indikator essential, uraian materi, aktifitas pembelajaran, latihan soal, rangkuman dan umpan balik. Materi dalam modul ini mencakup empat topik yaitu: 1) Struktur basis data, 2) Entity Relationship Diagram, 3) Normalisasi Data dan 4) Oracle Database Manajemen System. Gambar 2. Struktur Modul Pembinaan Karir RPL Kompetensi A Desain sistem Data E. Saran Cara Penggunaan Modul Modul desain sistem basis data ini terdiri dari empat topik utama. Peserta diklat dapat mempalajari sesui dengan urutan topik mulai topik 1 sampai topik 4. Keempat topik tersebut tidak memiliki ketergantungan secara penuh, sehingga peserta diklat dapat mempelajari tidak secara berurutan. Akan tetapi untuk masing-masing topik setiap kegiatan belajar mempunyai keterkaitan secara penuh. Ini berarti untuk setiap topik materi yang dipelajari harus secara berurutan sesuai urutan kegiatan belajar. Untuk setiap kegiatan belajar uruatan yang harus dilakukan oleh peserta diklat dalam mempelajari modul ini adalah: 4 1. Membaca tujuan pembelajaran sehingga memahami target atau goal dari kegiatan belajar tersebut. 2. Membaca indikator pencapaian kompetensi sehingga memahami obyek yang akan dijadikan kriteria pengukuran untuk mencapai tujuan pembelajaran. 3. Membaca uraian materi pembelajaran sehingga memiliki pengetahuan, ketrampilan dan sikap terhadap kompetensi yang akan dicapai 4. Melakukan aktifitas pembelajaran dengan urutan atau kasus permasalahan sesuai dengan contoh. 5. Mengerjakan latihan/soal atau tugas dengan mengisi lembar kerja yang telah disediakan. 6. Menjawab pertanyaan dalam umpan balik yang akan mengukur tingkat pencapaian kompetensi melalui penilaian diri. 5 6 7 8 RAGAM MODEL STRUKTUR BASIS DATA A. Tujuan Pembelajaran Setelah mengikuti kegiatan belajar 1 ini, diharapkan bahwa: Melalui observasi peserta diklat dapat menganalisis enam ragam model struktur basis data dengan tepat. B. Indikator pencapaian kompetensi Menganalisis ragam model struktur basis data. . C. Uraian materi 1. Definisi Struktur Basis Data Struktur basis data merupakan serangkaian pengetahuan tentang pemodelan data. Pengetahuan tentang File, table, field, record indeks, abstraksi data dan serangkaian konsep yang digunakan untuk membuat deskripsi struktur basis data. Melalui deskripsi struktur basis data dapat ditentukan jenis data, hubungan dan konstrain (keterbatasan) data yang ditangani. Dalam basis data, data diorganisasikan kedalam bentuk elemen data (field), rekaman (record), dan berkas (file). Definisi dari ketiganya adalah sebagai berikut (Ramakrishnan, dkk, 2004): • Elemen (kolom atau field) data adalah satuan data terkecil yang tidak dapat dipecah lagi menjadi unit lain yang bermakna. Misalnya data siswa terdiri dari NIS, Nama, Alamat, Telepon atau Jenis Kelamin. • Rekaman (record) merupakan gabungan sejumlah elemen data yang saling terkait. Istilah lain dari record adalah baris atau tupel. • Berkas (file) adalah himpunan seluruh record yang bertipe sama. 9 Gambar 3. Struktur hirarki basis data 2. Skema Atau Abstraksi Basis Data Abstraksi data adalah merupakan tingkatan atau level bagaimana melihat data dalam sistem basis data (Ramakrishnan, dkk, 2004). Abstraksi data diwujudkan dalam pemodelan data, merupakan sejumlah konsep yang digunakan untuk membuat deskripsi struktur basis data. Melalui deskripsi struktur basis data, dapat ditentukan jenis data dan hubungannya dengan data lainnya. Skema basis data merupakan deskripsi dari basis data yang spesifikasinya ditentukan dalam tahap perancangan. Skema ini digunakan untuk memisahkan antara fisik basis data dan program aplikasi pemakai. Penggambaran skema basis data biasanya ditampilkan dalam diagram yang berisi sebagian detail data dari deskripsi basis data. Secara umum arsitektur basis data menggunakan arsitektur tiga skema yang meliputi tiga level yaitu (kusrini, 2007): 1. Level internal atau skema internal. Level ini mendifinisikan secara detail penyimpanan basis data dan pengaksesan data. Pada level ini memuat deskripsi struktur penyimpanan basis data, menggunakan model data fisikal, 10 2. Level Konseptual (skema konseptual), memuat deskripsi struktur basis data secara keseluruhan untuk semua pemakai. Level ini memuat deskripsi tentang entity, atribut, relasi dan konstrain tanpa memuat deskripsi data secara detail. 3. Level eksternal (skema eksternal atau view), mendefinisikan pandangan data terhadap sekelompok pemakai (local view) dengan menyembunyikan data lain yang tidak diperlukan oleh kelompok pemakai tersebut. Gambar 4. Arsitektur tiga-skema sistem manajemen basis data 3. Pemodelan data Pemodelan data merupakan sarana untuk melakukan abstraksi data, sejumlah konsep untuk membuat deskripsi stuktur basis data. Kebanyakan model data memuat spesifikasi untuk operasi dasar (basic operation) dalam pengaksesan dan pembaharuan data. Pada perkembangan terakhir dikenal dengan istilah tabiat data (data behavior) pada pemrograman berorientasi obyek. Terdapat sejumlah cara dalam merepresentasikan model untuk perancangan basis data. Secara umum pemodelan basis data dapat dikelompokkan menjadi dua yaitu: 11 1) Object based logical model. Dalam pemodelan ini struktur atau hirarki basis data diilustrasikan berdasarkan obyek. Model ini meliputi: 1. Model keterhubungan entitas (Entity Relationalship Model atau ERD); 2. Model Data Semantik (Semantic Data Model); 3. Model data Fungsional (Function Data Model). 2) Record-based logical model. Dalam model ini struktur basis data diilustrasikan berdasarkan record. Model ini meliputi: 1. Model relational (Relational Model); 2. Model Herarkis (Hierarchical Model); 3. Model Jaringan (Network Model). 4. Model keterhubungan entitas (Entity Relationalship Model/ERD) Diagram relasi entitas atau entity-relationship diagram (ERD) adalah suatu diagram dalam bentuk gambar atau simbol yang mengidentifikasi tipe dari entitas di dalam suatu sistem yang diuraikan dalam data dengan atributnya, dan menjelaskan hubungan atau relasi diantara entitas tersebut. ERD merupakan model jaringan yang menggunakan susunan data yang disimpan dalam sistem secara abstrak. ERD berupa model data konseptual, yang merepresentasikan data dalam suatu organisasi. ERD menekankan pada struktur dan relationship data. ERD digunakan oleh profesional sistem untuk berkomunikasi dengan pemakai eksekutif tingkat tinggi dalam perusahaan atau organisasi yang tidak tertarik pada pelaksanaan operasi sistem sehari-hari, namun lebih menekankan kepada beberapa hal yaitu: Data apa saja yang diperlukan untuk bisnis mereka? Bagaimana data tersebut berelasi dengan data lainnya? Siapa saja yang diperbolehkan mengakses data tersebut? 12 Gambar 5. . Contoh Entity Relationship Diagram 5. Model Hirarki Basis Data (Hierarchical Model) Dalam model ini data disusun menurut struktur pohon. Puncak dari herarki disebut dengan root sedangkan entitas atau interface di bawahnya dikenal sebagai induk (parent). Entitas induk mempunyai beberapa sub entitsas yang disebut anak (child). Entitas dalam model hirarki dilambangkan dengan empat persegi panjang. Sedangkan relasi atau hubungan dengan entitas lain dinotasikan dengan garis. Gambar dibawah ini menjelaskan salah satu contoh model hirarki basis data level konseptual sistem perkuliahan. Gambar 6. Model Herarki Sistem Perkuliahan (Level Konseptual) 13 Dari gambar struktur hirarki basis data di atas dapat dibuat struktur pengkodean record data (level fisik) untuk setiap entitas beserta hubungan antar entitas. Susuan herarkhi ditujukkan dengan tanda anak panah pada data (field) yang digunakan sebagai kunci data (primary key, daerah diarsir). Relasi dalam herarkhi model hubungan antar entitas dinyatakan dalam satu-banyak (one to many) atau satu – satu (one to one). Kelemahan hararkhi model adalah tidak dapat dilakukan pencarian data pada field atribut. Misalnya tidak dapat menampilkan data pda tabel mata kuliah berdasarkan jum_SKS, karena jum_SKS bukan kunci data. Masalah ini dapat diatasi dengan mengubah struktur data dengan memberi hubungan khusus (misalnya dengan variabel pointer). Gambar 7. Struktur pengkodean record data (model level fisik) 6. Model Jaringan Basis Data (Network Model). Dalam model jaringan entitas induk maupun anak dapat terdiri lebih dari dua entitas. Model ini merupakan pengembangan model hirarki. Relasi antara entitas dalam network model adalah satu ke satu (one to one) atau satu ke banyak (one to many). 14 Gambar 8. Model struktur jaringan basis data Dalam network data model tidak diperbolehkan terdapat relasi banyak ke banyak (many to many). Untuk membuat relasi many to many dalam network model dibutuhkan entitas perantara yang disebut sebagai rekaman silang (intersection record). Dari gambar 8 entitas registrasi adalah merupakan entitas perantara antara etitas mahasiswa dengan entitas mata kuliah. Gambar 9. Organisasi record data pada model jaringan 15 7. Model data Relational Model Data Relasional adalah suatu model basis data yang menggunakan tabel dua dimensi, yang terdiri atas baris dan kolom untuk menggambarkan sebuah berkas data (Ramon, dkk, 2007). Model ini menunjukkan cara mengelola atau mengorganisasikan data secara fisik dalam memory sekunder. Hal in akan berdampak pula pada bagaimana pengguna mengelompokkan data dan membentuk keseluruhan data yang terkait dalam sistem yang kita buat. Tabel 2. Contoh tabel dan keterhubungannya Tabel Siswa NIS Nama Alamat 10296832 Nurhayati Jakarta 10296126 Astuti Jakarta 31296500 Budi Depok 41296525 Prananingrum Bogor 50096487 Pipit Bekasi 21196353 Quraish Bogor Tabel Mata pelajaran Kode Nama Mata pelajaran KK021 P. Basis Data 2 KD132 SIM 3 KU122 Pancasila 2 Tabel NILAI NIS 16 SKS Kode MID FINAL 10296832 KK021 60 75 10296126 KD132 70 90 31296500 KK021 55 40 41296525 KU122 90 80 21196353 KU122 75 75 50095487 KD132 80 0 10296832 KD132 40 30 D. Aktivitas Pembelajaran Dalam kegiatan ini peserta diklat akan melakukan analisis terhadap ragam pemodelan struktur basis data. Bentuk kelompok diskusi setiap kelompok terdiri dari 3-4 orang. Bacalah seluruh langkah dibawah ini kemudian lakukan dengan cermat dan teliti. 1. Baca dan Amati uraian materi diatas dan carilah sumber bacaan lain yang relevan melalui media internet. 2. Analisalah ragam pemodelan struktur basis data yang meliputi antara lain E/R digram (ERD), semantic data model, functional data model, Relational Model, Hierarchical Model dan Network Mode. Tentukan minimal Lima kriteria atau parameter yang dijadikan dasar untuk menganalisis model struktur basis data tersebut. (LK 1.1) 3. Tuliskan deskrepsi singkat dan contoh diagram untuk functional model, dan semantic data model (LK 1.2) 4. Diskusi dan komunikasikan hasilnya dalam kelompok dan buatlah kesimpulan. 5. Buatlah Laporan dan komunikasikan hasil laporan dan pembahasan dengan tutor. Tabel 3. Lembar Kerja (LK 1.1) Analisis Ragam Model Struktur Basis Data Kriteria Jenis Model Model Hierarchical Model Level (Tiga Skema) Simbol, notasi, komponen …… ……….. Network Model ER Model Relational Model functional data model semantic data model 17 E. Latihan Soal 1. Suatu model data yang merupakan himpunan data dan prosedur dalam relasi yang menjelaskan hubungan logis antar data dalam suatu sistem basis data, model tersebut meliputi entity relationship model, semantic data model, function model, binary model dan infological model. Model tersebut adalah: a) Model data berbasis Obyek b) Model data berbasis record c) Model data secara fisik d) Model data secara konsep 2. Suatu Level dalam arsitektur tiga schema basis data yang memuat deskripsi struktur basis data secara keseluruhan untuk semua pemakai, memuat deskripsi tentang entity, atribut, relasi dan konstrain tanpa memuat deskripsi data secara detail adalah . . . . . . a) Level/skema Internal b) Level/skema konseptual c) Level/skema eksternal d) Level/skema Modular 3. Suatu model data yang memiliki struktur pohon dan hubungan bertingkat, model ini terdiri dari beberapa node (filed) yang berisi rincian data agregat data, dan record. Field-fieldnya hanya memiliki satu buah induk (parent), masingmasing parent memiliki banyak child (anak) adalah . . . . . . a) Entity Relationship Model b) Semantic Data Model c) Relational Model d) Hierarchi Model F. Rangkuman Struktur basis data merupakan serangkaian pengetahuan tentang, file, table, field, record indeks, abstraksi data adalah serangkaian konsep yang digunakan untuk membuat deskripsi basis data. Struktur basis data menitik beratkan pada berbagai ragam pemodelan data yang menggambarkan 18 tentang obyek-obyek basis data, jenis data, hubungan dan konstrain data yang ditangani. Secara umum pemodelan basis data dikelompokkan menjadi dua yaitu Object based logical model dan Record-based logical model. Object based logical model. Dalam pemodelan ini struktur atau hirarki basis data diilustrasikan berdasarkan object. Model ini meliputi: 1) Model keterhubungan entitas (Entity Relationalship Model atau ERD). 2) Model Data Semantik (Semantic Data Model). 2) Model data Fungsional (Function Data Model). Record-based logical model. Dalam model ini struktur basis data diilustrasikan berdasarkan record. Model ini meliputi: 1) Model relational (Relational Model). 2) Model Herarkis (Hierarchical Model) 3) Model Jaringan (Network Model). G. Umpan Balik Hasil Yang Dicapai IPK Rencana Tindak Lanjut Ya Tidak Menganalisis karakteristik Model ERD Menganalisis karakteristik Model semantic data model Menganalisis karakteristik Functional data model Menganalisis karakteristik Relational model Menganalisis karakteristik Hierarchical Model Menganalisis karakteristik Network Mode 19 H. Kunci Jawaban 1. A. 2. B. 3. D. 20 21 22 ARSITEKTUR APLIKASI SISTEM BASIS DATA A. Tujuan Pembelajaran Setelah mengikuti kegiatan belajar 2 ini diharapkan: Melalui observasi peserta diklat dapat menganalisis empat ragam bentuk arsitektur aplikasi sistem basis data dengan benar. B. Indikator pencapaian kompetensi Menganalisis ragam bentuk arsitektur aplikasi sistem basis data C. Uraian materi 1. Definisi Arsitektur Aplikasi Basis Data Arsitektur aplikasi basis data menjelaskan rancangan dasar aplikasi basis data yang akan dibangun. Arsitektur basis data menggambarkan diagram interaksi antara komponen-komponen penyusun sistem manajemen basis data. Komponen-komponen tersebut meliputi perangkat hardware, software, jaringan komputer, dan pengguna. Berdasarkan arsitekturnya aplikasi sistem manajemen basis data (SMBD) dibedakan menjadi beberapa macam antara lain adalah sebagai berikut: a. SMBD terpusat (CDBMS). Pada sistem ini semua proses utama dan fungsi sistem manajemen basis data seperti user application programs dan user interface programs berada secara terpusat di satu komputer berkecepatan dan kapasitas tinggi (main frame). Pengguna mengakses basis data menggunakan terminal komputer. b. SMBD terdistribusi (DDBMS) Pada sistem ini data disimpan pada beberapa tempat (site), setiap tempat diatur dengan suatu DBMS yang dapat berjalan secara independent. Perangkat lunak dalam sistem ini akan mengatur pendistribusian data secara transparan. 23 c. SMBD paralel. Sistem manajemen basis data ini menggunakan beberapa prosesor dan disk yang dirancang untuk dijalankan secara paralel dan simultan. Sistem ini digunakan untuk memperbaiki kinerja dari DBMS Dari tiga ragam jenis SMBD diatas terdapat beberapa model arsitektur aplikasi SMBD. Perkembangan Arsitektur SMBD cukup pesat dan cepat dengan mengikuti trend yang sejalan dengan kemajuan arsitektur sistem komputer serta teknologi informasi dan komunikasi. Beberapa ragam jenis arsitektur aplikasi SMBD tersebut antar lain ialah: 1) Arsitektur Teleprocessing. 2) Arsitektur File-Server Architecture 3) Arsitektur Singgle tier. 4) Arsitektur two-tier client/server. 5) Arsitektur three-tier client/server. 6) Arsitektur N-tier client/server. 7) Paralel arsitektur 2. Centralized Database manajemen Sistem (CDBMS) Pada sistem ini semua proses utama dan fungsi sistem manajemen basis data seperti user application programs dan user interface programs berada secara terpusat di satu komputer berkecepatan dan kapasitas tinggi (main frame). Pengguna mengakses basis data menggunakan terminal komputer. Pada arsitektur ini digunakan komputer main frame yg menyediakan semua proses utama seperti fungsinya pada DBMS (user application programs & user interface programs). Bentuk arsitektur terpusat ini menggambarkan pengaksesan terminal-terminal komputer (client) pada komputer server, berupa display informasi dan kontrol saja, karena pada terminal komputer tidak memungkinkan memiliki resource yang lebih. Seiring perkembangan teknologi dan turunnya harga hardware, banyak terminal user digantikan dengan PC, akan tetapi DBMS masih ditempatkan terpusat (Application program execution & user interface processing ditempatkan pada satu mesin). Gambar dibawah ini menjelaskan (CDBMS). 24 Arsitektur Centralized Database manajemen Sistem Gambar 10. Arsitektur CDBMS 3. Distributed Database manajemen Sistem (DDBMS) DDBMS memiliki satu logikal basis data yang dibagi ke dalam beberapa fragment. Dimana setiap fragment disimpan pada satu atau lebih komputer dibawah kontrol dari DBMS yang terpisah dengan mengkoneksi komputer menggunakan jaringan komunikasi. DDBMS memungkinkan direplikasi dan alokasi penyimpanan disembunyikan sehingga tidak diketahui pengguna. Pada sistem ini data disimpan pada beberapa tempat (site), setiap tempat diatur dengan suatu DBMS yang dapat berjalan secara independent. Perangkat lunak dalam sistem ini akan mengatur pendistribusian data secara transparan. Setiap site memiliki kemampuan untuk mengakses permintaan pengguna pada data lokal dan juga mampu untuk memproses data yang disimpan pada komputer lain yang terhubung dengan jaringan. Pengguna mengakses basis data terdistribusi dengan menggunakan dua aplikasi yaitu aplikasi lokal dan aplikasi global. 25 Gambar 11. Arsitektur DDMS Tigal hal penting yang harus terdapat pada basis data terdistribusi adalah: Independensi data terdistribusi: pemakai tidak perlu mengetahui dimana data berada (merupakan pengembangan prinsip independensi data fisik dan logika). Transaksi terdistribusi yang atomic: pemakai dapat menulis transaksi yang mengakses dan mengubah data pada beberapa tempat seperti mengakses transaksi. Transparansi basis data terdistribusi agar terlihat sistem ini seperti basis data tersentralisasi. Hal Ini mengacu pada prinsip dasar dari DBMS. Transparansi memberikan fungsional yang baik untuk pengguna tetapi mengakibatkan banyak permasalahan yang timbul dan harus diatasi oleh DDBMS. Terdapat dua tipe basis data terdistribusi yaitu Homogen: yaitu sistem dimana setiap tempat menjalankan tipe DBMS yang sama. Heterogen: yaitu sistem dimana setiap tempat yang berbeda menjalankan DBMS yang berbeda, baik Relational DBMS (RDBMS) atau non relational DBMS. 26 Gambar 12. Struktur DDBMS 4. Client-Server Architecture Konsep arsitektur client/server mengasumsikan sebuah kerangka dasar (framework) yang terdiri atas banyak PC yang terhubung melalui LAN beserta tipe-tipe jaringan komputer lainnya. Suatu Client adalah mesin user yang menyediakan kemampuan user interface dan local processing. Suatu Server adalah mesin yang menyediakan berbagai service ke mesin client (file access, printing, archiving, or database access) (Ramakrishnan, 2004). Ada kemungkinan suatu mesin hanya menginstall software client saja, yang lain software server, atau bahkan keduanya pada satu mesin (seperti pada gambar physical client/server sebelumnya). Dua arsitektur DBMS yang mendasari framework client/server ialah two-tier client/server dan three-tier client/server. Gambar 13. Arsitektur Basis Data Client server 27 Tugas dari komputer Client adalah: 1) Mengatur user Interface; 2) Menerima dan memeriksa syntax input dari user; 3) Membangun (Generates) permintaan DB dan mengirimkannya ke server; 4) Memberikan respon balik ke user. Sedangkan tugas dari komputer server adalah: 1) Menerima & memroses permintaan DB dari client; 2) Memeriksa autorisasi; 3) Menjamin batasan integritas data; 4) Menampilkan queri/proses update dan mengirimkannya ke user; 5) Memelihara System Catalog; 6) Menyediakan kontrol recovery; 7) Menyediakan akses basis data yang akurat. Kelebihan dari sistem arsitektur client-server ini ialah: 1. Client bertanggung jawab dalam mengelola antar muka pemakai (mencakup logika penyajian data, logika pemrosesan data, logika aturan bisnis). 2. Database server bertanggung jawab pada penyimpanan, pengaksesan, dan pemrosesan database. 3. Otentikasi pemakai, pemeriksaan integrasi, pemeliharaan data dictionary dilakukan pada database server. 4. Akses yang lebih luas terhadap database. 5. Meningkatkan performa dan konsistensi. 6. Pengurangan biaya hardware, biaya komunikasi dan beban jaringan Pada database client/server, saat pengaksesan DBMS dibutuhkan: program membuka koneksi ke DBMS server, sekali koneksi terbuat maka program client dapat berkomunikasi dengan DBMS. Contoh: ODBC (Open Database Connectivity) yang menyediakan API (Application Programming Interface), JDBC, yg digunakan program client Java utk akses ke DBMS. Interaksi antara client dan server selama pemrosesan query SQL adalah sebagai berikut: 1. Client melakukan parsing query pemakai dan memecahnya ke dalam sejumlah query independent untuk setiap tempat. Setiap query tersebut dikirim ke server yang sesuai. 2. Setiap server memproses query lokal dan mengirim relasi hasil ke client. 28 3. Client mengkombinasikan hasil sub query untuk memproduksi hasil dari query asal yang dikirim. Pada pendekatan tersebut Server SQL: juga disebut transaction server (database processor (DP) / back-end machine / DBMS), sedangkan Client: disebut application processor (AP) atau front-end machine. Gambar 14. Arsitektur two tier client server Three Tier Architecture merupakan inovasi dari arsitektur clientserver. Pada arsitektur Three-tier ini terdapat application server yang berdiri di antara client dan database server. Contoh dari application server adalah IIS sebagainya. (Internet Information Services), WebSphere, dan Arsitektur ini memisahkan antara logika aplikasi dari manajemen data, yang meliputi (Ramakrishnan, 2004): 1. Presentation Tier (Client) Berisi interface natural yang dibutuhkan user untuk membuat request, menyediakan input dan melihat hasil. (GUI) 2. Middle Tier (Application Layer/Web Server) Berisi logika aplikasi untuk dieksekusi, berbagai macam kode program (C++, Java, dll) sebagai 29 proses bisnis logic yang kompleks. (Application Programs, Web Pages). 3. Data Management Tier (Database Server) Berisi DBMS. Gambar 15. Aarsitektur three-tier client server 5. Arsitektur N-tier atau multi tier Istilah arsitektur ini muncul karena dalam implementasi aplikasi basis data dimungkinkan suatu aristektur aplikasi terdiri dari banyak tier. Salah satu contoh aplikasi basis data yang menggunakan arsitektur ini ialah situs amazon .com, dimana pelanggan internet dapat memesan buku secara online. Pelanggan dapat melihat katalog buku amazon.com yang sebenarnya ada pada database amazon.com. Jika pelanggan ingin memesan salah satu buku, maka pelanggan tersebut perlu memasukkan informasi mengenai dirinya dan yang terlebih penting adalah data mengenai kartu kreditnya. Untuk dapat memesan buku data kartu kredit pelanggan tersebut harus divalidasi terlebih dahulu: seperti kode PIN, masa berlaku kartu, limit kredit. Setelah dinyatakan valid maka pelanggan dapat melakukan transaksi pemesanan buku. 30 Gambar 16. Arstektur N-Tier client server Gambar 17. Arsitektur basis data amazon.com 31 D. Aktivitas Pembelajaran Dalam kegiatan ini peserta diklat akan melakukan analisis terhadap ragam model arsitektur aplikasi basis data. Buatlah kelompok diskusi setiapkelompok terdiri dari 3 – 4 orang. Bacalah seluruh langkah dibawah ini kemudian lakukan dengan cermat dan teliti.. 1. Baca dan Amati uraian materi diatas dan carilah sumber bacaan lain yang relevan melalui media internet! 2. Analisalah ragam arsitektur aplikasi basis data yang meliputi antara lain CDBMS, DDMS dan client server database. Tentukan pula minimal lima kriteria atau parameter yang dijadikan dasar untuk menganalisis arsitektur aplikasi database tersebut. 3. Diskusi dan komunikasikan hasilnya dalam kelompok dan buatlah kesimpulan. 4. Buatlah Laporan dan komunikasikan hasil laporan dan pembahasan dengan tutor. Tabel 4. Lembar Kerja (LK 2.1) Analisis Ragam Arsitektur Aplikasi Basis Data Model CDMS Kriteria Deskripsi singkat Perangkat keras Perangkat lunak. Keuntungan 32 DDMS Two tier client Three tier clinet server server Kelebihan ……………… ……………… ……………... ……………… E. Latihan Soal 1. Suatu arsitektur Sistem manajemen basis data yang menggunakan beberapa prosesor dan disk, dirancang untuk dapat dijalankan secara bersama-sama dan bekerja secara simultan, dengan tujuan agar dapat memperbaiki kinerja dari basis data tersebut.. Arsitektur tersebut adalah . . . . . . a) Centralized Database manajemen Sistem (CDBMS) architecture b) Distributed Database manajemen Sistem (DDBMS) architecture c) Teleprocessing architecture d) Paralel architecture 2. Suatu lapisan atau layer dalam arstektur aplikasi client-server yang terdiri dari data base dan fungsi-fungsi sistem manajemen basis data adalah . . . . . a) Presentation Tier b) Middle Tier c) Data Tier d) Eksternal Tier 3 Tugas dari komputer server pada arsitektur aplikasi sistem manajemen basis data client-server adalah . . . . . . a) Mengatur tampilan user Interface dan memberikan respon balik ke user b) Menampilkan queri atau proses update dan mengirimkannya ke user c) Menerima dan memeriksa perintah-perintah atau syntax masukan dari user d) Membangun (Generates) permintaan basis data dan mengirimkannya ke server 33 F. Rangkuman Arsitektur aplikasi basis data menjelaskan rancangan dasar aplikasi basis data yang akan dibangun. Arsitektur basis data menggambarkan diagram interaksi antara komponen-komponen penyusun sistem manajemen basis data. Beberapa ragam jenis arsitektur aplikasi SMBD antar lain ialah: CDMS, DDMS, Arsitektur Teleprocessing, Arsitektur File-Server Architecture, Arsitektur Singgle tier, Arsitektur two-tier client/server, Arsitektur three-tier client/server, Arsitektur N-tier client/server, Paralel arsitektur. G. Umpan Balik Hasil Yang Dicapai IPK Ya Menganalisis karakteristik arsitektur CDMS Menganalisis karakteristik arsitektur DDMS Menganalisis karakteristik arsitektur Two-tier client server Menganalisis karakteristik arsitektur Three-tier client server H. Kunci Jawaban 1. D 2. C 3. B 34 Tidak Rencana Tindak Lanjut 35 MENEMUKAN ENTITAS DAN ATRIBUT A. Tujuan Pembelajaran Setelah mengikuti kegiatan belajar 3 ini diharapkan, melalui praktikum peserta diklat dapat; Membuat ilustrasi atau deskripsi sistem basis data dengan benar. Menemukan entitas dan attribute sesuai ilustrasi sistem basis data. B. Indikator Pencapaian Kompetensi Membuat ilustrasi atau deskripsi sistem basis data Menemukan entitas dan attribute. . C. Uraian materi 1. Definisi ERD Diagram relasi entitas atau entity-relationship diagram (ERD) adalah suatu diagram dalam bentuk gambar atau simbol yang mengidentifikasi tipe dari entitas di dalam suatu sistem yang diuraikan dalam data dengan atributnya, dan menjelaskan hubungan atau relasi diantara entitas tersebut. ERD merupakan model jaringan yang menggunakan susunan data yang disimpan dalam sistem secara abstrak. ERD berupa model data konseptual yang merepresentasikan data, karakteristik data (atributatributnya) dan relasi dua atau lebih data dalam suatu organisasi sehingga membentuk basis data relasional. ERD menekankan pada struktur dan relationship data (conceptdraw.com) 2. Komponen-Komponen ERD Untuk menggambarkan ERD yang mengilustrasikan relasi dua atau lebih data dalam suatu sistem basis data digunakan beberapa komponen. Komponen-komponen tersebut ialah Entitas, Atribute dan Relasi. 36 a) Entity atau Entitas Entitas adalah obyek yang mewakili sesuatu dalam dunia nyata dan dapat dibedakan antara satu dengan lainnya (unique).Setiap entitas memiliki beberapa atribut yang mendeskripsikan karakteristik dari objek. Entitas dapat berupa: • Data Fisik (seperti mobil, rumah, manusia, pegawai, peserta diklat. • Abstrak atau konsep (seperti department, pekerjaan, mata pelajaran) • Kejadian (pembelian, penjualan, peminjaman, dll). Entitas dapat dibedakan menjadi dua macam yaitu Entitas kuat dan entitas lemah. Entitas lemah adalah yang keberadaannya tergantung pada entitas lain. Gambar dibawah ini menjelaskan notasi umum entitas kuat dengan nama entitas pegawai dan entitas lemah dengan nama entitas tanggungan. Entitas tanggungan disebut sebagai entitas lemah karena jika data seorang pegawai dihapus maka data tanggungannya juga akan terhapus. Keberadaan data tanggungan tergantung pada data di pegawai. Gambar 18. Notasi entitas kuat (kotak satu) dan entitas lemah (kotak dua) b) Atribute Attribute merupakan karakteristik dari entitas atau relationship, yang menyediakan penjelasan detail tentang entitas atau relationship. Dalam penerapannya (level fisik) atribut merupakan field atau kolom dari sebuah tabel. Misalnya entitas mahasiswa memiliki atribute nama, alamat, NIM. Berdasarkan karakteristik atau sifatnya, atribut dapat dikelompokkan menjadi; 1) Simple attribute dan composite attribute. 2) Single valued attribute dan multi valued attribute. 3) Mandatory attribute 4) Derived attribute (attribut turunan) dan 5) key attribute. 37 Simple Attribute atau atomic attribute adalah attribut terkecil yang tidak dapat dibagi-bagi lagi menjadi atribut yang lebih kecil. Contohnya adalah atribut JenisKel pada entitas pegawai. Gambar dibawah ini menjelaskan simbol atau notasi Simple Attribute. Gambar 19. Gambar simple attribute (JenisKel, NmDepan, Inisial, NmBlk) dan composite attribute (Nama) Composite attribute adalah atribut yang dapat dibagi menjadi atribut yang lebih kecil. Attribut ini dapat diartikan attribute atomic yang menggambarkan atribut dasar dengan suatu arti tertentu. Contoh: atribut Nama pada entitas pegawai dapat dipecah menjadi atribut NmDepan, Inisial dan NmBlk. Gambar diatasmenjelaskan simbol atau notasi composite attribute. Atribut nama merupakan composite attribute. Single value Attribute adalah suatu atribut yang hanya mempunyai satu nilai. Misalnya atribut NmDepan pada entitas pegawai. NmDepan seorang pegawai selalu bernilai satu nilai, tidak mungkin lebih dari satu. Multi Value attribute adalah atribut yang dapat memiliki lebih dari satu nilai yang jenisnya sama dari sebuah data tunggal. Misalnya atribut lokasi pada entitas departemen dapat berisi 2 nilai atau lebih seperti Surabaya atau Jakarta. Gambar diatas menjelaskan simbol atau notasi Multi Value attribute. Gambar diatas menjelaskan simbol atau notasi Single value Attribute. Gambar 20. Single value Atribute (NmDepan) dan multivalue Atribute (Lokasi) 38 Derived Attribute atau Atribut Turunan adalah atribut yang nilainilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut atau tabel lain yang berhubungan. Misalnya atribut JmlPegawai pada entitas Departemen. Gambar 21. Gambar Derived Attribute Jumlah Pegawai (JmlPegawai) c) Key attribute Key adalah merupakan suatu atribut yang menandakan kunci dari suatu entitas yang bersifat unik. Key attribute adalah satu atau beberapa atribut yang mempunyai nilai unik sehingga dapat digunakan untuk membedakan data pada suatu baris/record dengan baris lain pada suatu entitas. Key attribute dibedakan menjadi tiga yaitu: 1) Superkey 2) Candidat Key dan 3) Primary key. Tabel dibawah ini menjelaskan beberapa contoh nama entitas beserta nama atribut-atributnya. Tabel 5. Daftar entitas dan atributnya Nama entitas Nama Atribute Pegawai NIP, NUPTK, Nama, Alamat, Agama, jenis kelamin Siswa NIS, Nama, Alamat, Agama, jenis kelamin Mata pelajaran Kode_mapel, Nama_mapel, Semester, Departemen No, Nama, lokasi Superkey adalah satu atau gabungan beberapa atribut yang dapat membedakan setiap baris data dalam sebuah tabel secara unik. Misalnya superkey untuk entitas pegawai antara lain: 1) NoKTP, Nama, Alamat, JenisKel, Gaji. 2) NoKTP, Nama, Alamat, JenisKel. 3) NoKTP, Nama, Alamat. 4) NoKTP, Nama. 5) Nama (jika dapat dijamin kalau tidak ada nama yang sama antara satu baris dengan baris yang lain). 6) NoKTP. 39 Candidat Key adalah merupakan superkey yang jumlah atributnya paling sedikit. Misalnya candidat key untuk entitas pegawai antara lain: Nama (jika dapat dijamin kalau tidak ada nama yang sama antara satu baris dengan baris yang lain) NoKTP Primary key adalah suatu candidat key yang dipilih menjadi kunci utama karena sering dijadikan acuan untuk mencari informasi, ringkas, menjadi keunikan suatu baris. Misalnya NoKTP antara satu pegawai dengan pegawai lain pasti berbeda, dalam hal ini noKTP dapat digunakan sebagai suatu key. Gambar diatas menjelaskan simbol atau notasi primary key. Gambar 22. Notasi Primary Key Attribute (NoKTP) Gambar 23. Struktur entitas pegawai beserta atributnya 40 3. Prosedur Merancang ERD ER diagram digunakan oleh profesional sistem untuk berkomunikasi dengan pemakai eksekutif tingkat tinggi dalam perusahaan atau organisasi yang tidak tertarik pada pelaksanaan operasi sistem sehari-hari, namun lebih menekankan kepada beberapa hal yaitu: Data apa saja yang diperlukan untuk bisnis mereka? Bagaimana data tersebut berelasi dengan data lainnya? Siapa saja yang diperbolehkan mengakses data tsb? Terdapat beberapa pendekatan dalam membuat sistem basis data yang baik antara lain teknik dnormalisasi data dan ERD, Untuk menggambarkan ER diagaram setidaknya ada tiga langkah yang harus dilakukan oleh perancang basis data yaitu: 1. Menemukan atau mendefinisikan entitas. 2. Menemukan atau mendefinisikan atribute. 3. Menemukan atau mendefinisikan relasi. 4. Menggambarkan ERD menggunakan notasi-notasi standar. D. Aktifitas Pembelajaran 1. Metode Menemukan Entitas Entitas adalah obyek yang mewakili sesuatu dalam dunia nyata dan dapat dibedakan antara satu dengan lainnya (unique).Setiap entitas memiliki beberapa atribut yang mendeskripsikan karakteristik dari objek tersebut. Adapun prosedur atau langkah-langkah yang seharusnya dilakukan untuk menemukan atau mendefinisikan Entitas dalam suatu sistem data base adalah sebagai berikut : 1. Buat ilustrasi atau gambaran cerita (role of bussiness) tentang sistem yang akan dicari entitasnya. 2. Tandai setiap objek yang diwakili oleh kata benda yang ada di dalam ilustrasi tersebut. 3. Untuk setiap objek tersebut yakinkan bahwa ia memiliki karakteristik yang nanti disebut sebagai atribut. 41 4. Tentukan objek yang merupakan entitas (Jika memang ia memiliki karakteristik jadikan ia sebagai entitas) 5. Menggambarkan entitas beserta atributnya menggunakan notasi simbol yang telah ditentukan. 2. Prosedur menemukan Entitas Pernyataan dibawah ini menjelaskan salah satu contoh langkahlangkah yang dilakukan untuk menemukan atau mengidintifikasi entitas dengan kasus sistem basis data di perusahaan A. Prosedur untuk menemukan entitas tersebut adalah sebagai berikut: 1. Langkah 1: Membuat gambaran cerita tentang sistem kepegawaian di suatu perusahaan A. Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin pengawas/mandor dari pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain, sehingga satu pengawas dapat memimpin beberapa pegawai. Setiap pegawai bekerja untuk suatu departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai. Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai tanggal tertentu. Sebuah departemen dapat berada di beberapa lokasi. Selain bekerja di suatu departemen pegawai dapat bekerja pada beberapa proyek. Setiap proyek dikendalikan/diatur oleh suatu departemen, namun suatu departemen tidak harus mengendalikan/mengatur proyek. Satu departemen dapat mengendalikan beberapa proyek dan satu proyek hanya dikendalikan oleh satu departemen Satu proyek dapat terdiri dari beberapa pegawai. Untuk keperluan penggajian perusahaan memerlukan data tanggungan pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang pegawai pindah maka datanya akan dipindahkan / dihapus berikut data tanggungan / keluarganya. 42 2. Langkah 2. Menandai pada soal cerita diatas setiap objek yang diwakili oleh kata benda yang ada di dalam ilustrasi tersebut. Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin pengawas/mandor dari pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain, sehingga satu pengawas dapat memimpin beberapa pegawai. Setiap pegawai bekerja untuk suatu departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai. Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai tanggal tertentu. Sebuah departemen dapat berada di beberapa lokasi. Selain bekerja di suatu departemen pegawai dapat bekerja pada beberapa proyek. Setiap proyek dikendalikan/diatur oleh suatu departemen, namun suatu departemen tidak harus mengendalikan/mengatur proyek. Satu departemen dapat mengendalikan beberapa proyek dan satu proyek hanya dikendalikan oleh satu departemen.Satu proyek dapat terdiri dari beberapa pegawai. Untuk keperluan penggajian perusahaan memerlukan data tanggungan pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang pegawai pindah maka datanya akan dipindahkan / dihapus berikut data tanggungan atau keluarganya. 3. Langkah 3: Untuk setiap objek tersebut yakinkan bahwa ia memiliki karakteristik yang nanti disebut sebagai atribut. Sehingga kita menemukan entitas dan kemungkinan atributnya adalah sebagai berikut : 43 Kandidat Entitas: kandidiat Atribut, kandidat atribut…. Perusahaan: NoPerusahaan, nama, alamat Pegawai: NoKTP, Nama, Alamat, Jenis kelamin,gaji Pengawas:NoKTP, Nama, Alamat, Jenis kelamin,gaji Departemen: Nomor, Nama, lokasi, jumlah pegawai Lokasi : Lokasi Proyek: Nomor, nama, lokasi Tanggungan: nama, jenis kelamin, tanggal lahir, hubungan dengan pegawai 4. Langkah 4: Tentukan objek yang merupakan entitas (Jika memang ia memiliki karakteristik jadikan ia sebagai entitas) Entitas: Atribut1, atribut2, atribut3,… entitas / bukan entitas a) Perusahaan: NoPerusahaan, nama, alamat (hanya berisi satu baris data) bukan entitas b) Pegawai: NoKTP, Nama, Alamat, Jenis kelamin,gaji entitas kuat c) Pengawas:NoKTP, Nama, Alamat, Jenis kelamin,gaji sama dengan entitas Pegawai d) Departemen: Nomor, Nama, lokasi, jumlah pegawai entitas kuat e) Lokasi : lokasi (karakteristiknya departemen, tidak memiliki karakteristik lain (unik)) bukan entitas f) Proyek: Nomor, nama, lokasi entitas kuat g) Tanggungan: Nama, jenis kelamin, tanggal lahir, hubungan dengan pegawai merupakan entitas lemah karena keberadaannya tergantung dari entitas kuat pegawai. 3. Prosedur Menemukan atribut. Atribut adalah merupakan sifat-sifat atau karakteristik pada suatu entitas. Nama atribut ini identik dengan nama kolom atau field pada suatu 44 tabel dalam basis data. Atribut dapat dibedakan menjadi beberapa macam antara lain adalah: 1. Simple Attribute dan Composite Attribute 2. Single Valued Attribute dan Multi Valued Attribute 3. Mandatory Attribute 4. Derived Attribute (Attribut Turunan) 5. Key Attribute (Atribut Kunci) Adapaun untuk menemukan atribut dpat dilakukan melalui langkahlangkah dibawah ini yaitu: 1. Tentukan dan lengkapi karakteristik dari tiap-tiap entitas 2. Dari setiap karakteristik tersebut tentukan termasuk atribut apa Tabel 6. Identifikasi atribute Entitas (Tipe entitas) Pegawai (entitas kuat) Proyek (entitas kuat) Lokasi (entitas kuat) Tanggungan (Entitas lemah 3. Nama Atribut Tipe Atribut Keterangan NoKTP, Nama, NmDepan,insial, NmBlk Alamat, Jenis kelamin gaji Nomor, nama, lokasi Simple atribut Composite atribut Simple atribut Simple atribut Simple atribut Simple atribut Simple atribut, Simple atribut, Simple atribut, Primary key KodeLokasi Multivalue Satu depertemen dimungkinkan mempunyai lebih dari satu lokasi nama, jenis kelamin, tanggal lahir, hubungan Simple atribut, Simple atribut, Simple atribut Simple atribut primary key Menggambarkan entitas beserta atributnya dengan notasi yang sesuai 45 Gambar 24. Gambar entitas proyek dan entitas tanggungan beserta atributnya Gambar 25. Diagram struktur entitas beserta atributnya. E. Latihan Soal 1. Buatlah suatu ilustrasi atau gambaran cerita tentang sistem basis data yang saudara akan buat. (Lembar kerja 3.1) 2. Tandai setiap objek yang diwakili oleh kata benda yang ada di dalam ilustrasi tersebut. (Lembar kerja 3.2) 3. Untuk setiap objek tersebut yakinkan bahwa ia memiliki karakteristik (atribut). Tuliskan Kandidat entitas beserta atribut-atributnya (LK 3.3) 46 4. Tentukan objek yang merupakan entitas (Jika memang ia memiliki karakteristik jadikan ia sebagai entitas). Untuk setiap obyek pada LK 3.3 tambahkan keterangan: entitas (lemah atau kuat) atau bukan entitas. 5. Tentukan dan lengkapi karakteristik dari tiap-tiap entitas dan tentukan tipe atau jenis atribut (LK 3.4) 6. Menggambarkan entitas beserta atributnya menggunakan notasi standar (LK 3.5). F. Rangkuman Diagram relasi entitas atau entity-relationship diagram (ERD) adalah suatu diagram dalam bentuk gambar atau simbol yang mengidentifikasi tipe dari entitas di dalam suatu sistem yang diuraikan dalam data dengan atributnya, dan menjelaskan hubungan atau relasi diantara entitas tersebut. Prosedur mengidentifikasi entitas dan atribut adalah: 1) membut ilustrasi atau gambaran cerita tentang sistem yang akan dicari entitasnya. 2) Menandai setiap objek yang diwakili oleh kata benda yang ada di dalam ilustrasi tersebut. 3) Menuliskan kandidat entitas dan atribut dari obyek tersebut. 4) Menetapkan entitas dan tipe entitas. 5) Menetapkan atribut beserta type atributnya. 6) Menggambarkan entitas beserta atributnya menggunakan notasi simbol yang telah ditentukan. G. Umpan Balik Hasil Yang Dicapai IPK Mampu ilustrasi Ya Tidak Rencana Tindak Lanjut membuat / deskripsi sistem basis data. Mampu mengidentifikasi atau menemukan entitas. Mampu mengidentifikasi atau menemukan atribut. 47 Mampu menggambarkan struktur entitas beserta atributnya menggunakan atau symbol notasi yang standar. H. Kunci Jawaban 1. Berikut ini adalah contoh ilustrasi seperti yang dimaksud soal nomor 1. Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin pengawas/mandor dari pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain, sehingga satu pengawas dapat memimpin beberapa pegawai. Setiap pegawai bekerja untuk suatu departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai. Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai tanggal tertentu. Sebuah departemen dapat berada di beberapa lokasi. Selain bekerja di suatu departemen pegawai dapat bekerja pada beberapa proyek. Setiap proyek dikendalikan/diatur oleh suatu departemen, namun suatu departemen tidak harus mengendalikan/mengatur proyek. Satu departemen dapat mengendalikan beberapa proyek dan satu proyek hanya dikendalikan oleh satu departemen Satu proyek dapat terdiri dari beberapa pegawai. Untuk keperluan penggajian perusahaan memerlukan data tanggungan pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang pegawai pindah maka datanya akan dipindahkan / dihapus berikut data tanggungan / keluarganya. 2. Berikut ini adalah contoh jawaban soal no 2 mengenai cara menandai kata benda. Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin pengawas/mandor dari pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain, sehingga satu pengawas dapat memimpin beberapa pegawai. Setiap pegawai bekerja untuk suatu 48 departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai. Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai tanggal tertentu. Sebuah departemen dapat berada di beberapa lokasi. Selain bekerja di suatu departemen pegawai dapat bekerja pada beberapa proyek. Setiap proyek dikendalikan/diatur oleh suatu departemen, namun suatu departemen tidak harus mengendalikan/mengatur proyek. Satu departemen dapat mengendalikan beberapa proyek dan satu proyek hanya dikendalikan oleh satu departemen.Satu proyek dapat terdiri dari beberapa pegawai. Untuk keperluan penggajian perusahaan memerlukan data tanggungan pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang pegawai pindah maka datanya akan dipindahkan / dihapus berikut data tanggungan atau keluarganya. 3. Berikut ini adalah contoh jawaban menentukan kandidat entitas dan atributnya seperti yang diminta pada soal no 3. Kandidat Entitas: kandidiat Atribut, kandidat atribut…. Perusahaan: NoPerusahaan, nama, alamat Pegawai: NoKTP, Nama, Alamat, Jenis kelamin,gaji Pengawas:NoKTP, Nama, Alamat, Jenis kelamin,gaji Departemen: Nomor, Nama, lokasi, jumlah pegawai Lokasi : Lokasi Proyek: Nomor, nama, lokasi Tanggungan: nama, jenis kelamin, tanggal lahir, hubungan dengan pegawai. 4. Berikut ini adalah contoh jawaban untuk soal no 4. Entitas: Atribut1, atribut2, atribut3,… entitas / bukan entitas a) Perusahaan: NoPerusahaan, nama, alamat (hanya berisi satu baris data) bukan entitas b) Pegawai: NoKTP, Nama, Alamat, Jenis kelamin,gaji entitas kuat c) Pengawas:NoKTP, Nama, Alamat, Jenis kelamin,gaji sama dengan entitas Pegawai d) Departemen: Nomor, Nama, lokasi, jumlah pegawai entitas kuat 49 e) Lokasi : lokasi (karakteristiknya departemen, tidak memiliki karakteristik lain (unik)) bukan entitas f) Proyek: Nomor, nama, lokasi entitas kuat g) Tanggungan: Nama, jenis kelamin, tanggal lahir, hubungan dengan pegawai merupakan entitas lemah karena keberadaannya tergantung dari entitas kuat pegawai. 5. Berikut adalah contoh jawaban soal no 5. Entitas (Tipe entitas) Pegawai (entitas kuat) Proyek (entitas kuat) Lokasi (entitas kuat) Tanggungan (Entitas lemah Nama Atribut Tipe Atribut NoKTP, Nama, NmDepan,insial, NmBlk Alamat, Jenis kelamin gaji Nomor, nama, lokasi Simple atribut Composite atribut Simple atribut Simple atribut Simple atribut Simple atribut Simple atribut, Simple atribut, Simple atribut, Primary key KodeLokasi Multivalue Satu depertemen dimungkinkan mempunyai lebih dari satu lokasi nama, jenis kelamin, tanggal lahir, hubungan Simple atribut, Simple atribut, Simple atribut Simple atribut 6. Berikut adalah contoh jawaban soal no 6. 50 Keterangan primary key 51 52 53 54 MENEMUKAN RELASI DAN MENGGAMBAR ERD A. Tujuan Pembelajaran Setelah mengikuti kegiatan belajar 4 diharapkan, melalui praktikum peserta diklat dapat: Menemukan relasi sesuai ilustrasi sistem basis data. Menggambar entity relationship diagram sistem basis data. B. Indikator Pencapaian Kompetensi Menemukan relasi sesuai ilustrasi sistem basis data. Menggambar entity relationship diagram sistem basis data. C. Uraian materi 1. Relasi Relasi menyatakan hubungan antara dua atau beberapa entitas. Setiap relasi mempunyai batasan (constraint) terhadap kemungkinan kombinasi entitas yang berpartisipasi. Batasan tersebut ditentukan dari situasi yang diwakili relasi tersebut. Ragam atau jenis relasi dibedakan menjadi beberapa macam antara lain adalah: a. Relasi Binary. Relasi binary merupakan relasi antara dua entitas. Relasi binary ini dibedakan menjadi : Relasi One-to-one (notasi 1:1) Relasi One-to-many (notasi 1:N) atau many-to-one (notasi N:1) Relasi Many-to-many (notasi M:N) b. Relasi Ternary. Relasi ternary adalah merupakan relasi antara tiga entitas atau lebih. Dalam Relasi One-to-one (1:1) setiap atribute dari satu entitas berpasangan dengan satu attribute dari entitas yang direlasikan. Dalam relasi One-to-many (1:N) atau many-to-one (N:1) satu atribute 55 berelasi dengan beberapa atribute dari entitas yang direlasikan. Dalam Many-to-many (M:N) satu atribute berelasi dengan beberapa atribute dari entitas yang direlasikan. Begitu pula sebaliknya. Gambar 26. Ragam relasi antar entitas Sebagaimana entias dalam relasi juga dapat dibedakan menjadi relasi kuat dan relasi lemah. Gambar dibawah ini menjelaskan notasi umum untuk relasi kuat dan relasi lemah. Gambar 27. Notasi relasi entitas untuk entitas kuat (b) dan entitas lemah (c) 2. Batasan Partisipasi Batasan partisipasi atau batasan hubungan entitas menjelaskan bagaimana data itu berelasi, batasan ini menentukan bagaimana (harus ataukah tidak) berpartisipasi suatu entitas dengan relasinya pada entitas lain. Batasan partisipasi dibedakan menjadi dua yaitu: 1) Partisipasi Total (harus berpartisipasi) dan 2) Partisipasi Parsial (tidak harus berpartisipasi) Contoh relasi yang merupakan partisipasi total adalah relasi antara pegawai dengan departemen dengan nama relasi bekerja untuk dan partisipasi total disisi pegawai. Dari deskripsi basis data disebutkan bahwa: “Semua pegawai harus bekerja di bawah suatu departemen” Dari pernyataan diatas mengindikasikan bahwa relasi disisi pegawai adalah relasi total yang ditandai dengan kata kunci harus. Untuk 56 menggambarkan relasi dengan partisipasi total tersebut dapat dilakukan dengan dua pendekatan yaitu: Menggunakan garis ganda pada relasi disisi pegawai Menggunakan satu garis pada relasi disisi pegawai digabungkan dengan minimum 1 (minimum bekerja pada 1 departemen) Gambar 28. Relasi dengan batasan partisipasi total. Contoh relasi yang merupakan partisipasi parsial adalah relasi antara pegawai dengan departemen dengan nama relasi mengepalai daan partisipasi parsial disisi pegawai. Deskripsi basis data menyebutkan : “Beberapa pegawai mengepalai sebuah departemen (setiap pegawai tidak harus mengepalai suatu departemen) “ Pernyataan diatas menjelaskan bahwa relasi disisi pegawai adalah mempunyai partisipasi parsial. Hal ini ditandai dengan kata kunci (beberapa pegawai ...... atau tidak harus.....). Untuk menggambarkan relasi dengan partisipasi parsial tersebut dapat dilakukan dengan dua pendekatan yaitu: Menggunakan satu garis pada relasi disisi pegawai Menggunakan satu garis pada relasi disisi pegawai digabungkan dengan minimum 0 (tidak mengepalai departemen) 57 Gambar 29. Relasi dengan batasan (constraint) partisipasi parsial D. Aktifitas Pembelajaran: Prosedur menemukan Relasi Prosedur atau langkah-langkah yang seharusnya dilakukan untuk menemukan atau mendefinisikan relasi dalam suatu sistem data base adalah sebagai berikut: 1. Dari gambaran cerita sistem, tandai setiap hubungan yang diwakili oleh kata kerja yang ada di dalam ilustrasi beserta entitas yang berhubungan. 2. Identifikasikan rasio kardinalitas dari setiap hubungan. 3. Identifikasikan batasan partisipasi dari setiap hubungan yang ada berikut kemungkinan atribut yang muncul dari setiap hubungan. 4. Gambarkan hubungan tersebut dalam bentuk notasi diagram dan gabungkan dengan notasi Entitas dan atribut yang dibuat sebelumnya. Pernyataan dibawah ini menjelaskan contoh langkah-langkah menemukan relasi untuk kasus Sistem Kepegawaian di perusahaan A (lihat kembali deskripsi sistem basis data pada kegiatan belajar sebelumnya), yaitu sebagai berikut: 1. Langkah 1 Menandai relasi dari deskriipsi cerita. Dari gambaran cerita sistem, tandai dan tentukan setiap hubungan yang diwakili oleh kata kerja yang ada di dalam ilustrasi dan entitas yang berhubungan. 58 Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin pengawas/mandor dari pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain. Sehingga satu pengawas dapat memimpin beberapa pegawai. Setiap pegawai bekerja untuk suatu departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai. Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai tanggal tertentu. Tidak semua pegawai mengepalai departemen. Sebuah departemen dapat berada di beberapa lokasi. Selain bekerja di suatu departemen pegawai dapat bekerja pada beberapa proyek. Setiap proyek dikendalikan/diatur departemen tidak harus oleh suatu departemen, mengendalikan/mengatur namun suatu proyek. Satu departemen dapat mengendalikan beberapa proyek dan satu proyek hanya dikendalikan oleh satu departemen.Satu proyek dapat terdiri dari beberapa pegawai. Untuk keperluan penggajian perusahaan memerlukan data tanggungan pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang pegawai pindah maka datanya akan dipindahkan / dihapus berikut data tanggungan atau keluarganya. 2. Langkah 2 Identifikasi hubungan antara entitas. Indentifikasi hubungan dilakukan dengan membuat tabel sepeti terlihat di bawah ini. Hubungan berlangsung dua arah dari entitas 1 ke entitsas 2 dan sebaliknya. Kata kunci hubungan satu sisi menggunakan kata aktif dan dari sisi sebaliknya menggunakan kata kunci pasif. Tabel 7. Identifikasi hubungan antara dua entitas dua arah Entitas 1 Hubungan Entitas 2 Pengawas (Pegawai) memimpin Pegawai Pegawai dipimpin Pengawas(Pegawai) Pegawai bekerja untuk Departemen Departemen terdiri dari Pegawai Pegawai mengepalai Departemen Departemen dikepalai Pegawai Pegawai bekerja pada Proyek 59 Proyek terdiri dari Pegawai Departemen mengatur Proyek Proyek diatur Departemen Pegawai menanggung Tanggungan Tanggungan ditanggung Pegawai Tabel 8. Identifikasi hubungan antara dua entitas satu arah Entitas 1 Hubungan Entitas 2 Pengawas(Pegawai) memimpin Pegawai Pegawai bekerja untuk Departemen Pegawai mengepalai Departemen Pegawai bekerja pada Proyek Departemen mengatur Proyek Pegawai menanggung Tanggungan 3. Langkah 3 Identifikasi rasio kardinalitas Identifikasi rasio kardinalitas menjelaskan batasan (constraint) terhadap kemungkinan kombinasi entitas yang berpartisipasi. Identifikasi rasionalitas dapat dinyatakan dengan dua pendekatan yaitu: 1) banyaknya entitas berpartisipasi (one-one, one-many, many-one atau many-many), dan 2) Banyaknya entitas berpartisipasi (minimal dan maksimal). Tabel 9. Identifikasikan rasio kardinalitas dari setiap hubungan Entitas 1 Banyaknya Entitas 1 yang berpartisipasi Hubungan Banyaknya Entitas 2 berpartisipasi Entitas 2 Pegawai 1 memimpin N Pegawai Pegawai 1 dipimpin 1 Pegawai Pegawai 1 bekerja untuk 1 Departemen Departemen 1 terdiri dari N Pegawai 60 Pegawai 1 mengepalai 1 Departemen Departemen 1 dikepalai 1 Pegawai Pegawai 1 bekerja pada N Proyek Proyek 1 terdiri dari N Pegawai Departemen 1 mengatur N Proyek Proyek 1 diatur 1 Departemen Pegawai 1 menanggung N Tanggungan Tanggungan 1 ditanggung 1 Pegawai Relasi antar entitas juga dapat diwujudkan dengan melibatkan identifikasikan batasan partisipasi dari setiap hubungan yang ada. Tabel dibawah ini menjelaskn relasi yang melibatkan banyaknya partisipasi (minimal dan maksimal). Tabel 10. Indentifikasi batasan partisipasi (min, max) antara dua entitas. Entitas 1 Banyaknya Entitas 1 yang berpartisipa si Hubungan Banyaknya Entitas 2 yang berpartisipa si (min,max) (0,N) (0,1) Entitas 2 Pegawai Pegawai 1 1 memimpin dipimpin Pegawai Pegawai Pegawai 1 bekerja untuk (1,1) Departemen Departemen 1 terdiri dari (1,N) Pegawai Pegawai 1 mengepalai (0,1) Departemen Departemen 1 dikepalai (1,1) Pegawai Pegawai 1 bekerja pada (1,N) Proyek Proyek 1 terdiri dari (1,N) Pegawai Departemen 1 mengatur (0,N) Proyek Proyek 1 diatur (1,1) Departemen Pegawai 1 menanggung (0,N) Tanggungan Tanggungan 1 ditanggung (1,1) Pegawai 61 4. Langkah 4 menggambarkan relasi antar entitas Dari tabel Identifikasikan rasio kardinalitas untuk setiap hubungan dan tabel indentifikasi batasan partisipasi (min, max) diatas dapat digambarkan diagram relasi entitasnya, seperti terlihat digambar dibawah ini. Gambar 30. . Diagram relasi entitas pegawai dan departemen (a) melibatkan batasan partisipasi, (b) melibatkan rasio kardinalitas (min,max) dan partisipasi total/parsial Dengan cara yang sama dapat ditemukan dan digambarkan relasi antar entitas lainnya. Gambar dibawah ini menjelaskan ER diagram secara lengkap untuk sistem basis data kepegawaian di perusahaan A 62 Gambar 31. ERD sistem basis data pegawai perusahaan A E. Latihan Soal Berdasarkan uraian materi diatas dan hasil kegiatan belajar sebelumnya (kegiatan belajar 3), lakukan kegiatan berikut dengan cermat dan teliti: 1. Temukan atau identifikasi semua relasi dari deskripsi sistem basis data yang telah saudara buat dalam kegiatan pembelajaran 2 (LK 4.1) 2. Identifikasi untuk semua relasi entitas (dua arah) sesuai dengan langkah 1 (LK 4.2) 3. Identifikasi rasio kardinalitas untuk setiap relasi dengan melibatkan banyaknya entitas berpartisipasi dan batasan partisipasi (min,max) (LK 4.3) 4. Gambarkan semua relasi antar entitas sehingga menghasilkan entity relationship diagram lengkap sistem basis data (LK 4.4) F. Rangkuman Prosedur yang dilakukan untuk menemukan relasi dalam suatu sistem basis data adalah: 1) Dari gambaran cerita sistem, tandai setiap hubungan yang diwakili oleh kata kerja yang ada di dalam ilustrasi beserta entitas yang berhubungan. 2) Identifikasikan rasio kardinalitas dari setiap hubungan. 3) 63 Identifikasikan batasan partisipasi dari setiap hubungan yang ada berikut kemungkinan atribut yang muncul dari setiap hubungan. 4) Gambarkan hubungan tersebut dalam bentuk notasi diagram dan gabungkan dengan notasi Entitas dan atribut yang dibuat sebelumnya. G. Umpan Balik Hasil Yang Dicapai IPK Mampu semua Ya menemukan relasi dalam deskripsi sistem basis data. Mampu mengidentifikasi semua hubungan antar entitas dalam dua arah dan satu arah. Mampu mengidentifikasi rasio kardinalitas setiap relasi yang melibatkan banyaknya entitas yang berpartisipasi dan batasan partisipasi minmax. Mampu menggambar ERD sistem basis data menggunakan yang distandarisasi. 64 notasi telah Tidak Rencana Tindak Lanjut H. Kunci Jawaban 1. Berikut adalah contoh menjawab soal no 1. Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin pengawas/mandor dari pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain. Sehingga satu pengawas dapat memimpin beberapa pegawai. Setiap pegawai bekerja untuk suatu departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai. Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai tanggal tertentu. Tidak semua pegawai mengepalai departemen. Sebuah departemen dapat berada di beberapa lokasi. Selain bekerja di suatu departemen pegawai dapat bekerja pada beberapa proyek. Setiap proyek dikendalikan/diatur oleh suatu departemen, namun suatu departemen tidak harus mengendalikan/mengatur proyek. Satu departemen dapat mengendalikan beberapa proyek dan satu proyek hanya dikendalikan oleh satu departemen.Satu proyek dapat terdiri dari beberapa pegawai. Untuk keperluan penggajian perusahaan memerlukan data tanggungan pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang pegawai pindah maka datanya akan dipindahkan / dihapus berikut data tanggungan atau keluarganya. 2. Berikut adalah contoh jawaban soal no 2 untuk hubungan 2 arah. Entitas 1 Pengawas (Pegawai) Pegawai Pegawai Departemen Pegawai Departemen Pegawai Proyek Departemen Proyek Pegawai Tanggungan Hubungan Entitas 2 memimpin dipimpin bekerja untuk terdiri dari mengepalai dikepalai bekerja pada terdiri dari mengatur diatur menanggung ditanggung Pegawai Pengawas(Pegawai) Departemen Pegawai Departemen Pegawai Proyek Pegawai Proyek Departemen Tanggungan Pegawai 65 3. Berikut adalah contoh jawaban soal no 3 untuk mengidentifikasi rasio Identifikasikan rasio kardinalitas dari setiap hubungan Entitas 1 Banyaknya Entitas 1 yang berpartisipasi Hubungan Banyaknya Entitas 2 berpartisipasi Entitas 2 Pegawai 1 memimpin N Pegawai Pegawai 1 dipimpin 1 Pegawai Pegawai 1 bekerja untuk 1 Departemen Departemen 1 terdiri dari N Pegawai Pegawai 1 mengepalai 1 Departemen Departemen 1 dikepalai 1 Pegawai Pegawai 1 bekerja pada N Proyek Proyek 1 terdiri dari N Pegawai Departemen 1 mengatur N Proyek Proyek 1 diatur 1 Departemen Pegawai 1 menanggung N Tanggungan Tanggungan 1 ditanggung 1 Pegawai Indentifikasi batasan partisipasi (min, max) antara dua entitas. Entitas 1 Banyaknya Entitas 1 yang berpartisipa si Hubungan Banyaknya Entitas 2 yang berpartisipa si (min,max) (0,N) (0,1) Entitas 2 Pegawai Pegawai 1 1 memimpin dipimpin Pegawai 1 bekerja untuk (1,1) Departemen Departemen 1 terdiri dari (1,N) Pegawai Pegawai 1 mengepalai (0,1) Departemen Departemen 1 dikepalai (1,1) Pegawai Pegawai 1 bekerja pada (1,N) Proyek 66 Pegawai Pegawai Proyek 1 terdiri dari (1,N) Pegawai Departemen 1 mengatur (0,N) Proyek Proyek 1 diatur (1,1) Departemen Pegawai 1 menanggung (0,N) Tanggungan Tanggungan 1 ditanggung (1,1) Pegawai 4. Berikut adalah contoh jawaban soal no 4, 67 68 69 70 MEMETAKAN ER MODEL KE RELATIONAL MODEL A. Tujuan Pembelajaran Setelah mengikuti kegiatan belajar 5 ini diharapkan : Melalui praktikum peserta diklat dapat memetakan ER model ke dalam relasi tabel. B. Indikator Pencapaian Kompetensi Memetakan ER model ke dalam relasi tabel. C. Uraian materi 1. Definisi Relational Model Model Data Relasional adalah suatu model basis data yang menggunakan tabel dua dimensi, yang terdiri atas baris dan kolom untuk menggambarkan sebuah berkas data. Model ini menunjukkan cara mengelola atau mengorganisasikan data secara fisik dalam memori sekunder. Hal ini akan berdampak pada bagaimana mengelompokkan data dan membentuk keseluruhan data yang terkait dalam sistem yang akan dibuat. ER Model (ERD) Yang merupakan representasi konseptual basis data harus dipetakan ke dalam relational model (relasi tabel) agar secara langsung dapat diimplementasikan ke basis data. Dalam relational model dikenal beberapa istilah yaitu: Relasi: Sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris. Atribut: Kolom pada sebuah relasi (field). Tupel: Baris pada sebuah relasi (record). Domain: Kumpulan nilai yang valid untuk satu atau lebih atribut Derajat (degree):Jumlah atribut dalam sebuah relasi (jumlah field) Cardinality: Jumlah tupel dalam sebuah relasi (jumlah record) 71 Tabel Berikut ini menjelaskan beberapa kosakata yang umum digunakan. Beberapa istilah yang sama memiliki pengertian berbeda tergantung pada model yang digunakan. Istilah dalam kolom paling kiri di bawah (ER Mode) bukan merupakan empat komponen dalam konstruksi ER model. Tabel 11.Kosa kata / istilah dalam beberapa ragam model 2. Algoritma Pemetakan model Relasi Entitas (ERD) Ke Relasi Tabel (Relational Model). Di dalam basis data yang menjadi pusat perhatian dan intisari sistem adalah tabel dan relasinya. Istilah tabel ini muncul dari abstraksi data pada level fisik.Tabel ini sama artinya dengan entitas dari model data pada level konseptual. Setiap orang bisa membuat tabel tetapi membuat tabel yang baik tidak semua orang dapat melakukannya. Kebutuhan akan membuat tabel yang baik ini ini melahirkan beberapa teori atau metode antara lain ialah pemetakan ER to table dan Normalisasi. Uraian materi di bawah ini menjelaskan pemetakan ER model ke relasi tabel sedangkan Algoritma atau Langkah-langkah yang dilakukan untuk memetakan ER diagram ke tabel relasional yaitu sebagai berikut: 1. Untuk setiap entitas kuat EK, buat tabel baru EK yang menyertakan seluruh simple atribut dan simple atribut dari composite atribut yang ada. Pilih salah satu atribut kunci sebagai primary key. 2. Untuk setiap entitas lemah EH, buat tabel baru EH dengan mengikutsertakan seluruh simple atribut. Tambahkan primary key dari entitas kuatnya (owner entity type) yang akan digunakan sebagai primary key bersama-sama partial key dari entitas lemah. 72 3. Untuk setiap multivalued atribut R, buatlah tabel baru R yang menyertakan atribut dari multivalue tersebut. Tambahkan primary key dari relasi yang memiliki multivalue tersebut. Kedua atribut tersebut membentuk primary key dari tabel R. 4. Untuk setiap relasi binary 1:1, tambahkan primary key dari sisi yang lebih “ringan” ke sisi (entitas) yang lebih “berat”. Suatu sisi dianggap lebih “berat” timbangannya apabila mempunyai partisipasi total. Tambahkan juga simple atribut yang terdapat pada relasi tersebut ke sisi yang lebih “berat”. Apabila kedua partisipasi adalah sama-sama total atau sama-sama partial, maka dua entitas tersebut boleh digabung menjadi satu tabel. 5. Untuk setiap relasi binary 1:N yang tidak melibatkan entitas lemah, tentukan mana sisi yang lebih “berat” (sisi N). Tambahkan primary key dari sisi yang “ringan” ke tabel sisi yang lebih “berat”. Tambahkan juga seluruh simple atribut yang terdapat pada relasi biner tersebut. 6. Untuk setiap relasi binary M:N, buatlah tabel baru R dengan atribut seluruh simple atribut yang terdapat pada relasi biner tersebut. Tambahkan primary key yang terdapat pada kedua sisi ke tabel R. Kedua foreign key yang didapat dari kedua sisi tersebut digabung menjadi satu membentuk primary key dari tabel R. 7. Untuk setiap relasi lebih dari dua entitas, n-nary (ternary), meliputi dua alternatif yaitu: a. Buatlah tabel R yang menyertakan seluruh primary key dari entitas yang ikut serta. Sejumlah n foreign key tersebut akan membentuk primary key untuk tabel R. Tambahkan seluruh simple atribut yang terdapat pada relasi n-ary tersebut. b. Mengubah bentuk relasi ternary menjadi entitas lemah, kemudian memperbaiki relasi yang terjadi antara entitas lemah tersebut dengan entitas-entitas kuatnya dan melakukan algoritma pemetakan sesuai dengan aturan mapping. 73 D. Aktifitas Pembelajaran Uraian dibawah ini menjelaskan urutan langkah memetakan ER model ke relasi tabel. Sistem basis data yang dijadikan contoh adalah sistem basis data perusahaan A seperti dijelaskan dalam kegiatan belajar 3 dan 4. Perhatikan kembali dengan seksama gambar 31 ERD sistem basis data perusahaan A. pada kegiatan pembelajaran 4 diatas. Lakukan Langkah-langkah yang dilakukan untuk memetakan ER diagram ke relational model, yaitu : 1. Berdasarkan algoritma nomor 1 aturan tentang entitas kuat maka lakukan dengan cermat beberapa langkah dibawah ini : a. Untuk setiap entitas kuat Entitas Kuat, buat tabel baru Eks. b. Sertakan seluruh simple atribut. c. Sertakan simple atribut dari composite atribut yang ada. d. Pilih salah satu atribut kunci sebagai primary key. Gambar 32. Mapping ER ke tabel untuk entitas kuat. 2. Berdasarkan algoritma nomor 2 aturan tentang entitas entitas lemah. Untuk setiap entitas lemah EH, laakukan dengan cermat beberapa langkah dibawah ini : 74 a. Buat tabel baru EH. b. Sertakan seluruh simple atribut c. Tambahkan primary key dari entitas kuatnya (owner entity type) yang akan digunakan sebagai primary key bersama-sama partial key dari entitas lemah. Gambar 33. Mapping ER ke tabel untuk entitas lemah 3. Berdasarkan algoritma nomor 2 aturan tentang relasi multivalue atribut.Untuk setiap multivalued atribut R, a. buatlah tabel baru R yang menyertakan atribut dari multivalue tersebut. b. Tambahkan primary key dari relasi yang memiliki multivalue tersebut. Kedua atribut tersebut membentuk primary key dari tabel R Gambar 34. Mapping multivalue attribute 75 4. Untuk setiap relasi binary 1:1, tambahkan primary key dari sisi yang lebih “ringan” ke sisi (entitas) yang lebih “berat”. Suatu sisi dianggap lebih “berat” timbangannya apabila mempunyai partisipasi total. Tambahkan juga simple atribut yang terdapat pada relasi tersebut ke sisi yang lebih “berat”. Gambar 35. Mapping relasi binary 1:1 5. Untuk setiap relasi binary 1:N yang tidak melibatkan entitas lemah, tentukan mana sisi yang lebih “berat” (sisi N). Tambahkan primary key dari sisi yang “ringan” ke tabel sisi yang lebih “berat”. Tambahkan juga seluruh simple atribut yang terdapat pada relasi biner tersebut Gambar 36. Mapping ER to tabel relasi one to many 76 6. Untuk setiap relasi binary M:N, buatlah tabel baru R dengan atribut seluruh simple atribut yang terdapat pada relasi biner tersebut. Tambahkan primary key yang terdapat pada kedua sisi ke tabel R. Kedua foreign key yang didapat dari kedua sisi tersebut digabung menjadi satu membentuk primary key dari tabel R Gambar 37. Mapping ER to tabel relasi Many to many 7. Untuk setiap relasi n-ary (ternary), a. Buatlah tabel R yang menyertakan seluruh primary key dari entitas yang ikut serta. Sejumlah n foreign key tersebut akan membentuk primary key untuk tabel R. Tambahkan seluruh simple atribut yang terdapat pada relasi n-ary tersebut. b. Sama dengan proses yang dilakukan untuk langkah ke 6. Karena dalam ER-D perusahaan ini tidak ada relasi n-ary maka langkah ini tidak dilakukan. Gambar 38. Mapping untuk relasi N-narry 77 Dengan menggunakan cara yang sama dapat dilakukan pemetaan ER diagram ke tabel untuk setiap relasi entitas dari ER diagram sistem basis data perusahaan A. Gambar 39. Relasi Tabel hasil pemetakan ERD E. Latihan Soal Berdasarkan hasil kegiatan belajar 3 dan 4 yang telah saudara kerjakan, buatlah diagram relational model yang merupakan pemetakan ER diagram, mengilustrasikan model data fisik dan menjelaskan relasi antar tabel. 1. Pemetakan Entitas Kuat ke tabel (LK 5.1) 2. Pemetakan Entitas Lemah ke tabel (LK 5.2) 3. Pemetakan relasi 1 to 1 (ERD) ke Relational Model (LK 5.3) 4. Pemetakan relasi 1 to N (ERD) ke Relational Model (LK 5.4) 5. Pemetakan relasi M to N (ERD) ke Relational Model (LK 5.5) F. Rangkuman Model Data Relasional adalah suatu model basis data yang menggambarkan sebuah berkas data, meliputi tabel dua dimensi. terdiri atas baris dan kolom. ER Model (ERD) merupakan representasi konseptual basis data harus dipetakan ke relational model (relasi tabel) sehingga secara langsung dapat diimplementasikan ke basis data. Aturan 78 dalam memetakan ERD ke relational model meliputi tujuh ketentuan yaitu pemetaan untuk; 1) Entitas kuat, 2) Entitas lemah, 3) Multivalue attribute, 4) Relasi binary 1 to 1, 5) Relasi 1 to N, 6) Relasi M to N dan 7) Relasi Threenary. G. Umpan Balik Hasil Yang Dicapai IPK Mampu Ya Tidak Rencana Tindak Lanjut memetakan entitas kuat dalam ERD ke model relational. Mampu entitas memetakan lemah ERD ke dalam model relational. Mampu memetakan relasi 1 to 1 pada ERD ke model relational. Mampu memetakan relasi 1 to N pada ERD ke model relational. Mampu memetakan relasi N to N pada ERD ke model relational. 79 H. Kunci Jawaban 1. Berikut adalah contoh jawaban dari soal no 1. 2. Berikut adalah contoh jawaban untuk soal no 2 3. Berikut adalah contoh jawaban untuk soal no 3. Untuk setiap relasi binary 1:1, tambahkan primary key dari sisi yang lebih “ringan” ke sisi (entitas) yang lebih “berat”. Suatu sisi dianggap lebih “berat” timbangannya apabila mempunyai partisipasi total. Tambahkan juga simple atribut yang terdapat pada relasi tersebut ke sisi yang lebih “berat”. 80 4. Berikut adalah contoh jawaban untuk soal no 4. Untuk setiap relasi binary 1:N yang tidak melibatkan entitas lemah, tentukan mana sisi yang lebih “berat” (sisi N). Tambahkan primary key dari sisi yang “ringan” ke tabel sisi yang lebih “berat”. Tambahkan juga seluruh simple atribut yang terdapat pada relasi biner tersebut. 5. Berikut adalah contoh jawaban soal no 5. Untuk setiap relasi binary M:N, buatlah tabel baru R dengan atribut seluruh simple atribut yang terdapat pada relasi biner tersebut. Tambahkan primary key yang terdapat pada kedua sisi ke tabel R. Kedua foreign key yang didapat dari kedua sisi tersebut digabung menjadi satu membentuk primary key dari tabel R. 81 82 83 84 KETERGANTUNGAN FUNGSIONAL A. Tujuan Pembelajaran Setelah mengikuti kegiatan belajar 6 ini diharapkan : Melalui observasi peserta diklat dapat menganalisis tiga bentuk ketergantungan dalam suatu tabel dengan benar. B. Indikator Pencapaian Kompetensi Menganalisis Ragam bentuk ketergantungan dalam suatu tabel C. Uraian materi Tabel adalah kompulan data yang tersusun dalam format baris (record) dan kolom (field atau atribut). Atribut lebih umum digunakan dalam perancangan basis data, karena menunjukkan fungsinya sebagai pembentuk karakteristik (sifat–sifat) yang melekat pada sebuah tabel. Relasi menyatakan hubungan antara dua atau beberapa entitas. Setiap relasi mempunyai batasan (constraint) terhadap kemungkinan kombinasi entitas yang berpartisipasi. Batasan tersebut ditentukan dari situasi yang diwakili relasi tersebut. Dalam suatu tabel keberadaan suatu atribut dapat tergantung pada atribut lainnya. Satu atribut dapat juga tidak bergantung pada atribut lainnya. Dilihat dari keberadaan atau ketergantungan atribut terhadap atribut yang lain dalam basis data dikenal beberapa jenis yaitu ketergantungan fungsional, ketergantungan transitif dan ketidaktergantungan (non KF). 85 D. Aktifitas Pembelajaran: Pada kegiatan pembelajaran peserta diminta untuk menganalisis ragam bentuk ketergantungan secara cermat dan teliti. 1. Ketergantungan Fungsional 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.Misal, terdapat skema database Pemasok_barang. Dengan tabel pemasok (No_pem, Na_pem) Tabel 12. Tabel pemasok barang No_pem Na_pem P01 Baharu P02 Sinar P03 Harapan Ketergantungan fungsional dari tabel Pemasok_barang adalah : No_pem Na_pem (nama pemasuk tergantung secara fungsional dari Nomer pemasok) 2. Ketergantungan Fungsional Penuh Atribut Y pada relasi R dikatakan tergantung fungsional penuh pada atribut X pada relasi R, jika Y tidak tergantung pada subset dari X (bila X adalah key gabungan). Contoh tabel Kirim_barang (No_pem, Na_pem, No_bar, Jumlah) Tabel 13. Tabel Pengiriman barang No_pem P01 P01 P01 P02 P03 86 Na_pem Baharu Baharu Baharu Sinar Harapan No_bar B01 B02 B03 B03 B02 Jumlah 1000 1500 2000 1000 2000 Ketergantungan fungsionalnya adalah : No_pem Na_pem No_bar, No_pem Jumlah (tergantung penuh terhadap keynya) 3. Ketergantungan Transitif Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X, jika atribut Y tergantung pada atribut X pada relasi R dan atribut tergantung pada atribut Y pada relasi R. Contoh perhatikan tabel dibawah ini : Tabel 14. Tabel Pengiriman barang yang melibatkan atribut kota Ketergantungan fungsional : No_pem Kode_kota Kode_kota Kota, maka No_pem Kota 4. Ragam Contoh Ketergantungan Fungsional. Diberikan sebuah tabel T berisi paling sedikit 2 buah atribut, yaitu A dan B. Kita dapat menyatakan notasi berikut ini : AB Yang berarti A secara fungsional menentukan B atau B secara fungsional tergantung pada A, jika dan hanya jika setiap kumpulan baris (row) yang ada di tabel T, pasti ada 2 baris data (row) di tabel dengan nilai A yang sama, maka nilai B pasti juga sama. Definisi yang paling formal untuk itu adalah : Diberikan 2 row r1 dan r2 dalam tabel T dimana A B. jika r1(A) = r2(A) maka r1(B) = r2(B) 87 Tabel 15. Tabel nilai mahasiswa nama_kul nim nama_mhs indeks_nilai row 1 Sistem Basis Data 040001 Santi Purnamasari A row 2 Sistem Basis Data 040002 Budi Setyawan B row 3 Struktur Data 040001 Santi Purnamasari A row 4 Struktur Data 040002 Budi Setyawan C row 5 Struktur Data 040003 Kartika Sari B row 6 Komunikasi Data 040001 Santi Purnamasari B row 7 Riset Operasi 040002 Budi Setyawan C Dengan melihat data di atas dan dengan pertimbangan intuisi kita, maka ketergantungan fungsional yang dapat kita ajukan adalah : nim nama_mhs yang berarti bahwa atribut nama_mhs hanya tergantung pada atribut nim. Hal ini dibuktikan dari fakta : untuk setiap nilai nim yang sama maka pasti nilai nama_mhsnya juga sama. nama_kul, nim indeks_nilai yang berarti bahwa atribut indeks_nilai tergantung pada atribut nama_kul dan nim secara bersama–sama, memang kita tidak dapat menunjukkan fakta, bahwa untuk setiap nilai nama_kul dan nim yang sama, maka nilai indeks_nilainya juga sama, karena nama_kul, nim merupakan key (sehingga bersifat unik) untuk tabel tersebut. Tetapi, ketergantungan fungsional tersebut sesuai dengan pengertian bahwa setiap indeks_nilai diperuntukkan pada mahasiswa tertentu untuk mata kuliah tertentu yang diambilnya. Tanpa memperhatikan pengertian ketergantungan secara alamiah terhadap tabel tersebut, kita juga dapat mengajukan sejumlah ketidaktergantungan (non KF) dengan hanya melihat fakta yang ada,yaitu : 88 nama_kul nim yang artinya atribut nim tidak tergantung pada atribut nama_kul. Buktinya terlihat pada row 1 dan row 2 : dengan nilai nama_kul yang sama, tapi nilai nimnya berbeda. nim nideks_nilai yang artinya atribut indeks_nilai tidak bergantung pada atribut nim. Buktinya terlihat pada row 1 dan row 3 : dengan nilai nim yang sama, tapi nilai indeks_nilai berbeda. E. Latihan Soal: Mengamati Ketergantungan fungsional Kerjakan langkah-langkah dibawah ini dengan cermat dan teliti. 1. Lihat dan amati hasil tugas belajar kegiatan 5 : 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. 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. (LK 6.1) 4. Dari hasil tabel pada langkah tiga Pilih dua tabel kemudian tuliskan ketergantungan fungsionalnya dan non ketergantungan fungsionalnya (LK 6.2) 5. Dari hasil tabel pada langkah tiga, jika ada pilih satu tabel kemudian tuliskan ketergantungan fungsional transitifnya (LK 6.3) 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 tutor / widyaiswara. 89 F. Rangkuman 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. G. Umpan Balik IPK Mampu menganalisis ketergantungan fungsional. Mampu menganalisis ketergantungan transitif. Mampu mengenalisis ketidakketergantungan (non ketergantungan fungsional. 90 Hasil Yang Dicapai Ya Tidak Rencana Tindak Lanjut 91 92 RAGAM BENTUK TEKNIK NORMALISASI DATA A. Tujuan Pembelajaran Setelah mengikuti kegiatan belajar 7, melalui observasi diharapkan peserta diklat dapat: menganalisis ragam bentuk teknik normalisasi data B. Indikator Pencapaian Kompetensi Menganalisis ragam bentuk teknik normalisasi data. C. Uraian materi 1. Definisi Normalisasi Normalisasi adalah 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 data. Proses normalisasi akan menghasilkan relasi yang optimal, jika: 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 merancang basis data terdapat dua pendekatan yang sering dilakukan yaitu: 1) Model entity–relationship-diagram (ERD) yang telah dijelaskan dalam kegiatan belajar 3, 4, 5. dan 2) Menerapkan normalisasi terhadap struktur tabel yang telah diketahui. 93 Dalam pendekatan normalisasi, perancangan basis data bertitik tolak dari situasi nyata. Basis data 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 basis data secara keseluruhan. Pada penerapannya dua pendekatan tersebut dilakukan secara bersama–sama. Untuk kepentingan evaluasi dan dokumentasi, hasil normalisasi diwujudkan dalam sebuah model data. Model data yang sudah jadi tersebut dapat dimodifikasi dengan pertimbangan tertentu. Selanjutnya diimplementasikan dalam bentuk sejumlah struktur tabel pada sebuah basis data. Struktur ini dapat diuji kembali dengan menerapkan aturan–aturan normalisasi, hingga akhirnya diperoleh sebuah struktur basis data yang benar–benar efektif dan efisien. Begitulah kedua pendekatan dapat saling memperkuat satu sama lain. 2. Bentuk-Bentuk Normalisasi Normalisasi data adalah proses yang berkaitan dengan model data relasional untuk mengorganisasi himpunan data dengan ketergantungan dan keterkaitan yang tinggi atau erat. Hasil dari proses normalisasi adalah tabel–tabel data dalam bentuk normal (normal form), yaitu tabel–tabel data yang terhindar dari dua hal yaitu: Pengulangan informasi dan Potensi inkonsistensi data pada operasi pengubahan. Terdapat enam bentuk normal (normal form) dalam teknik normalisasi data, keenam bentuk tersebut adalah : 1. Bentuk Normal Tahap pertama (1st Normal Form) 2. Bentuk Normal Tahap Kedua (2nd Normal Form) 3. Bentuk Normal Tahap Ketiga (3rd Normal Form) 4. Bentuk Normal Boyce - Code (BCNF) 5. Bentuk Normal Tahap Keempat (4rd Normal Form) 6. Bentuk Normal Tahap Kelima (5rd Normal Form) 94 3. Proses-Proses Normalisasi data Dalam proses normalisasi, data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat. Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal. Langkah-langkah yang dilakukan dalam melakukan normalisasi data diperlihatkan dalam gambar dibawah ini: Gambar 40. Langkah-langkah proses normalisasi data. 95 D. Aktifitas Pembelajaran: Analisislah bentuk-bentuk teknik normalisasi data dengan cermat dan teliti: 1. Bentuk tidak normal (Unnormalized Form) Bentuk tidak normal ini memiliki beberapa ciri-ciri, yaitu antara lain adalah : Merupakan kumpulan data yang akan direkam Tidak ada keharusan mengikuti suatu format tertentu Dapat saja data tidak lengkap atau terduplikasi Data dikumpulkan apa adanya sesuai dengan kedatangannya. Beberapa contoh tabel yang tidak normal dijelaskan dalam tabel 8.1 dan tabel 8.2 dibawah ini. Tabel 16. Tabel mahasiswa yang tidak normal Tabel 17.Tabel mahasiswa (Nis, nama mahasiswa, hobi1,hobi2,hobi3) yang tidak normal 96 2. Bentuk Normal Tahap pertama (1st Normal Form) Bentuk normal ke satu 1 NF ini mempunyai beberapa ciri antara lain yaitu: Setiap data dibentuk dalam flat file (file data/ rata) Data dibentuk dalam satu record demi satu record dan nilai dari field field berupa "atomic value", tidak dapat dibagi-bagi lagi. Tidak ada set atribute yang berulang ulang atau atribute bernilai ganda (multivalue). Tidak ada set atribut composite atau kombinasinya dalam domain data yang sama. Tiap field hanya satu pengertian, bukan merupakan kumpulan kata yang mempunyai arti mendua, hanya satu arti saja dan juga bukanlah pecahan kata sehingga artinya lain. Untuk dapat memenuhi aturan 1NF, maka contoh tabel 8.1 dan tabel 8.2 diatas dirubah atau dipecah (dekomposisi) menjadi 2 entitas, yakni entitas siswa dan entitas hobi seperti gambar berikut : Gambar 41. Hasil dekomposisi tabel mahasiswa untuk memenuhi bentuk 1NF 97 3. Bentuk Normal Tahap Kedua (2nd Normal Form) Bentuk normal kedua mempunyai beberapa persyaratan antara lain adalah : Bentuk data telah memenuhi kriteria bentuk normal kesatu. Atribute bukan kunci haruslah bergantung secara fungsi pada kunci utama atau primary key. Sudah ditentukan kunci kunci field, dimana kunci field haruslah unik dan dapat mewakili atribute lain yang menjadi anggotanya. Sebagai contoh ditentukan sebuah tabel siswa sebagai berikut : NIS Nama_siswa Alamat Kode_ Mapel Nama_Mapel Nama_Guru Tabel di atas telah memenuhi 1NF, namun belum memenuhi 2NF, {NIS, Kode_Mapel} yang dianggap sebagai primary key sedangkan: Tabel di atas perlu didekomposisi menjadi beberapa tabel untuk memenuhi syarat 2NF. Dekomposisi sesuai dengan functional dependencynya (FD) adalah sebagai berikut : FD 1 : {NIS, Kode_Mapel} Nilai FD 2 : NIS {Nama_siswa, Alamat} FD 3 : Kode_mapel {Nama_mapel, Nama_guru} Dari ketiga FD di atas, dekomposisi tabel menjadi sebagai berikut : Tabel Nilai : (NIS, Kode_mapel, Nilai) Tabel Siswa :(NIS, Nama_siswa, Alamat) Tabel Mapel :(Kode_mapel, Nama_mapel, Nama_Guru) 98 Nilai 4. Bentuk Normal Tahap Ketiga (3rd Normal Form) Untuk menjadi bentuk normal ketiga (3 NF) suatu tabel harus mempunyai ciri-ciri sebagai berikut: 1. Memenuhi bentuk 2 NF (normal kedua) 2. Atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci utama atau primary key. 3. Setiap atribute bukan kunci haruslah bergantung hanya pada primary key dan pada primary key secara menyeluruh Berikut ini adalah contoh relasi yang telah memenuhi bentuk 2 NF, tetapi belum memenuhi bentuk 3 NF : NIS Nama_siswa Alamat_jln Alamat_kota Alamat_prov Kodepos Pada relasi di atas, masih terdapat atribut non primary key (yakni Alamat_kota dan Alamat_Prov) yang memiliki ketergantungan terhadap atribut non primary key yang lain, yaitu Kode_pos. Kodepos {Alamat_kota, Alamat_prov} Untuk memenuhi syarat 3NF, maka relasi tersebut harus didekomposisi sebagai berikut : Siswa : (NIS, Nama_siswa, Alamat_jn, Kodepos) Kodepos : (Kodepos, Alamat_kota, Alamat_prov) 5. Boyce Codd Normal Form (BCNF) 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. Karena dalam bentuk 3 NF masih memungkinkan terjadi anomali. 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 99 tabel–tabel hasil dekomposisi. Contoh tabel yang tidak memenuhi BCNF adalah sebagai berikut : Ditentukan suatu tabel A = (E, F, G, H, I) dan berlaku ketergantungan fungsional, sebagai berikut yaitu : E, F G, H, I F, G H, I Tabel A tersebut tidak memenuhi BCNF karena ada pasangan key F, G yang bukan candiday key, sehingga F, G H, I. Sedangkan E, F adalah candidat key karena E, F G, H, I Karena terdapat 2 ketergantungan fungsional maka tabel A tidak memenuhi BCNF. Untuk memenuhi aturan 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 Contoh lain untuk bentuk ini adalah tabel SEMINAR, dengan kunci primernya adalah no_peserta dan kode_seminar, dengan asumsi bahwa: Peserta dapat mengambil 1 atau 2 seminar. Setiap seminar membutuhkan 2 instruktur. Setiap peserta dibimbing oleh salah satu dari 2 instruktur seminar. Setiap instruktur boleh hanya membimbing 1 seminar saja. Pada contoh relasi berikut, no_peserta dan kode_seminar menunjukkan seorang instruktur. Tabel 18. Tabel seminar 100 No_Peserta Kode_seminar Nama_instruktur 2201001 2281 Santi 2201002 2281 Karyadi 2201003 2291 Jeni 2201002 2291 Rendi 2201004 2291 Rendi Bentuk relasi SEMINAR adalah memenuhi bentuk normal ketiga (3NF), tetapi tidak BCNF karena Kode_seminar masih bergantung fungsi pada instruktur, jika setiap instruktur dapat mengajar hanya pada satu seminar. Kode_seminar bergantung fungsi pada satu atribut bukan superkey seperti yang disyaratkan oleh BCNF. Maka relasi SEMINAR harus didekomposisi menjadi dua relasi, yaitu relasi pengajar dan seminar_instruktur, seperti berikut ini : Pengajar : (Nama_instruktur, Kode_seminar) dan Seminar_instruktur : (No_peserta, Nama_instruktur) 6. Bentuk Normal Tahap ke empat (4th Normal Form) Suatu tabel relasional dikatakan dalam bentuk normal keempat (4NF) jika memenuhi beberapa ketentuan sebagai berikut : Bila telah berada dalam bentuk BCNF dan tidak ada multivalued dependency nontrivial. Multivalued dependency (MVD) dipakai dalam bentuk normal keempat (4NF). Dependensi ini dipakai untuk menyatakan hubungan satu ke bantak (one tomany). Setiap atribut di dalamnya tidak mengalami ketergantungan pada banyak nilai atau dengan kalimat lain, bahwa semua atribut yang mengalami ketergantungan pada banyak nilai adalah bergantung secara fungsional (functionally dependency) Berikut ini adalah salah satu contoh tabel relasional yang belum memenuhi 4NF : Tabel 19. contoh relasi yang belum memenuhi bentuk normal tahap 4 101 Relasi tersebut menggambarkan mengenai dosen yang mengajar matakuliah tertentu dengan isi matakuliah yang bersangkutan. Contoh tabel dibawah ini menjelaskan dua dosen yang mengajar pengenalan komputer, yaitu Budi dan Sanjaya. Tabel 20. Penyederhanaan relasi atau tabel 8.4 Adapun isi matakuliah Pengenalan Komputer adalah Dasar Komputer, Pengenalan Pengolahan Kata dan Pengenalan Lembaran Kerja. Relasi berikut ini memperlihatkan relasi yang telah dinormalisasikan berdasarkan relasi sebelumnya. Langkah selanjutnya adalah untuk memenuhi syarat bentuk normal tahap 4), maka relasi tersebut diatas dapat didekomposisi menjadi dua relasi sebagai berikut : Matakuliah_dosen : (Matakuliah, Dosen) Matakuliah_isi : (Matakuliah, Isi) 7. Bentuk Normal Tahap Kelima (5th Normal Form) Bentuk dependency Normal 5NF sedangkan dibangun keempat berdasarkan bentuk konsep sebelumnya joint dibangun berdasarkan functional dependency. Joint dependency menjelaskan bahwa apabila sebuah tabel telah didekomposisi menjadi tabel-tabel lebih kecil, tabel tersebut harus bisa digabungkan lagi (join) untuk membentuk tabel semula. Bentuk normal kelima ini sering disebut juga sebagai Projection Join Normal Form (PJNF). Suatu tabel memenuhi bentuk normal 5rdNF jika dan hanya jika Kerelasian antar data dalam relasi tersebut tidak dapat direkonstruksi dari struktur relasi yang memuat atribut yang lebih sedikit. Sebagai contoh: terdapat hubungan dealer yaitu suatu perusahaan distributor kendaraan. Dalam hal ini distributor memiliki sejumlah produk kendaraan. Tabel relasional dibawah ini menjelaskan relasi tabel dealer, kendaraan dan distributor. 102 Tabel 21. Relasi Dealer Distributor dan kendaraan Relasi tersebut telah memenuhi dependensi gabungan, Sehingga relasi tersebut dapat didekomposisi menjadi tiga buah relasi yaitu : Deal_Dist (Dealer_Distributor). Dist_Kend (Distributor_Kendaraan). Deal_Kend (Dealer_Kendaraan). Gabungan ketiga relasi tersebut akan membentuk relasi Dealer- Distributor-Kendaraan (DDK) dan gabungan ketiganya. Kemungkinan proyeksi tabel relasional tersebut akan menghasilkan suatu relasi antara yang salah, namun ketiganya akan menghasilkan relasi sesuai aslinya. Gambar dibawah ini menjelaskan tabel relasional Dealer-DistributorKendaraan (DDK) Gambar 42. Tabel relasional Dealer-Distributor-Kendaraan (DDK) 103 E. Latihan Soal Sebuah Perusahaan PEC-TECH ingin membangun system informasi menggunakan basis data untuk pengelolaan barang. Informasi yang akan diperoleh adalah data stock barang keluar pada Warehouse PEC-TECH. Sementara ini, pengelolaan data masih menggunakan Microsoft excel dengan contoh keluaran Laporan Barang Keluar dan Laporan Rekapitulasi Barang Keluar diperlihatkan dalam tabel dibawah ini. Tabel Laporan barang keluar Tabel Laporan Rekapitulasi Barang Keluar 104 Dengan menggunakan teknik normalisasi kerjakan langkah-langkah berikut: 1. Buatlah tabel yang menjelaskan bentuk unnormal form (LK 7.1) 2. Buatlah tabel yang menjelaskan Normalisasi Pertama (1NF/ First Normal Form) (LK 7.2) 3. Buatlah tabel yang menjelaskan Normalisasi Ke Dua (2 NF /Second Normal Form) (LK 7.3) 4. Jika memungkinkan buatlah tabel yang menjelaskan Normalisasi Ke Tiga (3 NF /Second Normal Form) (LK 7.4) 5. Gambarkan Entity Relationship Diagram (LK 7.5) 6. Gambarkan Diagram Relational Model (LK 7.6) F. Rangkuman Normalisasi data adalah proses yang berkaitan dengan model data relasional untuk mengorganisasi himpunan data dengan ketergantungan tinggi. Hasil dari proses normalisasi adalah tabel data dalam bentuk normal. Terdapat enam bentuk normal tabel yaitu: 1) Bentuk Normal Tahap pertama (1st NF). 2) Bentuk Normal Tahap Kedua (2nd NF). 3) Bentuk Normal Tahap Ketiga (3rd NF). 4) Bentuk Normal Boyce - Code (BCNF). 5) Bentuk Normal Tahap Keempat (4rd NF). 6) Bentuk Normal Tahap Kelima (5rd NF) G. Umpan Balik IPK Mampu bentuk Hasil Yang Dicapai Ya Tidak Rencana Tindak Lanjut menganalisis normalisasi tahap pertama (1st NF). Mampu bentuk menganalisis normalisasi tahap kedua (2st NF). Mampu bentuk menganalisis normalisasi tahap ketiga (3st NF). 105 Mampu menganalisis bentuk normal Boyce Code (BCNF). Mampu bentuk mengenalisis normalisasi tahap keempat (4st NF). Mampu bentuk mengenalisis normalisasi tahap kelima (5st NF). 106 107 108 SISTEM MANAJEMEN BASIS DATA A. Tujuan Pembelajaran Setelah mengikuti kegiatan belajar 8 ini diharapkan: Melalui observasi peserta diklat dapat menganalisis berbagai ragam jenis perangkat lunak Sistem manajemen Basis Data dengan benar. Melalui praktek peserta diklat dapat membuat basis data menggunakan fitur-fitur visual perangkat lunak sistem menejemen basis data. B. Indikator pencapaian Kompetensi Menganalisis berbagai ragam jenis perangkat lunak Sistem manajemen Basis Membuat basis data menggunakan fitur-fitur visual perangkat lunak sistem menejemen basis data C. Uraian materi 1. Definisi Sistem manajemen basis Data Sistem manajemen basis data (database management system, DBMS), atau sering disingkat SMBD, adalah suatu sistem atau perangkat lunak yang dirancang untuk mengelola suatu basis data dan menjalankan operasi terhadap data yang diminta banyak pengguna. SMBD telah berkembang menjadi bagian standar di bagian pendukung (back office) suatu perusahaan atau organisasi. DBMS merupakan perangkat lunak yang dirancang untuk dapat melakukan utilisasi dan mengelola koleksi data dalam jumlah yang besar. DBMS juga dirancang untuk dapat melakukan manipulasi data secara lebih mudah. Sebelum ada DBMS, data pada umumnya disimpan dalam bentuk flat file, yaitu file teks yang ada pada sistem operasi. Sampai sekarang masih ada aplikasi yang menyimpan data dalam bentuk flat secara langsung. Menyimpan data dalam bentuk flat file mempunyai kelebihan dan kekurangan. Penyimpanan dalam bentuk ini mempunyai 109 manfaat yang optimal jika ukuran filenya relatif kecil, seperti file password pada sistem operasi Unix dan Unix-like. File password pada umumnya hanya digunakan untuk menyimpan nama yang jumlahnya tidak lebih dari 1000 orang. Selain dalam bentuk flat file, penyimpanan data juga dapat dilakukan dengan menggunakan program bantu seperti spreadsheet. Penggunaan perangkat lunak ini memperbaiki beberapa kelemahan dari flat file, seperti bertambahnya kecepatan dalam pengolahan data. Namun demikian metode ini masih memiliki banyak kelemahan, diantaranya adalah masalah manajemen dan keamanan data yang masih kurang. Penyimpanan data dalam bentuk DBMS mempunyai banyak manfaat dan kelebihan dibandingkan dengan penyimpanan dalam bentuk flat file atau spreadsheet, diantaranya : 1. Performa untuk penyimpanan data dalam bentuk DBMS cukup besar, sangat jauh berbeda dengan performance data yang disimpan dalam bentuk flat file. Disamping memiliki unjuk kerja yang lebih baik, juga akan didapatkan efisiensi penggunaan media penyimpanan dan memori 2. Integritas data lebih terjamin dengan penggunaan DBMS. Masalah redudansi sering terjadi dalam flat file. Redudansi adalah kejadian berulangnya data atau kumpulan data yang sama dalam sebuah database yang mengakibatkan pemborosan media penyimpanan. 3. Independensi. Perubahan struktur database dimungkinkan terjadi tanpa harus mengubah aplikasi yang mengaksesnya sehingga pembuatan antarmuka ke dalam data akan lebih mudah dengan penggunaan DBMS. 4. Sentralisasi. Data yang terpusat akan mempermudah pengelolaan database. Kekonsistenan data yang diakses secara bersama-sama akan lebiih terjamin dari pada data disimpan dalam bentuk file atau worksheet yang tersebar. 5. Keamanan. DBMS memiliki sistem keamanan yang lebih fleksibel daripada pengamanan pada file sistem operasi. Keamanan dalam DBMS akan memberikan keluwesan dalam pemberian hak akses kepada pengguna. 110 2. Sistem manajemen basis data relasional Sebuah sistem manajemen basis data relasional atau dikenal sebagai relational database management system (RDBMS) adalah sebuah program komputer (atau secara lebih tipikal adalah seperangkat program komputer) yang dirancang untuk mengatur atau mengelola sebuah basis data sebagai sekumpulan data yang disimpan secara terstruktur, dan melakukan operasi-operasi data atas permintaan penggunanya. RDBMS banyak diterapkan pada berbagai bidang kerja, misalnya akuntansi, manajemen sumber daya manusia, dan lain sebagainya. Pada awalnya RDBMS hanya dimiliki oleh perusahaanperusahaan berskala besar dan memiliki perangkat komputer yang sesuai dengan spesifikasi standar yang dibutuhkan. Pada saat itu standar yang diminta dapat dikatakan sangat tinggi yaitu untuk mendukung jumlah data yang besar. Saat ini implementasinya sudah sangat banyak dan adaptatif dengan kebutuhan spesifikasi data yang rasional sehingga dapat dimiliki dan diimplementasikan oleh segala kalangan sebagai bagian dari investasi perusahaan. Edgar F. Codd memperkenalkan istilah RDBMS pada makalah seminarnya yang berjudul "A Relational Model of Data for Large Shared Data Banks". Salah satu definisi yang cukup dikenal secara luas atas sebuah sistem basis data relasional adalah “12 hukum Codd”. Namun demikian, pada awal implementasinya banyak model relasional yang tidak mengikuti seluruh elemen yang terdapat dalam hokum Codd tersebut. Hal tersebut menjadikan terminologinya berkembang untuk mendeskripsikan sebuah tipikal sistem basis data yang lebih luas. Dalam cakupan yang minimum sistem tersebut memenuhi kriteria sebagai berikut: menyajikan data pada pengguna dalam bentuk relasional (ditampilkan dalam bentuk tabular, sebagai koleksi dari tabel dimana setiap tabel beriisi sekumpulan baris dan kolom) menyediakan operator relasional untuk memanipulasi data dalam bentuk tabular 111 3. Ragam jenis SMBD Beberapa software atau perangkat lunak DBMS yang sering digunakan dalam membuat aplikasi program basis data dan sangat populer antara lain adalah MySQL, MS SQL Server, Oracle, IBM DB/2, dan PostgreSQL. Sementara di pasaran terdapat sejumlah software DBMS baik yang komersial atau open source antara lain adalah sebagai berikut: a. DBMS yang bersifat komersial: 4th Dimension, database, Dataphor, Daffodil DB2, FileMaker Pro, FrontBase, Informix, InterBase, Matisse [1], Microsoft Access, Microsoft SQL Server, Microsoft Visual FoxPro, Mimer SQL, Netezza, NonStop SQL, Oracle, Progress 4GL, Sand Analytic Server (sebelumnya dikenal sebagai Nucleus), SmallSQL, Sybase Adaptive Server Anywhere (sebelumnya dikenal sebagai Watcom SQL), Sybase Adaptive Server Enterprise, Sybase Adaptive Server IQ, Teradata, ThinkSQL [2], VistaDB, VMDS. b. DBMS yang bersifat open source: antara lain : Cloudscape, Derby, Firebird, H2, HSQLDB, Ingres, MaxDB, MonetDB, MySQL, PostgreSQL, SQLite, tdbengine a) MySQL MySQL adalah sebuah perangkat lunak sistem manajemen basis data relasional (DBMS) yang mendukung sistem multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public Licenci (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL. Tidak seperti Apache, merupakan software yang dikembangkan oleh komunitas umum, dan dicipta sehingga code sumber dimiliki oleh penulisnya masing-masing. MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia yaitu MySQL AB. MySQL AB memegang penuh hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David axmark, Allan larsson, dan Michael “monthy widenius. MySQL 112 memiliki beberapa kelebihan dan keistimewaan antara lain adalah sebagai berikut: 1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga. 2. Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak sumber terbuka (open source), dibawah lisensi GPL sehingga dapat digunakan secara gratis. 3. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik. 4. 'Performance tuning', MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu. 5. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti signed/unsigned integer, float, double, char, text, date, timestamp, 6. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query). 7. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi. 8. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya. 9. Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix Soket (UNIX), Named Pipes (NT). 113 10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, Bahasa Indonesia belum termasuk di dalamnya. 11. Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi menggunakan dan fungsi bahasa API pemrograman (Application dengan Programming Interface). 12. Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool) yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online. 13. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle. b) Oracle Oracle adalah relational database management system (RDBMS) untuk mengelola informasi secara terbuka, komprehensif dan terintegrasi. RDBMS Oracle pertama kali dikembangkan oleh Larry Ellison, Bob Miner dan Ed Oates lewat perusahaan konsultasinya bernama Software Development Laboratories (SDL) pada tahun 1977. Pada tahun 1983, perusahaan ini berubah nama menjadi Oracle Corporation. Oracle Server menyediakan solusi yang efisien dan efektif karena kemampuannya dalam hal sebagai berikut: Dapat bekerja di lingkungan client/server (pemrosesan tersebar) 114 Menangani manajemen space dan basis data yang besar Mendukung akses data secara simultan Performansi pemrosesan transaksi yang tinggi Menjamin ketersediaan yang terkontrol Lingkungan yang terreplikasi Oracle merupakan DBMS yang paling rumit dan paling mahal di dunia, namun banyak orang memiliki kesan yang negatif terhadap Oracle. Keluhan-keluhan yang mereka lontarkan mengenai Oracle antara lain adalah terlalu sulit untuk digunakan, terlalu lambat, terlalu mahal. Jika dibandingkan dengan MySQL yang bersifat gratis, maka Oracle lebih terlihat tidak kompetitif karena berjalan lebih lambat daripada MySQL meskipun harganya sangat mahal. Oracle dirancang khusus untuk organisasi berukuran besar, bukan untuk ukuran kecil dan menengah. Kebutuhan organisasi berukuran besar tidaklah sama dengan organisasi yang kecil atau menengah yang tidak akan berkembang menjadi besar. Organisasi yang berukuran besar membutuhkan fleksibilitas dan skalabilitas agar dapat memenuhi tuntutan akan data dan informasi yang bervolume besar dan terus menerus bertambah besar. Kelebihan oracle adalah fleksibilitas sistem yaitu kemampuan untuk menyesuaikan diri dengan berbagai kebutuhan dan kondisi khusus yang dapat berubah-ubah. Sebagai contoh, organisasi yang besar membutuhkan server yang terdistribusi dan memiliki redundancy sehingga pelayanan bisa diberikan secara cepat dan tidak terganggu jika ada server yang mati. Organisasi tersebut juga mempunyai berbagai macam aplikasi yang dibuat dengan beragam bahasa pemrograman dan berjalan di berbagai platform yang berbeda. Oracle memiliki banyak sekali fitur yang dapat memenuhi tuntutan fleksibilitas dari organisasi besar tersebut. Berbagai fitur tersebut membuat Oracle menjadi DBMS yang rumit dan sulit untuk dipelajari, namun itu adalah harga yang harus dibayar untuk mendapatkan fleksibilitas yang dibutuhkan dalam sistem informasi di organisasi yang berukuran besar. Kelebihan lainnya adalah skalabilitas yang mengacu pada kemampuan untuk terus berkembang dengan penambahan sumber daya. Organisasi yang besar harus mampu melakukan transaksi data dalam volume yang besar dan akan terus bertambah besar. Jika dijalankan hanya pada satu server saja, MySQL memang bisa berjalan lebih cepat daripada Oracle. Namun jika satu server sudah 115 tidak bisa lagi menangani beban yang terus bertambah besar, kinerja MySQL mengalami stagnasi karena keterbatasan server tersebut. Namun Oracle mendukung fitur Grid yang dapat mendayagunakan lebih dari satu server serta data storage dengan mudah dan transparan. Hanya dengan menambahkan server atau data storage ke dalam Oracle Grid, maka kinerja dan kapasitas Oracle dapat terus berkembang untuk mengikuti beban kerja yang terus meningkat. c) Microsoft SQL server Microsoft SQL Server adalah perangkat lunak relational database management system (RDBMS) yang didesain untuk melakukan proses manipulasi database berukuran besar dengan berbagai fasilitas. Microsoft SQL Server merupakan produk andalan Microsoft untuk manajemen data database dan server. kemudahan Kemampuannya dalam dalam pengoperasiannya membuat RDBMS ini menjadi pilihan para database administrator. DBMS merupakan suatu sistem perangkat lunak yang memungkinkan user (pengguna) membuat, memelihara, mengontrol, dan mengakses database secara praktis dan efisien. Dengan DBMS, user akan lebih mudah mengontrol dan mamanipulasi data yang ada. Sedangkan RDBMS atau Relationship Database Management System merupakan salah satu jenis DBMS yang mendukung adanya relationship atau hubungan antar table. RDBMS (Relational Database Management System) adalah perangkat lunak untuk membuat dan mengelola database, sering juga disebut sebagai database engine. Istilah RDBMS, database server-software, dan database engine mengacu ke hal yang sama, sedangkan RDBMS bukanlah database. Beberapa contoh dari RDBMS diantaranya Oracle, Ms SQL Server, MySQL, DB2, Ms Access. 116 D. Aktifitas Pembelajaran: Mengamati Berbagai Ragam Jenis DBMS Dalam kegiatan ini peserta diklat akan melakukan pengamatan secara teliti dan cermat terhadap ragam jenis DBMS secara berkelompok. Bacalah seluruh langkah pengamatan dibawah ini kemudian lakukan dengan cermat dan teliti dengan perangkat yang telah disediakan. 1. Bentuk kelompok diskusi setiap kelompok terdiri dari tiga orang. 2. Dengan menggunakan fasilitas internet carilah sumber bacaan, tulis alamat situsnya dan buat ringkasan yang menjelaskan tentang aturan-aturan RDBMS (Hukum Codd) dan catat hasilnya pada LK 8.1. 3. Menganalisis berbagai ragam jenis DBMS (My SQL, SQL Server, ORACLE, dll). Untuk setiap DBMS diskusikan dan deskripsikan tentang: 1) Industri/manufaktur pembuat 2) versi/release tahun mengeluarkan DBMS 3) fitur-fitur yang ada dalam DBMS 4) Diagram atau gambar arsitektur DBMS. 5) kelebihan atau kekurangan setiap DBMS. Catat hasilnya pada LK 8.2. 4. Berdasarkan hasil langkah 3, Tulis perbedaan berbagai ragam jenis DBMS tersebut dengan menggunakan chek list dan tentukan kriteria atau parameternya (fitur-fiturnya). Catat hasilnya pada LK 8.3. 5. Pilih salah satu perangkat Lunak DBMS, pasang dan konfigurasi perangkat di komputer atau laptop. Catat hasilnya pada LK 8.4. 6. Dengan menggunakan fitur visual DBMS buatlah database relasional sesuai rancangan yang telah saudara buat (kegiatan pembelajaran 4 dan 5). Tuliskan / capture struktur tabel basis datanya (kamus data). Catat hasilnya pada LK 8.5. 7. Gambarkan atau capture diagram relasi tabel basis datanya dengan menggunakan fitur visual perangkat DBMS. Tulispada LK 8.6.! 8. Kumpulkan data dan analisis data menggunakan analisis diskriptif. 9. Komunikasikan hasilnya dalam kelompok dan buatlah kesimpulan. 10. Presentasikan hasil diskusi bersama-sama dengan kelompok lainnya dan Tutor / Widyaiswara pendamping. 117 E. Latihan Soal 1. Penyimpanan data dalam bentuk DBMS mempunyai banyak manfaat dan kelebihan dibandingkan dengan penyimpanan dalam bentuk flat file, antara lain adalah dapat mengatasi masalah redudansi yaitu berulangnya data atau kumpulan data yang sama dalam suatu basis data. Hal tersebut merupakan kelebihan DBMS yang berkaitan dengan . . . . . . a) Integritas data b) Independensi data c) Performansi data d) Keamanan data 2. Salah satu tujuan penggunaan basis data adalah mengurangi adanya informasi atau data yang tidak lengkap baik relatif terhadap kebutuhan pemakai maupun terhadap waktu. Hal ini dapat dilakukan melalui penambahan recordrecord data, perubahan struktur basis data, menambah field pada tabel atau menambah tabel baru. Tujuan penggunaan basis data ini berkaitan dengan karakteristik . . . . a) Completeness b) Availability c) Sharability d) Accuracy 3. Salah satu kriteria yang dapat dijadikan acuan dalam mengukur kinerja perangkat lunak sistem manajemen basis data adalah berkaitan dengan kemampuan dalam hal perijinan akses user dengan sistem perijinan yang mendetail, sandi terenkripsi dan berlapis-lapis. Kriteria atau performa tersebut adalah . . . a) Portabilitas sistem b) Performance Tuning sistem c) Keamanan sistem d) Multi-user sistem 118 F. Rangkuman Sistem manajemen basis data (database management system, DBMS), atau sering disingkat SMBD, adalah suatu sistem atau perangkat lunak yang dirancang untuk mengelola suatu basis data dan menjalankan operasi terhadap data yang diminta banyak pengguna. Sebuah sistem manajemen basis data relasional atau dikenal sebagai relational database management system (RDBMS) adalah sebuah program komputer (atau secara lebih tipikal adalah seperangkat program komputer) yang dirancang untuk mengatur atau mengelola sebuah basis data sebagai sekumpulan data yang disimpan secara terstruktur, dan melakukan operasioperasi data atas permintaan penggunanya. Hukum cood adalah suatu ketentuan atau aturan dan definisi standar dari sebuah sistem basis data relasional, yang diperkenalkan oleh Edgar F. Codd. Hukum Codd terdiri dari dua belas kriteria atau ketentuan. Software atau perangkat lunak DBMS yang sering digunakan dalam aplikasi program dan sangat populer adalah MySQL, MS SQL Server, Oracle, IBM DB/2, dan PostgreSQL DBMS yang bersifat open source: antara lain : Cloudscape, Derby, Firebird, H2, HSQLDB, Ingres, MaxDB, MonetDB, MySQL, PostgreSQL, SQLite, tdbengine. G. Umpan Balik Hasil Yang Dicapai IPK Mampu Ya Tidak Rencana Tindak Lanjut menganalisis ragam jenis perangkat lunak sistem management basis data. Mampu membedakan ragam jenis perangkat lunak Sistem manajemen basis data. 119 H. Kunci Jawaban 1) A 2) A 3) C 120 EVALUASI 1. Arsitektur basis data tiga schema yang mendefinisikan pandangan data terhadap sekelompok pemakai (local view) dengan menyembunyikan data lain yang tidak diperlukan oleh kelompok pemakai tersebut adalah . . . . . . A Level eksternal B Level internal C Level konseptual D Level logical 2. Satuan data terkecil yang tidak dapat dipecah lagi menjadi unit lain yang bermakna merupakan defenisi dari…. A. Elemen (kolom atau field) B. Index C. Berkas (file) D. Rekaman (record) 3. Suatu model data merupakan model data berbasis obyek, menekankan pada prosedur, sub rutin untuk mendapatkan logika program, hubungan antar proses objek-objek dan data yang terlibat dalam sistem adalah . . . . A Functional data model B Semantic Data Model C Relational Model D Hierarchi Model 4. Sistem yang semua proses utama dan fungsi sistem manajemen basis data seperti user application programs dan user interface programs berada secara terpusat di satu komputer berkecepatan dan kapasitas tinggi (main frame) adalah… A. SMBD terdistribusi (DDBMS) B. SMBD terpusat (CDBMS) C. SMBD parallel D. SMBD Simulasi 121 5. Berdasarkan karakteristiknya diagram aplikasi sistem basis data dibawah ini menerapkan prinsip . . . . . . A Arsitektur Multi Tier B Arsitektur three Tier C Arsitektur DDBMS D Arsitektur parallel 6. Obyek yang mewakili sesuatu dalam dunia nyata dan dapat dibedakan antara satu dengan lainnya (unique) adalah… A. Attribute B. Key C. Entitas D. Primary Key 7. Suatu atribut yang menandakan kunci dari suatu entitas yang bersifat unik adalah… A. Attribute B. Key C. Entitas D. Primary Key 8. Dalam entity relathionship model yang merupakan kumpulan entitas dalam bentuk data fisik adalah . . . . . . A. Department, Pegawai, Penjualan B. Pekerjaan, Mata_Pelajaran, Peminjaman C. Pembelian, Pegawai, Departement D. Mobil, Pegawai, Peserta_Diklat 122 9. Setiap anggota entitas A hanya boleh berhubungan dengan satu anggota entitas B, begitu pula sebaliknya merupakan… A. Entitas satu ke satu B. Satu ke banyak C. Banyak ke banyak D. Banyak ke Satu 10. Sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris adalah … A. Cardinalty B. Atribut C. Relasi D. Tupel 11. Simbol lingkaran pada ER- model digunakan untuk menggambarkan…. A. Relasi B. Object dasar C. Atribut D. Entitas 12. Tugas dari komputer server pada arsitektur aplikasi sistem manajemen basis data client-server adalah . . . . . . A. Mengatur tampilan user Interface dan memberikan respon balik ke user B. Memeriksa autorisasi, Otentikasi pemakai, integrasi dan pemeliharaan data dictionary C. Menerima dan memeriksa perintah-perintah atau syntax masukan dari user D. Membangun (Generates) permintaan basis data dan mengirimkannya ke server 13. Dari deskripsi basis data disebutkan bahwa: “Setiap Departemen harus dikepalai oleh seorang pegawai “ Pernyataan paling tepat yang menjelaskan batasan partisipasi relasi antara departemen dan pegawai adalah . . . . . . A. Partisipasi parsial -- relasi disisi departemen B. Partisipasi total -- relasi disisi departemen 123 C. Partisipasi parsial -- relasi disisi pegawai D. Partisipasi total -- relasi disisi pegawai 14. Suatu relasi dikatakan dalam bentuk normal dua (2NF) jika dan hanya jika… A. Setiap nilai atributnya adalah atomic B. Relasi tersebut berada dalam bentuk normal satu tingkat lebih rendah dan setiap nonkey atribut adalah bergantung penuh (fully depedent) pada primary key. C. Relasi tersebut berada dalam bentuk normal satu tingkat lebih rendah dan setiap nonkey atribut adalah tidak bergantung transitif pada primary key. D. Setiap determinant adalah candidate key. 15. Dari analisis tabel didapatkan kesimpulan sebagai berikut: • Data dibentuk dalam satu record demi satu record dan nilai dari field field berupa "atomic value", tidak dapat dibagi-bagi lagi. • Tidak ada set atribute yang berulang ulang atau atribute bernilai ganda (multivalue). • Tidak ada set atribut composite atau kombinasinya dalam domain data yang sama. Dilihat dari bentuknya tabel tersebut adalah .... A. 1st Normal Form B. 2nd Normal Form C. 3rd Normal Form D. Unnormalized Form 16. Jika tabel berisi kumpulan data yang tidak lengkap, terduplikasi, dan tidak teratur dalam bentuk tertentu, maka tabel ini digolongkan sebagai normalisasi.. A. 1st Normal Form B. 2nd Normal Form C. 3rd Normal Form D. Unnormalized Form 124 17. Yg dimaksud dengan merancang basis data adalah : A. Merancang DBMS dalam system basis data. B. Merancang program untuk system basis data. C. Merancang file untuk basis data. D. Merancang program untuk basis data. 18. Suatu Relasi R mempunyai atribute S, T dan U. Pernyataan yang benar tentang atribut U pada relasi R dikatakan tergantung transitif pada atribut S adalah . . . . . . A. Jika T --> S dan U --> T maka U --> S B. Jika S --> T dan T --> U maka S --> U C. Jika S --> U dan U --> T maka S --> U D. jika T --> S dan T --> U maka U --> S 19. Kamus data (data dictionary) adalah komponen system manajemen basis data yg berfungsi untuk… A. Menyimpan basis datanya sendiri. B. Menyimpan file basis data. C. Menyimpan program aplikasi. D. Menyimpan metadata tentang struktur data dan skema basis data. 20. Selain mnggunakan pendekatan model ERD, untuk merancang basis data digunakan cara... A. Normalisasi B. UML C. Pewarisan D. Relasi Tabel 125 126 PENUTUP A. Kesimpulan Desain sistem basis data merupakan salah satu modul diklat PKB level dasar yang harus dikuasai oleh guru produktif Rekayasa perangkat Lunak. Melalui modul ini peserta diklat diharapkan mampu memiliki kompetensi dalam merancang sistem basis data. Proses perancangan sistem basis data diawali dengan pemahaman konsep ragam model struktur dan arsitektur aplikasi sistem basis data melalui aktifitas observasi dan analisis. Hasil dari perancangan bertujuan untuk mendapatkan sistem basis data yang baik dan benar dengan menerapkan teknik normalisasi data dan perancangan ERD. Pendekatan yang dilakukan dalam merancang sistem basis data ini adalah pendekatan praktek dengan mengambil studi kasus sistem database perusahaan. Diakhir modul dengan menggunakan DBMS Oracle database XE peserta dapat mengimplementasikan rancangan basis data (level konseptual) ke dalam aplikasi sistem basis data (level fisik). Dalam mengimplementasikan sistem basis data menitikberatkan kepada penggunaan perangkat GUI yang telah disediakan oleh Oracle database XE. B. Tindak lanjut Modul desain basis data ini memberikan kepada peserta diklat pengetahuan dan ketrampilan dalam merancang sistem basis data. Selain itu juga memberikan sebagian ketrampilan dalam implementasi sistem basis data dengan menggunakan perangkat visual berbasis grafis (GUI). Dengan perangkat grafis pengguna akan mudah dalam pengelolaan basis data. Pada modul berikutnya “sistem manajemen basis data” menitikberatkan kepada ketrampilan dalam menggunakan Bahasa SQL untuk mengelola basis data. Ruang lingkup materi meliputi, Data Definition Language (DDL), Data Manipulation Language (DML) dan Data Control Language (DCL), query, view, privilages. Pengelaolaan data tidak hanya satu tabel tetapi meliputi banyak tabel yang saling berelasi. 127 128 DAFTAR PUSTAKA Ramakrishnan, Ragu dan Gehrke Johannes, (2004), “Sistem manajemen Basis data” Edisi 3, terjemahan, Mc Graw Hill Education, diterbitkan ulang ulang Penerbit Andi, Kusrini, (2007) “Strategi perancangan dan pengelolaan basis data”, penerbit Andi, Yogyakarta Ramon A, Mata Toledo dan Pauline K, Cushman, (2007), “ Schaum Outlines Dasar Dasar Data Base Relasional ”, terjemahan MC Graw Hill Education, Diterbitkan ulang oleh Penerbit Erlangga, Jakarta. --------“The Oracle Database 10g Express Edition Tutorial”, last updated: March 1, 2006 http://www.conceptdraw.com/solution-park/software-erd http://www.oracle.com/technetwork/database/express-edition/database10gxe459378.html 129 130 GLOSARIUM Abstraksi data adalah merupakan tingkatan atau level bagaimana melihat data dalam sistem basis data, sejumlah konsep yang digunakan untuk membuat deskripsi struktur basis data, diwujudkan dalam pemodelan data, melalui deskripsi tersebutdapat ditentukan jenis data dan hubungannya deangan data lain Attribute adalah merupakan karakteristik dari entitas atau relationship, yang menyediakan penjelasan detail entitas atau relationship tersebut. Dalam penerapannya (level fisik) atribut merupakan field atau kolom dari sebuah tabel. Basis Data: adalah kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundancy) yang tidak perlu, untuk memenuhi berbagai kebutuhan Batasan partisipasi atau batasan hubungan entitas menjelaskan bagaimana data itu berelasi, batasan ini menentukan bagaimana (harus ataukah tidak) berpartisipasi suatu entitas dengan relasinya pada entitas lain Candidat Key adalah merupakan superkey yang jumlah atributnya paling sedikit. Composite attribute adalah atribut yang dapat dibagi lagi menjadi beberapa atribut yang lebih kecil. Derived Attribute atau Atribut Turunan adalah atribut yang nilai-nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut atau tabel lain yang berhubungan. 131 Entitas adalah obyek yang mewakili sesuatu dalam dunia nyata dan dapat dibedakan antara satu dengan lainnya (unique). Entitas dapat berupa: Data Fisik (seperti mobil, rumah, manusia, pegawai), abstrak atau konsep (seperti department, pekerjaan, mata pelajaran) dan Kejadian (pembelian, penjualan, peminjaman). Setiap entitas memiliki beberapa atribut yang mendeskripsikan karakteristik dari objek. Key attribute adalah suatu atribut yang menandakan kunci dari suatu entitas dan bersifat atau mempunyai nilai unik sehingga dapat digunakan untuk membedakan data pada suatu baris atau record dengan baris lain pada suatu entitas. Multi Value attribute adalah atribut yang dapat memiliki lebih dari satu nilai yang jenisnya sama dari sebuah data tunggal. Pemodelan dataadalah merupakan sarana untuk melakukan abstraksi data dan sejumlah konsep untuk membuat deskripsi stuktur basis data. Terdapat sejumlah cara dalam merepresentasikan model dalam perancangan basis data. Secara umum dikelompokkan menjadi dua yaitu: Object based logical model dan Record-based logical model Primary key adalah suatu candidat key yang dipilih menjadi kunci utama karena sering dijadikan acuan untuk mencari informasi, ringkas, menjadi keunikan suatu baris. Relasi menyatakan hubungan antara dua atau beberapa entitas. Setiap relasi mempunyai batasan (constraint) terhadap kemungkinan kombinasi entitas yang berpartisipasi. Simple Attribute atau atomic attribute adalah attribut terkecil yang tidak dapat dibagi-bagi lagi menjadi atribut yang lebih kecil. Single value Attribute adalah suatu atribut yang hanya mempunyai satu buah nilai. 132 Sistem manajemen basis data (SMBD) adalahatau data base mangemen system (DBMS) merupakan sebuah tatanan (keterpaduan) yang terdiri atas sejumlah komponen-komponen fungsional (komputer) yang saling berhubungan secara bersama-sama, bertujuan untuk memenuhi suatu proses atau pekerjaaan tertentu, program aplikasi yang dibuat dan bekerja dalam satu system Skema basis data atau abstraksi data merupakan deskripsi dari basis data yang spesifikasinya ditentukan dalam tahap perancangan. Arsitektur tiga skema basis data meliputi tiga level yaitu: Level Internal atau skema internal, Level Konseptual (skema konseptual) dan Level eksternal (skema eksternal atau view), Struktur atau arsitektur basis data kumpulan dari komponen-komponen basis data dan hubungan antar komponen tersebut, merupakan serangkaian pengetahuan tentang File, table, field, record indeks, abstraksi dan pemodelan data serta serangkaian konsep yang digunakan untuk membuat deskripsi struktur basis data. Super key adalah satu atau gabungan beberapa atribut yang dapat membedakan setiap baris data dalam sebuah tabel secara unik. 133