BAB III PEMBAHASAN - repository.bsi.ac.id · mendirikan sebuah Sekolah Menengah Kejuruan bidang...
Transcript of BAB III PEMBAHASAN - repository.bsi.ac.id · mendirikan sebuah Sekolah Menengah Kejuruan bidang...
27
BAB III
PEMBAHASAN
3.1. Tinjauan Perusahaan
Dalam pelaksanaan proses pembayaran di Yayasan Pendidikan Gie Bima
Nusantara Cikampek terdapat aturan-aturan yang telah di tentukan, dalam hal ini
Ketua Yayasan telah menggambarkan garis besar Penerimaan dan pengeluaran kas
serta fungsi-fungsi arus kas tersebut sehingga semua menjadi lancar.
3.1.1. Sejarah Perusahaan
Yayasan Pendidikan Bima Nusantara Cikampek yang diprakarsai oleg Bapak
Asmasa, Bapak Adrian Nugraha dan Bapak Giyatno Ar Ridho yang beridiri pada
tahun 2008 beralamtkan pada Jl. Ir. H Juanda No. 402. Kecamatan Kota Baru.
Kabupaten Karawang. Pada tahun 2009 Yayasan Pendidikan Bima Nusantara ini
mendirikan sebuah Sekolah Menengah Kejuruan bidang study Farrmasi.
Pada tahun 2017 Bapak Giyatno Ar Ridho sebagai salah satu pendiri mengelola
penuh dengan badan hukum Akta Notaris No : 01 pada Notaris Septadi Setya
Nugraha, SH. MM. Mkn tertanggal 12 Desember 2017 dan berganti nama menjadi
Yayasan Pendidikan Gie Bima Nusantara Cikampek dengan nomor keputusan
kementrian hukun dan Hak Asasi Manusai (HAM) Republik Indonesia : AHU-
0018668. AH. 01. 04 tahun 2017 sebagai pengesahan pendirian badan hukum
Yayasan Pendidikan Gie Bima Nusantara Cikampek.
Kemudian Yayaysan Pendidikan Gie Bima Nusantara Cikapek yang
mendirikan Sekolah Menengah Kejuruan hanya memiliki bidang study Farmasi pada
tahun 2018 menambahkan dua bidang study baru pada yaitu Tata Boga dan
Akomodasi Perhotelan yang dipimpin oleh Ibu Sri Iryani sebagai Kepala Sekolah
28
3.1.2. Struktur Organisasi
Dalam suatu organisasi atau perusahaan, masalah struktur organisasi memang
peranan yang sangat penting. Setiap perusahaan harus mempunyai struktur organisasi
yang baik agar koordinasi dan tata kerja dapat tergambar dengan jelas, sehingga
dapat berfungsi dengan maksimal.
Sebagaimana penjelasan di atas, Yayasan Pendidikan Gie Bima Nusantara
Cikampek juga berusaha menggunakan struktur organisasi yang baik. Berikut adalah
gambar struktur organisasi serta tugas-tugas di bagian yang ada:
KEPALA PROGRAM
FARMASI
KEPALA PROGRAM
PERHOTELAN
KEPALA PROGRAM TATA
BOGA
Kepala Bidang Keuangan
Wenia Daniarti, S. Si Siti Ratna Komalasari, S. Pd
Kepala Bidang Akademis
Desi Nurul R
Kepala Bidang Administrasi
SMK BIMA NUSANTARA
KEPALA SATUAN PENDIDIKAN
Sri Iryani, S. Pd
Dewan Pengawas
Mintarno, SH
Pramudiono, S.Pd
GIYATNO AR RIDHO
DEWAN PEMBINA
YAYASAN PENDIDIKAN GIE BIMA NUSANTARA
Ida Megasari
DEWAN PENGURUS
Bayu Lintang. P
KETUA
SekertarisBendahara
Sumber : Yayasan Pendidikan Gie Bima Nusantara Cikampek
Gambar III.1
Struktur Organisasi Yayasan Pendidikan Gie Bima Nusantara Cikampek
Berikut adalah tugas dan wewenang dari setiap bagian yang terdapat pada
struktur organisasi sebagai berikut:
29
1. Dewan Pembina
a. Berwenang bertindal untuk dan atas nama Yayasan.
b. Mengayomi organisasi sesuai dengan Visi dan Misi yang di teteapkan.
c. Kewenangan Pembina:
1) Mengambil keputusan mengenai perubahan anggaran dasar Penetapan
kebijakan umum.
2) Pengesehan program kerja dan rancangan anggaran tahunan yayasan.
3) Penetapan mengenai pembangunan.
4) Perubahan atau pembubaran yayasan.
2. Dewan Pengawas
a. Pengawas berhak melakukan pemeriksaan dokumen-dokumen keuangan dan
pembukuan Yayasan.
b. Pengawas berhak mengetahui segala tindakan yang telah dijalankan oleh
pengurus Yayasan.
3. Ketua Yayasan
a. Menjalankan Visi dan Misi Yayasan sesuai dengan anggaran dasar.
b. Memberi wewenang kepada kepala sekolah sehubungan dengan hal-hal yang
berkaitan.
c. Memimpin dan mengkoordinasikan seluruh anggota yayasan.
d. Mengkoordinasikan program kerja yayasan
4. Bendahara Yayasan
a. Bertanggung jawab atas pengelolaan keuangan yayasan.
b. Membuat laporan keuangan secara periodik.
c. Menyusun dan mengatur anggaran dengan berkoordinasi dengan Ketua
Yayasan.
30
5. Sekertaris yayasan
a. Mengatur dan menertibkan pengorganisasian administrasi Yayasan.
b. Berhak dan mempunyai wewenang untuk mendokumentasikan serta
mengarsipkan semua surat-surat yang masuk maupun keluar.
6. Kepala Sekolah
a. Membimbing guru dalam hal menyusun dan melaksanakan program
pembelajaran dan pengajaran.
b. Membimbing karyawan dalam hal menyusun dan melaksanakan program
kerja.
c. Membimbing siswa dalam ekstra kulikuler, osis dan mengikuti lomba di luar
sekolah.
d. Mengikuti perkembangan iptek melalui pendidikan atau latihan, pertemuan
dan seminar
7. Kepala Bidang Keuanga
a. Membantu kepala sekolah menyusun Rencana Anggaran Pendapatan dan
Belanja Sekolah.
b. Menerima, menyimpan dan mengeluarkan dana dengan perintah dan
persetujuan kepala sekolah.
c. Mempertangung jawabkan dana secara administrasi
d. Melaporkan pelaksanaan kegiatan sekolah.
8. Kepala Bidang Akademis
a. Membagi tugas kepada para wali kelas sesuai dengan bidang tugasnya
masing-masing.
b. Memberi arahan kepada para wali kelas untuk kelancaran pelaksanaan tugas.
c. Melaksanakan pembinaan kepada wali kelas.
31
d. Menyusun rencana dan program kerja sesuai dengan pedoman dan
pelaksanaan tugasnya.
9. Kepala Bidang Administrasi
a. Menyusun program kerja administrasi sekolah
b. Pengurusan administrasi ketenaga dan kesiswaan dan perlengkapan sekolah
c. Menyusun laporan pelaksanaan kegiatan.
10. Kepala Program Farmasi
a. Menyusun program pembelajaran keahlian Farmasi.
b. Membuat tata tertib dalam laboratorium.
c. Menentukan alat dan bahan kebutuhan penunjang KBM.
11. Kepala Program Perhotelan
a. Menyusun program pembelajaran keahlian Perhotelan.
b. Membuat tata tertib dalam perhotelan.
c. Menentukan alat dan bahan kebutuhan penunjang KBM.
12. Kepala Program Tata Boga
a. Menyusun program pembelajaran keahlian Tata Boga.
b. Membuat tata tertib dalam pembelajaran.
c. Menentukan alat dan bahan kebutuhan penunjang KBM.
3.2. Tinajuan Kasus
Penulis memproleh langsung sistem yang berjalan pada Yayasan Pendidikan
Gie Bima Nusantara dan SMK Bima Nusantara Cikampek.
3.2.1. Proses Bisnis Sistem Berjalan
1. Sistem Penerimaan Kas
Siswa melakukan pembayaran Sumbangan Masyarakat penggunaan jasa
pendidikan kepada Bendahara Yayasan, kemudian Bendahara Yayasan
32
menginformasikan jumlah yang harus dibayarkan oleh calon siswa dan
menerima pembayaran serta membuat kwitansi (Tiga) rangkap, kwitansi putih
diberikan kepada siswa yang sebagai bukti pembayaran, kwitansi warna kuning
diberikan kepada sekertaris yayasan sebagai arsip administrasi dan kwitansi
warna pink di arsipkan oleh Bendahara Yayasan dipergunakan sebagai bukti
laporan penerimaan kas. Setelah itu Bendahara Yayasan mencatatkan
penerimaan berdasarkan kwitansi rangkap pink yang dicatat dalam buku tulis
kas harian Yayasan dan dibuku jurnal polio sebagai catatan bulanan
pembayaran.
2. Sistem Pengeluaran Kas
Bendahara sekolah mengajukan data pengeluaran kas guna menunjang kegiatan
oprasional yang berada di sekolah, kemudian bendahara sekolah menyerahkan
data pengeluaran kas kepada kepala sekolah untuk diperiksa apakah pengajuan
sudah sesuai dengan kebutuhan dan kepala sekolah menanda tangani persetujuan
kebutuhan. Setelah ditandatangani pengajuan dana tersebut dan menyerahkan
persetujuan pengajuan kepada Bendahara Yayasan untuk dilihat apa saja data
pengajuan tersebut. Jika sudah sesuai maka bendahara yayasan akan
mengeluarkan sejumlah dana yang dibutuhkan kepada Bendahara Sekolah dan
Bendahara Sekolah mencatat penerimaan kas terdebut dalam buku tulis kas
harian Bendahara Sekolah.
3. Proses penyerahan bukti pengeluaran kas
Bendahara sekolah membuat rekap Pengeluaran dengan lampiran dokumen-
dokumen atau nota-nota pengeluaran kas dan menyerahkan kepada Bendahara
Yayasan sebagai bukti pengeluaran kas sudah di lakukan. Lalu Bendahara
Yayasan memeriksa kembali nota-nota pengeluaran kas jika rekap dan nota
33
pengeluaran kas belum lengkap maka Bendahara yayasan mengembalikan rekap
dan nota tersebut ke Bendahara Sekolah dan jika sudah benar jumlah
pengeluaran kas maka Bendahara Yayasan akan menuliskan jumlah pengeluaran
kas untuk kebutuhan kegiatan oprasional sekolah di buku tulis kas harian
Yayasan dan rekap serta nota-nota tersebut diarsipkan oleh Bendahara Yayasan
sebagai bukti pengeluaran kas.
3.2.2. Activity Diagram
1. Proses Penerimaan Kas
Gambar III. 2
Activity Diagram Penerimaan Kas
34
2. Proses Pengeluaran Kas
Gambar III. 3
Activity Diagram Pengeluaran Kas
35
3. Proses Penyerahan Bukti
Gambar III. 4
Activity Diagram Penyerahan Bukti
36
3.2.3. Dokumen Masukan
1. Buku Kas Harian
Fungsi : Sebagai Bukti Pencatatan Setiap Hari
Frekuensi : Setiap Ada Penerimaan atau pengeluaran
Sumber : Bendahara Sekolah
Tujuan : Ketua Yayasan
Media : Kertas
Jumlah : Satu Lembar
Bentuk : Lampiran A1
2. Surat Pengajuan
Fungsi : Sebagai Bukti Bahwa Sekolah Mengajukan Pengajuan
Frekuensi : Setiap Ada Pengajuan
Sumber : Bendahara Sekolah
Tujuan : Bendahara Yayasan
Media : Kertas
Jumlah : Satu Lembar
Bentuk : Lampiran A2
3. Bukti Penerimaan Kas
Fungsi : Untuk Mengetahui Rincian Penerimaan Kas
Frekuensi : Setiap Ada Penerimaan
Sumber : Bendahara Sekolah
Tujuan : Bendahara Yayasan
Media : Kwitansi Umum
Jumlah : Satu Lembar
Bentuk : Lampiran A3
37
4. Bukti Nota Transaksi
Fungsi : Sebagai Bukti Bahwa Sekolah Telah Melakukan Transaksi
Frekuensi : Setiap Ada Pengajuan
Sumber : Bendahara Sekolah
Tujuan : Yayasan
Media : Kertas
Jumlah : Satu Lembar
Bentuk : Lampiran A4
5. Kwitansi Pink
Fungsi : Sebagai Bukti Penerimaan Kas
Frekuensi : Setiap Ada Pembayaran Sekolah
Sumber : Bendahara Yayasan
Tujuan : Bendahara Sekolah
Media : Kertas
Jumlah : Satu Lembar
Bentuk : Lampiran A5
6. Rekap Transaksi
Fungsi : Untuk Mengetahui Seluru Rincian Transaksi
Frekuensi : Setiap Tiga Bulan
Sumber : Bendahara Sekolah
Tujuan : Yayasan
Media : Kertas
Jumlah : Satu Lembar
Bentuk : Lampiran A6
38
3.2.4. Dokumen Keluaran
1. Kwitansi Putih
Fungsi : Sebagai Bukti Telah Melakukan Pembayaran Sekolah
Frekuensi : Setiap Ada Pembayaran
Sumber : Bendahara Yayasan
Tujuan : Orang Tua Siswa
Media : Kertas
Jumlah : Satu Lembar
Bentuk : Lampiran B1
2. Data Kas Keluar
Fungsi : Untuk Mengetahui Rincian Kas Keluar
Frekuensi : Setiap Ada Pengeluaran Kas
Sumber : Bendahara Yayasan
Tujuan : Bendahara Sekolah
Media : Kertas
Jumlah : Satu Lembar
Bentuk : Lampiran B2
3. Kertas Kwitansi Umum
Fungsi : Untuk Mengetaui Setiap Adanya Pengeluaran Kas
Frekuensi : Setiap Adanya Pengeluaran Kas
Sumber : Bendahara Yayasan
Tujuan : Bendahara Sekolah
Media : Kerta
Jumlah : Satu Lembar
Bentuk : Lampiran B3
39
4. Laporan
Fungsi : Untuk Mengetahui Rincian Kas Masuk dan Kas Keluar
Frekuensi : Setiap Enam Bulan Sekali
Sumber : Bendahara Yayasan
Tujuan : Ketua Yayasan
Media : Kertas
Jumlah : Miniman 5 Lembar
Bentuk : Lampiran B4
3.2.5. Permasalahan Pokok
1. Sistem penulisan pembayaran Sekolah masih manual berbentuk buku polio besar
sehingga apa bila buku tersebut hilang maka tidak ada back up data.
2. Pengarsipan masih belum tertata rapi jika ingin mencari data yang sudah lampau
akan mengalami kesulitan karena tergabung dengan data sekolah lainnya.
3. Dapat hilangnya bukti-bukti transaksi karena pengarsipannya yang menumpuk
sehingga data akan mudah terselit dengan data yang lainnya.
4. Sistem pembagian atau alur keluarnya uang belum teratur dikarnakan pencatatan
yang masih manual maka perhitungan dan pencatatannya masih kurang efisien.
5. Tidak efektifnya pembuatan laporan dikarnakan pencatatan keluar masuknya kas
hanya tercatat dalam buku tulis kas harian.
3.2.6. Pemecahan Masalah
1. Membuat Program untuk informasi siswa (mencakup biodata dan pembayaran
siswa).
2. Membuat pencatatan laporan keuangan berdasarkan alur akuntansi dan
meningkatkan kinerja bagian bendahara.
40
3. Perlunya ruang khusus untuk pegarsipan kwitansi pembayaran siswa agar tertata
rapih.
4. Harus mempunyai sistem pencatatan yang sudah terkomputerisasi supaya
mempunyai back up file dan meminimalisir kehilangan.
3.3. Analisa Kebutuhan Software
Dengan bertambahnya jumlah siswa sekolah yang semakin meningkat, maka
penggunaan teknologi komputer akan sangat membantu dalam memberikan
informasi penerimaan kas dan pengeluaran kas atas pembayaran pada Yayasan
Pendidikan Gie Bima Nusantara.
3.3.1. TahapanAnalisa Kebutuhan Software
Pada Yayasan pendidikan Gie Bima Nusantara ini penulis merancang
berdasarkan sistem berjalan pada Yayasan Pendidikan Gie Bima Nusantara berikut
spesifikasi kebutuhan software:
A. Bendahara Yayasan
A.1. Bendahara Melakukan Login.
A.2. Bendahara Mengakses Menu Utama.
A.3. Bendahara Mengelola Data Siswa.
A.4. Bendahara Mengelola Transaksi Penerimaan Kas.
A.5. Bendahara Mengakses Transaksi Pengeluaran Kas.
A.6. Bendahara Mengelola Jurnal : Jurnal Perkiraan.
A.7. Bendahara Mengelola Laporan Jurnal.
A.8. Bendahara Mengelola Laporan Penerimaan Kas.
A.9 bendahara Mengelola Laporan Pengeluaran kas.
B. Bendahara Sekolah
B.1. Bendahara Melakukan Login.
41
B.2. Bendahara Mengelola Pengeluaran Kas.
B.3. Bendahara Mengelola Data Pengajuan.
C. Ketua Yayasan
C.1. Ketua Yayasan Melakukan Login.
C.2. Ketua Yayasan Mengakses Laporan Penerimaan Kas.
C.3. Ketua Yayasan Mengakses Laporan Pengeluaran Kas.
C.4. Ketua Yayasan Mengelola Data Admin.
3.3.2. Usecase Diagram
A. Bendahara Yayasan
Gambar III. 5
Usecase Diagram Sistem Informasi Arus Kas Bendahara Yayasan
42
Tabel III.1
Deskripsi Usecase Diagram Sistem Informasi Arus Kas Bendahara Yayasan
Usecase Diagram Narative Bendahara Yayasan
Tujuan Bendahara dapat melihat data yang ada pada
form Bendahara Yayasan
Deskripsi
Sistem ini memungkinkan aktor untuk
masuk ke form Menu Utama Bendahara
Yayasan.
Skenario Utama
Aktor Bendahara Yayasan
Kondisi Awal Aktor Membuka menu utama Bendahara
Yayasan
Kondisi Awal Reaksi Sistem
1. Aktor melakukan login Sistem ini akan menampilkan form menu
utama
2. Aktor memilih menu data siswa Sistem ini akan menampilkan form
informasi data siswa
3. Aktor memilih menu
penerimaan kas
Sistem ini akan menampilkan form transaksi
penerimaan kas.
4. Aktor memilih menu akses
pengeluaran kas
Sistem ini hanya akan menampilkan akses
form data transaksi pengeluaran kas.
5. Aktor memilih menu data
perkiraan
Sistem ini akan menampilkan informasi data
perkiraan.
6. Aktor memilih menu laporan
jurnal
Sistem ini akan menampilkan form jurnal
dari semua transaksi
7. Aktor memilih menu laporan
penerimaan kas
Sistem ini akan menampilkan form
pencarian laporan penerimaan kas
8. Aktor memilih menu laporan
pengeluaran kas
Sistem ini akan menampilkan form
pencarian laporan pengeluaran kas
Kondisi Akhir Jika perintah sesuai maka akan
menampilkan apa yang diinginkan
43
B. Bendahara Sekolah
Gambar III. 6
Usecase Diagram Sistem Informasi Arus Kas Bendahara Sekolah
Tabel III.2
Deskripsi Usecase Diagram Sistem Informasi Arus Kas Bendahara Sekolah
Usecase Diagram Narative Bendahara Sekolah
Tujuan Bendahara dapat melihat data yang ada pada
form Bendahara Sekolah.
Deskripsi Sistem ini memungkinkan aktor untuk masuk
ke form Menu Utama Bendahara Sekolah.
Skenario Utama
Aktor Bendahara Sekolah.
Kondisi Awal Aktor Membuka menu utama Bendahara
Sekolah.
Kondisi Awal Reaksi Sistem
1. Aktor melakukan login Sistem ini akan menampilkan form menu
utama
2. Aktor memilih menu
pengeluaran kas
Sistem ini akan menampilkan form transaksi
pengeluaran kas.
3. Aktor memilih menu
pengajuan
Sistem ini akan menampilkan form data
pengajuan.
Kondisi Akhir Jika perintah sesuai maka akan menampilkan
apa yang diinginkan
44
C. Ketua Yayasan
Gambar III. 7
Usecase Diagram Sistem Informasi Arus Kas Ketua Yayasan
Tabel III.3
Deskripsi Usecase Diagram Sistem Informasi Arus Kas Ketua yayasan
Usecase Diagram Narative Ketua Yayasan
Tujuan Bendahara dapat melihat data yang ada pada
form Ketua Yayasan.
Deskripsi Sistem ini memungkinkan aktor untuk
masuk ke form Menu Utama Ketua Yayasan.
Skenario Utama
Aktor Ketua Yayasan.
Kondisi Awal Aktor Membuka menu utama Keta Yayasan.
Kondisi Awal Reaksi Sistem
1. Aktor melakukan login Sistem ini akan menampilkan form menu
utama.
2. Aktor memilih menu laporan
penerimaan kas
Sistem ini akan menampilkan form informasi
transaksi laporan penerimaan kas.
3. Aktor memilih menu laporan
pengeluaran kas
Sistem ini akan menampilkan form laporan
transaksi pengeluaran kas.
4. Aktor memilih menu
mengelola data admin
Sistem ini akan menampilkan form data
admin.
Kondisi Akhir Jika perintah sesuai maka akan menampilkan
apa yang diinginkan
45
3.3.3. Activity Diagram
1. Bendahara Yayasan Melakukan Login.
Gambar III. 8
Activity Diagram Form Logi Bendahara Yayasan
46
2. Bendahara Mengelola Data Siswa.
Gambar III. 9
Activity Diagram Form Mengelola Data Siswa
47
3. Bendahara Mengelola Penerimaan Kas.
Gambar III. 10
Activity Diagram Form Logi Mengelola Transaksi Penerimaan Kas
48
4. Bendahara Mengakses Pengeluaran Kas.
Gambar III. 11
Activity Diagram Form Mengakses Pengeluaran Kas
49
5. Bendahara Mengelola Data Perkiraan.
Gambar III. 12
Activity Diagram Form Mengelola Data Perkiraan
50
6. Bendahara Mengelola Laporan Jurnal.
Gambar III. 13
Activity Diagram Form Mengelola Laporan Jurnal
51
7. Bendahara Mengelola Laporan Penerimaan Kas
Gambar III. 14
Activity Diagram Form Mengelola Laporan Penerimaan Kas
52
8. Bendahara Mengelola Laporan Pengeluara Kas
Gambar III. 15
Activity Diagram Form Mengelola Laporan Pengeluaran Kas
53
9. Bendahara Melakukan Login.
Gambar III. 16
Activity Diagram Form Login Bendahara Sekolah
54
10. Bendahara Mengelola Pengeluaran Kas.
Gambar III. 17
Activity Diagram Form Mengelola Transaksi Pengeluaran kas
55
11. Bendahara Mengelola Data Pengajuan
Gambar III. 18
Activity Diagram Form Mengelola Data Pengajuan
56
12. Ketua Yayasan Melakukan Login.
Gambar III. 19
Activity Diagram Form Login Ketua Yayasan
57
13. Ketua Yayasan Mengakses Laporan Penerimaan Kas
Gambar III. 20
Activity Diagram Form Mengakses Loporan Penerimaan Kas
58
14. Ketua Yayasan Mengakses Laporan Pengeluaran Kas
Gambar III. 21
Activity Diagram Form Mengakses Pengeluaran Kas
59
15. Ketua Yayasan Mengelola Data Admin
Gambar III. 22
Activity Diagram Form Mengelola Data Admin
60
3.4. Desain
Desain program merupakan langkah awal untuk menganalisis situasi,
merencanakan strategi dan struktur serta menghasilkan persiapan proses rencana
kerja yang matang.
3.4.1. Entity Relationship Diagram (ERD)
Siswa
Kd_siswa
nm_siswa
gender
alamat
Kd_siswa
Admin
Mengelola
hak_akses
passwordusername
Id_admin
Penerimaan
nominal
keterangantanggal
kd_siswa
Kd_masuk
Pengajuan
nominal
tanggal
Mengelola
keterangan
Kd_pj
Mengelola
Menghasilkan Jurnal
kd_jurnal
tanggal
Menghasilkan
nomor
kd_akun
keterangan
debet
kredit
Menghasilkan
Perkiraan
kd_akun nm_akun
1
1
1
1 1
1
1
1
1
1
Mengelola1
Pengeluaran
nominal
tanggal keterangan
kd_keluar
1
1
1
Gambar III. 23
Entity Relationship Diagram (ERD)
61
3.4.2. Logical Record Structure (LRS)
Admin
id_admin *
username
password
hak_akses
Jurnal
nomor
kd_jurnal *
tanggal
no_trans
ket
kd_akun
nm_akun
debet
kredit
Perkiraan
kd_akun *
nm_akun
Penerimaan
kd_masuk *
tanggal
nm_siswa
keterangan
nominal
id_admin
Pengajuan
kd_pj *
tanggal
keterangan
nominal
Siswa
kd_siswa *
nm_siswa
gender
alamat
tgl_lahir
Pengeluaran
kd_keluar *
tanggal
keterangan
nominal
id_admin
1
1
11
1
1
1
1
1
1
Gambar III. 24
Entity Relationship Diagram (ERD)
3.4.3. Spesifikasi File
1. Spesifikasi File Data Pengguna
Nama Database : Penerimaan_ Kas
Nama File : Admin
Tipe File : Master
Akses File : Random
Panjang Record : 88
Field Key : id
62
Tabel III. 4
Spesifikasi File Pengguna
No Elemen Data Akronim Tipe Panjang Keterangan
1 Identitas User id_User Interger 8 Primary Key
2 Nama User Username Varchar 30 Foreigen Key
3 Password Pass Interger 30
4 Hak Akses Hak Varchar 20
2. Spesifikasi File Transaksi Penerimaan Kas
Nama Database : penerimaan_kas
Nama File : Penerimaan
Tipe File : Transaksi
Akses File : Random
Panjang Record : 64
Field Key : kd_Masuk
Tabel III. 5
Spesifikasi File Transaksi Penerimaan Kas
No Elemen Data Akronim Tipe Panjang Keterangan
1 No Penerimaan Kd_Bayar Interger 8 Primary Key
2 Tanggal Tanggal Date 8 Foreigen Key
3 Kode Siswa Kd_Siswa Varchar 30
4 Nominal Nominal Varchar 10
5 Keterangan Keterangan Teks
6 Admin Id_Admin Interger 8
3. Spesifikasi File Transaksi Pengeluaran Kas
Nama Database : penerimaan_kas
Nama File : Pengeluaran
Tipe File : Transaksi
Akses File : Random
Panjang Record : 34
Field Key : kd_keluar
63
Tabel III. 6
Spesifikasi File Transaksi Pengeluaran Kas
No Elemen Data Akronim Tipe Panjang Keterangan
1 No Pengeluaran Kd_Keluar Interger 8 Primary Key
2 Tanggal Tanggal Date 8 Foreigen Key
3 Keterangan Keterangan Teks
4 Nominal Nominal Varchar 10
5 Admin Id_Admin Interger 8
4. Spesifikasi File Transaksi Data Siswa
Nama Database : penerimaan_kas
Nama File : Siswa
Tipe File : Master
Akses File : Random
Panjang Record : 63
Field Key : Kd_Siswa
Tabel III. 7
Spesifikasi File Data Siswa
No Elemen Data Akronim Tipe Panjang Keterangan
1 Nomor Siswa Kd_Siswa Interger 8 Primary Key
2 Nama Siswa Nm_Siswa Varchar 40 Foreigen Key
3 Alamat Alamat Teks
4 Jenis Kelamin Gender Varchar 15
5 Tanggal Lahir Tgl_Lahir Interger
5. Spesifikasi File Jurnal
Nama Database : penerimaan_kas
Nama File : Jurnal
Tipe File : Laporan
Akses File : Random
Panjang Record : 41
Field Key : kd_jurnal
64
Tabel III. 8
Spesifikasi File Data Jurnal
No Elemen Data Akronim Tipe Panjang Keterangan
1 Nomor Nomor Interger 5 Primary Key
2 Kode Jurnal Kd_Jurnal Varchar 8
3 Tanggal Tanggal Date
4 Keterangan Keterangan Teks
5 Kode Akun Kd_Akun Varchar 8
6 Debet Debet Interger 10
7 Kredit Kredit Interger 10
6. Spesifikasi File Data Perkiraan
Nama Database : penerimaan_kas
Nama File : Perkiraan
Tipe File : Master
Akses File : Random
Panjang Record : 48
Field Key : Kd_Akun
Tabel III. 9
Spesifikasi File Data Perkiraan
No Elemen Data Akronim Tipe Panjang Keterangan
1 No Akun Kd_Akun Interger 8 Primary Key
2 Nama Akun Nm_Akun Varchar 40 Foreigen Key
7. Spesifikasi File Data Pengajuan
Nama Database : penerimaan_kas
Nama File : Perkiraan
Tipe File : Master
Akses File : Random
Panjang Record : 48
Field Key : Kd_Pj
65
Tabel III. 10
Spesifikasi File Data Pengajuan
No Elemen Data Akronim Tipe Panjang Keterangan
1 Kode Pengajuan Kd_Pj Interger 8 Primary Key
2 Tanggal Tanggal Date
3 Keterangan Keterangan Teks
4 Nominal Nominal Int 10
3.4.4. Sequence Diagram
1. Penerimaan Kas
Gambar III. 25.
Sequence Diagram Penerimaan Kas
66
2. Pengeluaran Kas
Gambar III. 26.
Sequence Diagram Pengeluaran Kas
67
3.4.5. Deployment Diagram
Gambar III. 27.
Deployment Diagram Arus Kas
3.4.6. User Interface
1. User Interface Login
Gambar III. 28.
Login
68
2. User Interface Login Berhasil
Gambar III. 29.
Login Berhasil
3. User Interface Login Gagal
Gambar III. 30.
Login Gagal
69
4. User Interface Menu Utama
Gambar III. 31.
Menu Utama Ketua Yayasan
5. User Interface Form Mengakses Laporan Penerimaan Kas
Gambar III. 32.
Form Mengakses Laporan Penerimaan Kas
70
6. User Interface Form Pencarian Laporan penerimaan Kas
Gambar III. 33.
Form Pencarian Laporan penerimaan Kas
7. User Interface Form Mengakses Laporan pengeluaran kas
Gambar III. 34.
Form Mengakses Laporan pengeluaran kas
71
8. User Interface Form Pencarian Laporan pengeluaran
Gambar III. 35.
Form Pencarian Laporan pengeluaran
9. User Interface Form Tampil Data Pencarian Laporan Pengeluaran
Gambar III. 36.
Form Tampil Data Pencarian Laporan Pengeluaran
72
10. User Interface Form Cetak Laporan Pengeluaran Kas
Gambar III. 37.
Form Cetak Laporan Pengeluaran Kas
11. User Interface Hasil Cetak Laporan Pengeluaran Kas
Gambar III. 38.
Form Hasil Cetak Laporan Pengeluaran Kas
73
12. User Interface Form Data Admin
Gambar III. 39.
Form Data Admin
13. User Interface Form Data Berhasil di Hapus
Gambar III. 40.
Form Data Berhasil di Hapus
74
14. User Interface Form Login Bendahara Yayasan
Gambar III. 41.
Form Login Bendahara Yayasan
15. User Interface Form Menu Utama Bendahara Yayasan
Gambar III. 42.
Form Menu Utama Bendahara Yayasan
75
16. User Interface Form Data Siswa
Gambar III. 43.
Form Data Siswa
17. User Interface Form Tambah Data Siswa
Gambar III. 44.
Form Tambah Data Siswa
76
18. User Interface Form Cari Data Siswa
Gambar III. 45.
Form Cari Data Siswa
19. User Interface Form Edit Data Siswa
Gambar III. 46.
Form Edit Data Siswa
77
20. User Interface Form Hapus Data Siswa
Gambar III. 47.
Form Hapus Data Siswa
21. User Interface Form Data Berhasil Dihapus
Gambar III. 48.
Form Data Berhasil Dihapus
78
22. User Interface Form Data Penerimaan kas
Gambar III. 49.
Form Data Penerimaan kas
23. User Interface Form Tambah Data Penerimaan Kas
Gambar III. 50.
Form Tambah Data Penerimaan Kas
79
24. User Interface Form Cari Data Siswa Penerimaan Kas
Gambar III. 51.
Form Cari Data Siswa Penerimaan Kas
25. User Interface Form Data berhasil Ditemukan
Gambar III. 52.
Form Data Berhasil Ditemukan
80
26. User Interface Form Data Tersimpan
Gambar III. 53.
Form Data Tersimpan
27. User Interface Form Cetak Kwitansi Penerimaan Kas
Gambar III. 54.
Form Cetak kwitansi Penrimaan Kas
81
28. User Interface Mengakses Pengeluaran kas
Gambar III. 55.
Form Akses Pengeluaran Kas
29. User Interface Form Tambah Data Perkiraan
Gambar III. 56.
Form Tambah Data Perkiraan
82
30. User Interface Form Laporan Jurnal Umum
Gambar III. 57.
Form Laporan Jurnal
31. User Interface Form Laporan Penerimaan Kas
Gambar III. 58.
Form Laporan Penerimaan Kas
83
32. User Interface Form Laporan Pengeluaran Kas
Gambar III. 59.
Form Laporan Pengeluaran Kas
33. User Interface Form Login Bendahara Sekolah
Gambar III. 60.
Form Login Bendahara Sekolah
84
34. User Interface Form Menu Utama Bendahara Sekolah
Gambar III. 61.
Form Menu Utama Bendahara Sekolah
35. User Interface Form Pengeluaran Kas
Gambar III. 62.
Form Pengeluaran Kas
85
36. User Interface Form Pengajuan
Gambar III. 63.
Form Pengajuan
37. User Interface Form Tambah Data Pengajuan
Gambar III. 64.
Form Tambah Data Pengajuan
86
38. User Interface Form Data Berhasil Disimpan dan Cetak
Gambar III. 65.
Form Data Berhasil Disimpan dan Cetak
39. User Interface Form Cetak Bukti Pengajuan
Gambar III. 66.
Form Cetak Bukti Pengajuan
87
40. User Interface Form Logout
Gambar III. 67.
Form Logout
41. User Interface Form Berhasil Logout
Gambar III. 68.
Form Berhasil Logout
3.5. Impelementasi
3.5.1. Code Gemeration
import Database.KoneksiDatabase;
import Database.ResultSetTable;
import java.awt.event.KeyEvent;
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
88
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JasperViewer;
/**
*
* @author user*/
public class form_terima_kas extends javax.swing.JFrame {
String idSis;
ResultSet rs;
KoneksiDatabase con;
/**
* Creates new form form_terima_kas */
public form_terima_kas() {
con = new KoneksiDatabase(new Database.Parameter().HOST_DB, new
Database.Parameter().USERNAME_DB, new Database.Parameter().PASSWORD_DB);
initComponents();
setTitle("form penerimaan kas");
loadtabel();
nonaktif();
kode.setEnabled(false);
jDateChooser1.setEnabled(false);
titik.setEnabled(false);
tambah.setEnabled(true);
batal.setEnabled(false);
simpan.setEnabled(false);
}
private String id() {
String no = null;
try {
con.koneksiDatabase();
String sql = "Select right(kd_bayar,4)+1 from penerimaan ";
ResultSet rs = con.eksekusiQuery(sql);
if (rs.next()) {
rs.last();
no = rs.getString(1);
while (no.length() < 4) {
no = "000" + no;
no = "T" + no;
kode.setText(no);
}
} else {
no = "T0001";
kode.setText(no);
}
} catch (Exception e) {
}
return no;
}
public void itemTerpilih() {
89
data_siswa FPR = new data_siswa();
FPR.FBY = this;
nama.setText(idSis);
}
/**
* 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();
jLabel1 = new javax.swing.JLabel();
jLabel20 = new javax.swing.JLabel();
jLabel21 = new javax.swing.JLabel();
jLabel32 = new javax.swing.JLabel();
jLabel33 = new javax.swing.JLabel();
kode = new javax.swing.JTextField();
jDateChooser1 = new com.toedter.calendar.JDateChooser();
jLabel22 = new javax.swing.JLabel();
jLabel23 = new javax.swing.JLabel();
jLabel34 = new javax.swing.JLabel();
jLabel35 = new javax.swing.JLabel();
jLabel36 = new javax.swing.JLabel();
jLabel37 = new javax.swing.JLabel();
nama = new javax.swing.JTextField();
nominal = new javax.swing.JTextField();
jScrollPane1 = new javax.swing.JScrollPane();
keterangan = new javax.swing.JTextArea();
titik = new javax.swing.JButton();
batal = new javax.swing.JButton();
tambah = new javax.swing.JButton();
simpan = new javax.swing.JButton();
jPanel2 = new javax.swing.JPanel();
jLabel38 = new javax.swing.JLabel();
jLabel39 = new javax.swing.JLabel();
t_cari = new javax.swing.JTextField();
cari = new javax.swing.JButton();
cetak = new javax.swing.JButton();
jScrollPane2 = new javax.swing.JScrollPane();
tbl_terima = new javax.swing.JTable();
no_jurnal = new javax.swing.JTextField();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0,
0, 0)));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel1.setFont(new java.awt.Font("Tahoma", 0, 26)); // NOI18N
jLabel1.setText("Form Penerimaan Kas");
90
jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(400, 10, -1, -
1));
jLabel20.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel20.setText("Kode Bayar");
jPanel1.add(jLabel20, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 100, -1,
-1));
jLabel21.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel21.setText(":");
jPanel1.add(jLabel21, new org.netbeans.lib.awtextra.AbsoluteConstraints(260, 100, 10,
-1));
jLabel32.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel32.setText("Tanggal Bayar");
jPanel1.add(jLabel32, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 140, -1,
-1));
jLabel33.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel33.setText(":");
jPanel1.add(jLabel33, new org.netbeans.lib.awtextra.AbsoluteConstraints(260, 140, 10,
-1));
kode.setBackground(new java.awt.Color(204, 204, 255));
jPanel1.add(kode, new org.netbeans.lib.awtextra.AbsoluteConstraints(270, 100, 110, -
1));
jDateChooser1.setBackground(new java.awt.Color(204, 204, 255));
jPanel1.add(jDateChooser1, new org.netbeans.lib.awtextra.AbsoluteConstraints(270,
140, 150, -1));
jLabel22.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel22.setText("Nama Siswa");
jPanel1.add(jLabel22, new org.netbeans.lib.awtextra.AbsoluteConstraints(490, 100, -1,
-1));
jLabel23.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel23.setText(":");
jPanel1.add(jLabel23, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 100, 10,
-1));
jLabel34.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel34.setText("Nominal Bayar");
jPanel1.add(jLabel34, new org.netbeans.lib.awtextra.AbsoluteConstraints(490, 140, -1,
-1));
jLabel35.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel35.setText(":");
jPanel1.add(jLabel35, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 140, 10,
-1));
jLabel36.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel36.setText("Keterangan");
91
jPanel1.add(jLabel36, new org.netbeans.lib.awtextra.AbsoluteConstraints(490, 180, -1,
-1));
jLabel37.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel37.setText(":");
jPanel1.add(jLabel37, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 180, 10,
-1));
nama.setBackground(new java.awt.Color(204, 204, 255));
jPanel1.add(nama, new org.netbeans.lib.awtextra.AbsoluteConstraints(600, 100, 120, -
1));
nominal.setBackground(new java.awt.Color(204, 204, 255));
jPanel1.add(nominal, new org.netbeans.lib.awtextra.AbsoluteConstraints(600, 140, 180,
-1));
keterangan.setBackground(new java.awt.Color(204, 204, 255));
keterangan.setColumns(20);
keterangan.setRows(5);
jScrollPane1.setViewportView(keterangan);
jPanel1.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(600, 180,
180, 70));
titik.setText("....");
titik.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
titikActionPerformed(evt);
}
});
jPanel1.add(titik, new org.netbeans.lib.awtextra.AbsoluteConstraints(730, 100, -1, -1));
batal.setText("Batal");
batal.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
batalActionPerformed(evt);
}
});
jPanel1.add(batal, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 230, 300, -
1));
tambah.setText("Tambah");
tambah.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tambahActionPerformed(evt);
}
});
jPanel1.add(tambah, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 190, 150,
-1));
simpan.setText("Simpan");
simpan.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
simpanActionPerformed(evt);
92
}
});
jPanel1.add(simpan, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 190, 140,
-1));
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactor
y.createLineBorder(new java.awt.Color(0, 0, 0)), "Data Penerimaan Kas",
javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0,
14))); // NOI18N
jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel38.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel38.setText("Masukan Kode Bayar");
jPanel2.add(jLabel38, new org.netbeans.lib.awtextra.AbsoluteConstraints(160, 30, -1, -
1));
jLabel39.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel39.setText(":");
jPanel2.add(jLabel39, new org.netbeans.lib.awtextra.AbsoluteConstraints(290, 30, 10, -
1));
jPanel2.add(t_cari, new org.netbeans.lib.awtextra.AbsoluteConstraints(310, 30, 250, -
1));
cari.setText("Cari");
cari.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cariActionPerformed(evt);
}
});
jPanel2.add(cari, new org.netbeans.lib.awtextra.AbsoluteConstraints(570, 30, 90, -1));
cetak.setText("Cetak");
cetak.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cetakActionPerformed(evt);
}
});
jPanel2.add(cetak, new org.netbeans.lib.awtextra.AbsoluteConstraints(670, 30, 90, -1));
tbl_terima.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4", "Title 5"
}
));
93
jScrollPane2.setViewportView(tbl_terima);
jPanel2.add(jScrollPane2, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 70,
960, 200));
jPanel2.add(no_jurnal, new org.netbeans.lib.awtextra.AbsoluteConstraints(510, 110, 60,
-1));
jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 290, 980,
280));
getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0,
1010, 590));
pack();
}// </editor-fold>
private void titikActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
data_siswa FPR = new data_siswa();
FPR.FBY = this;
FPR.setVisible(true);
FPR.setResizable(false);
}
private void tambahActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
id();
jurnal();
jDateChooser1.setEnabled(true);
titik.setEnabled(true);
tambah.setEnabled(false);
simpan.setEnabled(true);
batal.setEnabled(true);
aktif();
}
private void batalActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
tambah.setEnabled(true);
simpan.setEnabled(false);
batal.setEnabled(false);
titik.setEnabled(false);
nonaktif();
clear();
}
private void simpanActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
simpan();
}
private void cariActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
if (!t_cari.getText().isEmpty()) {
rs = con.querySelectAll("penerimaan", "kd_bayar LIKE '%" + t_cari.getText() +
"%' OR nm_siswa LIKE '%" + t_cari.getText() + "%'");
tbl_terima.setModel(new Database.ResultSetTable(rs));
94
tambah.setEnabled(false);
batal.setEnabled(true);
} else {
JOptionPane.showMessageDialog(this, "isi data pencarian");
t_cari.requestFocus();
}
} catch (Exception e) {
}
}
private void cetakActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
if (!t_cari.getText().isEmpty()) {
String NamaFile = "src/laporan/kwitansi_terima.jasper";
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection koneksi =
DriverManager.getConnection("jdbc:mysql://localhost/penerimaan_kas", "root", "");
HashMap hash = new HashMap();
//Mengambil parameter dari ireport
hash.put("kode", kode.getText());
File file = new File(NamaFile);
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(file.getPath());
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, hash,
koneksi);
JasperViewer.viewReport(jasperPrint);
} else {
JOptionPane.showMessageDialog(this, "isi data...!");
t_cari.requestFocus();
}
} catch (Exception e) {
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and
feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
95
java.util.logging.Logger.getLogger(form_terima_kas.class.getName()).log(java.util.logging.
Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(form_terima_kas.class.getName()).log(java.util.logging.
Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(form_terima_kas.class.getName()).log(java.util.logging.
Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(form_terima_kas.class.getName()).log(java.util.logging.
Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new form_terima_kas().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton batal;
private javax.swing.JButton cari;
private javax.swing.JButton cetak;
private com.toedter.calendar.JDateChooser jDateChooser1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel20;
private javax.swing.JLabel jLabel21;
private javax.swing.JLabel jLabel22;
private javax.swing.JLabel jLabel23;
private javax.swing.JLabel jLabel32;
private javax.swing.JLabel jLabel33;
private javax.swing.JLabel jLabel34;
private javax.swing.JLabel jLabel35;
private javax.swing.JLabel jLabel36;
private javax.swing.JLabel jLabel37;
private javax.swing.JLabel jLabel38;
private javax.swing.JLabel jLabel39;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTextArea keterangan;
private javax.swing.JTextField kode;
private javax.swing.JTextField nama;
private javax.swing.JTextField no_jurnal;
private javax.swing.JTextField nominal;
private javax.swing.JButton simpan;
96
private javax.swing.JTextField t_cari;
private javax.swing.JButton tambah;
private javax.swing.JTable tbl_terima;
private javax.swing.JButton titik;
// End of variables declaration
private void loadtabel() {
String namaKolom[] = {"kd_bayar", "tanggal", "nm_siswa", "keterangan", "nominal"};
rs = con.querySelect(namaKolom, "penerimaan");
tbl_terima.setModel(new ResultSetTable(rs));
}
private void nonaktif() {
kode.setEnabled(false);
jDateChooser1.setEnabled(false);
nama.setEnabled(false);
nominal.setEnabled(false);
keterangan.setEnabled(false);
no_jurnal.setEnabled(false);
}
private void aktif() {
kode.setEnabled(false);
jDateChooser1.setEnabled(true);
nama.setEnabled(false);
nominal.setEnabled(true);
keterangan.setEnabled(true);
no_jurnal.setEnabled(false);
}
private void clear() {
kode.setText("");
nama.setText("");
no_jurnal.setText("");
nominal.setText("");
keterangan.setText("");
}
private void simpan() {
try {
if (!kode.getText().isEmpty() && !nama.getText().isEmpty() &&
!nominal.getText().isEmpty()
&& !keterangan.getText().isEmpty()) {
String kolom[] = {"kd_bayar", "tanggal", "nm_siswa", "keterangan", "nominal"};
java.util.Date tgl = (java.util.Date) this.jDateChooser1.getDate();
String isi[] = {kode.getText(), new java.sql.Date(tgl.getTime()).toString(),
nama.getText(),
keterangan.getText(), nominal.getText()};
System.out.println(con.queryInsert("penerimaan", kolom, isi));
JOptionPane.showMessageDialog(this, "Data Berhasil Disimpan, Proses cetak
.....");
simpan2();
simpan3();
cetak();
loadtabel();
nonaktif();
clear();
97
tambah.setEnabled(true);
batal.setEnabled(false);
simpan.setEnabled(false);
titik.setEnabled(false);
} else {
JOptionPane.showMessageDialog(this, "Data isian ada yang kosong");
}
} catch (Exception e) {
System.out.println("salah");
}
}
private void cetak() {
try {
String NamaFile = "src/laporan/kwitansi_terima.jasper";
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection koneksi =
DriverManager.getConnection("jdbc:mysql://localhost/penerimaan_kas", "root", "");
HashMap hash = new HashMap();
//Mengambil parameter dari ireport
hash.put("kode", kode.getText());
File file = new File(NamaFile);
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(file.getPath());
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, hash, koneksi);
JasperViewer.viewReport(jasperPrint);
} catch (Exception ex) {
javax.swing.JOptionPane.showMessageDialog(rootPane, ex.getMessage());
}
}
private String jurnal() {
String no = null;
try {
con.koneksiDatabase();
String sql = "Select right(kd_jurnal,4)+1 from jurnal ";
ResultSet rs = con.eksekusiQuery(sql);
if (rs.next()) {
rs.last();
no = rs.getString(1);
while (no.length() < 4) {
no = "000" + no;
no = "J" + no;
no_jurnal.setText(no);
}
} else {
no = "J0001";
no_jurnal.setText(no);
}
} catch (Exception e) {
}
return no;
}
private void simpan2() {
98
try {
String kolom[] = {"kd_jurnal", "tanggal", "no_trans", "keterangan", "kd_akun",
"nm_akun", "debet", "kredit"};
java.util.Date tgl = (java.util.Date) this.jDateChooser1.getDate();
String isi[] = {no_jurnal.getText(), new java.sql.Date(tgl.getTime()).toString(),
kode.getText(), keterangan.getText(),
("11001"), ("kas"), nominal.getText(), ("0")};
System.out.println(con.queryInsert("jurnal", kolom, isi));
} catch (Exception e) {
}
}
private void simpan3() {
try {
String kolom[] = {"kd_jurnal", "tanggal", "no_trans", "keterangan", "kd_akun",
"nm_akun", "debet", "kredit"};
java.util.Date tgl = (java.util.Date) this.jDateChooser1.getDate();
String isi[] = {no_jurnal.getText(), new java.sql.Date(tgl.getTime()).toString(),
kode.getText(), keterangan.getText(),
("41001"), ("pendapatan"), ("0"), nominal.getText()};
System.out.println(con.queryInsert("jurnal", kolom, isi));
} catch (Exception e) {
}
}
}
3.5.2. Blackbox Testing
1. Pengujian Terhadap Form Login
Tabel III. 11.
Hasil Pengujian Black Box Testing Halaman Login
No Skenario
Pengujian Test Case
Hasil yang
Diharapkan
Hasil
pengujian Kesimpulan
1
Klik login
tanpa
menginput
username dan
password
username
(kosong)
password
(kosong)
Sistem akan
menolak dan
menampilkan
pesan "login
gagal"
Sesuai
harapan Valid
2
Menginputkan
username dan
password
kemudian klik
login
Username
(nama user)
Password
(password
user)
Sistem akan
menerima akses
dan menampilkan
pesan " menu
utama"
Sesuai
harapan Valid
3
Menginputkan
username dan
password
dikosongkan
kemudian klik
login
Username
(nama
user)Passwo
rd (kosong)
Sistem akan
menolak dan
menampilan
pesan "silahkan
masukan
password"
Sesuai
harapan Valid
99
4
Menginputkan
password dan
username
dikosongkan
kemudian klik
login
Username
(kosong)Pas
sword (kode
password)
Sistem akan
menolak dan
menampilan
pesan "silahkan
masukan
username"
Sesuai
harapan Valid
5
password dan
username
dikosongkan
kemudian klik
login
Username
(kosong)
Password
(kosong)
Sistem akan
menolak dan
menampilan
pesan "silahkan
masukan
username dan
password"
Sesuai
harapan Valid
6
Menginputkan
username dan
password
disalahkan
kemudian klik
login
Username
(kosong)Pas
sword
(salah)
Sistem akan
menolak dan
menampilan
pesan "Password
salah"
Sesuai
harapan Valid
Tabel III. 12.
Hasil Pengujian Black Box Testing Halaman Form Data Siswa
No Skenario
Pengujian Test Case
Hasil yang
Diharapkan
Hasil
pengujian Kesimpulan
1
Klik tambah
kemudian data
isian siswa
tidak diisi, klik
simpan
Kode siswa,
nama siswa,
jenis kelamin,
alamat, no.hp
(kosong)
Sistem akan
menolak dan
menampilkan
pesan "data
isian ada yang
kosong"
Sesuai
harapan Valid
2
Klik tambah
kemudian
mengisi semua
data siswa, klik
tombol simpan
Kode siswa,
nama siswa,
jenis kelamin,
alamat, no.hp
(terisi data)
Sistem akan
menerima
akses dan
menampilkan
pesan " data
berhasil
disimpan"
Sesuai
harapan Valid
3
Klik salah satu
data siswa pada
tabel data
siswa, edit data
dan klik tombol
edit
Ubah data
siswa
Sistem akan
menerima dan
menampilkan
pesan "data
berhasil
diubah"
Sesuai
harapan Valid
100
Tabel III. 13.
Hasil Pengujian Black Box Testing Halaman Form Penerimaan Kas
No Skenario
Pengujian Test Case
Hasil yang
Diharapkan
Hasil
pengujian Kesimpulan
1
Klik tambah
kemudian data
isian
penerimaan
kas tidak
diisi, klik
simpan
Kode bayar,
nama siswa,
tanggal,
nominal,
keterangan
(kosong)
Sistem akan
menolak dan
menampilkan
pesan "data isian
ada yang
kosong"
Sesuai
harapan Valid
2
Klik tambah
kemudian
mengisi
semua data
penerimaan
kas, klik
tombol
simpan
Kode bayar,
nama siswa,
tanggal,
nominal,
keterangan
(terisi data)
Sistem akan
menerima akses
dan
menampilkan
pesan " data
berhasil
disimpan"
Sesuai
harapan Valid
3.5.3. Spesifikasi Hardware Software
Pengembangan aplikasi sebagai alat bantu program suatu sistem
pengembang unit komputer dengan spesifikasi sebagai berikut :
1. Spesifikasi Hardware yang digunakan dalam pengembangan sistem ini adalah
sebagai berikut :
a. Prosesor : Intel ® Pentium® CPU G2030 @ 3.00GHz 2.99GHz
b. RAM : 2,00 GB
c. Hard Disk : 1 TB
2. Spesifikasi Software yang digunakan adalah sebagai berikut :
a. Sistem Operasi Windows 7 Ultimate
b. Java Netbeans ID 8.1
c. Aplikasi XAMPP Control Panel Versi 3.2.1
d. Localhost PHPMyAdmin