bab iii pembahasan · 17 bab iii pembahasan 3.1 tinjauan instansi mewujudkan rencana pemerintah...
TRANSCRIPT
17
BAB III
PEMBAHASAN
3.1 Tinjauan Instansi
Mewujudkan Rencana Pemerintah agar sampai ke pelosok Negeri maka
sistem pemerintah membagi wilayah kepemerintahan hingga ke tingkat RT.
Kelurahan merupakan sebuah tingkat pemerintahan yang menyelenggarakan
pembangunan dan administrasi serta pelayanan Masyarakat ditingkat Lurah yang
dibawah pengawasan Kecamatan. Kelurahan juga merupakan sebuah titik akhir
pembangunan dan awal dari pelayanan masyarakat dalam administrasi
kepemerintahan.
3.1.1 Sejarah Instansi
Kelurahan Bansir Laut merupakan salah satu dari empat kelurahan yang
terletak di wilayah Kecamatan Pontianak Tenggara. Kelurahan ini merupakan
wilayah pemekaran dari Kelurahan Bangka Belitung Kecamatan Pontianak Selatan
menjadi Kecamatan Pontianak Tenggara yang wilayahnya meliputi empat
kelurahan yaitu Kelurahan Bansir Laut, Kelurahan Bansir Darat, Kelurahan Bangka
Belitung Laut dan Kelurahan Bangka Belitung Darat.
Sebuah organisasi agar kegiatan yang dilaksanakan selalu lancar sehingga
dapat tercapainya sebuah tujuan tentunya mempunyai visi dan misi. Adapun visi
dan misi pada Kantor Kelurahan Bansir Laut Kecamatan Pontianak Tenggara
sebagai berikut:
18
a. Visi
“ Bersama Masyarakat Mewujudkan Pembangunan Kelurahan yang serasi
dan Aman, Tertib, Berkesenambungan dan Berwawasan Lingkungan”.
b. Misi
1. Meningkatkan Kualitas Sumber Daya Potensi Kelurahan.
2. Meningkatkan Sarana Prasarana Penyelenggaraan Pemerintahan.
3. Meningkatkan Peran Serta Masyarakat Dalam Pembangunan.
4. Meningkatkan Kualitas Pelayanan Publik (Excellent Servise).
3.1.2. Struktur Organisasi
Berikut adalah Gambar III.1 yang menampilkan Gambaran Struktur
Organisasi yang ada pada Kantor Kelurahan Bansir Laut Kecamatan Pontianak
Tenggara. Adapun bentuk Bagan Struktur Organisasi Kantor Kelurahan Bansir
Laut Kecamatan Pontianak Tenggara sebagai berikut:
Sumber: Data Kelurahan Bansir Laut (2018)
Gambar III.1 Struktur Organisasi Kantor Kelurahan Bansir Laut
Kecamatan Pontianak Tenggara
Adapun fungsi dari masing-masing jabatan adalah:
19
1. Lurah
a. Menyusun kebijakan teknis di bidang kelurahan berdasarkan peraturan
yang berlaku sebagai bahan perumusan kebijakan Walikota.
b. Menetapkan program kerja dan kegiatan di bidang kelurahan sesuai
dengan tujuan dan sasaran yang telah ditetapkan sebagai pedoman
dalam pelaksaaan tugas.
c. Mengkoordinasikan kegiatan pembinaan di bidang kelurahan dengan
unit kerja terkait agar kegiatan tersebut dilaksanakan secara terarah,
terpadu dan selaras.
d. Mengendalikan kegiatan-kegiatan pada kelurahan mulai dari
perencanaan sampai dengan evaluasi agar program-program dapat
terlaksanakan sesuai dengan sasaran yang telah ditetapkan.
e. Mengevaluasi kegiatan yang telah dilaksanakan oleh Sekretariat, Seksi-
seksi, pada kelurahan dengan membandingkan antara hasil kerja yang
dicapai dengan target kinerja yang telah ditetapkan untuk mengetahui
tingkat kinerja yang dicapai.
f. Melakukan pengawasan terhadap Sekretaris, Kepala Seksi dan seluruh
Staf dalam melaksanakan tugas baik secar preventif maupun represif
untuk menghindari terjadinya kesalahan dan menyimpang dalam
pelaksanaan tugas.
g. Mendistribusikan tugas-tugas yang berkaitan dengan kelurahan kepada
Sekretaris, Kepala Seksi berdasarkan tugas pokok dan fungsi agar tugas
dapat terlaksana secara efisien, efektif dan tepat waktu.
h. Memberikan petunjuk kerja bawahan baik lisan maupun tulisan sesuai
20
dengan bidang tugasnya agar tugas dapat dilaksanakan secara benar
sesuai dengan aturan yang berlaku.
i. Menyelenggarakan pembinaan administrasi keuangan, kepegawaian,
perencanaan, perlengkapan dan pengendalian administrasi
pemerintahan berdasarkan pedoman dan ketentuan yang berlaku sebagai
bahan perumusan kebijakan teknis Walikota.
j. Mengajukan saran dan pertimbangan kepada Walikota melalui Camat
mengenai pemecahan masalah yang berkaitan dengan bidang kelurahan
secara lisan maupun tertulis sebagai bahan pertimbangan dalam
pengambilan keputusan.
k. Melaporkan kegiatan di bidang kelurahan baik secara lisan maupun
tertulis sebagai bahan pertimbangan dalam pengambilan keputusan
l. Melaksanakan tugas kedinasan lainnya yang berkaitan dengan tugas
pokok dan fungsi kelurahan yang diberikan oleh Walikota.
2. Sekretaris Kelurahan
a. Menyusun program kerja di bidang kesekretariatan berdasarkan sasaran
dan program kerja tahunan kelurahan yang telah ditetapkan sebagai
pedoman untuk melakukan tugas.
b. Membagi tugas dan memberi petunjuk kerja kepada para staf secara
lisan dan tertulis agar tugas-tugas yang dilaksanakan dapat dipahami
secara baik dan benar.
c. Malaksanakan pengawasan kepada para staf dalam melaksanakan tugas
baik secara preventif maupun represip untuk menghindari terjadinya
kesalahan dan penyimpangan dalam pelaksaan tugas.
21
d. Mengevaluasi pelaksaan tugas staf dengan cara membandingkan antara
hasil kerja yang dicapai dengan rencana kerja yang telah dibuat untuk
mengetahui tingkat kinerja yang dicapai.
e. Menyiapkan bahan pelaksanaan tugas bidang sekretariatan berdasarkan
petunjuk teknis dan pedoman yang berlaku untuk menghidari terjadinya
kesalahan.
f. Melaksanakan tugas perencanaan, administrasi keuangan, umum dan
administrasi kepegawaian, berdasarkan pedoman dan peraturan yang
berlaku untuk kelancaran pelaksaan tugas.
g. Melaksanakan pembinaan yang berkaitan dengan bidang perencanaan,
keuangan, umum dan kepegawaian, berdasarkan pedoman dan
peraturan yang berlaku untuk kelancaran pelaksanaan tugas.
h. Memfasilitasi kegiatan yang berkaitan dengan tugas kelurahan sesuai
dengan peraturan yang berlaku agar pelaksanaan tugas berjalan dengan
lancar.
i. Mengajukan saran dan pertimbangan staf kepada Lurah mengenai upaya
pemecahan masalah yang berkaitan dengan bidang kesekretariatan baik
secara lisan maupun tertulis sebagai bahan pertimbangan dalam
pengambilan keputusan.
j. Melaporkan kegiatan di bidang sekretariatan baik secara lisan maupun
tertulis kepada atasan sebagai bahan pertimbangan dalam pengambilan
keputusan.
k. Melaksanakan tugas kedinasan lainnya yang berkaitan dengan tugas
pokok dan fungsi di bidang kesekretariatan yang diberikn oleh Lurah.
22
3. Kasi Pemerintah dan Umum
a. Menyusun rencana kerja Seksi Pemerintahan dan Umum berdasarkan
sasaran dan proram kerja tahunan Kelurahan yang telah ditetapkan
sebagai pedoman pelaksanaan tugas.
b. Membagi tugas dan memberi petunjuk kerja kepada staf secara lisan dan
tertulis agar tugas-tugas yang dilaksanakan dapat dipahami secara baik
dan benar.
c. Melakukan pengawasan kepada para staf dalam melaksanakan tugas
baik secara preventif maupun represip untuk menghindari terjadinya
kesalahan dan penyimpangan dalam pelaksanaan tugas.
d. Mengevaluasi pelaksanaan tugas staf dengan cara membandingkan
antara hasil kerja yang dicapai dengan rencana kerja yang telah dibuat
untuk mengetahuai tingkat kinerja yang dicapai.
e. Menyiapkan bahan pelaksanaan tugas bidang pemerintahan berdasarkan
petunjuk teknis dan pedoman yang berlaku untuk menghindari
terjadinya kesalahan
f. Melaksanakan pembinaan dan pengelolaan kegiatan di bidang
pemerintah sesuai dengan ketentuan dan peraturan yang berlaku.
g. Melaksanakan kegiatan fasilitasi pembinaan politik dalam negeri,
ideology dan kesatuan bangsa, administrasi kependudukan, fasilitasi
administrasi, fasilitasi umum dan fasilitasi sosial serta aset pemerintah
daerah di Kelurahan, fasilitasi pembebasan tanah milik dan pelepasan
hak yang akan dipergunakan untuk kepentingan pembangunan, serta
peralihan status dari tanah Negara menjadi milik sesuai dengan
23
ketentuan peraturan perundang-undangan dan fasilitasi penggunaan
tanah terlantar, tanah Negara bebas dan tanah timbul yang tidak
memenuhi peraturan di bidang pertahanan di Kelurahan, fasilitasi
koordinasi instansi vertical, serta pembinaan RT/RW sesuai dengan
petunjuk teknis dan pedoman yang berlaku agar pelaksanaan tugas
berjalan dengan lancar.
h. Menyusun konsep naskah Dinas yang berkaitan dengan bidang
pemberdayaan masyarakat sesuai dengan pedoman dan peraturan yang
berlaku untuk kelancaran pelaksanaan tugas.
i. Melaporkan kegiatan di bidang kesekretariatan baik secara lisan
maupun tertulis kepada atasan sebagai bahan pertimbangan dalam
pengambilan keputusan.
j. Mengajukan saran dan pertimbangan kepada Lurah mengenai upaya
pemecahan masalah yang berkaitan dengan bidang pemberdayaan
masyarakat baik secara lisan ,maupun tertulis sebagai bahan
pertimbangan dalam pengambilan keputusan.
k. Melaksanakan tugas kedinasan lainnya yang berkaitan dengan tugas
pokok dan fungsi bidang pemerintahan yang diberikan oleh Lurah.
4. Kasi Pemberdayaan Masyarakat
a. Menyusun rencana kerja Kasi Pemberdayaan Masyarakat berdasarkan
sasaran dan program kerja tahunan Kelurahan yang telah ditetapkan
sebagai pedoman untuk pelaksanaan tugas.
b. Membagi tugas dan memberi petunjuk kerja kepada para staf secara
lisan dan tertulis agar tugas-tugas yang dilaksanakan dapat dipahami
24
secara baik dan benar.
c. Melakukan pengawasan kepada para staf dalam melaksanakan tugas
baik secara preventif maupun represip untuk menghindari terjadinya
kesalahan dan penyimpangan dalam pelaksanaan tugas.
d. Melaksanakan tugas kedinasan lainnya yang berkaitan dengan tugas
pokok dn fungsi di bidang pemberdayaan masyarakat yang diberikan
oleh Lurah.
3.2 Tinjauan Kasus
Pengamatan yang dilakukan pada Sistem Informasi Akuntansi Penerimaan
Aliran Kas Distribusi Beras Miskin Pada Kantor Lurah Bansir Laut Kecamatan
Pontianak Tenggara dijelaskan bahwa menyalurkan bantuan kepada masyarakat
miskin untuk mendapatkan beras dari pemerintah untuk meringankan masyarakat
miskin dalam kebutuhan pangan. Pendisribusian ini dilakukan oleh pihak kelurahan
dengan prosedur-prosedur administrasi dalam pengolahan datanya masih sederhana
dengan bantuan Microsoft Excel dan tulis tangan. Data-data yang diolah secara
manual tanpa dengan bantuan secara otomastis dengan memasukkan data satu per
satu sampai proses laporan.
3.2.1 Prosedur Bisnis Sistem Berjalan
Prosedur bisnis sistem berjalan akan menjelaskan proses-proses yang
selama ini terjadi dalam Pelaksanaaan Pendistribusian Raskin pada Kantor
Kelurahan Bansir Laut Kecamatan Pontianak Tenggara.
1. Pendataan Penerimaan Beras Raskin
25
Pelaksana Pendistribusian Raskin akan membuat daftar penerima beras
raskin dan Monitoring dan distribusi. Lalu diserahkan ke Kepala Lurah
untuk di acc. Setelah di acc, Kemudian pelaksana pendistribusian membuat
kartu Rastra dan daftar pembelian beras kemudian diberikan kepada
penerima Raskin tersebut
2. Penyaluran Raskin
Penerima Raskin membawa serta memberikan Kartu Rastra dan daftar
pembelian beras kemudian diberikan kepada pelaksana Pendistribusian.
Kemudian Pelaksana Pendistribusian akan memberikan beras kepada
penerima Raskin. Setelah itu penerima Raskin menadatangani daftar
penerima dan daftar pembelian beras sebagai bukti telah mengambil beras.
3. Sistem Laporan
Setiap bulannya, Pelaksana pendistribusian membuat Laporan Penerimaan
Pendapatan Raskin dan Laporan Pelaksanaan Bulanan. Setelah itu,
Pelaksana Pendistribusian akan merekap Laporan Bulanan menjadi satu.
Laporan Pelaksanaan Bulanan dan Rekap Laporan Bulanan di serahkan
kepada Kepala Lurah.
3.2.2 Activity Diagram
Activity Diagram akan menjelaskan aktivitas-aktivitas objek yang terjadi
pada Pendistribusian Raskin di Kantor Kelurahan Bansir Laut Kecamatan
Pontianak Tenggara. Adapun Activity Diagram pada sistem berjalan Pendistribusian
Raskin di Kantor Kelurahan Bansir Laut Kecamatan Pontianak Tenggara, Sebagai
berikut:
26
Sumber : Hasil Peneliitian (2018)
Gambar III.2 Diagram Aktivitas Sistem Berjalan pada
Pendistribusian Raskin di Kantor Kelurahan Bansir Laut Kecamatan
Pontianak Tenggara
27
3.2.3 Dokumen Masukan
Spesifikasi Dokumen Masukan adalah segala bentuk dokumen yang akan
diolah dengan maksud akan menghasilkan dokumen keluaran sebagai hasil olahan.
Adapun yang termasuk dalam spesifikasi Dokumen Masukan dalam sistem berjalan
Pendistribusian Raskin pada Kantor Kelurahan Bansir Laut Kecamatan Pontianak
Tenggara sebagai berikut:
1. Nama Dokumen : Kartu Rastra
Fungsi : Sebagai Sumber informasi Penerima Raskin.
Sumber : Pelaksana Pendistribusian
Tujuan : Penerima Raskin
Frekuensi : Setiap Penerimaan Raskin
Jumlah : satu lembar
Media : kertas
Bentuk : lampiran A.1
2. Nama Dokumen : Daftar Pembelian Raskin
Fungsi : Sebagai Sumber informasi Penerimaan Raskin.
Sumber : Pelaksana Pendistribusian
Tujuan : Penerima Raskin
Frekuensi : Setiap Penerimaan Raskin
Jumlah : satu rangkap
Media : kertas
Bentuk : lampiran A.2
28
3.2.4 Dokumen Keluaran
Spesifikasi Bentuk Dokume Keluaran adalah segala bentuk dokumen yang
akan mendukung kegiatan manajemen serta merupakan dokumen dari hasil catatan
laporan. Spesifikasi Bentuk Dokumen Keluaran Pendistribusian Raskin pada
Kantor Kelurahan Bansir Laut Kecamatan Pontianak Tenggara tersebut adalah:
1. Nama Dokumen : Daftar Penerima Raskin
Fungsi : Sebagai sumber informasi penerima Raskin.
Sumber : Pelaksana Pendistribusian
Tujuan : Kepala Lurah
Frekuensi : setiap penerimaan.
Jumlah : satu rangkap
Media : kertas
Bentuk : lampiran B.1
2. Nama Dokumen : Laporan Bulanan
Fungsi : Sebagai Laporan Pendistribusian perbulan.
Sumber : Pelaksana Pendistribusian
Tujuan : Kepala Lurah
Frekuensi : Setiap Penerimaan Raskin
Jumlah : satu rangkap
Media : kertas
Bentuk : lampiran B.2
3. Nama Dokumen : Laporan Penerimaan
Fungsi : Sebagai Laporan Penerimaan Kas.
Sumber : Pelaksana Pendistribusian
29
Tujuan : Kepala Lurah
Frekuensi : Setiap Penerimaan Raskin
Jumlah : satu rangkap
Media : kertas
Bentuk : lampiran B.3
4. Nama Dokumen : Rekapan Laporan Bulan
Fungsi : Sebagai Laporan rekapan setiap bulan.
Sumber : Pelaksana Pendistribusian
Tujuan : Kepala Lurah
Frekuensi : Setiap Penerimaan Raskin
Jumlah : satu rangkap
Media : kertas
Bentuk : lampiran B.4
3.2.5 Permasalahan Pokok
Berdasarkan hasil Observasi yang dilakukan pada Pendistribusian Raskin di
Kantor Kelurahan Bansir Laut Kecamatan Pontianak Tenggara ditemukan beberapa
permasalahan, yaitu:
1. Pengolahan data masih sederhana dengan menggunakan tulis tangan yang
menimbulkan ketidakrapian dokumen dan sulit dibaca.
2. Penyimpanan data masih sederhana dengan penyimpanan arsip-arsip yang
ditumpuk didalam lemari dan meja. Ketika diperlukan sewaktu-waktu data
tersebut harus dicari dengan membongkar arsip dan memilah-milah
dokumen satu persatu.
30
3. Sistem Pelaporan masih dicatat dengan menggunakan Microsoft Excell
tidak secara otomatis, yaitu dengan memasukan data satu persatu sampai
proses pelaporan.
3.2.6 Alternatif Pemecahan Masalah
Permasalahan yang dihadapi dapat diselesaikan dengan solusi sebagai
berikut:
1. Menggunakan rancangan program komputer dengan organisasi sistem
database yang didesain dengan rapi.
2. Membuat rancangan sistem informasi Pengolahan Data Pendistribusian
Raskin pada Kantor Kelurahan Bansir Laut Kecamatan Pontianak Tenggara
dengan Menggunakan penyimpanan database agar pengolahan data lebih
terorganisir dan dapat dicari dengan mudah.
3. Merancang aplikasi menggunakan Desktop Netbeans IDE 8.2, sehingga
laporan secara otomatis bisa langsung dicetak.
3.3 Analisa Kebutuhan Software
Analisa Kebutuhan Software akan menjelaskan tentang perancangan-
perancangan yang diperlukan untuk membangun sebuah software yang akan
digunakan dalam pengolahan data. Kebutuhan-kebutuhan yang diperlukan untuk
mengolah data diperlukan untuk memberikan kemudahan dalam perancangan
sebuah sistem yang telah dirancang.
Kebutuhan pembangunan sebuah sistem sesuai hasil pengamatan yang telah
dilakukan pada sistem pendistribusian Raskin pada Kantor Kelurahan Bansir Laut
Kecamatan Pontianak Tenggara diperlukan beberapa fitur untuk pengolahan data
31
Penditribusian Raskin tersebut. Sistem yang dirancang untuk di kelola oleh 2 level
pengguna, yaitu Pelaksana Pendisribusian dan Lurah. Adapun kebutuhan-
kebutuhan fitur-fitur tersebut adalah:
A. Pelaksana Pendistribusian
A.1. Pelaksana Pendistribusian dapat melakukan masuk ke sistem.
A.2. Pelaksana Pendistribusian dapat melakukan pengelola data
pengguna.
A.3. Pelaksana Pendistribusian dapat mengelola data Akun.
A.4. Pelaksana Pendistribusian dapat mengelola data periode.
A.5. Pelaksana Pendistribusian dapat Mengelola data penerima.
A.6. Pelaksana Pendistribusian dapat Mengolah data pembagian.
A.7. Pelaksana Pendistribusian dapat Mengolah data Kas Masuk.
A.8. Pelaksana Pendistribusian dapat Mengolah Kas Keluar.
A.9. Pelaksana Pendistribusian dapat Mengolah data jurnal umum.
A.10. Pelaksana Pendistribusian dapat mencetak daftar penerima.
A.11. Pelaksana Pendistribusian dapat mencetak Laporan Bulanan
A.12. Pelaksana Pendistribusian dapat mencetak Laporan Rekapan
Bulanan.
A.13. Pelaksana Pendistribusian dapat mencetak Laporan Kas Masuk
A.14. Pelaksana Pendistribusian dapat mencetak Laporan Kas Keluar.
A.15. Pelaksana Pendistribusian dapat mencetak Laporan Jurnal Umum.
A.16. Pelaksana Pendistribusian dapat mencetak Laporan Buku Besar.
B. Kepala Lurah
B.1. Kepala Lurah dapat melakukan masuk ke sistem.
32
B.2. Kepala Lurah dapat mencetak daftar penerima.
B.3. Kepala Lurah dapat mencetak Laporan Bulanan
B.4. Kepala Lurah dapat mencetak Laporan Rekapan Bulanan.
B.5. Kepala Lurah dapat mencetak Laporan Kas Keluar
B.6. Kepala Lurah dapat mencetak Laporan Kas Masuk.
B.7. Kepala Lurah dapat mencetak Laporan Jurnal Umum.
A.8. Kepala Lurah dapat mencetak Laporan Buku Besar.
3.3.1 Use case Diagram
Use case Diagram akan menjelaskan perilaku objek yang akan
menggunakan Sistem usulan dalam Pengolahan Data Pendistribusian Raskin pada
Kantor Kelurahan Bansir Laut Kecamatan Pontianak Tenggara. Adapun Use case
Diagram pada Sistem Usulan ini adalah:
33
Sumber : Hasil Rancangan (2018)
Gambar III.3 Use Case Diagram Perancangan Sistem Usulan Pengolahan
Data Pendistribusian Raskin pada Kantor Kelurahan Bansir Laut
Kecamatan Pontianak Tenggara
34
Tabel III.1
Deskripsi Use Case Diagram
Use Case Narative Sistem Usulan
Tujuan Untuk mengolah data Pendistribusian
Raskin mulai dari pengolahan data
akun, pengguna, periode, penerima
pembagian, penerimaan, biaya, jurnal
umum, mencetak daftar penerima,
laporan bulanan, rekap laporan
bulanan, laporan Kas Masuk, laporan
Kas Keluar, laporan jurnal umum ,
laporan buku besar
Deskripsi Sistem yang dirancang
memungkinkan untuk mengelola data
Pendistribusian Raskin yang dimulai
dari memasukkan data sampai
pengolahan laporan-laporan.
SkenarioUtama
Aktor Pelaksana Penditribusian
Kondisiawal Aktor membuka aplikasi
Pendistribusian Raskin pada Kantor
Kelurahan Bansir Laut Kecamatan
Pontianak Tenggara
Aksi Aktor Reaksi Sistem
1. Aktor masuk ke sistem
2. Aktor mengelola data akun
3. Aktor mengelola data
pengguna
4. Aktor mengelola data Periode
5. Aktor mengelola data
penerima
6. Aktor mengolah data
pembagian
7. Aktor mengolah data
penerimaan
8. Aktor mengolah data biaya
9. Aktor Mengolah data jurnal
umum
10. Aktor Mencetak daftar
Penerima
11. Aktor Mencetak Laporan
Bulanan
12. Aktor Mencetak Laporan
Rekap Bulanan
13. Aktor Mencetak Laporan Kas
Masuk
14. Aktor Mencetak Laporan Kas
Keluar
Sistem akan menampilkan menu utama
Sistem akan menampilkan form akun
Sistem akan menampilkan form
pengguna
Sistem akan menampilkan form Periode
Sistem akan menampilkan form
penerima
Sistem akan menampilkan form
pembagian
Sistem akan menampilkan form
penerimaan
Sistem akan menampilkan form biaya
Sistem akan menampilkan form jurnal
umum
Sistem akan menampilkan form daftar
penerima
Sistem akan menampilkan form
Laporan Bulanan
Sistem akan menampilkan form
Laporan Rekap Bulanan
Sistem akan menampilkan form
Laporan Kas Masuk
Sistem akan menampilkan form
Laporan Kas Keluar
35
15. Aktor Mencetak Laporan
Jurnal Umum
16. Aktor Mencetak Laporan
Buku Besar.
17. Aktor Mencetak Laporan
Pendapatan
Sistem akan menampilkan Laporan
Jurnal umum
Sistem akan menampilkan Laporan
Buku Besar
Sistem akan menampilkan Laporan
Pendapatan
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan seperti yang diinginkan
oleh actor
Sumber: Hasil Rancangan (2018)
Sedangkan Use Case untuk Kepala Lurah sebagai berikut:
Gambar III.4 Use Case Diagram Kepala Lurah
Tabel III.2
Deskripsi Use Case Diagram
Use Case Narative Sistem Usulan
Tujuan Untuk melihat/mencetak daftar
penerima, , laporan bulanan, rekap
laporan bulanan, laporan Kas Masuk,
laporan Kas Keluar, laporan jurnal
umum , laporan buku besar
Deskripsi Sistem yang dirancang
memungkinkan untuk melihat data
Pendistribusian Raskin dalam
pengolahan laporan-laporan.
SkenarioUtama
Aktor Pelaksana Penditribusian
Kondisiawal Aktor membuka aplikasi
Pendistribusian Raskin pada Kantor
Kelurahan Bansir Laut Kecamatan
Pontianak Tenggara
36
Aksi Aktor Reaksi Sistem
1. Aktor masuk ke system
2. Aktor Mencetak daftar
Penerima
3. Aktor Mencetak Laporan
Bulanan
4. Aktor Mencetak Laporan
Rekap Bulanan
5. Aktor Mencetak Laporan
Penerimaan
6. Aktor Mencetak Laporan
Biaya
7. Aktor Mencetak Laporan
Jurnal Umum
8. Aktor Mencetak Laporan
Buku Besar.
Sistem akan menampilkan menu utama
Sistem akan menampilkan form daftar
penerima
Sistem akan menampilkan form
Laporan Bulanan
Sistem akan menampilkan form
Laporan Rekap Bulanan
Sistem akan menampilkan form
Laporan Penerimaan
Sistem akan menampilkan form
Laporan biaya
Sistem akan menampilkan Laporan
Jurnal umum
Sistem akan menampilkan Laporan
Buku Besar
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan seperti yang diinginkan
oleh actor
Sumber: Hasil Rancangan (2018)
3.3.2 Activity Diagram
Activity Diagram merupakan sebentuk diagram yang akan menjelaskan
aktivitas-aktivitas yang dilakukan oleh aktor. Adapun Activity diagram sistem
usulan Pengolahan Data Pendistribusian Raskin Pada Kantor Kelurahan Bansir
Laut Kecamatan Pontianak Tenggara adalah:
37
1. Activity Diagram Masuk
Sumber: Hasil Rancangan (2018)
Gambar III.5 Activity Diagram Masuk ke Sistem
Berdasarkan gambar III.5, dapat dijelaskan bahwa Pelaksana
Pendistribusian akan membuka sistem dengan direspon oleh sistem dengan
menampilkan form masuk. Kemudian Pelaksana Pendistribusian akan memasukkan
Id Pengguna dan kata sandi kemudian Pelaksana Pendistribusian klik tombol
masuk. Sistem akan memvalidasi Id dan kata sandi. Ketika penguna ditemukan,
maka sistem akan menampilkan menu utama. Namun jika pengguna tidak
ditemukan maka sistem akan menampilkan form masuk kembali. Pelaksana
Pendistribusian akan mengulang kembali mengisi Id dan kata sandi.
38
2. Activity Diagram Pengguna
Sumber: Hasil Rancangan (2018)
Gambar III.6 Activity Diagram Pengguna
Berdasarkan gambar III.6, dapar dijelaskan bahwa Pelaksana
Pendistribusian akan mengolah data Pengguna dimana ketika data sudah ada, maka
Pelaksana Pendistribusian dapat mengedit dan menghapus data. Tapi, jika
Pelaksana Pendistribusian ingin menambah data maka Pelaksana Pendistribusian
dapat mengisi form dan menyimpan data.
39
3. Activity Diagram Akun
Sumber: Hasil Rancangan (2018)
Gambar III.7 Activity Diagram Akun
Berdasarkan gambar III.7, dapat dijelaskan bahwa Pelaksana
Pendistribusian akan mengolah data akun dimana ketika data sudah ada, maka
Pelaksana Pendistribusian dapat mengedit dan menghapus data. Tapi, jika
Pelaksana Pendistribusian ingin menambah data maka Pelaksana Pendistribusian
dapat mengisi form dan menyimpan data.
40
4. Activity Diagram Penerima
Sumber: Hasil Rancangan (2018)
Gambar III.8 Activity Diagram Penerima
Berdasarkan gambar III.8, dapat dijelaskan bahwa Pelaksana
Pendistribusian akan mengolah data Penerima. Pelaksana Pendistribusian dapat
mengisi data, menghapus dan mengubah data penerima.
41
5. Activity Diagram Periode
Sumber: Hasil Rancangan (2018)
Gambar III.9 Activity Diagram Periode
Berdasarkan gambar III.9, dapat dijelaskan bahwa Pelaksana
Pendistribusian akan mengolah data Periode. Pelaksana Pendistribusian dapat
mengisi pada form Pengeluaran. Kemudian Pelaksana Pendistribusian dapat
menyimpan data, menghapus dan mengubah data periode.
42
6. Activity Diagram Pembagian
Sumber: Hasil Rancangan (2018)
Gambar III.10 Activity Diagram Pembagian
Berdasarkan gambar III.10, dapat dijelaskan bahwa Pelaksana
pendistribusian dapat mengolah data pembagian dengan mengisi form pembagian
maka pelaksana pendistribusian dapat menyimpan data. Pelaksana pendistribusian
juga bisa menghapus dan mengubah data.
43
7. Activity Diagram Kas Masuk
Sumber: Hasil Rancangan (2018)
Gambar III.11 Activity Diagram Kas Masuk
Berdasarkan gambar III.11, dapat dijelaskan bahwa Pelaksana
Pendistribusian dapat mengisi data form Penerimaan kemudian menyimpan data.
Pelaksana Pendistribusian juga dapa menghapus dan mengubah data penerimaan.
44
8. Activity Diagram Kas Keluar
Sumber: Hasil Rancangan (2018)
Gambar III.12 Activity Diagram Kas Keluar
Berdasarkan gambar III.12, dapat dijelaskan bahwa Pelaksana
pendistribusian dapat mengisi form biaya dan menyimpan data biaya. Pelaksana
pendistribusian juga dapat menghapus dan mengubah data biaya.
45
9. Activity Diagram Jurnal Umum
Sumber: Hasil Rancangan (2018)
Gambar III.13 Activity Diagram Jurnal Umum
Berdasarkan gambar III.13, dapat dijelaskan bahwa Pelaksana
Penditribusian dapat mengisi form dan menyimpan data jurnal umum. Pelaksana
pendistribusian juga dapat menghapus dan mengubah data jurnal umum.
46
10. Activity Diagram Daftar Penerima
Sumber: Hasil Rancangan (2018)
Gambar III.14 Activity Diagram Daftar Penerima
Berdasarkan gambar III.14, dapat dijelaskan bahwa Pelaksana
Penditribusian dapat memasukkan periode yang akan dicetak dan mencetak Data
Daftar Penerima.
11. Activity Diagram Laporan Kas Masuk
Sumber: Hasil Rancangan (2018)
Gambar III.15 Activity Diagram Laporan Kas Masuk
Berdasarkan gambar III.15, dapat dijelaskan bahwa Pelaksana
Penditribusian dapat memasukkan Periode yang akan dicetak dan mencetak Data
Penerimaan.
47
12. Activity Diagram Laporan Kas Keluar
Sumber: Hasil Rancangan (2018)
Gambar III.16 Activity Diagram Kas Keluar
Berdasarkan gambar III.16, dapat dijelaskan bahwa Pelaksana
Penditribusian dapat memasukkan Periode yang akan dicetak dan mencetak Data
Biaya.
13. Activity Diagram Laporan Jurnal Umum
Sumber: Hasil Rancangan (2018)
Gambar III.17 Activity Diagram Laporan Jurnal Umum
Berdasarkan gambar III.17, dapat dijelaskan bahwa Pelaksana
Penditribusian dapat memasukkan Periode yang akan dicetak dan mencetak Data
Biaya.
48
14. Activity Diagram Laporan Bulanan
Sumber: Hasil Rancangan (2018)
Gambar III.18 Activity Diagram Laporan Bulanan
Berdasarkan gambar III.18, dapat dijelaskan bahwa Pelaksana
Penditribusian dapat memasukkan Periode yang akan dicetak dan mencetak
Laporan Bulanan.
15. Activity Diagram Laporan Rekap Bulanan
Sumber: Hasil Rancangan (2018)
Gambar III.19 Activity Diagram Laporan Rekap Bulanan
Berdasarkan gambar III.19, dapat dijelaskan bahwa Pelaksana
Penditribusian dapat memasukkan Periode yang akan dicetak dan mencetak
Laporan Rekap Bulanan.
49
3.4. Desain
Desain akan membahas tentang bentuk-bentuk rancangan yang diusulkan.
Adapun yang akan dibahas adalah Entity Relationship Diagram (ERD), Logical
Record Structure (LRS), Spesifikasi File, Software Architectur, User Interface dan
Spesifikasi Hardware dan Software.
3.4.1. Entity Relationship Diagram (ERD)
Erd akan menjelaskan hubungan antar tabel dalam database yang digunakan
dalam perancangan usulan penulisan Tugas Akhir ini. Adapun Erd Rancangan
usulan sebagai berikut:
Sumber: Hasil Rancangan (2018)
Gambar III.20 ERD Perancangan Sistem Usulan
Berdasarkan gambar III.20, dapat dilihat hubungan-hubungan antar tabel
pada database. Hubungan-hubungan tersebut terhubung sesuai data yang akan
ditampilkan sebagai hasil dari olahan data-data yang telah dimasukkan.
50
3.4.2 Logical Record Structure (LRS)
LRS akan mentransformasikan rancangan ERD kedalam pemetaan
database yang digunakan. Adapun LRS perancangan Sistem Usulan sebagai
berikut:
Sumber: Hasil Rancangan (2018)
Keterangan:
: One to One * : Primary Key
: One to Many ** : Foreign Key
Gambar III.21 LRS Perancangan Sistem Usulan
Berdasarkan gambar III.21, dapat dilihat hasil transformasi dari Entity
Relationship Diagram (ERD) dimana menjelaskan hubungan-hubungan antar
tabel pada database.
3.4.3 Spesifikasi File
Spesifikasi file akan menguraikan organisasi dokumen data yang berbentuk
file. Adapun Spesifikasi file perancangan sistem usulan Pengolahan Data
51
Pendistribusian Raskin pada Kantor Kelurahan Bansir Laut Kecamatan Pontianak
Tenggara sebagai berikut:
1 Spesifikasi File Pengguna
Nama file : pengguna
Akronim : pengguna.sql
Fungsi : mengelola data pengguna
Tipe file : master data
Organisasi file : Index Sequential
Akses File : Random
Panjang record : 40
Kunci file : id_pengguna
Software : MySQL
Tabel III.3
Spesifikasi File Pengguna
No Elemen
Data Nama Field Tipe
Panjang
Record Keterangan
1 Id
Pengguna
id_pengguna Varchar 15 Primary key
2 Nama
Pengguna
nama_pengguna Varchar 25 -
3 Kata Sandi Katasandi Text -
Sumber: Hasil Rancangan (2018)
2 Spesifikasi File Akun
Nama file : akun
Akronim : akun.sql
Fungsi : mengelola data akun
Tipe file : master data
Organisasi file : Index Sequential
52
Akses File : Random
Panjang record :50
Kunci file : kode_akun
Software : MySQL
Tabel III.4
Spesifikasi File akun
No Elemen
Data Nama Field Tipe
Panjang
Record Keterangan
1 Kode akun kode_akun Varchar 5 Primary key
2 Nama akun nama_akun Varchar 30 -
3 Jenis akun jenis_akun Varchar 10 -
4 Saldo
Normal
saldo_normal Varchar 5 -
5 Saldo Debet saldo_debet
Double - -
6 Saldo
Kredit
saldo_kredit Double - -
Sumber: Hasil Rancangan (2018)
3 Spesifikasi File periode
Nama file : periode
Akronim : periode.sql
Fungsi : mengelola data periode
Tipe file : master data
Organisasi file : Index Sequential
Akses File : Random
Panjang record :24
Kunci file : id_periode
Software : MySQL
53
Tabel III.5
Spesifikasi File Periode
No Elemen Data Nama Field Tipe Panjang
Record Keterangan
1 Id Periode id_periode Varchar 10 Primary key
2 Tahun Tahun Int 4 -
3 Bulan Bulan Varchar 10 -
4 Harga Harga Double - -
Sumber: Hasil Rancangan (2018)
4 Spesifikasi File penerima
Nama file : penerima
Akronim : penerima.sql
Fungsi : mengelola data penerima
Tipe file : master data
Organisasi file : Index Sequential
Akses File : Random
Panjang record :116
Kunci file : id_penerima
Software : MySQL
Tabel III.6
Spesifikasi File penerima
No Elemen
Data Nama Field Tipe
Panjang
Record Keterangan
1 Id
penerima
id_penerima Varchar 11 Primary key
2 Nomor
Identitas
Noid Int 15 -
3 Nama
Penerima
nama_penerima varchar 50 -
4 Tanggal
Lahir
Tgl Varchar 2 -
5 Bulan
Lahir
Bulan Varchar 2
54
6 Tahun
Lahir
Tahun Varchar 4
7 Dusun Dusun varchar 15 -
8 Rt Rt Varchar 3 -
9 Rw Rw varchar 3 -
10 Status Status varchar 11
Sumber: Hasil Rancangan (2018)
5 Spesifikasi File Pembagian
Nama file : pembagian
Akronim : pembagian.sql
Fungsi : mengelola data pembagian
Tipe file : master data
Organisasi file : Index Sequential
Akses File : Random
Panjang record : 21
Kunci file : no_pem
Software : MySQL
Tabel III.7
Spesifikasi File Pembagian
No Elemen Data Nama Field Tipe Panjang
Record Keterangan
1 Nomor
pembagian
no_pem Varchar 10 Primary key
2 Id periode id_periode Varchar 10 Foreign Key
3 Id penerima id_penerima Varchar 11 Foreign Key
5 Tanggal
Pengambilan
Tanggal Date -
4 Jumlah Jumlah Double - -
Sumber: Hasil Rancangan (2018)
55
6 Spesifikasi File Penerimaan
Nama file : Penerimaan
Akronim : penerimaan.sql
Fungsi : mengolah data penerimaan
Tipe file : master data
Organisasi file : Index Sequential
Akses File : Random
Panjang record : 15
Kunci file : no_terima
Software : MySQL
Tabel III.8
Spesifikasi File penerimaan
No Elemen Data Nama Field Tipe Panjang
Record Keterangan
1 Nomor
penerimaan
no_terima Varchar 10 Primary key
2 Nomor
pembagian
no_pem Varchar 10 Foreign Key
3 Tanggal Tanggal Date - -
4 Pembayaran pembayaran Double - -
5 Status Status Varchar 5 -
Sumber: Hasil Rancangan (2018)
7 Spesifikasi File biaya
Nama file : biaya
Akronim : biaya.sql
Fungsi : mengolah data biaya
Tipe file : master data
Organisasi file : Index Sequential
Akses File : Random
56
Panjang record : 10
Kunci file : No_biaya
Software : MySQL
Tabel III.9
Spesifikasi File biaya
No Elemen Data Nama Field Tipe Panjang
Record Keterangan
1 Nomor biaya no_biaya Varchar 10 Primary key
2 Tanggal Tanggal Date - -
3 Jumlah Jumlah Double - -
4 Keterangan Keterangan longtext - -
Sumber: Hasil Rancangan (2018)
8 Spesifikasi File Jurnal Umum
Nama file : Jurnal Umum
Akronim : jurnal.sql
Fungsi : mengolah data jurnal umum
Tipe file : master data
Organisasi file : Index Sequential
Akses File : Random
Panjang record : 10
Kunci file : no_jurnal
Software : MySQL
Tabel III.10
Spesifikasi File Jurnal Umum
No Elemen
Data Nama Field Tipe
Panjang
Record Keterangan
1 Nomor
jurnal
no_jurnal Varchar 10 Primary
key
3 Tanggal Tanggal Date - -
57
4 Nomor
Bukti
no_bukti Double - -
5 Keterangan Keterangan Text - -
Sumber: Hasil Rancangan (2018)
9 Spesifikasi File Detail Jurnal Umum
Nama file : Detail Jurnal Umum
Akronim : detail_jurnal.sql
Fungsi : mengolah data Detail jurnal umum
Tipe file : master data
Organisasi file : Index Sequential
Akses File : Random
Panjang record : 15
Kunci file : -
Software : MySQL
Tabel III.11
Spesifikasi File Detail Jurnal Umum
No Elemen Data Nama Field Tipe Panjang
Record Keterangan
1 Nomor
jurnal
no_jurnal Varchar 10 Foreign Key
3 Kode Akun kode_akun Varchar 5 Foreign Key
4 Debet Debet Double - -
5 Kredit Kredit Double - -
Sumber: Hasil Rancangan (2018)
58
3.4.4 Sequence Diagram
1. Sequence Diagram Jurnal Umum
Sumber: Hasil Rancangan (2018)
Gambar III.22 Sequence Diagram Jurnal Umum
59
2. Sequence Diagram Login
Sumber: Hasil Rancangan (2018)
Gambar III.23 Sequence Diagram login
60
3.4.5 Deployment Diagram
Sumber: Hasil Rancangan (2018)
Gambar III.24 Deployment Diagram
3.4.6 User Interface
Adapun User Interface yang dirancang sebagai berikut:
1. Tampilan Masuk ke login
Gambar III.25 Tampilan Masuk Ke sistem
61
2. Tampilan Pengguna
Gambar III.26 Tampilan Masuk pengguna
3. Tampilan periode
Gambar III.27 Tampilan periode
4. Tampilan Penerima
Gambar III.28 Tampilan penerima
62
5. Tampilan Akun
Gambar III.29 Tampilan Akun
6. Tampilan Pembagian
Gambar III.30 Tampilan Pembagian
7. Tampilan Kas Masuk
Gambar III.31 Tampilan Kas Masuk
63
8. Tampilan Kas Keluar
Gambar III.32 Tampilan Kas Keluar
9. Tampilan Jurnal Umum
Gambar III.33 Tampilan Jurnal Umum
3.5. Implementasi
Pada bagian ini merupakan hasil dari perancangan yang sudah
diterjemahkan ke dalam bahasa pemrograman. Hasil dari tahap implementasi ini
merupakan sebuah sistem yang siap diuji dan dijalanakan.
64
3.5.1. Code Generation
Adapun Code Generation yang akan menampilkan source program untuk
pembuatan rancangan aplikasi Pengolahan data Pendistribusian Raskin. Adapun
Source program yang dimaksud adalah:
1. Kas masuk
package FormRaskin;
import Source.Database;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.sql.*;
import java.text.SimpleDateFormat;
import javafx.beans.binding.Bindings;
import javax.print.DocFlavor;
import javax.swing.JOptionPane;
import javax.swing.JTable;
/**
*
* @author user
*/
public class kasmasuk extends javax.swing.JDialog {
Database dbsetting;
String driver,database,user,pass,userLogin;
private Object tabel;
/**
65
* Creates new form penerimaan_kas
*/
public kasmasuk(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
setLocationRelativeTo(this);
dbsetting = new Database();
driver = dbsetting.SettingPanel("DBDriver");
database = dbsetting.SettingPanel("DBDatabase");
user = dbsetting.SettingPanel("DBUsername");
pass = dbsetting.SettingPanel("DBPassword");
table.setModel(tableModel);
Tabel(table, new int[]{105,80,130,80,100});
setDefaultTable();
TampilCombobagi();
SetEditOff();
setResizable(false);
}
private javax.swing.table.DefaultTableModel
tableModel=getDefaultTabelModel();
66
kasmasuk() {
throw new UnsupportedOperationException("Not supported yet.");
//To change body of generated methods, choose Tools | Templates.
}
private void Tabel(javax.swing.JTable tb, int lebar[] ) {
tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
int kolom=tb.getColumnCount();
for(int i=0;i < kolom;i++) {
javax.swing.table.TableColumn
tbc=tb.getColumnModel().getColumn(i);
tbc.setPreferredWidth(lebar[i]);
tb.setRowHeight(17);
}
}
private javax.swing.table.DefaultTableModel getDefaultTabelModel() {
return new javax.swing.table.DefaultTableModel(
new Object[][] {},
new String [] {"No.
Penerimaan","Tanggal","nomor Pembagian","Pembayaran","Status"}
)
{
boolean[] canEdit = new boolean[]{
67
false, false, false, false ,false
};
public boolean isCellEditable(int rowIndex,
int columnIndex){
return canEdit[columnIndex];
}
};
}
String data[]=new String[5];
private void setDefaultTable() {
try {
Class.forName(driver);
Connection kon =
DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement();
String SQL = "SELECT * FROM penerimaan";
ResultSet res = stt.executeQuery(SQL);
while(res.next()){
data[0] = res.getString(1);
data[1] = res.getString(2);
data[2] = res.getString(3);
data[3] = res.getString(4);
68
data[4] = res.getString(5);
tableModel.addRow(data);
}
res.close();
stt.close();
kon.close();
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
int row = 0;
public void Tampil(){
row = table.getSelectedRow();
no_terima.setText(tableModel.getValueAt(row,
0).toString());
bagi.setSelectedItem(tableModel.getValueAt(row,
1).toString());
tanggal.setText(tableModel.getValueAt(row, 2).toString());
bayar.setText(tableModel.getValueAt(row, 3).toString());
status.setSelectedItem(tableModel.getValueAt(row,
4).toString());
simpan.setEnabled(false);
ubah.setEnabled(true);
69
SetEditOn();
}
public void BersihData(){
no_terima.setText("");
bagi.setSelectedItem("--Pilih pembagian--");
status.setSelectedItem("--Pilih status--");
bayar.setText("");
}
public void SetEditOff(){
no_terima.setEnabled(false);
status.setEnabled(false);
bagi.setEnabled(false);
bayar.setEnabled(false);
tambah.setEnabled(true);
simpan.setEnabled(false);
batal.setEnabled(false);
ubah.setEnabled(false);
}
70
public void SetEditOn(){
no_terima.setEnabled(true);
bagi.setEnabled(true);
status.setEnabled(true);
bayar.setEnabled(true);
batal.setEnabled(true);
}
/**
* 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() {
jPanel1 = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jPanel3 = new javax.swing.JPanel();
jPanel4 = new javax.swing.JPanel();
71
jLabel2 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
bagi = new javax.swing.JComboBox<>();
no_terima = new javax.swing.JTextField();
jLabel13 = new javax.swing.JLabel();
bayar = new javax.swing.JTextField();
jLabel7 = new javax.swing.JLabel();
status = new javax.swing.JComboBox<>();
tanggal = new javax.swing.JTextField();
jLabel14 = new javax.swing.JLabel();
jScrollPane2 = new javax.swing.JScrollPane();
table = new javax.swing.JTable();
jPanel5 = new javax.swing.JPanel();
simpan = new javax.swing.JButton();
batal = new javax.swing.JButton();
ubah = new javax.swing.JButton();
tambah = new javax.swing.JButton();
isicari = new javax.swing.JTextField();
cari = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_
CLOSE);
72
jPanel1.setBackground(new java.awt.Color(0, 102, 102));
jPanel2.setBackground(new java.awt.Color(255, 204, 204));
jPanel2.setBorder(javax.swing.BorderFactory.createMatteBorder(2,
1, 2, 1, new java.awt.Color(0, 0, 153)));
jLabel1.setFont(new java.awt.Font("Tahoma", 0, 30)); // NOI18N
jLabel1.setText("KAS MASUK");
javax.swing.GroupLayout jPanel2Layout = new
javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()
.addContainerGap(215, Short.MAX_VALUE)
.addComponent(jLabel1,
javax.swing.GroupLayout.PREFERRED_SIZE, 358,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(309, 309, 309))
);
73
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addContainerGap(79, Short.MAX_VALUE))
);
jPanel3.setBackground(new java.awt.Color(255, 204, 204));
javax.swing.GroupLayout jPanel3Layout = new
javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
LEADING)
.addGap(0, 904, Short.MAX_VALUE)
);
jPanel3Layout.setVerticalGroup(
74
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
LEADING)
.addGap(0, 56, Short.MAX_VALUE)
);
jPanel4.setBackground(new java.awt.Color(255, 102, 0));
jPanel4.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.sw
ing.border.BevelBorder.RAISED));
jLabel2.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel2.setText("No. Kas Masuk");
jLabel5.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel5.setText("Penerima");
bagi.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
bagi.setModel(new javax.swing.DefaultComboBoxModel<>(new
String[] { "--Pilih Pembagian--" }));
bagi.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bagiActionPerformed(evt);
}
75
});
no_terima.setEditable(false);
no_terima.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel13.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel13.setText("pembayaran");
bayar.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
bayar.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
bayarKeyTyped(evt);
}
});
jLabel7.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel7.setText("Status");
status.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
status.setModel(new javax.swing.DefaultComboBoxModel<>(new
String[] { "--Pilih Status--", "Lunas", "Belum" }));
status.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
statusActionPerformed(evt);
76
}
});
if ((NT.isEmpty()) | (PN.isEmpty()) | (PR.isEmpty())
|(HK.isEmpty() ))
{
JOptionPane.showMessageDialog(null,"data tidak boleh
kosong, silahkan dilengkapi");
no_terima.requestFocus();
}else {
try {
Class.forName(driver);
Connection kon =
DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement();
String SQL = "insert into penerimaan
values('"+no_terima.getText()+"',"+
"'"+bagi.getSelectedItem()+"',"+
"'"+tanggal.getText()+"',"+
"'"+bayar.getText()+"',"+
"'"+status.getSelectedItem()+"')";
stt.executeUpdate(SQL);
data[0] = no_terima.getText();
data[1] = bagi.getSelectedItem().toString();
77
data[2] = tanggal.getText();
data[3] = bayar.getText();
data[4] = status.getSelectedItem().toString();
tableModel.insertRow(0, data);
stt.close();
kon.close();
BersihData();
SetEditOff();
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
{
JOptionPane.showMessageDialog(null,"data tidak boleh
kosong, silahkan dilengkapi");
no_terima.requestFocus();
}else {
try {
Class.forName(driver);
Connection kon =
DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement();
78
String SQL = "Update penerimaan Set
no_pem='"+bagi.getSelectedItem()+"',"+
"status='"+status.getSelectedItem()+"',"+
"tanggal='"+tanggal.getText()+"',"+
"pembayaran='"+bayar.getText()+"'"+
"Where no_terima='"+no_terima.getText()+"'";
stt.executeUpdate(SQL);
data[0] = no_terima.getText();
data[1] = bagi.getSelectedItem().toString();
data[2] = tanggal.getText();
data[3] = bayar.getText();
data[4] = status.getSelectedItem().toString();
tableModel.removeRow(row);
tableModel.insertRow(row,data);
stt.close();
kon.close();
BersihData();
simpan.setEnabled(false);
SetEditOff();
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
79
}
}
private void bayarKeyTyped(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
char c =evt.getKeyChar();
if(!Character.isDigit(c))
evt.consume();
}
private void cariActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
tableModel.getDataVector().removeAllElements();
tableModel.fireTableDataChanged();
String no_terima=isicari.getText();
String tanggal=isicari.getText();
try {
Class.forName(driver);
Connection kon =
DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement();
String SQL = "SELECT * FROM penerimaan WHERE no_terima
like '%"+no_terima+"%' "
+ "OR tanggal like '%"+tanggal+"%'";
80
ResultSet rss= stt.executeQuery(SQL);
while(rss.next()){
data[0]=rss.getString(1);
data[1]=rss.getString(2);
data[2]=rss.getString(3);
data[3]=rss.getString(4);
;
tableModel.addRow(data);
}
}
catch (Exception ex){
System.err.println(ex.getMessage());
}
}
private void isicariKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if(evt.getKeyCode()==100){
tableModel.getDataVector().removeAllElements();
tableModel.fireTableDataChanged();
try {
Class.forName(driver);
Connection kon =
DriverManager.getConnection(database,user,pass);
81
Statement stt = kon.createStatement();
String SQL = "SELECT * FROM penerimaan" ;
ResultSet rss= stt.executeQuery(SQL);
while(rss.next()){
data[0]=rss.getString(1);
data[1]=rss.getString(2);
data[2]=rss.getString(3);
data[3]=rss.getString(4);
data[3]=rss.getString(5);
tableModel.addRow(data);
}
}
catch (Exception ex){
System.err.println(ex.getMessage());
}
}
}
private void bagiActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void statusActionPerformed(java.awt.event.ActionEvent evt) {
82
// TODO add your handling code here:
}
public void TampilCombobagi(){
try {
Connection kon =
DriverManager.getConnection(database,user,pass);
Statement stt =
kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String SQL = "SELECT * FROM pembagian";
ResultSet res = stt.executeQuery(SQL);
while(res.next()){
bagi.addItem(res.getString("no_pem"));
}
} catch (SQLException ex) {
}
}
private void NoTransaksi()
{
try {
Connection kon =
DriverManager.getConnection(database,user,pass);
83
String SQL = "SELECT * FROM penerimaan ORDER BY
no_terima DESC";
Statement stt = kon.createStatement();
ResultSet res = stt.executeQuery(SQL);
if (res.next()) {
String notrans = res.getString("no_terima").substring(3);
String AN = "" + (Integer.parseInt(notrans) + 1);
String Nol = "";
if(AN.length()==1)
{Nol = "00000000";}
else if(AN.length()==2)
{Nol = "0000000";}
else if(AN.length()==3)
{Nol = "000000";}
else if(AN.length()==4)
{Nol = "00000";}
else if(AN.length()==5)
{Nol = "0000";}
else if(AN.length()==6)
{Nol = "000";}
else if(AN.length()==7)
{Nol = "00";}
else if(AN.length()==8)
84
{Nol = "0";}
else if(AN.length()==9)
{Nol = "";}
no_terima.setText("KM" + Nol + AN);
} else {
no_terima.setText("KM000000001");
}
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
1. Kas Keluar
kaskeluar() {
throw new UnsupportedOperationException("Not supported yet.");
//To change body of generated methods, choose Tools | Templates.
}
private void Tabel(javax.swing.JTable tb, int lebar[] ) {
tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
int kolom=tb.getColumnCount();
for(int i=0;i < kolom;i++) {
javax.swing.table.TableColumn
tbc=tb.getColumnModel().getColumn(i);
tbc.setPreferredWidth(lebar[i]);
85
tb.setRowHeight(17);
}
}
private javax.swing.table.DefaultTableModel getDefaultTabelModel() {
return new javax.swing.table.DefaultTableModel(
new Object[][] {},
new String [] {"No.
Penerimaan","Tanggal","Jumlah","Keterangan"}
)
{
boolean[] canEdit = new boolean[]{
false, false, false, false ,false
};
public boolean isCellEditable(int rowIndex,
int columnIndex){
return canEdit[columnIndex];
}
};
}
String data[]=new String[4];
private void setDefaultTable() {
try {
86
Class.forName(driver);
Connection kon =
DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement();
String SQL = "SELECT * FROM biaya";
ResultSet res = stt.executeQuery(SQL);
while(res.next()){
data[0] = res.getString(1);
data[1] = res.getString(2);
data[2] = res.getString(3);
data[3] = res.getString(4);
tableModel.addRow(data);
}
res.close();
stt.close();
kon.close();
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
int row = 0;
public void Tampil(){
87
row = table.getSelectedRow();
no_terima.setText(tableModel.getValueAt(row,
0).toString());
tanggal.setText(tableModel.getValueAt(row, 1).toString());
bayar.setText(tableModel.getValueAt(row, 2).toString());
keterangan.setText(tableModel.getValueAt(row,
3).toString());
simpan.setEnabled(false);
ubah.setEnabled(true);
SetEditOn();
}
public void BersihData(){
no_terima.setText("");
tanggal.setText("");
keterangan.setText("");
bayar.setText("");
}
public void SetEditOff(){
no_terima.setEnabled(false);
keterangan.setEnabled(false);
tanggal.setEnabled(false);
bayar.setEnabled(false);
88
tambah.setEnabled(true);
simpan.setEnabled(false);
batal.setEnabled(false);
ubah.setEnabled(false);
}
public void SetEditOn(){
no_terima.setEnabled(true);
tanggal.setEnabled(true);
keterangan.setEnabled(true);
bayar.setEnabled(true);
batal.setEnabled(true);
}
/**
* 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">
89
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jPanel3 = new javax.swing.JPanel();
jPanel4 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
no_terima = new javax.swing.JTextField();
jLabel13 = new javax.swing.JLabel();
bayar = new javax.swing.JTextField();
ket = new javax.swing.JLabel();
tanggal = new javax.swing.JTextField();
jLabel14 = new javax.swing.JLabel();
keterangan = new javax.swing.JTextField();
jScrollPane2 = new javax.swing.JScrollPane();
table = new javax.swing.JTable();
jPanel5 = new javax.swing.JPanel();
simpan = new javax.swing.JButton();
batal = new javax.swing.JButton();
ubah = new javax.swing.JButton();
tambah = new javax.swing.JButton();
isicari = new javax.swing.JTextField();
cari = new javax.swing.JButton();
90
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_
CLOSE);
jPanel1.setBackground(new java.awt.Color(0, 102, 102));
jPanel2.setBackground(new java.awt.Color(255, 204, 204));
jPanel2.setBorder(javax.swing.BorderFactory.createMatteBorder(2,
1, 2, 1, new java.awt.Color(0, 0, 153)));
jLabel1.setFont(new java.awt.Font("Tahoma", 0, 30)); // NOI18N
jLabel1.setText("KAS KELUAR");
javax.swing.GroupLayout jPanel2Layout = new
javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()
.addContainerGap(215, Short.MAX_VALUE)
.addComponent(jLabel1,
javax.swing.GroupLayout.PREFERRED_SIZE, 358,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(309, 309, 309))
91
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addContainerGap(79, Short.MAX_VALUE))
);
jPanel3.setBackground(new java.awt.Color(255, 204, 204));
javax.swing.GroupLayout jPanel3Layout = new
javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
LEADING)
.addGap(0, 904, Short.MAX_VALUE)
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
LEADING)
.addGap(0, 56, Short.MAX_VALUE)
);
92
ket.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
ket.setText("Keterangan");
tanggal.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel14.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel14.setText("tanggal");
keterangan.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
keterangan.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
keteranganKeyTyped(evt);
}
jScrollPane2.setViewportView(table);
jPanel5.setBackground(new java.awt.Color(0, 153, 153));
jPanel5.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.sw
ing.border.BevelBorder.RAISED));
simpan.setBackground(new java.awt.Color(0, 153, 255));
simpan.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
simpan.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Gambar/simpan.png")));
// NOI18N
simpan.setText("Simpan");
simpan.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
simpanActionPerformed(evt);
}
93
});
batal.setBackground(new java.awt.Color(0, 153, 255));
batal.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
batal.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Gambar/CANCEL.png")
)); // NOI18N
batal.setText("Batal");
batal.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
batalActionPerformed(evt);
}
});
cari.setBackground(new java.awt.Color(0, 153, 255));
cari.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
cari.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Gambar/kfind.png"))); //
NOI18N
cari.setText("Cari");
cari.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cariActionPerformed(evt);
}
});
}// </editor-fold>
94
private void simpanActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String NT=no_terima.getText();
String PN=tanggal.getText().toString();
String PR=keterangan.getText().toString();
String HK=bayar.getText();
if ((NT.isEmpty()) | (PN.isEmpty()) | (PR.isEmpty())
|(HK.isEmpty() ))
{
JOptionPane.showMessageDialog(null,"data tidak boleh
kosong, silahkan dilengkapi");
no_terima.requestFocus();
}else {
try {
Class.forName(driver);
Connection kon =
DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement();
String SQL = "insert into biaya
values('"+no_terima.getText()+"',"+
"'"+tanggal.getText()+"',"+
"'"+bayar.getText()+"',"+
"'"+keterangan.getText()+"')";
95
stt.executeUpdate(SQL);
data[0] = no_terima.getText();
data[1] = tanggal.getText();
data[2] = bayar.getText();
data[3] = keterangan.getText();
tableModel.insertRow(0, data);
stt.close();
kon.close();
BersihData();
SetEditOff();
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
}
private void batalActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
BersihData();
SetEditOff();
tambah.setEnabled(true);
}
private void tambahActionPerformed(java.awt.event.ActionEvent evt) {
96
// TODO add your handling code here:
BersihData();
NoTransaksi();
no_terima.requestFocus();
simpan.setEnabled(true);
ubah.setEnabled(false);
SetEditOn();
}
private void tableMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
batal.setEnabled(true);
ubah.setEnabled(true);
SetEditOn();
Tampil();
}
private void ubahActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String NT=no_terima.getText();
String PR=keterangan.getText();
String SK=tanggal.getText();
String HK=bayar.getText();
97
if ((NT.isEmpty()) | (PR.isEmpty()) | (SK.isEmpty()) |(HK.isEmpty()
))
{
JOptionPane.showMessageDialog(null,"data tidak boleh
kosong, silahkan dilengkapi");
no_terima.requestFocus();
}else {
try {
Class.forName(driver);
Connection kon =
DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement();
String SQL = "Update biaya Set
tanggal='"+tanggal.getText()+"',"+
"jumlah='"+bayar.getText()+"',"+
"keterangan'"+keterangan.getText()+"'"+
"Where no_biaya='"+no_terima.getText()+"'";
stt.executeUpdate(SQL);
data[0] = no_terima.getText();
data[1] = tanggal.getText();
data[2] = bayar.getText();
data[3] = keterangan.getText();
tableModel.removeRow(row);
tableModel.insertRow(row,data);
98
stt.close();
kon.close();
BersihData();
simpan.setEnabled(false);
SetEditOff();
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
}
private void keteranganKeyTyped(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
}
private void no_terimaActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
}
private void NoTransaksi()
{
try {
99
Connection kon =
DriverManager.getConnection(database,user,pass);
String SQL = "SELECT * FROM biaya ORDER BY no_biaya
DESC";
Statement stt = kon.createStatement();
ResultSet res = stt.executeQuery(SQL);
if (res.next()) {
String notrans = res.getString("no_terima").substring(3);
String AN = "" + (Integer.parseInt(notrans) + 1);
String Nol = "";
if(AN.length()==1)
{Nol = "00000000";}
else if(AN.length()==2)
{Nol = "0000000";}
else if(AN.length()==3)
{Nol = "000000";}
else if(AN.length()==4)
{Nol = "00000";}
else if(AN.length()==5)
{Nol = "0000";}
else if(AN.length()==6)
{Nol = "000";}
else if(AN.length()==7)
100
{Nol = "00";}
else if(AN.length()==8)
{Nol = "0";}
else if(AN.length()==9)
{Nol = "";}
no_terima.setText("KK" + Nol + AN);
} else {
no_terima.setText("KK000000001");
}
3.5.2 Pengujian Black Box
Testing atau Pengujian adalah sebuah tindakan yang dilakukan untuk
mengukur sejauh mana objek telah memenuhi sesuai harapan. Pengujian dalam
Aplikasi Pengolahan data Pendistribusian Raskin pada Kantor Kelurahan Bansir
Laut Kecamatan Pontianak Tenggara sebagai berikut:
1. Pengujian terhadap Halaman Masuk
Tabel III.12
Pengujian terhadap Halaman Masuk
No Skenario Pengujian Test Case Hasil yang
diharapkan
Kesimpulan
1 Id dan kata sandi
dikosongkan
kemudian klik masuk
Id (kosong)
Dan Kata
sandi
(kosong)
Sistem menolak
akses dan
menampilkan “id
harus diisi”
Valid
2 Mengisi id dan
mengkosongkan Kata
sandi kemudian klik
masuk
Id (terisi)
dan kata
sandi
(kosong)
Sistem menolak
akses dan
menampilkan
“Kata sandi harus
diisi”
Valid
3 Mengisi id dan Kata
sandi dengan benar
kemudian klik masuk
Id (terisi) Sistem menerima
akses dan
menampilkan
Valid
101
Dan Kata
sandi
(terisi)
Halaman utama
sesuai dengan Hak
akses
2. Pengujian terhadap Halaman Pengguna
Tabel III.13
Pengujian terhadap Halaman Pengguna
No Skenario Pengujian Test Case Hasil yang
diharapkan
Kesimpulan
1 Semua komponen
texboxt dikosongkan
kemudian klik simpan
komponen
textbox
(kosong)
Sistem menolak
akses dan
menampilkan
“data masih ada
belum terisi”
Valid
2 Salah satu textbox
dikosongkan
kemudian klik simpan
Salah satu
textboxt
(kosong)
Sistem menolak
akses dan
menampilkan
“data masih ada
belum terisi”
Valid
3 Mengisi seluruh
komponen textbox
dengan benar
kemudian klik simpan
Komponen
textbox
(terisi)
Sistem menerima
akses dan
menyimpan data
serta
menampilkan
“data pengguna
berhasil
disimpan”
Valid
4 Mengklik 2 kali table Komponen
text box
terisi
Sistem
memindahkan
data dari tabel ke
textbox
Valid
5 Klik Tombol ubah Komponen
textoxt
terisi
Sistem
menampilkan
data yang terubah
Valid
6 Klik Tombol hapus Komponen
texbox
terisi
Sistem
menghapus data
Valid
102
3. Pengujian terhadap Halaman Penerima
Tabel III.14
Pengujian terhadap Halaman Penerima
No Skenario Pengujian Test Case Hasil yang
diharapkan
Kesimpulan
1 Semua komponen
texboxt dikosongkan
kemudian klik simpan
komponen
textbox
(kosong)
Sistem menolak
akses dan
menampilkan
“data masih ada
belum terisi”
Valid
2 Salah satu textbox
dikosongkan
kemudian klik simpan
Salah satu
textboxt
(kosong)
Sistem menolak
akses dan
menampilkan
“data masih ada
belum terisi”
Valid
3 Mengisi seluruh
komponen textbox
dengan benar
kemudian klik simpan
Komponen
textbox
(terisi)
Sistem menerima
akses dan
menyimpan data
serta
menampilkan
“data penerima
berhasil
disimpan”
Valid
4 Mengklik 2 kali table Komponen
text box
terisi
Sistem
memindahkan
data dari tabel ke
textbox
Valid
5 Klik Tombol ubah Komponen
textoxt
terisi
Sistem
menampilkan
data yang terubah
Valid
6 Klik Tombol hapus Komponen
texbox
terisi
Sistem
menghapus data
Valid
4. Pengujian terhadap Halaman Periode
Tabel III.15
Pengujian terhadap Halaman Periode
No Skenario Pengujian Test Case Hasil yang
diharapkan
Kesimpulan
1 Semua komponen
texboxt dikosongkan
kemudian klik simpan
komponen
textbox
(kosong)
Sistem menolak
akses dan
menampilkan
Valid
103
“data masih ada
belum terisi”
2 Salah satu textbox
dikosongkan
kemudian klik simpan
Salah satu
textboxt
(kosong)
Sistem menolak
akses dan
menampilkan
“data masih ada
belum terisi”
Valid
3 Mengisi seluruh
komponen textbox
dengan benar
kemudian klik simpan
Komponen
textbox
(terisi)
Sistem menerima
akses dan
menyimpan data
serta
menampilkan
“data periode
berhasil
disimpan”
Valid
4 Mengklik 2 kali table Komponen
text box
terisi
Sistem
memindahkan
data dari tabel ke
textbox
Valid
5 Klik Tombol ubah Komponen
textoxt
terisi
Sistem
menampilkan
data yang terubah
Valid
6 Klik Tombol hapus Komponen
texbox
terisi
Sistem
menghapus data
Valid
5. Pengujian terhadap Halaman Akun
Tabel III.16
Pengujian terhadap Halaman Akun
No Skenario Pengujian Test Case Hasil yang
diharapkan
Kesimpulan
1 Semua komponen
texboxt dikosongkan
kemudian klik
simpan
komponen
textbox
(kosong)
Sistem menolak
akses dan
menampilkan
“data masih ada
belum terisi”
Valid
2 Salah satu textbox
dikosongkan
kemudian klik
simpan
Salah satu
textboxt
(kosong)
Sistem menolak
akses dan
menampilkan
“data masih ada
belum terisi”
Valid
3 Mengisi seluruh
komponen textbox
dengan benar
kemudian klik
simpan
Komponen
textbox
(terisi)
Sistem menerima
akses dan
menyimpan data
serta menampilkan
“data Akun
berhasil disimpan”
Valid
104
4 Mengklik 2 kali table Komponen
text box
terisi
Sistem
memindahkan data
dari tabel ke
textbox
Valid
5 Klik Tombol ubah Komponen
textoxt
terisi
Sistem
menampilkan data
yang terubah
Valid
6 Klik Tombol hapus Komponen
texbox
terisi
Sistem menghapus
data
Valid
6. Pengujian terhadap Halaman Pembagian
Tabel III.17
Pengujian terhadap Halaman Pembagian
No Skenario Pengujian Test Case Hasil yang
diharapkan
Kesimpulan
1 Semua komponen
texboxt dikosongkan
kemudian klik
simpan
komponen
textbox
(kosong)
Sistem menolak
akses dan
menampilkan
“data masih ada
belum terisi”
Valid
2 Salah satu textbox
dikosongkan
kemudian klik
simpan
Salah satu
textboxt
(kosong)
Sistem menolak
akses dan
menampilkan
“data masih ada
belum terisi”
Valid
3 Mengisi seluruh
komponen textbox
dengan benar
kemudian klik
simpan
Komponen
textbox
(terisi)
Sistem menerima
akses dan
menyimpan data
serta menampilkan
“data Pembagian
berhasil disimpan”
Valid
4 Mengklik 2 kali table Komponen
text box
terisi
Sistem
memindahkan data
dari tabel ke
textbox
Valid
5 Klik Tombol ubah Komponen
textoxt
terisi
Sistem
menampilkan data
yang terubah
Valid
6 Klik Tombol hapus Komponen
texbox
terisi
Sistem menghapus
data
Valid
7. Pengujian terhadap Halaman Kas Masuk
105
Tabel III.18
Pengujian terhadap Halaman Kas Masuk
No Skenario Pengujian Test Case Hasil yang
diharapkan
Kesimpulan
1 Semua komponen
texboxt dikosongkan
kemudian klik simpan
komponen
textbox
(kosong)
Sistem menolak
akses dan
menampilkan
“data masih ada
belum terisi”
Valid
2 Salah satu textbox
dikosongkan
kemudian klik simpan
Salah satu
textboxt
(kosong)
Sistem menolak
akses dan
menampilkan
“data masih ada
belum terisi”
Valid
3 Mengisi seluruh
komponen textbox
dengan benar
kemudian klik simpan
Komponen
textbox
(terisi)
Sistem menerima
akses dan
menyimpan data
serta
menampilkan
“data Kas Masuk
berhasil
disimpan”
Valid
4 Mengklik 2 kali table Komponen
text box
terisi
Sistem
memindahkan
data dari tabel ke
textbox
Valid
5 Klik Tombol ubah Komponen
textoxt
terisi
Sistem
menampilkan
data yang terubah
Valid
6 Klik Tombol hapus Komponen
texbox
terisi
Sistem
menghapus data
Valid
8. Pengujian terhadap Halaman Kas Keluar
Tabel III.19
Pengujian terhadap Halaman Kas Keluar
No Skenario Pengujian Test Case Hasil yang
diharapkan
Kesimpulan
1 Semua komponen
texboxt dikosongkan
kemudian klik simpan
komponen
textbox
(kosong)
Sistem menolak
akses dan
menampilkan
“data masih ada
belum terisi”
Valid
2 Salah satu textbox
dikosongkan
kemudian klik simpan
Salah satu
textboxt
(kosong)
Sistem menolak
akses dan
menampilkan
Valid
106
“data masih ada
belum terisi”
3 Mengisi seluruh
komponen textbox
dengan benar
kemudian klik simpan
Komponen
textbox
(terisi)
Sistem menerima
akses dan
menyimpan data
serta menampilkan
“data Kas Keluar
berhasil disimpan”
Valid
4 Mengklik 2 kali tabel Komponen
text box
terisi
Sistem
memindahkan data
dari tabel ke
textbox
Valid
5 Klik Tombol ubah Komponen
textoxt
terisi
Sistem
menampilkan data
yang terubah
Valid
6 Klik Tombol hapus Komponen
texbox terisi
Sistem menghapus
data
Valid
9. Pengujian terhadap Halaman Daftar Penerima
Tabel III.20
Pengujian terhadap Halaman Daftar Penerima
No Skenario Pengujian Test Case Hasil yang
diharapkan
Kesimpulan
1 Komponen texboxt
dikosongkan
kemudian klik simpan
komponen
textbox
(kosong)
Sistem menolak
akses dan
menampilkan
“data masih ada
belum terisi”
Valid
2 Mengisi komponen
textbox dengan benar
kemudian klik cetak
Komponen
textbox
(terisi)
Sistem menerima
akses dan
menyimpan data
serta
menampilkan
data laporan dari
jasperreports
Valid
10. Pengujian terhadap Halaman Laporan Bulanan
Tabel III.21
Hasil Pengujian Black Box terhadap Halaman Laporan Bulanan
No Skenario Pengujian Test Case Hasil yang
diharapkan
Kesimpulan
1 Komponen texboxt
dikosongkan
kemudian klik simpan
komponen
textbox
(kosong)
Sistem menolak
akses dan
menampilkan
Valid
107
“data masih ada
belum terisi”
2 Mengisi komponen
textbox dengan benar
kemudian klik cetak
Komponen
textbox
(terisi)
Sistem menerima
akses dan
menampilkan data
laporan dari
jasperreports
Valid
11. Pengujian terhadap Halaman Laporan Rekap Bulanan
Tabel III.22
Pengujian terhadap Halaman Laporan Rekap Bulanan
No Skenario Pengujian Test Case Hasil yang
diharapkan
Kesimpulan
1 Komponen texboxt
dikosongkan
kemudian klik simpan
komponen
textbox
(kosong)
Sistem menolak
akses dan
menampilkan
“data masih ada
belum terisi”
Valid
2 Mengisi komponen
textbox dengan benar
kemudian klik cetak
Komponen
textbox
(terisi)
Sistem menerima
akses dan
menampilkan data
laporan dari
jasperreports
Valid
12. Pengujian terhadap Halaman Laporan Kas Masuk
Tabel III.23
Pengujian terhadap Halaman Laporan Kas Masuk
No Skenario Pengujian Test Case Hasil yang
diharapkan
Kesimpulan
1 Komponen texboxt
dikosongkan
kemudian klik simpan
komponen
textbox
(kosong)
Sistem menolak
akses dan
menampilkan
“data masih ada
belum terisi”
Valid
2 Mengisi komponen
textbox dengan benar
kemudian klik cetak
Komponen
textbox
(terisi)
Sistem menerima
akses dan
menampilkan data
laporan dari
jasperreports
Valid
108
13. Pengujian terhadap Halaman Laporan Kas Keluar
Tabel III.24
Pengujian terhadap Halaman Laporan Kas Keluar
No Skenario Pengujian Test Case Hasil yang
diharapkan
Kesimpulan
1 Komponen texboxt
dikosongkan
kemudian klik simpan
komponen
textbox
(kosong)
Sistem menolak
akses dan
menampilkan
“data masih ada
belum terisi”
Valid
2 Mengisi komponen
textbox dengan benar
kemudian klik cetak
Komponen
textbox
(terisi)
Sistem menerima
akses dan
menampilkan data
laporan dari
jasperreports
Valid
14. Pengujian terhadap Halaman Laporan Jurnal Umum
Tabel III.25
Hasil Pengujian Black Box terhadap Halaman Laporan Jurnal Umum
No Skenario Pengujian Test Case Hasil yang
diharapkan
Kesimpulan
1 Komponen texboxt
dikosongkan
kemudian klik simpan
komponen
textbox
(kosong)
Sistem menolak
akses dan
menampilkan
“data masih ada
belum terisi”
Valid
2 Mengisi komponen
textbox dengan benar
kemudian klik cetak
Komponen
textbox
(terisi)
Sistem menerima
akses dan
menampilkan data
laporan dari
jasperreports
Valid
3.5.3. Spesifikasi Hardware dan Software
1. Spesifikasi Perangkat Keras
Perangkat keras yang diperlukan dalam perancangan sistem usulan ini
adalah:
a. PC/Laptop yang berspesifikasi sebagai berikut:
1) Prosesor 2.13 GHz
2) Ram 2 GB
109
3) Hardisk 320 GB
4) Sistem type 32 bit
5) Keyboard 86 tombol
b. Mouse Standar USB
c. Printer canon ip2770
2. Spesifikasi Software
Software yang digunakan dalam perancangan sistem usulan ini adalah
sebagai berikut:
a. Sistem Operasi Windows 7.
b. Aplikasi perancangan menggunakan Netbeans 8.2.
c. Aplikasi Web Server Xampp 1.7.
Aplikasi penyimpanan Database menggunakan MySQL.