37
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
38
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 data- data tersebut. Berbagai pihak yang membutuhkan informasi
tentang Garuluku – FORANDAKA juga harus pergi ke
39
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.
40
3.3.Fase Analisis Kebutuhan Requirement Analysis Phase 3.3.1.
Diagram Use Case
Mendaftar Donatur Browsing
Login
Menambah Kegiatan Melihat Kegiatan
Mengubah Kegiatan Menghapus Kegiatan
Data Kegiatan
Memasukkan data anggota
Melihat Data Anggota Mengubah Data Anggota
Menghapus Anggota Data Anggota
Depends on Depends on
ADMIN Pengunjung
Menambah Donatur Melihat Donatur
Mengubah Donatur Menghapus Donatur
Data Donatur Depends on
Donatur Depends on
Memasukkan data Laporan Keuangan
Melihat Data Laporan Keuangan
Mengubah Data Laporan Keuangan
Menghapus Laporan Keuangan
Data Laporan Keuangan
Depends on
Menambah Materi Melihat Materi
Mengubah Materi Menghapus Materi
Data Materi
Gambar 3. 1 Diagram Use case
3.3.2. Narasi Use Case
41
A. Narasi Use Case Login
Author : Ria Riska Date : 26112013
Actor : Admin Versi : 1.00
NAMA USE CASE
Login
PRIORITAS
Tinggi
SUMBER
Template spesifikasi kebutahan perangkat lunak dan project charter.
Project Charter tahap I
DESKRIPSI
Use-case ini mendeskripsikan tentang Login ke dalam sistem. Jika admin ingin masuk kedalam sistem, maka
admin harus melakukan login terlebih dahulu
KONDISI AWAL URUTAN
AKTIFITAS NORMAL
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
KESIMPULAN
Use case ini terus berjalan sampai aktor melakukan logout
KONDISI AKHIR Aktor masuk ke dalam sistem
42
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 : 26112013
Actor : Admin Versi : 1.00
NAMA USE CASE
Memasukkan data anggota
PRIORITAS
Sedang
SUMBER
Template spesifikasi kebutahan perangkat lunak dan project charter.
Project Charter tahap I
DESKRIPSI Use-case ini mendeskripsikan proses aktor memasukkan
data anggota kedalam sistem.
KONDISI AWAL Setelah melalui use case Login
URUTAN AKTIFITAS
NORMAL 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:
43
LAIN
Aktor klik button Batal, untuk membatalkan
KESIMPULAN Use case
ini digunakan untuk memasukkan data anggota
KONDISI AKHIR Data anggota tersimpan di database BATASAN
IMPLEMENTASI DAN
SPESIFIKASI Sistem hanya menampilkan form masukkan data
anggota ke admin
C. Narasi Use Case Melihat data anggota
Author : Ria Riska Date : 26112013
Actor : Admin, Pengunjung Versi : 1.00
NAMA USE CASE
Melihat data anggota
PRIORITAS Sedang
SUMBER
Template spesifikasi kebutahan perangkat lunak dan project charter.
Project Charter tahap I
DESKRIPSI 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
44
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
Alt-step 5: Aktor klik button Batal, untuk membatalkan
KESIMPULAN Use case
ini digunakan untuk mencari data anggota
KONDISI AKHIR Sistem menghasilkan data yang dicari BATASAN
IMPLEMENTASI DAN
SPESIFIKASI Sistem hanya menampilkan data anggota
D. Narasi Use Case Mengubah data anggota
Author : Ria Riska Date : 26112013
Actor : Admin Versi : 1.00
NAMA USE CASE
Mengubah data anggota
PRIORITAS Sedang
SUMBER
Template spesifikasi kebutahan perangkat lunak dan project charter.
Project Charter tahap I
DESKRIPSI Use-case ini mendeskripsikan proses aktor mengubah data
anggota
KONDISI AWAL
Setelah use case lihat data anggota
URUTAN AKTIFITAS
NORMAL AKSI AKTOR
RESPON SISTEM
1. Memilih data
anggota yang akan
45
diubah datanya 2.
Sistem akan menampilkan form
ubah data anggota 3.
Mengisi data yang ingin diubah
4. Menyimpan
perubahan data anggota
AKTIFITAS LAIN
Alt-step 3: Aktor klik button Batal, untuk membatalkan
KESIMPULAN
Use case ini digunakan untuk mengubah data anggota
KONDISI AKHIR Sistem menyimpan perubahan data anggota BATASAN
IMPLEMENTASI DAN
SPESIFIKASI Sistem hanya menampilkan form ubah data anggota
kepada admin
E. Narasi Use Case Menghapus data anggota
Author : Ria Riska Date : 26112013
Actor : Admin Versi : 1.00
NAMA USE CASE
Menghapus data anggota
PRIORITAS Sedang
SUMBER
Template spesifikasi kebutahan perangkat lunak dan project charter.
Project Charter tahap I
DESKRIPSI
Use-case ini mendeskripsikan proses aktor menghapus data anggota
KONDISI AWAL Setelah use case lihat data anggota
URUTAN AKTIFITAS
NORMAL AKSI AKTOR
RESPON SISTEM
1. Memilih data
anggota yang akan dihapus datanya
2. Menampilkan anggota
yang dipilih aktor
46
3. Memilih button
Hapus Anggota 4.
Menghapus data anggota dari database
AKTIFITAS LAIN
Alt-step 3: Aktor klik button Batal, untuk membatalkan
KESIMPULAN Use case
ini digunakan untuk menghapus data anggota
KONDISI AKHIR Sistem menghapus data anggota BATASAN
IMPLEMENTASI DAN
SPESIFIKASI Sistem hanya menampilkan pilihan hapus kepada
admin
F. Narasi Use Menambah kegiatan
Author : Ria Riska Date : 26112013
Actor : Admin Versi : 1.00
NAMA USE CASE
Menambah kegiatan
PRIORITAS Sedang
SUMBER
Template spesifikasi kebutahan perangkat lunak dan project charter.
Project Charter tahap I
DESKRIPSI Use-case ini mendeskripsikan proses aktor menambah data
kegiatan kedalam sistem.
KONDISI AWAL
Setelah use case Login
URUTAN AKTIFITAS
NORMAL 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
47
kegiatan kedalam form yang
disediakan
6. Klik button Simpan
7. Sistem akan
menyimpan data kegiatan ke database
AKTIFITAS LAIN
Alt-step 5: Aktor klik button Batal, untuk membatalkan
KESIMPULAN Use case
ini digunakan untuk memasukkan data kegiatan
KONDISI AKHIR Data kegiatan tersimpan di database BATASAN
IMPLEMENTASI DAN
SPESIFIKASI Sistem hanya menampilkan form tambah kegiatan
ke admin
G. Narasi Use Case Mengubah kegiatan
Author : Ria Riska Date : 26112013
Actor : Admin Versi : 1.00
NAMA USE CASE
Mengubah kegiatan
PRIORITAS Sedang
SUMBER
Template spesifikasi kebutahan perangkat lunak dan project charter.
Project Charter tahap I
DESKRIPSI Use-case ini mendeskripsikan proses aktor mengubah
kegiatan
KONDISI AWAL
Setelah use case lihat kegiatan
URUTAN AKTIFITAS
NORMAL AKSI AKTOR
RESPON SISTEM
1. Memilih data
kegiatan yang akan diubah datanya
2. Sistem akan
menampilkan form ubah data kegiatan
3. Mengisi data yang
48
ingin diubah 4.
Menyimpan perubahan data
kegiatan
AKTIFITAS LAIN
Alt-step 3: Aktor klik button Batal, untuk membatalkan
KESIMPULAN Use case
ini digunakan untuk mengubah data kegiatan
KONDISI AKHIR Sistem menyimpan perubahan data kegiatan BATASAN
IMPLEMENTASI DAN
SPESIFIKASI Sistem hanya menampilkan form ubah data kegiatan
kepada admin
H. Narasi Use Case Menghapus kegiatan
Author : Ria Riska Date : 26112013
Actor : Admin Versi : 1.00
NAMA USE CASE
Menghapus kegiatan
PRIORITAS Sedang
SUMBER
Template spesifikasi kebutahan perangkat lunak dan project charter.
Project Charter tahap I
DESKRIPSI Use-case ini mendeskripsikan proses aktor menghapus
kegiatan
KONDISI AWAL
Setelah use case lihat kegiatan
URUTAN AKTIFITAS
NORMAL 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
49
AKTIFITAS LAIN
Alt-step 3: Aktor klik button Batal, untuk membatalkan
KESIMPULAN Use case
ini digunakan untuk menghapus data kegiatan
KONDISI AKHIR Sistem menghapus data kegiatan BATASAN
IMPLEMENTASI DAN
SPESIFIKASI Sistem hanya menampilkan pilihan hapus kepada
admin
I. Narasi Use Menambah Laporan Keuangan
Author : Ria Riska Date : 26112013
Actor : Admin, Donatur Versi : 1.00
NAMA USE CASE
Menambah Laporan Keuangan
PRIORITAS
Sedang
SUMBER
Template spesifikasi kebutahan perangkat lunak dan project charter.
Project Charter tahap I
DESKRIPSI Use-case ini mendeskripsikan proses aktor memasukkan
data Laporan Keuangan kedalam sistem.
KONDISI AWAL -
URUTAN AKTIFITAS
NORMAL 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
50
6. Klik button Simpan
7. Sistem akan
menyimpan data laporan keuangan ke
database
AKTIFITAS LAIN
Alt-step 5: Aktor klik button Batal, untuk membatalkan
KESIMPULAN Use case
ini digunakan untuk memasukkan data laporan keuangan
KONDISI AKHIR Data laporan keuangan tersimpan di database BATASAN
IMPLEMENTASI DAN
SPESIFIKASI Sistem hanya menampilkan form masukkan data
laporan keuangan ke admin
J. Narasi Use Case Melihat Laporan keuangan
Author : Ria Riska Date : 26112013
Actor : Admin, Donatur Versi : 1.00
NAMA USE CASE
Melihat Laporan keuangan
PRIORITAS Sedang
SUMBER
Template spesifikasi kebutahan perangkat lunak dan project charter.
Project Charter tahap I
DESKRIPSI Use-case ini mendeskripsikan proses aktor melihat data
laporan keuangan yang tesimpan di dalam sistem.
KONDISI AWAL -
URUTAN AKTIFITAS
NORMAL AKSI AKTOR
RESPON SISTEM
1. Menampilkan
halaman Kegiatan 2.
Memilih menu arsip kegiatan berdasarkan
tanggal kegiatan 3.
Memilih sub menu lihat laporan
keuangan
51
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
Alt-step 5: Aktor klik button Batal, untuk membatalkan
KESIMPULAN Use case
ini digunakan untuk mencari data donatur
KONDISI AKHIR Sistem menghasilkan data yang dicari BATASAN
IMPLEMENTASI DAN
SPESIFIKASI Sistem hanya menampilkan data donatur
K. Narasi Use Case Mengubah Laporan keuangan
Author : Ria Riska Date : 26112013
Actor : Admin Versi : 1.00
NAMA USE CASE
Mengubah Laporan keuangan
PRIORITAS Sedang
SUMBER
Template spesifikasi kebutahan perangkat lunak dan project charter.
Project Charter tahap I
DESKRIPSI Use-case ini mendeskripsikan proses aktor mengubah data
laporan keuangan
KONDISI AWAL Setelah use case lihat data laporan keuangan
URUTAN AKSI AKTOR
RESPON SISTEM
52
AKTIFITAS NORMAL
1. Memilih data
laporan keuangan yang akan diubah
datanya
5. Sistem akan
menampilkan form ubah data laporan
keuangan
6. Mengisi data yang
ingin diubah 7.
Menyimpan perubahan data
laporan keuangan
AKTIFITAS LAIN
Alt-step 3: Aktor klik button Batal, untuk membatalkan
KESIMPULAN Use case
ini digunakan untuk mengubah data laporan keuangan
KONDISI AKHIR Sistem menyimpan perubahan data laporan keuangan BATASAN
IMPLEMENTASI DAN
SPESIFIKASI Sistem hanya menampilkan form ubah data laporan
keuangan kepada admin
L. Narasi Use Case Menghapus Laporan keuangan
Author : Ria Riska Date :
26112013 Actor : Admin
Versi : 1.00 NAMA USE
CASE Menghapus Laporan keuangan
PRIORITAS Sedang
SUMBER
Template spesifikasi kebutahan perangkat lunak dan project charter.
Project Charter tahap I
DESKRIPSI
Use-case ini mendeskripsikan proses aktor menghapus laporan keuangan
KONDISI AWAL Setelah use case lihat data laporan keuangan
53
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
Alt-step 3: Aktor klik button Batal, untuk membatalkan
KESIMPULAN
Use case ini digunakan untuk menghapus data donatur
KONDISI AKHIR Sistem menghapus data donatur BATASAN
IMPLEMENTASI DAN
SPESIFIKASI 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
54
Menampilkan halaman Login
User System
Memasukkan username dan password
Click button LOGIN
Menampilkan halaman Home
Admin salah
Masuk ke halaman Login
Mengecek username dan password yang
dimasukkan
benar
Gambar 3. 2 Diagram aktifitas proses login
B. Diagram Aktifitas untuk proses memasukkan data anggota
55
Menampilkan halaman Home
User System
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
Menampilkan menu hasil pencarian
User System
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
56
Menampilkan hasil pencarian anggota
yang ingin diubah
User System
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
Menampilkan hasil pencarian anggota
yang ingin dihapus
User System
Memilih button hapus anggota
Menghapus data anggota dari database
Gambar 3. 6 Diagram aktifitas hapus data anggota
57
F. Diagram Aktifitas untuk proses menambah kegiatan
Menampilkan halaman Kegiatan
User System
Memilih menu Tambah Kegiatan
Menampilkan form penambahan kegiatan
Memasukkan data- data yang
ditambahkan Click button Simpan
Melakukan penyimpanan data ke
database
Gambar 3. 7 Diagram aktifitas tambah kegiatan
G. Diagram Aktifitas untuk proses melihat kegiatan
Menampilkan menu hasil pencarian
User System
Memilih menu Lihat Kegiatan
Menampilkan halaman Data
Kegiatan
Gambar 3. 8 Diagram aktifitas lihat kegiatan
H. Diagram Aktifitas untuk proses mengubah kegiatan
58
Menampilkan hasil pencarian kegiatan
yang ingin diubah
User System
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
Menampilkan hasil pencarian kegiatan
yang ingin dihapus
User System
Memilih button hapus kegiatan
Menghapus data kegiatan dari
database
Gambar 3. 10 Diagram aktifitas hapus kegiatan
J. Diagram Aktifitas untuk proses menambah laporan keuangan
59
Menampilkan halaman Kegiatan
User System
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
Menampilkan menu hasil pencarian
User System
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
60
Menampilkan hasil pencarian lap keuangan
yang ingin diubah
User System
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
Menampilkan hasil pencarian lap keuangan
yang ingin dihapus
User System
Memilih button hapusr
Menghapus data lap keuangan dari database
Gambar 3. 14 Diagram hapus laporan keuangan
61
3.4.2. Desain Logikal Data
3.4.2.1. Object Relational Diagram
Pengurus Posisi
Periode Jenis
Anggota_SA Sekolah
Status_keaktifitan Anggota_FA
Sekolah Status_keaktifitan
PengajarTetap HariAjar
Materi Id_Materi
Nama_Materi
PengajarRelawan Asal_PR
AnggotaGaruluku Nama_ortu_ayah
Nama_ortu_ibu Pekerjaan_ayah
Pekerjaan_ibu Hobi
Tahun_bergabung
Kegiatan Id_Kegiatan
Nama Kegiatan Tanggal
Waktu Tempat
Deskripsi LapKeuangan
Id_Lap TotalPemasukan
TotalPengeluaran DetailPengeluaran
DetailPengeluaran Id_DP
Keperluan Volume
HargaSatuan HargaTotal
Donatur Id_Donatur
Nama_Donatur Dari
No_tlp Tanggal_beri
Jumlah
People ID
Nama TTL
Umur Alamat
No_Tlp
Menyelenggarakan 1 . . .
1 . . . punya
punya
sponsor 1 . . .
1 . . . 1
1 1
1
ajar ajar
1 . . . 1 . . .
1
1
Gambar 3. 15 Object Relational Diagram
62
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.
63
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.
64
Gambar 3. 16 User interface tambah data anggota forum anak dan anggota sanggar anak.
b. User interface form input data pengurus
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
65
Gambar 3. 17 User interface tambah data pengurus
c. User interface form tambah data pengajar tetap
Gambar 3. 18 User interface tambah data pengajar tetap
HEADER
ID Anggota :
Nama Anggota : TTTL
: Umur
: Nama ayah
: Nama ibu
: Pekerjaan ayah :
Pekerjaan ibu : Alamat
: No Telepon
: Hobi
: Tahun bergabung:
Posisi :
Periode :
Tambah
HEADER
ID Anggota :
Hari Ajar
:
Tambah
66
d. User interface form tambah data pengajar relawan
Gambar 3. 19 User interface tambah data pengajar relawan
e. User interface form tambah data materi
Gambar 3. 20 User interface form tambah data materi
f. User interface form input data kegiatan dan data donatur
HEADER
ID pengajar Relawan: Nama
: TTL
:
Umur :
Jenis Kelamin :
Umur :
Alamat :
No HP :
Asal :
Tambah
HEADER
ID Materi :
Nama Materi :
ID pengajar Tetap :
ID pengajar Relawan:
Tambah
67
Gambar 3. 21 User interface form tambah data kegiatan
g. User interface form input data laporan keuangan
Gambar 3. 22 User interface form tambah data laporan keuangan
HEADER
ID kegiatan :
Nama kegiatan :
Tanggal :
Waktu :
Tempat :
Id Lap Keuangan :
Deskripsi :
Tambah
Data Donatur Id
Donatur Nama
Donatur Dari
No tlp Tanggal
beri jumlah
HEADER
ID Lap Keuangan :
Total Pemasukan : Total Pengeluaran :
Tambah Detail Pengeluaran
ID Keperluan
Volume Harga
satuan Harga
total
68
h. User Interface input data peyelenggara kegiatan
Gambar 3. 23 User interface form tambah data penyelenggara kegiatan
i. User interface form Login
Gambar 3. 24 User interface form login
Login
Username :
Password :
Login HEADER
ID Anggota :
ID Kegiatan :
Tambah
69
j. User interface menampilkan data anggota forum anak dan
sanggar anak
Gambar 3. 25User interface tampil data anggota sanggar anak dan forum anak
Header
Nama :
Diana Prafitasari TTL
: Gunung Kidul, 9 april 1997
Jenis Kelamin :
Perempuan Umur
: 16 tahun
Nama Ayah :
Wasidi
Nama Ibu :
Suratmi Pekerjaan Ayah
: Petani
Pekerjaan Ibu :
Petani Alamat
: Dusun Ngasem RT 01 RW 11
Kemadang Tanjungsari Gunung Kidul No HP
: 081904007301
Hobi :
Menggambar Tahun bergabung :
2010 Sekolah
: SMA Kemadang
Status Keaktifan :
Aktif
70
k. User interface untuk menampilkan data pengurus:
Gambar 3. 26 User interface tampil data pengurus
l. User interface menampilkan data kegiatan
Header
Nama :
Diana Prafitasari TTL
: Gunung Kidul, 9 april 1997
Jenis Kelamin :
Perempuan Umur
: 16 tahun
Nama Ayah :
Wasidi
Nama Ibu :
Suratmi
Pekerjaan Ayah :
Petani Pekerjaan Ibu
: Petani
Alamat :
Dusun Ngasem RT 01 RW 11 Kemadang Tanjungsari Gunung Kidul
No HP :
081904007301 Hobi
: Menggambar
Tahun bergabung : 2010
Posisi :
SMA Periode
: 2014-2016
Jenis :
Forum Anak
71
Gambar 3. 27 User interface tampil data kegiatan 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
Donatur Nama
Dari No telepon
Tanggal Beri
Jumlah D01
Murhadi Yogyakarta
08134567 1
novemb er 2013
100000 D02
Indah Dusun
Pucung 081234567
1 novemb
er 2013 100000
72
m. User interface menampilkan data laporan keuangan
Gambar 3. 28 User interface tampil data laporan keuangan
n. User interface menampilkan data penyelenggara kegiatan
Gambar 3. 29 User interface tampil data penyelenggara kegiatan
Header
Id laporan :
LP01 Total Pemasukkan
: 1000000
Total Pengeluaran :
1000000
Detail Pengeluaran: Id
Keperluan Volume
Harga Satuan
Harga Total
1 Konsumsi
100 10000
1000000
2 Atribut
100 100
100000
Header
ID Anggota Nama
Anggota Id Kegiatan
Nama Kegiatan
FA01 Amri Raez
KG01 Gelar
Budaya FA01
Amri Raez KG02
Ulang Tahun FORANDAKA
17
73
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. Lingkungan- lingkungan 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.
74
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.
75
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
76
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
77
punya_LapKeuangan yan
g mana menggunakan “REF” untuk menghubungkan dengan tipe objek Lap_Keuangan_T.
4.2.1.1 Tipe People
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.
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;
78
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
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
CREATE OR REPLACE TYPE PengajarRelawan_T UNDER People_T Asal_PR VARCHAR2200,
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;
79
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. Masing-
masing 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.
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;
80
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.
4.2.1.3. Tipe AnggotaFA_T
Pernyataan di bawah ini mendefinisikan suatu tipe objek bernama AnggotaFA_T untuk merepresentasikan suatu data seorang Anggota
CREATE OR REPLACE TYPE Pengurus_T UNDER AnggotaGaruluku_T Posisi
VARCHAR2 200, Periode
VARCHAR2 100, Jenis
VARCHAR2 50 NOT FINAL
81
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.
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
CREATE OR REPLACE TYPE AnggotaFA_T UNDER AnggotaGaruluku_T Sekolah
VARCHAR2 200, StatusKeaktifan
VARCHAR2 100
82
Sekolah, StatusKeaktifan.
Masing-masing atribut
bertipe data
VARCHAR2.
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.
4.2.1.6. Tipe Materi_T
CREATE OR REPLACE TYPE AnggotaSA_T UNDER AnggotaGaruluku_T Sekolah
VARCHAR2 200, StatusKeaktifan
VARCHAR2 100
CREATE OR REPLACE TYPE PengajarTetap_T UNDER Pengurus_T HariAjar VARCHAR2 500
83
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
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
CREATE OR REPLACE TYPE Materi_T AS OBJECT Id_Materi VARCHAR220,
Nama_Materi VARCHAR2200,
PengajarT REF PengajarTetap_T, PengajarR REF PengajarRelawan_R
84
merepresentasikan data detail pengeluaran apa saja yang ada dalam laporan keuangan.
Lalu diikuti
dengan mendefinisikan
tabel objek
DetailPengeluaran_Table_T sebagai
tabel untuk
tipe objek
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.
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.
CREATE OR REPLACE TYPE DetailPengeluaran_T AS OBJECT Id_DP
VARCHAR2 10, Keperluan
VARCHAR2100, Volume
VARCHAR250, HargaSatuan
NUMBER, HargaTotal
NUMBER; CREATE OR REPLACE TYPE DetailPengeluaran_Table_T AS TABLE OF
DetailPengeluaran_T;
85
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.
4.2.1.10. Tipe Kegiatan_T
CREATE OR REPLACE TYPE LapKeuangan_T AS OBJECT Id_Lap
VARCHAR2 10, TotalPemasukan NUMBER,
TotalPengeluaran NUMBER, DetailPengeluaran DetailPengeluaran_Table_T;
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;
86
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.
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
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
87
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.
4.2.2.2. Tabel Pengurus
Pernyataan di bawah ini mendefinisikan suatu tabel objek bernama Pengurus untuk menyimpan objek dari tipe Pengurus_T.
Tabel Pengurus membuat sebuah kolom untuk setiap atribut dari tipe Pengurus_T. Atribut Id_AG 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;
CREATE TABLE Pengurus OF Pengurus_T Id_AG NOT NULL,
PRIMARY KEY Id_AG;
88
4.2.2.3. Tabel AnggotaFA
Pernyataan di bawah ini mendefinisikan suatu tabel objek bernama AnggotaFA untuk menyimpan objek dari tipe AnggotaFA_T.
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.
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
CREATE TABLE AnggotaFA OF AnggotaFA_T Id_AG NOT NULL,
PRIMARY KEY Id_AG;
CREATE TABLE AnggotaSA OF AnggotaSA_T Id_AG NOT NULL,
PRIMARY KEY Id_AG;
89
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.
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.
4.2.2.7. Tabel LapKeuangan
Pernyataan di bawah ini mendefinisikan suatu tabel objek bernama LapKeuangan untuk menyimpan objek dari tipe LapKeuangan_T.
CREATE TABLE PengajarTetap OF PengajarTetap_T Id_AG NOT NULL,
PRIMARY KEY Id_AG;
CREATE TABLE Materi OF Materi_T Id_Materi NOT NULL,
PRIMARY KEY Id_Materi;
90
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 LapKeuangan OF LapKeuangan_T Id_Lap NOT NULL,
PRIMARY KEY Id_Lap NESTED TABLE DetailPengeluaran STORE AS
DetailPengeluaran_Tab;
CREATE TABLE Kegiatan OF Kegiatan_T Id_Kegiatan NOT NULL,
PRIMARY KEY Id_Kegiatan NESTED TABLE Donatur STORE AS Donatur_Tab;
91
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.
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
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 ;
92
sebuah referential contraint pada kolom Id, yang mengijinkan untuk referensi yang menunjuk hanya ke objek baris dalam tabel objek
AnggotaGaruluku. “FOREIGN KEY Id_Kegiatan REFERENCES
Kegiatan 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:
93
‘ 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,
94
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:
95
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:
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 query = INSERT INTO People valuesanggotaGaruluku_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 + ;
96
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:
String query1 = INSERT INTO pengurus valuespengurus_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 + ;
97
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
String query1 = DELETE From People where id = + prosesbean.getId_AG + or nama = +
prosesbean.getNama_AG + ;
98
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
99
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 valuesanggotaGaruluku_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 + ;
100
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
101
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:
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 :
String query = DELETE From pengurus where ID = + prosesbean.getId_AG +
or nama = + prosesbean.getNama_AG + ;
102
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:
103
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
104
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:
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 :
Kedua query tersebut dijalankan langsung pada satu method yaitu method
InsertPengurus yang terdapat dalam javabean, dan di panggil oleh kelas servlet controller.
String query = INSERT INTO People valuesanggotaGaruluku_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 + ;
String query1 = INSERT INTO pengurus valuespengurus_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 + ;
105
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:
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:
String query1 = DELETE From People where id = + prosesbean.getId_AG + or nama = +
prosesbean.getNama_AG + ;
106
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:
107
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:
108
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
:
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 valuesanggotaGaruluku_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 + ;
109
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:
110
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:
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
String query = DELETE From pengurus where ID = + prosesbean.getId_AG +
or nama = + prosesbean.getNama_AG + ;
111
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
112
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:
113
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 :
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
String query = INSERT INTO people valuesanggotaGaruluku_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 + ;
String query1 = INSERT INTO anggotaFA valuesanggotaFA_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 + ;
114
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:
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:
String query1 = DELETE From People where id = + prosesbean.getId_AG + or nama = +
prosesbean.getNama_AG + ;
115
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:
116
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:
117
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
:
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 valuesanggotaGaruluku_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 + ;
118
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:
119
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:
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
String query = DELETE From anggotaFA where ID = + prosesbean.getId_AG +
or nama = + prosesbean.getNama_AG + ;
120
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
121
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:
122
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 :
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,
String query = INSERT INTO People valuesanggotaGaruluku_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 + ;
String query1 = INSERT INTO pengurus valuespengurus_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 + ;
123
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:
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:
String query1 = DELETE From anggotaGaruluku where ID = + prosesbean.getId_AG +
or nama = + prosesbean.getNama_AG + ;
124
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:
125
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 + ;
126
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:
String query1 = DELETE FROM People WHERE Id= + prosesbean.getId_AG + ;
String query2 = INSERT INTO People valuesanggotaGaruluku_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 + ;
127
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 + ;
128
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
129
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
130
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 :
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
:
String query = INSERT INTO PengajarTetap valuesPengajarTetap_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 + ;
131
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:
132
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 t
abel ini. Berikut ini adalah queri untuk mengubah data :
133
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
String query = UPDATE PengajarTetap SET HariAjar = + prosesbean.getHariAjar + WHERE Id=
+ prosesbean.getId_AG + ;
134
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:
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 :
String query = DELETE FROM PengajarTetap WHERE Id= + prosesbean.getId_AG +
or nama = + prosesbean.getNama_AG + ;
135
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.
136
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
137
Berikut ini adalah queri untuk menghapus data anggota garuluku:
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
String query1 = DELETE From People where id = + prosesbean.getId_AG + or nama = +
prosesbean.getNama_AG + ;
138
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:
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
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.getStringid + ;
139
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:
140
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 :
Query tersebut dijalankan oleh method InsertPR yang terdapat dalam javabean, dan di panggil oleh kelas servlet controller.
String query
= select
from people
where P_Type=PengajarRelawan order by id;
String query2 = SELECT p.show_asalPR FROM People p WHERE id= + result.getStringid + ;
String query
= INSERT
INTO people
VALUESpengajarRelawan_T + prosesbean.getId_PR + , + prosesbean.getNama_PR + , +
prosesbean.getTtl_PR +
, +
prosesbean.getUmur_PR +
, +
prosesbean.getAlamat_PR +
, +
prosesbean.getNoHP_PR + , PengajarRelawan , + prosesbean.getAsal_PR + ;
141
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:
142
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 People WHERE id= + prosesbean.getId_PR + ;
String query1
= INSERT
INTO people
VALUESpengajarRelawan_T + prosesbean.getId_PR + , + prosesbean.getNama_PR_After + , +
prosesbean.getTtl_PR +
, +
prosesbean.getUmur_PR +
, +
prosesbean.getAlamat_PR +
, +
prosesbean.getNoHP_PR + , PengajarRelawan , + prosesbean.getAsal_PR + ;
143
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
144
Berikut ini adalah queri untuk menghapus data pengajar relawan:
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
String query = DELETE people WHERE id= + prosesbean.getId_PR
+ OR
nama= +
prosesbean.getNama_PR + ;
145
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
146
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:
147
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:
Kueri kedua yang digunakan adalah untuk menampilkan data dari nested table detailPengeluaran, menggunakan kueri:
Kueri ketiga yang digunakan adalah untuk menampilkan data nama kegiatan dan tanggal dari tabel kegiatan, karena
String query = select from LapKeuangan where id_Lap = + cari.getId_Lap + ;
String query1 = Select Id_DP, Keperluan, Volume, HargaSatuan,
HargaTotal FROM
THE SELECT
DetailPengeluaran FROM LapKeuangan WHERE Id_Lap = + cari.getId_Lap + ;
148
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 :
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
direkamdisimpan dahulu menggunakan Array. Berikut adalah tampilannya:
Gambar 4. 79 Tambah laporan keuangan
String query2 = SELECT Nama_Kegiatan, Tanggal FROM Kegiatan a JOIN LapKeuangan b ON REF b =
a.punya_LapKeuangan WHERE
Id_Lap= +
result.getStringId_Lap + ;
149
Lalu akan masuk ke halaman untuk admin mengisi data laporan keuangan:
Gambar 4. 80 Form tambah data laporan keuangan
150
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_TDetailPengeluaran_TNULL,
NULL, NULL, NULL, NULL;
151
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:
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
String query1
= INSERT
INTO THE
SELECT a.DetailPengeluaran
FROM LapKeuangan
a WHERE
a.id_lap = + prosesbean.id_Lap + VALUES + prosesbean.getId_DPi
- 1
+ ,
+ prosesbean.getKeperluani - 1 + , +
prosesbean.getVolumei -
1 +
, +
prosesbean.getHargaSatuani - 1 + , + prosesbean.getHargaTotali - 1 + ;
152
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
153
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:
Kueri yang digunakan untuk mengubah data tabel bersarang nested table detailPengeluaran, pertama-tama select
String query = Update LapKeuangan SET TotalPemasukan= + prosesbean.getTotalPemasukan +
, TotalPengeluaran= +
prosesbean.getTotalPengeluaran + WHERE Id_Lap = + prosesbean.getId_Lap + ;
154
data detailPengeluaran dahaulu berdasarkan id laporan keuangan yang dimilikinya, setelah itu baru mengeset
perubahan data atribut didalam nested table detailPengeluaran yang
berdasarkan dari
hasil select
detailPengeluaran sebelumnya.
Kueri ini
berada dalam
method updateDetailPengeluaran yang disimpan didalam javabean.
Queri ini di execute sebanyak jumlah detail pengeluaran. Queri tersebut adalah:
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 query = UPDATE theSELECT a.DetailPengeluaran FROM LapKeuangan a WHERE a.Id_lap = +
prosesbean.getId_Lap + b SET b.Keperluan= + prosesbean.getKeperluani - 1 +
, b.Volume= + prosesbean.getVolumei - 1 + ,
b.HargaSatuan= + prosesbean.getHargaSatuani - 1 + ,
b.HargaTotal= + prosesbean.getHargaTotali - 1 + WHERE b.id_DP = + prosesbean.getId_DPi - 1 + ;
String query1 = Select COUNT Id_DP AS JumlahDP FROM THE SELECT DetailPengeluaran FROM LapKeuangan WHERE
Id_Lap = + ubah.getId_Lap + ;
155
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:
156
Gambar 4. 88 Hasil hapus data laporan keuangan
Queri untuk menghapus data Laporan Keuangan adalah:
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:
String query = DELETE FROM LapKeuangan WHERE Id_Lap = + prosesbean.getId_Lap + ;
157
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, pertama- tama 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:
158
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:
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 + ;
159
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:
Karena informasi yang disajikan bukan hanya dari tabel kegiatan, tetapi berkaitan juga dengan tabel lapKeuangan yang
String query = select from Kegiatan where id_Kegiatan = + cari.getId_Kegiatan + ;
160
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:
Untuk menampilkan data nested table donatur menggunakan queri select dari atribut yang dimiliki oleh nested table donatur,
berdasarkan id kegiatan yang dicari, sebagai berikut:
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 direkamdisimpan dahulu menggunakan Array.
Berikut adalah tampilannya:
String query1 = SELECT FROM LapKeuangan a JOIN Kegiatan b ON REF a = b.punya_LapKeuangan WHERE
b.Id_Kegiatan= + result.getStringId_Kegiatan + ;
String query2 = Select Id_Donatur, Nama_Donatur, Dari, No_tlp, Tanggal_beri, Jumlah FROM THE SELECT
Donatur FROM Kegiatan WHERE Id_Kegiatan = + result.getStringId_Kegiatan + ;
161
Gambar 4. 95 Tambah data kegiatan
Lalu akan masuk ke halaman untuk admin mengisi data kegiatan:
162
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
163
insertKegiatan yang disimpan didalam javabean. Queri tersebut adalah:
Method insertKegiatan tersebut di panggil oleh kelas servlet controller. Berikut adalah bagian dari listing program
pada kelas servlet controller:
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.parseIntprosesbean.jumlahD; int i;
for i = 1; i = jml; i++ { System.out.printlni;
if i jml { query = query + Donatur_T +
prosesbean.getId_Donaturi - 1 + , + prosesbean.getNama_Donaturi - 1 + , +
prosesbean.getDarii - 1 + , + prosesbean.getNo_tlpi - 1 + , +
prosesbean.getTanggal_berii - 1 + , + prosesbean.getJumlahi - 1 + ,;
} else { query = query + Donatur_T +
prosesbean.getId_Donaturi - 1 + , + prosesbean.getNama_Donaturi - 1 + , +
prosesbean.getDarii - 1 + , + prosesbean.getNo_tlpi - 1 + , +
prosesbean.getTanggal_berii - 1 + , + prosesbean.getJumlahi - 1 + ,;
} } query = query + REF a From LapKeuangan a where
a.id_Lap= + prosesbean.getId_Lap + ;
164
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:
165
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:
166
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:
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:
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 + ;
String query = UPDATE theSELECT a.Donatur FROM Kegiatan a WHERE a.Id_Kegiatan= +
prosesbean.getId_Kegiatan + b SET b.Nama_Donatur = + prosesbean.getNama_Donaturi - 1 + , b.Dari=
+ prosesbean.getDarii - 1 + , b.No_tlp= + prosesbean.getNo_tlpi - 1 + , b.Tanggal_beri=
+ prosesbean.getTanggal_berii - 1 + , b.jumlah= + prosesbean.getJumlahi - 1 + WHERE
b.id_Donatur = + prosesbean.getId_Donaturi - 1 + ;
167
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
String query1 = Select COUNT Id_Donatur AS JumlahDonatur FROM THE SELECT Donatur FROM Kegiatan
WHERE Id_Kegiatan = + ubah.getId_Kegiatan + ;
168
dan menampilkan seluruh data kegiatan yang masih ada, seperti berikut ini:
Gambar 4. 104 Hasil hapus data kegiatan
Queri untuk menghapus data kegiatan adalah:
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
String query = DELETE From Kegiatan where id_Kegiatan = + prosesbean.getId_Kegiatan + or
nama_Kegiatan= + prosesbean.getNama_Kegiatan + ;
169
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
170
berdasarkan id kegiatan yang sudah dipilih, lalu menghapus data donatur berdasarkan id donatur dari id kegiatan yang
sudah dipilih, sebagai berikut:
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
String query = DELETE theSELECT a.Donatur FROM Kegiatan a WHERE a.Id_Kegiatan = +
prosesbean.getId_Kegiatan + b WHERE b.id_Donatur= + prosesbean.getHapusId_Donatur +
;
171
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:
172
Gambar 4. 111 Hasil cari materi
Berikut adalah queri yang digunakan untuk mencari data materi:
Berikut adalah queri yang digunakan untuk menampilkan data pengajar tetap, menggunakan sintaks “JOIN ON REF”
berdasarkan hasil dari Id Materi:
Berikut adalah queri yang digunakan untuk menampilkan data pengajar relawan,
menggunakan sintaks “JOIN ON REF” berdasarkan hasil dari Id Materi:
b. Menu Tambah Data
Pada menu ini, admin dapat melakukan penambahan data materi. Berikut adalah tampilan admin dalam memasukkan data:
String query = select from Materi where id_Materi = + cari.getId_Materi + or nama_Materi = +
cari.getNama_Materi + ;
String query1 = SELECT FROM PengajarTetap a JOIN Materi c ON REF a = c.pengajarT WHERE c.Id_Materi= +
result.getStringId_Materi + ;
String query2 = SELECT FROM People b JOIN Materi c ON REF
b =
c.people WHERE
c.Id_Materi= +
result.getStringId_Materi + ;
173
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:
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
:
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 + ,
theselect REF b From People b where b.id= + prosesbean.getId_PR + ;
174
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:
175
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:
176
Gambar 4. 117 Hasil cara data penyelenggara kegiatan
Queri yang digunakan untuk menampilkan data yang dicari adalah sebagai berikut:
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:
String query = select from PanitiaSelenggara where id = + cari.getId_AG + or id_Kegiatan
= + cari.getId_Kegiatan + ;
177
Gambar 4. 119 Hasil tambah data penyelenggara kegiatan
Queri yang
digunakan untuk
memasukkan data
penyelenggara kegiatan adalah sebagai berikut:
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
String query = INSERT INTO PanitiaSelenggara VALUES +
prosesbean.getId_AG +
, +
prosesbean.getId_Kegiatan + ;
178
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:
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
String query = DELETE FROM PanitiaSelenggara WHERE Id=
+ prosesbean.getId_AG
+ AND
Id_Kegiatan= + prosesbean.getId_Kegiatan + ;
179
180
Gambar 4. 122 Halaman profil umum pada tampilan pengunjung
4.4.1.1.2. Tab Pengurus Forum Anak
181
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:
182
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:
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:
String query = select from pengurus where nama= + cari.getNama_AG + or id= + cari.getId_AG +
AND Jenis=Pengurus Forum Anak;
183
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
184
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:
185
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
String query = select from pengurus where nama = + cari.getNama_AG + or id= + cari.getId_AG +
AND Jenis=Pengurus Sanggar Anak;
186
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:
187
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
String query = select from anggotaFA where nama_AG = + cari.getNama_AG + or
id_AG = + cari.getId_AG + ;
188
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 bert
uliskan “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
189
anggota ada text box yang sudah disiapkan, lalu klik button cari. Berikut adalah query untuk melakukan pencarian:
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.
String query = select from anggotaSA where nama= + cari.getNama_AG + or id= + cari.getId_AG + ;
190
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:
191
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
String query = select from PengajarTetap where id= +
cari.getId_AG +
or hariAjar
= +
cari.getHariAjar + ;
192
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 +
;
193
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:
194
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
195
Gambar 4. 145 Tab menu Materi
Pada halaman ini, dapat melihat semua data materi, dengan m
engklik 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 + ;
196
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
197
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:
198
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:
199
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:
200
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 :
4.4.1.4. Halaman Hubungi Kami
String query = select Title, Photo from galeri where title =Struktur Organisasi FA and title
=Struktur Organisasi SA;
201
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:
4.4.2. Implementasi Web untuk Admin
4.4.2.1. Halaman Login
String query = INSERT INTO ContactUs values + prosesbean.getName + , + prosesbean.getEmail
+ , + prosesbean.getMessage + ;
202
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
203
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.
204
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:
205
4.4.2.3. 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:
String query = select from DonaturL order by Tanggal_beriL;
206
Gambar 4. 161 Lihat foto galeri kegiatan Queri untuk menampilkan foto galeri kegiatan adalah sebagai
berikut:
4.4.2.3.2. Menu Tambah Foto Kegiatan
Isi dari tab menu ini adalah untuk menambah foto di galeri kegiatan. Berikut adalah tampilannya:
String query = select Title, Photo from galeri where title =Struktur Organisasi FA and title
=Struktur Organisasi SA;
207
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:
4.4.2.3.3. Menu Hapus Foto Kegiatan
String query = select Title, Photo from galeri where title =Struktur Organisasi FA and title
=Struktur Organisasi SA;
208
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 + ;
209
4.4.3. Implementasi Web untuk Donatur
4.4.3.1. Halaman Services
Jika 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:
210
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:
211
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:
212
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:
213
Gambar 4. 173 Lihat Laporan keuangaan
214
BAB V ANALISA HASIL