Anda di halaman 1dari 219

SISTEM INFORMASI PENDAPATAN KEUANGAN DAERAH

BERBASIS WEB DENGAN JSP DAN MYSQL

(STUDI KASUS DI KABUPATEN KLATEN)

SKRIPSI

Diajukan Untuk Memenuhi Syarat Memperoleh


Gelar Sarjana Teknik Program Studi Teknik Informatika

Oleh:

Anas Etikasari
NIM : 055314002

JURUSAN TEKNIK INFORMATIKA


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2009
WEB BASED INFORMATION SYSTEM ON REGIONAL

FINANCE INCOME USING JSP AND MYSQL

(A CASE STUDY IN KABUPATEN KLATEN)

A THESIS
Presented as Partial Fulfillment of the Requirements
To Obtain Sarjana Teknik Degree
In Informatics Engineering Department

By :
Anas Etikasari
055314002

INFORMATICS ENGINEERING STUDY PROGRAM


INFORMATICS ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2009
 

ii 
 
 
 
MOTTO

“JANGANLAH PERNAH HILANG HARAPAN,


KARENA KITA JUGA BISA KEHILANGAN SEGALANYA”
By : W. Congreeve

“MUNGKIN SEKARANG DIRIMU SEDANG MENGALAMI


KEPAHITAN, PENDERITAAN, KEGELISAHAN,
KEBIMBANGAN ATAU BEBAN HIDUP BAHKAN TAKUT
AKAN SUATU HAL ENTAH APAPUN PENYEBABNYA.
JANGANLAH BERKECIL JATI. SEBAB, KERAP DIBALIK
SEMUA ITU TERSIMPAN ‘MUTIARA KEHIDUPAN’ JANGAN
MENYERAH DAN PUTUS ASA, NAMUN BANYAKLAH
BERHARAP PADA TUHAN. TUHAN BISA MEMAKAI APA
SAJA YANG TAMPAKNYA BURUK UNTUK MEMBERIKAN
KEBAIKKANNYA”

“SEHABIS HUJAN DERAS,


AKAN MUNCUL PELANGI YANG INDAH”
 


 
 

INTISARI

Tulisan ini dibuat dengan tujuan untuk membuat sistem informasi

pendapatan keuangan daerah yang berbasis web. Sehingga dengan dibangunnya

sistem ini diharapkan pencatatan pendapatan keuangan daerah dapat lebih cepat,

data yang disimpan akan lebih konsisten selain itu penyajian laporan juga dapat

dilakukan dengan cepat. Sistem informasi pendapatan keuangan daerah ini terdiri

atas proses pembuatan DPA-SKPD, surat ketetapan baik itu Surat Ketetapan

Pajak (SKP) maupun Surat Ketetapan Retribusi (SKR), proses pendapatan serta

laporan.

Data-data yang digunakan dalam pengembangan sistem informasi

pendapatan keuangan daerah ini diperoleh dari hasil wawancara dengan pihak-

pihak yang berwenang langsung dalam pengelolaan keuangan daerah di

Kabupaten Klaten, selain itu juga mengambil contoh-contoh dokumen yang

terkait.

Sistem informasi pendapatan keuangan daerah ini diimplementasikan

dengan menggunakan teknologi JSP dan teknologi database Mysql. Sistem

informasi pendapatan keuangan daerah ini menggunakan stored procedure

dilengkapi dengan manejemen transaksi untuk menjamin keakuratan data

pendapatan keuangan daerah yang disimpan.

vi 
 
 

ABSTRACT

This report was made with the purpose for making web based information

system on regional finance income using jsp and MySQL. So, by this system, it is

hoped that the record of local finance income will be faster, the data which is

already save will be more consistent, besides that report presentation also can be

done faster. The system of local finance income information consist of the process

of establishing DPA-SKPD, for the decree both Tax Decree (SKP) and

Retribution Decree (SKR), it the process income as well the report.

The data which is used in improving of this the system of local finance

income information is obtained from the interview with those who directly have

power to manage local finance in Klaten Regency, besides related documents can

be taken as examples.

The system of local finance income information is implemented by JSP

technology and MySQL database technology. The system of local finance income

information use store procedure completed by transaction management for

giarantee the accuracy of local finance data which is store.

vii 
 
KATA PENGANTAR

Puji syukur saya ucapkan ke hadirat Tuhan Yang Maha Esa atas berkat dan

limpahan kasih karunia yang telah diberikan-Nya sehingga saya dapat menyelesaikan

skripsi ini dengan judul “SISTEM INFORMASI PENDAPATAN KEUANGAN

DAERAH BERBASIS WEB DENGAN JSP DAN MYSQL (STUDY KASUS DI

KABUPATEN KLATEN)”.

Dorongan serta nasihat dari berbagai pihak sangat membantu sampai

tersusunnya skripsi ini. Untuk itu, saya ingin mengucapkan terima kasih kepada :

1. Kedua orang tua saya A. Tulus Purwono dan Endang Budiyanti yang telah

memberi dukungan moral, spiritual dan finansial dalam penyusunan skripsi.

2. Bapak Yosef Agung Cahyanta, S.T., M.T. selaku Dekan Fakultas Sains dan

Teknologi Universitas Sanata Dharma Yogyakarta.

3. Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T. selaku Ketua Jurusan Teknik

Informatika Fakultas Sains dan Teknologi Universitas Sanata Dharma

Yogyakarta.

4. Bapak JB. Budi Darmawan, S.T.,M.Sc. selaku Dosen Pembimbing Akademik

Angkatan 2005 dan dosen pembimbing pertama Skripsi. Terimakasih telah

membimbing dan menyediakan waktu dalam memberikan pengarahan selama

penulisan skripsi ini.

viii 
 
5. Bapak H. Agung Hernawan, S.T. selaku Dosen Pembimbing kedua Skripsi.

Terimakasih telah membimbing dan menyediakan waktu dalam memberikan

pengarahan selama penulisan skripsi ini.

6. Para staff keuangan dan DIPENDA Kabupaten Klaten yang telah membantu

saya selama melakukan studi kasus.

7. Buat kakak-kakakku: Hary Kurniawan, Reni Hidayati, Eva Dian Maruti,

Agung Daryono dan Rima kusuma Nirwana yang selalu menyayangi dan

memberikan dukungan kepadaku.

8. Buat anak-anak AMDG: Ima, Ida, Anik, Sito, Lina, Hendry, Nanang, Antok,

Sri, Totok terima kasih atas persahabatannya selama ini.

9. Teman-temanku Elis, Kristy, Anis, Vita, Endah, Maya, Putri, Riska, Dian dan

Yohanes terimakasih atas persahabatan selama ini.

10. Buat anak-anak MAWAR: Krisna, Ani, Cile, Rita, Nana, Ana dan semua yang

telah memberi dukungan dan doa.

Dan semua teman-teman yang mungkin terlalu banyak untuk disebutkan

disini.

ix 
 
 
 
DAFTAR ISI

Halaman
HALAMAN JUDUL ................................................................................................ i
HALAMAN JUDUL ................................................................................................ ii
HALAMAN PERSETUJUAN PEMBIMBING .................................................... iii
HALAMAN PENGESAHAN .................................................................................. iv
MOTTO .................................................................................................................... v
INTISARI ................................................................................................................. vi
ABSTRACT .............................................................................................................. vii
KATA PENGANTAR .............................................................................................. viii
PERNYATAAN KEASLIAN KARYA .................................................................. x
LEMBAR PERNYATAAN ..................................................................................... xi
DAFTAR ISI ............................................................................................................ xii
GLOSSARY ............................................................................................................. xvi
DAFTAR GAMBAR ................................................................................................ xvii
DAFTAR TABEL .................................................................................................... xx
DAFTAR LISTING ................................................................................................. xxii
DAFTAR LAMPIRAN ............................................................................................ xxiii
BAB I PENDAHULUAN ................................................................................. 1
1.1. Latar Belakang Masalah .................................................................. 1
1.2. Rumusan Masalah ............................................................................ 2
1.3. Batasan Masalah .............................................................................. 2
1.4. Tujuan Dan Manfaat Penelitian ....................................................... 3
1.5. Metodologi Penelitian ...................................................................... 4
1.6. Sistematika Penulisan ...................................................................... 5
BAB II LANDASAN TEORI ............................................................................ 7
2.1. Definisi Sistem, Informasi dan Sistem Informasi ............................ 7
2.2. Pengelolaan Keuangan Daerah ........................................................ 7
2.2.1. Definisi Sistem Informasi Keuangan Daerah .................................. 7
2.2.2. Daftar Istilah di Pemerintah Kabupaten Klaten ............................... 8
2.2.3. Struktur Organisasi Penatausahaan Keuangan Daerah .................... 10
Dokumen Pelaksanaan Anggaran Satuan Perangkat Daerah
2.2.3.1. 11
(DPA)-SKPD dan Anggaran Kas ....................................................
2.2.3.1.1. Penyusunan Dokumen Pelaksanaan Anggaran (DPA) – SKP ................... 11
2.2.3.1.2. Pengesahan Dokumen Pelaksanaan Anggaran (DPA) –SKPD ................. 13
Penyusunan dan Pengesahan Dokumen Pelaksanaan Perubahan
2.2.3.1.2. Anggaran (DPPA)-SKPD .......................................................................... 15
2.2.3.2. Pelaksanaan Penatausahaan Penerimaan Keuangan Daerah …....... 17
2.2.3.2.1. Pelaksanaan Pendapatan Daerah Melalui Bank Daerah ............................ 17
2.2.3.2.2. Pelaksanaan Pendapatan Daerah Melalui Bendahara Penerimaan ............ 18
Pelaksanaan Pendapatan Daerah Melalui Bendahara Penerimaan
2.2.3.2.3. Pembantu ................................................................................................... 21
2.2.3.2.4. Pengajuan SPJ Penerimaan Oleh Bendahara Penerimaan ......................... 23
2.2.3.2.5. Pengajuan SPJ Penerimaan Oleh Bendahara Penerimaan Pembantu ........ 26

xii 
 
2.2.3.3. Akuntansi Pemerintahan Daerah ..................................................... 27
2.2.3.3.1. Laporan keuangan pada SKPD ........................................................ 29
Metodologi Rekayasa Perangkat Lunak Terstruktur (Whitten,
2.3. 31
2004) ................................................................................................
2.3.1. Use Case Diagram ........................................................................... 31
2.3.2. Data Flow Diagram (DFD) ............................................................. 32
2.3.3. Entity Relationship Diagram (E-R Diagram) .................................. 34
2.3.4. Logical Design ................................................................................. 35
2.3.5. Physical Design ............................................................................... 36
2.4. Bagan Alir Sistem (System Flowchart) ........................................... 36
2.5. Pengaturan Transaksi ....................................................................... 38
2.5.1. Concurrency Control ....................................................................... 41
2.6. Arsitektur Three-Tier ....................................................................... 45
2.6.1. Java Server Pages (JSP) .................................................................. 46
2.7. MySQL ............................................................................................ 49
BAB III ANALISA DAN PERANCANGAN SISTEM ................................... 52
3.1. Analisa Sistem ........................................................................................... 52
3.1.1. Gambaran Umum Sistem Penatausahaan Keuangan Daerah .......... 52
3.1.2. Gambaran Umum Sistem Penatausahaan Keuangan Daerah .......... 53
3.1.3 Orang Yang Terlibat Dalam Sistem .......................................................... 54
3.1.4. Gambaran Umum Sistem Yang Baru ........................................................ 55
3.1.5. Requirement Analysis ................................................................................ 58
3.1.5.1. Use Case Diagram Sistem Informasi Keuangan Daerah .......................... 58
3.1.5.2. Use Case Diagram Pendapatan Keuangan Daerah ................................... 60
3.1.5.2.1. Use Case Diagram SKPD ......................................................................... 60
3.1.5.2.2. Use Case Diagram PPKD ......................................................................... 61
3.1.5.2.3. Use Case Diagram Ka. SKPD ................................................................... 62
3.1.5.2.4. Use Case Diagram Ka. bag Perbendaharaan ............................................. 63
3.1.5.2.5. Use Case Diagram Bendahara Penerimaan ............................................... 64
3.1.5.2.6. Use Case Diagram Bendahara Penerimaan Pembantu .............................. 65
3.1.5.2.7. Use Case Diagram BUD ........................................................................... 66
3.1.5.2.8. Use Case Diagram Staff TU ..................................................................... 67
3.1.5.3. Use Case Narrative ................................................................................... 68
3.1.6. Pemodelan Dan Analisis Data ................................................................... 77
3.1.6.1. Diagram Konteks Sistem Informasi Pendapatan Keuangan Daerah ......... 77
3.1.7. Pemodelan Proses ...................................................................................... 79
3.1.7.1. Diagram Berjenjang .................................................................................. 79
3.1.7.2. Diagram Alir Data ..................................................................................... 80
3.1.7.2.1. DAD Proses 1 ............................................................................................ 80
3.1.7.2.2. DAD Level 1 Proses 2 ............................................................................... 81
3.1.7.2.3. DAD Level 1 Proses 3 ............................................................................... 84
3.1.7.2.4. DAD Level 1 Proses ................................................................................. 86
3.1.7.2.5. DAD Level 1 Proses 5 ............................................................................... 88
3.1.7.2.6. DAD Level 1 Proses 6 ............................................................................... 89
3.2. Perancangan Database ............................................................................... 91
3.2.1. E-R Diagram .............................................................................................. 91

xiii 
 
3.2.2. Relasional Model ....................................................................................... 92
3.2.3. Tabel-tabel yang diperlukan ...................................................................... 93
3.2.3.1. Tabel bank ................................................................................................. 93
3.2.3.2. Tabel bidang .............................................................................................. 93
3.2.3.3. Tabel detail_dpa_skpd ............................................................................... 93
3.2.3.4. Tabel detail_skp ......................................................................................... 94
3.2.3.5. Tabel detail_skr ......................................................................................... 94
3.2.3.6. Tabel dpa_skpd .......................................................................................... 94
3.2.3.7. Tabel edit_detail_dpa_skpd ....................................................................... 95
3.2.3.8. Tabel edit_detail_skp ................................................................................. 95
3.2.3.9. Tabel edit_detail_skr ................................................................................. 96
3.2.3.10. Tabel edit_pendapatan ............................................................................... 96
3.2.3.11. Tabel kegiatan ............................................................................................ 96
3.2.3.12. Tabel lain_lain ........................................................................................... 97
3.2.3.13. Tabel level ................................................................................................. 97
3.2.3.14. Tabel organisasi ......................................................................................... 97
3.2.3.15. Tabel pegawai ............................................................................................ 98
3.2.3.16. Tabel pendapatan ....................................................................................... 98
3.2.3.17. Tabel pengunjung ...................................................................................... 99
3.2.3.18. Tabel pihak_ketiga .................................................................................... 99
3.2.3.19. Tabel program ............................................................................................ 99
3.2.3.20. Tabel prosentase_pendapatan .................................................................... 100
3.2.3.21. Tabel rekening ........................................................................................... 100
3.2.3.22. Tabel sanksi ............................................................................................... 100
3.2.3.23. Tabel skp .................................................................................................... 101
3.2.3.24. Tabel skr .................................................................................................... 101
3.2.3.25. Tabel urusan .............................................................................................. 101
3.2.3.26. Tabel wajib_pajak ...................................................................................... 102
3.2.3.27. Tabel wajib_retribusi ................................................................................. 102
3.2.4. Desain Input Output ................................................................................... 103
3.2.4.1. Form Login ................................................................................................ 103
3.2.4.2. Form Tambah DPA-SKPD ........................................................................ 103
3.2.4.3. Form Tambah Detail DPA-SKPD ............................................................. 104
3.2.4.4. Form Ubah Detail DPA-SKPD .................................................................. 104
3.2.4.5. Form Hapus Detail DPA-SKPD ................................................................ 105
3.2.4.6. Form Tambah SKP .................................................................................... 105
3.2.4.7. Form Tambah Detail SKP ......................................................................... 106
3.2.4.8. Form Ubah Detail SKP .............................................................................. 106
3.2.4.9. Form Hapus Detail SKP ............................................................................ 106
3.2.4.10. Form Tambah SKR .................................................................................... 107
3.2.4.11. Form Tambah Detail SKR ......................................................................... 107
3.2.4.12. Form Ubah Detail SK ................................................................................ 108
3.2.4.13. Form Hapus Detail SKR ............................................................................ 108
3.2.4.14. Form Tambah Wajib Pajak ........................................................................ 109
3.2.4.15. Form Tambah Wajib retribus .................................................................... 109
3.2.4.16. Form Tambah Pihak Ketiga ....................................................................... 110

xiv 
 
