1
Rancang Bangun Aplikasi Perencanaan Pencairan Dana Dengan Teknologi JavaServer Pages Dan MySQL Agastya Vitadhani dan Dr. Eng. Febriliyan Samopa, S.Kom, M.Kom. Jurusan Sistem Informasi, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember (ITS) Jl. Arief Rahman Hakim, Surabaya 60111 E-mail:
[email protected]
Abstrak—Salah satu tugas Direktorat Jenderal Perbendaharaan Negara (DJPBN) adalah mengelola penerimaan dan pengeluaran negara yang dananya bersumber dari Anggaran Pendapatan dan Belanja Negara (APBN). Tugas DJPBN tersebut di atas tidak dapat dilaksanakan secara efektif karena setiap Kementerian Negara/Lembaga yang memiliki sumber pendanaan dari APBN, belum dapat merencanakan pengeluaran negara secara akurat. Di setiap awal tahun anggaran, Kementerian Keuangan melakukan peminjaman dana untuk menutup pengeluaran negara yang nilai dan waktunya tidak dapat diprediksi. Akibatnya, negara merugi karena harus menanggung bunga dari pinjaman yang belum tentu digunakan dananya. Agar dana yang dibutuhkan dan yang mampu dihimpun oleh setiap satuan kerja (satker) Kementerian Negara/Lembaga dapat diketahui secara akurat, perlu diciptakan sebuah aplikasi. Aplikasi tersebut harus dapat memfasilitasi satker dalam melakukan perencanaan pengeluaran dana di setiap periode. Aplikasi tersebut juga harus dapat melakukan rekapitulasi perencanaan pengeluaran negara serta menyusun perencanaan kas. Penyajian perencanaan kas melalui aplikasi tersebut perlu untuk dapat ditampilkan secara real-time dengan menggunakan basis web. Dengan adanya Aplikasi Perencanaan Pencairan Dana (APPD) diharapkan perencanaan pengeluaran dan penerimaan negara dapat dilakukan seakurat mungkin, sehingga dapat memberikan informasi yang berkualitas bagi pengambilan keputusan dalam hal pengelolaan kas negara. Kata kunci—Aplikasi perencanaan pencairan dana, APPD
I. PENDAHULUAN Perencanaan kas adalah proyeksi penerimaan dan pengeluaran negara pada suatu periode.[1] Perencanaan kas disusun dari perkiraan pencairan dan penerimaan dana dari KPPN dan unit eselon I Kementerian Keuangan yang mengelola penerimaan dan pengeluaran negara. Perkiraan pencairan dan penyetoran dana dari KPPN merupakan rekapitulasi perkiraan pencairan dan penyetoran dana satker di wilayah kerja KPPN tersebut.
Mekanisme perencanaan kas dilaksanakan dengan dua aplikasi: 1. Aplikasi forecasting satker (AFS) digunakan satker untuk mengelola perencanaan kas pada satker yang bersangkutan 2. Aplikasi forecasting KPPN (AFK) digunakan KPPN untuk mengelola perencanaan kas seluruh satker di wilayah kerjanya. Kesulitan mekanisme perencanaan kas muncul karena perencanaan kas harus sesuai dengan realisasinya. Banyaknya hambatan misalnya penundaan atau keterlambatan pencairan dana oleh satker dan penolakan pencairan dana oleh KPPN mengakibatkan proses update perencanaan kas menjadi aktifitas yang sering dilakukan. Hal ini berdampak pada proses pengiriman adk kppn yang juga menjadi sering dilakukan dan peningkatan volume pekerjaan klerikal. Berdasarkan uraian di atas, dikemukakan rancangan aplikasi bernama Aplikasi Perencanaan Pencairan Dana yang mengintegrasikan AFS dan AFK. Aplikasi Perencanaan Pencairan Dana berbasis web dengan menggunakan bahasa pemrograman Java (JavaServer dan JSP) serta sistem manajemen basis data MySQL. II. METODE PENELITIAN A. Studi Literatur
Tahapan ini adalah saat dimana penulis melakukan pembelajaran serta pemahaman pada literatur yang berkaitan dengan permasalahan yang ada. Literatur didapatkan melalui media buku, jurnal akademis, serta kumpulan peraturan perundangan. B. Identifikasi Kebutuhan Tahapan ini adalah saat dimana penulis melakukan identifikasi kebutuhan sistem. Identifikasi ini dilakukan dengan menganalisis sistem yang telah ada sebelumnya dan
2 isu-isu terbaru yang terkait dengan permasalahan. Dari identifikasi tersebut akan didapatkan gambaran jelas tentang APPD.
Tabel 1 Tabel kebutuhan fungsional
Kode F1
Fungsional Memungkinkan pengguna untuk mengubah perencanaan pencairan dana bulanan.
F2
Memungkinkan pengguna untuk merekam, mengubah dan menghapus perencanaan pencairan dana harian.
F3
Mengakumulasikan perencanaan dana harian ke perencanaan dana mingguan. Memungkinkan pengguna untuk merekam, mengubah dan menghapus data realisasi pada perencanaan pencairan dana harian. Menampilkan rekapitulasi perencanaan pencairan dana bulanan. Menampilkan rekapitulasi perencanaan pencairan dana mingguan. Menampilkan rekapitulasi perencanaan pencairan dana harian.
C. Desain Aplikasi Penulis melakukan perancangan APPD menggunakan metode pengembangan perangkat lunak Iconix. D. Implementasi Pada tahap ini penulis membangun APPD dengan menggunakan teknologi JavaServer Pages dan MySQL sesuai dengan desain aplikasi yang telah dibuat. E. Uji Coba Uji coba APPD dilakukan dengan metode black box testing dan white box testing. Metode black box testing yang dilakukan meliputi security testing dan stress testing. Metode white box testing yang dilakukan adalah exhaustive input
testing. III. DESAIN APLIKASI
F4
Perancangan APPD dilaksanakan dengan metode pengembangan perangkat lunak Iconix. Tahapan metode tersebut meliputi identifikasi kebutuhan, penyusunan desain pendahuluan dan penyusunan desain terperinci. A. Identifikasi Kebutuhan 1) Identifikasi Kebutuhan Fungsional Kebutuhan fungsional APPD disusun dengan berdasar pada peraturan yang berlaku mengenai perencanaan kas. Kebutuhan fungsional APPD ditunjukkan pada tabel 1. 2) Domain Model Domain model APPD ditunjukkan pada gambar 1.
F5
F6
F7
F8
F9
F10
F11
F12 Gambar 1 Domain model
3) Identifikasi Kebutuhan behavioral Identifikasi kebutuhan behavioral dilakukan dalam dua tahap, yaitu:
Memperhitungkan akurasi perencanaan pencairan dana. Memperhitungkan peramalan perencanaan pencairan dana. Memungkinkan administrator untuk merekam, mengubah dan menghapus pagu anggaran satker. Memungkinkan administrator untuk merekam dan menghapus pengguna. Memungkinkan administrator untuk merekam, mengubah dan menghapus satker.
Landasan PMK 195/PMK/2009 pasal 6 (2), (3), (4) dan (6) pasal 8 (1) dan (2) pasal 12 (1) dan (2) pasal 13 (1) dan (2) PMK 195/PMK/2009 pasal 6 (2), (3), (4) dan (6) pasal 12 (5) dan (6) pasal 13 (4) PER-03/PB/2010 pasal 1 (5) pasal 5, pasal 6, pasal 7 dan pasal 8 PMK 195/PMK/2009 pasal 6 (2), (3), (4) dan (6) pasal 12 (4) dan (5) -
PMK 195/PMK/2009 Pasal 16 (1) dan (2) PMK 195/PMK/2009 Pasal 16 (1) dan (2) PMK 195/PMK/2009 Pasal 16 (1) dan (2) PER-03/PB/2010 pasal 10 PER-03/PB/2010 pasal 13 -
-
-
-
3 • Penyusunan use case yang dicontohkan dengan gambar 2. Use case disusun berdasarkan kebutuhan fungsional APPD yang pemetaannya ditunjukkan pada tabel 2. • Penyusunan gui storyboard yang dicontohkan dengan gambar 3.
Gambar 3 Contoh GUI story board
Gambar 2 Contoh package diagram use case Tabel 2 Pemetaan kebutuhan fungsional dengan use case
Aktor Satker
Kode fungsional F1 F2
KPPN
Administrator
F3 F4 F5 F6 F7 F8 F9 F10 F11 F12
Kode use case UC07, UC08, UC09 UC10, UC11, UC12, UC14 UC15 UC13 UC16 UC17 UC18 UC19 UC20 UC26, UC27, UC28 UC21, UC22 UC23, UC24, UC25
B. Penyusunan Desain Pendahuluan Pada penyusunan desain pendahuluan penulis melakukan analisa robustness. Untuk setiap use case disusun diagram robustness-nya yang dicontohkan pada gambar 4.
Gambar 4 Contoh diagram robustness
C. Penyusunan Desain Terperinci Penyusunan desain terperinci terdiri dari penyusunan diagram secuences yang dicontohkan pada gambar 5 dan diagram class yang ditunjukkan pada gambar 6. Diagram sequences disusun untuk setiap diagram robustness. IV. IMPLEMENTASI DAN UJI COBA A. Implementasi Implementasi desain APPD dilakukan dengan lingkungan perangkat lunak yang ditunjukkan pada tabel 3 dan lingkungan perangkat keras yang ditunjukkan pada tabel 4. Implementasi dilakukan dengan pembuatan kelas, pembuatan antarmuka dan pembuatan fungsional aplikasi.
4
Tabel 3 Lingkungan perangkat lunak uji coba
Sistem operasi Bahasa pemrograman Server Database Editor Tools lainnya Browser Gambar 5 Contoh diagram sequences
Window 7 Profesional 64-bit (6.1 Build 7601) Java 1.7.0_04 GlassFish 3.1.2 MySQL 5.5.27 NetBeans IDE 7.1.2 MySQL Workbench 6.0, Navicat 10.0.5 Mozilla Firefox 28.0
Tabel 4 Lingkungan perangkat keras uji coba
Processor RAM
Intel(R) Core(TM) i5-2410M CPU @ 2.30GHz 2.30GHz 4GB
VGA
Inter(R) HD Graphic Family
Pembuatan antarmuka APPD dilakukan berdasar pada GUI storyboard. Antarmuka dibuat dalam format html, disimpan dalam file dengan ekstensi .jsp dan dikelola oleh beberapa kelas servlet. Daftar file jsp APPD ditunjukkan pada tabel 6. Pembuatan fungsional APPD dilakukan agar kelas-kelas dan antarmuka yang sudah dibuat dapat berjalan untuk memenuhi kebutuhan fungsional aplikasi. Pemrograman fungsi-fungsi aplikasi dilakukan pada file-file servlet yang terdapat pada package Controller. Servlet mengambil input dari pengguna melalui antarmuka kemudian memprosesnya. Apabila membutuhkan query database servlet akan memanggil method-method yang dibutuhkan dari file-file pada package session dan entity. Selanjutnya servlet akan menampilkan output pada antarmuka.
Gambar 6 Diagram class
Pembuatan kelas APPD dilakukan berdasarkan diagram class dan fungsi pendukungnya. Kelas-kelas tersebut dibuat dengan bahasa pemrograman Java dan disimpan pada file berekstensi .java. Daftar file java APPD ditunjukkan pada tabel 5.
B. Uji Coba Uji coba aplikasi dilakukan dengan metode black box testing dan white box testing. 1) Black box testing Black box testing dilakukan dengan tools Jmeter Kit dan Acunetix. a) Uji coba dengan Jmeter Kit Uji coba ini dilakukan untuk menguji batas ketahanan maksimal aplikasi. Uji coba dengan Jmeter Kit dilakukan pada lingkungan yang ditunjukkan pada tabel 7. Hasil pengujian dengan Jmeter Kit ditunjukkan pada tabel 8. Dari tabel 8 dapat diketahui bahwa batas maksimum aplikasi pada 509 sample/klien dengan jumlah klien tiga. b) Uji coba dengan Acunetix Uji coba ini dilakukan untuk mengetahui ketahanan aplikasi dari eksternal. Hasil uji coba menunjukkan tidak terdapat kemungkinan APPD di dapat dipenetrasi dengan metode digunakan saat ini, misalnya XSS, SQL injection, RFI dan LFI. Hal ini disebabkan karena akses ke APPD harus diawali dengan login.
5 Tabel 5 Daftar file java APPD
Package Entity
Controller
Nama file kelas Anggaran.java Asosiasigruppengguna. java Grup.java Kppn.java Pejabat.java Pengguna.java Realisasi.java Rpdb.java Rpdh.java Rpdm.java Satker.java Suratdispensasi.java Viewrpdb.java Viewrph.java Viewrpdm.java
ControllerServlet.java
ControllerServletAdmi n.java ControllerServletKPPN .java
ServletAwal.java
Session
AnggaranFacade.java Asosiasigruppengguna Facade.java GrupFacade.java KppnFacade.java PejabatFacade.java PenggunaFacade.java RealisasiFacade.java RpdbFacade.java RpdhFacade.java RpdmFacade.java SatkerFacade.java SuratdispensasiFacade. java
Fungsi Sebagai representasi tabel di database
Tujuannnya untuk memastikan kebenaran kode disetiap method. Hasil pengujian ini ditunjukkan dengan tabel 9. Dari tabel 9 ditunjukkan bahwa seluruh kelas yang terdapat pada APPD lolos pengujian dengan JUnit. Tabel 6 Daftar file jsp APPD
Nama File Footer.jsp Header.jsp Template.jsp
Mengambil data dari database sesuai kebutuhan antar muka sebagai servlet untuk grup operator satker Sebagai servlet untuk grup admin sebagai servlet untuk grup operator KPPN Mengarahka n setiap grup ke servletnya Menjalankan logika bisnis entitasnya
1) White box testing White box testing dilakukan dengan tools JUnit. Pengujian dengan JUnit dilakukan dengan menguji setiap method pada setiap kelas pada Aplikasi Perencanaan Pencairan Dana.
TemplateAdmin. jsp TemplateKPPN. jsp
Keterangan Segmen JSP yang menyimpan tampilan footer disetiap antarmuka Segmen JSP yang menyimpan tampilan header disetiap anatamuka Menyimpan tampilan antarmuka untuk grup operator satker Menyimpan tampilan antarmuka untuk grup admin Menyimpan tampilan antarmuka untuk grup operator KPPN
Tabel 7 Lingkungan uji coba dengan JMeter Kit
Server
Klien A Klien B Klien C
Sistem Operasi Window 7 Profesional
Window XP Profesional Window XP Profesional Window XP Profesional
Processor
Ram
Vga
Intel(R) Core(TM) i5-2410 @2.30GHz Intel Core i5-3570 @3,40GHz Intel Core i5-3570 @3,40GHz Intel Core i5-2400 @3,10GHz
4096 MB
1760 MB
3278 MB
1024 MB
3278 MB
1024 MB
3494 MB
1024 MB
Tabel 8 Hasil uji coba dengan JMeter Kit
Sample/klien 450 500 505 507 508 509 510 600
Total sample 1350 1500 1515 1521 1524 1527 1530 1800
Error 0,00% 0,00% 0,00% 0,00% 0,00% 0,00% 14,58% 41,17%
Kb/sec 1,43 1,58 1,60 1,61 1,61 1,61 1,60 1,83
V. KESIMPULAN Dari uraian dapat disimpulkan bahwa: 1. APPD telah berjalan dengan baik hal ini ditunjukan dengan keberhasilan seluruh uji coba aplikasi, baik berupa white box testing maupun black box testing sebagaimana telah dijelaskan pada Bab IV.
6 2. Desain APPD sesuai dengan proses bisnis perencanaan kas, karena use case dan kebutuhan fungsional aplikasi disusun sesuai dengan peraturan yang berlaku mengenai perencanaan kas sebagaimana dijelaskan pada Bab III. 3. APPD dapat memudahkan pengguna aplikasi, karena seluruh penghitungan dilakukan secara otomatis oleh aplikasi. Selain itu, Aplikasi Perencanaan Pencairan Dana juga memudahkan pengguna karena menghilangkan pekerjaan klerikal, proses bertemu pihak satker dan KPPN dan redundansi data karena berjalan secara online dengan satu database. Tabel 9 Hasil uji coba dengan JUnit
Kelas Anggaran AsosiasigruppenggunaPK Kppn Pengguna Rpdb Rpdh Rpdm Satker Suratdispensasi Viewrpdm Asosiasigruppengguna Grup Pejabat Realisasi RpdbPK RpdhPK RpdmPK SatkerPK Viewrpdb Viewrpdh
Passed 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100%
UCAPAN TERIMA KASIH Penulis mengucapkan terima kasih kepada Direktorat Jenderal Perbendaharaan Negara yang telah memberikan kesempatan beserta bantuan finansial untuk mengikuti program tugas belajar di Jurusan Sistem Informasi ITS. Terima kasih kepada Jurusan Sistem Informasi ITS yang telah memfasilitasi pengerjaan karya tulis ini. DAFTAR PUSTAKA
[1] Menteri Keuangan. Peraturan Menteri Keuangan Nomor 195/PMK/2009 Tentang Perencanaan Kas. In ; 2009.