PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI PENERAPAN BASIS DATA RELASIONAL OBJEK PADA SISTEM INFORMASI LSM GARULUKUFORANDAKA 17 SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika Disusun oleh : Ria Riska Topurmera 105314017 PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2015 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI THE IMPLEMENTATION OF OBJECT RELATIONAL DATABASE IN THE GARULUKU-FORANDAKA 17 INFORMATION SYSTEM THESIS Presented as Partial of the Requirements To Obtain the Sarjana Komputer Degree In Informatics Engineering By : Ria Riska Topurmera 105314017 INFORMATICS ENGINEERING STUDY PROGRAM DEPARTMENT OF INFORMATICS ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA 2015 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI i PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI ii PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI PERNYATAAN KEASLIAN KARYA Saya menyatakan sesungguhnya bahwa di dalam skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, Juli 2015 Penulis, Ria Riska Topurmera iii PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma: Nama : Ria Riska Topurmera NIM : 105314017 Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah yang berjudul: PENERAPAN BASIS DATA RELASIONAL OBJEK PADA SISTEM INFORMASI LSM GARULUKU-FORANDAKA 17 Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, menditribusikan secara terbatas, dan mempublikasikannya di Internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalti kepada saya selama saya tetap mencantumkan nama saya sebagai penulis. Demikian pernyataan ini saya buat dengan sebenarnya. Dibuat di Yogyakarta, Pada tanggal : 20 Agustus 2015 Yang menyatakan, (Ria Riska Topurmera) iv PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI ABSTRAK Balai Anak Garuluku memiliki Sanggar Anak Garuluku dan Forum Anak Desa Kemadang 17 Dusun. Balai Anak Garuluku memiliki banyak anggota dan saat ini masih melakukan pendataan semua anggota dan data lainnya secara manual di dalam sebuah buku yang dinamakan Buku Induk Sanggar Anak Garuluku dan Buku Induk FORANDAKA 17. Hal ini memungkinkan terjadi kesalahan dalam pencatatan data, ketidakteraturan dalam pencatatan data, dan dapat terjadi kehilangan berkas dari dalam buku-buku tersebut. Dari latar belakang tersebut, maka dibuat sebuah sistem informasi untuk pencatatan data anggota, data kegiatan, data donatur, dan data laporan keuangan. Penulis mencoba untuk menerapkan fitur-fitur dari basis data relasional objek ke dalam sistem informasi ini dalam menangani data-data yang ada. Selain itu melalui sistem informasi inipun ingin memperkenalkan Garuluku-FORANDAKA kepada masyarakat luas. Metodologi penelitian yang digunakan untuk menyelesaikan masalah yang ada adalah studi kasus pada Balai Anak Garuluku Desa Kemadang Kecamatan Tanjung Sari, Gunung Kidul, membangun perangkat lunak dengan menggunakan JSP, Java, dan Oracle, dan melakukan uji coba calon pengguna sistem. Hasil akhir yang diperoleh adalah sistem informasi berbasis web yang dapat memberikan informasi mengenai Balai Anak Garuluku kepada masyarakat luas, dan melakukan pencatatan data-data anggota, kegiatan, donatur, dan laporan keuangan yang dimiliki Sanggar Anak Garuluku dan FORANDAKA 17. Implementasi BDRO cukup baik dalam menangani pengelolaan data karena pemodelan basis data di Balai Anak Garuluku ini termasuk kompleks terutama dalam menangani data kegiatan dan data laporan keuangan yang membutuhkan nested table dan REF. Data anggota Garuluku yang memiliki tiga jenis keanggotaan menggunakan fitur inheritance. Data materi yang diajarkan dengan pengajarnya menggunakan fitur relationships using REF. Kekurangan dari implementasi Basis Data Relasional Objek adalah tampilan tabel menjadi kurang rapi karena ada kolom dalam suatu tabel yang bertipe data objek. Setelah dilakukan uji coba di Balai Anak Garuluku, kepada donatur, dan masyarakat luas diperoleh kesimpulan bahwa sistem ini dapat menjadi sarana penghubung dengan berbagai pihak dalam menyampaikan informasi tentang kegiatan, struktur organisasi, keanggotaan, dan laporan keuangan. Hal ini dibuktikan dari 97% responden yang menyatakan setuju bahwa sistem ini sudah efektif dalam menyajikan informasi profil garuluku, data keanggotaan, data kegiatan, data laporan keuangan dengan tepat dan jelas, dan 81,82% responden menyatakan setuju bahwa sistem ini mudah digunakan. Kekurangan dari sistem ini adalah tampilan web yang kurang berwarna dan kurang menarik, serta anggota garuluku tidak bisa login ke dalam sistem. v PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI ABSTRACT Garuluku Children's Center has Sanggar Anak Garuluku and Forum Anak Desa Kemadang 17 Dusun. Garuluku Children's Center has many members and still collecting all data members and other data manually in a book, called Sanggar Anak Parent Book and FORANDAKA 17 Parent Book. This enables an error in recording the data, the irregularity in recording the data, and can occurs loss of files in these books. From this background, then be created an information system for recording members data, activity data, the data of donators, and financial reporting data. The author tries to apply the features of the Object Relational Data Base into this information system in handling the existing data. Other than that through the information system would like to introduce GarulukuFORANDAKA to the public. The research methodology used to resolve the existing problems are a case study at the Children's Center of Garuluku in Kemadang, Tanjung Sari, Gunung Kidul, build software using JSP, Java, and Oracle, and to test prospective users of the system. The final result obtained is a web-based information system that can provide information about the Garuluku Children's Center to the general public, and perform recording data members, activities, donators, and the financial reporting data are owned Sanggar Anak Garuluku and FORANDAKA 17. ORDB are good to handle the data menagement because the database modeling in Garuluku Children’s Center are complex especially to handle the activities data and financial reports that need nested table and REF. The data of Garuluku’s member has three type of memberships, they are using inheritance. Materi data and the teacher are using relationships using REF. The weakness from BDRO implementasion is table view not arrange in the information system because the column in a type table is object type. After testing at the Garuluku Children's Center, to donators, and to the general public, in general conclusion that the system is able to solve the problems that occurred in the Garuluku Children's Center. This thing are proven from 97% respondent are agree that this system are effective to present garuluku’s profile, member’s data, activities data, financial reports, dan 81,82% respondent are agree that this system are eassy to use. The weakness of this system is the web page view are less colorfull, not really attractive, and Garuluku’s member can’t login to the system. vi PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI KATA PENGANTAR Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus, karena kasihNya penulis dapat menyelesaikan tugas akhir sebagai salah satu syarat memperoleh gelar sarjana ada jurusan Teknik Informatika Universitas Sanata Dhrama Yogyakarta. Pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada pihak-pihak yang telah membantu selama pengerjaan skripsi ini. Ucapan terima kasih penulis sampaikan kepada: 1. Ibu Agnes Maria Polina, S.Kom, M.Sc., sebagai Dosen Pembimbing Tugas Akhir 2. Orang tua, Josias Topurmera dan Maria Ursensi Topurmera atas segala dukungan dalam penyusunan skripsi ini. 3. Teman-teman di Balai Anak Garuluku, terutama pembina Balai Anak Garuluku : Mas Wawan dan keluarga. 4. Teman-teman MAPALA. 5. Teman-teman Teknik Informatika 2010. Penulis berharap semoga skripsi ini dapat berguna bagi pembaca. Penulis, Ria Riska Topurmera vii PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI DAFTAR ISI HALAMAN PERSETUJUAN ................................................................................. i HALAMAN PENGESAHAN ................................................................................. ii PERNYATAAN KEASLIAN KARYA ................................................................ iii LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS .............................................................. iv ABSTRAK .............................................................................................................. v ABSTRACT ........................................................................................................... vi KATA PENGANTAR .......................................................................................... vii DAFTAR ISI ........................................................................................................ viii DAFTAR GAMBAR ........................................................................................... xiii DAFTAR TABEL .............................................................................................. xviii BAB I ...................................................................................................................... 1 1.1. Latar Belakang Masalah ........................................................................... 1 1.2. Rumusan Masalah .................................................................................... 3 1.3. Batasan Masalah ....................................................................................... 4 1.4. Tujuan Penelitian ...................................................................................... 4 1.5. Metodologi Penelitian .............................................................................. 4 1.6. Sistematika Penulisan ............................................................................... 7 BAB II ..................................................................................................................... 8 2.1. Basis Data ................................................................................................. 8 2.1.1. Data ................................................................................................... 8 2.1.2. Basis Data ......................................................................................... 8 2.1.3. Model Data ...................................................................................... 11 2.2. Basis Data Relational Objek................................................................... 13 2.2.1. Stonebraker’s view .......................................................................... 13 2.2.2. ORDBMS (Object-Relational Database Management System) ..... 14 2.2.3. Fitur-fitur yang ada di ORDBMS ................................................... 16 2.3. Sistem Informasi ..................................................................................... 30 2.3.1. Konsep Dasar Sistem ...................................................................... 31 2.3.2. Konsep Dasar Informasi .................................................................. 33 2.3.3. Konsep Dasar Sistem Informasi ...................................................... 34 viii PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI BAB III ................................................................................................................. 37 3.1. Fase Definisi Ruang Lingkup (Scope Definition Phase)........................ 37 3.2. Fase Analisis Masalah (Problem Analysis Phase) ................................. 38 3.2.1. Sistem Yang Ada Saat Ini ............................................................... 38 3.2.2. Gambaran Sistem Baru ................................................................... 39 3.3. Fase Analisis Kebutuhan (Requirement Analysis Phase)....................... 40 3.3.1. Diagram Use Case ........................................................................... 40 3.3.2. Narasi Use Case .............................................................................. 40 3.4. Fase Desain Logikal (Logical Design) ................................................... 53 3.4.1. Diagram Aktifitas ............................................................................ 53 3.4.2. Desain Logikal Data ........................................................................ 61 3.4.2.1. Object Relational Diagram ...................................................... 61 3.5. Fase Analisis Keputusan (Decision Analysis Phase) ............................. 63 3.6. Fase Desain Fisikal dan Integrasi (Physical Design and Integration) ... 63 3.6.1. Desain User Interface ...................................................................... 63 BAB IV ................................................................................................................. 73 4.1. Lingkungan Implementasi ...................................................................... 73 4.1.1. Lingkungan perangkat lunak ........................................................... 73 4.1.2. Lingkungan perangkat keras ........................................................... 74 4.2. Implementasi Basis Data Data Definition Language / DDL ................. 74 4.2.1. Pendefinisian tipe objek (object type) ............................................. 75 4.2.1.1 Tipe People .................................................................................. 77 4.2.1.2 Tipe PengajarRelawan_T ............................................................ 78 4.2.1.3 Tipe AnggotaGaruluku_T ........................................................... 78 4.2.1.2. Tipe Pengurus_T ...................................................................... 80 4.2.1.3. Tipe AnggotaFA_T .................................................................. 80 4.2.1.4. Tipe AnggotaSA_T .................................................................. 81 4.2.1.5. Tipe PengajarTetap_T.............................................................. 82 4.2.1.6. Tipe Materi_T .......................................................................... 82 4.2.1.7. Tipe DetailPengeluaran_T dan Tipe DetailPengeluaran_Table_T ....................................................................... 83 4.2.1.8. Tipe LapKeuangan_T .............................................................. 84 ix PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 4.2.1.9. Tipe Donatur_T........................................................................ 85 4.2.1.10. Tipe Kegiatan_T ...................................................................... 85 4.2.2. Pembuatan tabel objek (object table) .............................................. 86 4.2.2.1. Tabel People ............................................................................ 87 4.2.2.2. Tabel Pengurus ........................................................................ 87 4.2.2.3. Tabel AnggotaFA .................................................................... 88 4.2.2.4. Tabel AnggotaSA .................................................................... 88 4.2.2.5. Tabel PengajarTetap ................................................................ 88 4.2.2.6. Tabel Materi ............................................................................. 89 4.2.2.7. Tabel LapKeuangan ................................................................. 89 4.2.2.8. Tabel Kegiatan ......................................................................... 90 4.2.2.9. Tabel PanitiaSelenggara .......................................................... 91 4.3. Implementasi penerapan Basis Data Relational Objek ke dalam Sistem Informasi LSM Garuluku-FORANDAKA 17 ................................................... 92 4.3.1. Implementasi Fitur Inheritance Relationships: Union Inheritance dan Partition Inheritance ............................................................................... 93 4.3.1.1. Halaman Profil admin. ............................................................. 93 4.3.1.1.1. Tab Menu Pengurus Forum Anak ......................................... 93 4.3.1.1.2. Tab menu Pengurus Sanggar Anak ..................................... 102 4.3.1.1.3. Tab menu Data Anggota Forum Anak ................................ 111 4.3.1.1.4. Tab menu Data Anggota Sanggar Anak ............................. 120 4.3.1.1.5. Tab menu Data Pengajar Tetap ........................................... 128 4.3.1.1.6. Tab menu Data Anggota Garuluku ..................................... 135 4.3.1.1.7 Tab menu Data Pengajar Relawan ....................................... 138 4.3.2. Implementasi Fitur Collection Type : Nested Table ..................... 145 4.3.2.1. Halaman Kegiatan.................................................................. 145 4.3.2.1.1. Data Laporan Keuangan...................................................... 145 4.3.2.1.2. Data Kegiatan ...................................................................... 158 4.3.3. Implementasi Fitur Relationships using REF ............................... 170 4.3.3.1. Halaman Profil ....................................................................... 170 4.3.3.1.1. Tab menu Materi ................................................................. 170 4.3.3.2. Halaman Kegiatan.................................................................. 174 x PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 4.3.3.2.1. Tab menu edit halaman bagian menangani data Selenggara 174 4.4. Implementasi Sistem Informasi LSM Garuluku-FORANDAKA Secara Umum .............................................................................................................. 178 4.4.1. Implementasi Web untuk Pengunjung .......................................... 178 4.4.1.1. Halaman Profil. ...................................................................... 178 4.4.1.1.1. Tab Profil Umum ................................................................ 178 4.4.1.1.2. Tab Pengurus Forum Anak ................................................. 180 4.4.1.1.3. Tab Pengurus Sanggar Anak ............................................... 183 4.4.1.1.4. Tab Data Anggota Forum Anak .......................................... 185 4.4.1.1.5. Tab Data Anggota Sanggar Anak ....................................... 187 4.4.1.1.6. Tab Data Pengajar Tetap ..................................................... 190 4.4.1.1.7. Tab Data Pengajar Relawan ................................................ 191 4.4.1.1.8. Tab Data Anggota Garuluku ............................................... 193 4.4.1.1.9. Tab Materi ........................................................................... 194 4.4.1.2. Halaman Services .................................................................. 196 4.4.1.3. Halaman Kegiatan.................................................................. 197 4.4.1.3.1. Tab Arsip Kegiatan ............................................................. 197 4.4.1.3.2. Tab Lihat Selenggara .......................................................... 198 4.4.1.3.3. Tab Lihat Foto Galeri Kegiatan .......................................... 200 4.4.1.4. 4.4.2. Halaman Hubungi Kami ........................................................ 200 Implementasi Web untuk Admin .................................................. 201 4.4.2.1. Halaman Login ...................................................................... 201 4.4.2.2. Halaman Services .................................................................. 203 4.4.2.2.1. Menu Lihat Donatur yang sudah mendaftar ....................... 204 4.4.2.3. Halaman Kegiatan.................................................................. 205 4.4.2.3.1. Menu Lihat Foto Kegiatan .................................................. 205 4.4.2.3.2. Menu Tambah Foto Kegiatan ............................................. 206 4.4.2.3.3. Menu Hapus Foto Kegiatan ................................................ 207 4.4.3. Implementasi Web untuk Donatur ................................................ 209 4.4.3.1. Halaman Services .................................................................. 209 4.4.3.2. Halaman Kegiatan.................................................................. 211 BAB V................................................................................................................. 214 xi PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 5.1. Analisa Hasil Perangkat Lunak ............................................................ 214 5.2. Analisa Hasil Uji Coba terhadap Pengguna ......................................... 217 5.2.1. Form Kuisioner ............................................................................. 217 5.2.2. Hasil dan Pembahasan................................................................... 217 5.2.2.1. Hasil Uji Coba terhadap Pertanyaan umum ........................... 217 5.2.2.2. Hasil Uji Coba terhadap Pertanyaan Khusus Donatur ........... 229 5.2.2.3. Hasil Uji Coba terhadap Pertanyaan Khusus Admin ............. 233 BAB VI ............................................................................................................... 236 6.1. Kesimpulan ........................................................................................... 236 6.2 Saran ..................................................................................................... 237 DAFTAR PUSTAKA ......................................................................................... 239 LAMPIRAN ........................................................................................................ 240 xii PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI DAFTAR GAMBAR Gambar 2. 1 Empat kuadran dalam basis data. ..................................................... 13 Gambar 2. 2 Contoh object type ........................................................................... 16 Gambar 2. 3 Contoh tipe varray ............................................................................ 17 Gambar 2. 4 Contoh nested table .......................................................................... 18 Gambar 2. 5 Contoh implementasi OID ............................................................... 19 Gambar 2. 6 Contoh relasi menggunakan Object References............................... 20 Gambar 2. 7 Implementasi many to many menggunakan object refrences. ......... 22 Gambar 2. 8 Implementasi one to many menggunakan object refrences ............. 22 Gambar 2. 9 Implementasi one to one menggunakan object refrences................. 22 Gambar 2. 10 Implementasi union inheritance menggunakan "under" ................ 24 Gambar 2. 11 Implementasi mutual-exclusion inheritance menggunakan "under" ............................................................................................................................... 25 Gambar 2. 12 Implementasi partition inheritance menggunakan "under" ........... 26 Gambar 2. 13 Multiple inheritance ....................................................................... 26 Gambar 2. 14 Sintaks umum Stored procedure .................................................... 28 Gambar 2. 15 Sintaks umum member procedure .................................................. 30 Gambar 2. 16 Contoh member procedure ............................................................. 30 Gambar 2. 17 Siklus informasi.............................................................................. 34 Gambar 3. 1 Diagram Use case ............................................................................. 40 Gambar 3. 2 Diagram aktifitas proses login.......................................................... 54 Gambar 3. 3 Diagram aktifitas tambah anggota.................................................... 55 Gambar 3. 4 Diagram aktifitas lihat data anggota................................................. 55 Gambar 3. 5 Diagram aktifitas ubah data anggota ................................................ 56 Gambar 3. 6 Diagram aktifitas hapus data anggota .............................................. 56 Gambar 3. 7 Diagram aktifitas tambah kegiatan ................................................... 57 Gambar 3. 8 Diagram aktifitas lihat kegiatan ....................................................... 57 Gambar 3. 9 Diagram aktifitas ubah kegiatan ....................................................... 58 Gambar 3. 10 Diagram aktifitas hapus kegiatan ................................................... 58 Gambar 3. 11 Diagram aktifitas tambah laporan keuangan .................................. 59 Gambar 3. 12 Diagram aktifitas lihat laporan keuangan ....................................... 59 Gambar 3. 13 Diagram aktifitas ubah laporan keuangan ...................................... 60 Gambar 3. 14 Diagram hapus laporan keuangan .................................................. 60 Gambar 3. 15 Object Relational Diagram ............................................................. 61 Gambar 3. 16 User interface tambah data anggota forum anak dan anggota sanggar anak. ......................................................................................................... 64 Gambar 3. 17 User interface tambah data pengurus ............................................. 65 Gambar 3. 18 User interface tambah data pengajar tetap ..................................... 65 Gambar 3. 19 User interface tambah data pengajar relawan ................................ 66 xiii PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 3. 20 User interface form tambah data materi ......................................... 66 Gambar 3. 21 User interface form tambah data kegiatan...................................... 67 Gambar 3. 22 User interface form tambah data laporan keuangan ....................... 67 Gambar 3. 23 User interface form tambah data penyelenggara kegiatan ............. 68 Gambar 3. 24 User interface form login ............................................................... 68 Gambar 3. 25User interface tampil data anggota sanggar anak dan forum anak .. 69 Gambar 3. 26 User interface tampil data pengurus ............................................... 70 Gambar 3. 27 User interface tampil data kegiatan ................................................ 71 Gambar 3. 28 User interface tampil data laporan keuangan ................................. 72 Gambar 3. 29 User interface tampil data penyelenggara kegiatan........................ 72 Gambar 4. 1 Implementasi koneksi ke basis data oracle .................................................. 75 Gambar 4. 2 Tampilan halaman utama ............................................................................. 93 Gambar 4. 3 Halaman admin untuk pengurus FORANDAKA......................................... 94 Gambar 4. 4 Form tambah data pengurus forum anak ...................................................... 95 Gambar 4. 5 Servlet controller insert pengurus forum anak ............................................. 97 Gambar 4. 6 Hasil tambah data pengurus Forum Anak .................................................... 97 Gambar 4. 7 Ubah data pengurus ...................................................................................... 98 Gambar 4. 8 form ubah data ............................................................................................. 98 Gambar 4. 9 Servlet controller ubah pengurus forum anak ............................................ 100 Gambar 4. 10 Hasil ubah data pengurus ......................................................................... 100 Gambar 4. 11 Hapus data pengurus forum anak ............................................................. 101 Gambar 4. 12 Servlet controller hapus pengurus forum anak ......................................... 102 Gambar 4. 13 Hasil hapus data pengurus forum anak .................................................... 102 Gambar 4. 14 Tampilan menu pengurus sanggar anak ................................................... 103 Gambar 4. 15 Form tambah data pengurus sanggar anak ............................................... 103 Gambar 4. 16 Servlets controller insert data pengurus sanggar anak ............................. 105 Gambar 4. 17 Hasil tambah data pengurus sanggar anak ............................................... 106 Gambar 4. 18 Ubah data pengurus sanggar anak ............................................................ 106 Gambar 4. 19 Form ubah data pengurus sanggar anak ................................................... 107 Gambar 4. 20 Servlet controller ubah data pengurus sanggar anak ................................ 109 Gambar 4. 21 Hasil ubah data pengurus sanggar anak ................................................... 109 Gambar 4. 22 Hapus data pengurus sanggar anak .......................................................... 110 Gambar 4. 23 Servlet controller insert data pengurus sanggar anak ............................... 110 Gambar 4. 24 Hasil hapus data pengurus sanggar anak .................................................. 111 Gambar 4. 25 Tampilan menu data anggota forum anak ................................................ 111 Gambar 4. 26 Form tambah anggota forum anak ........................................................... 112 Gambar 4. 27 Servlet controller tambah data anggota forum anak ................................. 114 Gambar 4. 28 Hasil tambah data anggota forum anak .................................................... 115 Gambar 4. 29 Ubah data anggota forum anak ................................................................ 115 Gambar 4. 30 Form ubah data anggota forum anak ........................................................ 116 xiv PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 31 Servlet controller ubah data anggota forum anak ..................................... 118 Gambar 4. 32 Hasil ubah data anggota forum anak ........................................................ 118 Gambar 4. 33 Hapus data anggota forum anak ............................................................... 119 Gambar 4. 34 Servlet controller hapus data anggota forum anak ................................... 119 Gambar 4. 35 Hasil hapus data anggota forum anak ...................................................... 120 Gambar 4. 36 Menu anggota sanggar anak ..................................................................... 120 Gambar 4. 37 Form insert data anggota sanggar anak .................................................... 121 Gambar 4. 38 Servlet controller tambah data anggota sanggar anak .............................. 123 Gambar 4. 39 Hasil tambah data anggota sanggar anak ................................................. 124 Gambar 4. 40 Ubah data anggota sanggar anak .............................................................. 124 Gambar 4. 41 Form ubah data anggota sanggar anak ..................................................... 125 Gambar 4. 42 Srvlet controller ubah data anggota sanggar anak .................................... 126 Gambar 4. 43 Hasil ubah data sanggar anak ................................................................... 127 Gambar 4. 44 Hapus data anggota sanggar anak ............................................................ 127 Gambar 4. 45 Servlet controller hapus data anggota sanggar anak ................................ 128 Gambar 4. 46 Hasil hapus data sanggar anak ................................................................. 128 Gambar 4. 47 Menu data pengajar tetap ......................................................................... 129 Gambar 4. 48 Tambah data pengajar tetap ..................................................................... 129 Gambar 4. 49 Form tambah data pengajar tetap ............................................................. 130 Gambar 4. 50 Servlet controller tambah data pengajar tetap .......................................... 131 Gambar 4. 51 Hasil tambah data pengajar tetap ............................................................. 131 Gambar 4. 52 Ubah data pengajar tetap .......................................................................... 132 Gambar 4. 53 Form ubah data pengajar tetap ................................................................. 132 Gambar 4. 54 Servlet controller ubah data pengajar tetap .............................................. 133 Gambar 4. 55 Hasil ubah data pengajar tetap ................................................................. 133 Gambar 4. 56 Hapus data pengajar tetap ........................................................................ 134 Gambar 4. 57 Servlet controller hapus data pengajar tetap ............................................ 135 Gambar 4. 58 Hasil hapus data pengajar tetap ................................................................ 135 Gambar 4. 59 Menu data anggota garuluku .................................................................... 136 Gambar 4. 60 Hapus data anggota garuluku ................................................................... 136 Gambar 4. 61 Servlet controller hapus data anggota garuluku ....................................... 137 Gambar 4. 62 Hasil hapus data anggota garuluku........................................................... 137 Gambar 4. 63 Submenu Pengajar relawan ...................................................................... 138 Gambar 4. 64 Cari dan lihat data pengajar relawan ........................................................ 139 Gambar 4. 65 Hasil cari data pengajar relawan .............................................................. 139 Gambar 4. 66 Form tambah data pengajar relawan ........................................................ 140 Gambar 4. 67 Servlet controller tambah data pengajar relawan ..................................... 141 Gambar 4. 68 Hasil tambah data pengajar relawan......................................................... 141 Gambar 4. 69 Ubah data pengajar relawan ..................................................................... 142 Gambar 4. 70 Form ubah data pengajar relawan ............................................................ 142 Gambar 4. 71 Servlet controler ubah data pengajar relawan .......................................... 143 xv PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 72 Hasil ubah data pengajar relawan............................................................. 143 Gambar 4. 73 Hapus data pengajar relawan ................................................................... 143 Gambar 4. 74 Servlet controller hapus data pengajar relawan........................................ 144 Gambar 4. 75 Hasil hapus data pengajar relawan ........................................................... 144 Gambar 4. 76 Halaman kegiatan admin .......................................................................... 145 Gambar 4. 77 Cari data laporan keuangan ...................................................................... 146 Gambar 4. 78 Hasil cari data laporan keuangan ............................................................. 147 Gambar 4. 79 Tambah laporan keuangan ....................................................................... 148 Gambar 4. 80 Form tambah data laporan keuangan ....................................................... 149 Gambar 4. 81 Hasil tambah laporan keuangan ............................................................... 150 Gambar 4. 82 Servlet controller tambah data laporan keuangan .................................... 151 Gambar 4. 83 Ubah data laporan keuangan .................................................................... 152 Gambar 4. 84 Form ubah data laporan keuangan ........................................................... 152 Gambar 4. 85 Hasil ubah laporan keuangan ................................................................... 153 Gambar 4. 86 Servlet controller ubah data laporan keuangan ........................................ 155 Gambar 4. 87 Hapus data laporan keuangan................................................................... 155 Gambar 4. 88 Hasil hapus data laporan keuangan .......................................................... 156 Gambar 4. 89 Servlet controller hapus data laporan keuangan ....................................... 156 Gambar 4. 90 Hapus detail pengeluaran ......................................................................... 157 Gambar 4. 91 Hasil hapus data detail pengeluaran ......................................................... 157 Gambar 4. 92 Servlet controller hapus data detail pengeluaran...................................... 158 Gambar 4. 93 Cari data kegiatan..................................................................................... 159 Gambar 4. 94 Hasil cari data kegiatan ............................................................................ 159 Gambar 4. 95 Tambah data kegiatan .............................................................................. 161 Gambar 4. 96 Form tambah data kegiatan ...................................................................... 162 Gambar 4. 97 Hasil tambah data kegiatan ...................................................................... 162 Gambar 4. 98 Servlet controller insert data kegiatan ...................................................... 164 Gambar 4. 99 Ubah data kegiatan ................................................................................... 164 Gambar 4. 100 Form ubah data kegiatan ........................................................................ 165 Gambar 4. 101 Hasil ubah kegiatan ................................................................................ 165 Gambar 4. 102 Servlet controller ubah data kegiatan ..................................................... 167 Gambar 4. 103 Hapus data kegiatan ............................................................................... 167 Gambar 4. 104 Hasil hapus data kegiatan ....................................................................... 168 Gambar 4. 105 Servlet controller hapus data kegiatan ................................................... 168 Gambar 4. 106 Hapus donatur ........................................................................................ 169 Gambar 4. 107 Hasil hapus donatur ................................................................................ 169 Gambar 4. 108 Servlet controller hapus data donatur ..................................................... 170 Gambar 4. 109 Menu materi ........................................................................................... 171 Gambar 4. 110 Cari dan lihat data materi ....................................................................... 171 Gambar 4. 111 Hasil cari materi ..................................................................................... 172 Gambar 4. 112 Form tambah data materi ....................................................................... 173 xvi PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 113 Servlet controller tambah data materi .................................................... 174 Gambar 4. 114 Hasil tambah data materi ........................................................................ 174 Gambar 4. 115 Halaman kegiatan admin ........................................................................ 175 Gambar 4. 116 Lihat dan cari data penyelenggara kegiatan ........................................... 175 Gambar 4. 117 Hasil cara data penyelenggara kegiatan ................................................. 176 Gambar 4. 118 Tambah data penyelenggara kegiatan .................................................... 176 Gambar 4. 119 Hasil tambah data penyelenggara kegiatan ............................................ 177 Gambar 4. 120 Hapus data penyelenggara kegiatan ....................................................... 177 Gambar 4. 121 Hasil hapus data penyelenggara kegiatan............................................... 178 Gambar 4. 122 Halaman profil umum pada tampilan pengunjung ................................. 180 Gambar 4. 123 Lihat dan cari data pengurus FORANDAKA ........................................ 181 Gambar 4. 124 Halaman lihat semua data pengurus FORANDAKA ............................. 181 Gambar 4. 125 Halaman struktur organisasi FORANDAKA ......................................... 182 Gambar 4. 126 Halaman hasil pencarian ........................................................................ 183 Gambar 4. 127 Lihat dan cari pengurus Sanggar Anak Garuluku .................................. 183 Gambar 4. 128 Halaman lihat semua data pengurus Sanggar Anak Garuluku ............... 184 Gambar 4. 129 Struktur Organisasi Sanggar Anak Garuluku ......................................... 184 Gambar 4. 130 Halaman hasil pencarian ........................................................................ 185 Gambar 4. 131 Lihat dan cari data angota FORANDAKA ............................................ 186 Gambar 4. 132 Halaman Lihat data lengkap anggota FORANDAKA ........................... 186 Gambar 4. 133 Halaman hasil pencarian ........................................................................ 187 Gambar 4. 134 Lihat dan cari data anggota Sanggar Anak Garuluku............................. 188 Gambar 4. 135 Halaman lihat semua data anggota Sanggar Anak Garuluku ................. 188 Gambar 4. 136 Halaman hasil pencarian ........................................................................ 189 Gambar 4. 137 Lihat dan cari data pengajar tetap .......................................................... 190 Gambar 4. 138 Halaman lihat semua data pengajar ........................................................ 190 Gambar 4. 139 Halaman hasil pencarian ........................................................................ 191 Gambar 4. 140 Lihat dan cari data pengajar relawan...................................................... 192 Gambar 4. 141 Halaman lihat semua data pengajar relawan .......................................... 192 Gambar 4. 142 Halaman hasil pencarian ........................................................................ 193 Gambar 4. 143 Tab menu Data Anggota Garuluku ........................................................ 194 Gambar 4. 144 Halaman semua data anggota Garuluku ................................................. 194 Gambar 4. 145 Tab menu Materi .................................................................................... 195 Gambar 4. 146 Halaman lihat semua materi yang diajarkan .......................................... 195 Gambar 4. 147 Halaman hasil pencarian ........................................................................ 196 Gambar 4. 148 Halaman Service .................................................................................... 197 Gambar 4. 149 Tab menu arsip kegiatan ........................................................................ 198 Gambar 4. 150 Tab menu selenggara.............................................................................. 199 Gambar 4. 151 Halaman lihat semua data penyelenggara kegiatan................................ 199 Gambar 4. 152 Halaman hasil pencarian ........................................................................ 200 Gambar 4. 153 Lihat galeri foto kegiatan ....................................................................... 200 xvii PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 154 Halaman hubungi kami .......................................................................... 201 Gambar 4. 155 Halaman Login admin ............................................................................ 202 Gambar 4. 156 Halaman pesan login error ..................................................................... 202 Gambar 4. 157 Halaman sukses login admin .................................................................. 203 Gambar 4. 158 Halaman service admin .......................................................................... 204 Gambar 4. 159 Hasil lihat data donatur yang mendaftar ................................................ 204 Gambar 4. 160 Halaman kegiatan admin ........................................................................ 205 Gambar 4. 161 Lihat foto galeri kegiatan ....................................................................... 206 Gambar 4. 162 Tambah foto galeri kegiatan................................................................... 207 Gambar 4. 163 Hasil tambah foto galeri kegiatan........................................................... 207 Gambar 4. 164 Hapus data foto kegiatan ........................................................................ 208 Gambar 4. 165 Hasil hapus foto galeri kegiatan ............................................................. 208 Gambar 4. 166 Halaman service untuk donatur .............................................................. 209 Gambar 4. 167 Daftar donatur ........................................................................................ 210 Gambar 4. 168 Hasil daftar donatur ................................................................................ 210 Gambar 4. 169 Login donatur ......................................................................................... 211 Gambar 4. 170 Halaman sukses login donatur ............................................................... 211 Gambar 4. 171 Halaman kegiatan untuk donatur ........................................................... 212 Gambar 4. 172 Lihat donatur .......................................................................................... 212 Gambar 4. 173 Lihat Laporan keuangaan ....................................................................... 213 Gambar 5. 1 Grafik pertanyaan 1 untuk semua responden ............................................. 218 Gambar 5. 2 Grafik pertanyaan 2 untuk semua responden ............................................. 219 Gambar 5. 3 Grafik pertanyaan 3 untuk semua responden ............................................. 220 Gambar 5. 4 Grafik pertanyaan 4 untuk semua responden ............................................ 221 Gambar 5. 5 Grafik pertanyaan 5 untuk semua responden ............................................ 222 Gambar 5. 6 Grafik pertanyaan 6 untuk semua responden ............................................ 223 Gambar 5. 7 Grafik pertanyaan 7 untuk semua responden ............................................ 224 Gambar 5. 8 Grafik pertanyaan 8 untuk semua responden ............................................ 225 Gambar 5. 9 Grafik pertanyaan 9 untuk semua responden ............................................ 226 Gambar 5. 10 Grafik pertanyaan 10 untuk semua responden ........................................ 227 Gambar 5. 11 Grafik pertanyaan 11 untuk semua responden ........................................ 228 Gambar 5. 12 Grafik pertanyaan 12 untuk semua responden ......................................... 229 Gambar 5. 13 Grafik pertanyaan 1 untuk donatur.......................................................... 230 Gambar 5. 14 Grafik pertanyaan 2 untuk donatur.......................................................... 231 Gambar 5. 15 Grafik pertanyaan 3 untuk donatur........................................................... 232 DAFTAR TABEL Tabel 5. 1 Tabel hasil kuisioner pertanyaan 1 untuk semua responden .............. 218 Tabel 5. 2 Tabel hasil kuisioner pertanyaan 2 untuk semua responden .............. 219 xviii PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Tabel 5. 3 Tabel hasil kuisioner pertanyaan 3 untuk semua respponden ............ 220 Tabel 5. 4 Tabel hasil kuisioner pertanyaan 4 untuk semua responden .............. 221 Tabel 5. 5 Tabel hasil kuisioner pertanyaan 5 untuk semua responden .............. 221 Tabel 5. 6 Tabel hasil kuisioner pertanyaan 6 untuk semua responden .............. 222 Tabel 5. 7 Tabel hasil kuisioner pertanyaan 7 untuk semua responden .............. 223 Tabel 5. 8 Tabel hasil kuisioner pertanyaan 8 untuk semua responden .............. 224 Tabel 5. 9 Tabel hasil kuisioner pertanyaan 9 untuk semua responden .............. 225 Tabel 5. 10 Tabel hasil kuisioner pertanyaan 10 untuk semua responden .......... 226 Tabel 5. 11 Tabel hasil kuisioner pertanyaan 11 untuk semua responden .......... 227 Tabel 5. 12 Tabel hasil kuisioner pertanyaan 12 untuk semua responden .......... 228 Tabel 5. 13 Tabel hasil kuisioner pertanyaan 1 untuk donatur ........................... 229 Tabel 5. 14 Tabel hasil kuisioner pertanyaan 2 untuk donatur ........................... 230 Tabel 5. 15 Tabel hasil kuisioner pertanyaan 3 untuk donatur ........................... 231 xix PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI BAB I PENDAHULUAN 1.1. Latar Belakang Masalah Semakin berkembangnya jaman, teknologi komputer banyak digunakan dalam berbagai aktifitas, sehingga sangat membantu manusia dalam menyelesaikan pekerjaannya. Kehadiran internet juga telah menjadi suatu jawaban atas kebutuhan masyarakat yang semakin sibuk. Salah satu keuntungan dari menggunakan internet adalah untuk mengakses informasi yang tepat, cepat dan cermat. Internet menyediakan layanan untuk melakukan hubungan dengan dunia luar, tidak hanya hubungan di dalam negeri saja tetapi sampai keluar negeri, karena internet memiliki fasilitas web yang dapat digunakan sebagai media yang mampu memberikan informasi berupa data maupun hiburan. Sesuai dengan Undang-Undang Perlindungan Anak (UUPA) No 23 Tahun 2002, yang dimaksud dengan anak adalah seseorang yang belum berusia 18 (delapan belas) tahun, termasuk anak dalam kandungan. Anak merupakan amanah Tuhan Yang Maha Esa, di dalamnya merekat harkat dan martabat selayaknya manusia seutuhnya yang harus dijunjung tinggi. Setiap anak memiliki 4 (empat) hak dasar, yaitu, 1) hak hidup; 2) hak tumbuh kembang; 3) hak perlindungan; 4) hak partisipasi. Pemenuhan 4 (empat) hak dasar anak tersebut menjadi tanggung jawab pemerintah dan 1 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI semua elemen masyarakat. Maka dibentuklah suatu komunitas anak yang bernama Forum Anak Desa Kemadang (FORANDAKA) yang lahir atas kerjasama antara Balai Anak Garu Luku bersama SOS Children’s Village’s Yogyakarta. FORANDAKA adalah bentuk perwujudan dari pemenuhan hak-hak anak. Seiring dengan bertambahnya waktu dan laju pertumbuhan anak di desa Kemadang yang semakin meningkat menyebabkan data yang ada menjadi lebih banyak sehingga menyulitkan pengurus Garu Luku-FORANDAKA dalam hal pendataan anak, karena pencatatan masih bersifat manual tanpa adanya pemanfaatan sistem basis data. Oleh karena itu diperlukan sistem basis data yang dapat memberikan efisiensi kerja, kecepatan dan ketelitian waktu serta informasi yang baik, terutama dalam mengolah data. Data Base Management System merupakan suatu sistem perangkat lunak yang memampukan penggunaan untuk mendefinisikan, membuat, merawat, dan mengontrol akses ke basis data. Menggunakan Object Relational Data Base Management System (ORDBMS) merupakan salah satu solusi dalam membuat data base untuk Sistem Informasi Garu LukuFORANDAKA ini. Penulis ingin mencoba untuk menerapkan ORDBMS ke dalam sistem informasi ini, dalam memproses data-data yang ada. Dengan sistem informasi ini diharapkan dapat mempermudah pengurus Garu Luku-FORANDAKA dalam pendataan serta pengolahan data-data anak yang tergabung dalam komunitas ini Di samping itu, diharapkan dengan pembuatan Sistem Informasi yang berbasis web ini dapat menjadi 2 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI sarana Garu Luku-FORANDAKA dalam menyuarakan suara anak-anak desa Kemadang, dan dapat lebih memperkenalkan Garu LukuFORANDAKA kepada masyarakat luas. 1.2. Rumusan Masalah Berdasarkan latar belakang di atas, dapat dirumuskan masalah sebagai berikut: 1. Bagaimana mengimplementasikan Basis Data Relasional Objek dalam Sistem Informasi LSM Garuluku – Forum Anak Desa Kemadang. 2. Apakah Sistem Informasi Garuluku – Forum Anak Desa Kemadang yang berbasis Web ini efektif dan mudah digunakan oleh pengguna, agar dapat menjadi penghubung dengan berbagai pihak, yang diantaranya adalah antar pihak anggota dan pengurus Garuluku – Forum Anak Desa Kemadang, donatur, masyarakat luas, dan berbagai pihak yang ingin mengetahui Garuluku – Forum Anak Desa Kemadang, dalam hal menyampaikan informasi baik berupa tulisan atau artikel, mengenai : a. Kegiatan Garuluku - Forum Anak Desa Kemadang baik yang dilakukan maupun yang diikuti Informasi keanggotaan b. Struktur organisasi c. Laporan keuangan 3 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI d. Dan lain-lain. 1.3. Batasan Masalah Adapun batasan permasalahan dalam tugas akhir ini adalah: 1. GARULUKU mempunyai banyak organisasi di bawahnya, dan sistem ini terbatas menangani penyimpanan data-data anggota, pengurus, donatur, dan kegiatan-kegiatan dari Sanggar Anak Garuluku dan Forum Anak Desa Kemadang 17 Dusun. 2. Bahasa pemrograman yang digunakan adalah Java. 3. Pengolahan basis data menggunakan Oracle. 4. Implementasi basis data berorientasi objek tidak menggunakan enkapsulasi karena method bersifat optional dalam object type. 1.4. Tujuan Penelitian Tujuan dari penulisan tugas akhir ini adalah membuat database data-data anggota, data kegiatan, data donatur, dan data laporan keuangan dari kegiatan di Sanggar Anak Garuluku dan FORANDAKA dalam Sistem Informasi LSM Garuluku-FORANDAKA dengan menggunakan Object Relational Data Base Management System, dan memberikan informasi kepada masyarakat luas mengenai Balai Anak Garuluku-FORANDAKA. 1.5. Metodologi Penelitian 4 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Metodologi penelitian yang digunakan dalam penelitian ini adalah studi kasus dengan langkah-langkah sebagai berikut: a. Survei awal Penulis melakukan survei awal dengan mengunjungi Balai Anak Garuluku. Pada tahap ini, dilakukan wawancara terhadap pihak pengurus Garuluku. b. Studi pustaka Studi literatur yang dilakukan adalah dengan mempelajari teori mengenai Basis Data Relasional Objek, Oracle, dan bahasa pemprograman Java. c. Pembangunan sistem informasi Menggunakan metode FAST (Framework for the Application of System Technique) (Whitten, 2004). Tahap-tahap dalam metode ini meliputi: 1. Tahap Scope Definition Tahap ini dilakukan untuk mendefinisikan ruang lingkup yang akan dikerjakan sistem. Pada tahap ini dilakukan proses pengumpulan data anggota, data laporan kegiatan, data laporan keuangan, serta mewawancarai pengurus Garuluku. 2. Tahap Problem Analysis Hal yang dilakukan pada tahap ini adalah analisa masalah yang terdapat di Balai Anak Garuluku. 3. Tahap Logical Design 5 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pada tahap ini dibuat perancangan konseptual aplikasi, meliputi cara kerja sistem dan desain logikal data. 4. Tahap Decision Analysis Mempertimbangkan perangkat lunak yang akan dipakai untuk mengatasi masalah, yaitu menggunakan bentuk bahasa pemprograman Java dan Oracle sebagai pengelola database. 5. Tahap Physical Design dan Integration Pada tahap ini dilakukan implementasi dari rancangan graphical user interface (GUI) dan database yang merupakan hasil pada tahap sebelumnya. 6. Tahap Constructiong dan Testing Pada tahap ini dilakukan implementasi sistem berdasarkan desain sistem yang telah dirancang ke dalam bahasa pemprograman. Implementasi rancangan ke dalam program menggunakan bahasa pemprograman JSP dan basis data menggunakan oracle. Pada tahap ini juga dilakukan uji coba untuk melihat implementasi dari fitur-fitur Basis Data Relasional Objek yang diterapkan pada sistem informasi ini sudah bekerja dengan baik. d. Uji coba perangkat lunak Pada tahap ini, Sistem Informasi LSM Garuluku-FORANDAKA akan dicoba oleh pengguna sistem yaitu admin dari pengurus, 6 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI donatur, dan masyarakat luas, untuk melihat apakah sistem ini cukup efektif dan mudah digunakan oleh pengguna sistem. 1.6.Sistematika Penulisan Sistematika penulisan Tugas Akhir ini yaitu: 1. BAB I Pendahuluan Berisi latar belakang masalah, rumusan masalah, batasan masalah, tujuan penelitian, metodologi penelitian, dan sistematika penulisan. 2. BAB II Landasan Teori Berisi teori-teori tentang Basis Data, Basis Data Relasional Objek, dan Sistem Iniformasi. 3. BAB III Analisis Desain dan Perancangan Sistem Berisi tentang analisis sistem yang meliputi Scope Definition Phase, Problem Analysis Phase dan Requirement Analysis Phase yang kemudian hasil yang dilakukan akan dibuat sebuah perancangan sistem untuk menyelesaikan masalah dalam penelitian ini meliputi Logical Design Phase dan Physical Design and Integration. 4. BAB VI Implementasi Sistem Berisi implementasi dari hasil perancangan ke dalam bahasa pemprograman 5. BAB V Analisa Hasil 7 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Berisi analisa dari hasil dari pembuatan system. Pada bab ini dibahas tentang hasil pengujian-pengujian sistem secara α tes untuk mencari kekurangan sistem maupun uji coba terhadap pengguna atau β tes. 6. BAB IV Penutup Berisi kesimpulan dan saran yang diambil dari sistem yang telah dibangun. BAB II LANDASAN TEORI 2.1.Basis Data 2.1.1. Data McFadden et al (1999) dalam Modern Database Management menyebutkan bahwa data adalah fakta-fakta tentang segala sesuatu di dunia nyata yang dapat direkam dan disimpan pada media komputer. Dengan demikian, pengertian data dapat diperluas menjadi fakta, teks, grafik, suara, serta video yang bermanfaat di lingkup pengguna. 2.1.2. Basis Data Basis data adalah koleksi dari data-data yang terorganisasi sedemikian rupa sehingga data mudah disimpan dan dimanipulasi 8 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI (diperbaharui, dicari, diolah dengan perhitungan-perhitungan tertentu, serta dihapus). Menurut James Martin (1975), basis data dapat dipahami sebagai suatu kumpulan data terhubung (interrelated data) yang disimpan secara bersama-sama pada suatu media, tanpa mengatap satu sama lain atau tidak perlu suatu kerangkapan data (kalaupun ada maka kerangkapan data tersebut harus seminimal mungkin dan terkontrol), data disimpan dengan cara-cara tertentu sehingga mudah digunakan/atau ditampilkan kembali; data dapat digunakan oleh satu atau lebih program-program aplikasi secara optimal; data disimpan tanpa mengalami ketergantungan dengan program yang akan menggunakannya; data disimpan sedemikian rupa sehingga proses penambahan, pengambilan, dan modifikasi data dapat dilakukan dengan mudah dan terkontrol. C.J.Date (1995) mendefinisikan database sebagai beberapa kumpulan data yang akan tetap tersimpan, digunakan oleh sistemsistem aplikasi yang diberikan oleh organisasi. Berdasarkan definisi tersebut, maka suatu basis data mempunyai beberapa kriteria penting yang harus dipenuhi, yaitu (Martin, 1975): 1. Berorientasi pada data (data oriented) dan bukan berorientasi pada program (program oriented) yang akan menggunakannya. 9 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Untuk memenuhi kriteria ini, maka basis data harus disimpan secara terpisah dengan program aplikasinya. Umumnya paket-paket aplikasi pengelolaan basis data (Database Management System/DBMS) yang tersedia telah dirancang sedemikian rupa sehingga basis data disimpan sebagai sekumpulan file yang terpisah dengan perogram yang mengaksesnya. 2. Data dalam basis data dapat berkembang dengan mudah, baik volume maupun strukturnya Data-data di dalam basis data mengalami perkembangan dari waktu ke waktu. Struktur basis data juga dapat mengalami perubahan seiring dengan kebutuhan subsistemsubsistem pengolahan data yang baru. 3. Data yang ada dapat memenuhi kebutuhan sistem-sistem baru secara mudah. Ketika terjadi penambahan/perubahan kebutuhan sistem yang baru maka data-data dalam basis data harus dapat memenuhinya. Data-data yang telah tersimpan sebagai basis data harus tetap dapat digunakan tanpa perlu mengubahnya. Hal ini dapat terjadi hanya jika basis data dirancang sedemikian rupa sehingga ketika muncul kebutuhan-kebutuhan baru, data yang telah tersimpan tetap dapat digunakan tanpa harus diubah. 10 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 4. Data dapat digunakan dengan cara yang berbeda-beda. Data dalam basis data dapat diakses menggunakan program aplikasi, menggunakan program aplikasi, menggunaka instruksi-instruksi yang bersifat interaktif, menggunakan bahasa query, dan lainnya. 5. Kerangkapan data (data redundancy) minimal. Kerangkapan data merupakan permasalahn kritis dalam basis data. Data-data dalam basis data semestinya tidak perlu disimpan secara berulang. Kerangkapan data mengakibatkan permasalahan yang menyulitkan ketika dilakukan pengolahan data dikemudian hari. 2.1.3. Model Data Model data merupakan hal yang mendasari struktur basis data. Model data adalah sekumpulan cara/perkakas/tool untuk mendeskripsikan data-data, hubungannya satu sama lain, semantiknya, serta batasan konsistensi. Model data memiliki beberapa konsep sebagai berikut (Adi Nugroho, 2011): 1. Model Hubungan Entitas (Entity-Relationship) Model data diagram hubungan entitas (Entity Relationship Diagram/ERD) dibuat berdasarkan anggapan bahwa dunia nyata terdiri atas koleksi objek-objek dasar yang dinamakan entitas (entity) serta hubungan 11 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI (relationship) antara entitas-entitas itu. Entitas adalah “sesuatu” atau “objek” pada dunia nyata yang dapat dibedakan satu dengan yang lainnya, yang bermanfaat bagi aplikasi yang sedang dikembangkan. Entitas dalam basis data dideskripsikan berdasarkan atributnya. Hubungan menjelaskan kaitan antara beberapa entitas. Dalam hal ini, himpunan semua entitas dengan tipe yang sama dan semua hubungan antar entitas dirujuk sebagai himpunan entitas dan himpunan relasi. 2. Model Relasional Model relasional adalah model yang menggunakan sejumlah tabel untuk menggambarkan data serta hubungan antara data-data tersebut. Setiap tabel memiliki sejumlah kolom yang masing-masing memiliki nama unik. Model relasional adalah contoh model berbasis rekaman. Model tersebut dinamakan demikian sebab basis data memiliki struktur rekaman berformat tertentu yang masing-masing isinya memiliki tipe-tip e yang berbeda. Model relational adalah abstraksi pada peringkat yang lebih rendah dari ERD (Entity Relationship Diagram). Perancangan basis data umumnya terlebih dahulu menggunakan ERD (Entity Relationship Diagram), kemudian menerjemahkannya ke model relasional untuk 12 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI kemudian diimplementasikan di sistem basis data yang digunakan. 3. Model Data Lain Model data berorientasi objek adalah model data lain yang saat ini mulai populer. Model berorientasi objek memperluas ERD dengan penekanan pada pengapsulan (encapsulation), pewarisan (inherintance), motode (fungsi), polimorfisme, serta identitas objek. Model data objek-relasional mengombinasikan keunggulan-keunggulan model data berorientasi objek dan ketersediaan model data relasional. 2.2.Basis Data Relational Objek 2.2.1. Stonebraker’s view Menurut Stonebraker (Dalam bukunya Object-Relational DBMSs, 1996) terdapat empat kuadran dalam basis data: Gambar 2. 1 Empat kuadran dalam basis data. 13 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI a. Kuadran kiri bawah : simple data dan no query Aplikasi yang memproses data sederhana dan tidak membutuhkan query data. Contoh : aplikasi word processing seperti Word, WordPerfect, Framemaker. b. Kuadran kiri atas : simple data dan query Aplikasi yang memproses data sederhana namun membutuhkan query yang kompleks. Banyak aplikasi-aplikasi bisnis tradisional yang masuk dalam kelompok ini, dan RDBMS dapat menjadi pilihan yang paling tepat. c. Kuadran kanan atas : complex data dan query Aplikasi yang membutuhkan memproses data yang kompleks serta kueri yang kompleks pula. Yang termasuk dalam kelompok ini adalah aplikasi-aplikasi basisdata lanjut sepertit GIS, CASE, NMS, dan lain-lain. ORDBMS menjadi pilihan yang paling tepat. d. Kuadran kanan bawah : complex data dan no query Aplikasi yang memproses data yang kompleks namun tidak membutuhkan kueri data. Aplikasi yang termasuk kelompok ini aadalah Computer Aided Design, dan OODBMS dapat menjadi pilihan DBMS yg paling sesuai. 2.2.2. ORDBMS (Object-Relational Database Management System) 14 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Konsep ORDBMS adalah: ORDBMS = RDBMS + OODBMS Secara logis suatu ORDBMS adalah metode memproses MS (Management System) struktur data DB (Database) dengan menggunakan konsep objek O (Object) dan relasional R (Relational) (Sergey Savouchkine, 2003). Object-Relational Database Management System (ORDBMS) merupakan penggabungan antara teknologi relasional dengan arsitektur berbasis objek. ORDBMS disebut juga hibrid object database yang tidak secara lengkap mendukung objek. Sistem objek-relational mencoba memperluas penggunaan model data relasional dengan menyediakan tipe data yang lebih kompleks dan paradigma berorientasi objek. Bahasa pemprograman (query) relasional, pada sebagaian SQL harus diperluas agar bisa bekerja dengan sistem yang memiliki tipe data yang lebih kaya. Perluasan-peluasan yang dilakukan mencoba untuk mempertahankan dasar-dasar basis data relasional. Sistem objek relational (yaitu, sistem basis data berorientasi objek yang berbasis pada model objek-relasional) menyediakan jalur migrasi yang sangat baik bagi para pengguna basis data relasional yang ingin menggunakan/memanfaatkan fitur-fitur berorientasi objek yang lebih kaya. 15 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 2.2.3. Fitur-fitur yang ada di ORDBMS a. Object Types and User-Defined Types Dalam Oracle ™, sebuah pernyataan "create type" digunakan untuk membuat tipe data baru (tipe objek) yang kemudian dapat digunakan sebagai generic type untuk membuat tabel menggunakan pernyataan "create table" atau untuk membuat tipe data lain. Contoh Oracle™ object type : Gambar 2. 2 Contoh object type "as object" digunakan setelah membuat tipe objek. Perhatikan bahwa "or replace" adalah opsional. Dengan memiliki frase tambahan, sebuah objek dengan nama yang sama secara otomatis akan diganti dengan versi terbaru dari jenis objek. b. Collection Types Oracle ™ memungkinkan penciptaan sebuah tipe array (varray atau bervariasi array). Sintaks tersebut dasarnya menggunakan pernyataan yang sama "create type" dengan 16 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI tambahan pernyataan "as array (n) of” diikuti oleh obyek atau tipe data. Contoh tipe varrying array : Gambar 2. 3 Contoh tipe varray Dari sintaks tersebut memungkinkan untuk memiliki lebih dari satu dosen untuk mata kuliah tertentu, oleh karena itu array baru dari Person dapat didefinisikan: 1. Untuk membuat tabel objek, kita menggunakan “create type” dengan pernyataan tambahan "as table of”. 2. Tabel objek ini kemudian dapat digunakan sebagai kolom dalam sebuah tabel. Ketika tipe tabel muncul sebagai jenis kolom dalam tabel atau sebagai atribut yang mendasari jenis objek. 3. Tipe data yang disebut Person_Table_T dapat dibuat berdasarkan tipe data Person_T untuk menyimpan contoh dari person. Penggunaan varray untuk mnyimpan collection type di Oracle tidak begitu user friendly, sehingga untuk tabel yang membutuhkan banyak 17 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI update, lebih menggunakan Nested table (tabel bersarang). Contoh Oracle™ nested table: Gambar 2. 4 Contoh nested table c. Object Identifiers Dalam sistem berorientasi obyek, OID adalah sistem yang dihasilkan dan digunakan sebagai referensi untuk menemukan objek tertentu. Dalam Oracle ™, gagasan OID sebagai pointer logis tidak didukung, namun konsep OID untuk secara unik mengidentifikasi record (sebagai primary key) dapat digunakan. Hal ini sangat berguna dalam hirarki inheritance, di mana semua subclass harus membawa OID superclass dalam rangka membangun hubungan antara superclass dan subclass. Contoh implementasi object-identifiers: 18 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 2. 5 Contoh implementasi OID Syntax tersebut mengilustrasikan implementasi menggunakan OID untuk menjaga inheritance (pewarisan) antara superclass dan subclass. Perhatikan bahwa kita dapat membuat tabel dari obyek dan menentukan primary key dan foreign key dalam tabel ini. Setiap kali kita menentukan foreign key, kita harus menggunakan "reference" pernyataan diikuti oleh tabel dan kolom yang sedang dimaksud. Relationship Using Object references : 19 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 2. 6 Contoh relasi menggunakan Object References Syntax tersebut menunjukkan bahwa tabel yang dibuat berasal dari tipe objek. Dengan demikian, kita tidak harus menentukan tipe atribut lagi. Catatan, kita dapat menambahkan constraint "not null" pernyataan untuk menghindari nilai "null" dari atribut. Hal ini diperlukan untuk atribut tertentu. d. Relationships using Ref Untuk referensi dari satu objek ke yang lain dengan menggunakan kata kunci ref. Teknik objek-referensi ini dapat digunakan untuk menggantikan operasi standar "join" untuk melintasi dari satu objek ke yang lain. Kita kemudian dapat menjalankan query: SELECT C.course_name FROM Course C WHERE C.lecturer.person_name = 'Rahayu'; Pernyataan "SCOPE IS" digunakan untuk menentukan tabel yang tepat yang direferensikan oleh objek. Setiap kali parameterscope digunakan, mesin database akan melakukan 20 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI operasi join, yang dapat dioptimalkan dengan menggunakan indeks. jika parameter scope dihilangkan dan lebih dari satu tabel telah dibuat menggunakan jenis objek yang diberikan, mesin database akan menavigasi melalui seperangkat nilai-nilai referensi obyek untuk mengidentifikasi lokasi dari catatan yang diminta kita tidak akan menggunakan parameter "SCOPE IS" dalam pernyataan table creation. Dalam kebanyakan situasi, kita tidak akan membangun lebih dari satu tabel untuk masing-masing jenis objek yang kita nyatakan, sehingga menghindari situasi di mana Mesin Database harus menavigasi melalui sejumlah referensi objek. Ketika hanya satu tabel yang dibuat untuk jenis objek, operator ref langsung akan menunjuk untuk referensi terkait. Metode pelaksanaan lain hubungan asosiasi di Oracle ™ menggunakan referensi objek menggunakan REF. Daripada menghubungkan dua tabel melalui nilai-nilai yang terkait kunci primer dan kunci asing, metode ini memungkinkan seseorang untuk secara langsung menghubungkan dua tabel melalui atribut referensi. Dengan demikian, atribut terkait yang menghubungkan dua tabel tidak memegang nilai kunci primer dari tabel lain yang terhubung, tapi referensi dari mana tabel terhubung sebenarnya disimpan. 21 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 2. 7 Implementasi many to many menggunakan object refrences. Gambar 2. 8 Implementasi one to many menggunakan object refrences Gambar 2. 9 Implementasi one to one menggunakan object refrences e. Cluster 22 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Teknik clustering dapat sangat berguna untuk agregasi hubungan. Sebuah cluster dibuat dan akan didefinisikan dalam hal semua komponen yang mengambil bagian dalam hubungan agregasi. f. Inheritance Relationships using Under Oracle ™ 9 ke atas memiliki fitur baru yang mengakomodasi implementasi inheritance-relationship. Kita tidak harus menggunakan hubungan primery-foreign-key untuk mensimulasikan hubungan antara superclass dan subclass. Untuk melaksanakan subtipe, kita perlu mendefinisikan objek sebagai "not final" di akhir deklarasi jenisnya. Secara default, tanpa kata kunci, jenis objek akan diperlakukan sebagai final dan tidak ada subtype dapat diturunkan dari tipe. Oracle ™ menyediakan kata kunci under untuk digunakan dengan pernyataan "create type" untuk menciptakan subtype dari supertype Jenis-jenis inheritance (pewarisan): Union Inheritance Menyatakan bahwa kesatuan dari kelompok subclass merupakan seluruh anggota dari superclassnya. Dalam union inheritance, setiap objek dari superclass adalah setidaknya obyek dari satu subclass, dan dapat juga anggota dari suatu subclass adalah anggota dari subclass lain. Dalam union inheritance kita butuh 23 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI membuat satu tabel untuk masing-masing superclass dan subclass. Sebagai contoh seorang person dapat merupakan staff dan juga merupakan mahasiswa. Dengan menggunakan kata kunci “under” biasanya tidak perlu lagi membuat tabel terpisah untuk subclass karena tabel untuk superclass dapat menyimpan data subclass. Tetapi karena dalam union inheritance, perlu untuk memungkinkan orang tertentu adalah mahasiswa dan staff, jika kita memasukkan keduanya ke dalam satu tabel superclass maka akan melanggar aturan primary key yaitu dua data dengan ID yang sama. Oleh karena itu, kita perlu membuat tabel terpisah untuk masing-masing subclass. Gambar 2. 10 Implementasi union inheritance menggunakan "under" Mutual-Exclusion Inheritance Menyatakan bahwa sekelompok subclass dalam hubungan pewarisan adalah berpasangan terputus-putus. Contohnya 24 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI seorang pegawai, tidak ada manager yang juga seorang pekerja. Cara menangani tipe pewarisan ini adalah dengan menambahkan atribut pada tabel superclass yang berisi jenis subclass atau memiliki nilai null, yaitu atribut tipePegawai yang berisi nilai manager atau pekerja atau null. Tidak ada data superclass yang dapat memiliki dua objek subtye disini. Kita hanya perlu membuat satu tabel untuk superclass, kita tidak membutuhkan tabel untuk subclass karena objeknya hanya ada pada satu subclass. Gambar 2. 11 Implementasi mutual-exclusion inheritance menggunakan "under" Patition Inheritance Menyatakan bahwa sekelompok subclass adalah partisi dari superclass. Partition inheritance dapat dikatakan kombinasi dari union dan mutual-exclution inheritance. Contohnya menggunakan karyawan lagi, tetapi ditambah kelas baru casual, diasumsikan bahwa tiap anggota dari kelas karyawan harus 25 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI milik satu dari setiap subclassnya, yaitu sub kelas manager atau pekerja, atau null, dan tidak boleh milik lebih dari satu sub kelas. Gambar 2. 12 Implementasi partition inheritance menggunakan "under" Multiple Inheritance Bentuk dari multiple inheritance adalah sebagai berikut: Gambar 2. 13 Multiple inheritance Sebuah kelas tutor mewarisi dari kelas tumpang tindih karena pada dasarnya tutor bisa seorang mahasiswa dan bisa juga anggota staff. Cara untuk menangani warisan ini adalah dengan 26 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI menggunakan satu tabel untuk setiap superclass dan satu tabel untuk subclass. Pada saat penulisan ini, oracle tidak mendukung multiple inheritance menggunakan kata kunci “Under”. Kata kunci ini hanya berlaku untuk jenis warisan tunggal. Namun konsep multiple inheritance ini sering disimulasikan menggunakan teknik lain yang sudah ada. Sebagai contoh, kita dapat menggunakan “Under” untuk mengimplementasi salah satu orang tua warisan, dan menggunakan jenis asosiasi untuk menghubungkan parent lainnya. Kelemahan dari menggunakan teknik ini adalah bahwa hanya jenis parent yang diimplementasikan menggunakan “under” saja yang dapat diwariskan, oleh karena itu kita harus berhati-hati saat memilih parent mana untuk inheritance dan yang mana untuk asosiasi. g. Encapsulation Sebuah object type terdiri dari dua bagian, yang pertama adalah atribut, dan yang kedua adalah methods. Methods adalah Function atau Procedure yang dideklarasikan di dalam object type untuk mengimplementasikan behavior dari suatu objek. Pada prinsipnya method digunakan untuk mengakses data (instance object) dari objek yang bersangkutan. Method bersifat optional dalam object type, artinya suatu object type boleh tidak memiliki method. 27 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Oracle ™ menyediakan dua jenis enkapsulasi untuk model objek-relasional. Yang pertama adalah melalui Stored Procedure or Function. Yang kedua adalah melalui Member Procedure or Function. 1. Stored Procedure or Function Deklarasi Stored Procedure or Function, dasarnya sangat mirip dengan standar deklarasi prosedur dalam banyak bahasa prosedural. Enkapsulasi disediakan dengan memberikan hibah untuk peran atau pengguna tertentu untuk mengakses Stored Procedure or Function tertentu. Kita perlu menggunakan pernyataan "create procedure". Seperti dalam pernyataan create lainnya, pernyataan "or replace" adalah opsional. Gambar 2. 14 Sintaks umum Stored procedure 28 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Prosedur yang tersimpan dapat memiliki variabel lokal di dalamnya. Ini adalah variabel yang hanya digunakan dalam tubuh prosedur. Dalam tubuh prosedur, kita dapat menggunakan pernyataan SQL seperti pilih, insert, update, dan menghapus. Dengan demikian, metode yang digunakan untuk memanipulasi tabel database dapat dikemas dalam stored procedure. 2. Member Procedure or Function Tidak seperti stored procedure, dengan menggunakan metode member kita dapat mengidentifikasi visibilitas lingkup metode. Ada tiga jenis: public, private, dan protected. Secara default, atribut akan dinyatakan publik. Keuntungan terbesar dari metode over stored routines adalah visibilitas diperoleh dengan menjadi bagian dari kelas. Metode akan memiliki akses ke atribut, prosedur, dan fungsi yang mungkin tidak terlihat pada antarmuka kelas (private atau protected). Di sisi lain, rutinitas yang disimpan tidak memiliki akses ke jenis atribut, prosedur, dan fungsi. Dengan fitur substitusi, sebuah contoh dari subtipe dapat digunakan dalam setiap konteks di mana contoh dari supertype dapat digunakan (Fortier, 1999). Konteksnya meliputi penggunaan dari subtipe yang berbeda sebagai parameter fungsi yang sama. Contoh implementasi member procedure: 29 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 2. 15 Sintaks umum member procedure Gambar 2. 16 Contoh member procedure 2.3.Sistem Informasi 30 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 2.3.1. Konsep Dasar Sistem Sistem adalah suatu jaringan kerja dan prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu sasaran yang tertentu. (FitzGerald dan Stallings, 1981). Sistem adalah sekelompok unsur yang erat hubungannya satu dengan yang lainnya, yang berfungsi bersama-sama untuk mencapai tujuan tertentu. (Erwan Arbie, 2000, 5). Sistem adalah suatu kumpulan dari prosedur-prosedur kerja yang akan mengolah elemen-elemen yang terdapat di dalamnya untuk mencapai tujuan tertentu. (Charter dan Agtrisari, 2003). Sistem memiliki karateristik atau sifat-sifat sebagai berikut (Charter dan Agtrisari, 2003): a. Komponen sistem Komponen-komponen yang dimiliki suatu sistem saling berinteraksi dan bekerjasama untuk membentuk satu kesatuan. Setiap komponen memiliki sifat-sifat dari sistem untuk menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan. Komponen dari sistem ini dapat juga berupa sub sistem atau bagian dari sistem. b. Batasan sistem Di antara suatu sistem dengan sistem yang lain terdapat suatu daerah yang disebut sebagai batasan sistem. Batasan 31 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI sistem ini memungkinkan bagi suatu sistem untuk dipandang sebagai suatu kesatuan. Batasan sistem ini menunjukan ruang lingkup dari sistem tersebut. c. Lingkungan luar sistem Lingkungan luar sistem merupakan segala sesuatu yang berada di luar batasan sistem, yang mempengaruhi operasi sistem. Lingkungan luar ini dapat bersifat menguntungkan sistem, namun juga dapat merugikan. d. Penghubung sistem Penghubung sistem merupakan media penghubung antar subsistem. Media ini memungkinkan sumber-sumber daya mengalir dari suatu subsistem ke subsistem yang lainnya, dan juga untuk mengintegrasikan subsistem-subsistem tersebut sehingga membentuk satu kesatuan. e. Masukkan sistem Masukkan sistem adalah energi yang diberikan ke pada sistem. Masukkan dapat berupa masukkan perawatan dan masukkan sinyal. Masukkan perawatan dimasukkan supaya sistem tersebut dapat beroperasi. Sedangkan masukkan sinyal dimasukkan ke dalam sistem untuk diproses agar dapat diperoleh keluaran. f. Keluaran sistem 32 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Keluaran sistem merupakan hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang beruna. Keluaran ini dapat menjadi masukkan untuk subsistem yang lainnya g. Pengolahan sistem Pengolahan pada suatu sistem menjadi bagian yang akan mengubah masukkan menjadi keluaran h. Sasaran sistem Sasaran sistem merupakan tujuan yang hendak dicapai oleh suatu sistem. Jika suatu sistem tidak memiliki sasaran, maka operasi pada sistem tidak akan ada gunanya. Sasaran ini akan sangat menentukan masukkan yang dibutuhkan sistem dan keluaran yang harus dihasilkan. Suatu sistem dikatakan berhasil jika sasaran atau tujuan telah tercapai. 2.3.2. Konsep Dasar Informasi Informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerimanya (Jogiyanto, 2001). John Burch menggambarkan siklus informasi sebagai berikut (Jogiyanto, 2001): 33 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 2. 17 Siklus informasi Dilihat dari gambar diatas, dapat dijelaskan bahwa data merupakan bentuk yang mentah dan tidak dapat bercerita banyak. Data diolah melalui suatu model untuk menghasilkan informasi, yang kemudian diterima oleh penerima. Informasi tersebut oleh penerima digunakan sebagai masukkan untuk mengambil keputusan dan melakukan tindakan-tindakan yang sesuai dengan keputusan tersebut. Dari tindakan-tindakan ini akan dihasilkan pula data-data yang kemudian ditangkap menjadi masukkan untuk diolah kembali. 2.3.3. Konsep Dasar Sistem Informasi Sistem informasi dapat dipahami sebagai sekumpulan subsistem yang saling berhubungan, berkumpul bersama-sama, dan membentuk satu kesatuan, saling berinteraksi dan bekerja sama antara bagian satu dengan yang lainnya dengan cara-cara tertentu 34 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI untuk melakukan fungsi pengolahan data, menerima masukan (input) berupa data-data, kemudian mengolahnya (processing), dan menghasilkan keluaran (output) berupa informasi sebagai dasar bagi pengambilan keputusan yang berguna dan mempunyai nilai nyata yang dapat dirasakan akibatnya baik pada saat itu juga maupun di masa mendtang, mendukung kegiatan operasional, manajerial, dan strategis organisasi, dengan memanfaatkan berbagai sumber daya yang ada dan tersedia bagi fungsi tersebut guna mencapai tujuan (Sutanta, 2003). Sedangkan Burch dan Grudnistski, menyatakan bahwa sistem informasi terdiri dari komponen-komponen yang disebut sebagai blok bangun. Blok-blok tersebut adalah (Jogiyanto, 2001): 1. Blok masukan (input block) Blok masukkan mewakili data yang masuk ke dalam sistem informasi. Blok ini termasuk di dalamnya metode-metode dan media-media untuk menangkap data yang akan dimasukkan atau diproses didalam sistem informasi. 2. Blok model (model block) Blok ini terdiri atas kombinasi prosedur, logika, dan model matematis, yang akan memanipulasi data masukan data yang tersimpan di basis data dengan cara tertentu, untuk menghasilkan keluaran yang diinginkan 3. Blok keluaran (output block) 35 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Produk dari sistem informasi adalah keluaran yang merupakan informasi yang berkualitas dan dokumentasi yang berguna untuk semua tingkatan manajemen serta semua pemakai sistem. 4. Blok teknologi (technology block) Blok teknologi merupakan kotak alat (tool box) dalam sistem informasi. Teknologi digunakan untuk menerima masukan, menjalankan model, menyimpan dan mengakses data, menghasilkan dan mengirimkan keluaran, dan membantu pengendalian dari sistem secara keseluruhan. Blok ini terdiri atas tiga bagian penting, yaitu teknisi (brainware), perangkat lunak (software), dan perangkat keras (hardware). 5. Blok basis data (database block) Basis data merupakan kumpulan dari data yang saling berhubungan satu sama lain, tersimpan di perangkat keras komputer dan dibutuhkan perangkat lunak untuk memanipulasinya. 6. Blok kendali (control block) Blok kendali dirancang dan diterapkan untuk meyakinkan bahwa hal-hal yang dapat merusak sistem dapat dicegah atau jika terlanjur terjadi, dapat segera diatasi. 36 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI BAB III ANALISIS DAN DESAIN SISTEM 3.1.Fase Definisi Ruang Lingkup (Scope Definition Phase) Garuluku – FORANDAKA adalah suatu wadah bentuk perwujudan dari pemenuhan hak-hak anak yang anggotanya yaitu seluruh anak di desa Kemadang, Gunung Kidul. Seiring dengan bertambahnya waktu dan laju pertumbuhan anak di desa Kemadang yang semakin meningkat menyebabkan data yang ada menjadi lebih banyak sehingga menyulitkan pengurus Garu Luku-FORANDAKA dalam hal pendataan anak, pendataan anggota, pencatatan kegiatan dan pendataan donatur, karena pencatatan masih bersifat manual tanpa adanya pemanfaatan sistem basis data. Pengelolaan data-data masih dicatat menggunakan media buku. Semua buku-buku yang berisi data disimpan di Pondok Sanggar Garuluku – FORANDAKA. Sehingga bisa saja buku-buku tersebut bisa tercecer, rusak, maupun hilang. Dipihak lain, terdapat juga Forum anak dari daerah lainnya, pemerintah, maupun masyarakat luas yang ingin mengetahui tentang informasi berupa data kegiatan, data anak, data donatur, dan informasi lainnya yang ada dalam Garuluku – FORANDAKA ini, sehingga mereka harus datang jauh-jauh langsung ke Pondok Sanggar Anak Garuluku – FORANDAKA yang bertempat di dusun Pucung, desa Kemadang, Gunung Kidul, sehingga bila tersedia sistem informasi 37 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI berbasis web diharapkan pula penyediaan informasi bisa melalui media web. Performace : Pengelolaan data-data menggunakan beberapa buku. Control : Buku yang digunakan untuk mencatat data ada banyak, sehingga kemungkinan untuk kehilangan data sangat besar Eficiency : Dalam hal waktu, sistem yang ada saat ini membutuhkan banyak waktu dan banyak kinerja dalam hal mencatat dan mencari berbagai data yang diperlukan. Service : Mencari data di dalam buku-buku menyebabkan pelayanan yang lebih lama bagi pihak-pihak tertentu yang ingin mengetahui tentang data yang ada. 3.2.Fase Analisis Masalah (Problem Analysis Phase) 3.2.1. Sistem Yang Ada Saat Ini Sistem pencataan yang ada di Garuluku – FORANDAKA ini menggunakan beberapa buku, yang isinya data anak-anak anggota Sanggar Garuluku dan FORANDAKA, data pengurus organisasi dan struktur organisasi. Sehingga dalam penginformasian ke masyarakat luas, pemerintah, dan organisasi anak lainnya masih menggunakan beberapa buku yang berisi datadata tersebut. Berbagai pihak yang membutuhkan informasi tentang Garuluku – FORANDAKA juga harus pergi ke 38 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Sanggarnya langsung agar bisa memperoleh informasi yang mereka butuhkan. 3.2.2. Gambaran Sistem Baru Untuk menangani masalah diatas, maka akan dibuat Sistem Informasi Keanggotaan Garuluku – Forandaka berbasis Web. Sistem ini digunakan untuk mengelola data-data yang banyak dalam sistem basis data yang dapat memberikan efisiensi kerja, kecepatan dan ketelitian waktu serta memberikan informasi yang baik kepada berbagai pihak yang membutuhkan. Sistem ini akan digunakan oleh seorang admin yang mengisi semua informasi dan data-data yang ingin dibagikan kepada masyarakat luas. Untuk masuk ke dalam sistem ini pun, admin harus login terlebih dahulu, kemudian akan diperiksa oleh sistem apakah berhak untuk masuk ke sistem atau tidak. 39 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 3.3.Fase Analisis Kebutuhan (Requirement Analysis Phase) 3.3.1. Diagram Use Case Data Anggota Memasukkan data anggota Browsing Melihat Data Anggota Mendaftar Donatur Mengubah Data Anggota Menghapus Anggota Pengunjung ADMIN Depends on Depends on Login Depends on Depends on Data Kegiatan Menambah Kegiatan Melihat Kegiatan Mengubah Kegiatan Menghapus Kegiatan Data Laporan Keuangan Depends on Memasukkan data Laporan Keuangan Melihat Data Laporan Keuangan Mengubah Data Laporan Keuangan Menghapus Laporan Keuangan Data Donatur Menambah Donatur Melihat Donatur Mengubah Donatur Menghapus Donatur Data Materi Donatur Menambah Materi Melihat Materi Mengubah Materi Menghapus Materi Gambar 3. 1 Diagram Use case 3.3.2. Narasi Use Case 40 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI A. Narasi Use Case Login Author : Ria Riska Date : 26/11/2013 Actor Versi : 1.00 : Admin NAMA USE CASE PRIORITAS SUMBER DESKRIPSI KONDISI AWAL URUTAN AKTIFITAS NORMAL Login Tinggi Template spesifikasi kebutahan perangkat lunak dan project charter. Project Charter tahap I Use-case ini mendeskripsikan tentang Login ke dalam sistem. Jika admin ingin masuk kedalam sistem, maka admin harus melakukan login terlebih dahulu AKSI AKTOR RESPON SISTEM 1. Menampilkan Halaman Login 2. Klik button Login 3. Menampilkan halaman untuk memasukkan username dan password 4. Memasukkan username dan password 5. Memerikasa username dan password 6. Menampilkan halaman yang sesuai dengan haknya AKTIFITAS LAIN Alt-step 2: Aktor klik button Batal, untuk membatalkan login Alt-step 5: Jika aktor salah memasukkan username dan pasword Use case ini terus berjalan sampai aktor melakukan logout KESIMPULAN KONDISI AKHIR Aktor masuk ke dalam sistem 41 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI BATASAN IMPLEMENTASI DAN SPESIFIKASI Aktor hanya bisa masuk ke dalam sistem bila memiliki username dan password B. Narasi Use Memasukkan data anggota Author : Ria Riska Date : 26/11/2013 Actor Versi : 1.00 : Admin NAMA USE CASE PRIORITAS SUMBER DESKRIPSI KONDISI AWAL URUTAN AKTIFITAS NORMAL Memasukkan data anggota Sedang Template spesifikasi kebutahan perangkat lunak dan project charter. Project Charter tahap I Use-case ini mendeskripsikan proses aktor memasukkan data anggota kedalam sistem. Setelah melalui use case Login AKSI AKTOR RESPON SISTEM 1. Menampilkan halaman Profi 2. Memilih menu Anggota 3. Memilih sub menu Tambah Anggota 4. Menampilkan halaman Tambah Anggota 5. Memasukkan data anggota kedalam form yang disediakan 6. Klik button Simpan 7. Sistem akan menyimpan data anggota ke database AKTIFITAS Alt-step 5: 42 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Aktor klik button Batal, untuk membatalkan LAIN Use case ini digunakan untuk memasukkan data anggota KESIMPULAN KONDISI AKHIR Data anggota tersimpan di database BATASAN Sistem hanya menampilkan form masukkan data IMPLEMENTASI anggota ke admin DAN SPESIFIKASI C. Narasi Use Case Melihat data anggota Author : Ria Riska Date : 26/11/2013 Actor Versi : 1.00 : Admin, Pengunjung NAMA USE Melihat data anggota CASE PRIORITAS Sedang SUMBER Template spesifikasi kebutahan perangkat lunak dan project charter. DESKRIPSI Project Charter tahap I Use-case ini mendeskripsikan proses aktor melihat data anggota yang tesimpan di dalam sistem. KONDISI AWAL URUTAN AKTIFITAS NORMAL AKSI AKTOR RESPON SISTEM 1. Menampilkan halaman Profil 2. Memilih menu Anggota 3. Memilih sub menu Lihat Anggota 4. Menampilkan halaman Pencarian 43 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Anggota 5. Memasukkan kriteria pencarian atau kata kunci, atau jika ingin melihat seluruh anggota, tidak usah mengisi field pencarian 6. Klik button Lihat 7. Sistem menampilkan hasil pencarian data anggota AKTIFITAS LAIN KESIMPULAN KONDISI AKHIR BATASAN IMPLEMENTASI DAN SPESIFIKASI Alt-step 5: Aktor klik button Batal, untuk membatalkan Use case ini digunakan untuk mencari data anggota Sistem menghasilkan data yang dicari Sistem hanya menampilkan data anggota D. Narasi Use Case Mengubah data anggota Author : Ria Riska Date : 26/11/2013 Actor Versi : 1.00 : Admin NAMA USE CASE PRIORITAS SUMBER DESKRIPSI KONDISI AWAL URUTAN AKTIFITAS NORMAL Mengubah data anggota Sedang Template spesifikasi kebutahan perangkat lunak dan project charter. Project Charter tahap I Use-case ini mendeskripsikan proses aktor mengubah data anggota Setelah use case lihat data anggota AKSI AKTOR RESPON SISTEM 1. Memilih data anggota yang akan 44 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI diubah datanya 2. Sistem akan menampilkan form ubah data anggota 3. Mengisi data yang ingin diubah 4. Menyimpan perubahan data anggota AKTIFITAS LAIN KESIMPULAN KONDISI AKHIR BATASAN IMPLEMENTASI DAN SPESIFIKASI Alt-step 3: Aktor klik button Batal, untuk membatalkan Use case ini digunakan untuk mengubah data anggota Sistem menyimpan perubahan data anggota Sistem hanya menampilkan form ubah data anggota kepada admin E. Narasi Use Case Menghapus data anggota Author : Ria Riska Date : 26/11/2013 Actor Versi : 1.00 : Admin NAMA USE CASE PRIORITAS SUMBER DESKRIPSI KONDISI AWAL URUTAN AKTIFITAS NORMAL Menghapus data anggota Sedang Template spesifikasi kebutahan perangkat lunak dan project charter. Project Charter tahap I Use-case ini mendeskripsikan proses aktor menghapus data anggota Setelah use case lihat data anggota AKSI AKTOR RESPON SISTEM 1. Memilih data anggota yang akan dihapus datanya 2. Menampilkan anggota yang dipilih aktor 45 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 3. Memilih button Hapus Anggota 4. Menghapus data anggota dari database AKTIFITAS LAIN KESIMPULAN KONDISI AKHIR BATASAN IMPLEMENTASI DAN SPESIFIKASI Alt-step 3: Aktor klik button Batal, untuk membatalkan Use case ini digunakan untuk menghapus data anggota Sistem menghapus data anggota Sistem hanya menampilkan pilihan hapus kepada admin F. Narasi Use Menambah kegiatan Author : Ria Riska Date : 26/11/2013 Actor Versi : 1.00 : Admin NAMA USE CASE PRIORITAS SUMBER DESKRIPSI KONDISI AWAL URUTAN AKTIFITAS NORMAL Menambah kegiatan Sedang Template spesifikasi kebutahan perangkat lunak dan project charter. Project Charter tahap I Use-case ini mendeskripsikan proses aktor menambah data kegiatan kedalam sistem. Setelah use case Login AKSI AKTOR RESPON SISTEM 1. Menampilkan halaman Kegiatan 2. Memilih menu Arsip Kegiatan 3. Memilih sub menu Tambah Kegiatan 4. Menampilkan halaman Tambah Kegiatan 5. Memasukkan data 46 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI kegiatan kedalam form yang disediakan 6. Klik button Simpan 7. Sistem akan menyimpan data kegiatan ke database AKTIFITAS LAIN KESIMPULAN KONDISI AKHIR BATASAN IMPLEMENTASI DAN SPESIFIKASI Alt-step 5: Aktor klik button Batal, untuk membatalkan Use case ini digunakan untuk memasukkan data kegiatan Data kegiatan tersimpan di database Sistem hanya menampilkan form tambah kegiatan ke admin G. Narasi Use Case Mengubah kegiatan Author : Ria Riska Date : 26/11/2013 Actor Versi : 1.00 : Admin NAMA USE CASE PRIORITAS SUMBER DESKRIPSI KONDISI AWAL URUTAN AKTIFITAS NORMAL Mengubah kegiatan Sedang Template spesifikasi kebutahan perangkat lunak dan project charter. Project Charter tahap I Use-case ini mendeskripsikan proses aktor mengubah kegiatan Setelah use case lihat kegiatan AKSI AKTOR RESPON SISTEM 1. Memilih data kegiatan yang akan diubah datanya 2. Sistem akan menampilkan form ubah data kegiatan 3. Mengisi data yang 47 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI ingin diubah 4. Menyimpan perubahan data kegiatan AKTIFITAS LAIN KESIMPULAN KONDISI AKHIR BATASAN IMPLEMENTASI DAN SPESIFIKASI Alt-step 3: Aktor klik button Batal, untuk membatalkan Use case ini digunakan untuk mengubah data kegiatan Sistem menyimpan perubahan data kegiatan Sistem hanya menampilkan form ubah data kegiatan kepada admin H. Narasi Use Case Menghapus kegiatan Author : Ria Riska Date : 26/11/2013 Actor Versi : 1.00 : Admin NAMA USE CASE PRIORITAS SUMBER DESKRIPSI KONDISI AWAL URUTAN AKTIFITAS NORMAL Menghapus kegiatan Sedang Template spesifikasi kebutahan perangkat lunak dan project charter. Project Charter tahap I Use-case ini mendeskripsikan proses aktor menghapus kegiatan Setelah use case lihat kegiatan AKSI AKTOR RESPON SISTEM 1. Memilih kegiatan yang akan dihapus datanya 2. Menampilkan kegiatan yang dipilih aktor 3. Memilih button Hapus Kegiatan 4. Menghapus data kegiatan dari database 48 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI AKTIFITAS LAIN KESIMPULAN KONDISI AKHIR BATASAN IMPLEMENTASI DAN SPESIFIKASI Alt-step 3: Aktor klik button Batal, untuk membatalkan Use case ini digunakan untuk menghapus data kegiatan Sistem menghapus data kegiatan Sistem hanya menampilkan pilihan hapus kepada admin I. Narasi Use Menambah Laporan Keuangan Author : Ria Riska Date : 26/11/2013 Actor Versi : 1.00 : Admin, Donatur NAMA USE CASE PRIORITAS SUMBER DESKRIPSI KONDISI AWAL URUTAN AKTIFITAS NORMAL Menambah Laporan Keuangan Sedang Template spesifikasi kebutahan perangkat lunak dan project charter. Project Charter tahap I Use-case ini mendeskripsikan proses aktor memasukkan data Laporan Keuangan kedalam sistem. AKSI AKTOR RESPON SISTEM 1. Menampilkan halaman Kegiatatan 2. Memilih menu edit halaman 3. Memilih sub menu Tambah Laporan keuangan 4. Menampilkan halaman Tambah Laporan keuangan 5. Memasukkan data Laporan keuangan ke dalam form yang disediakan 49 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 6. Klik button Simpan 7. Sistem akan menyimpan data laporan keuangan ke database AKTIFITAS LAIN KESIMPULAN Alt-step 5: Aktor klik button Batal, untuk membatalkan Use case ini digunakan untuk memasukkan data laporan keuangan KONDISI AKHIR Data laporan keuangan tersimpan di database BATASAN Sistem hanya menampilkan form masukkan data IMPLEMENTASI laporan keuangan ke admin DAN SPESIFIKASI J. Narasi Use Case Melihat Laporan keuangan Author : Ria Riska Actor Date : 26/11/2013 : Admin, Donatur NAMA USE CASE PRIORITAS SUMBER DESKRIPSI KONDISI AWAL URUTAN AKTIFITAS NORMAL Versi : 1.00 Melihat Laporan keuangan Sedang Template spesifikasi kebutahan perangkat lunak dan project charter. Project Charter tahap I Use-case ini mendeskripsikan proses aktor melihat data laporan keuangan yang tesimpan di dalam sistem. AKSI AKTOR RESPON SISTEM 1. Menampilkan halaman Kegiatan 2. Memilih menu arsip kegiatan berdasarkan tanggal kegiatan 3. Memilih sub menu lihat laporan keuangan 50 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 4. Menampilkan halaman laporan keuangan 5. Memasukkan kriteria pencarian atau kata kunci, atau jika ingin melihat seluruh donatur, tidak usah mengisi field pencarian 6. Klik button Lihat 7. Sistem menampilkan hasil pencarian data laporan keuangan AKTIFITAS LAIN KESIMPULAN KONDISI AKHIR BATASAN IMPLEMENTASI DAN SPESIFIKASI Alt-step 5: Aktor klik button Batal, untuk membatalkan Use case ini digunakan untuk mencari data donatur Sistem menghasilkan data yang dicari Sistem hanya menampilkan data donatur K. Narasi Use Case Mengubah Laporan keuangan Author : Ria Riska Date : 26/11/2013 Actor Versi : 1.00 : Admin NAMA USE CASE PRIORITAS SUMBER DESKRIPSI KONDISI AWAL URUTAN Mengubah Laporan keuangan Sedang Template spesifikasi kebutahan perangkat lunak dan project charter. Project Charter tahap I Use-case ini mendeskripsikan proses aktor mengubah data laporan keuangan Setelah use case lihat data laporan keuangan AKSI AKTOR RESPON SISTEM 51 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 1. Memilih data laporan keuangan yang akan diubah datanya AKTIFITAS NORMAL 5. Sistem akan menampilkan form ubah data laporan keuangan 6. Mengisi data yang ingin diubah 7. Menyimpan perubahan data laporan keuangan AKTIFITAS LAIN KESIMPULAN KONDISI AKHIR BATASAN IMPLEMENTASI DAN SPESIFIKASI Alt-step 3: Aktor klik button Batal, untuk membatalkan Use case ini digunakan untuk mengubah data laporan keuangan Sistem menyimpan perubahan data laporan keuangan Sistem hanya menampilkan form ubah data laporan keuangan kepada admin L. Narasi Use Case Menghapus Laporan keuangan Author : Ria Riska Date : 26/11/2013 Actor : Admin NAMA USE CASE PRIORITAS SUMBER DESKRIPSI KONDISI AWAL Versi : 1.00 Menghapus Laporan keuangan Sedang Template spesifikasi kebutahan perangkat lunak dan project charter. Project Charter tahap I Use-case ini mendeskripsikan proses aktor menghapus laporan keuangan Setelah use case lihat data laporan keuangan 52 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI URUTAN AKTIFITAS NORMAL AKSI AKTOR RESPON SISTEM 5. Memilih data laporan keuangan yang akan dihapus datanya 6. Menampilkan laporan keuangan yang dipilih aktor 7. Memilih button Hapus laporan keuangan 8. Menghapus data laporan keuangan dari database AKTIFITAS LAIN KESIMPULAN KONDISI AKHIR BATASAN IMPLEMENTASI DAN SPESIFIKASI Alt-step 3: Aktor klik button Batal, untuk membatalkan Use case ini digunakan untuk menghapus data donatur Sistem menghapus data donatur Sistem hanya menampilkan pilihan hapus kepada admin 3.4.Fase Desain Logikal (Logical Design) 3.4.1. Diagram Aktifitas A. Diagram Aktifitas untuk proses Login 53 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI User System Masuk ke halaman Login Menampilkan halaman Login Memasukkan username dan password Click button LOGIN Mengecek username dan password yang dimasukkan salah benar Menampilkan halaman Home Admin Gambar 3. 2 Diagram aktifitas proses login B. Diagram Aktifitas untuk proses memasukkan data anggota 54 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI User System Menampilkan halaman Home Memilih menu Tambah Anggota Menampilkan form penambahan anggota Memasukkan data-data yang ditambahkan Click button Simpan Melakukan penyimpanan data ke database Gambar 3. 3 Diagram aktifitas tambah anggota C. Diagram Aktifitas untuk proses melihat data anggota User System Menampilkan menu hasil pencarian Memilih menu Lihat Data Anggota Menampilkan halaman Data Anggota Gambar 3. 4 Diagram aktifitas lihat data anggota D. Diagram Aktifitas untuk proses mengubah data anggota 55 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI User System Menampilkan hasil pencarian anggota yang ingin diubah Memilih menu ubah data anggota Menampilkan halaman form ubah data anggota Mengisi data yang ingin diubah Click buton Ubah Anggota Menyimpan perubahan data anggota Gambar 3. 5 Diagram aktifitas ubah data anggota E. Diagram Aktifitas untuk proses menghapus data anggota User System Menampilkan hasil pencarian anggota yang ingin dihapus Memilih button hapus anggota Menghapus data anggota dari database Gambar 3. 6 Diagram aktifitas hapus data anggota 56 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI F. Diagram Aktifitas untuk proses menambah kegiatan User System Menampilkan halaman Kegiatan Memilih menu Tambah Kegiatan Menampilkan form penambahan kegiatan Memasukkan datadata yang ditambahkan Click button Simpan Melakukan penyimpanan data ke database Gambar 3. 7 Diagram aktifitas tambah kegiatan G. Diagram Aktifitas untuk proses melihat kegiatan User System Menampilkan menu hasil pencarian Memilih menu Lihat Kegiatan Menampilkan halaman Data Kegiatan Gambar 3. 8 Diagram aktifitas lihat kegiatan H. Diagram Aktifitas untuk proses mengubah kegiatan 57 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI User System Menampilkan hasil pencarian kegiatan yang ingin diubah Memilih menu ubah data kegiatan Menampilkan halaman form ubah data kegiatan Mengisi data yang ingin diubah Click buton Ubah kegiatan Menyimpan perubahan data kegiatan Gambar 3. 9 Diagram aktifitas ubah kegiatan I. Diagram Aktifitas untuk proses menghapus kegiatan User System Menampilkan hasil pencarian kegiatan yang ingin dihapus Memilih button hapus kegiatan Menghapus data kegiatan dari database Gambar 3. 10 Diagram aktifitas hapus kegiatan J. Diagram Aktifitas untuk proses menambah laporan keuangan 58 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI User System Menampilkan halaman Kegiatan Memilih menu Tambah laporan keuangan Menampilkan form penambahan laporan keuangan Memasukkan data-data yang ditambahkan Click button Simpan Melakukan penyimpanan data ke database Gambar 3. 11 Diagram aktifitas tambah laporan keuangan K. Diagram Aktifitas untuk proses melihat laporan keuangan User System Menampilkan menu hasil pencarian Memilih menu Lihat Laporan keuangan Menampilkan halaman Data laporan keuangan Gambar 3. 12 Diagram aktifitas lihat laporan keuangan L. Diagram Aktifitas untuk proses mengubah laporan keuangan 59 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI User System Menampilkan hasil pencarian lap keuangan yang ingin diubah Memilih menu ubah data laporan keuangan Menampilkan halaman form ubah data lap keuangan Mengisi data yang ingin diubah Click buton Ubah Menyimpan perubahan data laporan keuangan Gambar 3. 13 Diagram aktifitas ubah laporan keuangan M. Diagram Aktifitas untuk proses menghapus laporan keuangan User System Menampilkan hasil pencarian lap keuangan yang ingin dihapus Memilih button hapusr Menghapus data lap keuangan dari database Gambar 3. 14 Diagram hapus laporan keuangan 60 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 3.4.2. Desain Logikal Data 3.4.2.1. Object Relational Diagram 1... People ID Nama TTL Umur Alamat No_Tlp 1 PengajarRelawan Asal_PR Anggota_SA Sekolah Status_keaktifitan ajar 1... Menyelenggarakan AnggotaGaruluku Nama_ortu_ayah Nama_ortu_ibu Pekerjaan_ayah Pekerjaan_ibu Hobi Tahun_bergabung 1... Anggota_FA Sekolah Status_keaktifitan Materi Id_Materi Nama_Materi 1... ajar Kegiatan Id_Kegiatan Nama Kegiatan Tanggal Waktu Tempat Deskripsi 1 punya 1 1 sponsor LapKeuangan Id_Lap TotalPemasukan TotalPengeluaran DetailPengeluaran 1... 1 punya 1... DetailPengeluaran Id_DP Keperluan Volume HargaSatuan HargaTotal Donatur Id_Donatur Nama_Donatur Dari No_tlp Tanggal_beri Jumlah Pengurus Posisi Periode Jenis 1 PengajarTetap HariAjar Gambar 3. 15 Object Relational Diagram 61 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI People dapat dikategorikan ke dalam 2 jenis, yaitu sebagai Pengajar Relawan dan Anggota Garuluku. Tiap anggota dari People harus milik salah satu dari setiap sub kelasnya, yaitu PengajarRelawan atau AnggotaGaruluku, sehingga merupakan partition inheritance. Anggota Garuluku dapat dikategorikan ke dalam 3 jenis anggota, yaitu sebagai : Pengurus, Anggota Sanggar Anak, Anggota Forum Anak. Seorang anggota forum anak bisa juga merupakan seorang pengurus, sehingga merupakan union inheritance. Ada pengurus yang dapat dikategorikan lebih detail sebagai seorang pengajar tetap di Balai Anak Garuluku. Sehingga pengajar tetap merupakan warisan dari Pengurus. Materi diajarkan oleh pengajar tetap dan pengajar relawan. Untuk mengimplementasikan relasi ini, menggunakan fitur oracle REF, untuk melakukan referensi dari satu objek ke objek lainnya. Setiap laporan keuangan memiliki detail pengeluarannya lebih dari satu, setiap kegiatan juga memiliki donatur lebih dari satu, relasi ini akan menggunakan fitur nested table. Setiap kegiatan memiliki hanya satu laporan kegiatan begitupun sebaliknya, untuk mengimplementasikan relasi ini, menggunakan fitur oracle REF. 62 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Relasi antara tabel anggota garuluku dan tabel kegiatan adalah many to many sehingga muncul tabel baru yaitu panitia selenggara yang menyimpan id anggota dan id kegiatan. Design objek di sini hanya terdiri dari atribut saja, dan tidak menggunakan method, karena method bersifat optional dalam tipe objek (lihat halaman 28). 3.5.Fase Analisis Keputusan (Decision Analysis Phase) Dari hasil analisa sistem di atas, keputusan yang diambil adalah membuat sistem baru yang dapat menggantikan sistem yang lama. Sistem yang baru akan dibuat sendiri oleh penulis. Sistem yang baru akan berbasis web. 3.6.Fase Desain Fisikal dan Integrasi (Physical Design and Integration) 3.6.1. Desain User Interface a. User interface form input data anggota sanggar anak garuluku dan data anggota forum anak. 63 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI HEADER ID Anggota : Nama Anggota : TTTL : Umur : Nama ayah : Nama ibu : Pekerjaan ayah : Pekerjaan ibu : Alamat : No Telepon : Hobi : Tahun bergabung: Sekolah : Status Keaktifan: Tambah Gambar 3. 16 User interface tambah data anggota forum anak dan anggota sanggar anak. b. User interface form input data pengurus 64 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI HEADER ID Anggota : Nama Anggota : TTTL : Umur : Nama ayah : Nama ibu : Pekerjaan ayah : Pekerjaan ibu : Alamat : No Telepon : Hobi : Tahun bergabung: Posisi : Periode : Tambah Gambar 3. 17 User interface tambah data pengurus c. User interface form tambah data pengajar tetap HEADER ID Anggota : Hari Ajar : Tambah Gambar 3. 18 User interface tambah data pengajar tetap 65 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI d. User interface form tambah data pengajar relawan HEADER ID pengajar Relawan: Nama : TTL : Umur : Jenis Kelamin : Umur : Alamat : No HP : Asal : Tambah Gambar 3. 19 User interface tambah data pengajar relawan e. User interface form tambah data materi HEADER ID Materi : Nama Materi : ID pengajar Tetap : ID pengajar Relawan: Tambah Gambar 3. 20 User interface form tambah data materi f. User interface form input data kegiatan dan data donatur 66 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI HEADER ID kegiatan : Nama kegiatan : Tanggal : Waktu : Tempat : Id Lap Keuangan : Deskripsi : Data Donatur Id Nama Donatur Donatur Dari No tlp Tanggal beri jumlah Tambah Gambar 3. 21 User interface form tambah data kegiatan g. User interface form input data laporan keuangan HEADER ID Lap Keuangan : Total Pemasukan : Total Pengeluaran : Detail Pengeluaran ID Keperluan Volume Harga satuan Harga total Tambah Gambar 3. 22 User interface form tambah data laporan keuangan 67 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI h. User Interface input data peyelenggara kegiatan HEADER ID Anggota : ID Kegiatan : Tambah Gambar 3. 23 User interface form tambah data penyelenggara kegiatan i. User interface form Login Login Username Password : : Login Gambar 3. 24 User interface form login 68 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI j. User interface menampilkan data anggota forum anak dan sanggar anak Header Nama TTL Jenis Kelamin Umur Nama Ayah Nama Ibu Pekerjaan Ayah Pekerjaan Ibu Alamat : : : : : : : : : No HP Hobi Tahun bergabung Sekolah Status Keaktifan : : : : : Diana Prafitasari Gunung Kidul, 9 april 1997 Perempuan 16 tahun Wasidi Suratmi Petani Petani Dusun Ngasem RT 01 RW 11 Kemadang Tanjungsari Gunung Kidul 081904007301 Menggambar 2010 SMA Kemadang Aktif Gambar 3. 25User interface tampil data anggota sanggar anak dan forum anak 69 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI k. User interface untuk menampilkan data pengurus: Header Nama TTL Jenis Kelamin Umur Nama Ayah Nama Ibu Pekerjaan Ayah Pekerjaan Ibu Alamat : : : : : : : : : No HP Hobi Tahun bergabung Posisi Periode Jenis : : : : : : Diana Prafitasari Gunung Kidul, 9 april 1997 Perempuan 16 tahun Wasidi Suratmi Petani Petani Dusun Ngasem RT 01 RW 11 Kemadang Tanjungsari Gunung Kidul 081904007301 Menggambar 2010 SMA 2014-2016 Forum Anak Gambar 3. 26 User interface tampil data pengurus l. User interface menampilkan data kegiatan 70 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Header Nama Kegiatan : Ulang Tahun Garuluku Tanggal : 10 november 2013 Waktu : 18.00-selesai Tempat : Halaman Pondok Garuluku Penyelenggara : Sanggar Anak dan Forum Anak Id Lap Keuangan: LP01 Deskripsi : Menginjak keberadaannya yang ke 2 tahun, komunitas Garuluku dalam memberi sumbangsih kepada masyarakat desa kemadang melalui berbagai kegiatan pendampingan, oleh karena itu untuk memperingati lahirnya komunitas Garuluku yang jatuh pada bulan oktober, maka menyelenggarakan rangkaian kegiatan hari ulang tahun serta peringatan sumpah pemuda pada tahun 2013 ini, diantaranya pensi, napak tilas program garuluku, pemberian bantuan sembako kepada keluarga kurang mampu, tetrikal sumpah pemuda, dan lomba kreatifitas pemanfaatan sampah antar kampung se desa kemadang. Data Donatur: Id Nama Donatur D01 Murhadi D02 Indah Dari No telepon Yogyakarta 08134567 Dusun Pucung 081234567 Tanggal Beri 1 novemb er 2013 1 novemb er 2013 Jumlah 100000 100000 Gambar 3. 27 User interface tampil data kegiatan 71 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI m. User interface menampilkan data laporan keuangan Header Id laporan Total Pemasukkan Total Pengeluaran : : : LP01 1000000 1000000 Detail Pengeluaran: Id Keperluan Volume Harga Satuan Harga Total 1 Konsumsi 100 10000 1000000 2 Atribut 100 100 100000 Gambar 3. 28 User interface tampil data laporan keuangan n. User interface menampilkan data penyelenggara kegiatan Header ID Anggota Id Kegiatan FA01 Nama Anggota Amri Raez FA01 Amri Raez KG02 KG01 Nama Kegiatan Gelar Budaya Ulang Tahun FORANDAKA 17 Gambar 3. 29 User interface tampil data penyelenggara kegiatan 72 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI BAB IV IMPLEMENTASI SISTEM Implementasi sistem merupakan suatu tahap pengkodean dari hasil tahap perancangan. Pada bab ini dibahas mengenai implementasi dari penerapan Basis Data Relational Objek pada Sistem Informasi LSM Garuluku-FORANDAKA. 4.1. Lingkungan Implementasi Pada tahap implementasi ini didefinisikan lingkungan perangkat yang mendukung dalam proses penerapan konsep Basis Data Relasional Objek dalam Sistem Informasi LSM Garuluku-FORANDAKA. Lingkunganlingkungan perangkat yang mendukung antara lain : lingkungan perangkat lunak dan lingkungan perangkat keras. 4.1.1. Lingkungan perangkat lunak Perangkat lunak yang digunakan dalam penerapan Basis Data Relasional Objek dalam Sistem Informasi LSM Garuluku-FORANDAKA ini adalah sebagai berikut: a. Sistem Operasi : Windows 7 64 bit. b. Pengelolaan basis data : Oracle Database 10g Enterprise Edition Release 10.2.0.3.0. c. Bahasa pemprograman : JSP (Java Servlet Page). 73 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 4.1.2. Lingkungan perangkat keras Perangkat keras yang digunakan dalam penerapan Basis Data Relasional Objek dalam Sistem Informasi LSM Garuluku-FORANDAKA ini adalah sebagai berikut: a. Processor Intel Core i3 b. Memori 2 GB c. Hard disk 500 GB d. Monitor NVIDIA 2 GB e. Alat masukan (input) berupa keyboard dan mouse. f. Alat keluaran berupa monitor. 4.2. Implementasi Basis Data Data Definition Language / DDL Berikut merupakan implementasi basis data dari sebuah penerapan Basis Data Relasional Objek pada Sistem Informasi LSM Garuluku-FORANDAKA. Langkah pertama yang harus dilakukan adalah melakukan koneksi basis data oracle. Pemakai melakukan koneksi ke Oracle melalui SQL-plus atau Oracle SQL Developer. Dalam hal ini penulis melakukan koneksi ke oracle menggunakan Oracle SQL Developer. Pada gambar 4.1 koneksi ke Oracle menggunakan Connection Name : Skripsi, Username : system, password : sys, hostname : localhost, Port : 1521, SID : orcl. Dengan demikian pemakai sudah terkoneksi dengan basis data oracle. 74 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 1 Implementasi koneksi ke basis data oracle 4.2.1. Pendefinisian tipe objek (object type) Dalam membuat tipe objek pada sistem ini, tipe objek hanya terdiri dari atribut saja, dan tidak menggunakan method, karena method bersifat optional dalam tipe objek (lihat halaman 28). Untuk membuat suatu tipe objek, menggunakan pernyataan “CREATE OR REPLACE” TYPE untuk melengkapi tipe objek yang belum lengkap atau untuk menggantinya dengan yang sudah lengkap. Pernyataan “AS OBJECT” digunakan setelah membuat tipe objek. Dalam mendefinisikan suatu tipe objek harus berurutan karena bersifat dependents (saling ketergantungan). Dalam hal ini dapat dilihat pada tipe objek People_T didefinisikan terlebih dahulu, lalu tipe objek PengajarRelawan_T dan tipe objek AnggotaGaruluku_T, lalu dilanjutkan dengan membuat tipe objek PengajarTetap_T. Pada bagian ini menggunakan fitur Relasional Objek yaitu Hubungan Pewarisan Partition 75 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI menggunakan ‘Under’ (Partition Inheritance Relationship Using Under). lalu dilanjutkan dengan mendefinisikan tipe objek Pengurus_T, AnggotaFA_T, AnggotaSA_T, lalu dilanjutkan dengan membuat tipe objek PengajarTetap_T. Pada bagian ini menggunakan fitur Relasional Objek yaitu Hubungan Pewarisan Union menggunakan ‘Under’ (Union Inheritance Relationship Using Under). Dilanjutkan dengan membuat tipe objek tipe objek Materi_T yang adalah relasi asosiasi one to many dengan objek PengajarTetap dan PengajarRelawan, disini menggunakan fitur Relasional Objek yaitu ”REF”. Selain itu juga mendefinisikan tipe objek untuk fitur Relasional Objek yaitu collection type menggunakan nested table, yang mana tipe objek DetailPengeluaran_T harus didefinisikan terlebih dahulu, untuk membuat tabel objek ini, gunakan “create type” diikuti dengan nama dari tabel objek. Objek tabel ini akan digunakan pada satu kolom tabel. Ketika tipe tabel muncul sebagai tipe dari kolom pada tabel, atau sebagai atribut yang didasari oleh tipe objek, Oracle akan menyimpan semua data nested table pada satu tabel, yang berhubungan dengan tipe objek. Setelah itu mendefinisikan tipe objek LapKeuangan_T, yang salah satu atributnya terdapat atribut DetailPengeluaran yang menyimpan data nested table. Lalu setelah itu mendefinisikan tipe objek Donatur_T yang menggunakan fitur Basis Data Relational Objek yaitu collection type menggunakan nested table, dilanjutkan membuat tipe objek Kegiatan_T yang didalamnya terdapat atribut Donatur yang menyimpan data nested table, dan atribut 76 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI punya_LapKeuangan yang mana menggunakan “REF” untuk menghubungkan dengan tipe objek Lap_Keuangan_T. 4.2.1.1 Tipe People CREATE OR REPLACE TYPE People_T AS OBJECT (Id VARCHAR2 (100), Nama VARCHAR2 (200), TTL VARCHAR2 (200), Umur VARCHAR2 (50), Alamat VARCHAR2 (200), NoTlp VARCHAR2 (100), P_Type VARCHAR2 (50), STATIC FUNCTION show_super (people_obj in People_T) RETURN VARCHAR2, MEMBER FUNCTION show RETURN VARCHAR2) NOT FINAL; / --method implementation: CREATE TYPE BODY People_T AS STATIC FUNCTION show_super (people_obj in People_T) RETURN VARCHAR2 IS BEGIN RETURN 'Id: ' || people_obj.Id || ', Nama: ' || people_obj.Nama || ', TTL: ' || people_obj.TTL|| ', Umur: ' || people_obj.Umur || ', Alamat: ' || people_obj.Alamat|| ', NoTlp: ' || people_obj.NoTlp || ', P_Type: ' || people_obj.P_Type; END; MEMBER FUNCTION show RETURN VARCHAR2 IS BEGIN RETURN People_T.show_super ( SELF ); END; END; / Pernyataan di atas mendefinisikan suatu tipe objek bernama People_T untuk merepresentasikan suatu data seseorang. Tipe People_T mempunyai atribut Id, Nama, TTL, Umur, Alamat, NoTlp. Masing-masing atribut bertipe data VARCHAR2. 77 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Untuk mengimplementasikan bahwa sebuah objek mempunyai subtypes, objek harus didefinisikan sebagai “not final” pada akhir deklarasi tipe. Secara default, tanpa keyword “not final”, objek tipe akan diperlakukan sebagai objek final dan tidak ada subtypes yang dapat diperoleh dari tipe tersebut. Implementasi method show digunakan untuk menampilkan data. 4.2.1.2 Tipe PengajarRelawan_T CREATE OR REPLACE TYPE PengajarRelawan_T UNDER People_T (Asal_PR VARCHAR2(200), OVERRIDING MEMBER FUNCTION show RETURN VARCHAR2); / CREATE TYPE BODY PengajarRelawan_T AS OVERRIDING MEMBER FUNCTION show RETURN VARCHAR2 IS BEGIN RETURN People_T.show_super ( SELF ) ||', Asal_PR: ' || Asal_PR; END; END; / Pernyataan di atas mendefinisikan suatu tipe objek bernama PengajarRelawan_T yang merupakan subtype dari People_T, yang di tandai dengan kata kunci “Under”. Tipe PengajarRelawan _T mempunyai atribut Asal_PR, bertipe data VARCHAR2. Terdapat method show untuk menampilkan data Pengajar Relawan. 4.2.1.3 Tipe AnggotaGaruluku_T 78 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI CREATE OR REPLACE TYPE AnggotaGaruluku_T UNDER People_T (NamaAyah VARCHAR2 (200), NamaIbu VARCHAR2 (200), PekerjaanAyah VARCHAR2 (200), PekerjaanIbu VARCHAR2 (200), Hobi VARCHAR2 (200), TahunBergabung VARCHAR2 (20), OVERRIDING MEMBER FUNCTION show RETURN VARCHAR2) NOT FINAL; / CREATE TYPE BODY AnggotaGaruluku_T AS OVERRIDING MEMBER FUNCTION show RETURN VARCHAR2 IS BEGIN RETURN People_T.show_super ( SELF ) || ', NamaAyah: ' || NamaAyah || ', NamaIbu: ' || NamaIbu || ', PekerjaanAyah: ' || PekerjaanAyah || ', PekerjaanIbu: ' || PekerjaanIbu || ', Hobi: ' || Hobi || ', TahunBergabung: ' || TahunBergabung ; END; END; Pernyataan di atas mendefinisikan suatu tipe objek bernama AnggotaGaruluku_T untuk merepresentasikan suatu data seorang Anggota Garuluku. Tipe AnggotaGaruluku_T mempunyai atribut NamaAyah, NamaIbu, PekerjaanAyah. PekerjaanIbu, Hobi, TahunBergabung. Masingmasing atribut bertipe data VARCHAR2. Untuk mengimplementasikan bahwa sebuah objek mempunyai subtypes, objek harus didefinisikan sebagai “not final” pada akhir deklarasi tipe. Secara default, tanpa keyword “not final”, objek tipe akan diperlakukan sebagai objek final dan tidak ada subtypes yang dapat diperoleh dari tipe tersebut. Terdapat method show untuk menampilkan data Anggota Garuluku. 79 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 4.2.1.2. Tipe Pengurus_T Pernyataan di bawah ini mendefinisikan suatu tipe objek bernama Pengurus_T. Tipe data Pengurus_T untuk merepresentasikan suatu data seorang Anggota Garuluku yang merupakan pengurus Sanggar Anak Garuluku atau pengurus Forum Anak Desa Kemadang (FORANDAKA). Tipe objek Pengurus_T merupakan warisan dari AnggotaGaruluku_T, oleh karena itu, menggunakan kata kunci “UNDER” pada pendefinisian tipe objek Pengurus_T. Tipe Objek Pengurus_T mempunyai atribut Posisi, Periode, Jenis. Masing-masing atribut bertipe data VARCHAR2. Tipe objek Pengurus_T mempunyai sub tipe yang bernama PengajarTetap_T, oleh karena itu tipe objek ini harus didefinisikan sebagai “not final” pada akhir deklarasi tipe. Secara default, tanpa keyword “not final”, objek tipe akan diperlakukan sebagai objek final dan tidak ada subtypes yang dapat diperoleh dari tipe tersebut. CREATE OR REPLACE TYPE Pengurus_T UNDER AnggotaGaruluku_T (Posisi VARCHAR2 (200), Periode VARCHAR2 (100), Jenis VARCHAR2 (50)) NOT FINAL / 4.2.1.3. Tipe AnggotaFA_T Pernyataan di bawah ini mendefinisikan suatu tipe objek bernama AnggotaFA_T untuk merepresentasikan suatu data seorang Anggota 80 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Garuluku yang merupakan anggota dari Forum Anak Desa Kemadang (FORANDAKA). Tipe objek AnggotaFA_T merupakan pewarisan dari AnggotaGaruluku_T, sehingga menggunakan kata kunci “UNDER” pada pendefinisian tipe objek AnggotaFA_T. Kata kunci “UNDER” digunakan bersama statement “create type” untuk membuat subtype AnggotaFA_T dari supertype AnggotaGaruluku_T. AnggotaFA_T mempunyai atribut Sekolah, StatusKeaktifan. Masing-masing atribut bertipe data VARCHAR2. CREATE OR REPLACE TYPE AnggotaFA_T UNDER AnggotaGaruluku_T (Sekolah VARCHAR2 (200), StatusKeaktifan VARCHAR2 (100)) / 4.2.1.4. Tipe AnggotaSA_T Pernyataan di bawah ini mendefinisikan suatu tipe objek bernama AnggotaSA_T untuk merepresentasikan suatu data seorang Anggota Garuluku yang merupakan anggota dari Sanggar Anak Garuluku. Tipe objek AnggotaSA_T merupakan pewarisan dari AnggotaGaruluku_T, sehingga menggunakan queri “UNDER” pada pendefinisian tipe objek AnggotaSA_T. Kata kunci “UNDER” digunakan bersama statement “create type” untuk membuat subtype AnggotaSA_T dari supertype AnggotaGaruluku_T. AnggotaSA_T mempunyai atribut 81 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Sekolah, StatusKeaktifan. Masing-masing atribut bertipe data VARCHAR2. CREATE OR REPLACE TYPE AnggotaSA_T UNDER AnggotaGaruluku_T (Sekolah VARCHAR2 (200), StatusKeaktifan VARCHAR2 (100)) / 4.2.1.5. Tipe PengajarTetap_T Pernyataan di bawah ini mendefinisikan suatu tipe objek bernama PengajarTetap_T untuk merepresentasikan suatu data seorang Anggota Garuluku yang merupakan pengurus Sanggar Anak Garuluku atau pengurus Forum Anak Desa Kemadang (FORANDAKA), dan merupakan Pengajar tetap untuk anak-anak di desa Kemadang. Tipe objek PengajarTetap_T adalah pewarisan dari Pengurus_T, sehingga menggunakan queri “UNDER” pada pendefinisian tipe objek PengajarTetap_T. Kata kunci “UNDER” digunakan bersama statement “create type” untuk membuat subtype PengajarTetap_T dari supertype Pengurus_T. Tipe Objek PengajarTetap_T mempunyai atribut HariAjar yang bertipe data VARCHAR2. CREATE OR REPLACE TYPE PengajarTetap_T UNDER Pengurus_T (HariAjar VARCHAR2 (500)) / 4.2.1.6. Tipe Materi_T 82 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pernyataan di bawah ini mendefinisikan suatu tipe objek bernama Materi_T. Tipe objek Materi_T untuk merepresentasikan suatu data materi pelajaran apa saja yang diajarkan kepada anggota Sanggar Anak Garuluku dan anggota Forum Anak Desa Kemadang (FORANDAKA). Tipe objek ini mempunyai hubungan asosiasi One to Many dengan PengajarTetap_T dan mempunyai hubungan asosiasi One to Many dengan PengajarRelawan_T, untuk mengimplementasikan hubungan asosiasi ini menggunakan fitur BDRO: Object References, menggunakan kata kunci “REF”. Tipe Objek PengajarRelawan_T mempunyai atribut Id_Materi, Nama_Materi, yang bertipe data VARCHAR2, dan atribut PengajarT yang ditulis dengan diikuti kata “REF PengajarTetap_T” untuk menghubungkan dengan objek PengajarTetap_T, dan atribut PengajarR yang ditulis dengan diikuti kata “REF PengajarRelawan_T” untuk menghubungkan dengan objek PengajarRelawan_T CREATE OR REPLACE TYPE Materi_T AS OBJECT (Id_Materi VARCHAR2(20), Nama_Materi VARCHAR2(200), PengajarT REF PengajarTetap_T, PengajarR REF PengajarRelawan_R) / 4.2.1.7. Tipe DetailPengeluaran_T dan Tipe DetailPengeluaran_Table_T Pernyataan di bawah ini terlebih dahulu mendefinisikan suatu tipe objek bernama DetailPengeluaran_T. Tipe objek DetailPengeluaran_T untuk 83 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI merepresentasikan data detail pengeluaran apa saja yang ada dalam laporan keuangan. Lalu diikuti dengan mendefinisikan DetailPengeluaran_Table_T sebagai tabel tabel objek tipe objek untuk DetailPengeluaran_T. Tipe Objek DetailPengeluaran_T mempunyai atribut Id_DP, Keperluan, Volume, yang bertipe data VARCHAR2, dan atribut HargaSatuan dan HargaTotal, yang bertipe data NUMBER. CREATE OR REPLACE TYPE DetailPengeluaran_T AS OBJECT (Id_DP VARCHAR2 (10), Keperluan VARCHAR2(100), Volume VARCHAR2(50), HargaSatuan NUMBER, HargaTotal NUMBER); CREATE OR REPLACE TYPE DetailPengeluaran_Table_T AS TABLE OF DetailPengeluaran_T; / 4.2.1.8. Tipe LapKeuangan_T Pernyataan di bawah ini mendefinisikan suatu tipe objek bernama LapKeuangan_T. Tipe objek LapKeuangan_T untuk merepresentasikan suatu data laporan keuangan dari suatu kegiatan. Di dalam tipe objek LapKeuangan_T terdapat atribut objek DetailPengeluaran yang berisi data nested table bertipe DetailPengeluaran_Table_T. Tipe Objek LapKeuangan_T mempunyai atribut Id_Lap yang bertipe data VARCHAR2, TotalPemasukan dan TotalPengeluaran yang bertipe NUMBER. 84 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI CREATE OR REPLACE TYPE LapKeuangan_T AS OBJECT (Id_Lap VARCHAR2 (10), TotalPemasukan NUMBER, TotalPengeluaran NUMBER, DetailPengeluaran DetailPengeluaran_Table_T); 4.2.1.9. Tipe Donatur_T Pernyataan di bawah ini terlebih dahulu mendefinisikan suatu tipe objek bernama Donatur_T. Tipe data Donatur_T untuk merepresentasikan data donatur yang ikut berpartisipasi dalam suatu kegiatan. Lalu diikuti dengan mendefinisikan tabel objek Donatur_Table_T sebagai tabel untuk tipe objek Donatur_T. Tipe Objek Donatur_T mempunyai atribut Id_Donatur, Nama_Donatur, Dari, Alamat_d, No_tlp, yang masing-masing bertipe data VARCHAR2, lalu atribut Tanggal_beri yang bertipe data DATE, dan atribut Jumlah yang bertipe data NUMBER. CREATE OR REPLACE TYPE DONATUR_T AS OBJECT (Id_Donatur VARCHAR2 (10), Nama_Donatur VARCHAR2 (100), Dari VARCHAR2 (100), Alamat_d VARCHAR2 (100), No_tlp VARCHAR2 (20), Tanggal_beri DATE, Jumlah NUMBER); / CREATE OR REPLACE TYPE Donatur_Table_T AS TABLE OF Donatur_T; / 4.2.1.10. Tipe Kegiatan_T 85 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pernyataan di bawah ini mendefinisikan suatu tipe objek bernama Kegiatan_T. Tipe objek Kegiatan_T untuk merepresentasikan data suatu kegiatan. Didalam tipe objek Kegiatan_T terdapat atribut objek Donatur yang berisi data nested table yang bertipe Donatur_Table_T. Tipe Objek LapKeuangan_T juga mempunyai atribut Id_Kegiatan, Nama_Kegiatan, Waktu, Tempat, Deskripsi yang bertipe data VARCHAR2, lalu atribut Tanggal yang bertipe DATE. Lalu terdapat atribut punya_LapKeuangan yang merupakan hubungan asosiasi one to one, sehingga menggunakan kata kunci REF LapKeuangan_T. CREATE OR REPLACE TYPE Kegiatan_T AS OBJECT (Id_Kegiatan VARCHAR2 (10), Nama_Kegiatan VARCHAR2 (100), Tanggal DATE, Waktu VARCHAR2 (50), Tempat VARCHAR2 (100), Deskripsi VARCHAR2 (4000), Donatur Donatur_Table_T, punya_LapKeuangan REF LapKeuangan_T) / 4.2.2. Pembuatan tabel objek (object table) Sebuah tabel objek adalah tabel database yang dibuat berdasarkan tipe objek. Masing-masing baris dalam tabel merepresentasikan nilai dari objeknya. Membuat suatu objek tidak sama dengan membuat suatu tabel objek. Membuat tipe objek hanya mendefinisikan suatu struktur logical, tidak membuat suatu tempat penyimpanan. Data-data yang ada disimpan dalam suatu tabel objek (object table). Tabel objek menyimpan baris-baris dari satu jenis instance objek (object instance) dari tipe yang sama yang 86 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI dideklarasikan sebagai sebuah tabel. Di dalam tabel objek data disimpan dan dapat diambil kembali di dalam struktur yang didefinisikan oleh tipe tabel. 4.2.2.1. Tabel People Pernyataan di bawah ini mendefinisikan suatu tabel objek bernama People untuk menyimpan objek dari tipe People_T, AnggotaGaruluku_T, dan PengajarRelawan_T. Tabel People membuat sebuah kolom untuk setiap atribut dari tipe People_T. Atribut Id sebagai primary key dan tidak boleh null. CREATE TABLE People OF People_T ( id NOT NULL, P_Type NOT NULL CHECK (P_Type in ('AnggotaGaruluku','PengajarRelawan')), PRIMARY KEY (id)); 4.2.2.2. Tabel Pengurus Pernyataan di bawah ini mendefinisikan suatu tabel objek bernama Pengurus untuk menyimpan objek dari tipe Pengurus_T. CREATE TABLE Pengurus OF Pengurus_T (Id_AG NOT NULL, PRIMARY KEY (Id_AG)); Tabel Pengurus membuat sebuah kolom untuk setiap atribut dari tipe Pengurus_T. Atribut Id_AG sebagai primary key dan tidak boleh null. 87 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 4.2.2.3. Tabel AnggotaFA Pernyataan di bawah ini mendefinisikan suatu tabel objek bernama AnggotaFA untuk menyimpan objek dari tipe AnggotaFA_T. CREATE TABLE AnggotaFA OF AnggotaFA_T (Id_AG NOT NULL, PRIMARY KEY (Id_AG)); Tabel AnggotaFA membuat sebuah kolom untuk setiap atribut dari tipe AnggotaFA_T. Atribut Id_AG sebagai primary key dan tidak boleh null. 4.2.2.4. Tabel AnggotaSA Pernyataan di bawah ini mendefinisikan suatu tabel objek bernama AnggotaSA untuk menyimpan objek dari tipe AnggotaSA_T. CREATE TABLE AnggotaSA OF AnggotaSA_T (Id_AG NOT NULL, PRIMARY KEY (Id_AG)); Tabel AnggotaSA membuat sebuah kolom untuk setiap atribut dari tipe AnggotaSA_T. Atribut Id_AG sebagai primary key dan tidak boleh null. 4.2.2.5. Tabel PengajarTetap 88 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pernyataan di bawah ini mendefinisikan suatu tabel objek bernama PengajarTetap untuk menyimpan objek dari tipe PengajarTetap_T. Tabel PengajarTetap membuat sebuah kolom untuk setiap atribut dari tipe PengajarTetap_T. Atribut Id_AG sebagai primary key dan tidak boleh null. CREATE TABLE PengajarTetap OF PengajarTetap_T (Id_AG NOT NULL, PRIMARY KEY (Id_AG)); 4.2.2.6. Tabel Materi Pernyataan di bawah ini mendefinisikan suatu tabel objek bernama Materi untuk menyimpan objek dari tipe Materi_T. Tabel Materi membuat sebuah kolom untuk setiap atribut dari tipe Materi_T. Atribut Id_Materi sebagai primary key dan tidak boleh null. CREATE TABLE Materi OF Materi_T (Id_Materi NOT NULL, PRIMARY KEY (Id_Materi)); 4.2.2.7. Tabel LapKeuangan Pernyataan di bawah ini mendefinisikan suatu tabel objek bernama LapKeuangan untuk menyimpan objek dari tipe LapKeuangan_T. 89 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI CREATE TABLE LapKeuangan OF LapKeuangan_T (Id_Lap NOT NULL, PRIMARY KEY (Id_Lap)) NESTED TABLE DetailPengeluaran STORE AS DetailPengeluaran_Tab; Tabel LapKeuangan membuat sebuah kolom untuk setiap atribut dari tipe LapKeuangan_T. Baris pertama mengindikasikan setiap baris dari tabel adalah suatu objek LapKeungan_T. Atribut Id_Lap sebagai primary key dan tidak boleh null. Setiap kali membuat tabel dengan atribut kolom yang tipenya adalah nested table, maka harus memasukkan klausa penyimpanan nested table, “NESTED TABLE (skema kolom tabel objek, bernama DetailPengeluaran) STORE AS” (diikuti oleh nama tabel penyimpanan yang terpisah, bernama DetailPengeluaran_Tab). Pernyataan STORE AS juga mengijinkan untuk mengalokasikan ruang penyimpanan untuk tabel penyimpanan. 4.2.2.8. Tabel Kegiatan Pernyataan di bawah ini mendefinisikan suatu tabel objek bernama Kegiatan untuk menyimpan objek dari tipe Kegiatan_T. Baris pertama mengindikasikan setiap baris dari tabel adalah suatu objek Kegiatan_T CREATE TABLE Kegiatan OF Kegiatan_T (Id_Kegiatan NOT NULL, PRIMARY KEY (Id_Kegiatan)) NESTED TABLE Donatur STORE AS Donatur_Tab; 90 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Tabel Kegiatan membuat sebuah kolom untuk setiap atribut dari tipe Kegiatan_T. Baris pertama mengindikasikan setiap baris dari tabel adalah suatu objek Kegiatan_T. Atribut Id_Kegiatan sebagai primary key dan tidak boleh null. Setiap kali membuat tabel dengan atribut kolom yang tipenya adalah nested table, maka harus memasukkan klausa penyimpanan nested table, “NESTED TABLE (skema kolom tabel objek, bernama : Donatur) STORE AS” (diikuti oleh nama tabel penyimpanan tersendiri, bernama : Donatur_Tab). Pernyataan STORE AS juga mengijinkan untuk mengalokasikan ruang penyimpanan untuk tabel penyimpanan 4.2.2.9. Tabel PanitiaSelenggara Pernyataan di bawah ini mendefinisikan suatu tabel objek bernama PanitiaSelenggara, yang muncul karena adanya hubungan asosiasi relasi many to many antara AnggotaGaruluku dan Kegiatan. CREATE TABLE PanitiaSelenggara (Id VARCHAR2 (20) NOT NULL, Id_Kegiatan VARCHAR2 (20) NOT NULL, PRIMARY KEY (Id, Id_Kegiatan), FOREIGN KEY (Id) REFERENCES People (Id) ON DELETE CASCADE, FOREIGN KEY (Id_Kegiatan) REFERENCES Kegiatan (Id_Kegiatan) ON DELETE CASCADE ); Terdapat dua atribut yaitu Id dan Id_Kegiatan yang keduanya sebagai primary key untuk tabel, juga merupakan foreign key. “FOREIGN KEY (Id) REFERENCES People (Id) ON DELETE CASCADE”, menspesifikasikan 91 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI sebuah referential contraint pada kolom Id, yang mengijinkan untuk referensi yang menunjuk hanya ke objek baris dalam tabel objek AnggotaGaruluku. Kegiatan “FOREIGN KEY (Id_Kegiatan) REFERENCES (Id_Kegiatan) ON DELETE CASCADE”, menspesifikasikan sebuah referential contraint pada kolom Id_Kegiatan, yang mengijinkan untuk referensi yang menunjuk hanya ke objek baris dalam tabel objek Kegiatan. 4.3. Implementasi penerapan Basis Data Relational Objek ke dalam Sistem Informasi LSM Garuluku-FORANDAKA 17 Pada implementasi penerapan Basis Data Relational Objek ke dalam Sistem Informasi LSM Garuluku-FORANDAKA 17 ini, pengguna dapat mengakses sistem informasi melalui web browser. Home merupakan halaman pertama kali pengguna mengakses sistem ini. Pada halaman ini terdapat beberapa content yang dapat digunakan untuk melihat informasi yang ada. Content yang ada yaitu Home, Profil, Services, Kegiatan, Hubungi Kami, dan Login. Berikut tampilan halaman utama Home: 92 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI ‘ Gambar 4. 2 Tampilan halaman utama 4.3.1. Implementasi Fitur Inheritance Relationships: Union Inheritance dan Partition Inheritance 4.3.1.1. Halaman Profil admin. 4.3.1.1.1. Tab Menu Pengurus Forum Anak Menu ini berada di sebelah kiri halaman, isi dari tab menu ini adalah fitur-fitur untuk admin dapat melakukan penggantian gambar struktur organisasi, mencari dan menampilkan data pengurus FORANDAKA, 93 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI menambah data, mengubah data, dan menghapus data. Berikut ini adalah tampilan menu pilihan untuk fitur-fitur tersebut: Gambar 4. 3 Halaman admin untuk pengurus FORANDAKA Implementasi dari fitur union inheritance ada pada menu Tambah Data, Ubah Data, dan Hapus Data. a. Menu Tambah Data Pada menu ini, admin melakukan penambahan data pengurus FORANDAKA. Berikut adalah tampilan admin dalam memasukkan data: 94 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 4 Form tambah data pengurus forum anak Karena pengurus ini adalah merupakan union inheritance dari Anggota Garuluku. Anggota Garuluku adalah partition inheritance dari People, sehingga memasukkan data ke tabel People dengan subtype AnggotaGaruluku_T, sehingga kueri yang digunakan untuk menambahkan data ke tabel superclass People yang subtypenya AnggotaGaruluku_T adalah: String query = "INSERT INTO People values(anggotaGaruluku_T('" + prosesbean.getId_AG() + "' , '" + prosesbean.getNama_AG() + "' , '" + prosesbean.getTtl() + "' , '" + prosesbean.getUmur() + "', '" + prosesbean.getAlamat() + "' , '" + prosesbean.getNoTlp() + "', 'AnggotaGaruluku','" + prosesbean.getNamaAyah() + "' , '" + prosesbean.getNamaIbu() + "' , '" + prosesbean.getPekerjaanAyah() + "', '" + prosesbean.getPekerjaanIbu() + "' , '" + prosesbean.getHobi() + "' , '" + prosesbean.getTahunBergabung() + "'))"; Lalu menambahkan data ke tabel subclass Pengurus. Tabel objek Pengurus berdasarkan tipe objek Pengurus_T sehingga kueri yang digunakan untuk menambahkan data ke tabel subclass Pengurus adalah : 95 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI String query1 = "INSERT INTO pengurus values(pengurus_T( '" + prosesbean.getId_AG() + "' , '" + prosesbean.getNama_AG() + "' , '" + prosesbean.getTtl() + "' , '" + prosesbean.getUmur() + "', '" + prosesbean.getNamaAyah() + "' , '" + prosesbean.getNamaIbu() + "' , '" + prosesbean.getPekerjaanAyah() + "', '" + prosesbean.getPekerjaanIbu() + "' , '" + prosesbean.getAlamat() + "' , '" + prosesbean.getNoTlp() + "', '" + prosesbean.getHobi() + "' , '" + prosesbean.getTahunBergabung() + "' , '" + prosesbean.getPosisi() + "' , '" + prosesbean.getPeriode() + "', '" + prosesbean.getJenis() + "'))"; Kedua query tersebut dijalankan langsung pada satu method yaitu method InsertPengurus yang terdapat dalam javabean, dan di panggil oleh kelas servlet controller. Tetapi karena ini adalah union inheritance, maka akan ada kemungkinan bahwa seorang anggota garuluku adalah merupakan pengurus dan juga merupakan seorang anggotaFA atau anggotaSA, sehingga ketika ingin memasukkan data dengan ID anggota yang sama ke dalam subclasses lainnya akan terjadi gagal dalam menjalankan method insert pada bagian execute query insert into people, karena terdapat ID_AG (sebagai Primary Key) yang sama, oleh karena itu sebelum menambahkan data, perlu menghapus terlebih dahulu data dengan ID yang sama pada tabel superclass. Queri untuk menghapus data di tabel superclass adalah: 96 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI String query1 = "DELETE From People where id = '" + prosesbean.getId_AG() + "' or nama = '" + prosesbean.getNama_AG() + "' "; Queri tersebut terdapat pada method DeleteAG yang ada di javabean. Berikut adalah bagian dari listing program pada kelas servlet controller: Gambar 4. 5 Servlet controller insert pengurus forum anak Jika data berhasil dimasukkan, akan masuk ke halaman yang menampilkan seluruh data pengurus forum anak yang sudah dimasukkan: Gambar 4. 6 Hasil tambah data pengurus Forum Anak b. Menu Ubah Data 97 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pada menu ini, admin dapat mengubah data seorang pengurus FORANDAKA. Berikut adalah tampilan admin dalam mengubah data, pertama memilih dahulu berdasarkan ID atau Nama yang mau diubah datanya: Gambar 4. 7 Ubah data pengurus Lalu akan masuk ke halaman yang berisi form yang berisi data seorang pengurus yang dipilih tadi, admin dapat langsung merubah data pada text box yang disediakan: Gambar 4. 8 form ubah data 98 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Untuk union inheritance, jika data subclass diubah, data superclass tidak akan ikut berubah secara otomatis, maka untuk menanganinya proses mengubah data harus dilakukan juga pada data di superclass agar tidak terjadi perbedaan data anggota. Jadi kueri pertama untuk mengupdate data di di subclass Pengurus, lalu mengupdate data di superclass AnggotaGaruluku. Berikut ini adalah queri untuk mengubah data: String query = "UPDATE pengurus SET Nama='" + prosesbean.getNama_AG_after() + "' , TTL='" + prosesbean.getTtl() + "' , UMUR='" + prosesbean.getUmur() + "', NamaAyah='" + prosesbean.getNamaAyah() + "' , NamaIbu='" + prosesbean.getNamaIbu() + "' , PekerjaanAyah='" + prosesbean.getPekerjaanAyah() + "', PekerjaanIbu='" + prosesbean.getPekerjaanIbu() + "' , Alamat='" + prosesbean.getAlamat() + "' , NoTlp='" + prosesbean.getNoTlp() + "', Hobi='" + prosesbean.getHobi() + "' , TahunBergabung= '" + prosesbean.getTahunBergabung() + "' , Posisi='" + prosesbean.getPosisi() + "' , Periode='" + prosesbean.getPeriode() + "' , Jenis='" + prosesbean.getJenis() + "' WHERE Id='" + prosesbean.getId_AG() + "' or Nama='" + prosesbean.getNama_AG() + "'"; String query1 = "DELETE FROM People WHERE Id='" + prosesbean.getId_AG() + "'" String query2 = "INSERT INTO People values(anggotaGaruluku_T('" + prosesbean.getId_AG() + "' , '" + prosesbean.getNama_AG_after() + "' , '" + prosesbean.getTtl() + "' , '" + prosesbean.getUmur() + "', '" + prosesbean.getAlamat() + "' , '" + prosesbean.getNoTlp() + "', 'AnggotaGaruluku','" + prosesbean.getNamaAyah() + "' , '" + prosesbean.getNamaIbu() + "' , '" + prosesbean.getPekerjaanAyah() + "', '" + prosesbean.getPekerjaanIbu() + "' , '" + prosesbean.getHobi() + "' , '" + prosesbean.getTahunBergabung() + "'))"; 99 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Ketiga queri ini dijalankan langsung pada satu method yaitu method UpdatePengurus yang terdapat dalam javabean, dan di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: Gambar 4. 9 Servlet controller ubah pengurus forum anak Jika data berhasil diupdate, akan masuk ke halaman yang menampilkan seluruh data pengurus, sebagai berikut: Gambar 4. 10 Hasil ubah data pengurus c. Menu Hapus Data Pada menu ini, admin dapat menghapus data seorang pengurus FORANDAKA. Berikut adalah tampilan admin dalam 100 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI menghapus data, pertama memilih dahulu ID atau Nama yang mau dihapus datanya: Gambar 4. 11 Hapus data pengurus forum anak Untuk menghapus data, hanya menghapus data pada subclass yaitu tabel pengurus saja. Jadi datanya di superclass AnggotaGaruluku masih tetap ada. Berikut ini adalah kueri untuk menghapus data pengurus: String query = "DELETE From pengurus where ID = '" + prosesbean.getId_AG() + "' or nama = '" + prosesbean.getNama_AG() + "' "; Queri ini dijalankan langsung pada satu method yaitu method DeletePengurus yang terdapat dalam javabean, dan di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: 101 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 12 Servlet controller hapus pengurus forum anak Jika data berhasil dihapus, akan masuk ke halaman yang menampilkan seluruh data pengurus, sebagai berikut: Gambar 4. 13 Hasil hapus data pengurus forum anak 4.3.1.1.2. Tab menu Pengurus Sanggar Anak Menu ini berada di sebelah kiri halaman, isi dari tab menu ini adalah untuk mengubah gambar struktur organisasi Sanggar Anak Garuluku, menambah data pengurus, mengubah data pengurus, dan menghapus data pengurus. Yang tampilannya adalah sebagai berikut: 102 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 14 Tampilan menu pengurus sanggar anak Implementasi dari fitur union inheritance ada pada menu Tambah Data, Ubah Data, dan Hapus Data. e. Menu Tambah Data Pada menu ini, admin melakukan penambahan data pengurus Sanggar Anak Garuluku. Berikut adalah tampilan admin dalam memasukkan data: Gambar 4. 15 Form tambah data pengurus sanggar anak 103 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Karena pengurus adalah merupakan union inheritance dari Anggota Garuluku. Anggota Garuluku adalah partition inheritance dari People, sehingga memasukkan data ke tabel People dengan subtype AnggotaGaruluku_T, seperti berikut: String query = "INSERT INTO People values(anggotaGaruluku_T('" + prosesbean.getId_AG() + "' , '" + prosesbean.getNama_AG() + "' , '" + prosesbean.getTtl() + "' , '" + prosesbean.getUmur() + "', '" + prosesbean.getAlamat() + "' , '" + prosesbean.getNoTlp() + "', 'AnggotaGaruluku','" + prosesbean.getNamaAyah() + "' , '" + prosesbean.getNamaIbu() + "' , '" + prosesbean.getPekerjaanAyah() + "', '" + prosesbean.getPekerjaanIbu() + "' , '" + prosesbean.getHobi() + "' , '" + prosesbean.getTahunBergabung() + "'))"; Lalu menambahkan data ke tabel subclass Pengurus. Tabel objek Pengurus berdasarkan tipe objek Pengurus_T sehingga kueri yang digunakan untuk menambahkan data ke tabel subclass Pengurus adalah : String query1 = "INSERT INTO pengurus values(pengurus_T('" + prosesbean.getId_AG() + "' , '" + prosesbean.getNama_AG() + "' , '" + prosesbean.getTtl() + "' , '" + prosesbean.getUmur() + "', '" + prosesbean.getAlamat() + "' , '" + prosesbean.getNoTlp() + "', 'AnggotaGaruluku', '" + prosesbean.getNamaAyah() + "' , '" + prosesbean.getNamaIbu() + "' , '" + prosesbean.getPekerjaanAyah() + "', '" + prosesbean.getPekerjaanIbu() + "' , '" + prosesbean.getHobi() + "' , '" + prosesbean.getTahunBergabung() + "' , '" + prosesbean.getPosisi() + "' , '" + prosesbean.getPeriode() + "', '" + prosesbean.getJenis() + "'))"; Kedua query tersebut dijalankan langsung pada satu method yaitu method InsertPengurus yang terdapat dalam javabean, dan di panggil oleh kelas servlet controller. 104 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Tetapi karena ini adalah union inheritance, maka akan ada kemungkinan bahwa seorang anggota garuluku adalah merupakan pengurus dan juga merupakan seorang anggotaFA atau anggotaSA, sehingga ketika ingin memasukkan data dengan ID anggota yang sama ke dalam subclasses lainnya akan terjadi gagal dalam menjalankan method insert pada bagian execute query insert into people, karena terdapat ID (sebagai Primary Key) yang sama, oleh karena itu sebelum menambahkan data, perlu menghapus terlebih dahulu data dengan ID yang sama pada tabel superclass. Queri untuk menghapus data di tabel superclass adalah: String query1 = "DELETE From People where id = '" + prosesbean.getId_AG() + "' or nama = '" + prosesbean.getNama_AG() + "' "; Queri tersebut terdapat pada method DeleteAG yang ada di javabean. Berikut adalah bagian dari listing program pada kelas servlet controller: Gambar 4. 16 Servlets controller insert data pengurus sanggar anak Jika data berhasil dimasukkan, akan masuk ke halaman yang menampilkan seluruh data pengurus yang sudah dimasukkan: 105 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 17 Hasil tambah data pengurus sanggar anak f. Menu Ubah Data Pada menu ini, admin dapat mengubah data seorang pengurus Sanggar Anak Garuluku. Berikut adalah tampilan admin dalam mengubah data, pertama memilih dahulu ID atau Nama yang mau diubah datanya: Gambar 4. 18 Ubah data pengurus sanggar anak Lalu akan masuk ke halaman yang berisi form yang berisi data seorang pengurus yang dipilih tadi, admin dapat langsung merubah data pada text box yang disediakan: 106 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 19 Form ubah data pengurus sanggar anak Untuk union inheritance, jika data subclass diubah, data superclass tidak akan ikut berubah secara otomatis, maka untuk menanganinya proses mengubah data harus dilakukan juga pada data di superclass agar tidak terjadi perbedaan data anggota. Jadi kueri pertama untuk mengupdate data di subclass Pengurus, lalu mengupdate data di superclass AnggotaGaruluku Berikut ini adalah queri untuk mengubah data: 107 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI String query = "UPDATE pengurus SET Nama='" + prosesbean.getNama_AG_after() + "' , TTL='" + prosesbean.getTtl() + "' , UMUR='" + prosesbean.getUmur() + "', NamaAyah='" + prosesbean.getNamaAyah() + "' , NamaIbu='" + prosesbean.getNamaIbu() + "' , PekerjaanAyah='" + prosesbean.getPekerjaanAyah() + "', PekerjaanIbu='" + prosesbean.getPekerjaanIbu() + "' , Alamat='" + prosesbean.getAlamat() + "' , NoTlp='" + prosesbean.getNoTlp() + "', Hobi='" + prosesbean.getHobi() + "' , TahunBergabung= '" + prosesbean.getTahunBergabung() + "' , Posisi='" + prosesbean.getPosisi() + "' , Periode='" + prosesbean.getPeriode() + "' , Jenis='" + prosesbean.getJenis() + "' WHERE Id='" + prosesbean.getId_AG() + "' or Nama='" + prosesbean.getNama_AG() + "'"; String query1 = "DELETE FROM People WHERE Id='" + prosesbean.getId_AG() + "'"; String query2 = "INSERT INTO People values(anggotaGaruluku_T('" + prosesbean.getId_AG() + "' , '" + prosesbean.getNama_AG_after() + "' , '" + prosesbean.getTtl() + "' , '" + prosesbean.getUmur() + "', '" + prosesbean.getAlamat() + "' , '" + prosesbean.getNoTlp() + "', 'AnggotaGaruluku','" + prosesbean.getNamaAyah() + "' , '" + prosesbean.getNamaIbu() + "' , '" + prosesbean.getPekerjaanAyah() + "', '" + prosesbean.getPekerjaanIbu() + "' , '" + prosesbean.getHobi() + "' , '" + prosesbean.getTahunBergabung() + "'))"; Ketiga queri ini dijalankan langsung pada satu method yaitu method UpdatePengurus yang terdapat dalam javabean, dan di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: 108 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 20 Servlet controller ubah data pengurus sanggar anak Jika data berhasil diupdate, akan masuk ke halaman yang menampilkan seluruh data pengurus, sebagai berikut: Gambar 4. 21 Hasil ubah data pengurus sanggar anak g. Menu Hapus Data Pada menu ini, admin dapat menghapus data seorang pengurus FORANDAKA. Berikut adalah tampilan admin dalam menghapus data, pertama memilih dahulu ID atau Nama yang mau dihapus datanya: 109 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 22 Hapus data pengurus sanggar anak Untuk menghapus data, hanya menghapus data pada subclass yaitu tabel pengurus saja. Jadi datanya di tabel superclass AnggotaGaruluku masih tetap ada. Berikut ini adalah kueri untuk menghapus data pengurus: String query = "DELETE From pengurus where ID = '" + prosesbean.getId_AG() + "' or nama = '" + prosesbean.getNama_AG() + "' "; Queri ini dijalankan langsung pada satu method yaitu method DeletePengurus yang terdapat dalam javabean, dan di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: Gambar 4. 23 Servlet controller insert data pengurus sanggar anak 110 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Jika data berhasil dihapus, akan masuk ke halaman yang menampilkan seluruh data pengurus, sebagai berikut: Gambar 4. 24 Hasil hapus data pengurus sanggar anak 4.3.1.1.3. Tab menu Data Anggota Forum Anak Menu ini berada di sebelah kiri halaman isi dari tab menu ini adalah untuk menampilkan dan mencari data anggota FORANDAKA, menambah data, mengubah data, dan menghapus data anggota FORANDAKA. Gambar 4. 25 Tampilan menu data anggota forum anak Implementasi dari fitur union inheritance ada pada menu Tambah Data, Ubah Data, dan Hapus Data. a. Menu Tambah Data 111 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pada menu ini, admin dapat melakukan penambahan data Anggota FORANDAKA. Berikut adalah tampilan admin dalam memasukkan data: Gambar 4. 26 Form tambah anggota forum anak Karena anggota forum anak ini adalah merupakan union inheritance dari Anggota Garuluku. Anggota Garuluku adalah partition inheritance dari People, sehingga memasukkan data ke tabel People dengan subtype AnggotaGaruluku_T.. Tabel People berdasarkan tipe objek AnggotaGaruluku_T sehingga kueri yang digunakan untuk menambahkan adalah: 112 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI String query = "INSERT INTO people values(anggotaGaruluku_T('" + prosesbean.getId_AG() + "' , '" + prosesbean.getNama_AG() + "' , '" + prosesbean.getTtl() + "' , '" + prosesbean.getUmur() + "', '" + prosesbean.getAlamat() + "' , '" + prosesbean.getNoTlp() + "', 'AnggotaGaruluku' , '" + prosesbean.getNamaAyah() + "' , '" + prosesbean.getNamaIbu() + "' , '" + prosesbean.getPekerjaanAyah() + "', '" + prosesbean.getPekerjaanIbu() + "' , '" + prosesbean.getHobi() + "' , '" + prosesbean.getTahunBergabung() + "'))"; Lalu menambahkan data ke tabel subclass AnggotaFA. Tabel objek AnggotaFA berdasarkan tipe objek AnggotaFA_T sehingga kueri yang digunakan untuk menambahkan data ke tabel subclass AnggotaFA adalah : String query1 = "INSERT INTO anggotaFA values(anggotaFA_T('" + prosesbean.getId_AG() + "' , '" + prosesbean.getNama_AG() + "' , '" + prosesbean.getTtl() + "' , '" + prosesbean.getUmur() + "', '" + prosesbean.getAlamat() + "' , '" + prosesbean.getNoTlp() + "', 'AnggotaGaruluku' , '" + prosesbean.getNamaAyah() + "' , '" + prosesbean.getNamaIbu() + "' , '" + prosesbean.getPekerjaanAyah() + "', '" + prosesbean.getPekerjaanIbu() + "' , '" + prosesbean.getHobi() + "' , '" + prosesbean.getTahunBergabung() + "' , '" + prosesbean.getSekolah() + "' , '" + prosesbean.getStatusKeaktifan() + "'))"; Kedua query tersebut dijalankan langsung pada satu method yaitu method InsertAFA yang terdapat dalam javabean, dan di panggil oleh kelas servlet controller. Tetapi karena ini adalah union inheritance, maka akan ada kemungkinan bahwa seorang anggota garuluku adalah merupakan anggotaFA dan juga merupakan seorang pengurus, sehingga ketika ingin memasukkan data dengan ID anggota yang 113 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI sama ke dalam subclasses lainnya akan terjadi gagal dalam menjalankan method insert pada bagian execute query insert into anggotaGaruluku, karena terdapat ID (sebagai Primary Key) yang sama, oleh karena itu sebelum menambahkan data, perlu menghapus terlebih dahulu data dengan ID yang sama pada tabel superclass. Queri untuk menghapus data di tabel superclass adalah: String query1 = "DELETE From People where id = '" + prosesbean.getId_AG() + "' or nama = '" + prosesbean.getNama_AG() + "' "; Queri tersebut terdapat pada method DeleteAG yang ada di javabean. Berikut adalah bagian dari listing program pada kelas servlet controller: Gambar 4. 27 Servlet controller tambah data anggota forum anak Jika data berhasil dimasukkan, akan masuk ke halaman yang menampilkan seluruh data anggota FORANDAKA yang sudah dimasukkan: 114 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 28 Hasil tambah data anggota forum anak b. Menu Ubah Data Pada menu ini, admin dapat mengubah data seorang anggota Forum Anak. Berikut adalah tampilan admin dalam mengubah data, pertama memilih dahulu ID atau Nama yang mau diubah datanya: Gambar 4. 29 Ubah data anggota forum anak Lalu akan masuk ke halaman yang berisi form yang berisi data seorang pengurus yang dipilih tadi, admin dapat langsung merubah data pada text box yang disediakan: 115 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 30 Form ubah data anggota forum anak Untuk union inheritance, jika data subclass diubah, data superclass tidak akan ikut berubah secara otomatis, maka untuk menanganinya proses mengubah data harus dilakukan juga pada data di superclass agar tidak terjadi perbedaan data anggota. Jadi kueri pertama untuk mengupdate data di subclass AnggotaFA, lalu mengupdate data di superclass AnggotaGaruluku. Berikut ini adalah queri untuk mengubah data: 116 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI String query = "UPDATE anggotaFA SET Nama='" + prosesbean.getNama_AG_after() + "' , TTL='" + prosesbean.getTtl() + "' , UMUR='" + prosesbean.getUmur() + "', Alamat='" + prosesbean.getAlamat() + "' , NoTlp='" + prosesbean.getNoTlp() + "' , NamaAyah='" + prosesbean.getNamaAyah() + "' , NamaIbu='" + prosesbean.getNamaIbu() + "' , PekerjaanAyah='" + prosesbean.getPekerjaanAyah() + "', PekerjaanIbu='" + prosesbean.getPekerjaanIbu() + "' , Hobi='" + prosesbean.getHobi() + "' , TahunBergabung= '" + prosesbean.getTahunBergabung() + "' , Sekolah='" + prosesbean.getSekolah() + "' , StatusKeaktifan='" + prosesbean.getStatusKeaktifan() + "' WHERE Id='" + prosesbean.getId_AG() + "' or Nama='" + prosesbean.getNama_AG() + "'"; String query1 = "DELETE FROM People WHERE Id='" + prosesbean.getId_AG() + "'"; String query2 = "INSERT INTO People values(anggotaGaruluku_T('" + prosesbean.getId_AG() + "' , '" + prosesbean.getNama_AG_after() + "' , '" + prosesbean.getTtl() + "' , '" + prosesbean.getUmur() + "', '" + prosesbean.getAlamat() + "' , '" + prosesbean.getNoTlp() + "', 'AnggotaGaruluku' , '" + prosesbean.getNamaAyah() + "' , '" + prosesbean.getNamaIbu() + "' , '" + prosesbean.getPekerjaanAyah() + "', '" + prosesbean.getPekerjaanIbu() + "' , '" + prosesbean.getHobi() + "' , '" + prosesbean.getTahunBergabung() + "'))"; Ketiga queri ini dijalankan langsung pada satu method yaitu method UpdateAFA yang terdapat dalam javabean, dan di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: 117 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 31 Servlet controller ubah data anggota forum anak Jika data berhasil diupdate, akan masuk ke halaman yang menampilkan seluruh data Anggota Forum Anak, sebagai berikut: Gambar 4. 32 Hasil ubah data anggota forum anak c. Menu Hapus Data Pada menu ini, admin dapat menghapus data seorang anggota Forum Anak. Berikut adalah tampilan admin dalam menghapus data, pertama memilih dahulu ID atau Nama yang mau dihapus datanya: 118 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 33 Hapus data anggota forum anak Untuk menghapus data, hanya menghapus data pada subclass yaitu tabel AnggotaFA saja. Jadi datanya di tabel superclass AnggotaGaruluku masih tetap ada. Berikut ini adalah kueri untuk menghapus data pengurus: String query = "DELETE From anggotaFA where ID = '" + prosesbean.getId_AG() + "' or nama = '" + prosesbean.getNama_AG() + "' "; Queri ini dijalankan langsung pada satu method yaitu method DeleteAFA yang terdapat dalam javabean, dan di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: Gambar 4. 34 Servlet controller hapus data anggota forum anak 119 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Jika data berhasil dihapus, akan masuk ke halaman yang menampilkan seluruh data anggota FORANDAKA, sebagai berikut: Gambar 4. 35 Hasil hapus data anggota forum anak 4.3.1.1.4. Tab menu Data Anggota Sanggar Anak Menu ini berada di sebelah kiri halaman, isi dari tab menu ini adalah untuk menampilkan dan mencari data anggota Sanggar Anak Garuluku, menambah data, mengubah data, dan menghapus data anggota Sanggar Anak Garuluku. Gambar 4. 36 Menu anggota sanggar anak 120 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Implementasi dari fitur union inheritance ada pada menu Tambah Data, Ubah Data, dan Hapus Data. a. Menu Tambah Data Pada menu ini, admin dapat melakukan penambahan data anggota Sanggar Anak Garuluku. Berikut adalah tampilan admin dalam memasukkan data: Gambar 4. 37 Form insert data anggota sanggar anak Karena anggota sanggar anak ini adalah merupakan union inheritance dari AnggotaGaruluku, maka langkah pertama menambahkan data ke superclass AnggotaGaruluku. Anggota Garuluku adalah partition inheritance dari People, sehingga memasukkan data ke tabel People dengan subtype AnggotaGaruluku_T, sebagai berikut: 121 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI String query = "INSERT INTO People values(anggotaGaruluku_T('" + prosesbean.getId_AG() + "' , '" + prosesbean.getNama_AG() + "' , '" + prosesbean.getTtl() + "' , '" + prosesbean.getUmur() + "', '" + prosesbean.getAlamat() + "' , '" + prosesbean.getNoTlp() + "', 'AnggotaGaruluku','" + prosesbean.getNamaAyah() + "' , '" + prosesbean.getNamaIbu() + "' , '" + prosesbean.getPekerjaanAyah() + "', '" + prosesbean.getPekerjaanIbu() + "' , '" + prosesbean.getHobi() + "' , '" + prosesbean.getTahunBergabung() + "'))"; Lalu menambahkan data ke tabel subclass AnggotaSA. Tabel objek AnggotaSA berdasarkan tipe objek AnggotaSA_T sehingga kueri yang digunakan untuk menambahkan data ke tabel subclass AnggotaSA adalah : String query1 = "INSERT INTO pengurus values(pengurus_T('" + prosesbean.getId_AG() + "' , '" + prosesbean.getNama_AG() + "' , '" + prosesbean.getTtl() + "' , '" + prosesbean.getUmur() + "', '" + prosesbean.getAlamat() + "' , '" + prosesbean.getNoTlp() + "', 'AnggotaGaruluku', '" + prosesbean.getNamaAyah() + "' , '" + prosesbean.getNamaIbu() + "' , '" + prosesbean.getPekerjaanAyah() + "', '" + prosesbean.getPekerjaanIbu() + "' , '" + prosesbean.getHobi() + "' , '" + prosesbean.getTahunBergabung() + "' , '" + prosesbean.getPosisi() + "' , '" + prosesbean.getPeriode() + "', '" + prosesbean.getJenis() + "'))"; Kedua query tersebut dijalankan langsung pada satu method yaitu method InsertASA yang terdapat dalam javabean, dan di panggil oleh kelas servlet controller. Tetapi karena ini adalah union inheritance, maka akan ada kemungkinan bahwa seorang anggota garuluku adalah merupakan anggotaSA dan juga merupakan seorang pengurus, 122 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI sehingga ketika ingin memasukkan data dengan ID anggota yang sama ke dalam subclasses lainnya akan terjadi gagal dalam menjalankan method insert pada bagian execute query insert into anggotaGaruluku, karena terdapat ID (sebagai Primary Key) yang sama, oleh karena itu sebelum menambahkan data, perlu menghapus terlebih dahulu data dengan ID yang sama pada tabel superclass. Queri untuk menghapus data di tabel superclass adalah: String query1 = "DELETE From anggotaGaruluku where ID = '" + prosesbean.getId_AG() + "' or nama = '" + prosesbean.getNama_AG() + "' "; Queri tersebut terdapat pada method DeleteAG yang ada di javabean. Berikut adalah bagian dari listing program pada kelas servlet controller: Gambar 4. 38 Servlet controller tambah data anggota sanggar anak Jika data berhasil dimasukkan, akan masuk ke halaman yang menampilkan seluruh data anggota Sanggar Anak Garuluku yang sudah dimasukkan: 123 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 39 Hasil tambah data anggota sanggar anak b. Menu Ubah Data Pada menu ini, admin dapat mengubah data seorang anggota Sanggar Anak Garuluku. Berikut adalah tampilan admin dalam mengubah data, pertama memilih dahulu ID atau Nama yang mau diubah datanya: Gambar 4. 40 Ubah data anggota sanggar anak Lalu akan masuk ke halaman yang berisi form yang berisi data seorang anggota Sangar Anak yang dipilih tadi, admin dapat langsung merubah data pada text box yang disediakan: 124 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 41 Form ubah data anggota sanggar anak Untuk union inheritance, jika data subclass diubah, data superclass tidak akan ikut berubah secara otomatis, maka untuk menanganinya proses mengubah data harus dilakukan juga pada data di superclass agar tidak terjadi perbedaan data anggota. Jadi kueri pertama untuk mengupdate data di subclass AnggotaSA, lalu mengupdate data di superclass AnggotaGaruluku. Berikut ini adalah queri untuk mengubah data: String query = "UPDATE anggotaSA SET Nama='" + prosesbean.getNama_AG_after() + "' , TTL='" + prosesbean.getTtl() + "' , UMUR='" + prosesbean.getUmur() + "', Alamat='" + prosesbean.getAlamat() + "' , NoTlp='" + prosesbean.getNoTlp() + "' , NamaAyah='" + prosesbean.getNamaAyah() + "' , NamaIbu='" + prosesbean.getNamaIbu() + "' , PekerjaanAyah='" + prosesbean.getPekerjaanAyah() + "', PekerjaanIbu='" + prosesbean.getPekerjaanIbu() + "' , Hobi='" + prosesbean.getHobi() + "' , TahunBergabung= '" + prosesbean.getTahunBergabung() + "' , Sekolah='" + prosesbean.getSekolah() + "' , StatusKeaktifan='" + prosesbean.getStatusKeaktifan() + "' WHERE Id='" + prosesbean.getId_AG() + "' or Nama='" + prosesbean.getNama_AG() + "'"; 125 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI String query1 = "DELETE FROM People WHERE Id='" + prosesbean.getId_AG() + "'"; String query2 = "INSERT INTO People values(anggotaGaruluku_T('" + prosesbean.getId_AG() + "' , '" + prosesbean.getNama_AG_after() + "' , '" + prosesbean.getTtl() + "' , '" + prosesbean.getUmur() + "', '" + prosesbean.getAlamat() + "' , '" + prosesbean.getNoTlp() + "', 'AnggotaGaruluku' , '" + prosesbean.getNamaAyah() + "' , '" + prosesbean.getNamaIbu() + "' , '" + prosesbean.getPekerjaanAyah() + "', '" + prosesbean.getPekerjaanIbu() + "' , '" + prosesbean.getHobi() + "' , '" + prosesbean.getTahunBergabung() + "'))"; Kedua queri ini dijalankan langsung pada satu method yaitu method UpdateASA yang terdapat dalam javabean, dan di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: Gambar 4. 42 Srvlet controller ubah data anggota sanggar anak Jika data berhasil diupdate, akan masuk ke halaman yang menampilkan seluruh data anggota Sanggar Anak Garuluku, sebagai berikut: 126 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 43 Hasil ubah data sanggar anak c. Menu Hapus Data Pada menu ini, admin dapat menghapus data seorang anggota Sanggar Anak Garuluku. Berikut adalah tampilan admin dalam menghapus data, pertama memilih dahulu ID atau Nama yang mau dihapus datanya: Gambar 4. 44 Hapus data anggota sanggar anak Untuk menghapus data, hanya menghapus data pada subclass yaitu tabel AnggotaSA saja. Jadi datanya di tabel superclass AnggotaGaruluku masih tetap ada. Berikut ini adalah kueri untuk menghapus data pengurus: String query = "DELETE From anggotaSA where ID = '" + prosesbean.getId_AG() + "' or nama = '" + prosesbean.getNama_AG() + "' "; 127 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Queri ini dijalankan langsung pada satu method yaitu method DeleteASA yang terdapat dalam javabean, dan di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: Gambar 4. 45 Servlet controller hapus data anggota sanggar anak Jika data berhasil dihapus, akan masuk ke halaman yang menampilkan seluruh data anggota Sanggar Anak Garuluku, sebagai berikut: Gambar 4. 46 Hasil hapus data sanggar anak 4.3.1.1.5. Tab menu Data Pengajar Tetap Menu ini berada di sebelah kiri halaman, isi dari tab menu ini adalah untuk mencari dan menampilkan data pengajar tetap, menambah data, mengubah data, dan menghapus data pengajar tetap. Seorang pengajar 128 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI tetap adalah merupakan pengurus, tabel pengajar tetap merupakan inheritance dari tabel pengurus. Gambar 4. 47 Menu data pengajar tetap Implementasi dari fitur union inheritance ada pada menu Tambah Data, Ubah Data, dan Hapus Data. a. Menu Tambah Data Pada menu ini, admin dapat melakukan penambahan data pengajar tetap. Pertama-tama admin memilih pengurus mana yang ingin dijadikan pengajar tetap: Gambar 4. 48 Tambah data pengajar tetap 129 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Berikut adalah tampilan admin dalam memasukkan data pengajar tetap, admin hanya memasukkan hari ajar saja pada text box yang disediakan: Gambar 4. 49 Form tambah data pengajar tetap Queri untuk menambah data pengajar tetap adalah : String query = "INSERT INTO PengajarTetap values(PengajarTetap_T('" + prosesbean.getId_AG() + "' , '" + prosesbean.getNama_AG() + "' , '" + prosesbean.getTtl() + "' , '" + prosesbean.getUmur() + "', '" + prosesbean.getAlamat() + "' , '" + prosesbean.getNoTlp() + "', 'AnggotaGaruluku', '" + prosesbean.getNamaAyah() + "' , '" + prosesbean.getNamaIbu() + "' , '" + prosesbean.getPekerjaanAyah() + "', '" + prosesbean.getPekerjaanIbu() + "' , '" + prosesbean.getHobi() + "' , '" + prosesbean.getTahunBergabung() + "' , '" + prosesbean.getPosisi() + "' , '" + prosesbean.getPeriode() + "', '" + prosesbean.getJenis() + "' , '" + prosesbean.getHariAjar() + "' ))"; Query tersebut dijalankan langsung pada satu method yaitu method InsertPT yang terdapat dalam javabean, dan di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: 130 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 50 Servlet controller tambah data pengajar tetap Jika data berhasil dimasukkan, akan masuk ke halaman yang menampilkan seluruh data pengajar tetap yang sudah dimasukkan: Gambar 4. 51 Hasil tambah data pengajar tetap b. Menu Ubah Data Pada menu ini, admin dapat mengubah data seorang pengajar tetap. Berikut adalah tampilan admin dalam mengubah data, pertama memilih dahulu ID atau Nama yang mau diubah datanya: 131 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 52 Ubah data pengajar tetap Lalu akan masuk ke halaman yang berisi form yang berisi data seorang pengajar tetap yang dipilih tadi, admin dapat langsung merubah data pada text box yang disediakan: Gambar 4. 53 Form ubah data pengajar tetap Untuk mengubah data pada tabel PengajarTetap, data yang diubah hanya data di atribut HariAjar saja, karena jika ingin mengubah data seorang pengajarTetap yang atributnya bukan HariAjar dapat dilakukan di tabel pengurus yang merupakan superclass dari tabel ini. Berikut ini adalah queri untuk mengubah data : 132 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI String query = "UPDATE PengajarTetap SET HariAjar = '" + prosesbean.getHariAjar() + "' WHERE Id= '" + prosesbean.getId_AG() + "' "; Queri ini dijalankan langsung pada satu method yaitu method UpdatePT yang terdapat dalam javabean, dan di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: Gambar 4. 54 Servlet controller ubah data pengajar tetap Jika data berhasil diupdate, akan masuk ke halaman yang menampilkan seluruh data pengajar tetap, sebagai berikut: Gambar 4. 55 Hasil ubah data pengajar tetap c. Menu Hapus Data 133 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pada menu ini, admin dapat menghapus data seorang pengajar tetap. Berikut adalah tampilan admin dalam menghapus data, pertama memilih dahulu ID atau Nama yang mau dihapus datanya: Gambar 4. 56 Hapus data pengajar tetap Berikut ini adalah queri untuk menghapus data pengajar tetap: String query = "DELETE FROM PengajarTetap WHERE Id= '" + prosesbean.getId_AG() + "' or nama = '" + prosesbean.getNama_AG() + "' "; Untuk menghapus data, hanya menghapus data pada subclass yaitu tabel pengajarTetap saja. Jadi datanya di superclass AnggotaGaruluku dan tabel pengurus masih tetap ada. Queri ini dijalankan langsung pada satu method yaitu method DeletePT yang terdapat dalam javabean, dan di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: 134 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 57 Servlet controller hapus data pengajar tetap Jika data berhasil dihapus, akan masuk ke halaman yang menampilkan seluruh data pengajar tetap, sebagai berikut: Gambar 4. 58 Hasil hapus data pengajar tetap 4.3.1.1.6. Tab menu Data Anggota Garuluku Menu ini berada di sebelah kiri halaman, isi dari tab menu ini adalah menu untuk menghapus data dan menu untuk melihat data lengkap dari seluruh anggota garuluku. 135 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 59 Menu data anggota garuluku Anggota Garuluku merupakan data subclass dari People, hubungan keduanya yaitu Partition Inheritance. Yang dilakukan dalam menu ini adalah menghapus data dan meilhat data. karena subclass dari anggota garuluku hanya menghapus data di subclass saja, tanpa menghapus data di superclass Anggota Garuluku. a. Menu Hapus Data Pada menu ini, admin dapat menghapus data seorang anggota garuluku. Berikut adalah tampilan admin dalam menghapus data, pertama memilih dahulu ID atau Nama yang mau dihapus datanya: Gambar 4. 60 Hapus data anggota garuluku 136 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Berikut ini adalah queri untuk menghapus data anggota garuluku: String query1 = "DELETE From People where id = '" + prosesbean.getId_AG() + "' or nama = '" + prosesbean.getNama_AG() + "' "; Queri ini dijalankan pada method DeleteAG yang terdapat dalam javabean, dan di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: Gambar 4. 61 Servlet controller hapus data anggota garuluku Jika data berhasil dihapus, akan masuk ke halaman yang menampilkan seluruh data anggota garuluku, sebagai berikut: Gambar 4. 62 Hasil hapus data anggota garuluku b. Menu Lihat Seluruh Data Anggota Garuluku 137 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pada menu ini, admin dapat melihat seluruh data lengkap seorang anggota garuluku. Berikut ini adalah queri untuk menampilkan semua data anggota garuluku, yaitu dengan memanggil method member function show: String query = "select * from people where P_Type='AnggotaGaruluku' order by id"; String query1 = "SELECT p.show_namaAyah(),p.show_namaIbu(),p.show_pekerjaanAyah (),p.show_pekerjaanIbu(), p.show_hobi(), p.show_tahunBergabung() FROM People p WHERE id='" + result.getString("id") + "'"; 4.3.1.1.7 Tab menu Data Pengajar Relawan Menu ini berada di sebelah kiri halaman, isi dari tab menu ini adalah untuk mencari dan menampilkan data pengajar tetap, menambah data, mengubah data, dan menghapus data pengajar tetap. Seorang pengajar relawan adalah Partition Inheritance dari superclass People. Gambar 4. 63 Submenu Pengajar relawan a. Menu Cari dan Tampil Data 138 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pada menu ini, admin dapat melakukan pencarian data berdasarkan Nama atau ID, dan dapat melihat seluruh data pengajar tetap dengan mengklik link “Lihat Semua Data Pengajar Relawan”. Tampilannya adalah sebagai berikut: Gambar 4. 64 Cari dan lihat data pengajar relawan Jika data yang dicari ditemukan maka akan masuk ke halaman yang menampilkan data lengkap dari seorang pengajar relawan sebagai berikut ini: Gambar 4. 65 Hasil cari data pengajar relawan Berikut adalah queri yang digunakan untuk mencari data pengajar relawan: 139 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI String query = "select * from P_Type='PengajarRelawan' order by id"; people where String query2 = "SELECT p.show_asalPR() FROM People p WHERE id='" + result.getString("id") + "'"; b. Menu Tambah Data Pada menu ini, admin dapat melakukan penambahan data pengajar relawan. Berikut adalah tampilan admin dalam memasukkan data: Gambar 4. 66 Form tambah data pengajar relawan Queri untuk menambah data pengajar relawan adalah : String query = "INSERT INTO people VALUES(pengajarRelawan_T('" + prosesbean.getId_PR() + "' , '" + prosesbean.getNama_PR() + "' , '" + prosesbean.getTtl_PR() + "' , '" + prosesbean.getUmur_PR() + "' , '" + prosesbean.getAlamat_PR() + "' , '" + prosesbean.getNoHP_PR() + "' , 'PengajarRelawan' , '" + prosesbean.getAsal_PR() + "'))"; Query tersebut dijalankan oleh method InsertPR yang terdapat dalam javabean, dan di panggil oleh kelas servlet controller. 140 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Berikut adalah bagian dari listing program pada kelas servlet controller: Gambar 4. 67 Servlet controller tambah data pengajar relawan Jika data berhasil dimasukkan, akan masuk ke halaman yang menampilkan seluruh data pengajar relawan yang sudah sudah dimasukkan: Gambar 4. 68 Hasil tambah data pengajar relawan c. Menu Ubah Data Pada menu ini, admin dapat mengubah data seorang pengajar relawan. Berikut adalah tampilan admin dalam mengubah data, pertama memilih dahulu ID atau Nama yang mau diubah datanya: 141 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 69 Ubah data pengajar relawan Lalu akan masuk ke halaman yang berisi form yang berisi data seorang pengajar relawan yang dipilih tadi, admin dapat langsung merubah data pada text box yang disediakan: Gambar 4. 70 Form ubah data pengajar relawan Berikut ini adalah queri untuk mengubah data : String query = "DELETE FROM prosesbean.getId_PR() + "' "; People WHERE id= '" + String query1 = "INSERT INTO people VALUES(pengajarRelawan_T('" + prosesbean.getId_PR() + "' , '" + prosesbean.getNama_PR_After() + "' , '" + prosesbean.getTtl_PR() + "' , '" + prosesbean.getUmur_PR() + "' , '" + prosesbean.getAlamat_PR() + "' , '" + prosesbean.getNoHP_PR() + "' , 'PengajarRelawan' , '" + prosesbean.getAsal_PR() + "'))"; 142 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Queri ini dijalankan pada method UpdatePR yang terdapat dalam javabean, dan di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: Gambar 4. 71 Servlet controler ubah data pengajar relawan Jika data berhasil diupdate, akan masuk ke halaman yang menampilkan seluruh data pengajar relawan, sebagai berikut: Gambar 4. 72 Hasil ubah data pengajar relawan d. Menu Hapus Data Pada menu ini, admin dapat menghapus data seorang pengajar relawan. Berikut adalah tampilan admin dalam menghapus data, pertama memilih dahulu ID atau Nama yang mau dihapus datanya: Gambar 4. 73 Hapus data pengajar relawan 143 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Berikut ini adalah queri untuk menghapus data pengajar relawan: String query = "DELETE people WHERE id= '" prosesbean.getId_PR() + "' OR nama= '" prosesbean.getNama_PR() + "' "; + + Queri ini dijalankan pada method DeletePR yang terdapat dalam javabean, dan di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: Gambar 4. 74 Servlet controller hapus data pengajar relawan Jika data berhasil dihapus, akan masuk ke halaman yang menampilkan seluruh data pengajar relawan, sebagai berikut: Gambar 4. 75 Hasil hapus data pengajar relawan 144 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 4.3.2. Implementasi Fitur Collection Type : Nested Table 4.3.2.1. Halaman Kegiatan Di halaman kegiatan untuk admin ini terdapat implementasi dari nested table yang menangani data kegiatan apa saja yang sudah diselenggarakan beserta nested table-nya adalah tabel donatur dari kegiatan tersebut, dan data laporan keuangan dari kegiatan tersebut beserta nested teble-nya adalah tabel detailPengeluaran. Admin dapat melakukan pencarian data, penambahan data, pengubahan data, dan penghapusan data. Berikut ini adalah tampilan dari menu kegiatan: Gambar 4. 76 Halaman kegiatan admin 4.3.2.1.1. Data Laporan Keuangan 145 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Menangani data laporan keuangan terdapat di dalam tab menu Edit Halaman. Bagian ini berisi menu-menu untk admin mengedit data-data, diantaranya mencari, menambah, mengubah, dan menghapus. Berikut ini isi dari menu edit halaman bagian menangani data laporan keuangan: a. Menu Lihat Laporan Keuangan Menu ini berada di sebelah kiri halaman, isi dari tab menu ini adalah untuk mencari data laporan keuangan dan melihat seluruh data laporan keuangan. Berikut adalah tampilannya: Gambar 4. 77 Cari data laporan keuangan Jika data yang dicari ditemukan maka akan masuk ke halaman berikut ini: 146 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 78 Hasil cari data laporan keuangan Untuk menampilkan hasil cari laporan keuangan menggunakan beberapa kueri, karena hasil yang ditampilkan tidak hanya berasal dari satu tabel. Kueri pertama yang digunakan adalah untuk menampilkan data laporan keuangan: String query = "select * from LapKeuangan where id_Lap = '" + cari.getId_Lap() + "'"; Kueri kedua yang digunakan adalah untuk menampilkan data dari nested table detailPengeluaran, menggunakan kueri: String query1 = "Select Id_DP, Keperluan, Volume, HargaSatuan, HargaTotal FROM THE (SELECT DetailPengeluaran FROM LapKeuangan WHERE Id_Lap = '" + cari.getId_Lap() + "')"; Kueri ketiga yang digunakan adalah untuk menampilkan data nama kegiatan dan tanggal dari tabel kegiatan, karena 147 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI laporan keuangan mempunyai hubungan asosiasi one to one dengan tabel kegiatan, dan agar pengguna dapat lebih mudah dalam mengetahui suatu ID laporan keuangan merupakan data dari laporan keuangan suatu kegiatan apa. Kueri yang digunakan untuk menampilkan data kegiatan menggunakan “join on ref”, sebagai berikut : String query2 = "SELECT Nama_Kegiatan, Tanggal FROM Kegiatan a JOIN LapKeuangan b ON REF (b) = a.punya_LapKeuangan WHERE Id_Lap='" + (result.getString("Id_Lap")) + "'"; b. Menu Tambah Laporan Keuangan Isi dari menu ini adalah untuk menambah data laporan keuangan. Langkah pertama yang dilakukan adalah masukkan terlebih dahulu jumlah detail pengeluarannya. Hal ini dilakukan agar mudah dalam penambahan data di nested table detailPengeluaran. Karena untuk menyimpan data detailPengeluaran, sebelum disimpan ke database, data direkam/disimpan dahulu menggunakan Array. Berikut adalah tampilannya: Gambar 4. 79 Tambah laporan keuangan 148 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Lalu akan masuk ke halaman untuk admin mengisi data laporan keuangan: Gambar 4. 80 Form tambah data laporan keuangan 149 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Jika data yang dimasukkan berhasil, maka akan masuk ke halaman yang berisi seluruh data laporan keuangan yang sudah dimasukkan: Gambar 4. 81 Hasil tambah laporan keuangan Untuk menambah data laporan keuangan menggunakan kueri insert ke tabel LaporanKeuangan dahulu, sedangkan untuk memasukkan data ke atribut DetailPengeluaran yang memiliki tipe data objek dan merupakan nested table menggunakan kueri insert data yang terpisah. Kueri yang digunakan untuk memasukkan data ke tabel lapKeuangan berada dalam method insertLapKeuanganA yang disimpan didalam javabean. Kueri ini adalah: String query = "INSERT INTO LapKeuangan values( '" + prosesbean.id_Lap + "' , " + prosesbean.getTotalPemasukan() + " , " + prosesbean.getTotalPengeluaran() + ", DetailPengeluaran_Table_T(DetailPengeluaran_T(NULL, NULL, NULL, NULL, NULL)))"; 150 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Kueri yang digunakan untuk memasukkan data ke tabel bersarang (nested table) detailPengeluaran berada dalam method insertLapKeuanganB yang disimpan didalam javabean. Kueri ini di execute sebanyak jumlah detail pengeluaran yang dimasukkan oleh admin pada langkah awal tadi. Kueri ini memasukkan data ke detailPengeluaran berdasarkan Id laporan keuangannya, sebagai berikut: String query1 = "INSERT INTO THE (SELECT a.DetailPengeluaran FROM LapKeuangan a WHERE a.id_lap ='" + prosesbean.id_Lap + "') VALUES ('" + prosesbean.getId_DP(i 1) + "' , '" + prosesbean.getKeperluan(i - 1) + "' , '" + prosesbean.getVolume(i 1) + "' , " + prosesbean.getHargaSatuan((i 1)) + ", " + prosesbean.getHargaTotal((i - 1)) + ")"; Kedua method untuk memasukkan data ke database tersebut di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: Gambar 4. 82 Servlet controller tambah data laporan keuangan c. Menu Ubah Laporan Keuangan 151 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Menu ini berada di sebelah kiri halaman, isi dari tab menu ini adalah untuk mengubah data laporan keuangan. Langkah pertama masukkan dahulu Id Laporan keuangan yang ingin diubah datanya. Berikut adalah tampilannya: Gambar 4. 83 Ubah data laporan keuangan Lalu akan masuk ke halaman yang menampilkan form untuk mengubah data dari laporan keuangan yang telah dipilih: Gambar 4. 84 Form ubah data laporan keuangan 152 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Jika data berhasil diubah maka akan masuk ke halaman yang menampilkan seluruh data laporan keuangan: Gambar 4. 85 Hasil ubah laporan keuangan Untuk mengubah data laporan keuangan menggunakan dua kueri. Pertama kueri untuk mengubah data di laporan keuangan dan kedua adalah kueri untuk mengubah data di nested table detail pengeluaran. Kueri yang digunakan untuk mengubah data ke tabel lapKeuangan berada dalam method updateLapKeuangan yang disimpan didalam javabean. Queri tersebut adalah: String query = "Update LapKeuangan SET TotalPemasukan= '" + prosesbean.getTotalPemasukan() + "' , TotalPengeluaran= '" + prosesbean.getTotalPengeluaran() + "' WHERE Id_Lap ='" + prosesbean.getId_Lap() + "' "; Kueri yang digunakan untuk mengubah data tabel bersarang (nested table) detailPengeluaran, pertama-tama select 153 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI data detailPengeluaran dahaulu berdasarkan id laporan keuangan yang dimilikinya, setelah itu baru mengeset perubahan data atribut didalam nested table detailPengeluaran yang berdasarkan sebelumnya. Kueri dari hasil ini select berada detailPengeluaran dalam method updateDetailPengeluaran yang disimpan didalam javabean. Queri ini di execute sebanyak jumlah detail pengeluaran. Queri tersebut adalah: String query = "UPDATE the(SELECT a.DetailPengeluaran FROM LapKeuangan a WHERE a.Id_lap ='" + prosesbean.getId_Lap() + "') b SET b.Keperluan= '" + prosesbean.getKeperluan(i - 1) + "', b.Volume= '" + prosesbean.getVolume(i - 1) + "', b.HargaSatuan= '" + prosesbean.getHargaSatuan(i - 1) + "', b.HargaTotal= '" + prosesbean.getHargaTotal(i - 1) + "' WHERE b.id_DP = '" + prosesbean.getId_DP(i - 1) + "'"; Agar sistem dapat mengetahui seberapa banyak execute queri untuk update detailPengeluaran, dan berapa banyak baris di tabel untuk form ubah detailPengeluaran, menggunakan queri untuk menghitung berapa banyak Id Detail Pengeluaran sebagai berikut: String query1 = "Select COUNT (Id_DP) AS JumlahDP FROM THE (SELECT DetailPengeluaran FROM LapKeuangan WHERE Id_Lap = '" + ubah.getId_Lap() + "') "; 154 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Kedua method untuk memasukkan data ke database tersebut di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: Gambar 4. 86 Servlet controller ubah data laporan keuangan d. Menu Hapus Laporan Keuangan Isi dari menu ini adalah untuk menghapus data laporan keuangan. Berikut adalah tampilannya: Gambar 4. 87 Hapus data laporan keuangan Setelah memasukkan Id Laporan keuangan yang ingin dihapus, maka akan masuk ke halaman yang menyatakan data sudah dihapus dan menampilkan seluruh data laporan keuangan yang masih ada, seperti berikut ini: 155 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 88 Hasil hapus data laporan keuangan Queri untuk menghapus data Laporan Keuangan adalah: String query = "DELETE FROM LapKeuangan WHERE Id_Lap = '" + prosesbean.getId_Lap() + "' "; Queri tersebut berada pada method deleteLapKeuangan, dan di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: Gambar 4. 89 Servlet controller hapus data laporan keuangan e. Menu Hapus Detail Pengeluaran Isi dari menu ini adalah untuk menghapus data detail pengeluaran. Pertama masukkan dahulu id laporan keuangan dan id detail pengeluarannya. Berikut adalah tampilannya: 156 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 90 Hapus detail pengeluaran Setelah memasukkan Id Laporan keuangan dan Id Datail pengeluaran yang ingin dihapus, maka akan masuk ke halaman yang menyatakan data sudah dihapus dan menampilkan seluruh data laporan keuangan yang masih ada, seperti berikut ini: Gambar 4. 91 Hasil hapus data detail pengeluaran Queri untuk menghapus data detail pengeluaran, pertamatama adalah select atribut detailengeluaran berdasarkan Id laporan keuangan yang dimilikinya dahulu, setelah itu menghapus berdasarkan Id detail pengeluaran yang berada didalam detail pengeluaran hasil select atribut detailPengeluaran sebelumnya, sebagai berikut: 157 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI String query = "DELETE the (SELECT a.DetailPengeluaran FROM LapKeuangan a WHERE a.Id_lap= '" + prosesbean.getId_Lap() + "') b WHERE b.id_DP = '" + prosesbean.getHapusId_DP() + "' "; Queri tersebut berada pada method deleteDetailPengeluaran, dan di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: Gambar 4. 92 Servlet controller hapus data detail pengeluaran 4.3.2.1.2. Data Kegiatan Menangani data kegiatan terdapat di dalam tab menu Edit Halaman. Bagian ini berisi menu-menu untk admin mengedit data-data, diantaranya mencari, menambah, mengubah, dan menghapus. Berikut ini isi dari menu edit halaman bagian menangani data kegiatan: a. Menu Lihat Berita Kegiatan Menu ini berada di sebelah kiri halaman, isi dari tab menu ini adalah untuk mencari data kegiatan dan melihat seluruh data kegiatan. Langkah pertama adalah mengisi id kegiatan yang ingin dicari, berikut adalah tampilannya: 158 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 93 Cari data kegiatan Jika data yang dicari ditemukan maka akan masuk ke halaman berikut ini: Gambar 4. 94 Hasil cari data kegiatan Queri yang digunakan untuk menampilkan data kegiatan adalah: String query = "select * from Kegiatan where id_Kegiatan = '" + cari.getId_Kegiatan() + "'"; Karena informasi yang disajikan bukan hanya dari tabel kegiatan, tetapi berkaitan juga dengan tabel lapKeuangan yang 159 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI mempunyai hubungan asosiasi one to one, dan nested table donatur. Untuk menampilkan data dari informasi di tabel lapKeuangan menggunakan sintaks “join on ref” sebagai berikut: String query1 = "SELECT * FROM LapKeuangan a JOIN Kegiatan b ON REF (a) = b.punya_LapKeuangan WHERE b.Id_Kegiatan='" + result.getString("Id_Kegiatan") + "' "; Untuk menampilkan data nested table donatur menggunakan queri select dari atribut yang dimiliki oleh nested table donatur, berdasarkan id kegiatan yang dicari, sebagai berikut: String query2 = "Select Id_Donatur, Nama_Donatur, Dari, No_tlp, Tanggal_beri, Jumlah FROM THE (SELECT Donatur FROM Kegiatan WHERE Id_Kegiatan = '" + result.getString("Id_Kegiatan") + "')"; b. Menu Tambah Berita Kegiatan Isi dari menu ini adalah untuk menambah data kegiatan. Langkah pertama yang dilakukan adalah masukkan terlebih dahulu jumlah donatur untuk kegiatan ini. Hal ini dilakukan agar mudah dalam penambahan data di nested table donatur. Karena untuk menyimpan data donatur, sebelum disimpan ke database, data direkam/disimpan dahulu menggunakan Array. Berikut adalah tampilannya: 160 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 95 Tambah data kegiatan Lalu akan masuk ke halaman untuk admin mengisi data kegiatan: 161 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 96 Form tambah data kegiatan Jika data yang dimasukkan berhasil, maka akan masuk ke halaman yang berisi seluruh data laporan keuangan yang sudah dimasukkan: Gambar 4. 97 Hasil tambah data kegiatan Kueri yang digunakan untuk memasukkan data ke tabel kegiatan, menggunakan satu kueri saja, pertama-tama untuk memasukkan data ke atribut tabel kegiatan, lalu memasukkan data ke atribut di dalam nested table donatur, lalu memasukkan data id laporan keuangan yang dimiliki oleh data kegiatan menggunakan kata kunci “REF” yang adalah fitur BDRO Relationships using REF. Kueri ini berada dalam method 162 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI insertKegiatan yang disimpan didalam javabean. Queri tersebut adalah: String query = "INSERT INTO Kegiatan SELECT '" + prosesbean.getId_Kegiatan() + "', '" + prosesbean.getNama_Kegiatan() + "' , '" + prosesbean.getTanggal() + "' , '" + prosesbean.getWaktu() + "' , '" + prosesbean.getTempat() + "', '" + prosesbean.getDeskripsi() + "', Donatur_Table_T("; int jml; jml = Integer.parseInt(prosesbean.jumlahD); int i; for (i = 1; i <= jml; i++) { System.out.println(i); if (i < jml) { query = query + "Donatur_T('" + prosesbean.getId_Donatur(i - 1) + "', '" + prosesbean.getNama_Donatur(i - 1) + "', '" + prosesbean.getDari(i - 1) + "', '" + prosesbean.getNo_tlp(i - 1) + "', '" + prosesbean.getTanggal_beri(i - 1) + "', " + prosesbean.getJumlah(i - 1) + "),"; } else { query = query + "Donatur_T('" + prosesbean.getId_Donatur(i - 1) + "', '" + prosesbean.getNama_Donatur(i - 1) + "', '" + prosesbean.getDari(i - 1) + "', '" + prosesbean.getNo_tlp(i - 1) + "', '" + prosesbean.getTanggal_beri(i - 1) + "', " + prosesbean.getJumlah(i - 1) + ")),"; } } query = query + " REF (a) From LapKeuangan a where a.id_Lap= '" + prosesbean.getId_Lap() + "' "; Method insertKegiatan tersebut di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: 163 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 98 Servlet controller insert data kegiatan c. Menu Ubah Berita Kegiatan Isi dari tab menu ini adalah untuk mengubah data kegiatan. Langkah pertama masukkan dahulu Id kegiatan yang ingin diubah datanya. Berikut adalah tampilannya: Gambar 4. 99 Ubah data kegiatan Lalu akan masuk ke halaman yang menampilkan form untuk mengubah data dari id kegiatan yang telah dipilih: 164 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 100 Form ubah data kegiatan Jika data berhasil diubah maka akan masuk ke halaman yang menampilkan seluruh data kegiatan: Gambar 4. 101 Hasil ubah kegiatan Queri yang digunakan untuk mengubah data ke tabel kegiatan berada dalam method updateKegiatan yang disimpan didalam javabean. Queri tersebut adalah: 165 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI String query = "UPDATE Kegiatan SET Nama_Kegiatan= '" + prosesbean.getNama_Kegiatan_after() + "', Tanggal= '" + prosesbean.getTanggal() + "', Waktu= '" + prosesbean.getWaktu() + "', Tempat= '" + prosesbean.getTempat() + "', Deskripsi= '" + prosesbean.getDeskripsi() + "' WHERE Id_Kegiatan = '" + prosesbean.getId_Kegiatan() + "'"; Queri yang digunakan untuk mengubah data ke tabel bersarang (nested table) donatur berada dalam method updateDonatur yang disimpan didalam javabean. Queri ini di execute sebanyak jumlah donatur. Langkah awal dari queri ini adalah select dahulu data dari atribut donatur berdasarkan id kegiatan yang dipilih, lalu mengupdate data didalam nested table donatur berdasarkan hasil select data donatur sebelumnya, sebagai berikut: String query = "UPDATE the(SELECT a.Donatur FROM Kegiatan a WHERE a.Id_Kegiatan= '" + prosesbean.getId_Kegiatan() + "')b SET b.Nama_Donatur ='" + prosesbean.getNama_Donatur(i - 1) + "', b.Dari= '" + prosesbean.getDari(i - 1) + "', b.No_tlp= '" + prosesbean.getNo_tlp(i - 1) + "', b.Tanggal_beri= '" + prosesbean.getTanggal_beri(i - 1) + "', b.jumlah= '" + prosesbean.getJumlah(i - 1) + "' WHERE b.id_Donatur = '" + prosesbean.getId_Donatur(i - 1) + "'"; Agar sistem dapat mengetahui seberapa banyak execute queri untuk update donatur, dan berapa banyak baris di tabel untuk form ubah donatur, menggunakan queri untuk menghitung berapa banyak Id Donatur sebagai berikut: 166 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI String query1 = "Select COUNT (Id_Donatur) AS JumlahDonatur FROM THE (SELECT Donatur FROM Kegiatan WHERE Id_Kegiatan = '" + ubah.getId_Kegiatan() + "') "; Kedua method untuk memasukkan data ke database tersebut di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: Gambar 4. 102 Servlet controller ubah data kegiatan d. Menu Hapus Berita Kegiatan Isi dari menu ini adalah untuk menghapus data kegiatan. Berikut adalah tampilannya: Gambar 4. 103 Hapus data kegiatan Setelah memasukkan Id kegiatan yang ingin dihapus, maka akan masuk ke halaman yang menyatakan data sudah dihapus 167 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI dan menampilkan seluruh data kegiatan yang masih ada, seperti berikut ini: Gambar 4. 104 Hasil hapus data kegiatan Queri untuk menghapus data kegiatan adalah: String query = "DELETE From Kegiatan where id_Kegiatan = '" + prosesbean.getId_Kegiatan() + "' or nama_Kegiatan= '" + prosesbean.getNama_Kegiatan() + "' "; Queri tersebut berada pada method deleteKegiatan, dan di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: Gambar 4. 105 Servlet controller hapus data kegiatan e. Menu Hapus Donatur 168 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Isi dari menu ini adalah untuk menghapus data donatur. Pertama masukkan dahulu id kegiatan id donatur. Berikut adalah tampilannya: Gambar 4. 106 Hapus donatur Setelah memasukkan id kegiatan dan id donatur yang ingin dihapus, maka akan masuk ke halaman yang menyatakan data sudah dihapus dan menampilkan seluruh data kegiatan yang masih ada, seperti berikut ini: Gambar 4. 107 Hasil hapus donatur Queri untuk menghapus data donatur pertama-tama melakukan select donatur dari tabel kegiatan tersebut 169 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI berdasarkan id kegiatan yang sudah dipilih, lalu menghapus data donatur berdasarkan id donatur dari id kegiatan yang sudah dipilih, sebagai berikut: String query = "DELETE the(SELECT a.Donatur FROM Kegiatan a WHERE a.Id_Kegiatan = '" + prosesbean.getId_Kegiatan() + "' ) b WHERE b.id_Donatur= '" + prosesbean.getHapusId_Donatur() + "' "; Queri tersebut berada pada method deleteDonatur, dan di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: Gambar 4. 108 Servlet controller hapus data donatur 4.3.3. Implementasi Fitur Relationships using REF 4.3.3.1. Halaman Profil Di halaman profil untuk admin ini terdapat implementasi dari relationships using ref untuk menangani hubungan asosiasi antara tabel materi dengan tabel pengajarTetap, dan hubungan asosiasi antara tabel materi dengan tabel pengajarRelawan. 4.3.3.1.1. Tab menu Materi Menu ini berada di sebelah kiri halaman, isi dari tab menu ini adalah untuk mencari dan menampilkan data materi, menambah data, mengubah data, dan menghapus data materi. Implementasi 170 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI menggunakan fitur relationships using ref terdapat pada implementasi menampilkan data dan menambah data. Gambar 4. 109 Menu materi a. Menu Cari dan Tampil Data Pada menu ini, admin dapat melakukan pencarian data berdasarkan Nama atau ID, dan dapat melihat seluruh data materi dengan mengklik link “Lihat semua data materi yang diajarkan”. Tampilannya adalah sebagai berikut: Gambar 4. 110 Cari dan lihat data materi Jika data yang dicari ditemukan maka akan masuk ke halaman yang menampilkan data lengkap dari materi, sebagai berikut ini: 171 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 111 Hasil cari materi Berikut adalah queri yang digunakan untuk mencari data materi: String query = "select * from Materi where id_Materi = '" + cari.getId_Materi() + "' or nama_Materi = '" + cari.getNama_Materi() + "'"; Berikut adalah queri yang digunakan untuk menampilkan data pengajar tetap, menggunakan sintaks “JOIN ON REF” berdasarkan hasil dari Id Materi: String query1 = "SELECT * FROM PengajarTetap a JOIN Materi c ON REF (a) = c.pengajarT WHERE c.Id_Materi='" + result.getString("Id_Materi") + "'"; Berikut adalah queri yang digunakan untuk menampilkan data pengajar relawan, menggunakan sintaks “JOIN ON REF” berdasarkan hasil dari Id Materi: String query2 = "SELECT * FROM People b JOIN Materi c ON REF (b) = c.people WHERE c.Id_Materi='" + result.getString("Id_Materi") + "'"; b. Menu Tambah Data Pada menu ini, admin dapat melakukan penambahan data materi. Berikut adalah tampilan admin dalam memasukkan data: 172 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 112 Form tambah data materi Queri untuk menambah data materi terdiri dari tiga bagian, bagian pertama adalah untuk memasukkan data di atribut id materi dan nama materi menggunakan sintaks insert biasa, lalu bagian kedua memasukkan data pengajar tetap menggunakan sintaks select ref berdasarkan id anggota garuluku, bagian ketiga adalah memasukkan data pengajar relawan menggunakan sintaks select ref berdasarkan id pengara relawan, sebagai berikut: String query = "INSERT INTO Materi values('" + prosesbean.getId_Materi() + "', '" + prosesbean.getNama_Materi() + "' , the (select REF (a) From PengajarTetap a where a.id_AG= '" + prosesbean.getId_AG() + "'), the(select REF (b) From People b where b.id= '" + prosesbean.getId_PR() + "') )"; Query tersebut dijalankan pada method InserMateri yang terdapat dalam javabean, dan di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program pada kelas servlet controller: 173 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 113 Servlet controller tambah data materi Jika data berhasil dimasukkan, akan masuk ke halaman yang menampilkan seluruh data materi yang sudah dimasukkan: Gambar 4. 114 Hasil tambah data materi 4.3.3.2. Halaman Kegiatan 4.3.3.2.1. Tab menu edit halaman bagian menangani data Selenggara Di halaman kegiatan untuk admin ini terdapat implementasi dari relationships using ref yang menangani hubungan many to many antara tabel People yang jenis anggotanya adalah AnggotaGaruluku dan tabel Kegiatan, sehingga muncul tabel baru yaitu tabel PanitiaSelenggara yang isinya adalah Id anggota dan Id Kegiatan, yaitu untuk menyimpan data seorang anggota garuluku sudah berpartisipasi pada kegiatan apa saja, atau suatu kegiatan diselenggarakan oleh anggota garuluku siapa saja. Berikut ini adalah tampilan dari menu kegiatan: 174 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 115 Halaman kegiatan admin a. Menu Lihat Selenggara Implementasi Isi dari tab menu ini adalah untuk mencari data panitia penyelenggara suatu kegiatan dan melihat seluruh data penyelenggara kegiatan. Berikut adalah tampilannya: Gambar 4. 116 Lihat dan cari data penyelenggara kegiatan Jika ingin mencari data kegiatan diselenggarakan oleh anggota garuluku siapa saja, dapat mengetik di pencarian bagian id kegiatan, jika data ditemukan akan masuk ke halaman berikut ini: 175 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 117 Hasil cara data penyelenggara kegiatan Queri yang digunakan untuk menampilkan data yang dicari adalah sebagai berikut: String query = "select * from PanitiaSelenggara where id = '" + cari.getId_AG() + "' or id_Kegiatan = '" + cari.getId_Kegiatan() + "'"; b. Menu Tambah Selenggara Isi dari menu ini adalah untuk menambah data penyelenggara suatu kegiatan. Berikut adalah tampilannya: Gambar 4. 118 Tambah data penyelenggara kegiatan Admin memasukkan id anggota dan id kegiatan mana yang ia telah ikut berpartisipasi sebagai panitia penyelenggara. Jika data berhasil dimasukkan maka akan masuk ke halaman yang berisi seluruh data penyelenggara kegiatan, sebagai berikut ini: 176 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 119 Hasil tambah data penyelenggara kegiatan Queri yang digunakan untuk memasukkan data penyelenggara kegiatan adalah sebagai berikut: String query = "INSERT INTO PanitiaSelenggara VALUES ('" + prosesbean.getId_AG() + "', '" + prosesbean.getId_Kegiatan() + "')"; c. Menu Hapus Selenggara Isi dari menu ini adalah untuk menghapus data penyelenggara suatu kegiatan. Berikut adalah tampilannya: Gambar 4. 120 Hapus data penyelenggara kegiatan 177 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Admin mengisi id anggota dan id kegiatan mana yang ia telah ikut berpartisipasi sebagai panitia penyelenggara yang ingin dihapus datanya. Jika data berhasil dihapus maka akan masuk ke halaman yang berisi seluruh data penyelenggara kegiatan, sebagai berikut ini: Gambar 4. 121 Hasil hapus data penyelenggara kegiatan Queri yang digunakan untuk menghapus data penyelenggara kegiatan adalah sebagai berikut: String query = "DELETE FROM PanitiaSelenggara WHERE Id='" + prosesbean.getId_AG() + "' AND Id_Kegiatan='" + prosesbean.getId_Kegiatan() + "'"; 4.4. Implementasi Sistem Informasi LSM Garuluku-FORANDAKA Secara Umum 4.4.1. Implementasi Web untuk Pengunjung 4.4.1.1. Halaman Profil. 4.4.1.1.1. Tab Profil Umum 178 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 179 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 122 Halaman profil umum pada tampilan pengunjung 4.4.1.1.2. Tab Pengurus Forum Anak 180 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 123 Lihat dan cari data pengurus FORANDAKA Pada halaman ini, dapat melihat semua data dari pengurus FORANDAKA, dengan mengklik link bertuliskan “Lihat Semua Data Pengurus FORANDAKA 17”, maka akan muncul halaman yang berisi seluruh biodata dari seluruh pengurus, sebagai berikut: Gambar 4. 124 Halaman lihat semua data pengurus FORANDAKA Lalu di halaman ini dapat pula melihat struktur organisasi kepengurusan FORANDAKA, yaitu dengan mengklik bertuliskan “Lihat Struktur Organisasi”, maka akan ditampilkan gambar struktur organisasi sebagai berikut: 181 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 125 Halaman struktur organisasi FORANDAKA Lalu di halaman ini juga dapat mencari data pengurus, caranya adalah dengan melakukan pencarian melalui mengisi nama atau id anggota ada text box yang sudah disiapkan, lalu klik button cari. Berikut adalah query untuk melakukan pencarian: String query = "select * from pengurus where (nama= '" + cari.getNama_AG() + "' or id= '" + cari.getId_AG() + "') AND Jenis='Pengurus Forum Anak'"; Jika data yang dicari ada dalam database (contoh mencari pengurus dengan nama: Amri Raez) maka akan masuk ke dalam halaman yang menampilkan seluruh data dari pengurus yang dicari tersebut: 182 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 126 Halaman hasil pencarian Di tab Pengurus FORANDAKA ini juga terdapat tabel yang menampilkan seluruh id dan nama pengurus, agar pengunjung dapat dengan mudah mencari biodata seorang pengurus dengan melihat dahulu id dan nama yang ingin dicari melalui tabel tersebut. 4.4.1.1.3. Tab Pengurus Sanggar Anak Gambar 4. 127 Lihat dan cari pengurus Sanggar Anak Garuluku Pada halaman ini, dapat melihat semua data dari pengurus Sanggar Anak Garuluku, dengan mengklik link bertuliskan “Lihat Data Lengkap Seluruh Pengurus Sanggar Anak Garuluku”, maka 183 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI akan muncul halaman yang berisi seluruh biodata dari seluruh pengurus, sebagai berikut: Gambar 4. 128 Halaman lihat semua data pengurus Sanggar Anak Garuluku Lalu di halaman ini dapat pula melihat struktur organisasi kepengurusan Sanggar Anak Garuluku, yaitu dengan klik tulisan “Lihat Struktur Organisasi”, maka akan ditampilkan gambar struktur organisasi sebagai berikut: Gambar 4. 129 Struktur Organisasi Sanggar Anak Garuluku Lalu di halaman ini juga dapat mencari data pengurus, caranya adalah dengan melakukan pencarian melalui mengisi nama atau id anggota ada text box yang sudah disiapkan, lalu klik button cari. Berikut adalah query untuk melakukan pencarian: 184 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI String query = "select * from pengurus where (nama = '" + cari.getNama_AG() + "' or id= '" + cari.getId_AG() + "') AND Jenis='Pengurus Sanggar Anak'"; Jika data yang dicari ada dalam database (contoh mencari pengurus dengan nama: Eva Findriaku) maka akan masuk ke dalam halaman yang menampilkan seluruh data dari pengurus yang dicari tersebut: Gambar 4. 130 Halaman hasil pencarian Di tab Pengurus Sanggar Anak Garuluku ini juga terdapat tabel yang menampilkan seluruh id dan nama pengurus, agar pengunjung dapat dengan mudah mencari biodata seorang pengurus dengan melihat dahulu id dan nama yang ingin dicari melalui tabel tersebut. 4.4.1.1.4. Tab Data Anggota Forum Anak 185 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 131 Lihat dan cari data angota FORANDAKA Pada halaman ini, dapat melihat semua data dari anggota Forum Anak, dengan mengklik link bertuliskan “Lihat Data Lengkap Seluruh Anggota”, maka akan masuk ke halaman yang berisi seluruh biodata dari seluruh anggota forum anak, sebagai berikut: Gambar 4. 132 Halaman Lihat data lengkap anggota FORANDAKA Lalu di halaman ini juga dapat mencari data anggota, caranya adalah dengan melakukan pencarian melalui mengisi nama atau id anggota ada text box yang sudah disiapkan, lalu klik button cari. Berikut adalah query untuk melakukan pencarian: 186 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI String query = "select * from anggotaFA where nama_AG = '" + cari.getNama_AG() + "' or id_AG = '" + cari.getId_AG() + "'"; Jika data yang dicari ada dalam database (contoh mencari pengurus dengan nama: Asih Rahayu) maka akan masuk ke dalam halaman yang menampilkan seluruh data dari anggota yang dicari tersebut: Gambar 4. 133 Halaman hasil pencarian Di tab Anggota Forum Anak ini juga terdapat tabel yang menampilkan seluruh id dan nama anggota forum anak, agar pengunjung dapat dengan mudah mencari biodata seseorang dengan melihat dahulu id dan nama yang ingin dicari melalui tabel tersebut. 4.4.1.1.5. Tab Data Anggota Sanggar Anak 187 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 134 Lihat dan cari data anggota Sanggar Anak Garuluku Pada halaman ini, dapat melihat semua data dari anggota Sanggar Anak, dengan mengklik link bertuliskan “Lihat Semua Data Anggota Sanggar Anak Garuluku”, maka akan masuk ke halaman yang berisi seluruh biodata dari seluruh anggota sanggar anak, sebagai berikut: Gambar 4. 135 Halaman lihat semua data anggota Sanggar Anak Garuluku Lalu di halaman ini juga dapat mencari data anggota, caranya adalah dengan melakukan pencarian melalui mengisi nama atau id 188 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI anggota ada text box yang sudah disiapkan, lalu klik button cari. Berikut adalah query untuk melakukan pencarian: String query = "select * from anggotaSA where nama= '" + cari.getNama_AG() + "' or id= '" + cari.getId_AG() + "'"; Jika data yang dicari ada dalam database (contoh mencari anggota dengan nama: Agam Tri Eluario) maka akan masuk ke dalam halaman yang menampilkan data dari anggota yang dicari tersebut: Gambar 4. 136 Halaman hasil pencarian Di tab Anggota Sanggar Anak ini juga terdapat tabel yang menampilkan seluruh id dan nama anggota forum anak, agar pengunjung dapat dengan mudah mencari biodata seseorang dengan melihat dahulu id dan nama yang ingin dicari melalui tabel tersebut. 189 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 4.4.1.1.6. Tab Data Pengajar Tetap Gambar 4. 137 Lihat dan cari data pengajar tetap Pada halaman ini, dapat melihat semua data dari pengurus yang juga menjadi pengajar, dengan mengklik link bertuliskan “Lihat Semua Data Pengajar Tetap”, maka akan muncul halaman yang berisi seluruh biodata dari seluruh pengurus, sebagai berikut: Gambar 4. 138 Halaman lihat semua data pengajar Lalu di halaman ini juga dapat mencari data pengajar tetap, caranya adalah dengan melakukan pencarian melalui mengisi id atau hari ajar pengajar di text box yang sudah disiapkan, lalu klik button cari. Berikut adalah query untuk melakukan pencarian: 190 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI String query = "select * from PengajarTetap where id= '" + cari.getId_AG() + "' or hariAjar = '" + cari.getHariAjar() + "'"; Jika data yang dicari ada dalam database (contoh mencari pengajar yang hari ajarnya adalah hari: Sabtu) maka akan masuk ke dalam halaman yang menampilkan seluruh data dari pengajar yang dicari tersebut: Gambar 4. 139 Halaman hasil pencarian Di tab Pengajar Tetap ini juga terdapat tabel yang menampilkan seluruh id dan nama pengajar tetap, agar pengunjung dapat dengan mudah mencari biodata seseorang dengan melihat dahulu id dan nama yang ingin dicari melalui tabel tersebut. 4.4.1.1.7. Tab Data Pengajar Relawan 191 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 140 Lihat dan cari data pengajar relawan Pada halaman ini, dapat melihat semua data pengajar relawan, dengan mengklik link bertuliskan “Lihat Semua Data Pengajar Relawan”, maka akan muncul halaman yang berisi seluruh biodata dari seluruh pengajar relawan, sebagai berikut: Gambar 4. 141 Halaman lihat semua data pengajar relawan Lalu di halaman ini juga dapat mencari data pengajar relawan, caranya adalah dengan melakukan pencarian melalui mengisi id atau nama pengajar di text box yang sudah disiapkan, lalu klik button cari. Berikut adalah query untuk melakukan pencarian: String query = "select * from People where id= '" + cari.getId_PR() + "' or nama= '" + cari.getNama_PR() + "'"; 192 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Jika data yang dicari ada dalam database (contoh mencari pengajar relawan yang memiliki id: PR02) maka akan masuk ke dalam halaman yang menampilkan data dari pengajar yang dicari tersebut: Gambar 4. 142 Halaman hasil pencarian Di tab Pengajar Relawan ini juga terdapat tabel yang menampilkan seluruh id dan nama pengajar relawan, agar pengunjung dapat dengan mudah mencari biodata seseorang dengan melihat dahulu id dan nama yang ingin dicari melalui tabel tersebut. 4.4.1.1.8. Tab Data Anggota Garuluku Halaman ini menampilkan id dan nama seluruh anggota garuluku, baik yang dari forum anak desa kemadang, maupun sanggar anak garuluku, tampilannya adalah sebagai berikut: 193 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 143 Tab menu Data Anggota Garuluku Pada halaman ini, dapat melihat data lengkap dari semua anggota garuluku, dengan mengklik link bertuliskan “Lihat data lengkap seluruh anggota”, maka akan muncul halaman yang berisi seluruh biodata dari seluruh anggota, sebagai berikut: Gambar 4. 144 Halaman semua data anggota Garuluku 4.4.1.1.9. Tab Materi 194 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 145 Tab menu Materi Pada halaman ini, dapat melihat semua data materi, dengan mengklik link bertuliskan “Lihat semua materi yang diajarkan”, maka akan muncul halaman yang berisi seluruh materi juga pengajar yang mengajarkan materi tersebut, sebagai berikut: Gambar 4. 146 Halaman lihat semua materi yang diajarkan Lalu di halaman ini juga dapat mencari data materi, caranya adalah dengan melakukan pencarian melalui mengisi id atau nama materi di text box yang sudah disiapkan, lalu klik button cari. Berikut adalah query untuk melakukan pencarian: String query = "select * from Materi where id_Materi = '" + cari.getId_Materi() + "' or nama_Materi = '" + cari.getNama_Materi() + "'"; 195 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Jika data yang dicari ada dalam database (contoh mencari materi yang memiliki nama: Melukis) maka akan masuk ke dalam halaman yang menampilkan data dari pengajar yang dicari tersebut: Gambar 4. 147 Halaman hasil pencarian Di tab Materi ini juga terdapat tabel yang menampilkan seluruh id dan nama materi, agar pengunjung dapat dengan mudah mencari data materi dengan melihat dahulu id dan nama yang ingin dicari melalui tabel tersebut. 4.4.1.2. Halaman Services 196 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 148 Halaman Service 4.4.1.3. Halaman Kegiatan 4.4.1.3.1. Tab Arsip Kegiatan Pengunjung dapat memilih pada bagian arsip kegiatan, yang berisi tanggal suatu kegiatan diadakan, Setelah diklik, maka akan tampil suatu kegiatan beserta rinciannya, sebagai berikut: 197 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 149 Tab menu arsip kegiatan 4.4.1.3.2. Tab Lihat Selenggara Pengunjung dapat melihat seorang anggota sudah berpartisipasi sebagai panitia penyelenggara pada kegiatan apa saja. Caranya adalah klik tab “Lihat Selenggara”, sebagai berikut: 198 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 150 Tab menu selenggara Lalu klik link “Lihat Semua Data Penyelenggara Kegiatan”, maka akan masuk ke halaman berikut: Gambar 4. 151 Halaman lihat semua data penyelenggara kegiatan Pengunjung juga dapat melakukan pencarian, dengan cara mengisi id anggota atau id kegiatan yang ingin dicari. Supaya pengguna dapat dengan mudah mengetahui data ID, maka sudah disediakan tabel dibawahnya yang berisi semua data id dan nama anggota, juga id dan nama kegiatan. Misalnya ingin mencari data panitia penyelenggara kegiatan Peringatan Dirgahayu FORANDAKA dan Hari Perempuan Internasional, dengan ID Kegiatan adalah KG02, Hasil pencariannya adalah sebagai berikut: 199 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 152 Halaman hasil pencarian 4.4.1.3.3. Tab Lihat Foto Galeri Kegiatan Pengunjung dapat melihat seluruh gambar yang sudah diupload ke dalam web, melalui tab ini. Hasilnya adalah sebagai berikut: Gambar 4. 153 Lihat galeri foto kegiatan Query untuk menampilkan gambar di tab ini adalah : String query = "select Title, Photo from galeri where (title !='Struktur Organisasi FA' and title !='Struktur Organisasi SA')"; 4.4.1.4. Halaman Hubungi Kami 200 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pada halaman ini, pengunjung dapat melihat data email garuluku, alamat balai anak garuluku, juga nomor telepon yang bisa dihubungi. Di halaman ini pengunjung dapat mengirim pesan langsung untuk ditampilkan di halaman ini juga, agar bisa dibaca oleh semua orang yang membuka halaman ini. Tampilannya adalah sebagai berikut: Gambar 4. 154 Halaman hubungi kami Query untuk menyimpan data hubungi kami di gambar di atas adalah: String query = "INSERT INTO ContactUs values('" + prosesbean.getName() + "' , '" + prosesbean.getEmail() + "' , '" + prosesbean.getMessage() + "')"; 4.4.2. Implementasi Web untuk Admin 4.4.2.1. Halaman Login 201 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Halaman Login merupakan halaman login untuk admin. Agar dapat masuk ke dalam sistem ini, admin harus memasukkan username dan password. Gambar 4. 155 Halaman Login admin Pada halaman berikut akan muncul pesan error yakni adalah jika admin salah memasukkan username atau password. Gambar 4. 156 Halaman pesan login error Pada halaman berikut adalah jika admin berhasil login, akan masuk ke halaman bahwa admin telah masuk ke sistem. Pada halaman ini terdapat 202 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI button Logout jika admin ingin keluar dari sistem, dan terdapat menu “Ubah akun admin” untuk mengubah akun username dan password admin. Gambar 4. 157 Halaman sukses login admin 4.4.2.2. Halaman Services Halaman Service disini berisi tentang kesediaan pengunjung atau masyarakat luas yang ingin mendaftarkan diri menjadi donatur. Admin dapat melihat siapa saja yang sudah mendaftar menjadi donatur. 203 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 158 Halaman service admin 4.4.2.2.1. Menu Lihat Donatur yang sudah mendaftar Menu ini berada di paling bawah setelah keterangan mengenai info untuk pengunjung yang ingin menjadi donatur. Jika admin mengklik link ini, maka admin akan masuk ke halaman yang berisi donatur yang sudah mendaftar, seperti berikut ini: Gambar 4. 159 Hasil lihat data donatur yang mendaftar Queri untuk menampilkan donatur yang sudah mendaftar adalah: 204 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI String query = Tanggal_beriL"; 4.4.2.3. "select * from DonaturL order by Halaman Kegiatan Implementasi secara umum pada bagoian halaman kegiatan terletak pada menu untuk mengatur galeri foto, pada bagian edit halaman, sebagai berikut tampilannya: Gambar 4. 160 Halaman kegiatan admin 4.4.2.3.1. Menu Lihat Foto Kegiatan Isi dari tab menu ini adalah seluruh foto galeri kegiatan yang sudah dimasukkan. Berikut adalah tampilannya: 205 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 161 Lihat foto galeri kegiatan Queri untuk menampilkan foto galeri kegiatan adalah sebagai berikut: String query = "select Title, Photo from galeri where (title !='Struktur Organisasi FA' and title !='Struktur Organisasi SA')"; 4.4.2.3.2. Menu Tambah Foto Kegiatan Isi dari tab menu ini adalah untuk menambah foto di galeri kegiatan. Berikut adalah tampilannya: 206 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 162 Tambah foto galeri kegiatan Admin mengisi Id foto, Judul foto, dan memilih foto mana yang akan dimasukkan, jika proses upload berhasil, maka akan masuk ke halaman yang menampilkan seluruh data foto yang sudah dimasukkan, sebagai berikut: Gambar 4. 163 Hasil tambah foto galeri kegiatan Queri untuk memasukkan foto galeri kegiatan adalah sebagai berikut: String query = "select Title, Photo from galeri where (title !='Struktur Organisasi FA' and title !='Struktur Organisasi SA')"; 4.4.2.3.3. Menu Hapus Foto Kegiatan 207 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Isi dari tab menu ini adalah untuk menghapus foto di galeri kegiatan. Berikut adalah tampilannya: Gambar 4. 164 Hapus data foto kegiatan Admin mengisi berdasarkan Id foto atau Judul foto apa yang ingin dihapus, jika proses hapus berhasil, maka akan masuk ke halaman yang menampilkan seluruh data foto, sebagai berikut: Gambar 4. 165 Hasil hapus foto galeri kegiatan Queri untuk menghapus foto galeri kegiatan adalah sebagai berikut: String query = "DELETE FROM Galeri WHERE id='" + id + "' OR title ='" + title + "'"; 208 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 4.4.3. Implementasi Web untuk Donatur 4.4.3.1. Jika Halaman Services seorang pengunjung ingin menjadi donatur, dapat mendaftarkan diri melalui Menu Service ini. Pengunjung dapat memilih link untuk mendaftar “disini” yang ada di dalam tampilan halaman service. Tampilan halaman services adalah sebagai berikut: Gambar 4. 166 Halaman service untuk donatur Setelah pengunjung klik pada link untuk mendaftar, maka akan masuk ke form untuk pengunjung mengisi data dirinya sebagai berikut: 209 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 167 Daftar donatur Setelah berhasil mendaftar akan masuk ke halaman berikut ini: Gambar 4. 168 Hasil daftar donatur Pengunjung yang telah mendaftar menjadi donutur akan diberikan username dan password, sehingga donatur dapat melihat data laporan keuangan dan data donatur suatu kegiatan. Username dan password yang telah diberikan dapat diubah oleh donatur pada menu ubah akun login. Jika donatur ingin login, dapat melalui services lalu klik link untuk login di sini, sebagai berikut: 210 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 169 Login donatur Jika berhasil login, akan masuk ke halaman berikut ini: Gambar 4. 170 Halaman sukses login donatur 4.4.3.2. Halaman Kegiatan Seorang donatur yang sudah login, dapat melihat data laporan keuangan suatu kegiatan, dan data donatur yang berpartisipasi dalam suatu kegiatan. Data tersebut dapat dilihat di menu Kegiatan, lalu klik pilihan pada bagian arsip kegiatan berdasarkan tanggal kegiatan. Tampilannya adalah sebagai berikut: 211 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 171 Halaman kegiatan untuk donatur Jika donatur mengklik link “Lihat Donatur” maka akan tampil data donatur kegiatan tersebut, sebagai berikut ini: Gambar 4. 172 Lihat donatur Jika donatur mengklik link “Lihat Laporan Keuangan” maka akan tampil data laporan keuangan dari kegiatan tersebut, sebagai berikut ini: 212 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4. 173 Lihat Laporan keuangaan 213 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI BAB V ANALISA HASIL 5.1. Analisa Hasil Perangkat Lunak Berdasarkan hasil implementasi penerapan basis data relasional objek ke dalam sistem informasi LSM Garuluku – FORANDAKA, dapat dianalisa bahwa sistem informasi ini dapat bekerja dengan baik. Adapun fitur-fitur BDRO yang diterapkan pada sistem informasi ini adalah Object Types. Fitur ini membantu dalam pembuatan basis data relasional objek, yaitu membuat suatu tipe objek baru untuk diterapkan ke dalam suatu tabel. Tipe objek pada kasus ini digunakan dalam mengimplementasikan fitur nested table, inheritance, dan relationships using REF. Pada nested table, diimplementasikan ke table kegiatan yang memiliki nested table donatur dan table lapKeuangan yang memiliki nested table detailPengeluaran. Tipe objek di sini dibutuhkan untuk membuat suatu tabel objek, yang mana tabel objek ini digunakan untuk menjadi kolom pada tabel yang mendasarinya, kolom ini menyimpan data nested table didalam tabel objek tersebut yang mana berhubungan dengan tipe objek. Pada inheritance, tipe objek perlu digunakan sebagai tempat untuk menyimpan atribut dari tabel objeknya dan sebagai tempat untuk mendeklarasikan kata kunci “under” pada statement “create 214 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI type” untuk membuat subtype dari supertype. Pada relationships using REF, tipe objek disini berguna bagi suatu kolom dalam suatu tabel yang memiliki hubungan dengan tabel lain atau datanya berasal dari tabel lain, untuk menyimpan data pada kolom tersebut efektif bila menggunakan tipe objek sebagai tipe datanya. Inheritance Relationships Using Under : Partition Inheritance dan Union Inheritance. People dibagi menjadi dua yaitu sebagai Pengajar Relawan dan Anggota Garuluku, yang merupakan partition inheritance, karena tiap anggota dari people haruslah milik satu dari tiap seb kelasnya, yaitu sub kelas Pengajar Relawan atau sub kelas Anggota Garuluku. Anggota Garuluku memiliki tiga jenis keanggotaan, yaitu sebagai angota Forum Anak, anggota Sanggar Anak, dan sebagai pengurus organisasi Forum Anak dan Sanggar Anak, yang merupakan union inheritance, karena seorang anggota Forum Anak atau seorang anggota Sanggar Anak bisa juga sebagai seorang Pengurus. Hal ini cocok ditangani dengan menggunakan BDRO karena lebih mudah dan sederhana menggunakan inheritance daripada join. Collection Types : Nested Table Satu kegiatan di dalamnya terdapat banyak donatur yang khusus untuk kegiatan tersebut. Satu laporan keuangan di dalam nya terdapat banyak rincian detail pengeluaran yang khusus hanya 215 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI untuk laporan keuangan tersebut. Fitur nested table sangat cocok untuk menangani kasus ini, dalam menangani data-data menjadi lebih sederhana daripada membuat tabel yang terpisah-pisah akan sulit untuk menghubungkan data-data didalam tabel yang terpisahpisah tersebut. Relationships Using Ref Terdapat hubungan asosiasi antara kegiatan dengan laporan keuangan, dan antara materi yang diajarkan di balai anak garuluku dengan pengajar materi tersebut. Untuk mereferensikan hubungan tersebut, cukup baik diimplemetasikan dengan mengunakan kata kunci REF, teknik ini dapat menggantikan operasi standar join Adapun kelebihan dan kekurangan dari penerapan Basis Data Relasional Objek pada sistem informasi ini adalah sebagai berikut: Kelebihan : Dengan menggunakan basis data relasional objek, dapat menghemat ruang penyimpanan khususnya dalam implementasi model inheritance (pewarisan) dan nested table (table bersarang). Kekurangan : Implementasi Data Manipulation Language basis data relasional objek ke dalam bahasa pemprograman JSP menjadi lebih sulit dibandingkan dengan model basis data relasional biasa, karena struktur tabel yang 216 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI bertipe objek yang memiliki hubungan dengan tabel objek lainnya (kompleks), sehingga membutuhkan lebih dari satu kueri untuk menampilkan data dalam satu tabel pada tampilan web. 5.2. Analisa Hasil Uji Coba terhadap Pengguna Uji coba terhadap pengguna dilakukan dengan menyebarkan kuisioner kepada 22 orang, yang terdiri dari 10 orang anggota garuluku, 1 orang pengurus Garuluku sebagai admin, 5 orang donatur, dan 6 orang masyarakat luas. 5.2.1. Form Kuisioner Form kuisioner yang disebarkan untuk calon pengguna sistem informasi ini adalah (lihat lampiran ke-1) : a. Form pertanyaan umum untuk semua responden (masyarakat umum, anggota garuluku, donatur, dan admin) b. Form pertanyaan khusus untuk donatur c. Form pertanyaan khusus untuk admin / pengurus garuluku. 5.2.2. Hasil dan Pembahasan Hasil jawaban responden kemudian diolah sehingga memperoleh gambaran sebagai berikut: 5.2.2.1. Hasil Uji Coba terhadap Pertanyaan umum Pertanyaan 1 : 217 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Sistem menyediakan informasi yang tepat dan jelas mengenai profil Garuluku dan FORANDAKA Jawaban Jumlah Responden Total Sangat Tidak Setuju 0 0.00% Tidak Setuju 0 0.00% Netral 0 0.00% Setuju 15 68.18% Sangat Setuju 7 31.82% Tabel 5. 1 Tabel hasil kuisioner pertanyaan 1 untuk semua responden Pertanyaan 1 16 14 12 10 8 6 4 2 0 Jumlah Responden Sangat Tidak Netral Setuju Sangat Tidak Setuju Setuju Setuju Gambar 5. 1 Grafik pertanyaan 1 untuk semua responden Dari perhitungan di atas diketahui bahwa secara umum sistem sudah menyediakan informasi yang tepat dan jelas mengenai profil Garuluku dan FORANDAKA Pertanyaan 2 : Sistem menyediakan informasi yang tepat dan jelas mengenai data pengurus sanggar anak Garuluku dan data pengurus FORANDAKA 218 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Jawaban Jumlah Responden Total Sangat Tidak Setuju 0 0.00% Tidak Setuju 0 0.00% Netral 0 0.00% Setuju 12 54.55% Sangat Setuju 10 45.45% Tabel 5. 2 Tabel hasil kuisioner pertanyaan 2 untuk semua responden Pertanyaan 2 14 12 10 8 6 4 2 0 Jumlah Responden Sangat Tidak Netral Setuju Sangat Tidak Setuju Setuju Setuju Gambar 5. 2 Grafik pertanyaan 2 untuk semua responden Dari perhitungan di atas diketahui bahwa secara umum sistem sudah menyediakan informasi yang tepat dan jelas mengenai data pengurus sanggar anak Garuluku dan data pengurus FORANDAKA Pertanyaan 3 : Sistem menyediakan informasi yang tepat dan jelas mengenai data pengajar tetap, pengajar relawan, maupun materi yang diajarkan. Jawaban Jumlah Responden Total Sangat Tidak Setuju 0 0.00% 219 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Tidak Setuju 0 0.00% Netral 1 4.55% Setuju 13 59.09% Sangat Setuju 8 36.36% Tabel 5. 3 Tabel hasil kuisioner pertanyaan 3 untuk semua respponden Pertanyaan 3 14 12 10 8 6 4 2 0 Jumlah Responden Sangat Tidak Netral Setuju Sangat Tidak Setuju Setuju Setuju Gambar 5. 3 Grafik pertanyaan 3 untuk semua responden Dari perhitungan di atas diketahui bahwa secara umum sistem sudah menyediakan informasi yang tepat dan jelas mengenai data pengajar tetap, pengajar relawan, maupun materi yang diajarkan. Pertanyaan 4 : Sistem menyediakan informasi yang tepat dan jelas mengenai data kegiatan. Jawaban Jumlah Responden Total Sangat Tidak Setuju 0 0.00% Tidak Setuju 0 0.00% Netral 1 4.55% 220 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Setuju 12 54.55% Sangat Setuju 9 40.91% Tabel 5. 4 Tabel hasil kuisioner pertanyaan 4 untuk semua responden Pertanyaan 4 14 12 10 8 6 4 2 0 Jumlah Responden Sangat Tidak Netral Setuju Sangat Tidak Setuju Setuju Setuju Gambar 5. 4 Grafik pertanyaan 4 untuk semua responden Dari perhitungan di atas diketahui bahwa secara umum sistem sudah menyediakan informasi yang tepat dan jelas mengenai data kegiatan. Pertanyaan 5 : Sistem menyediakan informasi yang tepat dan jelas mengenai data penyelenggara kegiatan. Jawaban Jumlah Responden Total Sangat Tidak Setuju 0 0.00% Tidak Setuju 0 0.00% Netral 1 4.55% Setuju 15 68.18% Sangat Setuju 6 27.27% Tabel 5. 5 Tabel hasil kuisioner pertanyaan 5 untuk semua responden 221 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pertanyaan 5 20 15 10 5 Jumlah Responden 0 Sangat Tidak Tidak Setuju Setuju Netral Setuju Sangat Setuju Gambar 5. 5 Grafik pertanyaan 5 untuk semua responden Dari perhitungan di atas diketahui bahwa secara umum sistem sudah menyediakan informasi yang tepat dan jelas mengenai data kegiatan. Pertanyaan 6 : Sistem menyediakan informasi yang tepat dan jelas pada saat diperlukan. Jawaban Jumlah Responden Sangat Tidak 0 Setuju Tidak Setuju 0 Netral 4 Total 0.00% 0.00% 18.18% Setuju 10 45.45% Sangat Setuju 8 36.36% Tabel 5. 6 Tabel hasil kuisioner pertanyaan 6 untuk semua responden 222 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pertanyaan 6 12 10 8 6 4 2 0 Jumlah Responden Sangat Tidak Netral Setuju Sangat Tidak Setuju Setuju Setuju Gambar 5. 6 Grafik pertanyaan 6 untuk semua responden Dari perhitungan di atas diketahui bahwa secara umum sistem sudah menyediakan informasi yang tepat dan jelas pada saat diperlukan. Pertanyaan 7 : Sistem mudah dipahami. Jawaban Jumlah Responden Total Sangat Tidak Setuju 0 0.00% Tidak Setuju 0 0.00% Netral 4 18.18% Setuju 7 31.82% Sangat Setuju 11 50.00% Tabel 5. 7 Tabel hasil kuisioner pertanyaan 7 untuk semua responden 223 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pertanyaan 7 15 10 5 Jumlah Responden 0 Sangat Tidak Netral Setuju Sangat Tidak Setuju Setuju Setuju Gambar 5. 7 Grafik pertanyaan 7 untuk semua responden Dari perhitungan di atas diketahui bahwa secara umum sistem mudah dipahami. Pertanyaan 8 : Sistem mudah digunakan. Jawaban Jumlah Responden Total Sangat Tidak Setuju 0 0.00% Tidak Setuju 0 0.00% Netral 2 9.09% Setuju 9 40.91% Sangat Setuju 11 50.00% Tabel 5. 8 Tabel hasil kuisioner pertanyaan 8 untuk semua responden 224 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pertanyaan 8 12 10 8 6 4 2 0 Jumlah Responden Sangat Tidak Netral Setuju Sangat Tidak Setuju Setuju Setuju Gambar 5. 8 Grafik pertanyaan 8 untuk semua responden Dari perhitungan di atas diketahui bahwa secara umum sistem mudah digunakan. Pertanyaan 9 : Informasi yang disajikan jelas untuk dimengerti. Jawaban Jumlah Responden Total Sangat Tidak Setuju 0 0.00% Tidak Setuju 0 0.00% Netral 2 9.09% Setuju 9 40.91% Sangat Setuju 11 50.00% Tabel 5. 9 Tabel hasil kuisioner pertanyaan 9 untuk semua responden 225 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pertanyaan 9 12 10 8 6 4 2 0 Jumlah Responden Sangat Tidak Tidak Setuju Setuju Netral Setuju Sangat Setuju Gambar 5. 9 Grafik pertanyaan 9 untuk semua responden Dari perhitungan di atas diketahui bahwa secara umum informasi yang disajikan jelas untuk dimengerti. Pertanyaan 10 : Tata letaknya mudah dibaca Jawaban Jumlah Responden Total Sangat Tidak Setuju 0 0.00% Tidak Setuju 0 0.00% Netral 1 4.55% Setuju 11 50.00% Sangat Setuju 10 45.45% Tabel 5. 10 Tabel hasil kuisioner pertanyaan 10 untuk semua responden 226 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pertanyaan 10 15 10 5 Jumlah Responden 0 Sangat Tidak Netral Setuju Sangat Tidak Setuju Setuju Setuju Gambar 5. 10 Grafik pertanyaan 10 untuk semua responden Dari perhitungan di atas diketahui bahwa secara umum tata letak sistem ini mudah dibaca Pertanyaan 11 : Keluaran (report) yang disajikan dalam format yang sesuai dengan kebutuhan. Jawaban Jumlah Responden Total Sangat Tidak Setuju 0 0.00% Tidak Setuju 0 0.00% Netral 3 13.64% Setuju 14 63.64% Sangat Setuju 5 22.73% Tabel 5. 11 Tabel hasil kuisioner pertanyaan 11 untuk semua responden 227 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pertanyaan 11 15 10 5 Jumlah Responden 0 Sangat Tidak Netral Setuju Sangat Tidak Setuju Setuju Setuju Gambar 5. 11 Grafik pertanyaan 11 untuk semua responden Dari perhitungan di atas diketahui bahwa secara umum keluaran (report) yang disajikan dalam format yang sesuai dengan kebutuhan. Pertanyaan 12 : Sistem memiliki proses input data yang mudah. Jawaban Jumlah Responden Total Sangat Tidak Setuju 0 0.00% Tidak Setuju 0 0.00% Netral 4 18.18% Setuju 9 40.91% Sangat Setuju 9 40.91% Tabel 5. 12 Tabel hasil kuisioner pertanyaan 12 untuk semua responden 228 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pertanyaan 12 10 8 6 4 Jumlah Responden 2 0 Sangat Tidak Setuju Tidak Setuju Netral Setuju Sangat Setuju Gambar 5. 12 Grafik pertanyaan 12 untuk semua responden Dari perhitungan di atas diketahui bahwa secara umum sistem ini memiliki proses input data yang mudah. 5.2.2.2. Hasil Uji Coba terhadap Pertanyaan Khusus Donatur Pertanyaan 1 : Sistem menyediakan proses untuk mendaftar sebagai Donatur dengan jelas dan teratur. Jawaban Jumlah Responden Total Sangat Tidak Setuju 0 0.00% Tidak Setuju 0 0.00% Netral 0 0.00% Setuju 1 20.00% Sangat Setuju 4 80.00% Tabel 5. 13 Tabel hasil kuisioner pertanyaan 1 untuk donatur 229 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pertanyaan 1 5 4 3 2 1 0 Jumlah Responden Sangat Tidak Tidak Setuju Setuju Netral Setuju Sangat Setuju Gambar 5. 13 Grafik pertanyaan 1 untuk donatur Dari perhitungan di atas diketahui bahwa secara umum sistem menyediakan proses untuk mendaftar sebagai Donatur dengan jelas dan teratur. Pertanyaan 2 : Sistem menyediakan proses untuk mengubah data akun login donatur dengan jelas dan teratur. Jawaban Jumlah Responden Total Sangat Tidak Setuju 0 0.00% Tidak Setuju 0 0.00% Netral 0 0.00% Setuju 1 20.00% Sangat Setuju 4 80.00% Tabel 5. 14 Tabel hasil kuisioner pertanyaan 2 untuk donatur 230 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pertanyaan 2 5 4 3 2 1 0 Jumlah Responden Sangat Tidak Tidak Setuju Setuju Netral Setuju Sangat Setuju Gambar 5. 14 Grafik pertanyaan 2 untuk donatur Dari perhitungan di atas diketahui bahwa secara umum sistem menyediakan proses untuk mengubah data akun login donatur dengan jelas dan teratur. Pertanyaan 3 : Sistem menyediakan proses untuk melihat data kegiatan beserta laporan keuangan, dan data donatur dengan jelas dan teratur. Jawaban Jumlah Responden Total Sangat Tidak Setuju 0 0.00% Tidak Setuju 0 0.00% Netral 0 0.00% Setuju 0 0.00% Sangat Setuju 5 100.00% Tabel 5. 15 Tabel hasil kuisioner pertanyaan 3 untuk donatur 231 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pertanyaan 3 6 5 4 3 2 1 0 Jumlah Responden Sangat Tidak Setuju Tidak Setuju Netral Setuju Sangat Setuju Gambar 5. 15 Grafik pertanyaan 3 untuk donatur Dari perhitungan di atas diketahui bahwa secara umum sistem menyediakan proses untuk melihat data kegiatan beserta laporan keuangan, dan data donatur dengan jelas dan teratur Kesimpulan dari hasil kuisioner diatas berdasarkan kategori adalah: No Keterangan 1 Sistem menyediakan informasi yang tepat dan jelas mengenai profil Garuluku dan FORANDAKA 2 Sistem menyediakan informasi yang tepat dan jelas mengenai data pengurus sanggar anak Garuluku dan data pengurus FORANDAKA 3 Sistem menyediakan informasi yang tepat dan jelas mengenai data pengajar tetap, pengajar relawan, maupun materi yang diajarkan 4 Sistem menyediakan informasi yang tepat dan jelas mengenai data kegiatan 5 Sistem menyediakan informasi yang tepat dan jelas mengenai data penyelenggara kegiatan 6 Sistem menyediakan informasi yang tepat dan jelas pada saat diperlukan 7 Sistem menyediakan proses untuk mendaftar sebagai Donatur dengan jelas dan teratur 8 Sistem menyediakan proses untuk mengubah Kategori Effectiveness Hasil 100% Effectiveness 100% Effectiveness 95,45% Effectiveness 95,46% Effectiveness 95,45% Effectiveness 81.81% Effectiveness 100% Effectiveness 100% 232 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI data akun login donatur dengan jelas dan teratur 9 Sistem menyediakan proses untuk melihat data Effectiveness kegiatan beserta laporan keuangan, dan data donatur dengan jelas dan teratur 10 Sistem mudah dipahami Easy of Use 11 Sistem mudah digunakan Easy of Use Hasil rata-rata presentase kategori Effectiveness Hasil rata-rata presentase kategori Easy of Use 5.2.2.3. 100% 81.82% 90,91% 97% 81,82% Hasil Uji Coba terhadap Pertanyaan Khusus Admin Dari hasil jawaban yang diberikan oleh admin, dapat diketahui bahwa secara umum admin setuju bahwa proses-proses dalam menampilkan, memasukkan, mengubah, dan menghapus data-data sudah jelas dan teratur. Adapun tabel hasil jawaban yang diberikan adalah sebagai berikut: No Keterangan 1 Sistem menyediakan proses untuk Effectiveness menambah data pengurus sanggar anak Garuluku, data pengurus FORANDAKA, data pengajar, data materi dengan jelas dan teratur Sistem menyediakan proses untuk Effectiveness mengubah data pengurus sanggar anak Garuluku, data pengurus FORANDAKA, data pengajar, data materi dengan jelas dan teratur 2 Kategori 1 2 3 4 5 233 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 3 4 5 6 7 8 9 10 11 Sistem menyediakan proses untuk Effectiveness menghapus data pengurus sanggar anak Garuluku, data pengurus FORANDAKA, data pengajar, data materi dengan jelas dan teratur Sistem menyediakan proses untuk Effectiveness menambah data kegiatan, dan data donatur dengan jelas dan teratur Sistem menyediakan proses untuk Effectiveness mengubah data kegiatan, dan data donatur dengan jelas dan teratur Sistem menyediakan proses untuk menghapus data kegiatan, dan data donatur dengan jelas dan teratur Sistem menyediakan proses untuk menambah data laporan keuangan, dan data detail pengeluaran dengan jelas dan teratur Sistem menyediakan proses untuk mengubah data laporan keuangan, dan data detail pengeluaran dengan jelas dan teratur Sistem menyediakan proses untuk menghapus data laporan keuangan, dan data detail pengeluaran dengan jelas dan teratur Sistem menyediakan proses untuk menambah data penyelenggara kegiatan dengan jelas dan teratur Effectiveness Effectiveness Effectiveness Effectiveness Effectiveness Sistem menyediakan proses untuk Effectiveness mengubah data penyelenggara kegiatan dengan jelas dan teratur 234 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 12 Sistem menyediakan proses untuk Effectiveness menghapus data penyelenggara kegiatan dengan jelas dan teratur 13 Sistem menyediakan proses untuk Effectiveness menambah foto kegiatan dan galeri kegiatan dengan jelas dan teratur Sistem menyediakan proses untuk Effectiveness menghapus foto kegiatan dan galeri kegiatan dengan jelas dan teratur Sistem menyediakan proses untuk Effectiveness mengubah data login admin dengan jelas dan teratur 14 15 235 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI BAB VI PENUTUP 6.1. Kesimpulan Berdasarkan analisa hasil, desain, implementasi, serta uji coba sistem ini dapat disimpulkan bahwa: a. Penerapan Basis Data Relasional Objek pada Sistem Informasi LSM Garuluku-FORANDAKA 17 yang berbasis web ini berhasil dibuat dengan menggunakan Oracle Database 10g, dan menggunakan bahasa pemprograman JSP. Fitur Basis data relasional objek yang sesuai dapat membantu implementasi basis data dalam sistem informasi ini antara lain: Object Types Collection Types : Nested Table Relationships using REF Inheritance Relationships using Under : Partition Inheritance dan Union Inheritance b. Pemanfaatan fitur Basis Data Relasional Objek yang digunakan dalam menangani pengelolaan data antara lain adalah dalam menangani data kegiatan dan data laporan keuangan yang membutuhkan Nested Table dan fitur Relationships Using REF. People yang terpartisi atas Anggota Garuluku dan Pengajar Tetap menggunakan fitur Partition Inheritance. Data Anggota Garuluku yang memiliki tiga jenis keanggotaan 236 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI menggunakan fitur Union Inheritance. Data materi yang diajarkan oleh pengajar tetap dan pengajar relawan menggunakan Relationships Using REF. c. Dari hasil uji coba terhadap pengguna dapat disimpulkan bahwa Sistem Informasi LSM Garuluku-FORANDAKA 17 yang berbasis web ini dapat menjadi sarana penghubung dengan berbagai pihak dalam menyampaikan informasi tentang kegiatan, struktur organisasi, data keanggotaan, dan data laporan keuangan. Hal ini dibuktikan dari 97% responden yang menyatakan setuju bahwa sistem ini sudah efektif dalam menyajikan informasi profil Garuluku, data keanggotaan, data kegiatan, data laporan keuangan dengan tepat dan jelas, dan 81,82% responden menyatakan setuju bahwa sistem ini mudah digunakan. d. Kekurangan dari sistem informasi ini adalah tampilan web yang kurang berwarna, dan kurang menarik, serta anggota garuluku tidak dapat melakukan login ke dalam sistem. 6.2 Saran Saran yang penulis berikan dalam mengembangkan sistem ini adalah: a. Pengembangan sistem dimana Anggota Garuluku (pengurus organisasi) dapat melakukan login ke dalam sistem, agar dapat membantu admin memperbaharui data-data yang ada sehingga informasi yang ditampilkan adalah informasi yang terbaharui. 237 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI b. Memperindah tampilan web menjadi lebih berwarna dan menjadi lebih menarik c. Menambahkan fitur kolom komentar di arsip kegiatan. 238 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI DAFTAR PUSTAKA -, Database Application Developer's Guide - Object-Relational Features, https://docs.oracle.com/cd/B19306_01/appdev.102/b14260/adobjint.htm#s thref61/ diakses pada tanggal 21 agustus 2015 Connoly & Begg, 2005, Database Systems : A Practical Approach to Design, Implementation, and Management, 4th edition, Chapter 2 Edhy Sutanta. 2003. Sistem Informasi Manajemen, Graha Ilmu, Yogyakarta. Fitzgerald, Jerry. FitzGerald, Ardra F. and Stalling Jr, Warren D. (1981) Fundamentals Of System Analysis, Edisi kedua, John Willey & Sons, New York. Jogiyanto HM, 2001, Analisis & Desain Sistem Informasi : Pendekatan Terstruktur Teori dan Praktek Aplikasi Bisnis, Andi, Yogyakarta. Muhammad Edwin, Tutorial upload file dan isi form sederhana ke database dengan JSP, http://edwin.baculsoft.com/2011/01/tutorial-upload-file-danisi-form-sederhana-ke-database-dengan-jsp/ diakses pada tanggal 15 juni 2015 NN, Select statement REF oracle, http://stackoverflow.com/questions/17130527/select-statement-ref-oracle diakses pada tanggal 9 juni 2015 Wenny Rahayu, David Taniar, Eric Pardede, 2006, Object-Oriented Oracle, IRM Press, London, UK. 239 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI LAMPIRAN KUISIONER PENERAPAN BASIS DATA RELATIONAL OBJEK PADA SISTEM INFORMASI LSM GARULUKU--FORUM ANAK DESA KEMADANG Pengantar : Kuesioner ini digunakan untuk survei terhadap Sistem Informasi pada skripsi saya untuk mendapatkan gelar Sarjana Teknik. Tidak ada jawaban yang benar maupun salah, anda diharapkan untuk menjawab pertanyaan-pertanyaan yang diberikan seakurat mungkin berdasarkan pengalaman anda. Terima Kasih sebelumnya atas bantuan dan dukungan anda. Hormat Saya, (Ria Riska Topurmera) Responden, bertindak sebagai : (Diisi tanda check pada pilihan berikut) 1. ( ) Masyarakat umum 3. ( ) Admin 2. ( ) Anggota Garuluku 4. ( ) Donatur Berikut ini pertanyaan-pertanyaan untuk mengetahui hasil penggunaan sistem informasi ini. Anda cukup menilai apakah anda setuju atau tidak terhadap pertanyaan yang diajukan dengan ketentuan sebagai berikut : 1 = Sangat tidak setuju 2 = Tidak setuju 4 = Setuju 5 = Sangat setuju 3 = Netral A. Pertanyaan Umum (Diisi oleh semua responden) No Keterangan Kategori 1 2 3 4 5 240 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 1 2 3 4 5 6 7 8 9 10 11 12 Sistem menyediakan informasi yang tepat dan jelas mengenai profil Garuluku dan FORANDAKA Sistem menyediakan informasi yang tepat dan jelas mengenai data pengurus sanggar anak Garuluku dan data pengurus FORANDAKA Sistem menyediakan informasi yang tepat dan jelas mengenai data pengajar tetap, pengajar relawan, maupun materi yang diajarkan Sistem menyediakan informasi yang tepat dan jelas mengenai data kegiatan Sistem menyediakan informasi yang tepat dan jelas mengenai data penyelenggara kegiatan Sistem menyediakan informasi yang tepat dan jelas pada saat diperlukan Sistem mudah dipahami Sistem mudah digunakan Informasi yang disajikan jelas untuk dimengerti Tata letaknya mudah dibaca Keluaran (report) yang disajikan dalam format yang sesuai dengan kebutuhan Sistem memiliki proses input data yang mudah B. Pertanyaan Khusus: Effectiveness Effectiveness Effectiveness Effectiveness Effectiveness Effectiveness Easy of Use Easy of Use User Interface User Interface User Interface User Interface Hanya diisi oleh Donatur 241 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI No 1 2 3 Keterangan Kategori Sistem menyediakan proses Effectiveness untuk mendaftar sebagai Donatur dengan jelas dan teratur Sistem menyediakan proses Effectiveness untuk mengubah data akun login donatur dengan jelas dan teratur Sistem menyediakan proses Effectiveness untuk melihat data kegiatan beserta laporan keuangan, dan data donatur dengan jelas dan teratur 1 2 3 4 5 242 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI C. Pertanyaan Khusus: Hanya diisi oleh Admin No Keterangan Kategori 1 2 1 Sistem menyediakan proses untuk Effectiveness menambah data pengurus sanggar anak Garuluku, data pengurus FORANDAKA, data pengajar, data materi dengan jelas dan teratur 2 Sistem menyediakan proses untuk Effectiveness mengubah data pengurus sanggar anak Garuluku, data pengurus FORANDAKA, data pengajar, data materi dengan jelas dan teratur 3 Sistem menyediakan proses untuk Effectiveness menghapus data pengurus sanggar anak Garuluku, data pengurus FORANDAKA, data pengajar, data materi dengan jelas dan teratur 4 Sistem menyediakan proses untuk Effectiveness menambah data kegiatan, dan data donatur dengan jelas dan teratur 5 Sistem menyediakan proses untuk Effectiveness mengubah data kegiatan, dan data donatur dengan jelas dan teratur 6 Sistem menyediakan proses untuk Effectiveness menghapus data kegiatan, dan data donatur dengan jelas dan teratur 7 Sistem menyediakan proses untuk Effectiveness menambah data laporan keuangan, dan data detail pengeluaran dengan jelas dan teratur 8 Sistem menyediakan proses untuk Effectiveness mengubah data laporan keuangan, dan data detail pengeluaran dengan jelas dan teratur 9 Sistem menyediakan proses untuk Effectiveness menghapus data laporan keuangan, dan data detail pengeluaran 3 4 5 243 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 10 11 12 13 14 15 dengan jelas dan teratur Sistem menyediakan proses untuk menambah data penyelenggara kegiatan dengan jelas dan teratur Sistem menyediakan proses untuk mengubah data penyelenggara kegiatan dengan jelas dan teratur Sistem menyediakan proses untuk menghapus data penyelenggara kegiatan dengan jelas dan teratur Sistem menyediakan proses untuk menambah foto kegiatan dan galeri kegiatan dengan jelas dan teratur Sistem menyediakan proses untuk menghapus foto kegiatan dan galeri kegiatan dengan jelas dan teratur Sistem menyediakan proses untuk mengubah data login admin dengan jelas dan teratur Effectiveness Effectiveness Effectiveness Effectiveness Effectiveness Effectiveness SARAN : .................................................................................................................................... .................................................................................................................................... .................................................................................................................................... 244