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