3.2.4.17. Form Tambah Pendapatan ......................................................................... 110
3.2.4.18. Form Tambah Pendapatan dari SK ............................................................ 111
3.2.4.19. Form Tambah Pendapatan Selain dari SK ................................................. 111
3.2.4.20. Form Tambah pihak ketiga ........................................................................ 112
3.2.4.21. Form Tambah bank .................................................................................... 112
3.2.4.22. Form Tambah pegawai .............................................................................. 112
3.2.4.23. Form Tambah leve ..................................................................................... 113
3.2.4.24. Form Tambah rekening ............................................................................. 113
3.3. Stored Procedure yang Diperlukan ........................................................... 114
3.4. Pengujian (Testing ..................................................................................... 122
BAB IV IMPLEMENTASI DAN ANALISA HASIL ....................................... 123
4.1. Antar Muka Pengguna Sistem ......................................................... 123
4.1.1. Form Login ...................................................................................... 123
4.1.2. Halaman Utama ............................................................................... 133
4.1.3. Pengelolaan DPA-SKPD ................................................................. 134
4.1.3.1. Tambah DPA-SKPD ....................................................................... 134
4.1.3.2. Tambah Detail DPA-SKPD ............................................................. 136
4.1.3.3. Ubah Detail DPA-SKPD ................................................................. 139
4.1.3.4. Hapus Detail DPA-SKPD ................................................................ 142
4.1.3.5. Pengesahan DPA-SKPD .................................................................. 145
4.1.4. Pembuatan Surat Ketetapan ............................................................. 148
4.1.4.1. Tambah Surat Ketetapan Pajak Daerah (SKP) ................................ 148
4.1.4.2. Tambah Detail SKP ......................................................................... 150
4.1.4.3. Ubah Detail SKP .............................................................................. 152
4.1.4.4. Form Hapus Detail SKP .................................................................. 155
4.1.4.5. Pengesahan SKP .............................................................................. 157
4.1.4.6. Tambah Surat Ketetapan Retribusi (SKR) ....................................... 158
4.1.4.7. Tambah Detail SKR ......................................................................... 160
4.1.4.8. Ubah Detail SKR ............................................................................. 163
4.1.4.9. Hapus Detail SKR ............................................................................ 165
4.1.4.10. Pengesahan SKR .............................................................................. 167
4.1.5. Pendapatan ....................................................................................... 168
4.1.5.1. Tambah Pendapatan yang Berasal dari SKP dan SKR .................... 168
4.1.5.2. Tambah Pendapatan Selain dari Surat Ketetapan ............................ 171
4.1.5.3. Pengesahan Pendapatan ................................................................... 172
4.1.6. Laporan Pendapatan Pertriwulan ..................................................... 173
4.2. Pengaturan Transaksi ....................................................................... 176
4.3. Analisa Hasil .................................................................................... 176
4.3.1. Kelebihan Sistem ............................................................................. 177
4.3.2. Kekurangan Sistem .......................................................................... 177
BAB V KESIMPULAN DAN SARAN ............................................................. 178
5.1. Kesimpulan ...................................................................................... 178
5.2. Saran ................................................................................................ 179
DAFTAR PUSTAKA
LAMPIRAN

xv 
 
GLOSSARY

Singkatan Kepanjangan
APBD Anggaran Pendapatan dan Belanja Daerah
BPKD Badan Pengelolan Keuangan Daerah
BUD Bendahara Umum Daerah
DPA Dokumen Pelaksanaan Anggaran
DPPA Dokumen Pelaksanaan Perubahan Anggaran
PA Pengguna Anggaran
PPK Pejabat Penatausahaan Keuangan
PPTK Pejabat Pelaksana Teknis Kegiatan
SEKDA Sekretaris Daerah
SKP Surat Ketetapan Pajak
SKPD Satuan Kerja Perangkat Daerah
SKPKD Satuan Kerja Pengelola Keuangan Daerah
SKR Surat Ketetapan Retribusi
SPD Surat Penyediaan Dana
SPJ Surat Pertanggungjawaban
SPM Surat Perintah Membayar
SPP Surat Permintaan Pembayaran
SP2D Surat Perintah Pencairan Dana
STS Surat Tanda Setoran
TAPD Tim Anggaran Pemerintah Daerah

xvi
 
DAFTAR GAMBAR

Gambar Keterangan Halaman


2.1 Struktur Organisasi Penatausahaan Keuangan Daerah 11
Flowchart Penyusunan Rancangan DPA-SKPD dan
2.2 Rancangan Anggaran Kas (Perda, 2006)
12
2.3 Flowchart Pengesahan DPA-SKPD (Perda, 2006) 14
2.4 Flowchart Rancangan DPPA-SKPD (Perda, 2006) 15
Flowchart Pengesahan Rancangan DPPA-SKPD
2.5 16
(Perda, 2006)
Flowchart Pelaksanaan Pendapatan Daerah Melalui
2.6 Bank Kas Daerah (Perda, 2006)
18
Flowchart Pelaksanaan Penerimaan Daerah Melalui
2.7 Bendahara Penerimaan (Perda, 2006)
19
Flowchart Penerimaan Daerah Melalui Bendahara
2.8 Penerimaan Pembantu (Perda, 2006)
23
Flowchart Pengajuan SPJ Penerimaan Oleh Bendahara
2.9 25
Penerimaan (Perda, 2006)
Flowchart Pengajuan SPJ Penerimaan Oleh Bendahara
2.10 Penerimaan Pembantu (Perda, 2006)
26
2.11 Flowchart Akuntansi SKPD (Perda, 2006) 28
2.12 Flowchart Laporan Keuangan SKPD (Perda, 2006) 30
2.13 Simbol Actor 31
2.14 Simbol Use Case 32
2.15 Simbol Asosiasi 32
2.16 Rounded Rectangles 33
2.17 Square 33
2.18 Open-Ended Boxes 33
2.19 Arrow 34
2.20 Simbol Entitas 34
2.21 Relasi 35
2.22 Atribut 35
2.23 Status transaksi 39
2.24 Three-tier JDBC secara umum 46
3.1 Flowchart Sistem Informasi Keuangan Daerah 53
3.2 Use Case Diagram Sistem Informasi Keuangan Daerah 59
Use Case Diagram Sistem Informasi Pendapatan
3.3 60
Keuangan Daerah
3.4 Use case diagram SKPD 61
3.5 Use case diagram PPKD 62
3.6 Use case diagram Pengguna Anggaran 63
3.7 Use case diagram Ka. bag Perbendaharaan 64
3.8 Use case diagram Bendahara Penerimaan 65
3.9 Use case diagram Bendahara Penerimaan Pembantu 66

xvii 
 
3.10 Use case diagram BUD 67
3.11 Use case diagram Staff TU 67
Diagram Konteks Sistem Informasi Pendapatan
3.12 78
Keuangan Daerah
3.13 Diagram Berjenjang 79
3.14 DAD Proses 1 80
3.15 DAD Level 1 Proses 2 81
3.16 DAD Level 1 Proses 2 (lanjutan) 82
3.17 DAD Level 1 Proses 2 (lanjutan) 83
3.18 DAD Level 1 Proses 3 84
3.19 DAD Level 1 Proses 3 (lanjutan) 85
3.20 DAD Level 1 Proses 4 86
3.21 DAD Level 1 Proses 4 (lanjutan) 87
3.22 DAD Level 1 Proses 5 88
3.23 DAD Level 1 Proses 6 89
3.24 DAD Level 1 Proses 6 (lanjutan) 90
3.25 E-R Diagram 91
3.26 Relasional Model 92
3.27 Form Login 103
3.28 Form Tambah DPA-SKPD 103
3.29 Form Tambah Detail DPA-SKPD 104
3.30 Form Ubah Detail DPA-SKPD 104
3.31 Form Hapus Detail DPA-SKPD 105
3.32 Form Tambah SKP 105
3.33 Form Tambah Detail SKP 106
3.34 Form Ubah Detail SKP 106
3.35 Form Hapus Detail SKP 107
3.36 Form Tambah SKR 107
3.37 Form Tambah Detail SKR 108
3.38 Form Ubah Detail SKR 108
3.39 Form Hapus Detail SKR 109
3.40 Form Tambah Wajib Pajak 109
3.41 Form Tambah Wajib Retribusi 110
3.42 Form Tambah Pihak Ketiga 110
3.43 Form Tambah Pendapatan 110
3.44 Form Tambah Pendapatan dari SK 111
3.45 Form Tambah Pendapatan Selain dari SK 111
3.46 Form Tambah pihak ketiga 112
3.47 Form Tambah bank 112
3.48 Form Tambah pegawai 113
3.49 Form Tambah level 113
3.50 Form Tambah rekening 113
4.1 Form Login 123
4.2 Form Halaman Utama 133
4.3 Form Tambah DPA-SKPD 134

xviii 
 
4.4 Form Tambah Detail DPA-SKPD 136
4.5 Form Ubah Detail DPA-SKPD 140
4.6 Form Hapus Detail DPA-SKPD 142
4.7 Form Pengesahan DPA-SKPD 145
4.8 Form Tambah SKP 148
4.9 Form Ubah Detail SKP 153
4.10 Form Ubah Detail SKP 155
4.11 Form Pengesahan SKP 157
4.12 Form Tambah SKR 158
4.13 Form Pilihan Tambah Pendapatan 168
4.14 Form Tambah Pendapatan dari SKP dan SKR 168
Form Tambah Pendapatan Selain dari SKP dan
4.15 171
SKR

xix 
 
DAFTAR TABEL

Tabel Keterangan Halaman


2.1 Bagan Alir Sistem 37
2.2 Penjelasan status transaksi 39
2.3 Lost Update Problem 41
2.4 Lost Uncommtted Dependency 42
2.5 inconsistent analysis problem 43
Metode pada variable request yang diwariskan dari
2.6 48
ServletRequest
3.1 Tujuan perbaikan sistem 57
3.2 Penjelasan Use Case login 68
3.3 Penjelasan Use Case tambah DPA-SKPD 68
3.4 Penjelasan Use Case ubah DPA-SKPD 68
3.5 Penjelasan Use Case hapus DPA-SKPD 69
3.6 Penjelasan Use Case pengesahan DPA-SKPD 69
3.7 Penjelasan Use Case pencarian DPA-SKPD 70
3.8 Penjelasan Use Case cetak DPA-SKPD 70
3.9 Penjelasan Use Case tambah Surat Ketetapan 71
3.10 Penjelasan Use Case ubah Surat Ketetapan 71
3.11 Penjelasan Use Case hapus Surat Ketetapan 72
3.12 Penjelasan Use Case pengesahan Surat Ketetapan 72
3.13 Penjelasan Use Case pencarian Surat Ketetapan 73
3.14 Penjelasan Use Case cetak Surat Ketetapan 73
3.15 Penjelasan Use Case tambah penyetor 73
3.16 Penjelasan Use Case ubah penyetor 74
3.17 Penjelasan Use Case hapus penyetor 74
3.18 Penjelasan Use Case tambah pendapatan 75
3.19 Penjelasan Use Case ubah pendapatan 75
3.20 Penjelasan Use Case pengesahan pendapatan 75
3.21 Penjelasan Use Case pengesahan laporan 76
3.22 Penjelasan Use Case tambah tabel master 76
3.23 Penjelasan Use Case ubah tabel master 77
3.24 Daftar entitas 78
3.25 penjelasan tabel bank 93
3.26 penjelasan tabel bidang 93
3.27 penjelasan tabel detail_dpa_skpd 93
3.28 penjelasan tabel detail_skp 94
3.29 penjelasan tabel detail_skr 94
3.30 penjelasan tabel dpa_skpd 94
3.31 penjelasan tabel edit_detail_dpa_skpd 95
3.32 penjelasan tabel edit_detail_skp 95
3.33 penjelasan tabel edit_detail_skr 96

xx
 
3.34 penjelasan tabel edit_pendapatan 96
3.35 penjelasan tabel kegiatan 97
3.36 penjelasan tabel lain-lain 97
3.37 penjelasan tabel level 97
3.38 penjelasan tabel organisasi 98
3.39 penjelasan tabel pegawai 98
3.40 penjelasan tabel pendapatan 98
3.41 penjelasan tabel pengunjung 99
3.42 penjelasan tabel pihak_ketiga 99
3.43 penjelasan tabel program 99
3.44 penjelasan tabel prosentase_pendapatan 100
3.45 penjelasan tabel rekening 100
3.46 penjelasan tabel sanksi 101
3.47 penjelasan tabel skp 101
3.48 penjelasan tabel skr 101
3.49 penjelasan tabel skr 102
3.50 penjelasan tabel wajib_pajak 102
3.51 penjelasan tabel wajib_retribusi 102
3.52 daftar Store Procedure 114
daftar Store Procedure yang menggunakan
3.53 120
transaksi management

xxi
 
DAFTAR LISTING

Listing Penjelasan Halaman


4.1 koneksi 124
4.2 Login_2.jsp 125
4.3 method login 128
4.4 method jabatan 130
4.5 Stored procedure login 131
4.6 Stored procedure login_2 132
4.7 Stored procedure insertDPA 134
4.8 Stored procedure insertDetail_DPA_SKPD 136
4.9 Stored procedure editDetail_DPA 140
4.10 Stored procedure hapus_DPA_detail 143
4.11 Stored procedure tampil_detail_DPA_kop 145
4.12 Stored procedure tampil_detail_dpa_isi 146
4.13 Stored procedure tampil_detail_dpa_isi_2 147
4.14 Stored procedure pengesahanDPA_SKPD 147
4.15 Stored procedure insertSKP 148
4.16 Stored procedure insertDetailSKP 150
4.17 Stored procedure edit_detail_skp 153
4.18 Stored procedure hapus_detail_skp 156
4.19 Stored procedure pengesahanSKP 158
4.20 Stored procedure insertSKR 159
4.21 Stored procedure insertDetailSKR 161
4.22 Stored procedure edit_detail_skr 163
4.23 Stored procedure hapus_detail_skr 165
4.24 Stored procedure pengesahanSKR 167
4.25 Stored procedure insert_Pendapatan 169
4.26 Stored procedure insert_pendapatan_lain 171
4.27 Store procedure pengesahan_Pendapatan 173
4.28 Stored procedure laporan_pertriwulan 174

xxii
 
 

DAFTAR LAMPIRAN

Nomor Keterangan
1 Surat ijin penelitian/survey dari BAPEDA Klaten
2 Cover DPA-SKPD
3 DPA SKPD (Dokumen Pelaksanaan Anggaran Satuan Kerja
Perangkat Daerah)
4 Surat Ketetapan Pajak Daerah
5 Surat Tanda Setor
6 Buku Besar
7 Realisasi Pendapatan Daerah
8 Penjabaran Bulanan Pelaksanaan APBD

xxiii
 
 
 

BAB I

PENDAHULUAN

1.1. Latar Belakang Masalah

Pengelolaan keuangan daerah adalah kegiatan yang ada di

pemerintahan daerah yang meliputi beberapa bagian yaitu bagian

penganggaran, pendapatan, pengeluaran, akuntansi dan pertanggungjawaban.

Bagian penganggaran bertugas menyusun APBD, DPA, DPPA dan SPD.

Bagian pendapatan bertugas menangani pendapatan yang diperoleh pemerintah

baik pendapatan asli daerah, dana perimbangan dan lain-lain pendapatan daerah

yang sah. Bagian pengeluaran bertugas menangani pengeluaran yang dilakukan

oleh pemerintah yaitu menangani penerbitan SPP, SPM, dan SP2D. Bagian

akuntansi bertugas membuat neraca. Bagian pertanggungjawaban bertugas

menyusun laporan APBD. Tiap-tiap bagian tersebut memilliki keterkaitan satu

dengan yang lain.

Berdasarkan pengamatan selama melakukan studi kasus di pemerintah

daerah Kabupaten Klaten maka disimpulkan bahwa masalah yang timbul pada

bagian pengelolaan keuangan daerah ini adalah pencatatan dan pengolahan data

yang masih dilakukan secara manual dengan menggunakan dokumen-dokumen

sehingga kurang efisien. Penyimpanan data yang dilakukan seperti itu dapat

menyebabkan terjadinya redundansi data dan ketidak konsistenan data karena

perubahan data yang disimpan tidak hanya dalam satu pembukuan saja. Selain

1
 
2
 

itu untuk memperoleh informasi data yang diinginkan tidak dapat dilakukan

dengan cepat begitu juga dengan pembuatan laporan yang membutuhkan waktu

lama dan kekonsistenan data kurang terjamin. Karena pengelolaan keuangan

sangat kompleks maka dibutuhkan aplikasi yang dapat membantu kegiatan

tersebut. Bagian pengelolaan keuangan daerah tersebut sangat kompleks oleh

sebab itu dalam penulisan ini yang dibahas hanyalah bagian pendapatan saja.

1.2. Rumusan Masalah

Berdasarkan latar belakang masalah diatas dapat dirumuskan

permasalahan sebagai berikut:

bagaimana menganalisa, merancang dan menerapkan tahapan yang

telah dibuat dalam sebuah program aplikasi berbasis web yang mampu

menangani transaksi dan menggunakan database untuk menyimpan data

pendapatan keuangan daerah yang konsisten?

1.3. Batasan Masalah

Aplikasi sistem informasi keuangan daerah yang akan dibuat nanti

akan diberi batasan antara lain:

1. Pengelolaan keuangan daerah Kabupaten Klaten sangat kompleks

kerena meliputi bagian penganggaran, pendapatan, pengeluaran,

akuntansi, pelaporan maupun pertanggungjawaban. Karena begitu

kompleknya pengelolaan keuangan daerah ini maka penulis hanya


3
 

akan menangani proses pendataan pendapatan keuangan daerah saja.

Aplikasi yang akan dibuat berdasarkan hasil studi kasus di Kabupatan

Klaten.

2. Fokus dari implementasi yang dilakukan adalah pada pengaturan

transaksi pendapatan keuangan daerah di sisi back end, implementasi

di sisi front end hanya dibuat meliputi proses update DPA-SKPD,

proses update surat ketetapan baik itu Surat Ketetapan Pajak Daerah

(SKPD) maupun Surat Ketetapan Retribusi Daerah (SKRD), proses

update pendapatan dan update tabel master.

3. Laporan dibuat di sisi back end dengan menggunakan strored

procedure.

4. Aplikasi yang akan dibuat tidak menangani proses perubahan DPA-

SKPD.

1.4. Tujuan Dan Manfaat Penelitian

Tujuan pembuatan skripsi ini adalah membuat aplikasi pendataan

pendapatan keuangan daerah Kabupaten Klaten berbasis web dengan

menggunakan teknologi JSP dan teknologi MySQL dengan menerapkan konsep

manajemen transaksi.

Manfaat pembuatan skripsi ini adalah untuk membantu menyelesaikan

masalah keuangan daerah Kabupaten Klaten yang sangat kompleks khusunya

pada bagian pendapatan keuangan daerah. Membantu dalam pendataan


4
 

pendapatan yang diperoleh pemerintah daerah, selain itu juga membantu dalam

pembuatan laporan-laporan agar dapat diperoleh dengan cepat dan akurat.

1.5. Metodologi Penelitian

Melakukan tahap-tahap sistem informasi dengan metode Rekayasa Perangkat

Lunak (RPL) secara terstruktur (Whitten, 2004) yaitu :

a. Analisa Sistem

Pada tahap ini hal yang dilakukan adalah menganalisa permasalahan

yang dihadapi dan kebutuhan dari sistem dengan mewawancarai

pegawai pemerintah yang terkait dengan sistem pendapatan keuangan

daerah. Mencari dan mengumpulkan data-data serta contoh-contoh

dokumen secara lengkap. Melakukan study pustaka mengenai

peraturan perundangan mengenai sistem keuangan daerah.

Menganalisa sistem dengan menggunakan use case diagram dan data

flow diagram (DFD).

b. Desain Sistem

Pada tahap ini hal yang dilakukan adalah merancang sistem untuk

mempermudah pembuatan coding program, diantaranya yaitu:

perancangan database dan desain input output. Perancangan sistem

dapat dilakukan dengan menggunakan E-R-diagram dan Relasional

model.
5
 

c. Implementasi

Pada tahap ini membuat program sesuai dengan rancangan yang telah

dilakukan pada tahap sebelumnya.

d. Pengujian

Pada tahap ini dilakukan pengujian hasil implementasi program.

1.6. Sistematika Penulisan

Untuk memudahkan dalam mengikuti skripsi ini, penulis menyusun

sistematika penulisan menjadi 5 bab. Berikut ini uraian singkat dari masing-

masing bab:

1. BAB I. PENDAHULUAN

Dalam bab ini diungkapkan mengenai latar belakang masalah, rumusan

masalah, batasan masalah, tujuan dan manfaat penelitian, metode penelitian

dan sistematika penulisan.

2. BAB II. LANDASAN TEORI

Dalam bab ini berisi tentang landasan teori yang digunakan dalam

pembuatan program untuk pendapatan keuangan daerah dengan

menggunakan JSP dan MySQL. Selain itu juga peraturan-peraturan tentang

penatausahaan keuangan daerah Kabupaten Klaten.


6
 

3. BAB III. ANALISA DAN PERANCANGAN

Dalam bab ini berisi tentang rancangan sistem yang akan dibuat.

Menjelaskan mengenai perancangan sisem dalam bentuk diagram alir yang

menyatakan semua proses yang terjadi dalam software yang akan dibuat.

Selain itu dibahas mengenai perancangan masukan dan keluaran sisem,

perancangan rincian proses dalam bentuk diagram E-R, perancangan

antarmuka dan perancangan database.

4. BAB IV. IMPLEMENTASI DAN ANALISA HASIL

Dalam bab ini berisi implementasi yang dilakukan terhadap hasil analisa dan

perancangan yang telah dilakukan pada bab sebelumnya serta berisi analisa

hasil dan pembahasan terhadap implementasi dari sistem yang dibangun.

5. BAB V. KESIMPULAN DAN SARAN

Dalam bab ini berisi kesimpulan pembahasan dan saran-saran yang berguna

bagi pembaca yang terkait dengan sistem informasi yang dibangun.


 
 

BAB II

LANDASAN TEORI

2.1 Definisi Sistem, Informasi dan Sistem Informasi

Sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk

mencapai suatu tujuan tertentu (Jogiyanto, 1999).

Informasi adalah data yang diolah menjadi bentuk yang lebih berguna

dan lebih berarti bagi yang menerimanya (Jogiyanto, 1999).

Sistem Informasi (SI) adalah suatu sistem di dalam suatu organisasi

yang mempertemukan kebutuhan pengolahan transaksi harian, mendukung

operasi, bersifat manajerial dan kegiatan strategi dari suatu organisasi dan

menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan

(Jogiyanto, 1999).

2.2. Pengelolaan Keuangan Daerah

2.2.1. Definisi Sistem Informasi Keuangan Daerah

Dalam Peraturan Pemerintah no 56 tahun 2005 tentang Sistem Informasi

Keuangan Daerah, disebutkan definsi sebagai berikut:

Bab I Ketentuan Umum

(15) Sistem Informasi Keuangan Daerah selanjutnya disingkat SIKD

adalah suatu sistem yang mendokumentasikan,

7
 
8
 

mengadministrasikan, serta mengolah data pengelolaan

keuangan daerah dan data terkait lainnya menjadi informasi

yang disajikan kepada masyarakat dan sebagai bahan

pengambilan keputusan dalam rangka perencanaan,

pelaksanaan, dan pelaporan pertanggungjawaban pemerintah

daerah.

(16) Informasi Keuangan Daerah adalah segala informasi yang

berkaitan dengan keuangan daerah yang diperlukan dalam

rangka penyelenggaraan Sistem Informasi Keuangan Daerah.

2.2.2. Daftar Istilah di Pemerintah Kabupaten Klaten

Dalam peraturan Bupati Klaten (Perda) nomor 34 tahun 2006 tentang

Pedoman Pelaksanaan Penatausahaan Keuangan Daerah Kabupaten Klaten

dijelaskan arti dari pendapatan daerah sebagai berikut :

Pendapatan daerah adalah hak pemerintah daerah yang diakui

sebagai penambah nilai kekayaan bersih.

Berikut ini merupakan istilah yang ada dalam peraturan Bupati Klaten

nomor 34 tahun 2006, dijelaskan sebagi berikut:

1. Keuangan Daerah adalah semua hak dan kewajiban daerah dalam

rangka penyelenggaraan pemerintahan daerah yang dapat dinilai

dengan uang termasuk didalamnya segala bentuk kekayaan yang

 
 
9
 

berhubungan dengan hak dan kewajiban daerah tersebut dalam

kerangka Anggaran Pendapatan dan Belanja Daerah.

2. Anggaran Pendapatan dan Belanja Daerah, selanjutnya disingkat

APBD adalah rencana keuangan tahunan pemerintahan daerah yang

dibahas dan disetujui bersama oleh pemerintah daerah dan DPRD, dan

ditetapkan dengan peraturan daerah.

3. Program adalah penjabaran kebijakan SKPD dalam bentuk upaya yang

berisi satu atau lebih kegiatan dengan menggunakan sumber daya yang

disediakan untuk mencapai hasil yang terukur sesuai dengan misi

SKPD.

4. Kegiatan adalah bagian dari program yang dilaksanakan oleh satu atau

lebih unit kerja pada SKPD sebagai bagian dari pencapaian sasaran

terukur pada suatu program dan terdiri dari sekumpulan tindakan

pengerahan sumber daya baik yang berupa personil (sumber daya

manusia), barang modal termasuk peralatan dan teknologi, dana, atau

kombinasi dari beberapa atau kesemua jenis sumber daya tersebut

sebagai masukan (input) untuk menghasilkan keluaran (output) dalam

bentuk barang/jasa.

5. Volume adalah besarnya pendapatan maupun biaya pengeluaran yang

dinilai dengan rupiah.

6. Satuan dalam pendapatan berupa event dan pertahun. Yaitu besarnya

pendapatan yang diterima tersebut berdasarkan event atau tahun.

 
 
10
 

2.2.3. Struktur Organisasi Penatausahaan Keuangan Daerah

Pemegang kekuasaan pengelolaan keuangan daerah Kabupaten Klaten

adalah Bupati Klaten, sekretaris daerah (SEKDA) bertugas sebagai koordinator

pengelolaan keuangan daerah. Dalam Satuan Kerja Pengelola Keuangan Daerah

(SKPKD) pejabat yang berwenang menangani penatausahaan antara lain :

Pejabat Pengelola Keuangan Daerah (PPKD) yang meliputi kepala BPKD,

kepala Dipenda dan kepala bagian pelengkapan. Selain itu juga Bendahara

Umum Daerah (BUD) yang meliputi kuasa BUD. Dalam Satuan Kerja

Perangkat Daerah (SKPD) pejabat yang berwenang menangani penetausahaan

antara lain : Pejabat Pelaksana Teknis Kegiatan (PPTK), Pejabat Penatausahaan

Keuangan (PPK), Bendahara Penerimaan, Bendahara Penerimaan Pembantu,

Bendahara Pengeluaran, Bendahara Pengeluaran Pembantu. Tugas dari

bendahara penerimaan dan bendahara pengeluaran dibantu masing-masing oleh

bendahara penerimaan pembantu dan bendahara pengeluaran pembantu.

Struktur organisasi penatausahaan keuangan daerah Kabupaten Klaten

ditunjukkan pada gambar 2.1 berikut ini (Perda, 2006) :

 
 
11
 

BUPATI KLATEN

SEKDA

SKPKD
SKPD

PPKD:
- Kepala BPKD BUD
PPTK PPK
- Kepala Dipenda
- Kepala Bag. Perlengkapan Setda

Pembantu
Pembantu Bendahara Bendahara
Kuasa BUD Penerimaan Pengeluaran
Bendahara
Bendahara
Pengeluaran
Penerimaan

Bendahara Bendahara
--------- = Struktural Penerimaan Pengeluaran
Pembantu Pembantu
- - - - - - = Fungsional

Gambar 2.1 Struktur Organisasi Penatausahaan Keuangan Daerah

2.2.3.1.Dokumen Pelaksanaan Anggaran Satuan Perangkat Daerah (DPA)-

SKPD dan Anggaran Kas

2.2.3.1.1. Penyusunan Dokumen Pelaksanaan Anggaran (DPA) – SKP

DPA-SKPD adalah dokumen yang digunakan sebagai dasar

pelaksanaan anggaran oleh kepala SKPD selaku pengguna anggaran.

Penyusunan rancangan DPA-SKPD dan rancangan anggaran kas ditunjukkan

pada gambar 2.2 berikut ini:

 
 
12
 

Penyusunan Rancangan DPA-SKPD dan Rancangan Anggaran


Kas
  SKPD PPKD TAPD

    Surat  
Pemberitahua
 
Surat
  Pemberitahua
 
 
  Rancangan Rancangan Rancangan
DPA-SKPD DPA-SKPD DPA-SKPD
 
 
  Rancangan Rancangan Rancangan
  Anggaran Kas Anggaran Kas Anggaran Kas
DPA-SKPD DPA-SKPD DPA-SKPD

Validasi
bersama
kepala SKPD

Rancangan Rancangan
DPA-SKPD Anggaran Kas
DPA-SKPD

Gambar 2.2 Flowchart Penyusunan Rancangan DPA-SKPD


dan Rancangan Anggaran Kas (Perda, 2006)

Penjelasan penyusunan rancangan DPA-SKPD dan rancangan anggaran kas

adalah sebagai berikut:

1. PPKD membuat surat pemberitahuan berdasarkan pada APBD dan per

KDH penjabaran APBD paling lambat tiga hari sejak APBD diterbitkan

2. PPKD menyerahkan surat pemberitahuan kepada SKPD

 
 
13
 

3. SKPD menyusun rancangan DPA-SKPD berdasarkan surat

pemberitahuan perda APBD dan per KDH penjabaran APBD

4. Berdasarkan rancangan DPA-SKPD yang telah dibuat, SKPD

menyususn anggaran kas SKPD

5. SKPD menyerahkan rancangan DPA-SKPD dan rancangan anggaran

kas SKPD kepada PPKD paling lambat enam hari kerja setelah adanya

pemberitahuan.

6. PPKD mengotorisasi rancangan DPA-SKPD dan rancangan anggaran

kas SKPD kemudian diserahkan kepada TAPD.

7. TAPD melakukan verifikasi rancangan DPA-SKPD dan rancangan

anggaran kas SKPD bersama dengan kepala SKPD, berdasar per KDH

penjabaran, paling lambat 15 hari kerja sejak ditetapkan per KDH

penjabaran.

2.2.3.1.2. Pengesahan Dokumen Pelaksanaan Anggaran (DPA) –SKPD

Pengesahan Rancangan DPA-SKPD ditunjukkan pada gambar 2.3 dibawah ini :

Penjelasan Pengesahan Rancangan DPA-SKPD adalah sebagai berikut:

1. TAPD menyerahkan rancangan DPA-SKPD yang lolos verifikasi

kepada SEKDA dan rancangan kas SKPD yang lolos verifikasi kepada

PPKD

2. PPKD menyusun anggaran kas SKPD menjadi anggaran kas pemerintah

daerah

 
 
14
 

3. SEKDA menyetujui rancangan DPA-SKPD dan menyerahkan kepada

PPKD

4. PPKD mengesahkan rancangan DPA-SKPD menjadi DPA-SKPD

5. PPKD menyerahkan DPA-SKPD kepada SKPD, satuan kerja

pengawasan daerah dan BPK. Penyerahan kepada SKPD selambat-

lambatnya tujuh hari kerja sejak disahkan.

Pengesahan Rancangan DPA-SKPD


  SKPD PPKD TAPD SEKDA
     Rancangan   Rancangan
DPA-SKPD DPA-SKPD
  Rancangan
Anggaran Kas
  SKPD Rancangan
  Anggaran Kas
  SKPD
  Rancangan Anggaran
  Kas Pemerintah
Daerah
 
 
  Pembuatan
  Dokumen
  Penyediaan Dana

  Rancangan Rancangan
DPA-SKPD
  DPA- SKPD
 
 DPA- SKPD DPA- SKPD
 
 
  BPK dan
  satuan kerja
DPA- pengawas
  SKPD

 
 
Gambar 2.3 Flowchart Pengesahan DPA-SKPD (Perda, 2006)

 
 
15
 

2.2.3.1.3. Penyusunan dan Pengesahan Dokumen Pelaksanaan Perubahan

Anggaran (DPPA)-SKPD

DPPA-SKPD adalah dokumen yang digunakan sebagai dasar

pelaksanaan perubahan anggaran oleh kepala SKPD sebagai pengguna

anggaran. Rancangan DPPA-SKPD adalah rancangan yang terdiri atas:

1. Sasaran yang hendak dicapai

2. Program dan kegiatan

3. Latar belakang perubahan penerimaan pendapatan, dan belanja atau

pembiayaan

4. Rincian anggaran sebelum dan setelah perubahan

5. Rencana penarikan dana tiap-tipa SKPD serta pendapatan yang

diperkirakan

Rancangan DPPA-SKPD ditunjukkan pada gambar 2.4 dibawah ini :

Rancangan DPPA-SKPD
TAPD PPKD SEKDA
    Rancangan  
  DPPA-SKPD
 
  Rancangan Rancangan
DPPA-SKPD DPPA-SKPD
 
 
  Rancangan
DPPA-SKPD
 
 
  DPPA-SKPD
 
 
Gambar 2.4 Flowchart Rancangan
DPPA-SKPD (Perda, 2006)

 
 
16
 

Penjelasan rancangan DPPA-SKPD adalah sebagai berikut :

1. PPKD mengotorisasi rancangan DPPA-SKPD kemudian menyerahkan

kepada TAPD

2. TAPD membahas rancangan DPPA-SKPD kemudian menyerahkan

rancangan DPPA-SKPD inikepada SEKDA untuk disetujui

3. Setelah disetujui, SEKDA menyerahkan rancangan DPA-SKPD

kepada TAPD

4. TAPD mengesahkan rancangan DPPA-SKPD menjadi DPPA-SKPD

kemudian DPPA-SKPD diserahkan kepada PPKD

Pengesahan rancangan DPPA-SKPD ditunjukkan pada gambar 2.5 berikut ini :

Pengesahan Rancangan DPPA-SKPD


SKPD PPKD SEKDA
Rancangan Rancangan
DPPA-SKPD DPPA-SKPD

DPPA-SKPD DPPA-SKPD

Gambar 2.5 Flowchart Pengesahan Rancangan


DPPA-SKPD (Perda, 2006)

Penjelasan pengesahan rancangan DPPA-SKPD adalah sebagai berikut :

1. SEKDA menyerahkan dokumen rancangan DPPA-SKPD kepada

PPKD

2. PPKD mengesahkan rancangan DPPA-SKPD menjadi DPPA-SKPD

3. PPKD menyerahkan DPPA-SKPD kepada SKPD

 
 
17
 

2.2.3.2.Pelaksanaan Penatausahaan Penerimaan Keuangan Daerah  

2.2.3.2.1. Pelaksanaan Pendapatan Daerah Melalui Bank Daerah 

Penjelasan pelaksanaan pendapatan daerah melalui bank kas daerah

adalah sebagai berikut ini :

1. Bendahara Umum Daerah (BUD) membuka rekening pengeluaran dan

pemasukan pada bank kas daerah.

2. Pengguna anggaran membuat SKP (Surat Ketetapan Pajak) daerah/

SKR (Surat Ketetapan Retribusi) daerah sebanyak 2 rangkap:

• 1 rangkap untuk wajib pajak.

• 1 rangkap untuk bendahara penerimaan.

3. Setelah Wajib Pajak membayar pajak sesuai SKP Daerah, maka Bank

Kas Daerah membuat bukti penerimaan yaitu slip setoran (STS)

maupun bukti lain yang sah sebanyak 2 rangkap dan nota kredit.

4. Slip setoran diserahkan ke wajib pajak untuk kemudian 1 rangkap

diserahkan kepada bendahara penerimaan.

5. Nota kredit dikirimkan ke BUD oleh Bank Kas Daerah.

6. Bendahara Penerimaan mencatat berdasarkan SKP Daerah dan Slip

setoran (bukti lain yang sah).

Pelaksanaan pendapatan daerah melalui bank daerah ditunjukkan pada gambar

2.6 berikut :

 
 
18
 

Pelaksanaan Pendapatan Daerah Melalui Bank Kas Daerah


  BUD/ Pengguna Wajib Pajak Bank Kas Daerah Bandahara
PPKD Anggaran /Retribusi Penerimaan
Penerbitan SKP
SKP Daerah
Daerah/SKR

Pembayaran
SKP
Daerah
SKP
Daerah

SKP Uang Uang


Daerah
Slip
Setoran
Slip Penerimaan (bukti lain
Setoran yang sah)
Slip
Setoran
(bukti lain Slip
yang sah) Nota
Setoran
Slip SKP
Kredit
Setoran Daerah
(bukti lain
yang sah)

Nota Penatausahaan
Kredit Penerimaan

Gambar 2.6 Flowchart Pelaksanaan Pendapatan Daerah


Melalui Bank Kas Daerah (Perda, 2006)

2.2.3.2.2. Pelaksanaan Pendapatan Daerah Melalui Bendahara Penerimaan 

Pelaksanaan pendapatan daerah melalui bendahara penerimaan

ditunjukkan pada gambar 2.7 berikut ini :

 
 
19
 

Pelaksanaan Pendapatan Daerah Melalui Bendahara Penerimaan


BUD/ Pengguna Wajib Pajak Bank Kas Daerah Bandahara
PPKD Anggaran /Retribusi Penerimaan
Penerbitan SKP Uang
SKP Daerah
Daerah/SKR

Pembayaran Penerimaan
SKP
Daerah
SKP
Daerah
Slip Slip
SKP Uang Uang Setoran
Daerah Setoran
Slip Slip
Setoran Setoran
(bukti lain (bukti lain
yang sah) yang sah)
Slip Penerimaan
Setoran
Slip
Setoran Otorisasi
(bukti lain
yang sah)
Nota Slip SKP
Kredit Daerah
Setoran
Slip
Setoran
(bukti lain
yang sah)
Penatausahaan
Nota Penerimaan
Kredit

Gambar 2.7 Flowchart Pelaksanaan Penerimaan Daerah


Melalui Bendahara Penerimaan (Perda, 2006)

Penjelasan pelaksanaan pendapatan daerah melalui bendahara

penerimaan adalah sebagai berikut : 

1. Pengguna Anggaran menyerahkan SKP Daerah/SKR Daerah kepada

Bendahara Penerimaan dan Wajib Pajak/Retribusi.

2. Wajib Pajak/Retribusi membayarkan sejumlah uang yang tertera dalam

SKP Daerah/ SKR kepada Bendahara Penerimaan.

 
 
20
 

3. Bendahara Penerimaan memverifikasi kesesuaian jumlah uang yang

diterimanya dengan dokumen SKP Daerah/ SKR Daerah yang

diterimanya dari Pengguna Anggaran.

4. Setelah diverifikasi, Bendahara Penerimaan akan menerbitkan STS dan

Surat Tanda Bukti Pembayaran/Bukti Lain yang Sah.

5. Bendahara menyerahkan Tanda Bukti Pembayaran/Bukti Lain yang

Sah kepada Wajib Pajak/ Retribusi dan menyerahkan uang yang

diterimanya tadi beserta STS kepada Bank.

6. Bank membuat Nota Kredit dan mengotorisasi STS. Bank kemudian

menyerahkan kembali STS kepada Bendahara Penerimaan. Nota

Kredit disampaikan kepada BUD.

7. Pengguna Anggaran menyerahkan SKP Daerah/SKR Daerah kepada

Bendahara Penerimaan dan Wajib Pajak/Retribusi.

8. Wajib Pajak/Retribusi membayarkan sejumlah uang yang tertera dalam

SKP Daerah/ SKR kepada Bendahara Penerimaan.

9. Bendahara Penerimaan memverifikasi kesesuaian jumlah uang yang

diterimanya dengan dokumen SKP Daerah/ SKR Daerah yang

diterimanya dari Pengguna Anggaran.

10. Setelah diverifikasi, Bendahara Penerimaan akan menerbitkan STS dan

Surat Tanda Bukti Pembayaran/Bukti Lain yang Sah.

 
 
21
 

11. Bendahara menyerahkan Tanda Bukti Pembayaran/Bukti Lain yang

Sah kepada Wajib Pajak/ Retribusi dan menyerahkan uang yang

diterimanya tadi beserta STS kepada Bank.

12. Bank membuat Nota Kredit dan mengotorisasi STS. Bank kemudian

menyerahkan kembali STS kepada Bendahara Penerimaan. Nota

Kredit disampaikan kepada BUD.

2.2.3.2.3. Pelaksanaan Pendapatan Daerah Melalui Bendahara Penerimaan

Pembantu

Penjelasan pendapatan daerah melalui bendahara penerimaan

pembantu adalah sebagai berikut:

1. Pengguna Anggaran menyerahkan SKP Daerah/SKR Daerah kepada

Wajib Pajak/Retribusi dan Bendahara Penerimaan Pembantu.

2. Wajib Pajak/Retribusi membayarkan uang kepada Bendahara

Penerimaan Pembantu sejumlah yang tertera di SKP Daerah/SKR

Daerah.

3. Bendahara Penerimaan Pembantu memverifikasi uang yang

diterimanya dengan SKP Daerah/SKR Daerah dari Pengguna

Anggaran.

4. Jika sesuai maka Bendahara Penerimaan Pembantu membuat dokumen

STS dan Surat Tanda Bukti Pembayaran/ Bukti Lain yang Sah.

 
 
22
 

5. Bendahara Penerimaan Pembantu menyerahkan Surat Tanda Bukti

Pembayaran/Bukti Lain yang Sah kepada Wajib Pajak/Retribusi dan

STS beserta uang kepada Bank.

6. Bank mengotorisasi STS dan menerbitkan Nota Kredit. Bank

mengembalikan STS Bendahara Penerimaan Pembantu. Nota Kredit

disampaikan ke BUD

7. Bendahara penerimaan pembantu wajib menyampaikan laporan

pertanggngjawaban penerimaan kepada bendahara penerimaan paling

lama tanggal 5 bulan berikutnya.

8. Bendahara penerimaan pembantu wajib menyetor seluruh uang yang

diterimanya ke rekening kas umum daerah paling lama 1 (satu) hari

kerja terhitung sejak uang kas tersebut diterima

9. Bendahara penerimaan pembantu mempertanggungjawabkan bukti

penerimaan dan bukti penyetoran seluruh uang kas yang diterimanya

kepada bendahara penerimaan.

Pelaksanaan pendapatan daerah melalui bendahara penerimaan pembantu

ditunjukkan pada gambar 2.8 berikut :

 
 
23
 

Pelaksanaan Pendapatan Daerah Melalui Bendahara Penerimaan Pembantu


BUD/ Pengguna Wajib Pajak Bank Kas Daerah Bandahara
PPKD Anggaran /Retribusi Penerimaan
Pembantu
Penerbitan SKP Uang
SKP Daerah
Daerah/SKR

Pembayaran Penerimaan
SKP
Daerah
SKP
Daerah
Slip Slip
SKP Uang Uang Setoran
Daerah Setoran
Slip Slip
Setoran Setoran
(bukti lain (bukti lain
yang sah) yang sah)
Slip Penerimaan
Setoran
Slip
Setoran Otorisasi
(bukti lain
yang sah)
Nota Slip SKP
Kredit Daerah
Setoran
Slip
Setoran
(bukti lain
yang sah)
Penatausahaan
Nota Penerimaan
Kredit

Gambar 2.8 Flowchart Penerimaan Daerah


Melalui Bendahara Penerimaan Pembantu (Perda, 2006)

2.2.3.2.4. Pengajuan SPJ Penerimaan Oleh Bendahara Penerimaan

Penjelasan pengajuan spj penerimaan oleh bendahara penerimaan

adalah sebagai berikut :

1. Bendahara penerimaan membuat SPJ berdasarkan SKP / SKR daerah,

STS maupun surat tanda setor yang lain. Dalam SPJ penerimaan

 
 
24
 

dilengkapi dengan Buku Kas Umum, Buku pembantu per Rincian

Objek Penerimaan, Buku rekapitulasi penerimaan harian.

2. SPJ penerimaan tersebut diserahkan ke PPK-SKPD.

3. Dari PPK-SKPD diserahkan ke Pengguna Anggaran, Pengguna

Anggaran mengotorisasi SPJ.

4. Setelah SPJ penerimaan di otorisasi oleh Pengguna Anggaran

diserahkakn ke BUD.

5. BUD melakukan verifikasi, evaluasi dan Analisa terhadap SPJ yang

diserahkan, setelah selesai maka SPJ tersebut disahkan. Setelah

dilakukan pengesahan diserahkan kembali kepada Pengguna Anggaran.

Pengajuan SPJ Penerimaan Oleh Bendahara Penerimaan ditunjukkan pada

gambar 2.9 berikut ini :

 
 
25
 

Pengajuan SPJ Penerimaan Oleh Bendahara Penerimaan


Bendahara Penerimaan PPK-SKPD Pengguna Anggaran BUD

Pelaksanaan
Pendapatan SPJ SPJ SPJ
Daerah Penerimaan Penerimaan Penerimaan

SKP STS Surat Tanda Bukti Otorisasi Verifikasi,


Daerah Pembayaran/Bukti Evaluasi &
lain yang sah Analisa

Penatausahaa SPJ SPJ


n Penerimaan Penerimaan Penerimaan

SKP STS Surat Tanda BKU Buku SPJ Buku


Daerah Bukti Penerimaa Pembantu Penerimaan Rekapitulasi Pengesahan
Pembayaran/ (per Rincian Pembantu Penerimaan SPJ
Bukti lain Objek) Harian
yang sah
Surat SPJ
Surat Pengesahan Penerimaan
Pembuatan SPJ
Pengesahan SPJ
Penerimaan
SPJ
BKU Buku SPJ Buku SPJ
SPJ
Penerimaa Pembantu Penerimaan Rekapitulasi Penerimaa
SPJ
Penerimaa
(per Rincian Pembantu Penerimaan Penerimaa
Objek) Harian

Gambar 2.9 Flowchart Pengajuan SPJ Penerimaan Oleh Bendahara Penerimaan (Perda, 2006)

 
 
26
 

2.2.3.2.5. Pengajuan SPJ Penerimaan Oleh Bendahara Penerimaan Pembantu

Pengajuan spj penerimaan oleh bendahara penerimaan pembantu

ditunjukkan gambar 2.10 berikut ini :

Pengajuan SPJ Penerimaan Oleh Bendahara Penerimaan Pembantu


  Bendahara Penerimaan Pembantu Bendahara
Penerimaan
  Pelaksanaan  
Pendapatan
  Daerah
 
SPJ
  SKP Daerah STS Surat Tanda Bukti Penerimaan
  / SKR Pembayaran/Bukti Pembantu
  lain yang sah
 
  Penatausahaan Verifikasi,
  Penerimaan Evaluasi &
Analisa
 
 
 
SKP STS Surat Tanda BKU Buku Rekapitulasi SPJ
Daerah Bukti Penerimaan Penerimaan Harian
  Pembayaran/ Pembantu Pembantu
Penerimaan
Pembantu
  Bukti lain
  yang sah

  Pembuatan SPJ
Penerimaan
 
  BKU
 
Buku Rekapitulasi SPJ
  Penerimaan Penerimaan Harian Penerimaan
Pembantu Pembantu Pembantu
 
 
 
 
 
 
Gambar 2.10 Flowchart Pengajuan SPJ Penerimaan Oleh
Bendahara Penerimaan Pembantu (Perda, 2006)

 
 
27
 

Penjelasan pengajuan spj penerimaan oleh bendahara penerimaan

pembantu adalah sebagai berikut :

1. Bendahara penerimaan Pembantu membuat SPJ berdasarkan SKP /

SKR daerah, STS maupun surat tanda setor yang lain. Dalam SPJ

penerimaan dilengkapi dengan Buku Penerimaan Pembantu, Buku

rekapitulasi penerimaan harian pembantu.

2. SPJ penerimaan pembantu tersebut diserahkan ke Bendahara

Penerimaan.

3. Dari bendahara penerimaan tersebut kemudian di proses.

2.2.3.3.Akuntansi Pemerintahan Daerah

Akuntansi keuangan daerah diawali dengan pengumpulan data

mengenai transaksi-transaksi yang terjadi. Transaksi yang akan dicatat dalam

jurnal adalah transaksi ekonomi yaitu transaksi yang memiliki nilai ekonomi

dan dapat diukur dalam satuan uang. Transaksi yang dapat dicatat kemudian

dimasukkan oleh PPK-SKPD kedalam buku jurnal. Selanjutnya jurnal

dipindahkan kedalam buku besar (posting) dan apabila diperlukan dibuat buku

besar pembantu. Pos-pos pada buku besar atau buku besar pembantu

dipindahkan kedalam neraca saldo yang digunakan sebagai dasar penyususnan

laporan keuangan SKPD yang terdiri dari laporan realisasi anggaran, neraca dan

catatan atas laporan keuangan. Laporan keuangan oleh PPK-SKPD diserahkan

kepada pengguna anggaran untuk diotorisasi. Jika otorisasi telah diberikan

 
 
28
 

pengguna anggaran menyerahkan laporan keuangan SKPD kepada PPKD.

Setelah memperoleh semua laporan keuangan SKPD diterima PPKD

menggabungkan (mengkonsolidasikan) laporan-laporan keuangan SKPD

menjadi laporan keuangan pemerintah daerah. Akuntansi SKPD ditunjukkan

pada gambar 2.11 berikut ini:

Akuntansi SKPD
  PPK-SKPD
  Akuntansi Penerimaan Akuntansi Pengeluaran Akuntansi Pengeluaran
Akuntansi Selain Kas
  Kas Kas Kas
  SPJ SPJ SP2D Bukti Transaksi Bukti Transaksi
Penerimaan Pengeluaran
 
 
 
  Bukti Bukti Memotial
  Memorial
 
 
 
  Register Jurnal Register Jurnal Register
Register
  Penerimaan Pengeluaran Jurnal Umum
Jurnal Umum
Kas Kas
 
 
 
 
 
  Register Buku
  Besar SKPD
 
 
  Neraca saldo
  SKPD
 
 
 
Gambar 2.11 Flowchart Akuntansi SKPD (Perda, 2006)

 
 
29
 

2.2.3.3.1. Laporan keuangan pada SKPD

Laporan pertanggungjawaban pelaksanaan APBD disusun dan

disajikan secara periodik sesuai peraturan pemerintah yang mengatur tentang

standar akuntansi pemerintah. Pertanggunagjawaban direalisasikan dalam

bentuk:

1. Laporan realisasi anggaran SKPD.

2. Neraca SKPD

3. Catatan atas laporan keuangan SKPD

Langkah-langkah penyususnan laporan keuangan SKPD:

1. Setelah PPK-SKPD membuat laporan keuangan yang terdiri dari

Laporan Realisasi anggaran, Laporan Anggaran, Laporan Neraca dan

catatan atas Laporan keuangan sebanyak 2 rangkap.

2. Pengguna Anggaran mengotorisasi Laporan Keuangan tersebut dalam

bentuk surat pernyataan kepala SKPD bahwa pengelola APBD yang

menjadi tanggungjawabnya telah diselenggarakan berdasarkan sistem

pengendalian intern yang memadai dan standart akuntansi pemerintah

sesuai dengan peraturan perundang-undangan.

3. Surat pernyataan dan laporan keuangan diserahkan kepada PPKD

untuk selanjutnya digabung menjadi laporan keuangan Pemda.

 
 
30
 

Laporan keuangan SKPD ditunjukkan pada gambar 2.12 berikut ini :

Laporan Keuangan SKPD


  PPK-SKPD Pengguna Aggaran PPKD
     
Akuntansi Lap.Keuangan Lap.Keuangan
  SKPD SKPD  
Surat
Pernyataan SKPD
  (Neraca, LRA,   (Neraca, LRA,
CALK)
    CALK)
   
  Neraca  
  Saldo SKPD  
Otorisasi
    Lap.Keuangan
    Pemda
   
  Pembuatan LK  
SKPD Surat Lap.Keuangan
  SKPD
 
Pernyataan
  (Neraca, LRA,  
  CALK)  
   
  Lap.Keuangan
SKPD
  (Neraca,
Lap.Keuangan
SKPDLRA,
  CALK)
(Neraca, LRA,
  CALK)
 
 
 
 
 
Gambar 2.12 Flowchart Laporan Keuangan SKPD (Perda, 2006)

 
 
31
 

2.3. Metodologi Rekayasa Perangkat Lunak Terstruktur (Whitten, 2004)

Untuk dapat merancang, menganalisa, mendesain, dan membangun

sebuah program, sistem analis harus memahami kebutuhan dari pemilik

program, dan penyebab mengapa sistem tersebut harus dibuat. Konsep ini

disebut sebagai user centered development. Konsep ini memerlukan pendekatan

use case modeling yang menginisiasikan kegiatan, siapa yang melakukan

kegiatan tersebut, bagaimana respon dari sistem untuk kegiatan itu, dengan

menggunakan use case diagram yang dijelaskan dalam subbab 2.3.1.

Data modeling atau pemodelan data digunakan untuk mendefinisikan

kebutuhan bisnis untuk sebuah basis data. Model aktual yang sering digunakan

adalah entity relationship diagram (E-R diagram) yang dijelaskan pada subbab

2.3.3.

2.3.1. Use Case Diagram

Use case diagram merupakan diagram yang menggambarkan interaksi

antara sistem dan eksternal sistem atau sesuatu yang berada di luar sistem dan

atau penggunanya. (Whitten, 2004). Use case diagram terdiri dari actor, use

case dan asosiasi.

1. Actor adalah seseorang atau sesuatu yang harus berinteraksi dengan sistem.

Gambar 2.13 merupakan simbol actor.

Gambar 2.13 Simbol Actor

 
 
32
 

2. Use Case adalah representasi fungsionalitas atau layanan yang diberikan

sistem kepada pemakai. Gambar 2.14 merupakan simbol use case.

Gambar 2.14 Simbol Use Case

3. Asosiasi adalah relasi antara actor dan use case dimana ada interaksi yang

terjadi di dalamnya. Gambar 2.15 merupakan simbol asosiasi.

Gambar 2.15 Simbol Asosiasi

2.3.2. Data Flow Diagram (DFD)

Data Flow Diagram (DFD) merupakan suatu diagram yang

menggunakan notasi-notasi untuk menggambarkan arus atau aliran dari data

sistem. DFD merepresentasikan sebuah masukan data ke dalam suatu proses

atau keluaran data dari suatu proses. DFD merupakan alat bantu dalam

menggambarkan atau menjelaskan sistem yang sedang berjalan secara logis.

DFD merupakan sebuah model proses yang digunakan untuk menggambarkan

aliran dari data yang melalui sebuah sistem dan sekaligus menggambarkan

proses yang dibentuk oleh sistem tersebut. (Whitten, 2004)

Beberapa simbol dan koneksi yang digunakan dalam DFD. Berikut ini

adalah penjelasannya:

 
 
33
 

1. Rounded Rectangles

Simbol ini menggambarkan proses. Proses merupakan kegiatan yang akan

ditunjukkan oleh suatu sistem dalam merespon aliran data. (Whitten,

2004). Gambar 2.16 merupakan Rounded Rectangles.

Gambar 2.16 Rounded Rectangles

2. Square

Simbol ini merepresentasikan external agents. External agents merupakan

batas sistem dari kerangka sistem informasi yang dibuat. Gambar 2.17

merupakan Square.

Gambar 2.17 Square

3. Open-Ended Boxes

Simbol ini merepresentasikan penyimpanan data (data stores). Simpanan

data ini menghubungkan semua entitas tunggal dalam sebuah model data.

Gambar 2.18 merupakan Open-Ended Boxes.

Media nama data store

Gambar 2.18 Open-Ended Boxes

 
 
34
 

4. Arrow (Panah)

Simbol ini merepresentasikan aliran data atau input dan output, ke dan dari

proses. Gambar 2.19 merupakan arrow.

Gambar 2.19 Arrow

2.3.3. Entity Relationship Diagram (E-R Diagram)

Menurut (Atzeni, 2000), E-R Diagram merupakan sebuah model data

yang memanfaatkan beberapa notasi tertentu untuk menggambarkan data ke

dalam bentuk entitas dan relasi yang dijelaskan oleh data itu sendiri. Sedangkan

entitas itu sendiri merupakan kumpulan dari orang, tempat, obyek, kejadian

atau konsep yang diperlukan untuk menangkap dan menyimpan data. E-R

diagram merupakan bagian dari Conceptual Design yang digunakan untuk

memberikan gambaran secara umum mengenai hal yang penting dalam

merancang struktur basis data, sehingga basis data dapat memfasilitasi

keperluan pada saat ini dan saat yang akan datang.

Ada 2 komponen yang membentuk E-R Model, yaitu:

1. Entitas, merupakan sebuah objek yang nyata dan dapat dibedakan dari

sesuatu yang lain. Gambar 2.20 merupakan simbol entitas.

Gambar 2.20 Simbol Entitas

 
 
35
 

2. Relasi, merupakan hubungan antar entitas. Ada 3 jenis relasi yaitu: relasi

one to one, relasi one to many, relasi many to many. Gambar 2.21 merupakan

simbol relasi.

Gambar 2.21 Simbol Relasi

3. Atribut, merupakan sebutan untuk mewakili suatu entitas. Sebuah atribut

juga merupakan sifat-sifat dari sebuah entitas. Sinonimnya adalah element,

property, dan field. Gambar 2.22 merupakan simbol atribut.

Gambar 2.22 Simbol Atribut

2.3.4. Logical Design

Logical design merupakan translasi dari conseptual model yang

didefinisikan dalam fase-fase ke dalam bentuk model data yang diadopsi oleh

database management system yang tersedia. Produk dari fase-fase tersebut

dinamakan logical schema dari basis data dan hampir sama artinya dengan

logical data model. Model logikal merepresentasikan data dalam sebuah alur

yang terlepas dari physical design. Logical design merupakan sebuah gambar

nonteknikal yang memberikan gambaran tentang apakah sistem dan apa yang

dilakukannya. Dalam logical design akan diterjemahkan conceptual schema ke

dalam model data yang sesuai dengan DBMS yang digunakan. Hasil dari tahap

ini adalah logical schema basis data yang mengacu pada logical data model.

 
 
36
 

Logical data mode yang populer untuk saat ini adalah relational model. Dalam

logical model ini, menggambarkan data secara logikal dan harus memperhatikan

kriteria optimal yaitu: ada tidaknya redudansi data atau penyimpanan di

beberapa tempat untuk data yang sama dan data yang tidak konsisten. (Atzeni,

2000).

2.3.5. Physical Design

Dalam physical design ini logical schema dilengkapi dengan detail

implementasi secara fisik sesuai dengan DBMS yang digunakan. Selain itu,

tahap ini merupakan bentuk perancangan basis data yang menterjemahkan

kebutuhan bisnis ke dalam model sistem yang menggambarkan implementasi

teknik dari kebutuhan bisnis itu sendiri. (Atzeni, 2000)

2.4. Bagan Alir Sistem (System Flowchart)

Bagan alir sistem merupakan bagan yang menunjukkan arus pekerjaan

secara keseluruhan dari sistem. Bagan ini menjelaskan urutan-urutan dari

prosedur-prosedur yang ada di dalam sistem. Bagan alir sistem menunjukkan

apa yang dikerjakan di sistem. Bagan alir sistem digambarkan dengan

menggunakan simbol-simbol sebagai berikut (Jogiyanto, 1999) :

 
 
37
 

Tabel 2.1 Bagan Alir Sistem

No. Simbol Nama Keterangan


1 Simbol dokumen Menunjukkan dokumen
input dan output baik
untuk proses manual,
mekanik maupun
komputer
2 Simbol proses Menunjukan kegiatan
proses dari operasi
program komputer

3 Simbol pita kertas Menunjukkan input/output


berlubang menggunakan pita kertas
berlubang

4 Simbol kegiatan Menunjukkan pekerjaan


manual manual

5 Simbol keputusan Digunakan untuk suatu


penyelesaian kondisi di
dalam program

6 Simbol Digunakan untuk


penghubung menunjukkan sambungan
dari bagan alir yang
terputus di halaman yang
masi sama atau di
halaman lainnya
7 Simbol garis alir Digunakan untuk
menunjukkan arus dari
proses

8 Simbol simpanan Arsip file non-komputer


offline

9 Simbol keyboard Menunjukkan input yang


menggunakan on-line
keyboard

 
 
38
 

10 Simbol display Menunjukkan output yang


ditampilkan di monitor

11 Simbol hard disk Menunjukkan input/output


menggunakan hard disk

2.5. Pengaturan Transaksi


Transaksi adalah suatu unit eksekusi program, yang mengakses serta

memungkinkan mengubah (update) data. Transaksi terdiri atas seluruh operasi

yang terdapat diantara perintah begin transaction dan end transaction.

Untuk menjamin integritas data, suatu berbasis basis data harus menjaga agar

sifat ACID dipenuhi oleh transaksi. sifat ACID meliputi (Connolly, 2005) :

1. Atomicity:

Dalam setiap transaki, hanya ada 2 pilihan yaitu keduanya dilakukan

dengan benar atau tidak dikerjakan sama sekali.

2. Consistency:

Setiap transaksi yang bekerja harus mempertahankan konsistensi basis

data.

3. Isolation:

Tidak ada transaksi yang dikerjakan dalam waktu yang bersamaan.

 
 
39
 

4. Durability:

Setelah transaksi berhasil dieksekusi dengan lengkap, perubahan yang

dikenakan terhadap basis data bersifat tetap, meskipun misalnya ada

kegagalan sistem.

Status transaksi dijelaskan pada gambar 2.23 berikut (Connolly, 2005):

COMMIT
PARTIALLY COMMITTED
AND_TRANSACTION COMMITTED

ACTIVE ABORT
BEGIN_TRANSACTION ABORT

FAILED ABORTED

Gambar 2.23 Status transaksi

Penjelasan status transaksi diuraikan dalam tabel 2.2 berikut ini:

Tabel 2.2 Penjelasan status transaksi

Status Keterangan
Active Keadaan awal; transaksi berada dalam keadaan ini selama
eksekusi berjalan
Partially committed Setelah statemen terakhir dieksekusi
Failed Setelah ditemukan bahwa eksekusi normal tidak dapat
dilanjutkan
aborted Setelah transaksi rolled back dan basis data telah
dikembalikan ke keadaan sebelum transaksi
committed Setelah eksekusi lengkap berhasil

 
 
40
 

Transaksi dikatakan committed jika sudah masuk committed state.

Transaksi dikatakan aborted jika sudah masuk aborted state. Jika tidak

committed atau aborted maka dikatakan terminated. Jika transaksi memasuki

failed state, maka transaksi harus rolled back. Maka transaksi akan masuk pada

aborted state. Jika masuk aborted state, terdapat dua pilihan:

• Transaksi dapat di-restart sebagai transaksi baru

• Transaksi dapat di-kill

Manajemen transaksi selain digunakan untuk banyak user tetapi juga digunakan

untuk satu user. Berikut ini merupakan contoh manajemen transaksi untuk satu

user :

delete (satffNo = x)
for all PropertyForRent fecords, pno
begin
read(PropertyNo=pno, saffNo)
if(saffNo=x) then
begin
staffNo = newStaffNo
write(propertyNo=pno,staffNo)
end
end

Dari contoh diatas dapat dijelaskan bahwa manajemen transaksi juga

dibutuhkan untuk satu user juga, pada contoh diatas terdapat dua proses yaitu

proses delete dan update. Jika salah satu dari proses tersebut gagal maka dengan

menggunakan manajemen transaksi kedua proses tersebut rollback dan tidak

ada satupun proses yang akan dijalankan dan data kembali seperti semula,

tetapi jika tidak menggunakan manajemen transaksi maka proses yang berhasil

 
 
41
 

akan tetap dijalankan sedangkan proses yang gagal akan keluar sehingga

menyebabkan data tidak konsisten. (Connolly, 2005).

2.5.1. Concurrency Control

Concurrency Control atau akses secara bersamaan, merupakan proses

pengelolaan operasi yang berjalan secara bersamaan dalam database tanpa

harus saling mangganggu satu dengan yang lainnya. Tujuan utama

pengembangan basis data adalah adanya kemampuan banyak user untuk

mengakses shared data secara bersamaan. Ada 3 masalah yang dapat

disebabkan oleh concurrency control , yaitu :

a. Masalah hilangnya data yang diubah (the lost update problem)

Contoh kasus lost update problem disajikan pada tabel 2.3 berikut:

Tabel 2.3 Lost Update Problem

time T1 T2 Balx
t1 Begin_transaction 100
t2 Begin_transaction Read(balx) 100
t3 Read(balx) balx= balx + 100 100
t4 balx= balx -10 Write (balx) 200
t5 Write (balx) committed 90
t6 Committed 90

Pada tabel 2.3, transaksi T1 dieksekusi secara hampir bersamaan dengan

transaksi T2, T1 melakukan debet sebesar 10 dari account dengan nilai balx

= 100, sedangkan T2 melakukan kredit sebesar 100 pada account yang

sama. Kedua transaksi ini dijalankan secara bersamaan yang menghasilkan

 
 
42
 

ketidakkonsistenan data dengan nilai akhir account balx = 90. Jika kedua

transaksi ini dieksekusi secara serial (satu setelah yang lain tanpa operasi

yang tumpang tindih) akan menjaga konsistensi data dengan nilai akhir

account balx = 190 mengabaikan transaksi yang mana yang dieksekusi

lebih dulu.

b. Uncommtted Dependency

Contoh kasus Uncommtted Dependency disajikan pada tabel 2.4 berikut:

Tabel 2.4 Lost Uncommtted Dependency

time T3 T4 Balx
t1 Begin_transaction 100
t2 Read(balx) 100
t3 balx= balx + 100 100
t4 Begin_transaction Write (balx) 200
t5 Read(balx) ... 200
t6 balx= balx - 10 rollback 200
t7 Write (balx) 190
t8 committed 190

Pada tabel 2.4, transaksi T4 mengupdate nilai balx menjadi 200 tetapi

transaksi ini kemudian melakukan rollback sehingga nilai balx harus

dikembalikan ke nilai semula yaitu balx = 100. Tetapi, saat itu transaksi T3

telah membaca nilai balx yang baru (200) dan telah menggunakan nilai ini

untuk kemudian dikurangi dengan 10 yang akan menghasilkan nilai salah

balx=190. Nilai balx yang benar seharusnya adalah 90.

c. Masalah analisa yang tidak konsisten (the inconsistent analysis problem)

Contoh kasus inconsistent analysis problem disajikan pada tabel 2.5 berikut:

 
 
43
 

Tabel 2.5 inconsistent analysis problem

time T5 T6 balx baly balz sum


t1 Begin_transaction 100 50 25
t2 Begin_transaction Sum=0 100 50 25 0
t3 Read(balx) Read(balx) 100 50 25 0
t4 balx = balx - 10 Sum=sum+ balx 100 50 25 100
t5 Write (balx ) Read(baly) 90 50 25 100
t6 Read(balz) Sum=sum+ baly 90 50 25 150
t7 Balz = balz + 10 90 50 25 150
t8 Write (balz ) 90 50 35 150
t9 Committed Read(balz) 90 50 35 150
t10 Sum=sum+ balz 90 50 35 185
t11 committed 90 50 35 185

Pada Tabel 2.5, transaksi penjumlahan transaksi T6 dieksekusi secara

bersamaan dengan transaksi T5. Transaksi T6 melakukan penjumlahan nilai

balx (100), baly (50), dan balz (25). Sementara itu pada saat yang

bersamaan transaksi T5 telah mentransfer 10 dari balx ke balz, sehingga T6

akan menghasilkan nilai salah (lebih besar 10 dari yang seharusnya).

Metode locking adalah sebuah prosedur untuk mengontrol pengaksesan data

secara concurrent. Ketika sebuah transaksi mengakses database, sebuah lock

dapat menolak akses pada transaksi lain untuk mencegah hasil yang salah.

Permasalahan lost update problem ini dapat dicegah menggunakan teknik

two- phase locking (2PL). Sebuah transaksi mengikuti protokol twophase

locking jika semua operasi locking mendahului operasi unlocking yang

pertama dalam transaksi tersebut. (Connolly, 2005).

 
 
44
 

Untuk mengatasi masalah concurrency di MySQL dapat menerapkan

teknik two-phase locking. Protokol ini terdiri dari dua fase, yaitu:

1. Growing phase. Fase dimana sebuah transaksi hanya boleh melakukan

penguncian pada data. Pada fase ini, transaksi tidak boleh melakukan

pembebasan pada data lain.

2. Shrinking phase. Fase dimana sebuah transaksi melakukan

pembebasan pada data. Pada fase ini, transaksi tidak boleh melakukan

penguncian pada data lain.

Dalam Two-phase-locking protocol banyak dipergunakan untuk

menjaga sifat serializable dari suatu penjadwalan, namun protokol ini belum

dapat menjamin bahwa tidak akan terjadi deadlock karena masih ada transaksi

yang berada dalam status menunggu (Connolly, 2005).

Langkah penerapan teknik two-phase locking dalam MySQL:

1. tingkat isolasi serializable.

2. Autocommit dibuat disable.

3. Operasi pembacaan data yang akan diikuti dengan operasi update data

tersebut memberikan exlcusive lock dengan cara memberikan perintah

“for update” setelah perintah “select” (Darmawan, 2007:287).

 
 
45
 

2.6. Arsitektur Three-Tier

Arsitektur three-tier memiliki 3 bagian yaitu:

1. Client tier

Client tier bertanggung jawab untuk representasi data, menerima input dari

pengguna maupun event, dan mengontrol serta mengatur user interface.

2. Middle tier (Application-server tier)

Tier ini bertanggung jawab untuk implementasi ke client tier aturan bisnis

(business rules) yang tersedia. Aturan bisnis ini menciptakan objek bisnis

(business object). Contohnya adalah IBM WebSphere, BEA WebLogic

Server, dan Oracle Application.

3. Data-server tier

Tier ini bertanggung jawab untuk penyimpanan data dan mengatur

ketersediaan aplikasi data. Biasanya data-server tier ini terdiri atas dari satu

atau lebih server database relasional (misalnya Oracle atau MySQL) dan

biasanya terdiri atas:

a. Tabel/view/trigger database

Digunakan secara utama untuk menyimpan data.

b. Stored Procedure

Digunakan untuk mengeksekusi database pada server-side.

 
 
46
 

c. File server

Digunakan untuk menyimpan file-file berukuran sangat besar,

misalnya gambar, file PDF, dan teks.

Arsitektur three-tier JDBC secara umum (Parsian ,2005) sebagai

berikut:

Gambar 2.24 Three-tier JDBC secara umum

2.6.1. Java Server Pages (JSP)

Java Server Pages (JSP) merupakan teknologi yang didasarkan pada

bahasa java yang digunakan untuk membentuk halaman-halaman Web yang

bersifat dinamis. JSP menggunakan pendekatan pemrosesan di sisi server, kode

sumber JSP dijalankan pada Web server dimana memberikan keuntungan untuk

membuat aplikasi yang independent terhadap keberadaan sistem java di sisi

klient. Kode JSP pada dasarnya merupakan kode HTML yang dilengkapi

 
 
47
 

dengan tag-tag JSP yang disisipi dengan menggunakan bahasa java. (Kadir,

2004)

Pada prinsipnya pemakaian JSP mirip seperti pemakaian servlet. Secara garis

besar JSP dipakai sebagai berikut:

1. Client mengirimkan request HTTP kepada JSP-container (atau disebut

juga JSP engine).

2. JSP-container menentukan class yang mengimplementasikan halaman

JSP, yang dituju oleh request. (Class ini disebut JSP page

implementation class).

3. JSP-container kemudian memanggil salah satu method dari class

implementasi tersebut untuk menangani request secara dinamis dan

menghasilkan response yang berupa content halaman HTML. output

halaman HTML diserahkan kepada JSP-container untuk dikirimkan

sebagai response kepada client. (Wijono,2006)

Kode JSP pada dasarnya adalah kode HTML yang dilengkapi dengan tag-

tag JSP. Pada tag-tag inilah program menyisipkan kode dalam bahasa java.

Contoh kode JSP:

<HTML>
<HEAD>
<TITLE>latihan HTML</TITLE>
</HEAD>
<BODY>
<%
Out.print(“Selamat Belanjar JSP”);
%>

 
 
48
 

</BODY>
</HTML>

Beberapa method yang ada pada variable request yang diwariskan dari servlet

disebutkan dalam tabel 2.6 berikut.

Tabel 2.6 Metode pada variable request yang diwariskan dari ServletRequest

Metode Keterangan
getParameter(String nama) Memperoleh nilai parameter nama dengan hasil
bertipe string. Kalau parameter nama tidak
tersedia, maka hasilnya berupa null.
getParameterNames() Menghasilkan suatu enumeration yang berisi
nama-nama parameter yang terdapat dalam
permintaan
getRemoteAddr() Mengsilkan suatu String yang menyatakan
alamat IP klien yang mengirimkan permintaan

Statement untuk menciptakan session:

session=request.getSession(true);

Statement untuk membentuk sesi:

setAtribut(String name, object nilai);

Statement untuk membaca data sesi:

getAtribut(String name);

Statement untuk menghapus data sesi:

session.removeAttribut(String name);

(Kadir, 2004)

 
 
49
 

2.7. MySQL

MySQL merupakan suatu software manajement database. Sistem

manajement database dapat dilakukan penambahan, pengaksesan, dan

pemrosesan data yang diakses di komputer. MySQL menggunakan standar SQL.

MySQL dapat digunakan untuk melakukan pembuatan database, tabel, view.

(MySQL 5.1 Manual)

Query Language

Query Language adalah pernyataan yang diajukan untuk mengambil informasi.

Merupakan bagian Data Manipulation Language (DML) untuk pengambilan

informasi. DML digunakan untuk menampilkan, menambah, mengubah dan

menghapus dan menghapus data didalam objek-objek yang didefinisikan oleh

Data Definition Language (DDL). Perintah yang terdapatan pada DML adalah

select, insert, update dan delete.

1. Select

Dipakai untuk membaca data dari database. Bentuk umum pernyataan

select :

SELECT daftar_select
FROM daftar_tabel
[WHERE kondisi_pencarian]
[GROUP BY daftar_group_by]
[HAVING kondissi_pencarian]
[ORDER BY daftar_order [ASC|DEC]]

 
 
50
 

2. Insert

Dipakai untuk menambah satu atau beberapa data ke dalam tabel. Bentuk

umum pernyataan insert:

INSERT INTO tabel_name (column1, column2, [column n])


VALUES (value1, value2, [value n])

3. Update

Dipakai untuk mengubah data pada satu baris, beberapa baris atau semua

baris pada tabel. Bentuk umum pernyataan update:

UPDATE tabel_name
SET column1=value1, column2=value2,[column n=value n]
[WHERE id_column=value]

4. Delete

Dipakai untuk menghapus satu atau beberapa baris di dalam tabel. Bentuk

umum pernyataan delete:

DELETE FROM tabel_neme


[WHERE field1=value1 [AND|OR] field2=value2 [AND|OR]
[field n=value n]

5. Create Procedure

Digunakan untuk membuat suatu store procedure. Bentuk umum

pernyataan create procedure:

CREATE
[DEFINER = { user | CURRENT_USER }]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body

proc_parameter:
[ IN | OUT | INOUT ] param_name type

 
 
51
 

6. Create Function

Dipakai untuk membuat suatu fungsi. Bentuk umum pernyataan create

function:

CREATE
[DEFINER = { user | CURRENT_USER }]
FUNCTION sp_name ([func_parameter[,...]])
RETURNS type
[characteristic ...] routine_body

func_parameter:
param_name type

7. Create Trigger

Digunakan untuk membuat suatu trigger. Bentuk umum pernyatan trigger:

CREATE
[DEFINER = { user | CURRENT_USER }]
TRIGGER trigger_name trigger_time trigger_event
ON tbl_name FOR EACH ROW trigger_stmt

 
 
 
 

BAB III
ANALISA DAN PERANCANGAN SISTEM

3.1. Analisa Sistem

3.1.1. Gambaran Umum Sistem Penatausahaan Keuangan Daerah

Secara keseluruhan sistem informasi keuangan daerah terdiri atas

anggaran, transaksi dan pelaporan keuangan. Pada bagian anggaran tersebut

dibentuk APBD (Anggaran Pendapatan dan Belanja Daerah), dimana dalam

pembentukan APBD tersebut ada penyusunan dan pengesahan anggaran kas

dan DPA-SKPD. Penyusunan dan pengesahan anggaran kas tersebut

akhirnya menjadi anggaran kas. Sedangkan untuk penyusunan dan

pengesahan DPA-SKPD akhirnya menjadi DPA-SKPD, dari DPA-SKPD

tersebut disusunlah SKP/SKR daerah yang digunakan dalam transaksi

pendapatan daerah. Selain itu dari DPA-SKPD juga disusun DPA yang

digunakan dalam transaksi pengeluaran daerah. Transaksi pendapatan dan

pengeluaran daerah dihasilkan bukti transaksi dan SPJ, dari SPJ tersebut

akhirnya dibentuklah laporan daerah. Laporan daerah terdiri atas laporan

realisasi anggran, neraca saldo dan catatan atas laporan keuangan. Pada

skripsi ini hanya akan dibahas pendapatan daerah saja. Penjelasan diatas

dilengkapi dengan gambar 3.1 berikut ini :

52
 
53
 

Sistem Informasi Keuangan Daerah

APBD

Penyusunan Penyusunan dan


dan pengesahan pengesahan
anggaran kas DPA-SKPD
Anggaran

Anggaran
Kas DPA-SKPD

Penyusunan
Penyusunan
SKP/SKR
SPD
Daerah

SKP/SKR DPA
Daerah

Pendapatan Pengeluaran
Daerah Daerah
transaksi

Bukti SPJ Bukti SPJ


Transaksi Penerimaan Transaksi Pengeluaran

Pembuatan
Laporan Daerah
Pelaporan
keuangan

Laporan Catatan Atas


Realisasi Neraca Saldo Laporan
Anggaran Keuangan

Gambar 3.1 Flowchart Sistem Informasi Keuangan Daerah

3.1.2. Gambaran Umum Sistem Yang Lama

Sistem yang lama masih dilakukan secara manual dengan

menggunakan dokumen-dokumen sehingga menyebabkan kurang efisien.

Penyimpanan tidak hanya dilakukan dalam satu pembukuan saja sehingga

dapat menyebabkan data tidak konsisten. Selain itu untuk memperoleh

informasi data yang diinginkan tidak dapat dilakukan dengan cepat karena
54
 

harus mencari disetiap dokumen, begitu juga dengan pembuatan laporan

yang membutuhkan waktu lama.

3.1.3. Orang Yang Terlibat Dalam Sistem

Ada delapan actor yang terlibat dalam Sistem Informasi

Pendapatan Keuangan Daerah yaitu:

1. Satuan Kerja Perangkat Daerah (SKPD)

SKPD bertugas membuat rancangan DPA-SKPD, mengupdate data

DPA-SKPD yang belum disahkan.

2. Pejabat Pengelola Keuangan Daerah (PPKD)

PPKD bertugas mengesahkan rancangan DPA-SKPD yang telah dibuat

oleh masing-masing SKPD menjadi DPA-SKPD.

3. Kepala SKPD (Ka.SKPD)

Merupakan pejabat pemegang kewenangan penggunaan anggaran untuk

melaksanakan tugas pokok dan fungsi SKPD yang dipimpinnya.

4. Bendahara Penerimaan

Bendahara penerimaan bertugas Melakukan verifikasi, evaluasi dan

analisis atas laporan pertanggungjawaban pengeluaran maupun

penerimaan yang dibuat oleh bendahara pengeluaran pembantu. Selain

itu juga membuat Surat Pertanggung Jawaban (SPJ).


55
 

5. Bendahara Penerimaan Pembantu

Menyelenggarakan penatausahaan atas penerimaan yang menjadi

tanggung jawabnya menggunakan Buku Kas Umum dan Buku Kas

Penerimaan Harian Pembantu.

6. Ka. bag perbendaharaan

Ka. bag perbendaharaan ini bertugas mengesahkan pendapatan yang

diperoleh.

7. Bendahara Umum Daerah (BUD)

BUD bertugas untuk mengesahkan SPJ yang telah dibuat oleh

bendahara penerimaan.

8. Staff TU

Staff TU bertugas untuk mengupdate (menambah dan mengubah) tabel

master, dimana tabel master terdiri dari tabel pegawai, program,

kegiatan, urusan, bidang, organisasi, level, rekening, prosentase

pendapatan, bank dan sanksi.

3.1.4. Gambaran Umum Sistem Yang Baru

Sistem yang baru berusaha untuk memperbaiki kelemahan dari

sistem yang lama dalam hal efisiensi waktu dan biaya. Sistem yang akan

dibuat ini dimulai dari perancangan DPA-SKPD yang dibuat oleh SKPD,

dari hasil perancang DPA-SKPD tersebut kemudian disahkan oleh PPKD

menjadi DPA-SKPD. DPA-SKPD yang telah disahkan tidak dapat diupdate.

DPA-SKPD yang telah disahkan kemudian digunakan untuk membuat surat


56
 

ketetapan baik itu Surat Ketetapab Pajak Daerah (SKPD) maupun Surat

Ketetapan Retribusi Daerah (SKRD) yang dibuat oleh SKPD, surat

ketetapan tersebut kemudian disahkan oleh kepala SKPD. Surat ketetapan

yang sudah disahkan tidak dapat diupdate lagi. Hasil surat ketetapan yang

telah disahkan tersebut akhirnya dapat digunakan untuk proses pendapatan,

dimana proses pendapatan dilakukan oleh Bendahara Penerimaan dan

Bendahara Penerimaan Pembantu. Hasil pendapatan tersebut akhirnya

disahkan oleh Ka. bag Perbendaharaan. Pendapatan yang telah disahkan

tersebut kemudian digunakan untuk membuat Surat Pertanggungjawaban

(SPJ) yang dibuat oleh Bendahara Penerimaan, SPJ tersebut akhirnya

disahkan BUD. Dari prosedur yang sudah ada, ditemukan masalah,

kesempatan, tujuan, dan batasan ditunjukkan pada tabel 3.2 sebagai berikut :
57
 

Table 3.1 Tujuan perbaikan sistem

Analisis Sebab Akibat Tujuan Perbaikan Sistem


Masalah Sebab dan akibat Tujuan Sistem Batasan Sistem
atau
Kesempatan
1. Membutuhkan waktu 1. Harus membuka-buka 1. Mengotomatisai proses pendataan 1. Prosesdur harus
yang lama untuk dokumen yang terkait keuangan daerah sesuai dengan
melakukan setiap proses peraturan
dalam pendataan perundangan yang
keuangan berlaku, sehingga
2. Penyajian data laporan 2. Membutuhkan waktu yang 2. Pengelolaan data menggunakan ada yang tidak
lama lama untuk penyampaian database, adanya hak akses dapat
dokumen dari satu ruang ke sehingga setiap user memiliki diotomatisasikan
ruang yang lain wewenang sendiri-sendiri
3. Data kurang konsisten 3. Data disimpan dalam 3. Dilengkapi dengan adanya
dan akurat dokumen yang terpisah- manajemen transaksi sehingga
pisah sehingga ada data lebih akurat
kemungkinan kesalah
pencatatan sehingga data
tidak konsisten, selain itu
juga perhitungan yang masih
dilakukan secara manual
58
 

3.1.5. Requirement Analysis

Tahap requirement analysis meliputi pembuatan use case diagram.

Use case diagram dari sistem yang akan dibuat dapat dilihat pada gambar

3.2 s.d. gambar 3.11 berikut ini:

3.1.5.1. Use Case Diagram Sistem Informasi Keuangan Daerah

Sistem informasi keuangan daerah terdiri atas 5 bagian yaitu

penganggaran, pendapatan, pengeluaran, akuntansi dan

pertanggungjawaban, sehingga menyebabkan sistem informasi keuangan

daerah tersebut sangat kompleks, berdasarkan batasan sistem yang telah

dijelaskan penulis di depan maka sistem yang akan dibuat hanya akan

menangani proses pendapatan keuangan saja yang mencakup pembuatan

DPA-SKPD, pembuatan surat ketetapan, proses pendapatan dan pelaporan

keuangan saja dimana pada gambar use case dibawah ini yang akan

dijelaskan hanyalah yang diberi tanda merah. Use case Diagram Sistem

Informasi Keuangan Daerah akan dijelaskan pada gambar 3.2 berikut:

 
59
 

 Gambar 3.2 Use Case Diagram Sistem Informasi Keuangan Daerah

 
60
 

3.1.5.2. Use Case Diagram Pendapatan Keuangan Daerah

Kegiatan yang terdapat di dalam Sistem Informasi Pendapatan

keuangan Daerah meliputi update DPA-SKPD, update surat ketetapan,

update pendapatan dan pelaporan dan update tabel master, disajikan pada

gambar 3.3 berikut:

 
Gambar 3.3 Use Case Diagram Sistem Informasi
Pendapatan Keuangan Daerah

3.1.5.2.1. Use Case Diagram SKPD

Kegiatan yang dilakukan oleh SKPD meliputi update DPA-SKPD

(tambah, ubah dan hapus), cetak DPA-SKPD, pencarian DPA-SKPD,


61
 

update surat ketetapan (tambah, ubah dan hapus), cetak surat ketetapan,

pencarian surat ketetapan, update penyetor baik itu wajib pajak maupun

wajib retribusi (tambah, ubah, hapus), pencarian laporan dan cetak laporan.

Kegiatan SKPD disajikan dalam gambar 3.4 berikut:

Gambar 3.4 Use case diagram SKPD

3.1.5.2.2. Use Case Diagram PPKD

Kegiatan yang dilakukan oleh PPKD meliputi pengesahan DPA-

SKPD, cetak DPA-SKPD, pencarian DPA-SKPD, pencarian surat

ketetapan, pencarian laporan dan cetak laporan. Kegiatan PPKD disajikan

dalam gambar 3.5 berikut:


62
 

Gambar 3.5 Use case diagram PPKD

3.1.5.2.3. Use Case Diagram Ka. SKPD

Kegiatan yang dilakukan oleh kepala SKPD (Ka. SKPD) meliputi

pencarian DPA-SKPD, pengesahan surat ketetapan, pencarian surat

ketetapan, cetak surat ketetapan, pencarian laporan dan cetak laporan.

Kegiatan Ka.SKPD disajikan dalam gambar 3.6 berikut:


63
 

login

<<depend on>>

Pencarian Cetak
DPA-SKPD Surat ketetapan
Ka.SKPD

pengesahan Pencarian
Surat ketetapan laporan

Pencarian Cetak
Surat ketetapan laporan

      Gambar 3.6 Use case diagram Pengguna Anggaran

3.1.5.2.4. Use Case Diagram Ka. bag Perbendaharaan

Kegiatan yang dilakukan oleh Ka. bag Perbendaharaan meliputi

pencarian DPA-SKPD, pencarian surat ketetapan, pengesahan pendapatan,

pencarian laporan dan cetak laporan. Kegiatan Ka. bag Perbendaharaan

disajikan dalam gambar 3.7 berikut:


64
 

Gambar 3.7 Use case diagram Ka. bag Perbendaharaan

3.1.5.2.5. Use Case Diagram Bendahara Penerimaan

Kegiatan yang dilakukan oleh Bendahara Penerimaan meliputi

pencarian DPA-SKPD, pencarian surat ketetapan, cetak surat ketetapan,

update pendapatan (tambah dan ubah), update pihak_ketiga (tambah dan

ubah), pencarian laporan dan cetak laporan. Kegiatan Bendahara

Penerimaan disajikan dalam gambar 3.8 berikut:

   
65
 

Gambar 3.8 Use case diagram Bendahara Penerimaan

3.1.5.2.6. Use Case Diagram Bendahara Penerimaan Pembantu

Kegiatan yang dilakukan oleh Bendahara Penerimaan Pembantu

meliputi pencarian DPA-SKPD, pencarian surat ketetapan, cetak surat

ketetapan, update pendapatan (tambah dan ubah), update pihak_ketiga

(tambah dan ubah), pencarian laporan dan cetak laporan. Kegiatan

Bendahara Penerimaan Pembantu disajikan dalam gambar 3.9 berikut:


66
 

           Gambar 3.9 Use case diagram Bendahara Penerimaan Pembantu

3.1.5.2.7. Use Case Diagram BUD

Kegiatan yang dilakukan oleh BUD meliputi pencarian DPA-

SKPD, pencarian surat ketetapan, pengesahan laporan, pencarian laporan

dan cetak laporan. Kegiatan BU disajikan dalam gambar 3.10 berikut:


67
 

login

<<depend on>>

Pencarian Pencarian
DPA-SKPD laporan
BUD

Pencarian Cetak
Surat ketetapan laporan

Pengesahan
laporan

Gambar 3.10 Use case diagram BUD

3.1.5.2.8. Use Case Diagram Staff TU

Kegiatan yang dilakukan oleh Staff TU adalah menambah dan

mengubah tabel master. Kegiatan Staff TU disajikan dalam gambar 3.11

berikut:

Gambar 3.11 Use case diagram Staff TU


68
 

3.1.5.3. Use Case Narrative

Tabel 3.2 Penjelasan Use Case login

Nama Use Case login


Aktor SKPD, PPKD, Ka.SKPD, Bendahara
Penerimaan, Bendahara Penerimaan
Pembantu, Ka. bag Perbendaharaan, BUD
Deskripsi Otentifikasi user untuk masuk ke sistem
Kondisi awal User terdaftar sebagai pegawai
Urutan jenis kegiatan 1. User memasukkan username dan
password
2. Jika username dan password sesuai maka
user akan masuk ke sistem dan
mendapatkan halaman sesuai dengan
jabatannya.
3. Jika username dan password tidak sesuai
maka user diminta untuk melakukan
proses login kembali.

Tabel 3.3 Penjelasan Use Case tambah DPA-SKPD

Nama Use Case Tambah DPA-SKPD


Aktor SKPD
Deskripsi Memasukkan data DPA-SKPD
Kondisi awal Data DPA-SKPD baru, DPA-SKPD belum
disahkan
Urutan jenis kegiatan 1. Data DPA-SKPD dimasukkan, jika data
yang akan dimasukkan sudah ada maka
data tidak dapat disimpan.
2. Data yang berhasil disimpan akan
ditampilkan dan akan ada konfirmasi
apakah data berhasil ditambahkan atau
tidak.

Tabel 3.4 Penjelasan Use Case ubah DPA-SKPD

Nama Use Case ubah DPA-SKPD


Aktor SKPD
Deskripsi mengubah data DPA-SKPD
Kondisi awal Data yang akan diubah telah ada dalam sistem
dan data belum disahkan
Urutan jenis kegiatan 1. User meminta data DPA-SKPD yang
69
 

dapat diubah.
2. User memilih data DPA-SKPD yang
akan diubah.
3. Detail dari data DPA-SKPD yang akan
diubah tertampil.
4. User mengubah data sesuai dengan
keinginan.
5. User memasukkan perintah untuk
mengubah.
6. Sistem memberikan konfirmasi apakah
data berhasil diubah atau tidak.
7. Jika data berhsil diubah, maka data
sebelum terjadi perubahan akan disimpan
pada tabel tertentu.

Tabel 3.5 Penjelasan Use Case hapus DPA-SKPD

Nama Use Case hapus DPA-SKPD


Aktor SKPD
Deskripsi menghapus data DPA-SKPD
Kondisi awal Data yang akan dihapus telah ada dalam
sistem dan data belum disahkan
Urutan jenis kegiatan 1. User meminta data DPA-SKPD yang
dapat dihapus.
2. User memilih data DPA-SKPD yang
akan dihapus.
3. Detail dari data DPA-SKPD yang akan
dihapus tertampil.
4. User memasukkan perintah menghapus
data DPA-SKPD.
5. Sistem memberikan konfirmasi apakah
data berhasil dihapus atau tidak.
6. Jika data berhasil dihapus, maka data
yang dihapus tersebut dipindahkan ke
dalam tabel tertentu

Tabel 3.6 Penjelasan Use Case pengesahan DPA-SKPD

Nama Use Case pengesahan DPA-SKPD


Aktor PPKD
Deskripsi mengesahkan data DPA-SKPD
Kondisi awal Data yang akan disahkan sudah ada dalam
sistem
Urutan jenis kegiatan 1. User meminta data DPA-SKPD yang
70
 

akan disahkan.
2. User memilih data DPA-SKPD dapat
disahkan.
3. Detail dari data DPA-SKPD yang akan
disahkan tertampil.
4. User memasukkan perintah untuk
mengesahkan DPA-SKPD.
5. DPA-SKPD berhasil disahkan

Tabel 3.7 Penjelasan Use Case pencarian DPA-SKPD

Nama Use Case pencarian DPA-SKPD


Aktor SKPD, PPKD, Ka.SKPD, Bendahara
Penerimaan, Bendahara Penerimaan
Pembantu, Ka. bag perbendaharaan, BUD
Deskripsi pencarian data DPA-SKPD
Kondisi awal Data yang akan dicari sudah ada dalam sistem
dan data yang akan tertampil data yang sudah
disahkan
Urutan jenis kegiatan 1. User memasukkan kata kunci data yang
akan dicari.
2. Sistem menampilkan data yang dicari
jika data yang dicari sudah tersimpan
dalam sistem.

Tabel 3.8 Penjelasan Use Case cetak DPA-SKPD

Nama Use Case cetak DPA-SKPD


Aktor SKPD, PPKD
Deskripsi cetak data DPA-SKPD
Kondisi awal Data yang akan akan dicetak sudah ada dalam
sistem dan data yang sudah disahkan
Urutan jenis kegiatan 1. User memasukkan kata kunci / memilih
data yang akan dicetak.
2. User memaukkan perintah untuk
mencetak
3. User mendapatkan hasil cetakan.
71
 

Tabel 3.9 Penjelasan Use Case tambah Surat Ketetapan

Nama Use Case Tambah Surat Ketetapan


Aktor SKPD
Deskripsi Menambahkan data surat ketetapan baik itu
surat ketetapan pajak maupun retribusi
Kondisi awal Data surat ketetapan yang baru dan data surat
ketetapan belum disahkan. Selain itu ambil
data dari DPA-SKPD yang sudah disahkan
Urutan jenis kegiatan 1. User memilih terlebih dahulu jenis surat
ketetapan yang akan ditambah.
2. User memasukkan data surat ketetapan.
3. User memberikan perintah untuk
memasukkan data yang baru, jika data
yang baru sama dengan data yang sudah
ada maka sistem akan memberikan
konfirmasi jika data tidak dapat
ditambahkan.
4. Jika data dapat ditambahkan maka akan
muncul konfirmasi jika data berhasil
ditambahkan dan data yang baru saja
dimasukkan akan tertampil.

Tabel 3.10 Penjelasan Use Case ubah Surat Ketetapan

Nama Use Case ubah Surat Ketetapan


Aktor SKPD
Deskripsi Mengubah data surat ketetapan baik itu surat
ketetapan pajak maupun retribusi
Kondisi awal Data surat ketetapan yang akan diubah telah
ada dalam sistem dan data belum disahkan
Urutan jenis kegiatan 1. User memilih surat ketetapan yang akan
diubah apakah SKP atau SKR.
2. User meminta data yang akan diubah.
3. Sistem menampilkan data yang akan
diubah secara rinci.
4. User mengubah data sesuai dengan
keinginan.
5. User memberikan perintah untuk
mengubah data.
6. Sistem akan memberikan konfirmasi
apakah data berhasil diubah atau tidak.
7. Jika data berhasil diubah maka data
sebelum terjadi perubahan akan disimpan
pada tabel tertentu.
72
 

Tabel 3.11 Penjelasan Use Case hapus Surat Ketetapan

Nama Use Case hapus Surat Ketetapan


Aktor SKPD
Deskripsi menghapus data surat ketetapan baik itu surat
ketetapan pajak maupun retribusi
Kondisi awal Data surat ketetapan yang akan dihapus telah
ada dalam sistem dan data belum disahkan
Urutan jenis kegiatan 1. User memilih surat ketetapan yang akan
dihapus apakah SKP atau SKR.
2. User meminta data yang akan dihapus.
3. Sistem menampilkan data yang akan
dihapus secara rinci.
4. User memberikan perintah untuk
menghapus data.
5. Sistem akan memberikan konfirmasi
apakah data berhasil dihapus atau tidak.
6. Jika data berhasil dihapus maka data
yang dihapus tersebut akan disimpan
dalam tabel tertentu.

Tabel 3.12 Penjelasan Use Case pengesahan Surat Ketetapan

Nama Use Case pengesahan Surat Ketetapan


Aktor Ka. SKPD
Deskripsi mengesahkan data surat ketetapan baik itu
surat ketetapan pajak maupun retribusi
Kondisi awal Data surat ketetapan yang akan dihapus telah
ada dalam sistem
Urutan jenis kegiatan 1. User memilih surat ketetapan yang akan
disahkan apakah SKP atau SKR.
2. User meminta data yang akan disahkan.
3. Sistem menampilkan data yang akan
disahkan secara rinci.
4. User memberikan perintah untuk
mengesahkan data.
5. Sistem akan memberikan konfirmasi
apakah data berhasil disahkan atau tidak.
73
 

Tabel 3.13 Penjelasan Use Case pencarian Surat Ketetapan

Nama Use Case pencarian Surat Ketetapan


Aktor SKPD, PPKD, Ka.SKPD, Bendahara
Penerimaan, Bendahara Penerimaan
Pembantu, Ka. bag Perbendaharaan dan BUD
Deskripsi Pencarian data surat ketetapan
Kondisi awal Data yang dicari sudah ada dalam sistem dan
surat ketetapan yang sudah disahkan
Urutan jenis kegiatan 1. User memilih surat ketetapan yang akan
dicari apakah SKP atau SKR.
2. User memasukkan kata kunci untuk
melakukan pencarian
3. Sistem menampilkan hasil data yang
dicari jika data ada pada sistem

Tabel 3.14 Penjelasan Use Case cetak Surat Ketetapan

Nama Use Case cetak Surat Ketetapan


Aktor SKPD, Ka. SKPD
Deskripsi cetak surat ketetapan
Kondisi awal Data yang akan dicetak sudah ada dalam
sistem dan surat ketetapan yang sudah
disahkan
Urutan jenis kegiatan 1. User memilih surat ketetapan yang akan
dicetak apakah SKP atau SKR.
2. User memilih data yang akan dicetak
3. User menampilkan data yang akan
dicetak secara detail
4. User memberikan perintah untuk
mencetak
5. Sistem melakukan proses pencetakan
6. User mendapatkan hasil pencetakan surat
ketetapan

Tabel 3.15 Penjelasan Use Case tambah penyetor

Nama Use Case tambah penyetor


Aktor SKPD
Deskripsi Menambah data baru
Kondisi awal data baru
Urutan jenis kegiatan 1. user memasukkan data baru baik itu
untuk wajib bayar, wajib retribusi
74
 

maupun pihak ketiga


2. User memberikan perintah untuk tambah
data
3. Jika data baru yang dimasukkan sama
dengan data yang ada dalam sistem maka
data tidak dapat ditambah dan sistem
akan memberikan konformasi.
4. Jika data benar-benar baru maka data
dapat ditambah dalam sistem dan sistem
akan memberikan konfirmasi bahwa data
berhasil ditambah

Tabel 3.16 Penjelasan Use Case ubah penyetor

Nama Use Case ubah penyetor


Aktor SKPD
Deskripsi mengubah data penyetor
Kondisi awal Data yang akan diubah sudah ada dalam
sistem
Urutan jenis kegiatan 1. User memilih data yang akan diubah.
2. Sistem menampilkan data yang akan
diubah
3. User mengubah data
4. User memberikan perintah untuk ubah
data
5. Sistem memberikan konfirmasi apakah
data berhasil diubah atau tidak
6. Data yang diubah ditampilkan kembali

Tabel 3.17 Penjelasan Use Case hapus penyetor

Nama Use Case hapus penyetor


Aktor SKPD
Deskripsi menghapus data penyetor
Kondisi awal Data yang akan dihapus sudah ada dalam
sistem
Urutan jenis kegiatan 1. User memilih data yang akan dihapus.
2. Sistem menampilkan data yang akan
dihapus
3. User memberikan perintah untuk
menghapus data
4. Sistem memberikan konfirmasi apakah
data berhasil dihapus atau tidak
75
 

Tabel 3.18 Penjelasan Use Case tambah pendapatan

Nama Use Case Tambah pendapatan


Aktor Bendahara Penerimaan,
Bendahara Penerimaan Pembantu
Deskripsi Data pendapatan yang baru
Kondisi awal Data baru yang berasal dari Surat Ketetapan
yang sudah disahkan
Urutan jenis kegiatan 1. User memasukkan data pendapatan
sesuai dengan surat ketetapan yang telah
disahkan
2. Data yang dimasukkan disimpan dalam
sistem

Tabel 3.19 Penjelasan Use Case ubah pendapatan

Nama Use Case Ubah pendapatan


Aktor Bendahara Penerimaan,
Bendahara Penerimaan Pembantu
Deskripsi Mengubah data pendapatan
Kondisi awal Data yang akan diubah sudah ada dalam
sistem dan belum disahkan
Urutan jenis kegiatan 1. User meminta data pendapatan yang
akan diubah
2. Sistem menampilkan data pendapatan
yang akan diubah secara rinci
3. User merubah data pendapatan
4. User memberikan perintah untuk
mengubah data
5. Sistem memberikan konfirmasi apakah
data berhasil diubah atau tidak
6. Data yang diubah akan tertampil

Tabel 3.20 Penjelasan Use Case pengesahan pendapatan

Nama Use Case pengesahan pendapatan


Aktor Ka. bag Perbendaharaan
Deskripsi Pengesahan pendapatan
Kondisi awal Data yang akan disahkan sudah ada dalam
sistem
Urutan jenis kegiatan 1. User meminta data pendapatan yang
akan disahkan
2. Sistem menampilakn data pendapatan
76
 

yang belum disahkan


3. User memberikan perintah untuk
melakukan proses pengesahan
4. Data pendapatan berhasil disahkan

Tabel 3.21 Penjelasan Use Case pengesahan laporan

Nama Use Case Pengesahan laporan pendapatan


Aktor BUD
Deskripsi Pengesahan laporan pendapatan
Kondisi awal Data yang akan disahkan sudah ada dalam
sistem
Urutan jenis kegiatan 1. User meminta data laporan pendapatan
yang akan disahkan
2. Sistem menampilakn data laporan
pendapatan yang belum disahkan
3. User memberikan perintah untuk
melakukan proses pengesahan
4. Laporan pendapatan berhasil disahkan

Tabel 3.22 Penjelasan Use Case tambah tabel master

Nama Use Case Tambah tabel master (pegawai, program,


kegiatan, urusan, bidang, organisasi, level,
rekening, prosentase pendapatan, bank,
sanksi)
Aktor Staff TU
Deskripsi Data tabel master yang baru
Kondisi awal Data baru
Urutan jenis kegiatan 1. User memasukkan data tabel master yang
baru
2. User memberikan perintah untuk
menyimpan, muncul konfirmasi apakah
data berhasil disimpan dalam database
atau tidak.
77
 

Tabel 3.23 Penjelasan Use Case ubah tabel master

Nama Use Case Ubah tabel master (pegawai, program,


kegiatan, urusan, bidang, organisasi, level,
rekening, prosentase pendapatan, bank,
sanksi)
Aktor Staff TU
Deskripsi Mengubah data tabel master
Kondisi awal Data yang akan diubah sudah ada dalam
sistem
Urutan jenis kegiatan 1. User memilih tabel yang akan diubah.
2. User mengubah data, dan memberikan
perintah untuk ubah data.
3. Muncul konfirmasi apakah data berhasil
diubah atau tidak.

3.1.6. Pemodelan Dan Analisis Data

3.1.6.1. Diagram Konteks Sistem Informasi Pendapatan Keuangan Daerah

Diagram konteks berguna untuk menggambarkan secara jelas bagaimana

sistem tersebut bekerja., mulai inputan yang dibutuhkan hingga output

yang dihasilkan. Konteks diagram ditampilkan pada gambar 3.12 berikut:


78
 

Gambar 3.12 Diagram Konteks


Sistem Informasi Pendapatan Keuangan Daerah
Dalam sistem ini setiap entitas memberikan inputan dan

mendapatkan output keluaran dengan rincian sebagai berikut :

Tabel 3.24 Daftar entitas

Entitas Input Output


SKPD Data DPA-SKPD, data Data DPA-SKPD, surat
surat ketetapan, data ketetapan, data penyetor
penyetor
PPKD Data DPA-SKPD Data DPA-SKPD
Ka. SKPD Data surat ketetapan Data surat ketetapan
Bendahara Penerimaan Data pendapatan, data Data pendapatan,
surat ketetapan laporan
Bendahara Penerimaan Pembantu Data pendapatan, data Data pendapatan,
surat ketetapan laporan
Ka. bag Perbendaharaan Data pendapatan Data pendapatan,
laporan
BUD Data laporan laporan
Staff TU Data tabel master Data tabel master
79
 

3.1.7. Pemodelan Proses

3.1.7.1. Diagram Berjenjang

Gambar 3.13 Diagram Berjenjang


80
 

3.1.7.2. Diagram Alir Data

3.1.7.2.1. DAD Proses 1

SKPD
2

User valid, Update


no pengunjung
DPA-SKPD
Username,
password

PPKD

Username, 3
password
User valid,
no pengunjung
Surat Ketetapan

Username,
Ka. SKPD password

Username
password 18 pegawai
NIP

1P
Bendahara Username, NIP
Penerimaan password
jabatan
login

no pengunjung

Username, 20 pengunjung
Bendahara Data pengunjung
password
Penerimaan
Pembantu
4
User valid,
no pengunjung
pendapatan
Username,
password

Ka. bag
Perbendaharaan

Username,
password
5
User valid,
no pengunjung
laporan
BUD

     Gambar 3.14 DAD Proses 1


81
 

3.1.7.2.2. DAD Level 1 Proses 2

Gambar 3.15 DAD Level 1 Proses 2


82
 

Gambar 3.16 DAD Level 1 Proses 2 (lanjutan)


83
 

no_urutDPA,
no_urut_detail_dpa_skpd
Data dpa-skpd,
Data detail dpa skpd
SKPD
2.3P
konfirmasi Data detail dpa skpd terupdate
konfirmasi Hapus
DPA-SKPD

konfirmasi
PPKD
konfirmasi
Data dpa skpd terupdate

Kata kunci
2.4P
Kata kunci Data detail dpa skpd
Cari 03 detail_dpa_skpd
Data dpa skpd,
Ka. SKPD Data detail dpa skpd DPA-SKPD

Data dpa skpd


06 dpa_skpd

Bendahara
Penerimaan
Data pengesahan 2.5P
dpa-skpd
Pengesahan Data pengesahan
DPA-SKPD

Bendahara
Penerimaan
Pembantu

Data detail dpa-skpd


Kata kunci 2.6P
Data dpa-skpd

Ka. bag Cetak


Perbendaharaan DPA-SKPD

BUD

Gambar 3.17 DAD Level 1 Proses 2 (lanjutan)


84
 

3.1.7.2.3. DAD Level 1 Proses 3

data detail dpa-skpd 03 detail_dpa_skp


3.1P
konfirmasi
Tambah
Data SK, detail SK Surat ketetapan
konfirmasi
SKPD Data baru
Data detail skp 04 detail_skp
data detail dpa-skpd

Data detail skr 05 detail_skr


3.2P
PPKD
Data SK, detail SK Data skr
Ubah
Surat ketetapan Data skp
Data terupdate
08 edit_detail_skp

Ka. SKPD

Data wajib pajak 09 edit_detail_skr


3.3P
konfirmasi

Data SK, detail SK Hapus


Surat ketetapan Data skr

Bendahara
Penerimaan
Data detail skp

Bendahara
Penerimaan Data skp
Pembantu Kata kunci 3.4P
Data yang dicari/
Data sk Cari Data skp
Surat ketetapan 23 skp

Ka. bag Data skr


Perbendaharaan
24 skr

Data skp

Data skr
26 wajib_pajak
3.5P
BUD konfirmasi

Pengesahan
Data pengesahan Surat ketetapan
Data
sk wajib retribusi
27 wajib_retribusi

Gambar 3.18 DAD Level 1 Proses 3


85
 

Gambar 3.19 DAD Level 1 Proses 3 (lanjutan)


86
 

3.1.7.2.4. DAD Level 1 Proses 4

Gambar 3.20 DAD Level 1 Proses 4


87
 

 Gambar 3.21 DAD Level 1 Proses 4 (lanjutan)


88
 

3.1.7.2.5. DAD Level 1 Proses 5

04 detail_skp
5
SKPD

konfirmasi

05 detail_skr

PPKD

Pengesahan 5.1P
laporan
06 dpa_skpd
Pengesahan
laporan Data detail dpa skpd

Pengguna
03 detail_dpa_skpd
Anggaran

Pengesahan pendapatan

12 lain-lain
Bendahara
Penerimaan
Data dpa skpd
Data detail skp
5.2P
Hasil cetak Data detail skr
laporan
Data pendapatan 16 pendapatan
Cetak laporan Data lain-lain
Kata kunci Data skp
Bendahara
Penerimaan
Pembantu
23 skp

Ka. bag Data skr


24 skr
Perbendaharaan

BUD
konfirmasi

Gambar 3.22 DAD Level 1 Proses 5


89
 

3.1.7.2.6. DAD Level 1 Proses 6

 Gambar 3.23 DAD Level 1 Proses 6


90
 

Gambar 3.24 DAD Level 1 Proses 6 (lanjutan)


91
 

3.2. Perancangan Database

3.2.1. E-R Diagram

Gambar 3.25 E-R Diagram


92
 

3.2.2. Relasional Model

Gambar 3.26 Relasional Model


93
 

3.2.3. Tabel-tabel yang diperlukan

3.2.3.1. Tabel bank

Tabel ini berisi identitas bank.

Tabel 3.25 penjelasan tabel bank

nama field tipe data panjang keterangan


pk no_rekening char 10 Nomor rekening
nama varchar 40 Nama bank

3.2.3.2. Tabel bidang

Tabel ini menyimpan data bidang. Kode bidang dapat berubah

setiap tahun, sesuai dengan perundangan yang berlaku.

Tabel 3. 26 penjelasan tabel bidang

nama field tipe data panjang keterangan


pk no_kode_bidang int 11 Nomor kode bidang
fk no_kode_urusan int 5 Kode urusan
kode_bidang char 5 Kode bidang
uraian varchar 50 Nama uraian
th_anggaran char 4 Tahun anggaran

3.2.3.3. Tabel detail_dpa_skpd

Tabel ini menyimpan data detail DPA-SKPD yaitu rincian DPA-

SKPD baik jumlah dan keteranagn untuk setiap DPA-SKPD.

Tabel 3.27 penjelasan tabel detail_dpa_skpd

nama field tipe data panjang keterangan


pk no_urut_detail_dpa_skpd int 11 Nomor urut detail dpa skpd
fk no_urut_rekening int 11 Kode rekening
uraian varchar 40 Nama uraian
volume double - Volume barang
satuan varchar 20 Satuan barang
harga_satuan double - Harga satuan
fk no_urutDPA int 11 Nomor urut dpa
fk no_pengunjung int 11 User yang mengakses
hapus char 5 Status data hapus/belum
94
 

3.2.3.4. Tabel detail_skp

Tabel ini menyimpan data detail SKP yaitu rincian SKP baik

jumlah dan keterangan untuk setiap SKP.

Tabel 3.28 penjelasan tabel detail_skp

nama field tipe data panjang keterangan


pk no_urut_detail_skp int 11 Nomor urut detail skp
fk no_urut_detail_dpa_skpd int 11 Nomor urut detail dpa
jumlah double - Jumlah
fk no_skp int 11 Nomor urut skp
fk no_pengunjung int 10 User yang mengakses
hapus char 5 Status data hapus/belum

3.2.3.5. Tabel detail_skr

Tabel ini menyimpan data detail SKR yaitu rincian SKR baik

jumlah dan keterangan untuk setiap SKR.

Tabel 3. 29 penjelasan tabel detail_skr

nama field tipe data panjang keterangan


pk no_urut_detail_skr int 11 Nomor urut detail skr
fk no_urut_detail_dpa_skpd int 11 Nomor urut detail dpa
jumlah double - Jumlah
fk no_skr int 11 Nomor urut skr
fk no_pengunjung int 10 User yang mengakses
hapus char 5 Status data hapus/belum

3.2.3.6. Tabel dpa_skpd

Tabel ini menyimpan data DPA-SKPD.

Tabel 3. 30 penjelasan tabel dpa_skpd

nama field tipe data panjang keterangan


pk no_urutDPA int 11 Nomor urut dpa
th_anggaran char 5 Tahun anggaran
fk no_kode_organisasi int 11 Kode organisasi
fk no_kode_kegiatan int 11 Kode kegiatan
triwulan_I double - Jumlah untuk triwulan I
triwulan_II double - Jumlah untuk triwulan II
95
 

triwulan_III double - Jumlah untuk triwulan III


triwulan_IV double - Jumlah untuk triwulan IV
total double - Jumlah keseluruhan
pengesahan int 11 Keterangan pengesahan
tgl_pengesahan varchar 15 Tanggal pengesahan

3.2.3.7. Tabel edit_detail_dpa_skpd

Tabel ini menyimpan data detail DPA-SKPD yaitu rincian setiap

DPA-SKPD yang mengalami proses perubahan data.

Tabel 3.31 penjelasan tabel edit_detail_dpa_skpd

nama field tipe data panjang keterangan


pk no_urut_edit_detail_dpa_skpd int 11 Nomor urut
edit_detail_dpa_skpd
fk no_urut_detail_dpa_skpd int 11 Nomor urut
detail_dpa_skpd
no_urut_rekaning int 15 Kode rekening
uraian varchar 40 Nama uraian
volume double - Volume
satuan varchar 20 Satuan
harga_satuan double - Harga satuan
no_urutDPA int 11 Nomor urut DPA
no_pengunjung char 10 User yang mengakses
tgl_edit datetime - Tanggal terjadi proses edit

3.2.3.8. Tabel edit_detail_skp

Tabel ini menyimpan data detail SKP yaitu rincian setiap SKP yang

mengalami proses perubahan data.

Tabel 3. 32 penjelasan tabel edit_detail_skp

nama field tipe data panjang keterangan


pk no_urut_edit_detail_skp int 11 Nomor urut
edit_detail_skp
fk no_urut_detail_skp int 11 Nomor urut detail_skp
no_urut_detail_dpa_skpd int 11 Nomor urut detail_dpa
jumlah double - Jumlah
no_skp int 11 Nomor urut skp
no_pengunjung int 10 User yang mengakses
tgl_edit datetime - Tanggal terjadi proses edit
96
 

3.2.3.9. Tabel edit_detail_skr

Tabel ini menyimpan data detail SKR yaitu rincian setiap SKR

yang mengalami proses perubahan data.

Tabel 3.33 penjelasan tabel edit_detail_skr

nama field tipe data panjang keterangan


pk no_urut_edit_detail_skr int 11 Nomor urut
edit_detail_skr
fk no_urut_detail_skr int 11 Nomor urut detail_skr
no_urut_detail_dpa_skpd int 11 Nomor urut detail_dpa
jumlah double - Jumlah
no_skr int 11 Nomor urut skr
no_pengunjung int 10 User yang mengakses
tgl_edit datetime - Tanggal terjadi proses edit

3.2.3.10. Tabel edit_pendapatan

Tabel ini menyimpan data pendapatan yaitu pendapatan yang

mengalami proses perubahan data.

Tabel 3.34 penjelasan tabel edit_pendapatan

nama field tipe data panjang keterangan


pk no_urut_ubah_pendapatan int 11 Nomor urut
ubah_pendapatan
fk no_sts int 11 Nomor sts
th_anggaran char 4 Tahun anggaran
tgl_transaksi varchar 12 Tanggal terjadi transaksi
nominal double - Nominal
sanksi double - Sanksi
total double - Total
jenis_bukti char 8 Jenis bukti
no_bukti int 11 Nomor bukti
no_pengunjung int 10 User yang mengakses
tgl_edit datetime - Tanggal terjadi proses edit

3.2.3.11. Tabel kegiatan

Tabel ini menyimpan data kegiatan. Kode kegiatan dapat berubah

setiap tahun, sesuai dengan perundangan yang berlaku.


97
 

Tabel 3.35 penjelasan tabel kegiatan

nama field tipe data panjang keterangan


pk no_kode_kegiatan int 11 Nomor kode kegiatan
fk no_kode_program char 5 Kode program
kode_kegiatan char 5 Kode kegiatan
uraian varchar 80 Nama uraian
th_anggaran char 4 Tahun anggaran

3.2.3.12. Tabel lain_lain

Tabel ini menyimpan data pendapatan yang berasal selain dari SKP

dan SKR.

Tabel 3.36 penjelasan tabel lain-lain

nama field tipe data panjang keterangan


pk no_urut int 11 Nomor urut lain-lain
fk no_urut_rekening int 11 Nomor urut rekening
uraian varchar 40 Keterangan
fk no_urut_pihak_ketiga int 11 Nomor urut pihak ketiga

3.2.3.13. Tabel level

Tabel ini menyimpan data level. Kode level dapat berubah setiap

tahun, sesuai dengan perundangan yang berlaku.

Tabel 3.37 penjelasan tabel level

nama field tipe data panjang keterangan


pk no_level int 11 Nomor level
kode_level int 11 Kode level
uraian varchar 50 Nama uraian
th_anggaran char 4 Tahun anggaran

3.2.3.14. Tabel organisasi

Tabel ini menyimpan data oganisasi. Kode orgaisasi dapat berubah

setiap tahun, sesuai dengan perundangan yang berlaku.


98
 

Tabel 3.38 penjelasan tabel organisasi

nama field tipe data panjang keterangan


pk no_kode_organisasi int 11 Nomor organisasi
fk no_kode_bidang char 5 Kode bidang
kode_organisasi char 5 Kode organisasi
uraian varchar 100 Nama uraian
th_anggaran char 4 Tahun anggaran

3.2.3.15. Tabel pegawai

Tabel ini menyimpan data pegawai yang dapat mengakses

program.

Tabel 3.39 penjelasan tabel pegawai

nama field tipe data panjang keterangan


pk NIP char 10 Nomor Induk Pegawai
nama varchar 40 Nama pegawai
jabatan varchar 40 Jabatan pegawai
alamat varchar 80 Alamat
username varchar 20 Username
password varchar 20 Password

3.2.3.16. Tabel pendapatan

Tabel ini menyimpan data pendapatan yang terjadi.

Tabel 3.40 penjelasan tabel pendapatan

nama field tipe data panjang keterangan


pk no_sts int 11 Nomor sts
th_anggaran char 4 Tahun anggaran
tgl_transaksi varchar 12 Tanggal terjadi transaksi
nominal double - Nominal
sanksi double - Sanksi
total double - Total
jenis_bukti char 15 Jenis bukti pembayaran
fk no_bukti int 11 Nomor bukti
pembayaran
fk no_pengunjung int 10 User yang mengakses
pengesahan int 11 Pengesahan
tgl_pengesahan varchar 15 Tanggal terjadi
pengesahan
99
 

fk no_rekening varchar 15 Tanggal terjadi


pengesahan

3.2.3.17. Tabel pengunjung

Tabel ini menyimpan data pengunjung.

Tabel 3.41 penjelasan tabel pengunjung

nama field tipe data panjang keterangan


pk no_pengunjung int 11 Nomor pengunjung
fk NIP varchar 20 Nomor Induk Pegawai
waktu_login varchar 20 Waktu terjadi proses
login

3.2.3.18. Tabel pihak_ketiga

Tabel ini digunakan untuk menyimpan data pihak ketiga yang

memberikan masukan pendapatan bagi pemerintah.

Tabel 3.42 penjelasan tabel pihak_ketiga

nama field tipe data panjang keterangan


pk no_urut_pihak_ketiga int 11 Nomor urut pihak ketiga
fk nama varchar 80 Nama yang memberi
masukan pendapatan
alamat varchar 50 Alamat asal

3.2.3.19. Tabel program

Tabel ini menyimpan data program. Kode program dapat berubah

setiap tahun, sesuai dengan perundangan yang berlaku.

Tabel 3.43 penjelasan tabel program

nama field tipe data panjang keterangan


pk no_kode_program int 11 Nomor kode program
kode_program char 5 Kode program
uraian varchar 50 Nama uraian program
th_anggaran char 4 Tahun anggaran
100
 

3.2.3.20. Tabel prosentase_pendapatan

Tabel ini menyimpan data prosentase pendapatan, dimana setiap

tahun prosentse pendapatan dapat berubah sesuai dengan perundangan yang

berlaku.

Tabel 3.44 penjelasan tabel prosentase_pendapatan

nama field tipe data panjang keterangan


pk th_anggaran char 4 Tahun anggaran
triwulan_I double - Prosentase untuk
triwulan I
triwulan_II double - Prosentase untuk
triwulan II
triwulan_III double - Prosentase untuk
triwulan III
triwulan_IV double - Prosentase untuk
triwulan IV

3.2.3.21. Tabel rekening

Tabel ini menyimpan data rekening. Kode rekening dapat berubah

setiap tahun, sesuai dengan perundangan yang berlaku.

Tabel 3. 45 penjelasan tabel rekening

nama field tipe data panjang keterangan


pk no_urut_rekening int 11 Nomor urut rekening
fk kode_level int 11 Kode level
kode_rekening char 15 Kode rekening
uraian varchar 80 Nama uraian
th_anggaran char 4 Tahun anggaran

3.2.3.22. Tabel sanksi

Tabel ini menyimpan data sanksi, dimana saksi dapat berubah

setiap tahun sesuai dengan perundangn yang berlaku.


101
 

Tabel 3.46 penjelasan tabel sanksi

nama field tipe data panjang keterangan


pk th_anggaran char 4 Tahun anggaran
sanksi double - sanksi

3.2.3.23. Tabel skp

Tabel ini menyimpan data skp.

Tabel 3.47 penjelasan tabel skp

nama field tipe data panjang keterangan


pk no_skp int 11 Nomor skp
masa varchar 30 Masa
tgl_jatuhTempo varchar 15 Tanggal jatuh tempo
tahun char 4 Tahun
fk NPWPD char 20 Nomor Pokok Wajib
Pajak Daerah
total double - Total
pengesahan int 11 Pengesahan
tgl_pengesahan char 15 Tanggal terjadi proses
pengesahan

3.2.3.24. Tabel skr

Tabel ini menyimpan data skr.

Tabel 3.48 penjelasan tabel skr

nama field tipe data panjang keterangan


pk no_skr int 11 Nomor skr
masa varchar 30 Masa
tgl_jatuTempo varchar 15 Tanggal jatuh tempo
tahun char 4 Tahun
fk NPWRD char 20 Nomor Pokok Wajib
Retribusi Daerah
total double - Total
pengesahan int 11 Pengesahan
tgl_pengesahan char 15 Tanggal terjadi proses
pengesahan
102
 

3.2.3.25. Tabel urusan

Tabel ini menyimpan data urusan. Kode urusan dapat berubah

setiap tahun, sesuai dengan perundangan yang berlaku.

Tabel 3.49 penjelasan tabel skr

nama field tipe data panjang keterangan


pk no_kode_urusan int 11 Nomor kode urusan
kode_urusan char 5 Kode urusan
uraian varchar 50 Nama uraian
th_anggaran char 4 Tahun anggaran

3.2.3.26. Tabel wajib_pajak

Tabel ini menyimpan data wajib pajak.

Tabel 3.50 penjelasan tabel wajib_pajak

nama field tipe data panjang keterangan


pk NPWPD varchar 25 Nomor Pokok Wajib
Pajak Daerah
nama varchar 50 Nama
alamat varchar 50 Alamat

3.2.3.27. Tabel wajib_retribusi

Tabel ini menyimpan data wajib retribusi.

Tabel 3.51 penjelasan tabel wajib_retribusi

nama field tipe data panjang keterangan


pk NPWRD varchar 25 Nomor Pokok Wajib
Retribusi Daerah
nama varchar 50 Nama
alamat varchar 50 Alamat
103
 

3.2.4. Desain Input Output

3.2.4.1. Form Login

Desain form untuk melakukan proses login ditampilkan pada

gambar 3.27 berikut:

 
Gambar 3.27 Form Login

3.2.4.2. Form Tambah DPA-SKPD

Desain form untuk melakukan proses tambah DPA-SKPD

ditampilkan pada gambar 3.28 berikut:

 
Gambar 3.28 Form Tambah DPA-SKPD
104
 

3.2.4.3. Form Tambah Detail DPA-SKPD

Desain form untuk melakukan proses tambah detail DPA-SKPD

ditampilkan pada gambar 3.29 berikut:

Detail DPA-SKPD

Tambah Detail DPA-SKPD

Rekening Pilih Rekening

Uraian

volume

Satuan Event

Simpan Batal
 
Gambar 3.29 Form Tambah Detail DPA-SKPD

3.2.4.4. Form Ubah Detail DPA-SKPD

Desain form untuk melakukan proses ubah detail DPA-SKPD

ditampilkan pada gambar 3.30 berikut:

 
Gambar 3.30 Form Ubah Detail DPA-SKPD
105
 

3.2.4.5. Form Hapus Detail DPA-SKPD

Desain form untuk melakukan proses hapus detail DPA-SKPD

ditampilkan pada gambar 3.31 berikut:

Hapus Detail DPA-SKPD


Hapus Detail DPA-SKPD

Kode Rekening
Rekening
Uraian
Volume
Satuan
Harga Satuan

Hapus Batal

Gambar 3.31 Form Hapus Detail DPA-SKPD

3.2.4.6. Form Tambah SKP

Desain form untuk melakukan proses tambah Surat Ketetapan

Pajak (SKP) ditampilkan pada gambar 3.32 berikut:

SKP
Tambah SKP

Masa Awal
Masa Akhir
Jatuh Tempo
Tahun 2008

NPWPD

Simpan Batal

Gambar 3.32 Form Tambah SKP


106
 

3.2.4.7. Form Tambah Detail SKP

Desain form untuk melakukan proses tambah detail Surat

Ketetapan Pajak (SKP) ditampilkan pada gambar 3.33 berikut:

 
Gambar 3.33 Form Tambah Detail SKP

3.2.4.8. Form Ubah Detail SKP

Desain form untuk melakukan proses ubah Detail Surat Ketetapan

Pajak (SKP) ditampilkan pada gambar 3.34 berikut:

Gambar 3.34 Form Ubah Detail SKP

3.2.4.9. Form Hapus Detail SKP

Desain form untuk melakukan proses hapus Detail Surat Ketetapan

Pajak (SKP) ditampilkan pada gambar 3.35 berikut:


107
 

Gambar 3.35 Form Hapus Detail SKP

3.2.4.10. Form Tambah SKR

Desain form untuk melakukan proses tambah Surat Ketetapan

Retribusi (SKR) ditampilkan pada gambar 3.36 berikut:

Gambar 3.36 Form Tambah SKR

3.2.4.11. Form Tambah Detail SKR

Desain form untuk melakukan proses tambah Detail Surat

Ketetapan Retribusi (SKR) ditampilkan pada gambar 3.37 berikut:


108
 

Gambar 3.37 Form Tambah Detail SKR

3.2.4.12. Form Ubah Detail SKR

Desain form untuk melakukan proses ubah Detail Surat Ketetapan

Retribusi (SKR) ditampilkan pada gambar 3.38 berikut:

Ubah SKR

Ubah SKR

Uraian
NPWRD
Jumlah

Ubah Batal

Gambar 3.38 Form Ubah Detail SKR

3.2.4.13. Form Hapus Detail SKR

Desain form untuk melakukan proses hapus Detail Surat Ketetapan

Retribusi (SKR) ditampilkan pada gambar 3.39 berikut:


109
 

Gambar 3.39 Form Hapus Detail SKR

3.2.4.14. Form Tambah Wajib Pajak

Desain form untuk melakukan proses tambah wajib pajak

ditampilkan pada gambar 3.40 berikut:

Gambar 3.40 Form Tambah Wajib Pajak

3.2.4.15. Form Tambah Wajib retribusi

Desain form untuk melakukan proses tambah wajib retribusi

ditampilkan pada gambar 3.41 berikut:


110
 

Gambar 3.41 Form Tambah Wajib Retribusi

3.2.4.16. Form Tambah Pihak Ketiga

Desain form untuk melakukan proses tambah pihak ketiga

ditampilkan pada gambar 3.42 berikut:

Gambar 3.42 Form Tambah Pihak Ketiga

3.2.4.17. Form Tambah Pendapatan

Desain form untuk melakukan proses tambah pendapatan

ditampilkan pada gambar 3.43 berikut:

Gambar 3.43 Form Tambah Pendapatan


111
 

3.2.4.18. Form Tambah Pendapatan dari SK

Desain form untuk melakukan proses tambah pendapatan yang

berasal dari surat ketetapan ditampilkan pada gambar 3.44 berikut:

Pendapatan

Tahun Anggaran 2009

Jenis Ketetapan skp

Nomor Bukti
Tanggal Transaksi
Bank Pilih Bank

Simpan Batal
 
Gambar 3.44 Form Tambah Pendapatan dari SK

3.2.4.19. Form Tambah Pendapatan Selain dari SK

Desain form untuk melakukan proses tambah pendapatan yang

berasal selain dari surat ketetapan ditampilkan pada gambar 3.45 berikut:

Pendapatan

Tahun Anggaran 2009

Rekening

Uraian

Nominal

Tanggal Transaksi
Asal Pendapatan
Bank Pilih Bank

Simpan Batal
 
Gambar 3.45 Form Tambah Pendapatan Selain dari SK
112
 

3.2.4.20. Form Tambah pihak ketiga

Desain form untuk melakukan proses tambah pihak ketiga

ditampilkan pada gambar 3.46 berikut:

 
Gambar 3.46 Form Tambah pihak ketiga

3.2.4.21. Form Tambah bank

Desain form untuk melakukan proses tambah bank ditampilkan

pada gambar 3.47 berikut:

Tambah bank

Nomor Rekening
Nama Bank

Simpan Batal

 
Gambar 3.47 Form Tambah bank

3.2.4.22. Form Tambah pegawai

Desain form untuk melakukan proses tambah pegawai ditampilkan

pada gambar 3.48 berikut:


113
 

 
Gambar 3.48 Form Tambah pegawai

3.2.4.23. Form Tambah level

Desain form untuk melakukan proses tambah level ditampilkan

pada gambar 3.49 berikut:

 
Gambar 3.49 Form Tambah level

3.2.4.24. Form Tambah rekening

Desain form untuk melakukan proses tambah rekening ditampilkan

pada gambar 3.50 berikut:

 
Gambar 3.50 Form Tambah rekening
114
 

3.3. Stored Procedure yang Diperlukan

Sistem yang dibuat ini menggunakan stored procedure, stored

procedure yang dibutuhkan pada sistem yang dibuat akan dijelaskan pada

tabel 3.52 sedangkan stored procedure penunjang yang lain akan dijelaskan

dalam lampiran.

Tabel 3.52 daftar Stored Procedure

Nama Stored Penjelasan Proses DFD Input dan Tabel dan Field
Procedure Output yang bersangkutan
insertDPA Digunakan Tambah DPA- Input : th Tabel: kegiatan,
untuk proses SKPD anggaran, organisasi, dpa_skpd.
tambah DPA- uraian Field :
SKPD organisasi, no_kode_kegiatan,
uraian no_kode_organisasi,
kegiatan. th_anggaran,
Output : no_kode_organisasi,
konfirmasi no_kode_kegiatan,
triwulan_I,
triwulan_II,
triwulan_III,
triwulan_IV, total,
pengesahan
insertDetail_D Digunakan Tambah DPA- Input : uraian Tabel : dpa_skpd,
PA_SKPD untuk proses SKPD rekening, prosentase_pendapat
tambah detail uraian an, rekening,
DPA-SKPD detail_dpa_skp detail_dpa_skpd.
d, volume, Field:
satuan, no_urut_rekening,
no_urut_dpa, no_urutDPA,
user. no_urut_rekening,
Output : uraian, volume,
konfirmasi satuan, harga_satuan,
no_urutDPA,
no_pengunjung,
hapus, triwulan_I,
triwulan_II,
triwulan_III,
triwulan_IV
insertSKP Digunakan Tambah Surat Input: masa Tabel: skp,
untuk proses Ketetapan awal, masa wajib_pajak
tambah SKP akhir, tgl jatuh Field : masa,
tempo, th tgl_jatuhTempo,
anggaran, tahun, NPWPD,
NPWPD. total, pengesahan
115
 

Output:
konfirmasi
insertSKR Digunakan Tambah Surat Input: masa Tabel :skr.
untuk proses Ketetapan awal, masa Wajib_retribusi.
tambah SKR akhir, tgl jatuh Field : masa,
tempo, th tgl_jatuhTempo,
anggaran, tahun, NPWRD,
NPWRD. total, pengesahan
Output:
konfirmasi
insertDetailSK Digunakan Tambah Surat Input : Tabel : skp,
P untuk proses Ketetapan uraian_dpa, detail_dpa_skpd,
tambah detail no_urut_SKP, dpa_skpd,
SKP user. detail_skp.
Output: Field:
konfirmasi. no_urut_detail_dpa_s
kpd, jumlah, no_skp,
no_pengunjung,
total.
insertDetailSK Digunakan Tambah Surat Input : Tabel : skr,
R untuk proses Ketetapan uraian_dpa, detail_dpa_skpd,
tambah detail no_urut_SKR, dpa_skpd, detail_skr.
SKR user. Field:
Output: no_urut_detail_dpa_s
konfirmasi. kpd, jumlah, no_skr,
no_pengunjung,
total.
insert_Pendap Digunakan Tambah Input : tahun Tabel: skp, skr, bank
atan untuk proses Pendapatan anggaran, tgl Field: th_anggaran,
tambah transaksi, jenis pendapatan,
pendapatan yang bukti, nomor tgl_transaksi,
berasal dari SKP bukti, nama nominal, sanksi,
dan SKR bank, user. total, jenis_bukti,
Output: no_bukti,
konfirmasi no_pengunjung,
pengesahan,
tgl_pengesahan,
no_rekening
insert_pendapa Digunakan Tambah Input : tahun Tabel: bank,
tan_lain untuk proses Pendapatan anggaran, tgl rekening, lain_lain,
tambah transaksi, jenis pihak_ketiga,
pendapatan bukti, nomor pendapatan.
selain dari SKP bukti, nama Field: th_anggaran,
dan SKR bank, user. tgl_transaksi,
Output: nominal, sanksi,
konfirmasi total, jenis_bukti,
no_bukti,
no_pengunjung,
pengesahan,
tgl_pengesahan,
116
 

no_rekening,
no_urut_rekening,
uraian,
no_urut_pihak_ketig
a
editDetail_DP Digunakan Ubah DPA- Input: Tabel:
A untuk proses SKPD no_urut_detail detail_dpa_skpd,
edit detail DPA- _dpa, uraian dpa_skpd, rekening,
SKPD rekening, edit_detail_dpa_skpd
uraian .
detail_dpa, Field:
volume, no_urut_detail_dpa_s
satuan, user. kpd,
Output:konfir no_urut_rekening,
masi uraian, volume,
satuan, harga_satuan,
no_urutDPA,
no_pengunjung,
tgl_edit,
no_urut_rekening,
no_urutDPA,
no_urut_rekening,
uraian, volume,
satuan, harga_satuan,
no_urutDPA,
no_pengunjung,
hapus, triwulan_I,
triwulan_II,
triwulan_III,
triwulan_IV
edit_detail_sk Digunakan Ubah Surat Input: Tabel: detail_skp,
p untuk proses Ketetapan no_urut_detail detail_dpa_skpd,
edit detail SKP _skp, uraian dpa_skpd, skp,
dpa, user. detail_skp,
Output: edit_detail_skp.
konfirmasi. Field:
no_urut_detail_skp,
no_urut_detail_dpa_s
kpd, jumlah, no_skp,
no_pengunjung,
tgl_edit,
no_urut_detail_dpa_s
kpd, jumlah, no_skp,
no_pengunjung,
total.
edit_detail_skr Digunakan Ubah Surat Input: Tabel: detail_skr,
untuk proses Ketetapan no_urut_detail detail_dpa_skpd,
edit detail SKR _skr, uraian dpa_skpd, skr,
dpa, user. detail_skp,
Output: edit_detail_skr.
117
 

konfirmasi. Field:
no_urut_detail_skr,
no_urut_detail_dpa_s
kpd, jumlah, no_skr,
no_pengunjung,
tgl_edit,
no_urut_detail_dpa_s
kpd, jumlah, no_skr,
no_pengunjung,
total.
editPendapata Digunakan Ubah Input: no_sts, Tabel: pendapatan,
n untuk proses Pendapatan th anggaran, edit_pendapatan,
edit pendapatan tgl transaksi, skp, skr.
jenis bukti, Field: no_sts,
nomor bukti, th_anggaran,
nama bank, tgl_transaksi,
user. nominal, sanksi,
Output: total, jenis_bukti,
konfirmasi no_bukti,
no_pengunjung,
tgl_edit, total,
tgl_jatuhTempo.
hapus_DPA_d Digunakan Hapus DPA- Input: Tabel: dpa_skpd,
etail untuk proses SKPD no_urut_detail detail_dpa_skpd,
hapus detail _dpa_skpd, prosentase_pendapat
DPA-SKPD user. an
Output: Field: hapus,
konfirmasi triwulan_I,
triwulan_II,
triwulan_III,
triwulan_IV, total.
hapus_detail_s Digunakan Hapus Surat Input: uraian Tabel: skp,
kp untuk proses Ketetapan dpa_no_urut_s detail_dpa_skpd,
hapus detail kp, user dpa_skpd, detail_skp
SKP Output: Field:
konfirmasi no_urut_detail_dpa_s
kpd, jumlah, no_skp,
no_pengunjung, total
hapus_detail_s Digunakan Hapus Surat Input: uraian Tabel: skr,
kr untuk proses Ketetapan dpa_no_urut_s detail_dpa_skpd,
hapus detail kr, user dpa_skpd, detail_skr
SKP Output: Field:
konfirmasi no_urut_detail_dpa_s
kpd, jumlah, no_skr,
no_pengunjung, total
insertWajibPaj Digunakan Tambah Input : Tabel: wajib_pajak.
ak untuk proses penyetor NPWPD, Field: NPWPD,
tambah wajib nama, alamat. nama, alamat
pajak Output:
konfirmasi
118
 

insertWajibRet Digunakan Tambah Input : Tabel:


ribusi untuk proses penyetor NPWRD, wajib_retribusi.
tambah wajib nama, alamat. Field: NPWRD,
retribusi Output: nama, alamat
konfirmasi
insert_pihak_k Digunakan Tambah Input : nama, Tabel :
etiga untuk proses pihak_ketiga alamat. pihak_ketiga
tambah pihak Output: Field: nama,alamat
ketiga konfirmasi
editWajib_Paj Digunakan Ubah penyetor Input : Tabel: wajib_pajak.
ak untuk proses NPWPD, Field: NPWPD,
edit wajib pajak nama, alamat. nama, alamat
Output:
konfirmasi
editWajib_Ret Digunakan Ubah penyetor Input : Tabel:
ribusi untuk proses NPWRD, wajib_retribusi.
edit wajib nama, alamat. Field: NPWRD,
retribusi Output: nama, alamat
konfirmasi
edit_pihak_ket Digunakan Ubah Input : nama, Tabel :
iga untuk proses pihak_ketiga alamat. pihak_ketiga
edit pihak ketiga Output: Field: nama,alamat
konfirmasi
pengesahanDP Digunakan Pengesahan Input : Tabel: dpa_skpd
A_SKPD untuk proses DPA-SKPD no_urutDPA Field: pengesahan,
pengesahan tgl_pengesahan
DPA-SKPD
pengesahanSK Digunakan Pengesahan Input: no_skp Tabel:skp
P untuk proses surat ketetapan Field: pengesahan,
pengesahan SKP tgl_pengesahan
pengesahanSK Digunakan Pengesahan Input: no_skr Tabel:skr
R untuk proses surat ketetapan Field: pengesahan,
pengesahan tgl_pengesahan
SKR
pengesahan_P Digunakan Pengesahan Input: Tabel:pendapatan
endapatan untuk proses pendapatan tgl_transaksi Field: pengesahan,
pengesahan tgl_pengesahan
pendapatan
insertBank Digunakan Tambah tabel Input: Tabel :bank
untuk proses master no_rekening, Field : no_rekening,
tambah bank nama nama
Output:
konfirmasi
insertBidang Digunakan Tambah tabel Input: uraian Tabel: bidang,
untuk proses master urusan, urusan
tambah bidang kode_bidang, Field :
uraian, no_kode_bidang,
th_anggaran no_kode_urusan,
Output : uraian, kode_bidang,
konfirmasi th_anggaran
119
 

insertKegiatan Digunakan Tambah tabel Inputan: uraian Tabel : kegiatan,


untuk proses master program, program
tambah kegiatan kode_kegiatan, Field :
uraian, no_kode_kegiatan,
th_anggaran. no_kode_program,
Output: kode_kegiatan,
konfirmasi uraian, th_anggaran
insertLevel Digunakan Tambah tabel Input : Tabel : level
untuk proses master kode_level, Field : no_level,
tambah level uraian, kode_level, uraian,
th_anggaran. th_anggaran
Output:
konfirmasi
insertOrganisa Digunakan Tambah tabel Input : uraian Tabel: organisasi,
si untuk proses master bidang, bidang
tambah kode_organisa Field :
organisasi si, uraian, no_kode_organisasi,
th_anggaran. no_kode_bidang,
Output : kode_organisasi,
konfirmasi uraian, th_anggaran
insertPegawai Digunakan Tambah tabel Input: NIP, Tabel : pegawai
untuk proses master nama, jabatan, Field : NIP, nama,
tambah pegawai alamat, jabatan, alamat,
username, username, password
password.
Output :
konfirmasi
editBank Digunakan Ubah tabel Input : Tabel : bank
untuk proses master no_rekening, Field: no_rekening,
edit bank nama nama
Output:
konfirmasi
editBidang Digunakan Ubah tabel Input: Tabel: bidang,
untuk proses master no_kode_bida urusan
edit bidang ng , uraian Field :
urusan, no_kode_bidang,
kode_bidang, no_kode_urusan,
uraian, uraian, kode_bidang,
th_anggaran th_anggaran
Output :
konfirmasi
editKegiatan Digunakan Ubah tabel Inputan: Tabel : kegiatan,
untuk proses master no_kode_kegi program
edit kegiatan atan , uraian Field :
program, no_kode_kegiatan,
kode_kegiatan, no_kode_program,
uraian, kode_kegiatan,
th_anggaran. uraian, th_anggaran
Output:
konfirmasi
120
 

editLevel Digunakan Ubah tabel Input : : Tabel : level


untuk proses master no_level , Field : no_level,
edit level kode_level, kode_level, uraian,
uraian, th_anggaran
th_anggaran.
Output:
konfirmasi
editOrganisasi Digunakan Ubah tabel Input : Tabel: organisasi,
untuk proses master no_kode_orga bidang
edit organisasi nisasi, uraian Field :
bidang, no_kode_organisasi,
kode_organisa no_kode_bidang,
si, uraian, kode_organisasi,
th_anggaran. uraian, th_anggaran
Output :
konfirmasi
editPegawai Digunakan Ubah tabel Input: NIP, Tabel : pegawai
untuk proses master nama, jabatan, Field : NIP, nama,
edit pegawai alamat, jabatan, alamat,
username, username, password
password.
Output :
konfirmasi
login Digunakan Login Input: Tabel: pegawai,
untuk proses username, pengunjung.
login password Field: NIP,
Output: waktu_login,
kode_kunjung no_pengunjung
an
Login_2 Digunakan Login Input : no_user Tabel: pegawai,
untuk proses Output: pengunjung
login jabatan Field: jabatan
Daftar Stored Procedure yang menggunakan transaksi management akan

ditampilkan pada tabel 3.53 berikut:

Tabel 3.53 daftar Stored Procedure yang menggunakan


transaksi management

Nama
Stored Alasan Keterangan
Procedure
insertDetail_ Penambahan data detail DPA-SKPD dan Kondisi awal AUTOCOMMIT=0
DPA_SKPD mengupdate data DPA-SKPD. Status commit jika data telah berhasil
Mengantisipasi jika terjadi proses dimasukkan ke tabel detail_dpa_skpd dan
tambah data detail DPA-SKPD secara telah berhasil mengupdate data yang ada di
bersamaan, selain itu juga mengantisipasi tabel dpa_skpd untuk triwulan_I,
jika dalam proses tersebut tidak semua triwulan_II, triwulan_III, triwulan_IV,
commit. total.
Status rollback jika data DPA-SKPD telah
121
 

disahkan, data sudah ada di tabel


detail_dpa_skpd.
Setelah proses selesai nilai dari
AUTOCOMMIT dikembalikan ke 1.
insertDetailS Penambahan data detail SKP dan Kondisi awal AUTOCOMMIT=0
KP mengupdate data SKP. Mengantisipasi Status commit jika telah berhasil
jika terjadi proses tambah data detail dimasukkan ke tabel detail_skp dan telah
SKP secara bersamaan, selain itu juga berhasil mengupdate tabel skp untuk total.
mengantisipasi jika dalam proses Status rollback jika data SKP sudah
tersebut tidak semua commit. disahkan, data sudah ada pada tabel
detail_skp
Setelah proses selesai nilai dari
AUTOCOMMIT dikembalikan ke 1.
insertDetailS Penambahan data detail SKR dan Kondisi awal AUTOCOMMIT=0
KR mengupdate data SKR. Mengantisipasi Status commit jika telah berhasil
jika terjadi proses tambah data detail dimasukkan ke tabel detail_skr dan telah
SKR secara bersamaan, selain itu juga berhasil mengupdate tabel skr untuk total.
mengantisipasi jika dalam proses Status rollback jika data SKR sudah
tersebut tidak semua commit. disahkan, data sudah ada pada tabel
detail_skr
Setelah proses selesai nilai dari
AUTOCOMMIT dikembalikan ke 1.
insert_penda Penambahan data pendapatan, selain itu Kondisi awal AUTOCOMMIT=0
patan_lain juga terjadi penambahan data pada tabel Status commit jika data telah berhasil
lain-lain. Jadi untuk mengantisipasi jika dimasukkan ke tabel lain_lain dan
ada proses yang tidak dapat diselesaikan. pendapatan.
Status rollback jika ada proses yang tidak
berhasil baik itu memasukkan data ke tabel
lain_lain maupun pendapatan.
Setelah proses selesai nilai dari
AUTOCOMMIT dikembalikan ke 1.
editDetail_D Mengupdate detail DPA-SKPD, tambah Kondisi awal AUTOCOMMIT=0
PA tabel edit_detail_dpa_skpd dan update Status commit jika data lama berhasil
DPA-SKPD. Mengantisipasi jika terjadi dimasukkan ke tabel edit_detail_dpa_skpd,
proses edit detail DPA-SKPD secara berhasil mengupdate tabel dpa dan tabel
bersama. Selain itu juga mengantisipasi dpa_skpd.
jika terjadi proses tambah detail DPA- Status rollback jika ada proses yang tidak
SKPD maupun hapus detail DPA-SKPD berhasil baik itu me masukkan ke tabel
yang dilakukan secara bersamaan karna edit_detail_dpa_skpd, mengupdate tabel
akan membuat data DPA-SKPD tidak dpa maupun tabel dpa_skpd.
konsisten. Selain itu juga mengantisipasi Setelah proses selesai nilai dari
jika proses tersebut tidak semua commit. AUTOCOMMIT dikembalikan ke 1.
edit_detail_s Mengupdate detail SKP, tambah tabel Kondisi awal AUTOCOMMIT=0
kp edit_detail_skp dan update SKP. Status commit jika data lama berhasil
Mengantisipasi jika terjadi proses edit dimasukkan dalam tabel edit_detail_skp,
detail SKP secara bersama. Selain itu berhasil mengupdate tabel detail_skp dan
juga mengantisipasi jika terjadi proses tabel skp.
tambah detail SKP maupun hapus detail Status rollback jika data yang akan diedit
SKP yang dilakukan secara bersamaan sudah disahkan, data sudah dihapus.
karna akan membuat data SKP tidak Setelah proses selesai nilai dari
konsisten. Selain itu juga mengantisipasi AUTOCOMMIT dikembalikan ke 1.
jika proses tersebut tidak semua commit.
edit_detail_s Mengupdate detail SKR, tambah tabel Kondisi awal AUTOCOMMIT=0
kr edit_detail_skpr dan update SKR. Status commit jika data lama berhasil
Mengantisipasi jika terjadi proses edit dimasukkan dalam tabel edit_detail_skr,
122
 

detail SKR secara bersama. Selain itu berhasil mengupdate tabel detail_skr dan
juga mengantisipasi jika terjadi proses tabel skr.
tambah detail SKR maupun hapus detail Status rollback jika data yang akan diedit
SKR yang dilakukan secara bersamaan sudah disahkan, data sudah dihapus.
karna akan membuat data SKR tidak Setelah proses selesai nilai dari
konsisten. Selain itu juga mengantisipasi AUTOCOMMIT dikembalikan ke 1.
jika proses tersebut tidak semua commit.
editPendapat Mengupdate pendapatan, tambah tabel Kondisi awal AUTOCOMMIT=0
an edit_pendapatan. Mengantisipasi jika Status commit jika data lama berhasil
proses tersebut tidak semua commit. dimasukkan ke tabel edit_pendapatan dan
berhasil mengupdate tabel pendapatan.
Status rollback jika ada proses yang tidak
berhasil baik itu memasukkan data lama ke
tabel edit_pendapatan maupun
mengupdate pendapatan.
Setelah proses selesai nilai dari
AUTOCOMMIT dikembalikan ke 1.
hapus_DPA Memberi tanda data detail DPA-SKPD Kondisi awal AUTOCOMMIT=0
_detail bahwa telah dihapus, mengupdate data Status commit jika berhasil mengupdate
DPA-SKPD. Mengantisipasi jika terjadi tabel dpa_skpd dan tabel detail_dpa_skpd.
tambah maupun edit detail DPA-SKPD Status rollback jika data sudah disahkan
secara bersamaan. Selain itu juga Setelah proses selesai nilai dari
mengantisipasi jika dalam proses AUTOCOMMIT dikembalikan ke 1.
tersebut tidak semuanya commit.
hapus_detail Memberi tanda data detail SKP bahwa Kondisi awal AUTOCOMMIT=0
_skp telah dihapus, mengupdate data SKP. Status commit jika berhasil mengupdate
Mengantisipasi jika terjadi tambah tabel skp dan detail_skp.
maupun edit detail SKP secara Status rollback jika data sudah disahkan.
bersamaan. Selain itu juga Setelah proses selesai nilai dari
mengantisipasi jika dalam proses AUTOCOMMIT dikembalikan ke 1.
tersebut tidak semuanya commit.
hapus_detail Memberi tanda data detail SKR bahwa Kondisi awal AUTOCOMMIT=0
_skp telah dihapus, mengupdate data SKR. Status commit jika berhasil mengupdate
Mengantisipasi jika terjadi tambah tabel skr dan detail_skr.
maupun edit detail SKR secara Status rollback jika data sudah disahkan.
bersamaan. Selain itu juga Setelah proses selesai nilai dari
mengantisipasi jika dalam proses AUTOCOMMIT dikembalikan ke 1.
tersebut tidak semuanya commit.

3.4. Pengujian (Testing)

Pengujian sistem dilakukan berdasarkan contoh-contoh dokumen-

dokumen yang digunakan. Dalam sistem terdapat proses transaksi, dimana

proses transaksi dilakukan dengan menggunakan stored procedure.


BAB IV

IMPLEMENTASI DAN ANALISA HASIL

4.1. Antar Muka Pengguna Sistem

4.1.1. Form Login

Gambar 4.1 Form Login

Dibawah ini merupakan potongan listing untuk koneksi ke

database, disajikan dalam listing 4.1 berikut:

123 
 
124
 

Listing 4.1 koneksi

public class koneksi {


private Connection conn = null;
/** Creates a new instance of Koneksi */
public koneksi() {
try{
System.out.println("Driver Ditemukan");
Class.forName("com.mysql.jdbc.Driver").newInstance();
this.conn = (DriverManager.getConnection(
"jdbc:mysql://localhost:3306/pendapatan",
"staff",
"staff"));

}catch(Exception ex){
ex.printStackTrace();

}
}

public Connection getKoneksi() {


return conn;
}

public void closeKoneksi(){


try {
this.conn.close();
}catch(Exception ex){

}
}
}

Pada listing 4.1 merupakan koneksi ke database, dimana database

yang dipakai adalah pendapatan, host-nya adalah localhost, user-nya adalah

staff, password dari user adalah staff dan port yang dipakai adalah 3306.

Gambar 4.1 merupakan contoh tampilan untuk proses login. Untuk

dapat mengakses sistem informasi pendapatan keuangan daerah ini maka

user harus melakukan proses login terlebih dahulu. Proses login inilah yang

akan menangani pengamanan dalam sistem. User diminta untuk

memasukkan username dan password, maka program akan melakukan

pengecekan apakah proses login tersebut valid atau tidak, jika tidak valid
125
 

maka user diminta untuk mengulang proses login kembali dan muncul

konfirmasi “Proses Login Gagal Silakan Login Kembali”, tetapi jika

valid maka user akan masuk ke halaman sesuai dengan jabatan yang

dimiliki dan data user yang mengakses sistem tersebut akan disimpan

selama user tersebut mengakses sistem.

Potongan listing untuk program yang menangkap nilai input dari form

login disajikan dalam listing 4.2 berikut ini:

Listing 4.2 Login_2.jsp

<%

String user2 = request.getParameter("txt_user");

String pass = request.getParameter("txt_passwd");

if (user2.equalsIgnoreCase("") || pass.equalsIgnoreCase("")) {

System.out.println("Login gagal!");

request.setAttribute("pesan1", "Proses Login Gagal Silakan

Login Kembali");

RequestDispatcher dis =

equest.getRequestDispatcher("Login.jsp");

dis.forward(request, response);

} else {

pengunjung_BO bo = new pengunjung_BO();

int kd_kunjungan = bo.login(user2, pass);

System.out.println("kd kunjungan = " + kd_kunjungan);

pegawai_BO p_bo = new pegawai_BO();

String bag = p_bo.bagian(kd_kunjungan);

System.out.println("bag = " + bag);

if (bag != null) {

session.setAttribute("kd_kunjungan", kd_kunjungan);

System.out.println("sesi = " +

session.getAttribute("kd_kunjungan"));
126
 

if (bag.equals("Ka.SKPD")) {

RequestDispatcher dis =

request.getRequestDispatcher("Ka_SKPD_Halaman_Utama.jsp

");

dis.forward(request, response);

} else if (bag.equals("Pengguna Anggaran")) {

RequestDispatcher dis =

request.getRequestDispatcher("PA_Halaman_Utama.jsp");

dis.forward(request, response);

} else if (bag.equals("Bendahara Penerimaan")) {

RequestDispatcher dis =

request.getRequestDispatcher("BP_Halaman_Utama.jsp");

dis.forward(request, response);

} else if (bag.equals("Bendahara Penerimaan Pembantu")) {

RequestDispatcher dis =

request.getRequestDispatcher("BPP_Halaman_Utama.jsp");

dis.forward(request, response);

} else if (bag.equals("PPKD")) {

RequestDispatcher dis =

request.getRequestDispatcher("PPKD_Halaman_Utama.jsp");

dis.forward(request, response);

} else if (bag.equals("SKPD")) {

RequestDispatcher dis =

request.getRequestDispatcher("SKPD_Halaman_Utama.jsp");

dis.forward(request, response);

} else if (bag.equals("BUD")) {

RequestDispatcher dis =

request.getRequestDispatcher("BUD_Halaman_Utama.jsp");

dis.forward(request, response);

}else if (bag.equals("Staff TU")) {


127
 

RequestDispatcher dis =

request.getRequestDispatcher("Staff_TU_Halaman_Utama.js

p");

dis.forward(request, response);

} else {

request.setAttribute("pesan1", "Proses Login Gagal

Silakan Login Kembali");

RequestDispatcher dis =

request.getRequestDispatcher("Login.jsp");

dis.forward(request, response);

} else {

request.setAttribute("pesan1", "Proses Login Gagal Silakan

Login Kembali");

RequestDispatcher dis =

request.getRequestDispatcher("Login.jsp");

dis.forward(request, response);

%>

Penjelasan potongan listing Login_2.jsp

Proses penerimaan variable yang dimasukkan user dari form login,

terjadi pada baris berikut:

String user2 = request.getParameter("txt_user");

String pass = request.getParameter("txt_passwd");

Untuk penanganan berbagai operasi untuk user, menggunakan class

pengunjung_DAO. Maka dibuat objek dari class tersebut. Statement untuk

membuat objek dari class pengunjung_DAO:


128
 

pengunjung_DAO dao = new pengunjung_DAO(this.conn);

Proses login untuk user ditangani oleh method login dalam class

pengunjung_DAO. Statement yang menunjukkan pemanggilan method

login:

int kd_kunjungan = bo.login(user2, pass);

Method login memberikan nilai kembalian berupa nilai integer yang

merupakan identitas pengunjung dalam sistem. Dalam sistem ini, setiap user

akan mendapatkan halaman indeks yang berbeda sesusai dengan jabatan dan

kewenangannya. Untuk mengetahui bagian dan kewenangan user,

menggunakan method bagian yang ada pada class pegawai_DAO. Statement

yang menunjukkan pemanggilan method bagian:

String bag = p_bo.bagian(kd_kunjungan);

Setelah diketahui bagiannya, maka user akan mendapatkan halaman index

sesuai dengan bagiannya.

Potongan listing method login disajikan dalam listing 4.3 berikut ini:

Listing 4.3 method login


public int login(String username, String password) {

int kodeKunjungan = 0;

CallableStatement csmt = null;

try {

String sql = "{call login(?,?,?)}";

csmt = (CallableStatement) conn.prepareCall(sql);

csmt.setString(1, username);

csmt.setString(2, password);

csmt.registerOutParameter(3, java.sql.Types.INTEGER);

csmt.executeUpdate();
129
 

kodeKunjungan = csmt.getInt(3);

} catch (SQLException ex) {

ex.printStackTrace();

return kodeKunjungan;

Penjelasan method login

Pemanggilan stored procedure dilakukan dengan membuat object

dari class CallableStatement dengan method prepareCall dari objek koneksi.

Statement yang menunjukkan pemanggilan stored procedur login:

String sql = "{call login(?,?,?)}";

csmt = (CallableStatement) conn.prepareCall(sql);

parameter-parameter untuk stored procedure di set, dengan


statement berikut:
csmt.setString(1, username);

csmt.setString(2, password);

parameter out ditangkap dengan statement berikut:


csmt.registerOutParameter(3, java.sql.Types.INTEGER);

parameter yang telah ditangkap disimpan dalam statement berikut:


kodeKunjungan = csmt.getInt(3);

Dalam sisi database, proses login ditangani oleh stored procedure login.

Potongan listing method jabatan disajikan dalam listing 4.4 berikut ini:
130
 

Listing 4.4 method jabatan


public String bagian(int idKunjungan) {

String bag = "";

CallableStatement csmt = null;

try {

String sql = "{call login_2(?,?)}";

csmt = (CallableStatement) conn.prepareCall(sql);

csmt.setInt(1, idKunjungan);

csmt.registerOutParameter(2, java.sql.Types.VARCHAR);

csmt.executeUpdate();

bag = csmt.getString(2);

} catch (SQLException ex) {

ex.printStackTrace();

return bag;

Penjelasan method jabatan

Pemanggilan stored procedure dilakukan dengan membuat object

dari class CallableStatement dengan method prepareCall dari objek koneksi.

Statement yang menunjukkan pemanggilan stored procedur login_2:

String sql = "{call login_2(?,?)}";

csmt = (CallableStatement) conn.prepareCall(sql);

parameter-parameter untuk stored procedure di set, dengan statement

berikut:

csmt.setInt(1, idKunjungan);

parameter out ditangkap dengan statement berikut:

csmt.registerOutParameter(2, java.sql.Types.VARCHAR);
131
 

parameter yang telah ditangkap disimpan dalam statement berikut:

bag = csmt.getString(2);

Dalam sisi database, proses login ditangani oleh stored procedure login_2.

Listing login disajikan dalam listing 4.5 sebagai berikut:

Listing 4.5 Stored procedure login

DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`login`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `login`(
p_username varchar(20), p_password varchar(20),
out kode_kunjungan int)
BEGIN
declare p_nip char(10);
declare p_bag varchar(40);
declare p_waktu_login datetime;
declare akses int;
declare a_password varchar(50);

set p_waktu_login = now();


set a_password = MD5(p_password);
select NIP into p_nip from pegawai where username=p_username and
password=a_password;
insert into pengunjung(NIP, waktu_login)
values(p_nip, p_waktu_login);
select max(no_pengunjung) into kode_kunjungan from pengunjung
order by max(no_pengunjung)desc limit 1;
END$$
DELIMITER ;$$

Penjelasan listing login :

Untuk mengetahui data user yang mengakses maka diambil data

data dari tabel pegawai sesuai dengan username dan password yang

dimasukkan, dimana keamanan password dapat terjaga dengan

menggunakan MD5, sehingga query yang digunakan adalah sebagai berikut:

set a_password = MD5(p_password);


select NIP into p_nip from pegawai where username=p_username
and password=p_password;

setelah mendapatkan data maka data user tersebut disimpan dalam

tabel pengunjung dengan menggunakan query berikut:


132
 

insert into pengunjung(keterangan, waktu_login)


values(p_nip, p_waktu_login);

pada stored procedure tersebut menghasilkan parameter out yang

menyimpan urutan terakhir dari tabel pengunjung yang nantinya digunakan

untuk mengetahui wewenang yang diperoleh dengan menggunakan query

berikut:

select max(no_pengunjung) into kode_kunjungan from

pengunjung order by max(no_pengunjung)desc limit 1;

Untuk mengetahui wewenang pengunjung, menggunakan stored

procedure login_2. Linsting stored procedure login_2 disajikan dalam

listing 4.6 berikut:

Listing 4.6 Stored procedure login_2


DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`login_2`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `login_2`(


p_no_user int, out p_jabatan varchar(40))
BEGIN
select p.jabatan into p_jabatan
from pegawai p, pengunjung u
where u.no_pengunjung = p_no_user and p.NIP = u.NIP;
END$$
DELIMITER ;$$

Penjelasan listing login_2 :

Untuk menampilkan jabatan dari masing-masing user yang

mengakses diperoleh dari tabel pegawai, dengan menggunakan relasi dari

tabel pegawai dan pengunjung, dimana parameter masukkan diperoleh dari

hasil stored procedure login dan keluaran yang diinginkan adalah bagian,

dengan menggunakan query berikut:

select p.jabatan into p_jabatan


from pegawai p, pengunjung u
where u.no_pengunjung = p_no_user and p.NIP = u.NIP;
133
 

4.1.2. Halaman Utama

Gambar 4.2 Form Halaman Utama

Gambar diatas merupakan contoh halaman utama untuk Bendahara

Penerimaa. Sistem ini terdapat delapan user, dimana setiap user memiliki

wewenang yang berbeda-beda. Sesuai dengan validasi yang terdapat pada

proses login, maka jika proses login berhasil maka user akan dapat

mengakses halaman tertentu sesuai dengan bagiannya, tetapi jika proses

login gagal maka user dapat melakukan proses login kembali.


134
 

4.1.3. Pengelolaan DPA-SKPD

4.1.3.1. Tambah DPA-SKPD

Tampilan form tambah DPA-SKPD disajikan dalam gambar 4.3

berikut ini :

Gambar 4.3 Form Tambah DPA-SKPD

Stored procedure yang digunakan untuk melakukan proses tambah

DPA-SKPD adalah insertDPA, listing insertDPA akan disajikan pada listing

4.7 Berikut:

Listing 4.7 Stored procedure insertDPA


DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`insertDPA`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `insertDPA`(
p_th_anggaran char(5), p_organisasi varchar(50),
p_kegiatan varchar(80), out keluaran varchar(100))
BEGIN
declare no_organisasi int;
declare no_kegiatan int;
declare nol double;
declare EXIT HANDLER FOR NOT FOUND select 'proses gagal'
into keluaran;
declare EXIT HANDLER FOR SQLEXCEPTION select 'proses gagal'
into keluaran;
set nol = 0;
select no_kode_kegiatan into no_kegiatan
from kegiatan
where uraian=p_kegiatan and th_anggaran=p_th_anggaran;
select no_kode_organisasi into no_organisasi
from organisasi
where uraian=p_organisasi and th_anggaran=p_th_anggaran;
IF NOT EXISTS(select th_anggaran, no_kode_organisasi,
no_kode_kegiatan
from dpa_skpd
where th_anggaran=p_th_anggaran and no_kode_organisasi=
no_organisasi and no_kode_kegiatan=no_kegiatan)
THEN
insert into dpa_skpd(th_anggaran, no_kode_organisasi,
no_kode_kegiatan, triwulan_I, triwulan_II,
triwulan_III, triwulan_IV, total, pengesahan)
135
 

values (p_th_anggaran, no_organisasi, no_kegiatan,


nol, nol, nol, nol, nol,nol);
select "Data berhasil dimasukkan" into keluaran;
ELSE
select "Data yang dimasukkan sudah ada" into
keluaran;
END IF;

END$$

DELIMITER ;$$

Stored procedure diatas menjelaskan proses tambah DPA-SKPD,

dimana masukkannya adalah tahun anggaran, organisasi dan kegiatan dan

parameter keluarannya berupa konfirmasi. Proses tambah DPA-SKPD ini

akan masuk ke tabel dpa_skpd, dimana no_urutDPA akan terisi dengan

sendirinya karena auto increment, untuk th_anggaran diisi sesuai dengan

masukkan, untuk organisasi masukkannya adalah uraian organisasi yang

diambil dari tabel organisasi tetapi setelah masuk ke tabel dpa_skpd yang

disimpan adalah no_kode_organisasi yang diambil dari tabel organisasi

sesuai dengan uraian organisasi yang dipilih dan dimasukkan ke

no_kode_organisasi, untuk kegiatan masukkannya adalah uraian kegiatan

yang diambil dari tabel kegiatan tetapi setelah masuk ke tabel dpa_skpd

yang disimpan adalah no_kode_kegiatan yang diambil dari tabel kegiatan

sesuai dengan uraian kegiatan yang dipilih dan dimasukkan ke

no_kode_kegiatan. Sebelum memasukkan data ke tabel DPA-SKPD dicek

terlebih dahulu apakah data yang dimasukkan sudah ada dalam tabel atau

belum, dimana data yang tidak boleh sama adalah tahun anggaran,

organisasi dan kegiatan. Jika data yang dimasukkan sama maka akan

muncul konfirmasi “Data yang dimasukkan sudah ada”. Tetapi jika data
136
 

yang dimasukkan belum ada maka data akan masuk ke tabel DPA-SKPD,

dimana nilai triwulan_I, triwulan_II, triwulan_III, triwulan_IV, total diset 0.

4.1.3.2. Tambah Detail DPA-SKPD

Proses tambah Detail DPA-SKPD ini hanya dapat dilakukan untuk

DPA-SKPD yang belum disahkan saja. Berikut ini merupakan form tambah

Detail DPA-SKPD disajikan dalam gambar 4.4 berikut ini

Gambar 4.4 Form Tambah Detail DPA-SKPD

Stored procedure untuk proses tambah Detail DPA-SKPD adalah

insertDetail_DPA_SKPD, listing insertDetail_DPA_SKPD disajikan pada

listing 4.8 serta diperjelas pada tabel 3.53:

Listing 4.8 Stored procedure insertDetail_DPA_SKPD


DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`insertDetail_DPA_SKPD`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`insertDetail_DPA_SKPD`(
p_uraian varchar(100), p_keterangan varchar(100),
p_volume double, p_satuan varchar(20),
p_no_urutDPA int, p_user int, out keluaran varchar(100))
BEGIN
declare p_harga_satuan_event int;
declare p_harga_satuan_pertahun int;
declare prosentase1, prosentase2, prosentase3, prosentase4
double;
declare p_triwulan_I, p_triwulan_II, p_triwulan_III,
p_triwulan_IV, p_total double;
declare tahun char(4);
declare tri_I, tri_II, tri_III, tri_IV, tot double;
declare triwulan double;
declare p_kode_rekening int;
declare th char(4);
137
 

declare EXIT HANDLER FOR NOT FOUND select 'proses gagal' into
keluaran;
declare EXIT HANDLER FOR SQLEXCEPTION select 'proses gagal' into
keluaran;
SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
SET AUTOCOMMIT=0;
START TRANSACTION;

select triwulan_I into triwulan from dpa_skpd where


no_urutDPA=p_no_urutDPA for update;
select th_anggaran into tahun from dpa_skpd where
no_urutDPA=p_no_urutDPA for update;
select triwulan_I into prosentase1 from prosentase_pendapatan
where th_anggaran=tahun for update;
select triwulan_II into prosentase2 from prosentase_pendapatan
where th_anggaran=tahun for update;
select triwulan_III into prosentase3 from prosentase_pendapatan
where th_anggaran=tahun for update;
select triwulan_IV into prosentase4 from prosentase_pendapatan
where th_anggaran=tahun for update;
set tri_I = (0+(p_volume*prosentase1));
set tri_II = (0+(p_volume*prosentase2));
set tri_III = (0+(p_volume*prosentase3));
set tri_IV = (0+(p_volume*prosentase4));
set tot = (0+p_volume);
select ((sum(volume)*prosentase1)+(p_volume*prosentase1)) into
p_triwulan_I from detail_dpa_skpd where no_urutDPA=p_no_urutDPA
for update;
select ((sum(volume)*prosentase2)+(p_volume*prosentase2)) into
p_triwulan_II from detail_dpa_skpd where no_urutDPA=p_no_urutDPA
for update;
select ((sum(volume)*prosentase3)+(p_volume*prosentase3)) into
p_triwulan_III from detail_dpa_skpd where
no_urutDPA=p_no_urutDPA for update;
select ((sum(volume)*prosentase4)+(p_volume*prosentase4)) into
p_triwulan_IV from detail_dpa_skpd where no_urutDPA=p_no_urutDPA
for update;
select (sum(volume)+p_volume) into p_total from detail_dpa_skpd
where no_urutDPA=p_no_urutDPA for update;
set p_harga_satuan_event=p_volume;
set p_harga_satuan_pertahun = (p_volume/12);
select th_anggaran into th from dpa_skpd where
no_urutDPA=p_no_urutDPA for update;

select no_urut_rekening into p_kode_rekening from rekening where


uraian=p_uraian and th_anggaran=th for update;
IF NOT EXISTS (select pengesahan from dpa_skpd where
no_urutDPA=p_no_urutDPA and pengesahan=1)
THEN
IF NOT EXISTS (select uraian,no_urutDPA from detail_dpa_skpd
where uraian=p_keterangan and no_urutDPA=p_no_urutDPA
FOR UPDATE)
THEN
IF(p_satuan='event')
THEN
insert into detail_dpa_skpd(no_urut_rekening,
uraian, volume, satuan, harga_satuan,
no_urutDPA, no_pengunjung, hapus)
values(p_kode_rekening, p_keterangan, p_volume,
p_satuan, p_harga_satuan_event, p_no_urutDPA,
p_user, '-');
138
 

ELSE
insert into detail_dpa_skpd(no_urut_rekening,
uraian, volume, satuan, harga_satuan,
no_urutDPA, no_pengunjung, hapus)
values(p_kode_rekening, p_keterangan, p_volume,
p_satuan, p_harga_satuan_pertahun,
p_no_urutDPA, p_user,'-');

END IF;

IF(triwulan=0)
THEN
update dpa_skpd
set triwulan_I= tri_I, triwulan_II=tri_II ,
triwulan_III= tri_III, triwulan_IV= tri_IV,
total=tot
where no_urutDPA=p_no_urutDPA;
ELSE
update dpa_skpd
set triwulan_I= p_triwulan_I, triwulan_II=
p_triwulan_II,
triwulan_III= p_triwulan_III,triwulan_IV=
p_triwulan_IV,total= p_total
where no_urutDPA=p_no_urutDPA;
END IF;
COMMIT;
select "Data berhasil dimasukkan" into keluaran;
ELSE
select "Data sudah ada dalam tabel" into keluaran;
ROLLBACK;
END IF;
ELSE
select "DPA-SKPD telah disahkan" into keluaran;
END IF;

SET AUTOCOMMIT=1;

END$$
DELIMITER ;$$

Stored procedure diatas menjelaskan proses tambah Detail DPA-

SKPD yang menggunakan transaksi management, dimana masukkannya

adalah rekening, uraian, volume, satuan, no_urutDPA dan user dimana user

diperoleh saat proses login dan parameter keluarannya berupa konfirmasi.

Proses tambah Detail DPA-SKPD ini akan masuk ke tabel detail_dpa_skpd,

pertama user memilih DPA-SKPD yang akan ditambah dan no_urutDPA

tersebut akan disimpan, setelah itu user hanya diminta untuk memasukkan
139
 

rekening, uraian, volume dan satuan. Nilai no_urut_detail_dpa_skpd pada

tabel detail_dpa_skpd akan terisi dengan sendiri karena auto increment, user

memilih rekening dimana yang dimasukkan adalah uraian rekening dari

tabel rekening tapi yang dimasukkan pada tabel detail_dpa_skpd adalah

no_urut_rekening dari tabel rekening. Satuan hanya ada 2 pilihan yaitu

event dan pertahun. Setelah memasukkan data maka dilakukan pencarian

nilai dari triwulan_I dan th_anggaran sesuai dengan no_urutDPA, selain itu

mencari prosentase pendapatan pada tahun yang bersangkutan. Selain itu

juga dilakukan pengecekan apakah DPA-SKPD yang akan ditambahkan

sudah disahkan atau belum jika sudah maka akan muncul konfirmasi “DPA-

SKPD telah disahkan”, pengecakan juga dilakukan untuk uraian dan

no_urutDPA tidak boleh ada yang sama, jika sama maka akan muncul

konfirmasi “Data sudah ada dalam tabel”. Tetapi jika DPA-SKPD

yang akan ditambah belum disahkan dan data tidak sama maka data akan

dimasukkan ke tabel detail_dpa_skpd, dilakukan pengecekan lagi apakah

satuannya event atau pertahun, jika satuan event maka harga_satuannya

sama dengan volume tetapi jika pertahun maka harga_satuannya adalah

volume/12. Selain itu juga akan mengupdate tabel dpa_skpd untuk

triwulan_I, triwulan_II, triwulan_III, triwulan_IV, total.

4.1.3.3. Ubah Detail DPA-SKPD

User memilih detail_dpa_skpd yang akan diubah, dimana

detail_dpa_skpd yang dapat diubah hanya jika DPA-SKPD belum disahkan,


140
 

jika user telah memilih maka akan muncul form ubah detail DPA-SKPD,

sebagai contoh disajikan dalam gambar 4.5 berikut ini:

Gambar 4.5 Form Ubah Detail DPA-SKPD

Stored procedure yang digunakan untuk melakukan proses ubah

Detail DPA-SKPD adalah editDetail_DPA, listing editDetail_DPA akan

disajikan pada listing 4. 9 serta diperjelas pada tabel 3.53:

Listing 4.9 Stored procedure editDetail_DPA


DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`editDetail_DPA`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `editDetail_DPA`(
p_no_urut_detail_dpa_skpd int, p_uraian_rekening varchar(80),
p_uraian varchar(40), p_volume double,
p_satuan varchar(20), p_no_pengunjung char(10),
out keluaran varchar(40))
BEGIN
declare tgl datetime;
declare a_no_urut_rekening int;
declare a_uraian varchar(40);
declare a_volume double;
declare a_satuan varchar(20);
declare a_harga_satuan double;
declare a_no_urutDPA int;
declare harga_satuan_baru double;
declare tahun char(4);
declare tot double;
declare c_no_urut_rekening int;
declare c_no_urutDPA int;
declare c_th char(5);
declare p_triwulan_I, p_triwulan_II, p_triwulan_III,
p_triwulan_IV double;
declare prosentase1, prosentase2, prosentase3, prosentase4
double;

declare EXIT HANDLER FOR NOT FOUND select 'proses gagal' into
keluaran;
declare EXIT HANDLER FOR SQLEXCEPTION select 'proses gagal' into
keluaran;
SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
SET AUTOCOMMIT=0;
START TRANSACTION;
141
 

set tgl = now();


select no_urutDPA into c_no_urutDPA from detail_dpa_skpd where
no_urut_detail_dpa_skpd=p_no_urut_detail_dpa_skpd for update;
select th_anggaran into c_th from dpa_skpd where
no_urutDPA=c_no_urutDPA for update;
select no_urut_rekening into c_no_urut_rekening from rekening
where uraian = p_uraian_rekening and th_anggaran =c_th for
update;
select no_urut_rekening, uraian, volume, satuan, harga_satuan,
no_urutDPA into a_no_urut_rekening, a_uraian, a_volume,
a_satuan, a_harga_satuan, a_no_urutDPA from detail_dpa_skpd
where no_urut_detail_dpa_skpd=p_no_urut_detail_dpa_skpd for
update;
IF(p_satuan='event')
THEN
set harga_satuan_baru = p_volume;
ELSE
set harga_satuan_baru = (p_volume/12);
END IF;

insert into edit_detail_dpa_skpd(no_urut_detail_dpa_skpd,


no_urut_rekening, uraian, volume, satuan, harga_satuan,
no_urutDPA, no_pengunjung, tgl_edit)
values(p_no_urut_detail_dpa_skpd, a_no_urut_rekening, a_uraian,
a_volume, a_satuan, a_harga_satuan,a_no_urutDPA,
p_no_pengunjung, tgl);

update detail_dpa_skpd
set no_urut_rekening=c_no_urut_rekening, uraian=p_uraian,
volume=p_volume, satuan=p_satuan,
harga_satuan=harga_satuan_baru, no_pengunjung=p_no_pengunjung
where no_urut_detail_dpa_skpd=p_no_urut_detail_dpa_skpd;
select th_anggaran into tahun from dpa_skpd where
no_urutDPA=a_no_urutDPA;
select triwulan_I into prosentase1 from prosentase_pendapatan
where th_anggaran=tahun for update;
select triwulan_II into prosentase2 from prosentase_pendapatan
where th_anggaran=tahun for update;
select triwulan_III into prosentase3 from prosentase_pendapatan
where th_anggaran=tahun for update;
select triwulan_IV into prosentase4 from prosentase_pendapatan
where th_anggaran=tahun for update;
select ((total-a_volume)+p_volume) into tot from dpa_skpd where
no_urutDPA=a_no_urutDPA;
set p_triwulan_I = (tot*prosentase1);
set p_triwulan_II = (tot*prosentase2);
set p_triwulan_III = (tot*prosentase3);
set p_triwulan_IV = (tot*prosentase4);

update dpa_skpd
set triwulan_I=p_triwulan_I, triwulan_II=p_triwulan_II,
triwulan_III=p_triwulan_III, triwulan_IV=p_triwulan_IV,
total=tot
where no_urutDPA=a_no_urutDPA;

commit;
select 'Data berhasil diubah' into keluaran;

SET AUTOCOMMIT=1;
END$$
DELIMITER ;$$
142
 

Stored procedure diatas menjelaskan proses ubah Detail DPA-

SKPD dan menggunakan transaksi management, dimana masukkannya

adalah no_urut_detail_dpa_skpd, rekening, uraian, volume, satuan,

no_pengunjung dimana no_pengunjung diperoleh saat proses login atau user

yang mengakses dan parameter keluarannya berupa konfirmasi. Proses ubah

Detail DPA-SKPD ini akan berpengaruh pada tabel detail_dpa_skpd,

dpa_skpd dan edit_detail_dpa_skpd. Data detail_dpa_skpd yang akan

diubah disimpan dalam tabel detail_dpa_skpd, setelah itu data yang baru

yang telah diubah disimpan dalam tabel detail_dpa_skpd, selain itu juga

akan mengupdate tabel dpa_skpd untuk triwulan_I, triwulan_II,

triwulan_III, triwulan_IV, total.

4.1.3.4. Hapus Detail DPA-SKPD

User memilih detail_dpa_skpd yang akan dihapus, dimana

detail_dpa_skpd yang dapat dihapus hanya jika DPA-SKPD belum

disahkan, jika user telah memilih maka akan muncul form hapus detail

DPA-SKPD, sebagai contoh disajikan dalam gambar 4.6 berikut ini:

Gambar 4.6 Form Hapus Detail DPA-SKPD


143
 

Stored procedure yang digunakan untuk melakukan proses hapus

Detail DPA-SKPD adalah hapus_DPA_detail, listing hapus_DPA_detail

akan disajikan pada listing 4.10 serta diperjelas pada tabel 3.53:

Listing 4.10 Stored procedure hapus_DPA_detail


DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`hapus_DPA_detail`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `hapus_DPA_detail`(
p_no_urut_detail_dpa_skpd int, p_user int,
out keluaran varchar(30))
BEGIN
declare tahun char(4);
declare tot double;
declare p_triwulan_I, p_triwulan_II, p_triwulan_III,
p_triwulan_IV double;
declare prosentase1, prosentase2, prosentase3, prosentase4
double;
declare p_no_urutDPA int;
declare p_volume double;
declare EXIT HANDLER FOR NOT FOUND select ('proses gagal')
as keluaran;
declare EXIT HANDLER FOR SQLEXCEPTION select 'proses gagal'
as keluaran;
SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
SET AUTOCOMMIT=0;
START TRANSACTION;

IF EXISTS(select d.no_urutDPA
from dpa_skpd d, detail_dpa_skpd det
where
det.no_urut_detail_dpa_skpd=p_no_urut_detail_dpa_skpd
and det.no_urutDPA=d.no_urutDPA
and d.pengesahan=0)
then
update detail_dpa_skpd
set hapus='ok'
where
no_urut_detail_dpa_skpd=p_no_urut_detail_dpa_skpd;

select no_urutDPA, volume into p_no_urutDPA, p_volume


from detail_dpa_skpd
where
no_urut_detail_dpa_skpd=p_no_urut_detail_dpa_skpd;

select th_anggaran into tahun from dpa_skpd where


no_urutDPA=p_no_urutDPA for update;
select triwulan_I into prosentase1 from
prosentase_pendapatan where th_anggaran=tahun for
update;
select triwulan_II into prosentase2 from
prosentase_pendapatan where th_anggaran=tahun for
update;
select triwulan_III into prosentase3 from
prosentase_pendapatan where th_anggaran=tahun for
update;
144
 

select triwulan_IV into prosentase4 from


prosentase_pendapatan where th_anggaran=tahun for
update;
select (total-p_volume) into tot from dpa_skpd where
no_urutDPA=p_no_urutDPA;
set p_triwulan_I = (tot*prosentase1);
set p_triwulan_II = (tot*prosentase2);
set p_triwulan_III = (tot*prosentase3);
set p_triwulan_IV = (tot*prosentase4);
update dpa_skpd
set triwulan_I=p_triwulan_I,
triwulan_II=p_triwulan_II,
triwulan_III=p_triwulan_III,
triwulan_IV=p_triwulan_IV, total=tot
where no_urutDPA=p_no_urutDPA;
select 'Data berhasil dihapus' into keluaran;
commit;
else
select('Data tidak dapat dihapus karna sudah
disahkan') into keluaran;
rollback;
end if;

SET AUTOCOMMIT=1;
END$$
DELIMITER ;$$

Stored procedure diatas menjelaskan proses hapus Detail DPA-

SKPD dan menggunakan transaksi management, dimana masukkannya

adalah no_urut_detail_dpa_skpd dan no_pengunjung dimana

no_pengunjung diperoleh saat proses login atau user yang mengakses dan

parameter keluarannya berupa konfirmasi. Proses hapus Detail DPA-SKPD

ini akan berpengaruh pada tabel detail_dpa_skpd dan dpa_skpd. Pertama

akan dilakukan proses pengecekan apakah data yang akan dihapus sudah

disahkan atau belum, jika sudah maka akam muncul konfirmasi “Data

tidak dapat dihapus karna sudah disahkan”. Tetapi jika belum

disahkan maka pada tabel detail_dpa_skpd pada data yang bersangkutan

akan diberi flag pada field hapus diberi tanda “ok” yang menandakan kalau

data sudah dihapus dan juga akan mengupdate tabel dpa_skpd untuk nilai

triwulan_I, triwulan_II, triwulan_III, triwulan_IV, total karena akan


145
 

dikurangi volume sesuai dengan data yang dihapus, setelah itu hasil update

akan berubah sesuai dengan prosentase_pendapatan sesuai dengan tahun

anggaran data yang dihapus.

4.1.3.5. Pengesahan DPA-SKPD

Pertama user memilih data DPA-SKPD yang akan disahkan,

dimana data yang akan disahkan belum pernah disahkan sebelumnya.

Sebagai contoh berikut merupakan form pengesahan DPA-SKPD, disajikan

dalam gambar 4.7 berikut ini:

Gambar 4.7 Form Pengesahan DPA-SKPD

Untuk menampilkan form seperti diatas maka dibutuhkan 3 stored

procedure yaitu stored procedure tampil_detail_DPA_kop,

tampil_detail_dpa_isi dan tampil_detail_dpa_isi_2.

Listing 4.11 Stored procedure tampil_detail_DPA_kop


DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`tampil_detail_DPA_kop`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`tampil_detail_DPA_kop`(
p_no_urutDPA int)
BEGIN
declare tahun char(4);
146
 

declare urusan varchar(50);


declare bidang varchar(50);
declare organisasi varchar(50);
declare kd_urusan varchar(4);
declare kd_bidang varchar(5);
declare kd_organisasi varchar(5);
declare kd_program char(4);
declare kd_kegiatan char(4);
declare gab_urusan_bidang varchar(100);
declare gab_kd_urusan_bidang varchar(10);
declare gab_kd_urusan_bidang_organisasi varchar(15);
select th_anggaran into tahun from dpa_skpd where
no_urutDPA=p_no_urutDPA;

select u.kode_urusan, b.kode_bidang, o.kode_organisasi,


u.uraian, b.uraian, o.uraian, p.kode_program, k.kode_kegiatan
into kd_urusan, kd_bidang, kd_organisasi, urusan, bidang,
organisasi, kd_program, kd_kegiatan
from dpa_skpd d, organisasi o, bidang b, urusan u, kegiatan k,
program p
where d.no_urutDPA=p_no_urutDPA and
d.no_kode_organisasi=o.no_kode_organisasi
and o.no_kode_bidang=b.no_kode_bidang and
b.no_kode_urusan=u.no_kode_urusan
and u.th_anggaran=tahun and b.th_anggaran=tahun and
o.th_anggaran=tahun
and k.no_kode_kegiatan=d.no_kode_kegiatan and
k.th_anggaran=tahun and p.no_kode_program=k.no_kode_program;

set gab_urusan_bidang = concat(urusan,' ',bidang);


set gab_kd_urusan_bidang = concat(kd_urusan,'.',kd_bidang);
set gab_kd_urusan_bidang_organisasi =
concat(kd_urusan,'.',kd_bidang,'.', kd_organisasi);
select tahun, gab_kd_urusan_bidang, kd_program,
kd_kegiatan,gab_kd_urusan_bidang_organisasi, gab_urusan_bidang,
organisasi;

END$$

DELIMITER ;$$

Listing 4.12 Stored procedure tampil_detail_dpa_isi


DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`tampil_detail_dpa_isi`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`tampil_detail_dpa_isi`(
p_no_urutDPA int)
BEGIN
select r.kode_rekening, det.uraian, det.volume, det.satuan,
det.harga_satuan
from rekening r, detail_dpa_skpd det
where det.no_urutDPA=p_no_urutDPA and
r.no_urut_rekening=det.no_urut_rekening
order by r.kode_rekening asc;
END$$
DELIMITER ;$$
147
 

Listing 4.13 Stored procedure tampil_detail_dpa_isi_2


DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`tampil_detail_dpa_isi_2`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`tampil_detail_dpa_isi_2`(
p_no_urutDPA int)
BEGIN
select triwulan_I, triwulan_II, triwulan_III, triwulan_IV, total
from dpa_skpd
where no_urutDPA=p_no_urutDPA;
END$$
DELIMITER ;$$

Stored procedure yang digunakan untuk melakukan proses

pengesahan DPA-SKPD adalah pengesahanDPA_SKPD, listing

pengesahanDPA_SKPD akan disajikan pada listing 4.14 Berikut:

Listing 4.14 Stored procedure pengesahanDPA_SKPD


DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`pengesahanDPA_SKPD`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `pengesahanDPA_SKPD`(
p_no_urutDPA int)
BEGIN
declare sekarang date;
declare tahun char(4);
declare bulan char(2);
declare tgl char(2);
declare skrg varchar(12);
set sekarang = now();
set tahun = substr(sekarang,1,4);
set bulan = substr(sekarang,6,2);
set tgl = substr(sekarang, 9,2);
set skrg = concat(tgl,"-", bulan, "-", tahun);
update dpa_skpd
set pengesahan=1, tgl_pengesahan=skrg
where no_urutDPA=p_no_urutDPA;
END$$
DELIMITER ;$$
Stored procedure diatas digunakan untuk proses pengesahan,

dimana masukkannya adalah no_urutDPA, dimana akan berpengaruh pada

tabel dpa_skpd yaitu pada field pengesahan dan tgl_pengesahan, pada

pengesahan akan diupdate menjadi 1 yang menandakan jika DPA-SKPD

sudah disahkan tetapi jika 0 maka DPA-SKPD belum disahkan. Selain itu

tgl_pengesahan akan berisi tanggal saat terjadi proses pengesahan.


148
 

4.1.4. Pembuatan Surat Ketetapan

4.1.4.1. Tambah Surat Ketetapan Pajak Daerah (SKP)

Tampilan form tambah SKP disajikan dalam gambar 4.8 berikut ini

Gambar 4. 8 Form Tambah SKP

Stored procedure yang digunakan untuk melakukan proses tambah

SKPD adalah insertSKP, listing insertSKP akan disajikan pada listing 4.15

Berikut:

Listing 4.15 Stored procedure insertSKP


DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`insertSKP`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `insertSKP`(
p_masa_awal varchar(12), p_masa_akhir varchar(12),
p_tgl_jatuhTempo varchar(15), p_tahun char(4),
p_NPWPD varchar(20), out keluaran varchar(100))
BEGIN
declare gabungan varchar(30);
declare nol double;

declare EXIT HANDLER FOR NOT FOUND select 'proses gagal' into
keluaran;
declare EXIT HANDLER FOR SQLEXCEPTION select 'proses gagal' into
keluaran;
select 0 into nol;
select concat(p_masa_awal,' s/d ',p_masa_akhir) into gabungan;

IF NOT EXISTS(select masa from skp


where masa=gabungan and tahun=p_tahun and
NPWPD=p_NPWPD)
THEN
IF NOT EXISTS(select tgl_jatuhTempo from skp
where tgl_jatuhTempo=p_tgl_jatuhTempo and
tahun=p_tahun and NPWPD=p_NPWPD)
THEN
IF NOT EXISTS(select masa, tgl_jatuhTempo,
tahun,NPWPD from skp where masa=gabungan and
tgl_jatuhTempo=p_tgl_jatuhTempo and
tahun=p_tahun and NPWPD=p_NPWPD)
THEN
149
 

insert into skp(masa, tgl_jatuhTempo,


tahun, NPWPD, total, pengesahan)
values(gabungan, p_tgl_jatuhTempo,
p_tahun, p_NPWPD, nol, nol);
select("Data berhasil dimasukkan") into
keluaran;

ELSE
select("Data skp sudah ada") into
keluaran;

END IF;
ELSE
select "Tanggal jatuh tempo sudah ada"
into keluaran;

END IF;
ELSE
select ("Data masa sudah ada") into keluaran;

END IF;
END$$

DELIMITER ;$$

Stored procedure diatas digunakan untuk proses tambah SKPD,

dimana masukkannya adalah masa awal, masa akhir, tanggal jatuh tempo,

tahun anggaran dan NPWPD, dimana akan berpengaruh pada tabel skp.

Masa awal dan akhir tersebut digunakan untuk menunjukkan masa

berlakunya SKP tersebut. Pada proses penambahan skp tersebut dilakukan

pengecekan apakah data yang akan dimasukkan sudah ada dalam tabel atau

belum, jika sudah ada maka akan muncul pesan “Data skp sudah ada”,

selain itu juga mengecek apakah masa dan tanggal jatuh tempo berdasarkan

NPWPD yang dimasukkan sudah ada atau belum jika sudah ada maka data

tidak dapat dimasukkan, tetapi jika proses tersebut melewati proses

pengecekan maka data tersebut akan dimasukkan ke tabel skp, untuk no_skp

nilainya akan ada dengan sendirinya karena auto increment, masa akan

berisi gabungan dari masa awal dan masa akhir, tgl_jatuhTempo berisikan
150
 

tanggal jatuh tempo yang dimasukkan, tahun berisi tahun anggaran,

NPWPD berisi NPWPD dimana jika NPWPD yang dimasukkan tidak ada

pada tabel wajib_pajak maka data tersebut juga akan mengalami kegagalan

dalam proses tambah skp ini karena tabel skp dan wajib_pajak saling

berelasi. Untuk total dan pengesahan akan berisi 0. Menunjukkan bahwa skp

tersebut belum ada isinya dan belum disahkan.

4.1.4.2. Tambah Detail SKP

Proses tambah Detail SKP akan dijelaskan pada stored procedure

insertDetailSKP, dimana akan disajikan dalam listing 4.16 berikut:

Listing 4.16 Stored procedure insertDetailSKP

DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`insertDetailSKP`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `insertDetailSKP`(
p_uraian_dpa varchar(40), p_no_urutSKP int,
kd int, out keluaran varchar(100))
BEGIN
declare tot double;
declare jml double;
declare total1, total2 double;
declare p_no_urut_detail_dpa_skpd, p_no_urutDPA int;
declare th char(4);
declare EXIT HANDLER FOR NOT FOUND select 'proses gagal'
into keluaran;
declare EXIT HANDLER FOR SQLEXCEPTION select 'proses gagal'
into keluaran;
SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
SET AUTOCOMMIT=0;
START TRANSACTION;

select tahun into th from skp where no_skp=p_no_urutSKP for


update;
select total into tot from skp where no_SKP=p_no_urutSKP for
update;
select dt.no_urut_detail_dpa_skpd, dt.no_urutDPA into
p_no_urut_detail_dpa_skpd, p_no_urutDPA
from detail_dpa_skpd dt, dpa_skpd d
where dt.uraian=p_uraian_dpa and d.th_anggaran=th and
d.no_urutDPA=dt.no_urutDPA FOR UPDATE;
select harga_satuan into jml from detail_dpa_skpd
where no_urut_detail_dpa_skpd=p_no_urut_detail_dpa_skpd for
update;
set total1 = (0+jml);
151
 

select (sum(jumlah)+jml) into total2 from detail_skp where


no_skp=p_no_urutSKP for update;

IF NOT EXISTS (select no_skp from skp where


no_skp=p_no_urutSKP and pengesahan=1 for update)
THEN
IF NOT EXISTS(select no_urut_detail_dpa_skpd from
detail_skp where no_urut_detail_dpa_skpd=
p_no_urut_detail_dpa_skpd and no_skp=p_no_urutSKP for
update)
THEN
insert into detail_skp(no_urut_detail_dpa_skpd,
jumlah, no_skp, no_pengunjung)
values(p_no_urut_detail_dpa_skpd, jml,
p_no_urutSKP, kd);

IF(tot=0)
then
update skp
set total=total1
where no_skp=p_no_urutSKP;
ELSE
update skp
set total=total2
where no_skp=p_no_urutSKP;
END IF;
COMMIT;
select("Data berhasil dimasukkan") into
keluaran;
ELSE
select("Data sudah ada") into keluaran;
ROLLBACK;
END IF;
ELSE
select 'SKP sudah disahkan' into keluaran;
rollback;
END IF;

SET AUTOCOMMIT=1;
END$$
DELIMITER ;$$

Stored procedure diatas digunakan untuk menangani proses

tambah Detail SKP dan stored procedure diatas dilengkapi dengan transaksi

management. Dimana masukkannya adalah uraian yang diperoleh dari tabel

detail_dpa_skpd, no_urutSKP dari tabel skp, user yang mengakses dimana

data user tersebut diperoleh saat melakukan proses login dan keluarannya

berupa konfirmasi. Pada proses tambah detail skp ini hanya dapat dilakukan

jika skp yang dipilih belum disahkan. Proses pengecekan yang dilakukan
152
 

dalam stored procedure adalah apakah skp sudah disahkan atau belum, jika

belum maka proses dapat dijalankan, selain itu juga dicek apakah data yang

akan dimasukkan tersebut sudah ada dalam tabel atau belum, jika sudah ada

maka proses gagal dilakukan tetapi jika belum ada maka proses tambah

detail skp ini akan dilakukan, dimana proses detail skp ini akan berpengaruh

pada tabel detail_skp dan skp. Untuk tabel detail_skp akan berpengaruh

pada field no_urut_detail_dpa_skpd berisi nomor yang diperoleh dari uraian

yang berasal dari tabel detail_dpa_skpd, jumlah akan berisi harga satuan

dari tabel detail_dpa_skpd sesuai dengan no_urut_detail_dpa_skpd yang

dipilih, no_pengunjung berisi id user yang melakukan proses tersebut.

Selain itu juga berpengaruh pada tabel skp dimana akan terjadi proses

update untuk total, sebelumnya dilakukan proses pengecekan apakah total

pada skp yang bersangkutan berisi 0 atau bukan jika 0 maka nilai total yang

akan diupdate sama dengan harga satuan tetapi jika tidak maka nilai total

yang ada pada tabel skp ditambah dengan harga satuan.

4.1.4.3. Ubah Detail SKP

Proses ubah Detail SKP ini hanya dapat dilakukan jika SKP yang

bersangkutan belum disahkan. User memilih data yang akan diubah pada

tabel detail_skp, setelah itu akan muncul form yang berisi data yang akan

diubah tersebut. Sebagai contoh form ubah detail SKP disajikan dalam

gambar 4. 9 berikut ini:  

 
153
 

Gambar 4. 9 Form Ubah Detail SKP

Stored procedure yang digunakan untuk melakukan proses ubah

Detail SKPD adalah edit_detail_skp, listing edit_detail_skp akan disajikan

pada listing 4.17 serta diperjelas pada tabel 3.53:

Listing 4.17 Stored procedure edit_detail_skp


DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`edit_detail_skp`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `edit_detail_skp`(
p_no_urut_detail_skp int, p_uraian_dpa varchar(40),
p_user int, out keluaran varchar(40))
BEGIN
declare e_no_urutDetail_dpa, e_no_urutSKP int;
declare e_jumlah double;
declare tgl datetime;
declare total_akhir double;
declare jml double;
declare p_no_urut_detail_dpa_skpd, p_no_urutDPA int;
declare th char(4);

declare EXIT HANDLER FOR NOT FOUND select 'proses gagal' into
keluaran;
declare EXIT HANDLER FOR SQLEXCEPTION select 'proses gagal' into
keluaran;
SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
SET AUTOCOMMIT=0;
START TRANSACTION;

set tgl = now();


select no_urut_detail_dpa_skpd, jumlah, no_skp into
e_no_urutDetail_dpa, e_jumlah, e_no_urutSKP
from detail_skp where
no_urut_detail_skp=p_no_urut_detail_skp for update;
select tahun into th from skp where no_skp=e_no_urutSKP;
select dt.no_urut_detail_dpa_skpd, dt.no_urutDPA into
p_no_urut_detail_dpa_skpd,p_no_urutDPA
from detail_dpa_skpd dt, dpa_skpd d
where dt.uraian=p_uraian_dpa and d.th_anggaran=th and
d.no_urutDPA=dt.no_urutDPA FOR UPDATE;
select harga_satuan into jml from detail_dpa_skpd
where no_urut_detail_dpa_skpd=p_no_urut_detail_dpa_skpd for
update;
select ((total-e_jumlah)+jml) into total_akhir from skp where
no_skp=e_no_urutSKP;
154
 

IF EXISTS(select dt.no_skp
from detail_skp dt, skp s
where dt.no_skp=s.no_skp and pengesahan=0 and
dt.no_urut_detail_skp=p_no_urut_detail_skp for update)
THEN
IF EXISTS(select no_urut_detail_skp from detail_skp where
no_urut_detail_skp=p_no_urut_detail_skp and hapus='-')
then
update detail_skp
set no_urut_detail_dpa_skpd=p_no_urut_detail_dpa_skpd,
jumlah=jml, no_pengunjung=p_user
WHERE no_urut_detail_skp=p_no_urut_detail_skp;
update skp
set total=total_akhir
where no_skp=e_no_urutSKP;
insert into edit_detail_skp(no_urut_detail_skp,
no_urut_detail_dpa_skpd, jumlah, no_skp, no_pengunjung,
tgl_edit)
values(p_no_urut_detail_skp, e_no_urutDetail_dpa, e_jumlah,
e_no_urutSKP, p_user, tgl);
commit;
select 'Data berhasil diubah' into keluaran;
else
select 'Data sudah dihapus' into keluaran;
end if;

ELSE
select ('SKP sudah di sahkan') into keluaran;
rollback;
end if;
SET AUTOCOMMIT=1;
END$$

DELIMITER ;$$

Stored procedure diatas digunakan untuk menangani proses ubah

detail SKP dimana pada stored procedure diatas dilengkapi dengan

transaksi management. Masukkannya berupa no_urut_detail_skp yang akan

diubah, uraian yang diperoleh dari tabel detail_dpa_skpd user dan

keluarannya berupa konfirmasi. Proses ini hanya akan dapat dilakukan jika

SKP yang berhubungan belum disahkan. Dalam stored procedure diatas

terdapat pengecekan apakah SKP yang bersangkutan sudah disahkan atau

belum, selain itu juga mengecek apakah SKP yang bersangkutan sudah

dihapus atau belum. SKPD sudah disahkan jika nilai pengesahan 0 dan
155
 

sudah dihapus jika nilai hapus “ok”. Jika SKP yang bersangkutan sudah

disahkan dan dihapus maka proses ubah tidak dapat dilakukan, tetapi jika

belum maka proses ubah dilakukan. Proses tersebut akan berpengaruh pada

tabel detail_skp, edit_detail_skp dan skp. pada tabel detail_skp yang akan

berubah adalah nilai dari no_urut_detail_dpa_skpd dan jumlah. Data yang

akan diubah disimpan dalam tabel edit_detail_skp untuk history. Pada tabel

skp juga terjadu proses update yaitu untuk total, nilai total akan diperolah

dengan cara nilai total sebelum terjadi proses ubah dikurangi dengan jumlah

sebelum diubah setelah itu baru ditambah dengan jumlah data yang baru.

4.1.4.4. Form Hapus Detail SKP

Proses hapus Detail SKP ini hanya dapat dilakukan jika SKP yang

bersangkutan belum disahkan dan belum dihapus. User memilih data yang

akan dihapus pada tabel detail_skp, setelah itu akan muncul form yang

berisi data yang akan dihapus tersebut. Sebagai contoh form hapus detail

SKP disajikan dalam gambar 4.10 berikut ini: 

Gambar 4. 10 Form Ubah Detail SKP

Stored procedure yang digunakan untuk melakukan proses hapus

detail SKPD adalah hapus_detail_skp, listing hapus_detail_skp akan

disajikan pada listing 4.18 serta diperjelas pada tabel 3.53::


156
 

Listing 4.18 Stored procedure hapus_detail_skp


DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`hapus_detail_skp`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `hapus_detail_skp`(
p_no_urut_detail_skp int, p_user int, out keluaran varchar(40))
BEGIN
declare p_no_urutDetail_dpa int;
declare p_jumlah double;
declare p_no_urutSKP int;
declare total_akhir double;
declare EXIT HANDLER FOR NOT FOUND select ('proses gagal')into
keluaran;
declare EXIT HANDLER FOR SQLEXCEPTION select 'proses gagal' into
keluaran;

SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;


SET AUTOCOMMIT=0;
START TRANSACTION;

IF EXISTS(select s.no_skp
from detail_skp d, skp s
where d.no_urut_detail_skp=p_no_urut_detail_skp and
d.no_skp=s.no_skp and s.pengesahan=0)
THEN

select no_urut_detail_dpa_skpd, jumlah, no_skp


into p_no_urutDetail_dpa, p_jumlah, p_no_urutSKP
from detail_skp
where no_urut_detail_skp=p_no_urut_detail_skp for
update;
select (total-p_jumlah) into total_akhir from skp where
no_skp=p_no_urutSKP;
update detail_skp
set hapus='ok'
where no_urut_detail_skp=p_no_urut_detail_skp;

update skp
set total=total_akhir
where no_skp=p_no_urutSKP;

commit;
select 'Data berhasil dihapus' into keluaran;
ELSE
rollback;
select "SKP sudak disahkan" into keluaran;
END IF;
SET AUTOCOMMIT=1;
END$$

DELIMITER ;$$

Stored procedure diatas digunakan untuk proses hapus detail SKP

selain itu stored procedure ini dilengkapi dengan transaksi management.

Masukkan untuk stored procedure ini adalah no_urut_detail_skp dan user,


157
 

keluaran berupa konfirmasi. Proses ini hanya dapat dilakukan jika SKPD

yang bersangkutan belum disahkan. Tabel yang berpengaruh pada proses ini

adalah tabel detail_skp dan skp. Dalam stored procedure tersebut terjadi

proses pengecekan apakah SKP yang bersangkutan sudah disahkan atau

belum, jika sudah maka proses tidak akan dilakukan tetapi jika belum

disahkan maka pada tabel detail_skp dan pada no_urut_detail_skp yang

bersangkutan akan diberi tanda yaitu pada field hapus bernilai “ok”, selain

itu juga akan mengupdate tabel skp yaitu untuk field total, dimana nilai total

dikurangi dengan jumlah yang ada pada tabel detail_skp berdasarkan

no_urut_detail_skp yang bersangkutan.

4.1.4.5. Pengesahan SKP

Berikut ini merupakan contoh form pengesahan SKP disajikan pada

gambar 4.11 berikut:

Gambar 4.11 Form Pengesahan SKP

Stored procedure yang digunakan untuk melakukan proses

pengesahan SKP adalah pengesahanSKP, listing pengesahanSKP akan

disajikan pada listing 4.19 Berikut:


158
 

Listing 4.19 Stored procedure pengesahanSKP


DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`pengesahanSKP`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `pengesahanSKP`(
p_no_skp int)
BEGIN
declare sekarang date;
declare tahun char(4);
declare bulan char(2);
declare tgl char(2);
declare skrg varchar(12);
select now() into sekarang;
select substr(sekarang,1,4) into tahun;
select substr(sekarang,6,2) into bulan;
select substr(sekarang, 9,2) into tgl;
select concat(tgl,"-", bulan, "-", tahun) into skrg;

update skp
set pengesahan=1, tgl_pengesahan=skrg
where no_skp=p_no_skp;
END$$
DELIMITER ;$$

Stored procedure diatas digunakan untuk proses pengesahan,

dimana masukkannya adalah p_no_skp, dimana akan berpengaruh pada

tabel skp yaitu pada field pengesahan dan tgl_pengesahan, pada pengesahan

akan diupdate menjadi 1 yang menandakan jika SKP sudah disahkan tetapi

jika 0 maka SKP belum disahkan. Selain itu tgl_pengesahan akan berisi

tanggal saat terjadi proses pengesahan.

4.1.4.6. Tambah Surat Ketetapan Retribusi (SKR)

Tampilan form tambah SKR disajikan dalam gambar 4. 12 berikut ini

Gambar 4.12 Form Tambah SKR


159
 

Stored procedure yang digunakan untuk melakukan proses tambah

SKR adalah insertSKR, listing insertSKR akan disajikan pada listing 4. 20

Berikut:

Listing 4.20 Stored procedure insertSKR


DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`insertSKR`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `insertSKR`(
p_masa_awal varchar(12), p_masa_akhir varchar(12),
p_tgl_jatuhTempo varchar(12),p_tahun char(4),
p_NPWRD varchar(20), out keluaran varchar(50))
BEGIN
declare nol int default 0;
declare p_masa varchar(30);
declare EXIT HANDLER FOR NOT FOUND select 'proses gagal' as
keluaran;
declare EXIT HANDLER FOR SQLEXCEPTION select 'proses gagal'
as keluaran;
select concat(p_masa_awal,' s/d ',p_masa_akhir) into p_masa;
IF NOT EXISTS (select masa from skr where masa=p_masa
and tahun=p_tahun and NPWRD=p_NPWRD FOR UPDATE)
THEN
IF NOT EXISTS(select tgl_jatuhTempo from skr
where tgl_jatuhTempo=p_tgl_jatuhTempo and
tahun=p_tahun and NPWRD=p_NPWRD FOR UPDATE)
THEN
IF NOT EXISTS(select masa,
tgl_jatuhTempo, tahun, NPWRD from skr
where masa=p_masa and
tgl_jatuhTempo=p_tgl_jatuhTempo and
tahun=p_tahun and NPWRD=p_NPWRD)
THEN
insert into skr(masa,
tgl_jatuhTempo, tahun, NPWRD,
total, pengesahan)
values(p_masa, p_tgl_jatuhTempo,
p_tahun, p_NPWRD, nol, nol);
select ("Data berhasil
ditambahkan") into keluaran;
COMMIT;
ELSE
select ("Data yang dimasukkan
sudah ada") into keluaran;
ROLLBACK;
END IF;
ELSE
select ("Tanggal jatuh tempo sudah ada")
into keluaran;
ROLLBACK;
END IF;
ELSE
select("Data masa sudah ada") into keluaran;
ROLLBACK;
END IF;
END$$
DELIMITER ;$$
160
 

Stored procedure diatas digunakan untuk proses tambah SKR,

dimana masukkannya adalah masa awal, masa akhir, tanggal jatuh tenpo,

tahun anggaran dan NPWRD, dimana akan berpengaruh pada tabel skr.

Masa awal dan akhir tersebut digunakan untuk menunjukkan masa

berlakunya SKR tersebut. Pada proses penambahan skp tersebut dilakukan

pengecekan apakah data yang akan dimasukkan sudah ada dalam tabel atau

belum, jika sudah ada maka akan muncul pesan “Data skp sudah ada”,

selain itu juga mengecek apakah masa dan tanggal jatuh tempo berdasarkan

NPWRD yang dimasukkan sudah ada atau belum jika sudah ada maka data

tidak dapat dimasukkan, tetapi jika proses tersebut melewati proses

pengecekan maka data tersebut akan dimasukkan ke tabel skr, untuk no_skr

nilainya akan ada dengan sendirinya karena auto increment, masa akan

berisi gabungan dari masa awal dan masa akhir, tgl_jatuhTempo berisikan

tanggal jatuh tempo yang dimasukkan, tahun berisi tahun anggaran,

NPWRD berisi NPWRD dimana jika NPWRD yang dimasukkan tidak ada

pada tabel wajib_retribusi maka data tersebut juga akan mengalami

kegagalan dalam proses tambah skr ini karena tabel skr dan wajib_retribusi

saling berelasi. Untuk total dan pengesahan akan berisi 0. Menunjukkan

bahwa skr tersebut belum ada isinya dan belum disahkan.

4.1.4.7. Tambah Detail SKR

Proses tambah Detail SKR akan dijelaskan pada stored procedure

insertDetailSKR, dimana akan disajikan dalam listing 4.21 berikut:


161
 

Listing 4.21 Stored procedure insertDetailSKR


DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`insertDetailSKR`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `insertDetailSKR`(
p_uraian_dpa varchar(40), p_no_urutSKR int,
kd int, out keluaran varchar(50))
BEGIN
declare tot double;
declare jml double;
declare total1, total2 double;
declare p_no_urut_detail_dpa_skpd, p_no_urutDPA int;
declare th char(4);
declare EXIT HANDLER FOR NOT FOUND select ('proses gagal')
as keluaran;
declare EXIT HANDLER FOR SQLEXCEPTION select 'proses gagal'
as keluaran;
SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
SET AUTOCOMMIT=0;
START TRANSACTION;

select tahun into th from skr where no_skr=p_no_urutSKR;


select dt.no_urut_detail_dpa_skpd, dt.no_urutDPA into
p_no_urut_detail_dpa_skpd,p_no_urutDPA
from detail_dpa_skpd dt, dpa_skpd d
where dt.uraian=p_uraian_dpa and d.th_anggaran=th and
d.no_urutDPA=dt.no_urutDPA FOR UPDATE;
select total into tot from skr where no_skr=p_no_urutSKR for
update;
select harga_satuan into jml from detail_dpa_skpd
where
no_urut_detail_dpa_skpd=p_no_urut_detail_dpa_skpd for
update;
set total1 = (0+jml);
select (sum(jumlah)+jml) into total2 from detail_skr where
no_skr=p_no_urutSKR for update;

IF NOT EXISTS (select no_skr from skr where


no_skr=p_no_urutSKR and pengesahan=1)
then
IF NOT EXISTS(select no_urut_detail_dpa_skpd from
detail_skr where no_urut_detail_dpa_skpd=
p_no_urut_detail_dpa_skpd and no_skr=p_no_urutSKR for
update)
THEN
insert into detail_skr(no_urut_detail_dpa_skpd,
jumlah, no_skr, no_pengunjung)
values(p_no_urut_detail_dpa_skpd, jml,
p_no_urutSKR, kd);
IF(tot=0)
then
update skr
set total=total1
where no_skr=p_no_urutSKR;
ELSE
update skr
set total=total2
where no_skr=p_no_urutSKR;
END IF;

COMMIT;
select("Data berhasil ditambahkan") into
keluaran;
162
 

ELSE
select("Data sudah ada") into keluaran;
ROLLBACK;
END IF;
else
select 'SKR sudah disahkan' into keluaran;
rollback;
end if;

SET AUTOCOMMIT=1;
END$$
DELIMITER ;$$

Stored procedure diatas digunakan untuk menangani proses tambah

Detail SKRD dan stored procedure diatas dilengkapi dengan transaksi

management. Dimana masukkannya adalah uraian yang diperoleh dari tabel

detail_dpa_skpd, no_urutSKR dari tabel skr, user yang mengakses dimana

data user tersebut diperoleh saat melakukan proses login dan keluarannya

berupa konfirmasi. Pada proses tambah detail skr ini hanya dapat dilakukan

jika skr yang dipilih belum disahkan. Proses pengecekan yang dilakukan

dalam stored procedure adalah apakah skr sudah disahkan atau belum, jika

belum maka proses dapat dijalankan, selain itu juga dicek apakah data yang

akan dimasukkan tersebut sudah ada dalam tabel atau belum, jika sudah ada

maka proses gagal dilakukan tetapi jika belum ada maka proses tambah

detail skr ini akan dilakukan, dimana proses detail skr ini akan berpengaruh

pada tabel detail_skr dan skr. Untuk tabel detail_skr akan berpengaruh pada

field no_urut_detail_dpa_skpd berisi nomor yang diperoleh dari uraian yang

berasal dari tabel detail_dpa_skpd, jumlah akan berisi harga satuan dari

tabel detail_dpa_skpd sesuai dengan no_urut_detail_dpa_skpd yang dipilih,

no_pengunjung berisi id user yang melakukan proses tersebut. Selain itu

juga berpengaruh pada tabel skr dimana akan terjadi proses update untuk
163
 

total, sebelumnya dilakukan proses pengecekan apakah total pada skr yang

bersangkutan berisi 0 atau bukan jika 0 maka nilai total yang akan diupdate

sama dengan harga satuan tetapi jika tidk maka nilai total yang ada pada

tabel skr ditambah dengan harga satuan.

4.1.4.8. Ubah Detail SKR

Proses ubah Detail SKR akan dijelaskan pada stored procedure

edit_detail_skr, dimana akan disajikan dalam listing 4.22 berikut:

Listing 4.22 Stored procedure edit_detail_skr


DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`edit_detail_skr`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `edit_detail_skr`(
p_no_urut_detail_skr int, p_uraian_dpa varchar(40),
p_user char(10), out keluaran varchar(40))
BEGIN
declare e_no_urutDetail_DPA, e_no_urutSKR int;
declare e_jumlah double;
declare tgl datetime;
declare total_akhir double;
declare jml double;
declare p_no_urut_detail_dpa_skpd, p_no_urutDPA int;
declare th char(4);
declare EXIT HANDLER FOR NOT FOUND select ('proses gagal') as
keluaran;
declare EXIT HANDLER FOR SQLEXCEPTION select 'proses gagal' as
keluaran;
SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
SET AUTOCOMMIT=0;
START TRANSACTION;

set tgl = now();


select no_urut_detail_dpa_skpd, jumlah, no_skr into
e_no_urutDetail_DPA, e_jumlah, e_no_urutSKR
from detail_skr where
no_urut_detail_skr=p_no_urut_detail_skr for update;
select tahun into th from skr where no_skr=e_no_urutSKR;
select dt.no_urut_detail_dpa_skpd, dt.no_urutDPA into
p_no_urut_detail_dpa_skpd,p_no_urutDPA
from detail_dpa_skpd dt, dpa_skpd d
where dt.uraian=p_uraian_dpa and d.th_anggaran=th and
d.no_urutDPA=dt.no_urutDPA FOR UPDATE;
select harga_satuan into jml from detail_dpa_skpd
where no_urut_detail_dpa_skpd=p_no_urut_detail_dpa_skpd for
update;
select total from skr where no_skr=e_no_urutSKR;
select ((total-e_jumlah)+jml) into total_akhir from skr where
no_skr=e_no_urutSKR;
IF EXISTS(select dt.no_urut_detail_skr
164
 

from detail_skr dt, skr s


where dt.no_skr=s.no_skr and pengesahan=0 and
dt.no_urut_detail_skr=p_no_urut_detail_skr for update)
THEN
if exists(select no_urut_detail_skr from detail_skr where
no_urut_detail_skr=p_no_urut_detail_skr and hapus='-')
then
update detail_skr
set
no_urut_detail_dpa_skpd=p_no_urut_detail_dpa_skpd,
jumlah=jml, no_pengunjung=p_user
WHERE no_urut_detail_skr=p_no_urut_detail_skr;

update skr
set total=total_akhir
where no_skr=e_no_urutSKR;

insert into edit_detail_skr(no_urut_detail_skr,


no_urut_detail_dpa_skpd, jumlah, no_skr,
no_pengunjung, tgl_edit)
values(p_no_urut_detail_skr, e_no_urutDetail_DPA,
e_jumlah, e_no_urutSKR, p_user, tgl);
select 'Data berhasil diubah' into keluaran;
commit;
else
select 'Data sudah dihapus' into keluaran;
end if;

ELSE
select('SKR sudah disahkan') into keluaran;
rollback;
end if;
SET AUTOCOMMIT=1;
END$$
DELIMITER ;$$

Stored procedure diatas digunakan untuk menangani proses ubah

detail SKRD dimana pada stored procedure diatas dilengkapi dengan

transaksi management. Masukkannya berupa no_urut_detail_skr yang akan

diubah, uraian yang diperoleh dari tabel detail_dpa_skpd user dan

keluarannya berupa konfirmasi. Proses ini hanya akan dapat dilakukan jika

SKR yang berhubungan belum disahkan. Dalam stored procedure diatas

terdapat pengecekan apakah SKR yang bersangkutan sudah di sahkan atau

belum, selain itu juga mengecek apakah SKR yang bersangkutan sudah

dihapus atau belum. SKR sudah disahkan jika nilai pengesahan 0 dan sudah
165
 

dihapus jika nilai hapus “ok”. Jika SKR yang bersangkutan sudah disahkan

dan dihapus maka proses ubah tidak dapat dilakukan, tetapi jika belum

maka proses ubah dilakukan. Proses tersebut akan berpengaruh pada tabel

detail_skr, edit_detail_skr dan skr. pada tabel detail_skr yang akan berubah

adalah nilai dari no_urut_detail_dpa_skpd dan jumlah. Data yang akan

diubah disimpan dalam tabel edit_detail_skr untuk history. Pada tabel skr

juga terjadu proses update yaitu untuk total, nilai total akan diperolah

dengan cara nilai total sebelum terjadi proses ubah dikurangi dengan jumlah

sebelum diubah setelah itu baru ditambah dengan jumlah data yang baru.

4.1.4.9. Hapus Detail SKR

Proses hapus Detail SKR akan dijelaskan pada stored procedure

hapus_detail_skr, dimana akan disajikan dalam listing 4.23 berikut:

Listing 4.23 Stored procedure hapus_detail_skr

DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`hapus_detail_skr`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `hapus_detail_skr`(
p_no_urut_detail_skr int, p_user int,
out keluaran varchar(40))
BEGIN
declare p_no_urutDetail_DPA int;
declare p_jumlah double;
declare p_no_urutSKR int;
declare total_akhir double;
declare EXIT HANDLER FOR NOT FOUND select 'proses gagal' as
keluaran;
declare EXIT HANDLER FOR SQLEXCEPTION select 'proses gagal' as
keluaran;

SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;


SET AUTOCOMMIT=0;
START TRANSACTION;

IF EXISTS(select s.no_skr
from skr s, detail_skr d
where d.no_urut_detail_skr=p_no_urut_detail_skr and
d.no_skr=s.no_skr and pengesahan=0)
then
166
 

select no_urut_detail_dpa_skpd, jumlah, no_skr


into p_no_urutDetail_DPA, p_jumlah, p_no_urutSKR
from detail_skr
where no_urut_detail_skr=p_no_urut_detail_skr for update;
select (total-p_jumlah) into total_akhir from skr where
no_skr=p_no_urutSKR;

update detail_skr
set hapus = 'ok'
where no_urut_detail_skr=p_no_urut_detail_skr;

update skr
set total=total_akhir
where no_skr=p_no_urutSKR;
commit;
else
select("SKP sudah disahkan");
rollback;
end if;
SET AUTOCOMMIT=1;
END$$
DELIMITER ;$$

Stored procedure diatas digunakan untuk proses hapus detail

SKRD selain itu stored procedure ini dilengkapi dengan transaksi

management. Masukkan untuk stored procedure ini adalah

no_urut_detail_skr dan user, keluaran berupa konfirmasi. Proses ini hanya

dapat dilakukan jika SKRD yang bersangkutan belum disahkan. Tabel yang

berpengaruh pada proses ini adalah tabel detail_skr dan skr. Dalam stored

procedure tersebut terjadi proses pengecekan apakah SKRD yang

bersangkutan sudah disahkan atau belum, jika sudah maka proses tidak akan

dilakukan tetapi jika belum disahkan maka pada tabel detail_skr dan pada

no_urut_detail_skr yang bersangkutan akan diberi tanda yaitu pada field

hapus bernilai “ok”, selain itu juga akan mengupdate tabel skr yaitu untuk

field total, dimana nilai total dikurangi dengan jumlah yang ada pada tabel

detail_skr berdasarkan no_urut_detail_skr yang bersangkutan.


167
 

4.1.4.10. Pengesahan SKR

Proses pengesahan SKR akan dijelaskan pada stored procedure

pengesahanSKR, dimana akan disajikan dalam listing 4.24 berikut:

Listing 4.24 Stored procedure pengesahanSKR


DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`pengesahanSKR`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `pengesahanSKR`(
p_no_skr int)
BEGIN
declare sekarang date;
declare tahun char(4);
declare bulan char(2);
declare tgl char(2);
declare skrg varchar(12);
select now() into sekarang;
select substr(sekarang,1,4) into tahun;
select substr(sekarang,6,3) into bulan;
select substr(sekarang, 9,2) into tgl;
select concat(tgl,"-", bulan, "-", tahun) into skrg;
update skr
set pengesahan=1, tgl_pengesahan=skrg
where no_skr=p_no_skr;
END$$
DELIMITER ;$$

Stored procedure diatas digunakan untuk proses pengesahan,

dimana masukkannya adalah p_no_skr, dimana akan berpengaruh pada tabel

skr yaitu pada field pengesahan dan tgl_pengesahan, pada pengesahan akan

diupdate menjadi 1 yang menandakan jika SKRD sudah disahkan tetapi jika

0 maka SKRD belum disahkan. Selain itu tgl_pengesahan akan berisi

tanggal saat terjadi proses pengesahan.


168
 

4.1.5. Pendapatan

4.1.5.1. Tambah Pendapatan yang Berasal dari SKP dan SKR

Sebelum masuk ke form tambah pendapatan, user terlebih dahulu

memilih tahun anggaran dan surat ketetapan, disajikan dalam gambar 4.13

berikut ini:

Gambar 4.13 Form Pilihan Tambah Pendapatan

Setelah memilih tahun anggaran dan jenis surat ketetapan, maka

akan masuk ke form sesuai dengan jenis surat ketetapan yang dipilih. Pada

form diatas user memilih jenis surat ketetapan skp maka pada form

pendapatan tahun anggaran dan jenis bukti akan muncul secara otomatis

sesuai dengan masukkan pada form sebelumnya. Berikut merupakan form

pendapatan dengan jenis bukti skp, disajikan dalam gambar 4.14 berikut:

Gambar 4.14 Form Tambah Pendapatan dari SKP dan SKR

Proses tambah pendapatan ini menggunakan store procedure

insert_Pendapatan, disajikan pada listing 4.25 berikut:


169
 

Listing 4.25 Stored procedure insert_Pendapatan


DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`insert_Pendapatan`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `insert_Pendapatan`(
p_th_anggaran char(4), p_tgl_transaksi varchar(12),
p_jenis_bukti char(8), p_no_bukti int, p_user int,
p_bank varchar(40), out keluaran varchar(40))
BEGIN
declare p_no_rekening varchar(20);
declare nominal double;
declare jth_tempo varchar(15);
declare total2 double;
declare tgl, bulan, th int;
declare tgl1, bulan1, th1 int;
declare tgl2, bulan2, th2 int;
declare p_sanksi double;
declare selisih_bulan, selisih_tahun int;
declare EXIT HANDLER FOR NOT FOUND select 'proses gagal'into
keluaran;
declare EXIT HANDLER FOR SQLEXCEPTION select 'proses gagal' into
keluaran;

select no_rekening into p_no_rekening from bank where


nama=p_bank;
set tgl = substr(p_tgl_transaksi,1,2);
set bulan = substr(p_tgl_transaksi,4,2);
set th = substr(p_tgl_transaksi,7,4);
if(p_jenis_bukti='skp')
then
select total, tgl_jatuhTempo into nominal, jth_tempo
from skp
where no_skp=p_no_bukti;
set tgl1 = substr(jth_tempo,1,2);
set bulan1 = substr(jth_tempo,4,2);
set th1 = substr(jth_tempo,7,4);

if((tgl>tgl1)&&(bulan=bulan1)&&(th=th1))
then
set p_sanksi = (2/100)* nominal;
elseif((bulan>bulan1)&&(th=th1))
then
set selisih_bulan = bulan-bulan1;
set p_sanksi = (2/100)* nominal*selisih_bulan;
elseif((bulan>bulan1)&&(th>th1))
then
set selisih_tahun = th-th1;
set selisih_bulan = bulan-bulan1;
set p_sanksi = (2/100)*
nominal*(selisih_bulan+(12*selisih_tahun));
elseif((bulan<bulan1)&&(th>th1))
then
set selisih_tahun = th-th1;
set selisih_bulan = bulan1-bulan;
set p_sanksi = (2/100)*
nominal*((12*(selisih_tahun))-selisih_bulan);
else
set p_sanksi = 0;
end if;

set total2 = (nominal+p_sanksi);


170
 

insert into pendapatan (th_anggaran, tgl_transaksi, nominal,


sanksi, total, jenis_bukti, no_bukti, no_pengunjung,
pengesahan, tgl_pengesahan, no_rekening)
values(p_th_anggaran, p_tgl_transaksi, nominal, p_sanksi,
total2, p_jenis_bukti, p_no_bukti, p_user,0, '-',
p_no_rekening);
select 'Data berhasil ditambahkan' into keluaran;

elseif(p_jenis_bukti='skr')
then
select total, tgl_jatuhTempo into nominal, jth_tempo
from skr
where no_skr=p_no_bukti;

set tgl1 = substr(jth_tempo,1,2);


set bulan1 = substr(jth_tempo,4,2);
set th1 = substr(jth_tempo,7,4);
if((tgl>tgl1)&&(bulan=bulan1)&&(th=th1))
then
set p_sanksi = (2/100)* nominal;
elseif((bulan>bulan1)&&(th=th1))
then
set selisih_bulan = bulan-bulan1;
set p_sanksi = (2/100)* nominal*selisih_bulan;
elseif((bulan>bulan1)&&(th>th1))
then
set selisih_tahun = th-th1;
set selisih_bulan = bulan-bulan1;
set p_sanksi = (2/100)*
nominal*(selisih_bulan+(12*selisih_tahun));
elseif((bulan<bulan1)&&(th>th1))
then
set selisih_tahun = th-th1;
set selisih_bulan = bulan1-bulan;
set p_sanksi = (2/100)*
nominal*((12*(selisih_tahun))-selisih_bulan);
else
set p_sanksi = 0;
end if;
set total2 = (nominal+p_sanksi);
insert into pendapatan (th_anggaran, tgl_transaksi, nominal,
sanksi, total, jenis_bukti, no_bukti, no_pengunjung,
pengesahan, tgl_pengesahan, no_rekening)
values(p_th_anggaran, p_tgl_transaksi, nominal, p_sanksi,
total2, p_jenis_bukti, p_no_bukti, p_user,0, '-',
p_no_rekening);
select 'Data berhasil ditambahkan' into keluaran;
else
select("di Store Procedure yang lain") into keluaran;
end if;
END$$
DELIMITER ;$$

Stored procedure diatas digunakan utuk proses tambah pendapatan

yang berasal dari SKP dan SKR. Masukkannya adalah tahun anggaran, jenis

bukti baik itu SKP atau SKR, nomor bukti diperoleh dari nomor SKP atau
171
 

nomor SKR, tanggal transaksi dan bank yang akan digunakan untuk

menyimpan pendapatan tersebut. Dimana pada proses pendapatan tersebut

akan berpengaruh pada tabel pendapatan. Jumlah pendapatan yang diperoleh

berdasarkan jumlah yang ada di SKP atau SKR yang bersangkutan, selain

itu jika pembayaran dilakukan lebih dari tanggal jatuh tempo sesuai dengan

SKP atau SKR maka akan dikenai sanksi sebesar prosentase sanksi pada

tahun yang bersngkutan untuk tiap bulannya.

4.1.5.2. Tambah Pendapatan Selain dari Surat Ketetapan

Proses Tambah pendapatan selain dari SKR dan SKP akan

dijelaskan pada stored procedure insert_pendapatan_lain, dimana akan

disajikan dalam listing 4.15 serta diperjelas pada tabel 3.53:

Gambar 4.15 Form Tambah Pendapatan Selain dari SKP dan SKR

Listing 4.26 Stored procedure insert_pendapatan_lain

DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`insert_pendapatan_lain`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE


insert_pendapatan_lain`(
p_th_anggaran char(4), p_tgl_transaksi varchar(12),
p_nominal double, p_nama varchar(50),
p_rekening varchar(40), p_uraian varchar(40),
172
 

p_bank varchar(40),
p_user int, out keluaran varchar(40))
BEGIN
declare a_no_urut_rekening int;
declare a_no_urut_pihak_ketiga int;
declare a_no_urut int;
declare p_no_rekening varchar(20);

declare EXIT HANDLER FOR NOT FOUND select 'proses gagal' into
keluaran;
declare EXIT HANDLER FOR SQLEXCEPTION select 'proses gagal' into
keluaran;
SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
START TRANSACTION;
SET AUTOCOMMIT=0;

select no_rekening into p_no_rekening from bank where


nama=p_bank;
select no_urut_rekening into a_no_urut_rekening from rekening
where uraian=p_rekening for update;
select no_urut_pihak_ketiga into a_no_urut_pihak_ketiga from
pihak_ketiga where nama=p_nama for update;
insert into lain_lain (no_urut_rekening, uraian,
no_urut_pihak_ketiga)
values(a_no_urut_rekening, p_uraian, a_no_urut_pihak_ketiga);
select max(no_urut) into a_no_urut from lain_lain for update;
insert into pendapatan (th_anggaran, tgl_transaksi, nominal,
sanksi, total, jenis_bukti, no_bukti, no_pengunjung, pengesahan,
tgl_pengesahan, no_rekening)
values(p_th_anggaran, p_tgl_transaksi, p_nominal, 0, p_nominal,
'lain-lain', a_no_urut, p_user,0, '-', p_no_rekening);
select 'Data berhasil dimasukkan' into keluaran;
COMMIT;
SET AUTOCOMMIT=1;
END$$
DELIMITER ;$$

Stored procedure diatas digunakan untuk proses pendapatan yang

berasal selain dari SKP dan SKR dan dilengkapi dengan transaksi

management. Proses tesebut berpengaruh pada tabel pendapatan dan

lain_lain.

4.1.5.3. Pengesahan Pendapatan

Stored procedure yang digunakan untuk melakukan proses

pengesahan pendapatan adalah pengesahan_Pendapatan, disajikan pada

listing 4.27 berikut:


173
 

Listing 4.27 Store procedure pengesahan_Pendapatan

DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`pengesahan_Pendapatan`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`pengesahan_Pendapatan`(
p_tgl_transaksi varchar(12))
BEGIN
declare sekarang date;
declare tahun char(4);
declare bulan char(2);
declare tgl char(2);
declare skrg varchar(12);
set sekarang = now() ;
set tahun = substr(sekarang,1,4);
set bulan = substr(sekarang,6,2);
set tgl = substr(sekarang, 9,2);
set skrg = concat(tgl,"-", bulan, "-", tahun);
update pendapatan
set pengesahan=1, tgl_pengesahan=skrg
where tgl_transaksi=p_tgl_transaksi;
END$$
DELIMITER ;$$

Stored procedure diatas digunakan untuk proses pengesahan

pendapatan, dimana berpengaruh pada tabel pendapatan untuk field

pengesahan dan tgl_pengesahan. Nilai pengesahan akan menjadi 1 untuk

menandakan jika data sudah disahkan dan untuk tgl_pengesahan berisi

tanggal saat terjadi proses pengesahan. Proses pengesahan dilakukan setiap

hari, jadi proses pengesahan dilakukan berdasarkan tanggal dan pengesahan

dilakukan untuk tanggal yang bersamaan.

4.1.6. Laporan Pendapatan Pertriwulan

Laporan pertriwulan merupakan laporan yang dibuat setiap 3 bulan

sekali, jadi dalam 1 tahun ada 4 kali laporan yaitu triwulan I, triwulan II,

triwulan III dan triwulan IV. Berikut ini merupakan stored procedure yang
174
 

digunakan untuk proses laporan pertriwulan disajikan pada listing 4.28

berikut:

Listing 4.28 Stored procedure laporan_pertriwulan

DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`laporan_pertriwulan`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE
`laporan_pertriwulan`(
p_th_anggaran char(4), jenis varchar(15))
BEGIN
declare laporan varchar(15);
set laporan=jenis;
if(laporan='Triwulan I')
then
select r.kode_rekening, r.uraian, dk.uraian, p.total
from pendapatan p, rekening r, detail_skp dp,
detail_skr dr,lain_lain l, detail_dpa_skpd dk, skr
sr, skp sp where
(substring(p.tgl_transaksi,4,2)='01' or
substring(p.tgl_transaksi,4,2)='02' or
substring(p.tgl_transaksi,4,2) = '03') and
p.th_anggaran=p_th_anggaran and p.pengesahan=1
and (p.no_bukti=sp.no_skp or p.no_bukti=sr.no_skr or
p.no_bukti=l.no_urut) and
(dk.no_urut_detail_dpa_skpd=dp.no_urut_detail_dpa_sk
pd
or dk.no_urut_detail_dpa_skpd=
dr.no_urut_detail_dpa_skpd)
and (dk.no_urut_rekening = r.no_urut_rekening or
l.no_urut_rekening=r.no_urut_rekening)
and (sp.no_skp=dp.no_skp or sr.no_skr=dr.no_skr)
order by r.kode_rekening;
elseif(laporan='Triwulan II')
then
select r.kode_rekening, r.uraian, dk.uraian, p.total
from pendapatan p, rekening r, detail_skp dp,
detail_skr dr,lain_lain l, detail_dpa_skpd dk, skr
sr, skp sp where
(substring(p.tgl_transaksi,4,2)='04' or
substring(p.tgl_transaksi,4,2)='05' or
substring(p.tgl_transaksi,4,2) = '06') and
p.th_anggaran=p_th_anggaran and p.pengesahan=1
and (p.no_bukti=sp.no_skp or p.no_bukti=sr.no_skr or
p.no_bukti=l.no_urut) and
(dk.no_urut_detail_dpa_skpd=dp.no_urut_detail_dpa_sk
pd
or k.no_urut_detail_dpa_skpd=
dr.no_urut_detail_dpa_skpd)
and (dk.no_urut_rekening = r.no_urut_rekening or
l.no_urut_rekening=r.no_urut_rekening)
and (sp.no_skp=dp.no_skp or sr.no_skr=dr.no_skr)
order by r.kode_rekening;
elseif(laporan='Triwulan III')
then
select r.kode_rekening, r.uraian, dk.uraian, p.total
from pendapatan p, rekening r, detail_skp dp,
detail_skr dr,lain_lain l, detail_dpa_skpd dk, skr
sr, skp sp where
175
 

(substring(p.tgl_transaksi,4,2)='07' or
substring(p.tgl_transaksi,4,2)='08' or
substring(p.tgl_transaksi,4,2) = '09') and
p.th_anggaran=p_th_anggaran and p.pengesahan=1
and (p.no_bukti=sp.no_skp or p.no_bukti=sr.no_skr or
p.no_bukti=l.no_urut) and
(dk.no_urut_detail_dpa_skpd=dp.no_urut_detail_dpa_sk
pd Or k.no_urut_detail_dpa_skpd=
dr.no_urut_detail_dpa_skpd)
and (dk.no_urut_rekening = r.no_urut_rekening or
l.no_urut_rekening=r.no_urut_rekening)
and (sp.no_skp=dp.no_skp or sr.no_skr=dr.no_skr)
order by r.kode_rekening;
else

select r.kode_rekening, r.uraian, dk.uraian, p.total


from pendapatan p, rekening r, detail_skp dp,
detail_skr dr, lain_lain l, detail_dpa_skpd dk, skr
sr, skp sp where
(substring(p.tgl_transaksi,4,2)='10' or
substring(p.tgl_transaksi,4,2)='11' or
substring(p.tgl_transaksi,4,2) = '12') and
p.th_anggaran=p_th_anggaran and p.pengesahan=1
and (p.no_bukti=sp.no_skp or p.no_bukti=sr.no_skr or
p.no_bukti=l.no_urut) and
(dk.no_urut_detail_dpa_skpd=dp.no_urut_detail_dpa_sk
pd Or k.no_urut_detail_dpa_skpd=
dr.no_urut_detail_dpa_skpd) and (dk.no_urut_rekening
= r.no_urut_rekening or
l.no_urut_rekening=r.no_urut_rekening)
and (sp.no_skp=dp.no_skp or sr.no_skr=dr.no_skr)
order by r.kode_rekening;
end if;
END$$
DELIMITER ;$$

Stored procedure diatas digunakan untuk proses laporan

pendapatan daerah tiap triwulan (3 bulan). Telah dijelaskan diatas jika tiap

tahun ada 4 kali laporan triwulanan. Pada stored procedure diatas

masukkannya adalah tahun anggaran yang diinginkan dan laporan triwulan

keberapa yang dibutuhkan. Masukkan untuk triwulan berupa “Triwulan I,

Triwulan II, Triwulan III atau Triwulan IV” saja. Jika memilih Triwulan I

maka laporan yang didapatkan adalah laporan pada bulan Januari sampai

Maret, Triwulan II adalah laporan pada bulan April sampai Juni, Triwulan

III adalah laporan pada bulan Juli sampai September, Triwulan IV adalah
176
 

laporan pada bulan Oktober sampai Desember dimana pendapatan tersebut

harus sudah disahkan dahulu sebelumnya.

4.2. Pengaturan Transaksi

Sistem informasi pendapatan keuangan daerah yang berhasil

diimplementasikan ini merupakan sistem informasi berbasis web dan

merupakan sistem yang multi user. Sehingga dimungkinkan terjadinya

transaksi yang dilakukan lebih dari satu user dan transaksi yang saling

terkait, sehingga dapat menyebabkan data menjadi tidak konsisten dan

menyebabkan terjadinya masalah concurrency. Untuk mengatasi masalah

tersebut maka dilakukan pengaturan transaksi terhadap data yang mungkin

diakses lebih dari seorang user. Maka digunakan metode 2 phase locking

untuk menangani masalah tersebut.

4.3. Analisa Hasil

Dari hasil implementasi sistem dengan memanfaatkan stored procedure,

hasil data yang diperoleh dari proses testing adalah:

1. Sistem yang dibuat terdapat hak akses untuk user yang

menggunakan, dimana hanya dapat mengakses tabel melalui

pemanggilan stored procedure saja.

2. Sistem dapat membedakan tugas dan wewenang tiap user yang

mengakses berdasakkan jabatannya.


177
 

3. Sistem mampu menangani proses pengelolaan DPA (Dokumen

Pelaksanaan Anggaran), surat ketetapan dan proses pendapatan.

Selain itu juga proses pengesahan terhadap DPA, surat ketetapan,

pendapatan dan update table master.

4.3.1. Kelebihan Sistem

Sistem yang dibuat memiliki kelebihan yaitu:

1. Adanya proses keamanan data yaitu dengan menggunakan koneksi

dimana user hanya dapat memanggil stored procedure saja dan tidak

dapat mengakses tabel secara langsung.

2. Pada sistem ini menggunakan teknologi database MySQL,

dilengkapi dengan stored procedure yang dilengkapi dengan

penanganan manajemen transaksi agar data pendapatan keuangan

daerah tetap konsisten.

4.3.2. Kekurangan Sistem

Kekurangan dari sistem yang dibuat ini adalah sistem belum dapat

digunakan secara langsung karena pengimplementasian belum dilakukan

dengan sempurna dan belum lengkap.


 
 

BAB V
KESIMPULAN DAN SARAN

5.1. Kesimpulan

Dari hasil analisa, desain dan implementasi yang dilakukan pada sistem

informasi pendapatan keuangan daerah ini dapat disimpulkan bahwa:

1. Sistem informasi pendapatan keuangan daerah sudah berhasil

diimplementasikan menggunakan teknologi JSP dan teknologi

database MySQL.

2. Sistem yang dibangun ini telah berhasil memanfaatkan store

procedure untuk menangani masalah manajemen transaksi untuk

menjaga agar data tetap konsisten. Proses transaksi yang ada

menggunakan teknik two-phase-locking di database MySQL.

3. Sistem yang telah berhasil diimplementasikan adalah proses update

DPA-SKPD, proses update surat ketetapan baik itu Surat Ketetapan

Pajak Daerah (SKPD) maupun Surat Ketetapan Retribusi Daerah

(SKRD), proses update pendapatan dan update tabel master

4. Laporan telah dibuat dengan menggunakan store procedure di sisi

back end.

178 
 
179 
 

5.2. Saran

Untuk pengembang sistem yang berminat untuk mengembangkan

sistem ini, atau pihak lain yang hendak menggunakan sistem ini penulis

memberikan beberapa saran:

1. Melengkapi sistem di sisi front end dengan melengkapi menu pada

masing-masing web berdasarkan hak akses yang dapat dilakukan oleh

user.

2. Melengkapi keseluruhan sistem keuangan pemerintah daerah baik itu

pendapatan maupun pengeluaran.

3. Sistem yang dibangun ini berbasis web sehingga perlu adanya

pengendalian sistem keamanan jaringan.

 
 
DAFTAR PUSTAKA

Atzeni Paolo, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone. 2000.

Database Systems Consepts,Languages,& Architectures. England:

Mcgrow-Hill Publishing Company

Connolly, T., Begg, C., 2005. Database Systems A Practical Approach to Design,

Implementation, and Management. Pearson Education Limited

Darmawan JB B, 2007. Teknik Kontrol Concurrency Menggunakan 2PL dalam

Mysql Untuk Menangani Masalah Dalam Concurrency. Dalam Prosiding

Seminar Nasional Sains dan Teknologi Universitas Sanata Dharma,

Pemanfaatan Potensi Lokal, Hal 279-287. Yogyakarta:Jurnal Teknologi

Media Teknika

Jogiyanto H.M. 1999. Analisis dan Desain Sistem Informasi. Yogyakarta: Andi.

Kadir, Abdul. 2004. Dasar Pemrograman Dinamis dengan JSP. Yogyakarta:

Penerbit Andi.

MySQL 5.1 Manual

Pemerintah Kabupaten Klaten. 2006. Peraturan Bupati Klaten Nomor 34 tahun

2006 tentang Pedoman Pelaksanaan Penatausahaan Keuangan Daerah

Kabupaten Klaten , Klaten

Pemerintah Kabupaten Klaten, 2007. Peraturan Bupati Klaten Nomor 18 Tahun

2007 tentang Perubahan Lampiran Peraturan Bupati Klaten Nomor 34

Tahun 2006 tentang Pedoman Pelaksanaan Penatausahaan Keuangan

Daerah Kabupaten Klaten , Klaten


Pressman, R.S. 1997.Rekayasa Perangkat Lunak Pendekatan Praktisi.

Yogyakarta: Andi.

Whitten, Jeffrey L. , Bentley, Lonnie D., Dittman, Kevin C., 2004. Metode Disain

& Analisis Sistem edisi 6, Yogyakarta: Penerbit Andi.


 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
Store Procedure yang Digunakan

Nama Store Procedure Penjelasan


cari_Bank Digunakan untuk menampilkan nama dari tabel
bank
cari_bidang Digunakan untuk menampilkan uraian dari tabel
bidang
cari_detail_dpa Digunakan untuk menampilkan uraian dari tabel
detail_dpa_skpd
cari_DPA Digunakan untuk menampilkan data dari tabel
dpa_skpd berdasarkan tahun anggaran yang
dimasukkan
cari_level Digunakan untuk menampilkan uraian dari tabel
level
cari_program Digunakan untuk menampilkan uraian dari tabel
program
cari_SKP Digunakan untuk menampilkan data skp yang
sudah disahkan
cari_SKP_1 Digunakan untuk menampilkan data skp yang
sudah disahkan dan berdasarkan tahun anggaran
yang diinginkan
cari_SKP_2 Digunakan untuk menampilkan data skp yang
sudah disahkan dan berdasarkan NPWPD yang
diinginkan
cari_SKP_3 Digunakan untuk menampilkan data skp yang
sudah disahkan dan berdasarkan tahun anggaran
dan NPWPD yang diinginkan
cari_SKP_SKR Digunakan untuk mangecek apakah huruf awal
yang dimasukkan P atau R.
cari_SKR Digunakan untuk menampilkan data skr yang
sudah disahkan
cari_SKR_1 Digunakan untuk menampilkan data skr yang
sudah disahkan dan berdasarkan tahun anggaran
yang diinginkan
cari_SKR_2 Digunakan untuk menampilkan data skr yang
sudah disahkan dan berdasarkan NPWRD yang
diinginkan
cari_SKR_3 Digunakan untuk menampilkan data skr yang
sudah disahkan dan berdasarkan tahun anggaran
dan NPWRD yang diinginkan
cari_skr_blm_sah Digunakan untuk menampilkan data skr yang
belum disahkan
cari_sk_th Digunakan untuk menampilkan data pendapatan
berdasarkan jenis bukti dan tahun anggaran yang
dimasukkan dan data pendapatan terssebut
belum disahkan
cari_uraian_kegiatan Digunakan untuk menampilkan uraian dari tabel
kegiatan
cari_uraian_organisasi Digunakan untuk menampilkan uraian dari tabel
organisasi
cari_uraian_rekening Digunakan untuk menampilkan uraian dari tabel
rekening
cari_urusan Digunakan untuk menampilkan uraian dari tabel
urusan
cari_WB Digunakan untuk menampilkan data wajib_pajak
maupun wajib_retribusi berdasarkan masukkan
yang diinginkan
cari_WP_WR Digunakan untuk mangecek apakah huruf awal
tampil Bidang Digunakan untuk menampilkan data data dari
tabel bidang
tampilanEdit_Hapus_DPA Digunakan untuk menampilkan data data dari
tabel dpa_skpd yang belum disahkan
tampilDetail_DPA_SKPD Digunakan untuk menampilkan data data dari
tabel detail_dpa_skpd
tampilDPA Digunakan untuk menampilkan data data dari
tabel dpa_skpd yang belum disahkan, dimana
semua dalam bentuk uraian
tampilDPA_2 Digunakan untuk menampilkan data data dari
tabel dpa_skpd
tampilEdit_Hapus_SKP Digunakan untuk menampilkan data skp yang
belum disahkan
tampilPegawai Digunakan untuk menampilkan data dari tabel
pegawai
tampilPendapatan Digunakan untuk menampilkan data dari tabel
pendapatan
tampilPihak_Ketiga Digunakan untuk menampilkan data dari tabel
pihak_ketig
tampilRekening Digunakan untuk menampilkan data dari tabel
rekening
tampilSKP Digunakan untuk menampilkan data skp yang
belum disahkan
tampilSKR Digunakan untuk menampilkan data skr yang
belum disahkan
tampilWajib_Pajak Digunakan untuk menampilkan data dari tabel
wajib_pajak
tampilWajib_Retribusi Digunakan untuk menampilkan data dari tabel
wajib_retribusi
tampilWajib_Retribusi_2 Digunakan untuk menampilkan data dari tabel
wajib_retribusi berdasarkan NPWRD yang
dimasukkan
tampil_detail_DPA Digunakan untuk menampilkan data
detail_dpa_skpd berdasarkan
no_urut_detail_dpa_skpd dari tabel
detail_dpa_skpd
tampil_detail_dpa_isi Digunakan untuk menampilkan data dpa_skpd
berdasarkan no_urutDPA dari tabel dpa_skpd
tampil_detail_dpa_isi_2 Digunakan untuk menampilkan triwulan_I,
triwulan_II, triwulan_III, triwulan_IV, total dari
tabel dpa_skpd berdasarkan no_urutDPA
tampil_detail_DPA_kop Digunakan untuk menampilkan kop dari DPA-
SKPD
tampil_detail_dpa_perNo_dpa Digunakan untuk menampilkan data dari tabel
detail_dpa_skpd berdasarkan no_urutDPA dan
belum dihapus
tampil_Detail_DPA_Per_DPA Digunakan untuk menampilkan data dari tabel
detail_dpa_skpd berdasarkan no_urutDPA dan
belum dihapus
tampil_detail_dpa_per_DPA_2 Digunakan untuk menampilkan data dari tabel
detail_dpa_skpd berdasarkan no_urutDPA
tampil_detail_skp_perSKP Digunakan untuk menampilkan data dari tabel
detail_skp berdasarkan no_urutSKP
tampil_dpa_skpd_2 Digunakan untuk menampilkan no_urutDPA
tampil_dpa_skpd_3 Digunakan untuk menampilkan data dari tabel
dpa_skpd
tampil_dpa_skpd_keg Digunakan untuk menampilkan data dpa_skpd
berdasarkan uraian kegiatan yang dimasukkan
tampil_dpa_skpd_org Digunakan untuk menampilkan data dpa_skpd
berdasarkan tahun anggaran dan uraian
organisasi
tampil_dpa_skpd_org_keg Digunakan untuk menampilkan data dpa_skpd
berdasarkan uraian kegiatan dan uraian
organisasi
tampil_dpa_skpd_th_1 Digunakan untuk menampilkan data dpa_skpd
berdasarkan tahun anggaran dan data belum
disahkan
tampil_dpa_skpd_th_keg Digunakan untuk menampilkan data dpa_skpd
berdasarkan uraian kegiatan dan tahun anggaran
yang dimasukkan
tampil_dpa_skpd_th_org Digunakan untuk menampilkan data dpa_skpd
berdasarkan uraian organisasi dan tahun
anggaran yang dimasukkan
tampil_dpa_skpd_th_org_keg Digunakan untuk menampilkan data dpa_skpd
berdasarkan uraian organisasi, uraian kegiatan
dan tahun anggaran yang dimasukkan
tampil_hapus_Detail_DPA Digunakan untuk menampilkan data
detail_dpa_skpd berdasarkan
no_urut_detail_dpa_skpd
tampil_hapus_detail_skp Digunakan untuk menampilkan data detail_skp
berdasarkan no_skp
tampil_hapus_detail_skp_2 Digunakan untuk menampilkan data detail_skp
berdasarkan no_skp
tampil_hapus_detail_skr Digunakan untuk menampilkan data detail_skr
berdasarkan no_skr
tampil_hapus_detail_skr_2 Digunakan untuk menampilkan data detail_skr
berdasarkan no_skr
tampil_kegiatan Digunakan untuk menampilkan data dari tabel
kegiatan berdasarkan no_kode_kegiatan
tampil_organisasi_2 Digunakan untuk menampilkan data organisasi
dimana kode urusan, bidang dan organisasi
digabung
tampil_pendapatan Digunakan untuk menampilkan data pendapatan
tampil_pendapatan_lain Digunakan untuk menampilkan data pendapatan
tampil_Pendapatan_Perubahan Digunakan untuk menampilkan data pendapatan
lain-lain atau selain dari surat ketetapan
tampil_skp_2 Digunakan untuk menampilkan no_skp
tampil_SKP_3 Digunakan untuk menampilkan data skp
tampil_SKP_4 Digunakan untuk menampilkan data skp
berdasarkan NPWPD dan data belum disahkan
tampil_skp_blm_sah Digunakan untuk menampilkan data skp yang
belum disahkan
tampil_SKP_detail Digunakan untuk menampilkan data detail_skp
berdasarkan no_skp
tampil_SKP_detail_kop Digunakan untuk menampilkan data kop skp
tampil_SKP_per_th_npwpd Digunakan untuk menampilkan data skp
berdasarkan tahun anggaran dan NPWPD yang
dimasukkan
tampil_skp_sah Digunakan untuk menampilkan data skp yang
sah
tampil_skr_2 Digunakan untuk menampilkan no_skr
tampil_SKR_3 Digunakan untuk menampilkan data skr
tampil_SKR_4 Digunakan untuk menampilkan data skr
berdasarkan NPWRD yang dimasukkan dan data
belum disahkan
tampil_tambah_bidang Digunakan untuk menampilkan data dari tabel
bidang berdasarkan tahun anggaran yang
diingunkan
tampil_tambah_kegiatan Digunakan untuk menampilkan data dari tabel
kegiatan berdasarkan tahun anggaran yang
diingunkan
tampil_tambah_level Digunakan untuk menampilkan data dari tabel
level berdasarkan tahun anggaran yang
diingunkan
tampil_tambah_organisasi Digunakan untuk menampilkan data dari tabel
organisasi berdasarkan tahun anggaran yang
diingunkan
tampil_tambah_pegawai Digunakan untuk menampilkan data pegawai
tampil_tambah_pp Digunakan untuk menampilkan data prosentase
pendapatan
tampil_tambah_program Digunakan untuk menampilkan data dari tabel
program berdasarkan tahun anggaran yang
diingunkan
tampil_tambah_rekening Digunakan untuk menampilkan data dari tabel
rekening berdasarkan tahun anggaran yang
diingunkan
tampil_tambah_sanksi Digunakan untuk menampilkan data dari tabel
sanksi
tampil_tambah_urusan Digunakan untuk menampilkan data dari tabel
urusan
tampil_ubah_bank Digunakan untuk menampilkan data dari tabel
bank berdasarkan no_rekening
tampil_ubah_bidang Digunakan untuk menampilkan data dari tabel
bidang berdasarkan no_kode_bidang
tampil_ubah_level Digunakan untuk menampilkan data dari tabel
level berdasarkan no_level
tampil_ubah_pegawai Digunakan untuk menampilkan data dari tabel
pegawai berdasarkan NIP
tampil_ubah_pp Digunakan untuk menampilkan data dari tabel
prosentase pendapatan berdasarkan th_anggaran
tampil_ubah_program Digunakan untuk menampilkan data dari tabel
program berdasarkan no_kode_program
tampil_ubah_sanksi Digunakan untuk menampilkan data dari tabel
sanksi berdasarkan th_anggaran
tampil_wajib_pajak_2 Digunakan untuk menampilkan data dari tabel
wajib_pajak berdasarkan NPWPD
tampil_WP_nmwp Digunakan untuk menampilkan data dari tabel
wajib_pajak berdasarkan NPWPD
tampil_WR_npwr Digunakan untuk menampilkan data dari tabel
wajib_retribusi berdasarkan NPWRD

Anda mungkin juga menyukai