bab iii pembahasan - bina sarana informatika...pembinaan dan pelayanan masyarakat. f. menyusun...
TRANSCRIPT
36
BAB III
PEMBAHASAN
3.1. Tinjauan Perusahaan
Dana desa adalah dana yang bersumber dari Anggaran Pendapatan dan
Belanja Negara yang diperuntukan bagi desa yang ditransfer melalui Anggaran
Pendapatan dan Belanja Daerah Kabupaten dan digunakan untuk membiayai
penyelenggaraan pemerintahan, pelaksanaan pembangunan, pembinaan
kemasyarakatan, dan pemberdayaan masyarakat.
Desa rawameneng merupakan salah satu desa yang menerima dana desa,
dengan anggaran Rp. 760.946.800. Penyaluran dana desa dilakukan secara tiga tahap,
dengan ketentuan tahap I 20% sebesar Rp.152.189.300, tahap II dan tahap III 40%
sebesar Rp.304.378.720. Untuk penyaluran dana desa tahap II dan tahap III
dilaksanakan setelah pemerintah menerima laporan realisasi penyerapan dan capaian
output Dana Desa tahap sebelumnya dari kepala desa sesuai dengan table referensi
data bidang, kegiatan, sifat kegiatan, uraian output, volume output, cara pengadaan
dan capaiannya.
Pembangunan insfraktuktur yang dilaksanakan di desa selama ini adalah
untuk membantu menyelesaikan persoalan terkait transportasi warga masyarakat.
Dengan kondisi insfraktuktur yang memadai diharapakan dapat meningkatkan
kesejahteraan masyarakat secara umum dan kesejahteraan keamanan. Salah satunya
adalah melakukan perbaikan jembatan untuk mendukung perekonomian warga
masyarakat Desa Rawameneng. Pelaksanaan kegiatan diupayakan dengan lebih
banyak menyerap tenaga kerja dari masyarakat Desa Rawameneng
37
3.1.1. Sejarah Perusahaan
Desa Rawameneng adalah Desa yang terletak di Utara Kabupaten Subang
tepatnya di Kecamatan Blanakan berbatasan langsung dengan pantai Utara Jawa.
Desa ini merupakan hasil pemekaran dari Kecamatan Ciasem yang sebagian warga
masyarakatnya berasal dari wilayah Kabupaten Indramayu, Cirebon dan Sumedang.
Konon menurut cerita bahwa penamaan nama “RAWAMENG” berasal dari kata
“RAWA” yang berarti lahan atau genangan air. Sementara “MENENG” berarti
diam/tak mengalir, sehingga dalam penggabungan nama desa tersebut menjadi Desa
Rawameneng.
Batas wilayah Desa Rawameneng terletak diantara sebelah utara Laut Jawa
dan Desa Jayamukti, sebelah selatan Desa Cilamaya Girang, sebelah barat Desa
Cilamaya Girang, sebelah timur Desa Rawamekar dan Desa Jayamukti. Dengan luas
wilayah desa, pemukiman 69.6 Ha, pertanian sawah 409 Ha, pekarangan 22.5 Ha,
hutan 170 Ha, pemakaman 1.5 Ha, perkantoran 0.5 Ha, sekolah 1.25 Ha, prasarana
umum 2 Ha, dan lapangan olahraga 0.25 Ha.
Hal ini bisa dibuktikan dengan banyaknya rawa-rawa di daerah tersebut.
Berikut ini adalah sosok atau orang yang pernah menjadi tokoh masyarakat
Rawameneng atau Kepala Desa Rawameng:
1. Tahun 1870-an Kepala Desa (Kuwu) dijabat oleh MARSIDIN
2. Tahun1880-an dijabat oleh BRAWIKAYA
3. Tahun 1890-an dijabat oleh LANSIJAN/KASTIJAN
4. Tahun1900-an dijabat oleh CIPUT
5. Tahun1910-an dijabat oleh CAYI/NDUT
6. Tahun1920-an dijabat oleh LANING
7. Tahun(1944) dijabat oleh SURANATA
38
8. Tahun(1945-1950) dijabat oleh M.ISHAQ sebagai Pjs
9. Tahun(1950-1970) dijabat oleh SURANATA
10. Tahun(1970-1972) dijabat oleh SUARA Sebagai Pjs
11. Tahun(1972-1976) dijabat oleh CAPA SASMITA
12. Tahun(1976-1978) dijabat oleh E. SUNARYA Sebagai Pjs
13. Tahun(1978-1986) dijabat oleh CHAERUDIN
14. Tahun(1986-1988) dijabat oleh DAYIM Sebagai Pjs
15. Tahun(1988) dijabat oleh TIRTA SAPUTRA Sebagai Pjs
16. Tahun(1988-1993) dijabat oleh TALIM
17. Tahun(1993-1998) dijabat oleh SUPARDJO Sebagai Pjs
18. Tahun(1998-2003) dijabat oleh HASIM
19. Tahun(2003-2004) dijabat oleh NANANG SURYANA Sebagai Pjs
20. Tahun(2004-2007) dijabat oleh SANUSI
21. Tahun(2007-2008) dijabat oleh SURYAMAN Sebagai Pjs
22. Tahun(2008-2014) dijabat oleh ADIK LF. SOLIHIN
23. Tahun(2014-2016) dijabat oleh ROSYADI, S.IP Sebagai Pjs
24. Tahun(2014-sekarang) dijabat oleh SITI MASLIHAH
3.1.2. Struktur Organisasi dan Fungsinya
Struktur organisasi merupakan suatu kerangka untuk mewujudkan suatu pola
tetap dari hubungan antara kedudukan dan peranan dalam suatu lingkar kerjasama.
Struktur organisasi mutlak diperlukan agar dapat diketahui dengan jelas bagaimana
hubungan antara bagian serta tugas, wewenang dan tanggung jawabnya. Sistem yang
digunakan dalam struktur organisasi adalah sistem kerjasama (team work) yang
dijalankan oleh sekelompok orang untuk mencapai tujuan tertentu.
39
Pada dasarnya struktur organisasi merupakan suatu hal yang sangat
menentukan kedudukan dalam perusahaan. Pemerintah Desa merupakan lembaga
perpanjangan pemerintah pusat yang memiliki peran strategi untuk mengatur
masyarakat yang ada di perdesaan demi mewujudkan pembangunan pemerintah.
Adapun struktur organisasi pada Pemerintahan Desa Rawameneng dapat dilihat pada
gambar dibawah ini:
Sumber: Kantor Desa Rawameneng
Gambar III.1
Struktur Organisasi Desa Rawameneng
40
Sesuai dengan fungsi dan tugas masing-masing bagian dari struktur organisasi
yang terdapat pada Pemerintahan Desa Rawameneng yaitu sebagai berikut:
1. Kepala Desa
Kepala Desa bertugas menyelenggarakan Pemerintahan Desa, melaksanakan
pembangunan, pembinaan kemasyarakatan, dan pemberdayaan masyarakat. Untuk
melaksanakan tugas Kepala Desa memiliki fungsi sebagai berikut:
a. Menyelenggarakan pemerintahan desa berdasarkan kebijakan yang ditetapkan
bersama BPD
b. Pembinaan kemasyarakatan
c. Pemberdayaan masyarakat
d. Mengordinasikan pembangunan desa secara partisipatif
e. Menetapkan peraturan desa yang telah mendapat persetujuan bersama BPD
f. Menyusun dan mengajukan rancangan peraturan desa mengnenai APB Desa
untuk dibahas dan ditetapkan bersama BPD
g. Melaksanakan wewenang lain sesuai dengan peraturan perundang-undangan.
2. Badan Pemberdayaan Desa (BPD)
Badan Permusyawaratan Desa adalah lembaga yang melaksanakan fungsi
pemerintahan yang anggotanya merupakan wakil dari penduduk Desa berdasarkan
keterwakilan wilayah dan ditetapkan secara demokratis. Adapun fungsi BPD
yaitu:
a. Membahas rancangan peraturan desa bersama kepala desa
b. Melaksanakan pengawasan terhadap pelaksanaan peraturan desa dan peraturan
kepala desa
c. Mengusulkan, pengangkatan dan pemberhentian kepala desa
d. Membentuk panitia pemilihan kepala desa
41
e. Menggali, menampung, menghimpun, merumuskan dan menyalurkan aspirasi
masyarakat
3. Lembaga Pemberdayaan Masyarakat
Lembaga Pemberdayaan Masyarakat bertugas sebagai mitra Pemerintah Desa
dalam menampung dan mewujudkan aspirasi serta kebutuhan masyarakat di
bidang pembangunan. Untuk melaksanakan tugas LPM memiliki fungsi sebagai
berikut:
a. Melakukan pemberdayaan masyarakat Desa
b. Ikut serta dalam perencanaan dan pelaksanaan pembangunan
c. Menampung dan menyalurkan aspirasi masyarakat
d. Menyusun rencana, melaksanakan, mengendalikan, melestarikan dan
mengembangkan hasil pembangunan secara partisipatif.
e. Menumbuhkan dan mengembangkan serta menggerakkan prakarsa, partisipatif
swadaya serta gotongroyong masyarakat.
4. Sekertaris Desa
Sekertaris Desa bertugas membantu kepala desa untuk mempersiapkan dan
melaksanakan pengelolaan administrasi desa, mempersiapkan bahan penyusunan
laporan penyelenggaraan pemerintah desa. Adapun Fungsi sekretaris desa adalah:
a. Melakukan koordinasi terhadap kegiatan yang dilakukan oleh unsur teknis dan
wilayah.
b. Melaksanakan pembinaan dan pelayanan teknis administrasi pemerintah desa
dan kemasyarakatan.
c. Melaksanakan tugas lain yang diberikan oleh Kepala Desa.
d. Melaksanakan urusan keuangan, perlengkapan, rumah tangga desa, surat
menyurat dan kearsipan.
42
e. Mengumpulkan, mengevaluasi dan merumuskan data dan program untuk
pembinaan dan pelayanan masyarakat.
f. Menyusun laporan pemerintah desa.
5. Kaur TU & Umum
Kaur TU & Umum bertugas membantu sekretaris desa dalam melaksanakan
administrasi umum, tata usaha dan kearsipan pengelolaan inventaris kekayaan
desa, serta mempersiapkan bahan rapat dan laporan. Sedangkan fungsinya adalah:
a. Pelaksanaan, pengendalian dan pengelolaan surat masuk dan surat keluar serta
pengendalian tata kearsipan
b. Pelaksanaan pencatatan inventarisasi kekayaan Desa
c. Pelaksanaan pengelolaan administrasi umum
d. Pelaksanaan penyediaan, penyimpanan dan pendistribusian alat tulis kantor
serta pemeliharaan dan perbaikan peralatan kantor
e. Pelaksanaan tugas lain yang diberikan oleh Sekretaris Desa.
6. Kaur Keuangan
Kaur Keuangan bertugas membantu sekretaris desa melaksanakan pengelolaan
sumber pendapatan desa, pengelolaan administrasi keuangan desa dan
mempersiapkan bahan penyusunan APB Desa, serta laporan keuangan yang
dibutuhkan desa. Sedangkan fungsinya adalah
a. Mengelola administrasi keuangan desa.
b. Melakukan pengujian dan pembayaran berdasarkan perintah
c. Mengelola rekening tempat penyimpanan
d. Mempersiapkan bahan penyusunan APB Desa.
e. Membuat laporan pertanggung jawaban keuangan.
f. Melaksanakan tugas lain yang diberikan sekretaris desa.
43
7. Kaur Perencanaan
Kaur Perencanaan Bertugas membantu Sekretaris Desa dalam urusan pelayanan
administrasi pendukung pelaksanaan tugas-tugas pemerintahan. Untuk
melaksanakan tugas Kaur Perencanaan memiliki fungsi sebagai berikut:
a. Mengumpulkan dan memformulasikan data untuk bahan penyusunan program
dan perencanaan pengelolaan keuangan dan kekayaan desa
b. Mengumpulkan dan menyiapkan bahan penyusunan program dan perencanaan
desa
c. Menyusun dan menyiapkan bahan untuk analisis dan evaluasi penyusunan
laporan pelaksanaan program dan perencanaan
d. Mengumpulkan dan menyiapkan penyusunan program kerja pelaksanaan tugas
kerja bersama
e. Melaksanakan tugas lain yang telah diberikan oleh kepala desa sesuai dengan
tugas dan fungsinya.
8. Kasi Pemerintahan
Kasi Pemerintahan bertugas membantu Kepala Desa untuk melaksanakan upaya
perlindungan masyarakat dan pengelolaan wilayah. Sedangkan fungsinya sebagai
berikut:
a. Pelaksanaan kegiatan administrasi kependudukan
b. Persiapan bahan-bahan penyusunan rancangan peraturan Desa dan keputusan
Kepala Desa
c. Pelaksanaan kegiatan administrasi pertanahan
d. Pelaksanaan Kegiatan pencatatan monografi Desa
e. Pelaksanaan tugas-tugas lain yang diberikan kepada Desa.
44
f. Persiapan bantuan dan melaksanakan kegiatan penataan kelembagaan
masyarakat untuk kelancaran penyelenggaraan pemerintahan Desa
g. Persiapan bantuan dan melaksanakan kegiatan kemasyarakatan yang
berhubungan dengan upaya menciptakan ketentraman dan ketertiban
masyarakat dan pertahanan sipil
h. Pelaksanaan tugas-tugas lain yang diberikan Kepala Desa
9. Kasi Kesejahteraan
Kasi Kesejahteraan bertugas membantu Kepala Desa untuk melaksanakan
penyuluhan dan motivasi terhadap pelaksanaan hak dan kewajiban masyarakat,
peningkatan upaya partisipasi masyarakat. Untuk melaksanakan tugas Kaur
Perencanaan memiliki fungsi sebagai berikut:
a. Melaksanakan tugas sosialisasi serta motivasi masyarakat di bidang sosial
budaya
b. Melaksanakan tugas sosialisasi serta motivasi masyarakat di bidang ekonomi
c. Melaksanakan tugas sosialisasi serta motivasi masyarakat di bidang politik
d. Melaksanakan tugas sosialisasi serta motivasi masyarakat di bidang lingkungan
hidup
e. Melaksanakan tugas sosialisasi serta motivasi masyarakat di bidang
pemberdayaan keluarga
f. Melaksanakan tugas sosialisasi serta motivasi masyarakat di bidang pemuda,
olah raga dan karang taruna
g. Mempersiapkan bahan-bahan penyusunan program serta pelaksanaan program
kesiagaan menghadapi bencana
h. Memfasilitasi pelaksanaan program jaminan kesehatan massyarakat
i. Melaksanakan tugas-tugas kedinasan lain yang diberikan oleh Kepala Desa.
45
10. Kadus
Kadus bertugas membantu Kepala Desa dalam pelaksanaan tugasnya di
wilayahnya. Sedangkan fungsinya sebagai berikut:
a. Pembinaan ketentraman dan ketertiban, pelaksanaan upaya perlindungan
masyarakat, mobilitas kependudukan, dan penataan dan pengelolaan wilayah
b. Mengawasi pelaksanaan pembangunan di wilayahnya.
c. Melakukan upaya-upaya pemberdayaan masyarakat dalam menunjang
kelancaran penyelenggaraan pemerintahan dan pembangunan.
d. Melaksanakan tugas lain yang diberikan Kepala Desa
3.2. Tinjauan Kasus
Desa Rawameneng merupakan instansi pemerintahan, yang beralamat di
Dusun Tegal Panjang Barat RT/RW 017/004 Desa Rawameneng Kecamatan
Blanakan Kabupaten Subang. Desa tersebut mempunyai penerimaan dan pengeluaran
setiap tahunnya, misalnya pada dana desa untuk pembangunan insfraktuktur desa
penerimaan dana dilakukan secara 3 tahap setiap tahunnya.
Dengan penerimaan dan pengeluaran dana setiap tahunnya diperlukan suatu
Sistem Informasi yang terkomputerisasi yang mampu mengatasi masalah yang ada
dalam desa tersebut. Karena jika selain data-data yang ada dalam desa masih bentuk
konvensional yaitu disimpan dalam arsip yang kemungkinan data bisa hilang atau
rusak, juga memerlukan waktu yang lama dalam pencarian jika data tersebut
digunakan.
Untuk itu penulis memberikan referensi rancangan program dengan
menggunakan Netbeans IDE 8.1 dengan bahasa pemrograman Java dan MySql
sebagai aplikasi basis datanya.
46
3.2.1. Proses Bisnis Sistem Berjalan
Setiap perusahaan atau instansi pemerintahan memerlukan prosedur sistem
berjalan agar pekerjaan dapat terlaksana dengan baik. Untuk mengetahui sistem yang
sedang berjalan dan untuk mempelajari sistem yang ada, diperlukan suatu
penggambaran aliran-aliran informasi dari bagian-bagian yang terkait. Hal ini
memudahkan kita untuk memahami informasi-informasi yang didapat dan
dikeluarkan oleh sistem itu sendiri. Dalam Tugas Akhir ini, proses sistem berjalan
yang diambil adalah proses pengelolaan dana desa. Adapun prosedur sistem berjalan
di Instansi Pemerintah Desa Rawameneng terdapat beberapa proses antara lain:
1. Proses Pencairan Dana Desa
Setiap 3 bulan sekali Sekretaris Desa akan membuat permohonan pencairan dana
desa yang berisikan daftar rencana penggunaan dana serta persyaratan pengajuan
pencairan dana yang diberikan kepada Kepala Desa untuk dicek dan disetujui.
Kemudian dikirimkan kepada pemerintah Kabupaten. Pemerintah Kabupaten akan
memberikan surat tata cara pembagian dan penetapan rincian dana desa kepada
Kepala Desa sesuai dengan angka yang telah ditetapkan pada masing-masing
Desa. Dana dikirimkan melalui rekening Bank BJB atas nama Pemerintah Desa
Rawameneng, yang proses pengambilannya dilakukan oleh Kepala Desa dan
KAUR Keuangan (Bendahara) dengan membawa buku tabungan. Buku tabungan
diberikan kepada Bank BJB, kemudian Bank BJB akan memberikan slip
penarikan dana untuk ditanda tangani oleh pihak Kepala Desa. Slip penarikan
dana yang sudah ditanda tangani diberikan kembali kepada Bank BJB. Kemudian
Bank BJB akan memberikan sejumlah dana kepada Kepala Desa, Kepala Desa
menerima dana tersebut kemudian penerimaan dana tersebut diberikan, dicatat
dan diarsipkan oleh KAUR Keuangan.
47
2. Proses Pengelolaan dana desa
Pengelolaan dana dilakukan oleh Lembaga Pemberdayaan Masyarakat (LPM)
sebagai ketua pelaksana pembangunan insfraktuktur desa, apabila dana desa sudah
diterima oleh KAUR Keuangan maka LPM akan mengajukan dana secara lisan
untuk pembelian bahan material pembangunan insfraktuktur desa kepada KAUR
Keuangan. KAUR Keuangan memberikan sejumlah dana untuk pembangunan
insfraktuktur desa, kemudian LPM akan mengelola dana tersebut dengan
membelikan bahan material dan nota pembeliannya akan diberikan kepada KAUR
Keuangan untuk diarsipkan.
3. Proses Laporan Pertanggung Jawaban
Kaur Keuangan membuat surat pertanggung jawaban dana desa yang berisi
kwitansi pembelian bahan material pembangunan insfraktuktur, serta lampiran
foto insfraktuktur desa sebelum dan sesudah pembangunan. Surat pertanggug
jawaban dana desa dicek dan ditanda tangani oleh Kepala Desa kemudian
dikirimkan kepada Kecamatan sebagai bukti laporan bahwa pengelolaan dana
desa pembangunan insfraktuktur telah dilakukan.
3.2.2. Activity Diagram
Activity Diagram digunakan untuk menggambarkan kegiatan-kegiatan yang
ada didalam suatu sistem. Agar dapat lebih memahami tentang sistem yang akan
dibuat, maka perlu dibuatkan activity diagram tentang sistem yang sedang berjalan.
Berikut activity diagram sistem berjalan yang menggambarkan aktivitas dari sebuah
sistem informasi akuntansi pengelolaan dana desa untuk pembangunan insfraktuktur
desa. Adapun penggambaran dari activity diagram yang menggambarkan proses
pengelolaan dana desa pada instansi pemerintahan Desa Rawameneng antara lain:
48
1. Activity Diagram Proses Pencairan Dana Desa
Gambar III.2
Activity Diagram Proses Pencairan Dana Desa
49
2. Activity Diagram Proses Pengelolaan Dana Desa
Gambar III.3
Activity Diagram Proses Pengelolaan Dana Desa
50
3. Activity Diagram Proses Laporan Pertanggung Jawaban
Gambar III.4
Activity Diagram Proses Laporan Pertanggung Jawaban
51
3.2.3. Dokumen Masukan
Dokumen masukan adalah segala bentuk dokumen masukan baik yang
berasal dari lingkungan dalam maupun lingkungan luar organisasi, yang mana
dokumen itu akan diolah dalam suatu proses agar dapat menghasilkan keluaran yang
diinginkan. Adapun dokumen-dokumen masukan tersebut adalah sebagai berikut:
1. Nama Dokumen : Peraturan Pemerintah
Fungsi : Mengatur Tata Cara Pembagian dan Penetapan Rincian Dana
Sumber : Pemerintah Kabupaten
Tujuan : Desa Rawameneng
Media : Kertas
Jumlah : 5 Lembar
Frekuensi : Setiap informasi penyaluran dana desa
Bentuk : Lampiran A.1
2. Nama Dokumen : Nota Pembelian
Fungsi : Bukti pembelian barang
Sumber : Supplier
Tujuan : Desa Rawameneng
Media : Kertas
Jumlah : 1 lembar
Frekuensi : Setiap pembelian bahan material
Bentuk : Lampiran A.2
3. Nama Dokumen : Slip Penarikan Dana
Fungsi : Bukti Penarikan Dana
Sumber : Bank Bjb
Tujuan : Desa Rawameneng
52
Media : Kertas
Frekuensi : Setiap terjadi penarikan dana
Bentuk : Lampiran A.3
3.2.4. Dokumen Keluaran
Dokumen keluaran adalah segala bentuk dokumen desa berupa dokumen-
dokumen yang mendukung kegiatan pengelolaan dana desa pembangunan
insfraktuktur serta merupakan dokumen hasil pencatatan atau laporan. Adapun
dokumen-dokumen keluaran tersebut adalah sebagai berikut:
1. Nama Dokumen : Permohonan Pencairan Dana Desa
Fungsi : Untuk memberikan informasi rincian penggunaan dana desa
Sumber : Sekertaris Desa
Tujuan : Pemerintah Kabupaten
Media : Kertas
Jumlah : 10 Lembar
Frekuensi : Setiap terjadi permohonan dana desa
Bentuk : Lampiran B.1
2. Nama Dokumen : Surat Pertanggung Jawaban Dana Desa
Fungsi : Untuk memberikan informasi rincian penggunaan dana desa
Sumber : KAUR Keuangan
Tujuan : Kecamatan
Media : Kertas
Jumlah : 10 Lembar
Frekuensi : Setiap Akhir pegelolaan dana desa
Bentuk : Lampiran B.2
53
3.2.5. Permasalahan Pokok
Berdasarkan hasil tinjauan yang penulis lakukan, analisa permasalahan yang
ada dalam sistem berjalan di Pemerintah Desa Rawameneng adalah sebagai beikut:
1. Sistem yang ada di pemerintah desa rawameneng untuk pengelolaan dana desa
sebagian besar masih dalam bentuk sederhana dengan penggunaan media kertas
sehingga terjadinya penumpukan data yang memungkinkan adanya kerusakan dan
kehilangan data juga menyita banyak waktu pada saat pencarian data.
2. Tidak adanya dokumen pencatatan dana keluar untuk pembelian bahan material
dari KAUR Keuangan kepada LPM sehingga mengakibatkan proses pengelolaan
kas keluar menjadi kurang efektif
3. Belum ada file pencatatan kas masuk sehingga informasi yang berkaitan dengan
laporan keuangan perusahan kurang terperinci.
3.2.6. Pemecahan Masalah
Dari uraian permasalahan yang ada di Pemerintah Desa Rawameneng penulis
memberikan solusi untuk pemecahan masalah tersebut yaitu:
1. Membuat sebuah sistem informasi akuntansi yang baru agar pengelolaan dan
pengolahan dana desa dilakukan dengan cepat dan akurat menggunakan Netbeans
IDE 8.1 sebagai editornya dengan bahasa pemrograman Java dan MySql sebagai
database nya.
2. Membuat bukti pencatatan dana keluar untuk pembelian bahan material dari
KAUR Keuangan kepada LPM agar proses pengelolaan kas keluar menjadi efektif
3. Backup database untuk mengurangi kesalahan dalam program yang
diimplementasikan juga dapat mengembalikan data apabila data tersebut hilang,
baik karena terhapus atau karena rusak (corrupt)
54
3.3. Analisa Kebutuhan Software
Merupakan langkah awal untuk menentukan gambaran perangkat yang akan
dihasilkan ketika melaksanakan pengembangan sebuah proyek pembuatan perangkat
lunak. Perangkat lunak yang baik dan sesuai dengan kebutuhan pengguna sangat
tergantung dalam melakukan analisa kebutuhan software.
3.3.1. Analisa Kebutuhan
Program sistem informasi akuntansi pengelolaan dana desa untuk
pembangunan insfraktuktur pada desa Rawameneng belum terkomputerisasi, agar
lebih efisien maka dibuatlah program dengan menggunakan beberapa user. Berikut
ini analisa kebutuhan dari program sistem informasi akuntansi tersebut.
A. Bagian KAUR Keuangan:
A1. KAUR Keuangan dapat melakukan login
A2. KAUR Keuangan dapat mengelola data akun
A3. KAUR Keuangan dapat mengelola data nama
A4. KAUR Keuangan dapat melakukan transaksi penerimaan kas
A5. KAUR Keuangan dapat melakukan transaksi pengeluaran kas
A6. KAUR Keuangan dapat mengelola data jurnal
A7. KAUR Keuangan dapat mengakses laporan jurnal
A8. KAUR Keuangan dapat mengakses laporan penerimaan kas
A9. KAUR Keuangan dapat mengakses laporan pengeluaran kas
B. Bagian Kepala Desa:
B1. Kepala Desa dapat melakukan login
B2. Kepala Desa dapat mengakses laporan penerimaan kas
B3. Kepala Desa dapat mengakses laporan pengeluaran kas
55
3.3.2. Use Case Diagram
Use Case Diagram menunjukan interaksi antara use case, aktor, dan pekerja.
Diagram ini penggambaran model lengkap tentang apa yang kantor desa lakukan,
siapa yang berperan didalamnya dan diluarnya.
A. Bagian Kaur Keuangan
Gambar III.5
Use Case Diagram Bagian KAUR Keuangan
56
Tabel III.1.
Deskripsi Usecase Diagram KAUR Keuangan Melakukan Login
Usecase Narative Form Login
Tujuan KAUR Keuangan dapat Login
Deskripsi Sistem ini memungkinkan aktor untuk
melakukan login dan masuk ke menu utama
Skenario Utama
Aktor KAUR Keuangan
Kondisi awal Aktor membuka aplikasi halaman Login
Aksi Aktor Reaksi Sistem
1. Akor melakukan Login
2. Aktor memasukkan username
dan password
Sistem akan menampilkan form Login
Sistem akan menampilkan Menu Utama
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan sesuai keinginan.
Tabel III.2.
Deskripsi Usecase Diagram KAUR Keuangan Mengelola Data Akun
Usecase Narative Form Data Akun
Tujuan KAUR Keuangan dapat mengelola data akun
Deskripsi Sistem ini memungkinkan aktor untuk
mengelola data akun perkiraan
Skenario Utama
Aktor KAUR Keuangan
Kondisi awal Aktor membuka aplikasi halaman data akun
Aksi Aktor Reaksi Sistem
57
1. Akor memilih data akun
2. Aktor memilih tambah
3. Aktor memilih simpan
4. Aktor memilih batal
5. Aktor memilih edit
6. Aktor memilih hapus
Sistem akan menampilkan data akun
Sistem akan menginput data akun baru
Sistem akan menyimpan data kedalam
database
Sistem akan menampilkan form awal
Sistem akan mengedit data sesuai dengan
keinginan aktor
Sistem akan menghapus data karyawan yang
dipilih oleh aktor
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan sesuai keinginan.
Tabel III.3.
Deskripsi Usecase Diagram KAUR Keuangan Mengelola Data Nama
Usecase Narative Form Data Nama
Tujuan KAUR Keuangan dapat mengelola data nama
Deskripsi Sistem ini memungkinkan aktor untuk
mengelola data nama
Skenario Utama
Aktor KAUR Keuangan
Kondisi awal Aktor membuka aplikasi halaman data nama
Aksi Aktor Reaksi Sistem
1. Akor memilih data nama
2. Aktor memilih tambah
3. Aktor memilih simpan
4. Aktor memilih batal
5. Aktor memilih cari
6. Aktor memilih edit
7. Aktor memilih Update
8. Aktor memilih Hapus
Sistem akan menampilkan data nama
Sistem akan menginput data nama baru
Sistem akan menyimpan data kedalam
database
Sistem akan menampilkan form awal
Sistem akan menampilkan data sesuai kode
pencarian
Sistem akan mengedit data sesuai dengan
keinginan aktor
Sistem akan memperbaharui data yang telah di
edit oleh aktor
Sistem akan menghapus data nama yang dipilih
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan sesuai keinginan.
58
Tabel III.4.
Deskripsi Usecase Diagram KAUR Keuangan
Melakukan Transaksi Penerimaan Kas
Usecase Narative Form Transaksi Penerimaan Kas
Tujuan KAUR Keuangan dapat mengelola transaksi
penerimaan kas
Deskripsi Sistem ini memungkinkan aktor untuk
mengelola transaksi penerimaan kas
Skenario Utama
Aktor KAUR Keuangan
Kondisi awal Aktor membuka aplikasi halaman transaksi
penerimaan kas
Aksi Aktor Reaksi Sistem
1. Akor memilih transaksi
penerimaan kas
2. Aktor memilih baru
3. Aktor memilih batal
4. Aktor memilih cari
Sistem akan menampilkan transaksi penerimaan
kas
Sistem akan menginput transaksi penerimaan
kas
Sistem akan menampilkan form awal
Sistem akan menampilkan transaksi sesuai
dengan kode pencarian
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan sesuai keinginan.
59
Tabel III.5.
Deskripsi Usecase Diagram KAUR Keuangan
Melakukan Transaksi Pengeluaran Kas
Usecase Narative Form Transaksi Pengeluaran Kas
Tujuan KAUR Keuangan dapat mengelola transaksi
pengeluaran kas
Deskripsi Sistem ini memungkinkan aktor untuk
mengelola transaksi pengeluaran kas
Skenario Utama
Aktor KAUR Keuangan
Kondisi awal Aktor membuka aplikasi halaman transaksi
pengeluaran kas
Aksi Aktor Reaksi Sistem
1. Akor memilih transaksi
pengeluaran kas
2. Aktor memilih tambah
3. Aktor memilih simpan dan
cetak
4. Aktor memilih batal
5. Aktor memilih cari
Sistem akan menampilkan transaksi pengeluaran
kas
Sistem akan menginput transaksi pengeluaran
kas
Sistem akan menyimpan transaksi kedalam
database dan mencetak bukti transaksi
pengeluaran kas terbaru
Sistem akan menampilkan form awal
Sistem akan menampilkan transaksi sesuai
dengan kode pencarian
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan sesuai keinginan.
60
Tabel III.6.
Deskripsi Usecase Diagram KAUR Keuangan Mengelola Data Jurnal
Usecase Narative Form Data Jurnal
Tujuan KAUR Keuangan dapat mengakses data jurnal
Deskripsi Sistem ini memungkinkan aktor untuk
mengakses data jurnal
Skenario Utama
Aktor KAUR Keuangan
Kondisi awal Aktor membuka aplikasi data jurnal
Aksi Aktor Reaksi Sistem
1. Akor memilih form data
jurnal
2. Aktor memilih cari
Sistem akan menampilkan form data jurnal
Sistem akan menampilkan data sesuai dengan
kode pencarian
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan sesuai keinginan.
Tabel III.7.
Deskripsi Usecase Diagram KAUR Keuangan Mengakses Laporan Jurnal
Usecase Narative Form Laporan Jurnal
Tujuan KAUR Keuangan dapat mengakses laporan
jurnal
Deskripsi Sistem ini memungkinkan aktor untuk
mengakses laporan jurnal
Skenario Utama
Aktor KAUR Keuangan
Kondisi awal Aktor membuka aplikasi laporan jurnal
Aksi Aktor Reaksi Sistem
61
1. Akor memilih form
laporan jurnal
2. Aktor memilih cetak
Sistem akan menampilkan form laporan jurnal
Sistem akan mencetak data sesuai dengan
periode yang dipilih oleh aktor
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan sesuai keinginan.
Tabel III.8.
Deskripsi Usecase Diagram KAUR Keuangan
Mengakses Laporan Penerimaan Kas
Usecase Narative Form Laporan Penerimaan Kas
Tujuan KAUR Keuangan dapat mengakses laporan
penerimaan Kas
Deskripsi Sistem ini memungkinkan aktor untuk
mengakses laporan penerimaan kas
Skenario Utama
Aktor KAUR Keuangan
Kondisi awal Aktor membuka aplikasi laporan penerimaan kas
Aksi Aktor Reaksi Sistem
1. Akor memilih form
laporan penerimaan kas
2. Aktor memilih cetak
Sistem akan menampilkan form laporan
penerimaan kas
Sistem akan mencetak data sesuai dengan
periode yang dipilih oleh aktor
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan sesuai keinginan.
62
Tabel III.9.
Deskripsi Usecase Diagram KAUR Keuangan
Mengakses Laporan Pengeluaran Kas
Usecase Narative Form Laporan Pengeluaran Kas
Tujuan KAUR Keuangan dapat mengakses laporan
penegeluaran Kas
Deskripsi Sistem ini memungkinkan aktor untuk mengakses
laporan pengeluaran kas
Skenario Utama
Aktor KAUR Keuangan
Kondisi awal Aktor membuka aplikasi laporan pengeluaran kas
Aksi Aktor Reaksi Sistem
1. Akor memilih form
laporan pengeluaran kas
2. Aktor memilih cetak
Sistem akan menampilkan form laporan
pengeluaran kas
Sistem akan mencetak data sesuai dengan periode
yang dipilih oleh aktor
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan sesuai keinginan.
B. Bagian Kepala Desa
Gambar III.6
Use Case Diagram bagian Kepala Desa
63
Tabel III.10.
Deskripsi Usecase Diagram Kepala Desa Melakukan Login
Usecase Narative Form Login
Tujuan Kepala desa dapat Login
Deskripsi Sistem ini memungkinkan aktor untuk
melakukan login dan masuk ke menu
utama
Skenario Utama
Aktor Kepala Desa
Kondisi awal Aktor membuka aplikasi halaman Login
Aksi Aktor Reaksi Sistem
1. Akor melakukan Login
2. Aktor memasukkan username dan
password
Sistem akan menampilkan form Login
Sistem akan menampilkan Menu Utama
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan sesuai keinginan.
Tabel III.11.
Deskripsi Usecase Diagram Kepala Desa
Mengakses Laporan Penerimaan Kas
Usecase Narative Form Laporan Penerimaan Kas
Tujuan Kepala Desa dapat mengakses laporan
penerimaan Kas
Deskripsi Sistem ini memungkinkan aktor untuk
mengakses laporan penerimaan kas
Skenario Utama
Aktor Kepala Desa
Kondisi awal Aktor membuka aplikasi laporan penerimaan kas
Aksi Aktor Reaksi Sistem
64
1. Akor memilih form
laporan penerimaan kas
2. Aktor memilih cetak
Sistem akan menampilkan form laporan
penerimaan kas
Sistem akan mencetak data sesuai dengan
periode yang dipilih oleh aktor
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan sesuai keinginan.
Tabel III.12.
Deskripsi Usecase Diagram Kepala Desa
Mengakses Laporan Pengeluaran Kas
Usecase Narative Form Laporan Pengeluaran Kas
Tujuan Kepala Desa dapat mengakses laporan
pengeluaran Kas
Deskripsi Sistem ini memungkinkan aktor untuk
mengakses laporan pengeluaran kas
Skenario Utama
Aktor Kepala Desa
Kondisi awal Aktor membuka aplikasi laporan pengeluaran
kas
Aksi Aktor Reaksi Sistem
1. Akor memilih form
laporan pengeluaran kas
2. Aktor memilih cetak
Sistem akan menampilkan form laporan
pengeluaran kas
Sistem akan mencetak data sesuai dengan
periode yang dipilih oleh aktor
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan sesuai keinginan.
65
3.3.3. Activity Diagram
Activity diagram menggambarkan berbagai aliran aktivitas dalam sistem yang
sedang dirancang, bagaimana masing-masing alur berawal, decision yang mungkin
terjadi dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan
proses parallel yang mungkin terjadi pada beberapa eksekusi.
1. Activity Diagram Bagian KAUR Keuangan
a. Activity Diagram Melakukan Login
Gambar III.7
Activity Diagram Melakukan Login
66
b. Activity Diagram Mengelola Data Akun
Gambar III.8
Activity Diagram Mengelola Data Akun
67
c. Activity Diagram Mengelola Data Nama
Gambar III.9
Activity Diagram Mengelola Data Nama
68
d. Activity Diagram Melakukan Transaksi Penerimaan Kas
Gambar III.10
Activity Diagram Melakukan Transaksi Penerimaan Kas
69
e. Activity Diagram Melakukan Transaksi Pengeluaran Kas
Gambar III.11
Activity Diagram Melakukan Transaksi Pengeluaran Kas
70
f. Activity Diagram Mengelola Jurnal
Gambar III.12
Activity Diagram Mengelola Jurnal
g. Activity Diagram Mengakses Laporan Jurnal
Gambar III.13
Activity Diagram Mengakses Laporan Jurnal
71
h. Activity Diagram Mengakses Laporan Penerimaan Kas
Gambar III.14
Activity Diagram Mengakses Laporan Penerimaan Kas
72
i. Activity Diagram Mengakses Laporan Pengeluaran Kas
Gambar III.15
Activity Diagram Mengakses Laporan Pengeluaran Kas
73
2. Activity Diagram Bagian Kepala Desa
a. Activity Diagram Melakukan Login
Gambar III.16
Activity Diagram Melakukan Login
74
b. Activity Diagram Mengakses Laporan Penerimaan Kas
Gambar III.17
Activity Diagram Mengakses Laporan Penerimaan Kas
75
c. Activity Diagram Mengakses Laporan Pengeluaran Kas
Gambar III.18
Activity Diagram Mengakses Laporan Pengeluaran Kas
76
3.4. Desain
Berisi penjelasan dan penggambaran tentang Entity Relationship Diagram
(ERD), Logical Record Structure (LRS), Spesifikasi File, Sequence Diagram,
Deployment Diagram, dan User Interface.
3.4.1. Entity Relationship Diagram (ERD)
Entity Relationship Diagram dalam Sistem Informasi Akuntansi Pengelolaan
Dana Desa Untuk Pembangunan Insfraktuktur Pada Desa Rawameneng Subang
Gambar III.19
Entity Relationship Diagram Penerimaan dan Pengeluaran Kas
77
3.4.2. Logical Record Structure (LRS)
Logical Record Structure dalam Sistem Informasi Akuntansi Pengelolaan
Dana Desa Untuk Pembangunan Insfraktuktur Pada Desa Rawameneng Subang
Gambar III.20
Logical Record Diagram Penerimaan dan Pengeluaran Kas
78
3.4.3. Spesifikasi File
Spesifikasi file merupakan pengelompokan dari file-file yang dapat membantu
pengolahan data pada saat pemrosesan. Dengan file-file yang dikelompokan ini,
maka file data akan lebih teratur dan terjaga keamanannya dari kerusakan.
Spesifikasi file dalam rancangan sistem usulan ini dapat dijelaskan sebagai berikut:
a. Spesifikasi File Tabel Data Akun
Nama Database : kas
Nama File : master_akun
Tipe File : Master
Akses File : Random
Record Size : 65 karakter
Filed Key : kode_akun
Software : MySQL
Tabel III.13
Spesifikasi File Detail Data Akun
No Elemen Data Akronim Type Size Keterangan
1 Kode akun kode_akun Varchar 20 Primary Key
2 Jenis Akun jenis_akun Varchar 15
3 Nama Akun nama_akun Varchar 30
b. Spesifikasi File Tabel Data Nama
Nama Database : kas
Nama File : data_name
Tipe File : Master
Akses File : Random
Record Size : 75 karakter
79
Filed Key : id_data
Software : MySQL
Tabel III.14
Spesifikasi File Detail Data Nama
No Elemen Data Akronim Type Size Keterangan
1 ID Data id_data Varchar 10 Primary Key
2 Nama nama Varchar 30
3 Alamat alamat Varchar 20
4 No Hp no_hp Varchar 15
c. Spesifikasi File Tabel Transaksi Penerimaan Kas
Nama Database : kas
Nama File : kas_in
Tipe File : Transaksi
Akses File : Random
Record Size : 132 karakter
Filed Key : no_km
Software : MySQL
Tabel III.15
Spesifikasi File Detail Transaksi Penerimaan Kas
No Elemen Data Akronim Type Size Keterangan
1 No Kas Masuk no_km Varchar 20 Primary Key
2 Tanggal tgl_km Varchar 20
3 Kode Akun kode_akun Varchar 20
4 Nominal nominal Int 11
5 Sumber Dana sumber_dana Varchar 50
6 ID Data id_data Varchar 11
80
d. Spesifikasi File Tabel Transaksi Pengeluaran Kas Detail
Nama Database : kas
Nama File : kas_out_detail
Tipe File : Transaksi
Akses File : Random
Record Size : 112 karakter
Filed Key : id
Software : MySQL
Tabel III.16
Spesifikasi File Detail Transaksi Pengeluaran Kas Detail
No Elemen Data Akronim Type Size Keterangan
1 Id Data Id Int 11 Primary Key
2 No Kas Keluar no_kk Varchar 20
3 Kode Akun kode_akun Varchar 20
4 Nominal nominal Int 11
6 Keterangan keterangan Varchar 50
e. Spesifikasi File Tabel Transaksi Pengeluaran Kas
Nama Database : kas
Nama File : kas_out
Tipe File : Transaksi
Akses File : Random
Record Size : 40 karakter
Filed Key : no_kk
Software : MySQL
81
Tabel III.17
Spesifikasi File Detail Transaksi Pengeluaran Kas
No Elemen Data Akronim Type Size Keterangan
1 No Kas Keluar no_kk Varchar 10 Primary Key
2 Tanggal tgl_date Varchar 20
3 Id Data id_data Varchar 10
f. Spesifikasi File Tabel Data Jurnal
Nama Database : kas
Nama File : tmjurnal
Tipe File : Jurnal
Akses File : Random
Record Size : 126 karakter
Filed Key : no_jurnal
SoftwareI : MySQL
Tabel III.18
Spesifikasi File Detail Data Jurnal
No Elemen Data Akronim Type Size Keterangan
1 No Jurnal no_jurnal Varchar 20 Primary Key
2 Tanggal Tanggal Varchar 14
3 Kode Akun kode_akun Varchar 14
4 Nama_akun Keterangan Varchar 50
5 Debet Debit Int 14
6 Kredit Kredit Int 14
82
3.4.4. Sequence Diagram
Sequence diagram digunakan untuk menggambarkan skenario atau rangkaian
langkah-langkah yang dilakukan sebagai sebuah respon dari suatu kejadian untuk
menghasilkan output tertentu. Diagram sekuen menggambarkan kelakuan objek pada
use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan
dan diterima antar objek. Untuk menggambarkan diagram sequence maka harus
diketahui objek yang terlibat dalam sebuah use case beserta metode yang dimiliki
kelas yang diinstansiasi menjadi objek itu. Berikut ini merupakan sequence diagram
atau rangkaian langkah-langkah yang dilakukan oleh KAUR Keuangan dalam
melakukan transaksi penerimaan kas dan transaksi pengeluaran kas.
a. Sequence Diagram Transaksi Penerimaan Kas
Gambar III.21
Sequence Diagram Transaksi Penerimaan Kas
83
b. Sequence Diagram Transaksi Pengeluaran Kas
Gambar III.22
Sequence Diagram Transaksi Pengeluaran Kas
84
3.4.5. Deployment Diagram
Deployment diagram menunjukan susunan fisik suatu sistem, menunjukan
perangkat lunak mana yang berjalan.
Gambar III.23
Deployment Diagram
3.4.6. User Interface
Gambar III.24
User Interface Tampilan Login
85
Gambar III.25
User Interface Tampilan Menu Utama
Gambar III.26
User Interface Tampilan Data Akun
86
Gambar III.27
User Interface Tampilan Data Nama
Gambar III.28
User Interface Tampilan Transaksi Kas Masuk
87
Gambar III.29
User Interface Tampilan Transaksi Kas Keluar
Gambar III.30
User Interface Tampilan Jurnal
88
Gambar III.31
User Interface Tampilan Laporan Jurnal
Gambar III.32
User Interface Tampilan Laporan Transaksi Kas Masuk
89
Gambar III.33
User Interface Tampilan Laporan Transaksi Kas Keluar
3.5. Implementasi
Berisi penjelasan tentang penjelasan code generation yang menampilkan
listing program pada form yang terkait dengan proses utamanya, testing
menggunakan blackbox testing dan spesifikasi hardware dan software.
3.5.1. Code Generation
Merupakan proses perancangan desain dengan menggunakan NetBens IDE
8.1 yang merupakan sebuah aplikasi berbasis java dengan bahasa pemrograman Java
dan MySql sebagai basis datanya untuk mempermudah pengembangan software.
Berikut code generation transaksi pengeluaran kas.
package danadesa;
import com.mysql.jdbc.Statement;
import java.io.File;
90
import java.sql.Connection;
import java.util.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import java.util.Locale;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import net.sf.jasperreports.view.JasperViewer;
91
public class Data_Pengeluaran_Kas extends javax.swing.JFrame {
java.util.Date tglsekarang = new java.util.Date();
private final SimpleDateFormat smpdtfmt = new
SimpleDateFormat("dd/MM/yyyy", Locale.getDefault());
private final String tanggal = smpdtfmt.format(tglsekarang);
JasperDesign jasperDesign1;
JasperPrint jasperPrint1;
JasperReport jasperReport1;
Map<String, Object> param = new HashMap<String, Object>();
koneksi conn= new koneksi();
String kode,penerima,keterangan;
int jml;
Date tgl;
DefaultTableModel tb;
danadesa.koneksi1 konek = new danadesa.koneksi1();
public Data_Pengeluaran_Kas() {
initComponents();
tabelmodel();
setLocationRelativeTo(this);
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
DTtgl.setText(dateFormat.format(cal.getTime()));
txtkode.setEditable(false);
setform(false);
SelectKategori();SelectKategorii();
92
txtkodee.hide();
kredit.hide();
id_data.hide();
kass.hide();
}
private void SelectKategorii(){
try {
Connection conn = konek.openkoneksi();
java.sql.Statement stm = conn.createStatement();
java.sql.ResultSet rs = stm.executeQuery("SELECT * FROM
data_name ORDER BY id_data");
cmbkode.addItem("Pilih");
while(rs.next()){
cmbkode1.addItem(rs.getString("nama"));
}
konek.closekoneksi();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Error " + e);
} catch (ClassNotFoundException ex) {
Logger.getLogger(kas_in.class.getName()).log(Level.SEVERE, null,
ex);
}
}
private void SelectKategori(){
try {
93
Connection conn = konek.openkoneksi();
java.sql.Statement stm = conn.createStatement();
java.sql.ResultSet rs = stm.executeQuery("SELECT * FROM
master_akun ORDER BY kode_akun");
cmbkode.addItem("Pilih");
while(rs.next()){
cmbkode.addItem(rs.getString("nama_akun"));
}
konek.closekoneksi();
}
jPanel1.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.s
wing.border.BevelBorder.RAISED));
jLabel1.setText("No Kas Keluar");
jLabel2.setText("Tanggal");
DTtgl.setEditable(false);
DTtgl.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
DTtglActionPerformed(evt); } });
btnbaru.setText("Baru");
btnbaru.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnbaruActionPerformed(evt); } });
btnsimpan.setText("Tambah");
btnsimpan.addActionListener(new java.awt.event.ActionListener() {
94
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnsimpanActionPerformed(evt);
}
});
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
private void btnsimpanActionPerformed(java.awt.event.ActionEvent evt)
{
if
(txtjml.getText().equals("")||txtket.getText().equals("")||DTtgl.getText()=
=null) {
JOptionPane.showMessageDialog(this,"Semuah Data Harus Di Isi");
}
else{
tambah();
bersih();
}
}
private void tblanggaranMouseClicked(java.awt.event.MouseEvent evt) {
int baris=tblanggaran.getSelectedRow();
txtjml.setText(tblanggaran.getModel().getValueAt(baris,2).toString());
txtket.setText(tblanggaran.getModel().getValueAt(baris,1).toString());
95
}
private void btnbaruActionPerformed(java.awt.event.ActionEvent evt) {
if (btnbaru.getText().equals("Baru")){
setform(true);
bersih();
Setkode();
txttotal.setText("0");
tabelmodel();
btnbaru.setText("Batal");
}
else{
btnbaru.setText("Baru");
Setkode();
bersih();
txttotal.setText("0");
tabelmodel();
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String row_tgl = DTtgl.getText();
String row_kode = txtkode.getText();
String ket = txtket.getText();
String kodee = txtkodee.getText();
String id, kode, kete;
Integer no_kk = 0, jumlah, stok, not_found, empty = 0;
96
DefaultTableModel model = (DefaultTableModel)
tblanggaran.getModel();
int rowCount = model.getRowCount();
if(rowCount > 0 && !"".equals(row_tgl) && !"".equals(row_kode))
try {
Connection conn = konek.openkoneksi();
java.sql.Statement stm = conn.createStatement();
stm.executeUpdate("INSERT INTO kas_out (no_kk,
tgl_date,id_data) VALUES ('" + row_kode + "', '" + row_tgl + "', '" +
id_data.getText() + "')");
konek.closekoneksi();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Error " + e);
} catch (ClassNotFoundException ex) {
Logger.getLogger(Data_Pengeluaran_Kas.class.getName()).log(Level.SEVERE,
null, ex);
}
simpankas();
simpanjurnall();
for (int i = 0; i < rowCount; i++) {
not_found = 0;
stok = 0;
row_kode = ( tblanggaran.getModel().getValueAt(i, 0).toString());
kodee = (tblanggaran.getModel().getValueAt(i, 1).toString());
jumlah = Integer.parseInt((String)
97
tblanggaran.getModel().getValueAt(i, 2));
kete =( tblanggaran.getModel().getValueAt(i, 4).toString());
try {
Connection conn = konek.openkoneksi();
java.sql.Statement stm = conn.createStatement();
java.sql.ResultSet sql = stm.executeQuery("SELECT
saldo_debet FROM saldo_awal WHERE kode_akun = '" + kodee + "'");
sql.next();
sql.last();
if (sql.getRow() == 1){
stok = (sql.getInt("saldo_debet") - jumlah);
} else {
not_found = 1;
}
konek.closekoneksi();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Error " + e);
} catch (ClassNotFoundException ex) {
Logger.getLogger(Data_Pengeluaran_Kas.class.getName()).log(Level.S
EVERE, null, ex);
try {
Connection conn = konek.openkoneksi();
java.sql.Statement stm = conn.createStatement();
98
stm.executeUpdate("INSERT INTO kas_out_detail(no_kk,
kode_akun, nominal, keterangan) VALUES ('" + row_kode + "', '" +
kodee + "', '" + jumlah + "', '" + kete + "')");
empty = 1;
konek.closekoneksi();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Error " + e);
} catch (ClassNotFoundException ex) {
Logger.getLogger(data_dana.class.getName()).log(Level.SEVERE, null, ex); }
if(empty == 0){
try {
Connection conn = konek.openkoneksi();
java.sql.Statement stm = conn.createStatement();
stm.executeUpdate("DELETE FROM kas_out WHERE
no_kk = '" + row_kode + "'");
konek.closekoneksi();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Error " + e);
} catch (ClassNotFoundException ex) {
JOptionPane.showMessageDialog(null, "Berhasil menyimpan data
transaksi");
try {
HashMap hash = new HashMap();
hash.put("no_keluar", txtkode.getText());
hash.put("penerima", cmbkode1.getSelectedItem());
99
File file = new File("src/report/nota_anggarankeluar.jrxml");
JasperDesign jasperDesign = JRXmlLoader.load(file);
JasperReport jasperReport =
JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint =
JasperFillManager.fillReport(jasperReport, hash, konek.openkoneksi());
JasperViewer.viewReport(jasperPrint, false);
}catch (ClassNotFoundException | JRException e) {
JOptionPane.showMessageDialog(null, "Error " + e);
}
this.hide();
}else{
JOptionPane.showMessageDialog(null, "Terdapat inputan yang
kosong.");
}
}
private void cmbkodeItemStateChanged(java.awt.event.ItemEvent evt) {
String nm_kategori = cmbkode.getSelectedItem().toString();
if(!nm_kategori.equals("")){
try {
Connection conn = konek.openkoneksi();
java.sql.Statement stm = conn.createStatement();
java.sql.ResultSet sql = stm.executeQuery("SELECT kode_akun
FROM master_akun WHERE nama_akun='"+nm_kategori+"'");
100
if(sql.next()){
txtkodee.setText(sql.getString("kode_akun"));
}
konek.closekoneksi();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Error " + e);
} catch (ClassNotFoundException ex) {
Logger.getLogger(data_akun.class.getName()).log(Level.SEVERE, null,
ex);
}
}else{
txtkode.setText("");
} }
private void cmbkodeActionPerformed(java.awt.event.ActionEvent evt)
{}
private void txtkodeeActionPerformed(java.awt.event.ActionEvent evt) {}
private void DTtglActionPerformed(java.awt.event.ActionEvent evt) {}
private void cmbkode1ItemStateChanged(java.awt.event.ItemEvent evt) {
String nm_kategorii = cmbkode1.getSelectedItem().toString();
if(!nm_kategorii.equals("")){
try {
Connection conn = konek.openkoneksi();
java.sql.Statement stm = conn.createStatement();
java.sql.ResultSet sql = stm.executeQuery("SELECT id_data
101
FROM data_name WHERE nama='"+nm_kategorii+"'");
if(sql.next()){
id_data.setText(sql.getString("id_data"));
}
konek.closekoneksi();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Error " + e);
} catch (ClassNotFoundException ex) {
Logger.getLogger(data_akun.class.getName()).log(Level.SEVERE, null,
ex);
}
}else{
id_data.setText(""); } }
private void cmbkode1ActionPerformed(java.awt.event.ActionEvent evt) {}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Data_Pengeluaran_Kas.class.getNam
e()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Data_Pengeluaran_Kas().setVisible(true);
}
102
}); }
// Variables declaration - do not modify
private javax.swing.JTextField DTtgl;
private javax.swing.JButton btnbaru;
private javax.swing.JButton btnsimpan;
private javax.swing.JComboBox<String> cmbkode;
private javax.swing.JComboBox<String> cmbkode1;
private javax.swing.JTextField id_data;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTextField kass;
103
private javax.swing.JTextField kredit;
private javax.swing.JTextField no_jurnal;
private javax.swing.JTable tblanggaran;
private javax.swing.JTextField txtjml;
private javax.swing.JTextField txtjml1;
private javax.swing.JTextArea txtket;
private javax.swing.JTextField txtkode;
private javax.swing.JTextField txtkodee;
private javax.swing.JLabel txttotal;
public int simpan(){
try{
String sql="insert into kas_out "+
"values"+
"('"+txtkode.getText()+"', "+
"'"+DTtgl.getText()+"', "+
"'"+txtket.getText()+"' "+
")";
conn.simpanData(sql);
}
catch(Exception e){
System.out.printf(null, e);
} return 0;
}
public int simpanjurnall(){
String sql= ("INSERT INTO tmjurnal (kode_akun, tanggal, debit,
104
kredit, keterangan) VALUES ('" +txtkode.getText() + "', '" +
DTtgl.getText() + "', '" + kredit.getText() + "', '" + txttotal.getText() + "',
'" + cmbkode.getSelectedItem()+"')");
conn.simpanData(sql);
return 0;
}
public int simpankas(){
String sql= ("INSERT INTO tmjurnal (kode_akun, tanggal, debit,
kredit, keterangan) VALUES ('" +txtkode.getText() + "', '" +
DTtgl.getText() + "', '" + txttotal.getText() + "', '" + kredit.getText() + "',
'" + kass.getText()+"')");
conn.simpanData(sql);
return 0;
}
public int simpansetilI(){
for (int x = 0; x < tblanggaran.getRowCount(); x++) {
try {
String sql="insert into kas_out_detail "+
"values"+
"(null,'"+tblanggaran.getValueAt(x, 0).toString()+"', "+
"'"+tblanggaran.getValueAt(x, 1).toString()+"', "+
"'"+tblanggaran.getValueAt(x, 2).toString()+"' "+
")";
conn.simpanData(sql);
ResultSet rs2=conn.ambilData("SELECT SisaAnggaran from
105
tbl_jurnal group by kode_jurnal "
+ "having kode_jurnal=max(kode_jurnal) order by kode_jurnal
desc ");
rs2.next();
int jml=rs2.getInt(1);
String sql2="insert into tbl_jurnal "+
"values"+
"(null, "+
"'"+tblanggaran.getValueAt(x, 0).toString()+"', "+
"NULL, "+
"'"+DTtgl.getText()+"','0', "+
"'"+tblanggaran.getValueAt(x, 2).toString()+"'
,'"+tblanggaran.getValueAt(x, 1).toString()+"'"
+ " ,("+jml+"-"+tblanggaran.getValueAt(x, 2).toString()+")"+
")";
conn.simpanData(sql2);
} catch (SQLException ex) {
Logger.getLogger(Data_Pengeluaran_Kas.class.getName()).log(Level.SEVERE,
null, ex);
}
}
return 0;
}
public void tambah(){
Object[] data = new Object[6];
106
data[0] = txtkode.getText();
data[1] = txtkodee.getText();
data[2] = txtjml.getText();
public void ubah(){
Object qty=txtjml.getText();
Object ket=txtket.getText();
int baris =tblanggaran.getSelectedRow();
tblanggaran.setValueAt(qty, baris, 2);
tblanggaran.setValueAt(ket, baris, 3);
int subtotal=0;
for (int x = 0; x < tblanggaran.getRowCount(); x++) { subtotal = subtotal
+ Integer.parseInt(tblanggaran.getValueAt(x, 2).toString().replace(".",
""));
txttotal.setText(""+subtotal); }}
public void hapus(){
int baris =tblanggaran.getSelectedRow();
tb.removeRow(baris);int subtotal=0;
for (int x = 0; x < tblanggaran.getRowCount(); x++) {
subtotal = subtotal + Integer.parseInt(tblanggaran.getValueAt(x,
2).toString().replace(".", ""));
txttotal.setText(""+subtotal);
}
}
public int hapus(String kd){
String sql="delete from barang where kode = '"+kd+"'";
107
conn.simpanData(sql);
return 0;
}
public void tabelmodel(){
tb =new DefaultTableModel();
tb.addColumn("No Kas Keluar");
tb.addColumn("Kode Akun");
tb.addColumn("Jumlah");
tb.addColumn("Tanggal");
tb.addColumn("Keterangan");
tblanggaran.setModel(tb);
}
public void Setkode(){
try {
ResultSet res = conn.ambilData("select * from kas_out order by
no_kk desc");
if (res.next()) {
String nofak = res.getString("no_kk").substring(2);
String AN = "" + (Integer.parseInt(nofak) + 1);
String Nol = "";
txtkode.setText("KK" + Nol + AN);
} else {
txtkode.setText("KK0001"); }
}catch(Exception e){
JOptionPane.showMessageDialog(null, e); } } }
108
3.5.2. Blacbox Testing
Blackbox testing adalah tahap yang digunakan untuk menguji kelancaran
program yang telah dibuat. “Blackbox testing yaitu menguji perangkat lunak dari segi
spesifikasi fungsional tanpa menguji desain dan kode program”.
Tabel III.19
Blacbox Testing Transaksi Pengeluaran Kas
No Skenario
Pengujian
Test Case Hasil yang
Diharapkan
Hasil
Pengujian
Keterangan
1 Mengosongkan
semua Data
transaksi
Pengeluaran
Kas lalu
mengklik
tombol simpan
No Kas Keluar:
(kosong) Tanggal:
(kosong)
Nama kegiatan:
(kosong) jumlah:
(kosong) keterangan:
(kosong) id data:
(kosong)
Sistem akan
menolak akses
simpan dan
menampilkan
pesan”Data tidak
boleh kosong,
silahkan
dilengkapi”
Sesuai
Harapan
Valid
2 Mengosongkan
salah satu Data
Transaksi
Pengeluaran
Kas lalu
mengklik
Tombol simpan
No Kas Keluar:
(KK004) Tanggal:
(21-06-2018)
Nama kegiatan:
(perbaikan jembatan)
jumlah: (500000)
keterangan: (kosong)
id data: (kosong)
Sistem akan
menolak akses
simpan dan
menampilkan
pesan”Data tidak
boleh kosong,
silahkan
dilengkapi”
Sesuai
Harapan
Valid
3 Mengklik
semua data
Transaksi
Pengeluaran
Kas lalu
mengklik
tombol simpan
No Kas Keluar:
(KK004) Tanggal:
(21-06-2018)
Nama kegiatan:
(perbaikan jembatan)
jumlah: (500000)
keterangan:
(pembayaran semen)
id data: (surya)
Sistem akan
menerima akses
simpan dan
menampilkan
pesan “Data
berhasil
disimpan!!!”
Sesuai
Harapan
Valid
109
3.5.3. Spesifikasi Hardware dan Software
Spesifikasi Perangkat Keras yang penulis gunakan adalah:
1. Processor : Intel Celeron
2. Memory(RAM) : 2 GB
3. Hardisk : 1 GB
4. Monitor : 14 “LED Display
5. Keyboard : 88 Keys
6. Mouse : PS/2
7. Printer : Cannon E410
Spesifikasi Perangkat Lunak yang penulis gunakan adalah:
1. Sistem Operasi : Windows 10
2. Sistem Aplikasi : Netbeans IDE 8.1
3. Bahasa Pemrograman : Java
4. Database : MySQL
5. Connector Aplikasi : Xampp