bab iii pembahasan - repository.bsi.ac.id · masjid nurul awar memiliki luas tanah 300 m2 , luas...
Post on 21-Aug-2020
1 Views
Preview:
TRANSCRIPT
18
BAB III
PEMBAHASAN
3.1 Tinjauan Organisasai
Tinjauan Organisasi ini berisi tentang sejarah berdirinya Dewan
Kemakmuran Masjid (DKM) Nurul Anwar, Struktur Organisasi dan Fungsi dari
masing-masing bagian yang ada dalam DKM Nurul Anwar, serta beberapa
informasi tambahan yang penulis dapatkan selama proses penelitian.
Penulis melakukan penelitian pada DKM Nurul anwar, yang beralamat di
Jl. RM. Soleh Sadamalun RT. 01 RW. 14 Kel. Nagasari Karawang Jawa Barat
3.1.1 Sejarah Organisasi
Masjid Nurul Awar yang dibangun pada tahun 1965. Masjid Nurul Awar
beralamat di Jl. RM. Soleh Sadamalun RT. 01 RW. 14 Kel. Nagasari Karawang
Jawa Barat . Masjid Nurul Awar memiliki luas tanah 300 m2 , luas bangunan 600
m2 dengan status tanah Wakaf. Masjid Nurul Awar memiliki jumlah jamaah >
200 orang, jumlah muazin 8 orang, jumlah remaja 25 orang dan Jumlah Khotib 5
orang. Dewan Kemakmuran Masjid (DKM) Merupakan orgainisasi yang di kelola
oleh jamaah muslim dalam melangsungkan aktifitas di masjid. Setiap masjid yang
terkelola dengan baik memiliki DKM dengan strukturnya masing-masing, secara
umum,pembagian kerjanya terbagi 3 bidang Idarah (Administrasi management
mesjid), Bidang Imarah (Aktifitas Kemakmuram masjid) dan bidang Ri’ayah
(Pemerliharaan fisik masjid)
DKM Masjid Nurul Anwar dipimpin oleh Ust. A. Anshory dengan
Bendahara Nursaid Efendi. DKM Mesjid Nurul Anwar memiliki fungsi yang
sama seperti dewan kemakmuran masjid pada umumnya yaitu menjadi organisasi
19
yang di kelola oleh jamaah untuk membantu melangsungkan aktifitas peribadatan
dan pengelolaan masjid.
3.1.2 Struktur organisasi dan fungsi
Ketua DKM Dewan Pembina
SekretarisBendahara
SEKSI
PEMBANGUNANSEKSI HUMAS
SEKSI KEAGAMAAN
DAN
SOSIAL
SEKSI KEBERSIHAN
Sumber : Masjid Nurul Anwar Karawang (2019)
Gambar III.1. Struktur Organisasi DKM Masjid Nurul Anwar
Berikut ini fungsi dari masing-masing jabatan pada DKM masjid Nurul Anwar
1. Ketua DKM
1. Bertanggung jawab memimpin dan mengelola organisasi dalam
kepengurusan
2. Menandatangani surat-surat penting, termasuk surat atau nota pengeluaran
uang/dana/hata kekayaan organisasi
3. Melaporkan dan mempertanggungjawabkan pelaksanaan seluruh tugas
organisasi kepada jamaah
20
2. Dewan Pembina
1. Mempunyai wewenang untuk memberikan nasihat, saran dan pertimbangan
kepada pengurus organisasi, diminta maupun tidak diminta
2. Memberikan kontribusi pemikiran, gagasan pembaruan, konsep
pengembangan dan pemberdayaan organisasi
3. Menjadi pengawal etika organisasi yang berpedoman kekeluargaan
3. Sekretaris
1. Membantu ketua dalam membuat dan menentukankebijakan administrasi
organisasi
2. Membantu ketua dalam hal yang berkaitan koordinasi dengan pengurus
3. Memberikan pelayanan teknis dan administrasi
4. Bendahara
1. Merencanakan dan mengusahakan masuknya dana masjid serta
mengendalikan pelaksanaan rencana anggaran belanja masjid sesuai dengan
ketentuan
2. Menerima, menyimpan dan membukukan keuangan, barang, tagihan dan
surat-surat berharga
3. Mengeluarkan uang sesuai dengan kebutuhan berdasarkan persetujuan ketua
4. Menyimpan surat bukti penerimaan dan pengeluaran kas
5. Membuat laporan bulanan rutin (bulanan,triwulan dan tahunan)
21
5. Seksi Hubungan Masyarakat (HUMAS)
1. Mengadakan kegiatan yang berkaitan kehumasan
2. Mempertanggungjawabkan kegiatan kepada ketua dalam musyawarrah kerja
3. Menyusun konsep dan pengenmbangan rencana kerja dalam organisasi
6. Seksi Keagamaan dan Sosial
1. Mengadakan kegiatan yang berkaitan dengan kegiatan PHBI
2. Mengadakan kegiatan keagamaan naik bersifat pengajian rutin/ harian dan
Ramadhan
3. Mengadakan kegiatan yang besifat social untuk kemslahatan umat
7. Seksi Kebersihan
1. Menyusun rencana kerja dalam kebersihan
2. Mengelola kegiatan yang berkaitan dengan kebersihan
3. Mengadakan koordinasi dengan pengurus lainnya dalam organisasi
8. Seksi Pembangunan
1. Membangun relasi dengan donator
2. Melakukan perencanaan program pembangunan dalam musyawarah kerja
3. Mengumpulkan prospek individual untuk mengglang dana
22
3.2 Tinjauan Kasus
Penulis menjelaskan proses bisnis sistem berjalan pada DKM masjid
Nurul Anwar yaitu meliputi proses kas masuk, proses kas keluar serta proses
pembuatan laporan
3.2.1 Proses Sistem Berjalan
Proses bisnis pada sistem pengelolaan kas masjid Nurul Anwar terbagi
menjadi tiga proses, yaitu proses kas masuk, proses kas keluar dan proses
pembuatan laporan
1. Proses Kas Masuk
Kas masuk yang berjalan di management kas masjid Nurul
Anwar di awali dengan adanya perhitungan kotak jumat yang dilakukan
satu minggu satu kali, penerimaan donasi, sodaqoh dan infaq berupa
uang dari donatur maupun jamaah masjid dan dari sumber kas lainnya.
Selanjutnya bendahara menginput data donasi sebagai kas masuk di ms.
excel.
2. Proses Kas Keluar
Pada proses pengeluaran kas, ketua masing-masing sekertariat
mengajukan permintaan donasi berupa dana. Kemudian bendahara
memberikan donasi atau dana untuk di realisasi kan sesuai dengan
permintaan. Setelah dana di gunakan, setiap ketua masing-masing
sekertariat memberikan bukti kwitansi-kwitansi pengeluaran kepada
bendahara untuk di buatkan laporan rincian kas. Selanjutnya laporan
rincian kas akan di serahkan kepada ketua DKM.
23
3. Proses Pembuatan Laporan
Bendahara mencatat setiap transaksi yang terjadi kemudian
disusun dan dibuatkan laporan penerimaan kas dan pengeluaran kas
yang akan diserahkan kepada ketua DKM.
3.2.2 Actifity Diagram Proses Sistem Berjalan Bendahara Sekretaris
Perhitungan seluruh
dana yang masuk selama
1 minggu
Pemilihan kategori kas masuk
dan keluar serta mencatat data
donatur baru
Mencatat Data Transaksi
Kas Masuk dan Keluar
serta informasi donatur
Memeriksa laporan bulanan yang
di buat oleh bendahara
Membuat laporan bulanan
Pimpinan
Memberi koreksi dan
saran pada bendahara
untuk revisi laporan
Mulai
Menerima hasil
cetak laporan
Mencetak dan
melaporkan pada
pimpinan
Tidak sesuai
Sesuai
Selesai
Gambar III.2 Activity Diagram Proses Sistem Berjalan
24
3.2.3 Dokumen Masukan
Spesifikasi sistem berjalan yaitu serangkaian dari bentuk dokumen
untuk mendukung terbentuknya file-file yang di butuhkan serta informasi
yang di sajikan, maka dibutuhkan masukan-masukan untuk sistem.
1. Nama Dokumen : Setor Tunai
Fungsi : Bukti setor di Bank
Tujuan : Administrasi
Media : Kertas
Jumlah : 1 Lembar
Frekuensi : Setiap minggu
Format : Lampiran A1
3.2.4 Dokumen Keluaran
Nama Dokumen : Laporan kas
Fungsi : Sebagai laporan kas
Tujuan : Administrasi
Media : Kertas
Jumlah : 1 lembar
Frekuensi : Setiap bulan
Format : Lampiran B1
3.2.5 Permasalahan Pokok
Bentuk sistem yang baik akan sangat dibutuhkan dalam
organisasi apapun, usaha-usaha yang di operasikan sesuai dengan
keinginan yang di harapkan, akan tetapi perlu disadari bahwa ketentuan
dan cara pengolahan bentuk usaha harus dapat sesuai dan pengaturan
aktivitas yang baik sering timbul berbagai masalah. Melihat dari semua
proses yang terjadi,
25
ada beberapa masalah yang di hadapi di masjid Nurul Anwar
dalam sistem pengelolaan kas, Adapun permasalahan tersebut di
antaranya :
1. Tidak adanya penggunaan program dalam pengolah data terutama
dalam menghitung pemasukan kas sehingga terjadinya kesalahan
menghitung.
2. Adanya keterlambatan informasi dalam pembuatan laporan sehingga
untuk penyajian data memerlukan waktu yang lama (tidak efisien)
3. Menyimpan arsip atau dokumen secara manual lebih banyak resiko,
Karena kemungkinan ada arsip atau dokumen yang hilang atau rusak
3.2.6 Pemecahan Masalah
Untuk mengatasi permasalahan tersebut, maka penulis
memberikan alternative pemecahan masalah yaitu berupa sistem yang
sudah terkomputerisasi. Sistem yang terkomputerisasi tersebut
mempunyai kelebihan diantaranya :
1. Dibuatkannya suatu sistem terkomputerisasi sehingga dalam
pencatatan yang di lakukan lebih cepat dan akurat.
2. Dalam pembuatan laporan lebih efektif dan kesalahan nilai
kemungkinan sangat kecil karena penggunaan media computer
sebagai alat bantu dalam pemrosesan data sehingga dapat diperoleh
informasi yang lebih cepat,tepat dan akurat
26
3. Selain menggunakan media kertas dibuatkan juga media database
sebagai media penyimpanan data agar meminimalisir data yang
rangkap, data yang rusak dan data yang hilang
3.3 Analisa Kebutuhan Software
Pada tahap analisis kebutuhan software penulis mendokumentasikannya
melalui Analisis Kebutuhan, Use Case Diagram, dan Activity Diagram.
3.3.1 Tahapan Analis
Berikut ini spesifikasi kebutuhan dari sistem informasi pengelolaan kas masjid
A. Kebutuhan Admin
1. Admin melakukan login
2. Admin Mengakses Menu Master
2.1 Admin Mengelola Data User
2.2 Admin Mengelola Data Account
2.3 Admin Mengelola Data Category
2.4 Admin Mengelola Data Donatur
3. Admin Mengakses Menu Transaksi
3.1 Admin Mengelola Kas In
3.2 Admin Mengelola Kas Out
3.3 Admin Mengelola Jurnal
4. Admin melakukan Logout
B. Kebutuhan Operator
1. Operator melakukan login
2. Operator Mengakses Menu Transaksi
3. Operator Melakukan Logout
27
3.3.2 Use ase Diagram
1. Admin melakukan login
Usecase Diagram Menu Login Admin
Admin
Melakukan Login Masukan Kode User
Verifikasi Sistem
Masukan Password
Verifikasi Sistem
<<include>>
<<include>><<include>>
<<include>>
Batal
Gambar III.3
Use Case – Login Admin
Tabel III.1
Deskripsi Gambar – Use Case Login Admin
Use Case Narative Login Admin
Tujuan Melakukan login dan masuk kedalam sistem Pengelolaan
kas masjid
Deskripsi Sistem ini memungkinkan aktor untuk mengakses sistem
Pengelolaan Kas Masjid
Skenario Utama
Aktor Admin
Kondisi awal Aktor Membuka Aplikasi Sistem Pengelolaan Kas Masjid
Aksi Aktor Reaksi Sistem
1. Aktor memilih
tombol login
2. Aktor memilih
tombol batal
Sistem akan menampilkan textbox untuk mengisi kode
user dan password sistem akan memverifikasi data user
Sistem akan membatalkan proses login dan keluar dari
aktivitas yang dilakukan.
Kondisi Akhir
Jika perintah sesuai maka akan masuk kedalam aplikasi
pengelolaan kas masjid dan aktor dapat melakukan
aktivitas sistem.
28
2. Admin Mengakses Menu Master
Usecase Diagram Menu Utama Master
Admin
Mengakses Menu
MasterSubmenu User
Submenu Account
Submenu Category
<<extend>>
<<extend>>
<<extend>>
Submenu Donatur
<<extend>>
Gambar III.4
Use Case – Login Menu Master
Tabel III.2.
Deskripsi Gambar – Use Case Login Menu Master
Use Case Narative Menu Master
Tujuan Admin dapat melakukan pengolahan data yang ada di
menu menu master
Deskripsi
Sistem ini memungkinkan aktor untuk mengelola menu
master mulai dari submenu data user, data account,
category dan donatur.
Skenario Utama
Aktor Admin
Kondisi awal Aktor Membuka Menu Master
Aksi Aktor Reaksi Sistem
1. Aktor memilih tombol
submenu User
2. Aktor memilih tombol
submenu Account
3. Aktor memilih tombol
submenu Category
4. Aktor memilih tombol
submenu Donatur
Sistem akan menampilkan form submenu User
Sistem akan menampilkan form submenu Account
Sistem akan menampilkan form submenu Category
Sistem akan menampilkan form submenu Donatur
Kondisi Akhir
Jika perintah sesuai maka akan masuk kedalam aplikasi
pengelolaan kas masjid dan aktor dapat melakukan
aktivitas sistem.
29
2.1 Admin Mengelola Data User
Admin
Usecase Diagram Submenu User
Tambah
Batal
Hapus
Menfakses Submenu
Data User
Update
Cari
Simpan
<<extend>>
<<extend>>
<<extend>>
<<extend>>
<<extend>>
<<include>>
Gambar III.5
Use Case – Submenu User
Tabel III.3
Deskripsi Gambar – Use Case Submenu User
Use Case Narative Login Submenu User
Tujuan Admin dapat melakukan pengolahan data yang ada di menu submenu user
Deskripsi
Sistem ini memungkinkan aktor untuk mengelola menu master mulai dari
menambah, menyimpan, mencari, mengubah, menghapus dan membatalkan
data user
Skenario Utama Aktor Admin
Kondisi awal Aktor Mengakses Menu Master User
Aksi Aktor Reaksi Sistem 1. Aktor memilih tombol tambah
2. Aktor memilih tombol simpan
3. Aktor memilih tombol cari
4. Aktor memilih tombol ubah
5. Aktor memilih tombol hapus
6. Aktor memilih tombol batal
Sistem akan menambahkan data user
Sistem akan menyimpan data user
Sistem akan mencari data user
Sistem akan mengubah data user
Sistem akan menghapus data user
Sistem akan membatalkan data user
Kondisi Akhir
Jika perintah sesuai maka akan masuk kedalam
aplikasi pengelolaan kas masjid dan aktor dapat
melakukan aktivitas sistem.
30
2.2. Administrator Mengelola Data Account
Admin
Usecase Diagram Submenu Account
Tambah
Batal
Hapus
Menfakses Submenu
Data Account
Update
Cari
Simpan
<<extend>>
<<extend>>
<<extend>>
<<extend>>
<<extend>>
<<include>>
Gambar III.6
Use Case – Submenu Account
Tabel III.4
Deskripsi Gambar – Use Case Submenu Account
Use Case Narative Login Submenu Account
Tujuan Admin dapat melakukan pengolahan data yang ada di
menu submenu account
Deskripsi
Sistem ini memungkinkan aktor untuk mengelola menu
master mulai dari menambah, menyimpan, mencari,
mengubah, menghapus dan membatalkan data account
Skenario Utama
Aktor Admin
Kondisi awal Aktor Mengakses Menu Master Account
Aksi Aktor Reaksi Sistem
1. Aktor memilih tombol tambah
2. Aktor memilih tombol simpan
3. Aktor memilih tombol cari
4. Aktor memilih tombol ubah
5. Aktor memilih tombol hapus
6. Aktor memilih tombol batal
Sistem akan menambahkan data account
Sistem akan menyimpan data account
Sistem akan mencari data account
Sistem akan mengubah data account
Sistem akan menghapus data account
Sistem akan membatalkan data account
Kondisi Akhir
Jika perintah sesuai maka akan masuk
kedalam aplikasi pengelolaan kas masjid
dan aktor dapat melakukan aktivitas
sistem.
31
2.3 Admin Mengelola Data Category
Admin
Usecase Diagram Submenu Category
Tambah
Batal
Hapus
Menfakses Submenu
Data Category
Update
Cari
Simpan
<<extend>>
<<extend>>
<<extend>>
<<extend>>
<<extend>>
<<include>>
Gambar III.7
Use Case – Submenu Category
Tabel III.5
Deskripsi Gambar – Use Case Submenu Category
Use Case Narative Login Submenu Category
Tujuan Admin dapat melakukan pengolahan data yang ada di menu
submenu category
Deskripsi
Sistem ini memungkinkan aktor untuk mengelola menu master
mulai dari menambah, menyimpan, mencari, mengubah,
menghapus dan membatalkan data category
Skenario Utama
Aktor Admin
Kondisi awal Aktor Mengakses Menu Master Category
Aksi Aktor Reaksi Sistem
1. Aktor memilih tombol tambah
2. Aktor memilih tombol simpan
3. Aktor memilih tombol cari
4. Aktor memilih tombol ubah
5. Aktor memilih tombol hapus
6. Aktor memilih tombol batal
Sistem akan menambahkan data category
Sistem akan menyimpan data category
Sistem akan mencari data category
Sistem akan mengubah data category
Sistem akan menghapus data category
Sistem akan membatalkan data category
Kondisi Akhir
Jika perintah sesuai maka akan masuk
kedalam aplikasi pengelolaan kas masjid
dan aktor dapat melakukan aktivitas
sistem.
32
2.4 Admin Mengelola Data Donatur
Admin
Usecase Diagram Submenu Donatur
Tambah
Batal
Hapus
Menfakses Submenu
Data Donatur
Update
Cari
Simpan
<<extend>>
<<extend>>
<<extend>>
<<extend>>
<<extend>>
<<include>>
Gambar III.8
Use Case – Submenu Donatur
Tabel III.6
Deskripsi Gambar – Use Case Submenu Donatur
Use Case Narative Login Submenu Donatur
Tujuan Admin dapat melakukan pengolahan data yang ada di menu
submenu donator
Deskripsi
Sistem ini memungkinkan aktor untuk mengelola menu master
mulai dari menambah, menyimpan, mencari, mengubah,
menghapus dan membatalkan data donatur
Skenario Utama
Aktor Admin
Kondisi awal Aktor Mengakses Menu Master Donatur
Aksi Aktor Reaksi Sistem
1. Aktor memilih tombol tambah
2. Aktor memilih tombol simpan
3. Aktor memilih tombol cari
4. Aktor memilih tombol ubah
5. Aktor memilih tombol hapus
6. Aktor memilih tombol batal
Sistem akan menambahkan data donator
Sistem akan menyimpan data donatur
Sistem akan mencari data donatur
Sistem akan mengubah data donatur
Sistem akan menghapus data donatur
Sistem akan membatalkan data donatur
Kondisi Akhir
Jika perintah sesuai maka akan masuk
kedalam aplikasi pengelolaan kas
masjid dan aktor dapat melakukan
aktivitas sistem.
33
3. Admin Mengakses Menu Transaksi
Admin
Usecase Diagram Menu Transaksi
Mengakses Menu
Transaksi Submenu Kas In
Submenu Kas Out
Submenu Jurnal
<<extend>>
<<extend>>
<<extend>>
Gambar III.9
Use Case – Login Menu Transaksi
Tabel III.7
Deskripsi Gambar – Use Case Login Menu Transaksi
Use Case Narative Menu Transaksi
Tujuan Admin dapat melakukan pengolahan data yang ada
di menu menu transaksi
Deskripsi Sistem ini memungkinkan aktor untuk mengelola
menu transaksi mulai dari kas masuk sampai jurnal
Skenario Utama
Aktor Admin
Kondisi awal Aktor Mengakses Menu Transaksi
Aksi Aktor Reaksi Sistem
1. Aktor memilih tombol
menu kas in
2. Aktor memilih tombol
menu Kas out
3. Aktor memilih tombol
menu Jurnal
Sistem akan menampilkan form menu kas in
Sistem akan menampilkan form menu kas out
Sistem akan menampilkan form menu jurnal
Kondisi Akhir
Jika perintah sesuai maka akan masuk kedalam
aplikasi pengelolaan kas masjid dan aktor dapat
melakukan aktivitas sistem.
34
3.1 Admin Mengelola Data Kas In
Admin
Usecase Diagram Submenu Kas In
Tambah
Batal
Hapus
Menfakses Submenu
Data Kas In
Update
Cari
Simpan
<<extend>>
<<extend>>
<<extend>>
<<extend>>
<<extend>>
<<include>>
Gambar III.10
Use Case – Submenu Kas In
Tabel III.8
Deskripsi Gambar – Use Case Submenu Kas In
Use Case Narative Login Submenu Kas In
Tujuan Administrator dapat melakukan pengolahan data yang ada di menu
submenu kas in
Deskripsi
Sistem ini memungkinkan aktor untuk mengelola menu master mulai
dari menambah, menyimpan, mencari, mengubah, menghapus dan
membatalkan data kas in
Skenario Utama
Aktor Admin
Kondisi awal Aktor Mengakses Transaksi kas in
Aksi Aktor Reaksi Sistem
1. Aktor memilih tombol tambah
2. Aktor memilih tombol simpan
3. Aktor memilih tombol cari
4. Aktor memilih tombol ubah
5. Aktor memilih tombol hapus
6. Aktor memilih tombol batal
Sistem akan menambahkan data kas in
Sistem akan menyimpan data kas in
Sistem akan mencari data kas in
Sistem akan mengubah data kas in
Sistem akan menghapus data kas in
Sistem akan membatalkan data kas in
Kondisi Akhir
Jika perintah sesuai maka akan masuk
kedalam aplikasi pengelolaan kas masjid dan
aktor dapat melakukan aktivitas sistem.
35
3.2. Admin Mengelola Kas Out
Admin
Usecase Diagram Submenu Kas Out
Tambah
Batal
Hapus
Menfakses Submenu
Data Kas Out
Update
Cari
Simpan
<<extend>>
<<extend>>
<<extend>>
<<extend>>
<<extend>>
<<include>>
Gambar III.11
Use Case – Submenu Kas Out
Tabel III.9
Deskripsi Gambar – Use Case Submenu Kas Out
Use Case Narative Login Submenu Kas Out
Tujuan Admin dapat melakukan pengolahan data yang ada di menu
submenu kas out
Deskripsi
Sistem ini memungkinkan aktor untuk mengelola menu master
mulai dari menambah, menyimpan, mencari, mengubah,
menghapus dan membatalkan data kas out
Skenario Utama
Aktor Admin
Kondisi awal Aktor Mengakses Transaksi kas out
Aksi Aktor Reaksi Sistem
1. Aktor memilih tombol tambah
2. Aktor memilih tombol simpan
3. Aktor memilih tombol cari
4. Aktor memilih tombol ubah
5. Aktor memilih tombol hapus
6. Aktor memilih tombol batal
Sistem akan menambahkan data kas out
Sistem akan menyimpan data kas out
Sistem akan mencari data kas out
Sistem akan mengubah data kas out
Sistem akan menghapus data kas out
Sistem akan membatalkan data kas out
Kondisi Akhir
Jika perintah sesuai maka akan masuk kedalam
aplikasi pengelolaan kas masjid dan aktor dapat
melakukan aktivitas sistem.
36
3.3. Admin Mengelola Jurnal
Admin
Usecase Diagram Submenu Jurnal
Memilih Menu JurnalPilih Jurnal Penerimaan
Pilih Jurnal Pengeluaran
Tutup
<<include>>
<<extend>>
<<extend>>
Gambar III.12
Use Case – Submenu Jurnal
Tabel III.10
Deskripsi Gambar – Use Case Submenu Jurnal
Use Case Narative Login Submenu Jurnal
Tujuan Admin dapat melakukan pengolahan dan pengecekan data yang
ada di menu submenu jurnal
Deskripsi Sistem ini memungkinkan aktor untuk mengelola laporan mulai
dari menampilkan sampai memilih data menu
Skenario Utama
Aktor Admin
Kondisi awal Aktor Mengakses Menu Transaksi Jurnal
Aksi Aktor Reaksi Sistem
1. Aktor memilih tombol pilih
2. Aktor memilih tombol pilih
3. Aktor memilih tombol tutup
Sistem akan menampilkan data jurnal
penerimaan
Sistem akan menampilkan data jurnal
pengeluaran
Sistem akan menutup laporan jurnal
Kondisi Akhir
Jika perintah sesuai maka akan masuk
kedalam aplikasi pengelolaan kas masjid
dan aktor dapat melakukan aktivitas
sistem.
37
4. Admin mengakses menu Laporan
Admin
Usecase Diagram Submenu Laporan
Memilih Menu LaporanSimpan
Cetak
Tutup
<<include>>
<<extend>>
<<extend>>
Gambar III.13
Use Case – Login Menu Laporan
Tabel III.11
Deskripsi Gambar – Use Case Menu Laporan
Use Case Narative Menu Laporan Kas
Tujuan Admin dapat melakukan pengolahan dan pengecekan
laporan kas
Deskripsi Sistem ini memungkinkan aktor untuk mengelola laporan
mulai dari menampilkan, mencetak dan menyimpan, hingga
menutup laporan pendapatan
Skenario Utama
Aktor Admin
Kondisi awal Aktor Mengakses Menu Laporan
Aksi Aktor Reaksi Sistem
1. Aktor memilih
tombol simpan
2. Aktor memilih
tombol cetak
3. Aktor memilih
tombol tutup
Sistem akan menyimpan laporan kas
Sistem akan mencetak laporan kas
Sistem akan menutup laporan kas
Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan seperti
yang diinginkan oleh aktor.
38
5. Admin Melakukan Logout
Admin
Usecase Diagram Menu Logout Admin
Pengaturan
Logout
Verifikasi Sistem
Batal
<<include>>
<<include>>
<<include>>
Gambar III.14
Use Case – Menu Logout Admin
Tabel III.12
Deskripsi Gambar – Menu Logout Admin
Use Case Narative Menu Logout Admin
Tujuan Melakukan Logout dan keluar dari sistem pengelolaan kas
masjid
Deskripsi Sistem ini memungkinkan aktor untuk menutup sistem
engelolaan kas masjid
Skenario Utama
Aktor Admin
Kondisi awal Aktor belum melakukan logout
Aksi Aktor Reaksi Sistem
1. Aktor memilih
tombol Logout
2. Aktor memilih
tombol batal
Sistem akan menampilkan messagebox untuk
mengkonfirmasi apakah akan keluar dan tekan yes
Sistem akan membatalkan proses logout dengan menekan no
dan tetap didalam aplikasi
Kondisi Akhir Jika perintah sesuai maka sistem akan sub menutup aplikasi
pengelolaan kas masjid dan kembali ke menu login
39
B. Kebutuhan Operator
1. Operator Melakukan Login
Usecase Diagram Menu Login Operator
Operator
Melakukan Login Masukan Kode User
Verifikasi Sistem
Masukan Password
Verifikasi Sistem
<<include>>
<<include>><<include>>
<<include>>
Batal
Gambar III.15
Use Case – Login Operator
Tabel III.13
Deskripsi Gambar – Use Case Login Operator
Use Case Narative Login Operator
Tujuan Operator melakukan login dan masuk kedalam sistem
pengelolaan kas masjid
Deskripsi Sistem ini memungkinkan aktor untuk mengakses sistem
pengelolaan kas masjid
Skenario Utama
Aktor Operator
Kondisi awal Aktor Membuka Aplikasi Pengelolaan kas masjid
Aksi Aktor Reaksi Sistem
1. Aktor memilih
tombol login
2. Aktor memilih
tombol batal
Sistem akan menampilkan textbox untuk mengisi kode
user dan password.
Sistem akan membatalkan proses login dan keluar dari
aktivitas yang dilakukan.
Kondisi Akhir
Jika perintah sesuai maka akan masuk kedalam aplikasi
Pengelolaan kas masjid dan aktor dapat melakukan
aktivitas sistem.
40
2. Operator Mengakses Menu Laporan
Operator
Usecase Diagram Submenu Laporan
Memilih Menu LaporanSimpan
Cetak
Tutup
<<include>>
<<extend>>
<<extend>>
Gambar III.16
Use Case – Login Menu Laporan
Tabel III.14
Deskripsi Gambar – Use Case Menu Laporan
Use Case Narative Menu Laporan Kas
Tujuan Operator dapat melakukan pengolahan dan pengecekan
laporan kas
Deskripsi Sistem ini memungkinkan aktor untuk mengelola
laporan mulai dari menampilkan, mencetak dan
menyimpan, hingga menutup laporan pendapatan
Skenario Utama
Aktor Operator
Kondisi awal Aktor Mengakses Menu Laporan
Aksi Aktor Reaksi Sistem
4. Aktor memilih
tombol simpan
5. Aktor memilih
tombol cetak
6. Aktor memilih
tombol tutup
Sistem akan menyimpan laporan kas
Sistem akan mencetak laporan kas
Sistem akan menutup laporan kas
Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan
seperti yang diinginkan oleh aktor.
41
3. Operator Melakukan Logout
Operator
Usecase Diagram Menu Logout Operator
Pengaturan
Logout
Verifikasi Sistem
Batal
<<include>>
<<include>>
<<include>>
Gambar III.17
Use Case – Logout Operator
Tabel III.15
Deskripsi Gambar – Menu Logout Operator
Use Case Narative Menu Logout Operator
Tujuan Melakukan Logout dan keluar dari sistem
pengelolaan kas masjid
Deskripsi Sistem ini memungkinkan aktor untuk menutup
sistem engelolaan kas masjid
Skenario Utama
Aktor Operator
Kondisi awal Aktor belum melakukan logout
Aksi Aktor Reaksi Sistem
1. Aktor memilih tombol
Logout
2. Aktor memilih tombol
batal
Sistem akan menampilkan messagebox untuk
mengkonfirmasi apakah akan keluar dan tekan yes
Sistem akan membatalkan proses logout dengan
menekan no dan tetap didalam aplikasi
Kondisi Akhir
Jika perintah sesuai maka sistem akan sub menutup
aplikasi pengelolaan kas masjid dan kembali ke menu
login
42
3.3.1 Activity Diagram
Berikut activity diagram yang dibuatkan penulis untuk mempermudah dalam
membuat rancangan desain sistem berdasarkan analisa kebutuhan dan use case
diagram diatas :
1. Activity Diagram – Login Admin
Admin Sistem
Melakukan
Login
Masukan
Kode User
Masukan
Password
Cek Kode User
dan
Password
[VALID?]
Tampilkan Pesan
Data Tidak
Ditemukan!
Star
[TIDAK]
Masuk
Kedalam
Menu Utama
END
Gambar III.18
Activity Diagram – Login Admin
43
2. Activity Diagram – Menu Utama
Admin Sistem
Star
MengaksesMenu Utama
MenampilkanMenu Utama
Menu
Master
Menu
Transaksi
KeluarSistem
Menu
Log out
END
Gambar III.19
Activity Diagram – Menu Utama
44
3. Activity Diagram – Data User
Admin Sistem
Star
Mengklik Menu Master
Submenu User
Menampilkan Form
Input User
Klik Tambah Pilih Data
Klik
Hapus
Klik
Ubah
Input
Kode User
Nama User
Akses
Input Data Yang
Ingin diubah
Klik
Simpan
Proses
Hapus Data
Textbox
Kembali
Bersih
Klik
EditTampil
Info Hapus
Tampil
Form
Input
Proses
Ubah Data
Proses
Simpan
Data
Klik
Batal
END
Gambar III.20
Activity Diagram – Data User
45
4. Activity Diagram – Data Account
Admin Sistem
Star
Mengklik Menu Master
Submenu Account
Menampilkan Form
Input Account
Klik Tambah Pilih Data
Klik
Hapus
Klik
Ubah
Input
Kode Account
Nama Account
Input Data Yang
Ingin diubah
Klik
Simpan
Proses
Hapus Data
Textbox
Kembali
Bersih
Klik
EditTampil
Info Hapus
Tampil
Form
Input
Proses
Ubah Data
Proses
Simpan
Data
Klik
Batal
END
Gambar III.21
Activity Diagram – Data Account
46
5. Activity Diagram – Data Category
Admin Sistem
Star
Mengklik Menu Master
Submenu Category
Menampilkan Form
Input Category
Klik Tambah Pilih Data
Klik
Hapus
Klik
Ubah
Input
No ID Category
Jenis Category
Ket Category
Input Data Yang
Ingin diubah
Klik
Simpan
Proses
Hapus Data
Textbox
Kembali
Bersih
Klik
EditTampil
Info Hapus
Tampil
Form
Input
Proses
Ubah Data
Proses
Simpan
Data
Klik
Batal
END
Gambar III.22
Activity Diagram – Data Category
47
6. Activity Diagram – Data Donatur
Admin Sistem
Star
Mengklik Menu Master
Submenu Donatur
Menampilkan Form
Input Donatur
Klik Tambah Pilih Data
Klik
Hapus
Klik
Ubah
Input
Nama Donatur
Alamat Donatur
Input Data Yang
Ingin diubah
Klik
Simpan
Proses
Hapus Data
Textbox
Kembali
Bersih
Klik
EditTampil
Info Hapus
Tampil
Form
Input
Proses
Ubah Data
Proses
Simpan
Data
Klik
Batal
END
Gambar III.23
Activity Diagram – Data Donatur
48
7. Activity Diagram – Menu Kas In
Admin Sistem
Star
Mengklik Menu Master
Submenu Kas In
Menampilkan Form
Input Kas In
Klik Tambah Pilih Data
Klik
Hapus
Klik
Ubah
Input
ID Transaksi
Jumlah
Keterangan
Input Data Yang
Ingin diubah
Klik
Simpan
Proses
Hapus Data
Textbox
Kembali
Bersih
Klik
EditTampil
Info Hapus
Tampil
Form
Input
Proses
Ubah Data
Proses
Simpan
Data
Klik
Batal
END
Gambar III.24
Activity Diagram – Kas In
49
8. Activity Diagram – Menu Kas Out
Gambar III.25
Activity Diagram – Kas Out
50
9. Activity Diagram – Menu Jurnal
Admin Sistem
Star
Mengklik Submenu
Transaksi Jurnal
Menampilkan
Form Input Jurnal
Pilih Bulan
Tampil JurnalPenerimaan
danPengeluaran
Pilih Tahun
END
Gambar III.26
Activity Diagram – Jurnal
51
10. Activity Diagram – Menu Laporan
Admin Sistem
Star
Mengklik Submenu
Laporan
Menampilkan
Laporan
Klik Bulan
Tampil Laporan Perperiode
Klik Periode
END
Pilih BulanPilih
Tanggal Awal
dan
Tanggal Akhir
Klik Cetakklik Cetak
Gambar III.27
Activity Diagram – Laporan
52
11. Activity Diagram – Logout Admin
Admin Sistem
Star
Mengklik
Menu Logout
Klik Yes Klik No
Tetap
Didalam Menu
Keluar
Dari Sistem
END
Gambar III.28
Activity Diagram – Log Out
53
3.4 Desain
Berikut beberapa desain yang dirancang penulis untuk penggambaran
lengkap mengenai tampilan sistem yang akan dibuat. Terdiri dari Entity
Relationship Diagram (ERD), Logical Record Structure (LRS), Spesifikasi
File, Admin Interface dan Spesifikasi Hardware Software yang sesuai dengan
tinjauan kasus serta analisis kebutuhan software
3.4.1 Entity Relationship Diagram (ERD)
Gambar III.29
Entity Relationship Diagram (ERD)
54
3.4.2 Logical Record Structure (LRS)
Gambar III.30
Logical Record Structure (LRS)
55
3.4.3. Spesifikasi File
Berikut spesifikasi file yang dibuatkan untuk menguraikan
rancangan tabel yang akan digunakan dalam sistem informasi pengelolaan
kas masjid:
1. Spesifikasi File User
Nama File : user
Akronim : user.sql
Fungsi : sebagai penyimpan data user
Tipe File : File Master
Organisasi File : Indexed Sequential
Akses File : Random
Media : Harddisk
Panjang record : 66 Byte
Kunci field : Id
Software : MySQL
Tabel III.16.
Spesifikasi File User
No Elemen Data Akronim Type Size Keterangan
1 ID User Id Int 11 Primary Key
2 Nama User Nama Varchar 35
3 Password Password Varchar 10
4 Akses Akses Varchar 10
56
2. Spesifikasi File Akun
Nama File : Akun
Akronim : Akun.sql
Fungsi : sebagai penyimpan data Akun
Tipe File : File Master
Organisasi File : Indexed Sequential
Akses File : Random
Media : Harddisk
Panjang record : 61 Byte
Kunci field : id
Software : MySQL
Tabel III.17.
Spesifikasi File Akun
No Elemen Data Nama Field Type Size Keterangan
1 Id Akun Id Int 11 Primary Key
2 Nama Akun Akun Varchar 50
57
3. Spesifikasi File Kategori
Nama File : Kategori
Akronim : Kategori.sql
Fungsi : sebagai penyimpan data kategori
Tipe File : File Master
Organisasi File : Indexed Sequential
Akses File : Random
Media : Harddisk
Panjang record : 81 Byte
Kunci field : id
Software : MySQL
Tabel III.18.
Spesifikasi File Kategori
No Elemen Data Nama Field Type Size Keterangan
1 Id Kategori Id Int 11 Primary Key
2 Nama Akun Jenis Varchar 50
3 Kategori Kategori Varchar 20
58
1. Spesifikasi File Donatur
Nama File : Donatur
Akronim : donatur.sql
Fungsi : sebagai penyimpan data donatur
Tipe File : File Master
Organisasi File : Indexed Sequential
Akses File : Random
Media : Harddisk
Panjang record : 86 Byte
Kunci field : id
Software : MySQL
Tabel III.19.
Spesifikasi File Kode Donatur
No Elemen Data Nama Field Type Size Keterangan
1 Id Donatur Id Int 11 Primary Key
2 Nama Donatur Nama Varchar 35
3 Alamat Alamat Varchar 30
59
2. Spesifikasi File Kas Masuk
Nama File : Kas Masuk
Akronim : kas masuk.sql
Fungsi : sebagai penyimpan data kas masuk
Tipe File : File Transaksi
Organisasi File : Indexed Sequential
Akses File : Random
Media : Harddisk
Panjang record : 68 Byte
Kunci field : id
Software : MySQL
Tabel III.20.
Spesifikasi File Kas Masuk
No Elemen Data Nama Field Type Size Keterangan
1 Id Transaksi Id Int 11 Primary Key
2 Tanggal Transaksi Tgl timestamp -
3 Jumlah Jml Int 11
4 Keterangan Ket Varchar 35
5 No Akun id_kat Int 11
60
3. Spesifikasi File Kas Keluar
Nama File : Kas Keluar
Akronim : kas keluar.sql
Fungsi : sebagai penyimpan data kas keluar
Tipe File : File Transaksi
Organisasi File : Indexed Sequential
Akses File : Random
Media : Harddisk
Panjang record : 68 Byte
Kunci field : id
Software : MySQL
Tabel III.21.
Spesifikasi File Kas Keluar
No Elemen Data Nama Field Type Size Keterangan
1 Id Transaksi Id Int 11 Primary Key
2 Tanggal Transaksi Tgl timestamp
3 Jumlah Jml Int 11
4 Keterangan Ket Varchar 35
5 No Akun id_kat Int 11
61
4. Spesifikasi File Jurnal
Nama File : jurnal
Akronim : jurnal.sql
Fungsi : sebagai penyimpan data jurnal
Tipe File : File Transaksi
Organisasi File : Indexed Sequential
Akses File : Random
Media : Harddisk
Panjang record : 70 Byte
Kunci field : id
Software : MySQL
Tabel III.22.
Spesifikasi File Jurnal
No Elemen Data Nama Field Type Size Keterangan
1 Id Transaksi Id Int 11 Primary Key
2 Debet Debit Int 11
3 Kredit Kredit Int 11
4 Nama Akun id_akun Int 11
5 Keterangan Akun Jenis Varchar 15
6 Jumlah Kas id_kas Int 11
62
3.4.4. Sequence Diagram
Penulis yang membatasi pembuatan sequence diagram dengan
memilih transaksi bisnis yang utama, yaitu transaksi pesanan sebagai
berikut:
Form Login Halaman Admin Transaksi Kas Masuk
Admin, Operator
1 : Login ( )
2 :username password ( )
3 : login gagal ( )
4 : data kas masuk ( )
5 : input data kas masuk ( )
6 : data kas masuk diinput ( )
7 : edit data kas masuk ( )
8 : data kas masuk diedit ( )
9 : hapus data kas masuk ( )
10 : data kas masuk dihapus ( )
Gambar III.31. Sequence Diagram Proses Bisnis Utama Kas Masuk
63
3.4.5. Deployment Diagram
Berikut ini deployment diagram yang dibuat oleh penulis dalam
menggambarkan program aplikasi dan software database yang digunakan
dalam perancangan sistem pengelolaan kas masjid.
MAIN
JAVA
<<database>> DATABASE
<<DBMS>> MYSQL
db_masjidnurulanwar
<<device>>
App.pengelolaankasmasjid
Gambar III.32. Deployment Diagram
64
3.4.6. Use Interface
Berdasarkan anilisis kebutuhan software yang telah dirancang,
berikut ini adalah desain tampilan program yang dibuat penulis:
1. User Interface Form Menu Login
Gambar III.33. User Interface Menu Login
2. User Interface Form Menu Utama
Gambar III.34. User Interface MenuUtama
65
3. User Interface Form Menu Master Submenu User
Gambar III.35. User Interface Menu Master Submenu User
4. User Interface Form Menu Master Submenu Account
Gambar III.36. User Interface Menu Master Submenu Account
66
5. User Interface Form Menu Master Submenu Category
Gambar III.37. User Interface Menu Master Submenu Category
6. User Interface Form Menu Master Submenu Donatur
Gambar III.38. User Interface Menu Master Submenu Donatur
67
7. User Interface Form Menu Transaksi Kas Masuk
Gambar III.39. User Interface Menu Transaksi Submenu Kas Masuk
8. User Interface Form Menu Transaksi Kas Keluar
Gambar III.40. User Interface Menu Transaksi Submenu Kas Keluar
68
9. User Interface Form Menu Transaksi Jurnal
Gambar III.41. User Interface Menu Transaksi Submenu Jurnal
10. User Interface Laporan
Gambar III.42. User Interface Laporan
69
11. User Interface Logout
Gambar III.43. User Interface Logout
11.5 Implementasi
Implementasi merupakan tahap akhir pada pembahasan laporan tugas
akhir ini, dimana penulis menjelaskan tentang code generation, testing, dan
spesifikasi hardware dan software yang akan diuraikan sebagai berikut:
3.5.1. Code Generation
1. KasMasukView
public class KasMasukView extends javax.swing.JInternalFrame {
koneksi kon = new koneksi();
private Object[][] datamK = null;
private String[] labelmK = {"ID", "TANGGAL", "TOTAL",
"KETERANGAN","KATEGORI"};
* Creates new form UserView
public KasMasukView() {
initComponents();
kon.setKoneksi();
jid.setVisible(false);
bindingTabel();
btsave.setEnabled(false);
comboBox();
}
private String id;
private String jenis;
public String getId() {
return id;
70
}
public void setId(String id) {
this.id = id;
}
public String getJenis() {
return jenis;
}
public void setJenis(String jenis) {
this.jenis = jenis;
}
private void bindingTabel() {
try {
String sql = "Select kk.*,kt.jenis From
tbl_kas_masuk kk LEFT JOIN tbl_kategori kt ON kk.id_kat =
kt.id";
kon.rs = kon.st.executeQuery(sql);
ResultSetMetaData m = kon.rs.getMetaData();
int kolom = m.getColumnCount();
int baris = 0;
while (kon.rs.next()) {
baris = kon.rs.getRow();
}
datamK = new Object[baris][kolom];
int x = 0;
kon.rs.beforeFirst();
while (kon.rs.next()) {
datamK[x][0] = kon.rs.getString("kk.id");
datamK[x][1] = kon.rs.getString("kk.tgl");
datamK[x][2] = kon.rs.getString("kk.jml");
datamK[x][3] = kon.rs.getString("kk.ket");
datamK[x][4] = kon.rs.getString("kt.jenis");
x++;
}
tbl.setModel(new DefaultTableModel(datamK,
labelmK));
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
}
private void comboBox() {
try {
String sql = "Select *From tbl_kategori where
kategori= 'Penerimaan'";
kon.rs = kon.st.executeQuery(sql);
while (kon.rs.next()) {
71
cmbkat.addItem(kon.rs.getString("id") + " - "
+ kon.rs.getString("jenis"));
}
} catch (Exception e) {
}
}
private String comboBoxSearch(String search) {
try {
String sql = "Select *From tbl_kategori where
jenis= '"+search+"'";
kon.rs = kon.st.executeQuery(sql);
while (kon.rs.next()) {
id = kon.rs.getString("id");
}
} catch (Exception e) {
}
return id;
}
private String akunSearch(String search) {
try {
String sql = "Select *From tbl_akun where akun=
'"+search+"'";
kon.rs = kon.st.executeQuery(sql);
while (kon.rs.next()) {
id = kon.rs.getString("id");
}
} catch (Exception e) {
}
return id;
}
private void bindingTabelSearch() {
try {
String sql = "Select kk.*,kt.* From tbl_kas_masuk
kk JOIN tbl_kategori kt ON kk.id_kat = kt.id"
+ " where kk.tgl like '%" +
tsearch.getText() + "%'";
kon.rs = kon.st.executeQuery(sql);
ResultSetMetaData m = kon.rs.getMetaData();
int kolom = m.getColumnCount();
int baris = 0;
while (kon.rs.next()) {
baris = kon.rs.getRow();
}
datamK = new Object[baris][kolom];
int x = 0;
kon.rs.beforeFirst();
while (kon.rs.next()) {
datamK[x][0] = kon.rs.getString("kk.id");
datamK[x][1] = kon.rs.getString("kk.tgl");
72
datamK[x][2] = kon.rs.getString("kk.jml");
datamK[x][3] = kon.rs.getString("kk.ket");
datamK[x][4] = kon.rs.getString("kt.jenis");
x++;
}
tbl.setModel(new DefaultTableModel(datamK,
labelmK));
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
}
private String getWaktu() {
DateFormat dFormat = new SimpleDateFormat("Mss");
Date waktu = new Date();
return dFormat.format(waktu);
}
private String nomor(){
String no = null;
try {
String sql = "select max(id) from tbl_kas_masuk";
kon.rs = kon.st.executeQuery(sql);
if(kon.rs.next()){
int a = kon.rs.getInt(1);
no = Integer.toString(a+1);
}
} catch (Exception e) {
e.printStackTrace();
}
return no;
}
/**
* This method is called from within the constructor to
initialize the form.
* WARNING: Do NOT modify this code. The content of this
method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated
Code">
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
tbl = new javax.swing.JTable();
tsearch = new javax.swing.JTextField();
jPanel1 = new javax.swing.JPanel();
jLabel3 = new javax.swing.JLabel();
tid = new javax.swing.JTextField();
73
jLabel4 = new javax.swing.JLabel();
tket = new javax.swing.JTextField();
jLabel5 = new javax.swing.JLabel();
cmbkat = new javax.swing.JComboBox<String>();
btnAdd = new javax.swing.JButton();
btsave = new javax.swing.JButton();
btdelete = new javax.swing.JButton();
jLabel7 = new javax.swing.JLabel();
tjml = new javax.swing.JTextField();
jid = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
setClosable(true);
setIconifiable(true);
setResizable(true);
setTitle("Kas Masuk");
tbl.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
},
new String [] {
}
));
tbl.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mousePressed(java.awt.event.MouseEvent
evt) {
tblMousePressed(evt);
}
});
jScrollPane1.setViewportView(tbl);
tsearch.setToolTipText("Search");
tsearch.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
tsearchActionPerformed(evt);
}
});
tsearch.addKeyListener(new java.awt.event.KeyAdapter()
{
public void keyTyped(java.awt.event.KeyEvent evt)
{
tsearchKeyTyped(evt);
}
});
btsave.setText("Save");
74
}
});
jLabel7.setFont(new java.awt.Font("Tahoma", 0, 16));
// NOI18N
jLabel7.setText("Jumlah");
tjml.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt)
{
tjmlKeyTyped(evt);
}
});
javax.swing.GroupLayout jPanel1Layout = new
javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.TRAILING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(btnAdd)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(btsave)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(btdelete))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(jLabel3)
.addComponent(jLabel4)
.addComponent(jLabel5)
.addComponent(jLabel7))
.addGap(18, 18, 18)
75
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(tket)
.addComponent(tid)
.addComponent(cmbkat, 0, 442,
Short.MAX_VALUE)
.addComponent(tjml))))
.addGap(188, 188, 188))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(2, 2, 2)
.addComponent(tid,
javax.swing.GroupLayout.DEFAULT_SIZE, 24, Short.MAX_VALUE))
.addComponent(jLabel3,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(2, 2, 2)
.addComponent(tjml,
javax.swing.GroupLayout.DEFAULT_SIZE, 24, Short.MAX_VALUE))
.addComponent(jLabel7,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(2, 2, 2)
.addComponent(tket,
javax.swing.GroupLayout.DEFAULT_SIZE, 26, Short.MAX_VALUE))
76
.addComponent(jLabel4,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(jLabel5,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(cmbkat,
javax.swing.GroupLayout.DEFAULT_SIZE, 24, Short.MAX_VALUE)
.addGap(4, 4, 4)))
.addGap(10, 10, 10)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(btnAdd)
.addComponent(btdelete)
.addComponent(btsave))
.addContainerGap())
);
jid.setText("0");
jLabel6.setFont(new java.awt.Font("Tahoma", 0, 16));
// NOI18N
jLabel6.setText("Search");
javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.DEFAULT_SIZE, 716, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addComponent(jid,
javax.swing.GroupLayout.PREFERRED_SIZE, 26,
javax.swing.GroupLayout.PREFERRED_SIZE)
77
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel6)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(tsearch,
javax.swing.GroupLayout.PREFERRED_SIZE, 226,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE)
.addComponent(jLabel6)
.addComponent(jid)
.addComponent(tsearch,
javax.swing.GroupLayout.PREFERRED_SIZE, 28,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 136,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
pack();
}// </editor-fold>
private void tblMousePressed(java.awt.event.MouseEvent
evt) {
78
int row = tbl.getSelectedRow();
tid.setText((String) tbl.getValueAt(row,
0).toString());
tjml.setText((String) tbl.getValueAt(row,
2).toString());
tket.setText((String) tbl.getValueAt(row,
3).toString());
String regionName = (String) tbl.getValueAt(row,
4).toString();
cmbkat.setSelectedItem(comboBoxSearch(regionName) + "
- " + regionName);
btsave.setEnabled(true);
btsave.setText("Update");
btnAdd.setText("Cancel");
}
private void
tsearchActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void tsearchKeyTyped(java.awt.event.KeyEvent evt)
{
bindingTabelSearch();
}
private void
btnAddActionPerformed(java.awt.event.ActionEvent evt) {
if (btnAdd.getText().equals("Add")) {
tid.setText(nomor());
btsave.setEnabled(true);
btnAdd.setText("Cancel");
} else {
btsave.setText("Save");
btnAdd.setText("Add");
reset();
btsave.setEnabled(false);
}
}
private void
btsaveActionPerformed(java.awt.event.ActionEvent evt) {
String manid = cmbkat.getSelectedItem().toString();
String[] getCombobox = manid.split(" - ");
if (btsave.getText().equals("Update")) {
try {
//hapus jurnal
String sql = "Delete from tbl_jurnal where
id_kas = " + tid.getText() + "";
kon.st.executeUpdate(sql);
79
//cari id akun
String idAkun= akunSearch(getCombobox[1]);
//save jurnal debet
String sqlDebet = "insert into
tbl_jurnal(debit,kredit,id_akun,jenis,id_kas) values('" +
tjml.getText() + "',"
+ "' 0 ',"
+ "'" + idAkun + "',"
+ "'Penerimaan',"
+ "'" + tid.getText() + "' )";
kon.st.executeUpdate(sqlDebet);
//save jurnal Kredit
String sqlKredit = "insert into
tbl_jurnal(debit,kredit,id_akun,jenis,id_kas) values(' 0 ',"
+ "'" + tjml.getText() + "',"
+ "' 100 ',"
+ "'Penerimaan',"
+ "'" + tid.getText() + "' )";
kon.st.executeUpdate(sqlKredit);
//update kas keluar
String sql_p = "UPDATE tbl_kas_masuk SET
jml='" + tjml.getText() + "',"
+ "ket = '" + tket.getText() + "',"
+ "id_kat = '" + getCombobox[0] + "'"
+ " where id = '" + tid.getText() +
"'";
kon.st.executeUpdate(sql_p);
JOptionPane.showMessageDialog(null, "Data
Berhasil Di Simpan");
tid.setEnabled(true);
btsave.setEnabled(false);
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
} else {
try {
//cari id akun
String idAkun= akunSearch(getCombobox[1]);
//save jurnal debet
String sqlDebet = "insert into
tbl_jurnal(debit,kredit,id_akun,jenis,id_kas) values('" +
tjml.getText() + "',"
+ "'" + 0 + "',"
+ "'" + idAkun + "',"
+ "'Penerimaan',"
+ "'" + tid.getText() + "' )";
kon.st.executeUpdate(sqlDebet);
//save jurnal Kredit
String sqlKredit = "insert into
tbl_jurnal(debit,kredit,id_akun,jenis,id_kas) values('" + 0 +
"',"
80
+ "'" + tjml.getText() + "',"
+ "'" + 100 + "',"
+ "'Penerimaan',"
+ "'" + tid.getText() + "' )";
kon.st.executeUpdate(sqlKredit);
//save kas keluar
}
btsave.setText("Save");
btnAdd.setText("Add");
btsave.setEnabled(false);
bindingTabel();
reset();
}
private void tjmlKeyTyped(java.awt.event.KeyEvent evt) {
new Setting().checkNumber2(evt);
}
// Variables declaration - do not modify
private javax.swing.JButton btdelete;
private javax.swing.JButton btnAdd;
private javax.swing.JButton btsave;
private javax.swing.JComboBox<String> cmbkat;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JLabel jid;
private javax.swing.JTable tbl;
private javax.swing.JTextField tid;
private javax.swing.JTextField tjml;
private javax.swing.JTextField tket;
private javax.swing.JTextField tsearch;
// End of variables declaration
public void reset() {
tjml.setText("");
tid.setText("");
tket.setText("");
cmbkat.setSelectedIndex(0);
}
81
1.5.1. BlackTesting
Pada tahap pengujian ini penulis menggunakan pendekatan pengujian validasi
dengan menggunakan Black Box Testing (pengujian kotak hitam) yang berfokus
pada persyaratan fungsional dari sistem yang dibangun.
1. Pengujian Login
Tabel III.23.
Pengujian Menu Login
No Skenario Pengujian Hasil Yang
Diharapkan
Hasil
Pengujian Kesimpulan
1
Mengosongkan semua
isian data login,
kemudian langsung klik
tombol ‘Login’
Sistem akan
menolak akses
login dan
menampilkan
pesan “Username
dan Password
Harus Diisi !!”
Sesuai
Harapan Valid
2
Hanya mengisi data kode
user, mengosongkan data
password, kemudian
langsung klik tombol
‘Login’
Sistem akan
menolak akses
login dan
menampilkan
pesan “Password
Harus Diisi !!”
Sesuai
Harapan Valid
3
Menginputkan dengan
kondisi username salah,
kemudian klik tombol
‘Login’
Sistem akan
menolak akses
login dan
menampilkan
pesan “Username
Salah !!”
Sesuai
Harapan Valid
4
Menginputkan dengan
kondisi Pasword salah,
kemudian klik tombol
‘Login’
Sistem akan
menolak akses
login dan
menampilkan
pesan “Password
Salah !!”
Sesuai
Harapan Valid
5
Mengisi kode user dan
password secara benar,
kemudian klik tombol
‘Login’
Masuk ke dalam
aplikasi
Pengelolaan Kas
Masjid
Sesuai
Harapan Valid
82
2. Pengujian Menu Utama
Tabel III.24.
Pengujian Menu Utama
No
Skenario Pengujian
Hasil Yang
Diharapkan
Hasil
Pengujian
Kesimpulan
1
Memilih Menu
Master
Menampilkan submenu
master
Sesuai
Harapan
Valid
2
Memilih Menu
Transaksi
Menampilkan submenu
transaksi
Sesuai
Harapan
Valid
3
Memilih Menu
Laporan
Menampilkan submenu
laporan
Sesuai
Harapan
Valid
4
Memilih Menu
Logout
Keluar dari aplikasi
pengelolaan kas masjid
Sesuai
Harapan
Valid
83
1.5.2. Spesifikasi Hardware dan Software
Spesifikasi hardware dan software dibuatkan untuk menjelaskan
mengenai kebutuhan perangkat keras dan perangkat lunak yang akan
digunakan untuk menjalankan sistem. Berikut spesifikasi yang disarankan
penulis:
Tabel III.25.
Spesifikasi Hardware dan Software
Kebutuhan Keterangan
Sistem Operasi Windows 13 Profesional
Processor Intel (R) Celeron (R) Up to 2.39 GHz
RAM 2.00 GB
Harddisk 232 GB
Monitor Generic PnP
Keyboard Standard PS/2
Mouse Microsoft PS/2
Software
Kebutuhan menjalankan aplikasi secara local :
Bahasa Script programming : Java, Sql
Web Server :
DBMS : MySQL
top related