SKRIPSI
Oleh:
Anas Etikasari
NIM : 055314002
A THESIS
Presented as Partial Fulfillment of the Requirements
To Obtain Sarjana Teknik Degree
In Informatics Engineering Department
By :
Anas Etikasari
055314002
ii
MOTTO
v
INTISARI
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.
pendapatan keuangan daerah ini diperoleh dari hasil wawancara dengan pihak-
terkait.
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
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.
technology and MySQL database technology. The system of local finance income
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
KABUPATEN KLATEN)”.
tersusunnya skripsi ini. Untuk itu, saya ingin mengucapkan terima kasih kepada :
1. Kedua orang tua saya A. Tulus Purwono dan Endang Budiyanti yang telah
2. Bapak Yosef Agung Cahyanta, S.T., M.T. selaku Dekan Fakultas Sains dan
3. Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T. selaku Ketua Jurusan Teknik
Yogyakarta.
viii
5. Bapak H. Agung Hernawan, S.T. selaku Dosen Pembimbing kedua Skripsi.
6. Para staff keuangan dan DIPENDA Kabupaten Klaten yang telah membantu
Agung Daryono dan Rima kusuma Nirwana yang selalu menyayangi dan
8. Buat anak-anak AMDG: Ima, Ida, Anik, Sito, Lina, Hendry, Nanang, Antok,
9. Teman-temanku Elis, Kristy, Anis, Vita, Endah, Maya, Putri, Riska, Dian dan
10. Buat anak-anak MAWAR: Krisna, Ani, Cile, Rita, Nana, Ana dan semua yang
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
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
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
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
baik pendapatan asli daerah, dana perimbangan dan lain-lain pendapatan daerah
oleh pemerintah yaitu menangani penerbitan SPP, SPM, dan SP2D. Bagian
daerah Kabupaten Klaten maka disimpulkan bahwa masalah yang timbul pada
bagian pengelolaan keuangan daerah ini adalah pencatatan dan pengolahan data
sehingga kurang efisien. Penyimpanan data yang dilakukan seperti itu dapat
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
sebab itu dalam penulisan ini yang dibahas hanyalah bagian pendapatan saja.
telah dibuat dalam sebuah program aplikasi berbasis web yang mampu
Klaten.
proses update surat ketetapan baik itu Surat Ketetapan Pajak Daerah
procedure.
SKPD.
manajemen transaksi.
pendapatan yang diperoleh pemerintah daerah, selain itu juga membantu dalam
a. Analisa Sistem
b. Desain Sistem
Pada tahap ini hal yang dilakukan adalah merancang sistem untuk
model.
5
c. Implementasi
Pada tahap ini membuat program sesuai dengan rancangan yang telah
d. Pengujian
sistematika penulisan menjadi 5 bab. Berikut ini uraian singkat dari masing-
masing bab:
1. BAB I. PENDAHULUAN
Dalam bab ini berisi tentang landasan teori yang digunakan dalam
Dalam bab ini berisi tentang rancangan sistem yang akan dibuat.
menyatakan semua proses yang terjadi dalam software yang akan dibuat.
Dalam bab ini berisi implementasi yang dilakukan terhadap hasil analisa dan
perancangan yang telah dilakukan pada bab sebelumnya serta berisi analisa
Dalam bab ini berisi kesimpulan pembahasan dan saran-saran yang berguna
BAB II
LANDASAN TEORI
Informasi adalah data yang diolah menjadi bentuk yang lebih berguna
operasi, bersifat manajerial dan kegiatan strategi dari suatu organisasi dan
(Jogiyanto, 1999).
7
8
daerah.
Berikut ini merupakan istilah yang ada dalam peraturan Bupati Klaten
9
dibahas dan disetujui bersama oleh pemerintah daerah dan DPRD, dan
berisi satu atau lebih kegiatan dengan menggunakan sumber daya yang
SKPD.
4. Kegiatan adalah bagian dari program yang dilaksanakan oleh satu atau
lebih unit kerja pada SKPD sebagai bagian dari pencapaian sasaran
bentuk barang/jasa.
10
kepala Dipenda dan kepala bagian pelengkapan. Selain itu juga Bendahara
Umum Daerah (BUD) yang meliputi kuasa BUD. Dalam Satuan Kerja
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
12
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
KDH penjabaran APBD paling lambat tiga hari sejak APBD diterbitkan
13
kas SKPD kepada PPKD paling lambat enam hari kerja setelah adanya
pemberitahuan.
anggaran kas SKPD bersama dengan kepala SKPD, berdasar per KDH
penjabaran.
kepada SEKDA dan rancangan kas SKPD yang lolos verifikasi kepada
PPKD
daerah
14
PPKD
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
Anggaran (DPPA)-SKPD
pembiayaan
diperkirakan
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
kepada TAPD
kepada TAPD
DPPA-SKPD DPPA-SKPD
PPKD
17
3. Setelah Wajib Pajak membayar pajak sesuai SKP Daerah, maka Bank
maupun bukti lain yang sah sebanyak 2 rangkap dan nota kredit.
2.6 berikut :
18
Pembayaran
SKP
Daerah
SKP
Daerah
Nota Penatausahaan
Kredit Penerimaan
19
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
20
21
12. Bank membuat Nota Kredit dan mengotorisasi STS. Bank kemudian
Pembantu
Daerah.
Anggaran.
STS dan Surat Tanda Bukti Pembayaran/ Bukti Lain yang Sah.
22
disampaikan ke BUD
23
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
STS maupun surat tanda setor yang lain. Dalam SPJ penerimaan
24
diserahkakn ke BUD.
25
Pelaksanaan
Pendapatan SPJ SPJ SPJ
Daerah Penerimaan Penerimaan Penerimaan
Gambar 2.9 Flowchart Pengajuan SPJ Penerimaan Oleh Bendahara Penerimaan (Perda, 2006)
26
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
SKR daerah, STS maupun surat tanda setor yang lain. Dalam SPJ
Penerimaan.
jurnal adalah transaksi ekonomi yaitu transaksi yang memiliki nilai ekonomi
dan dapat diukur dalam satuan uang. Transaksi yang dapat dicatat kemudian
dipindahkan kedalam buku besar (posting) dan apabila diperlukan dibuat buku
besar pembantu. Pos-pos pada buku besar atau buku besar pembantu
laporan keuangan SKPD yang terdiri dari laporan realisasi anggaran, neraca dan
28
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
bentuk:
2. Neraca SKPD
30
31
program, dan penyebab mengapa sistem tersebut harus dibuat. Konsep ini
kegiatan tersebut, bagaimana respon dari sistem untuk kegiatan itu, dengan
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.
antara sistem dan eksternal sistem atau sesuatu yang berada di luar sistem dan
atau penggunanya. (Whitten, 2004). Use case diagram terdiri dari actor, use
1. Actor adalah seseorang atau sesuatu yang harus berinteraksi dengan sistem.
32
3. Asosiasi adalah relasi antara actor dan use case dimana ada interaksi yang
atau keluaran data dari suatu proses. DFD merupakan alat bantu dalam
aliran dari data yang melalui sebuah sistem dan sekaligus menggambarkan
Beberapa simbol dan koneksi yang digunakan dalam DFD. Berikut ini
adalah penjelasannya:
33
1. Rounded Rectangles
2. Square
batas sistem dari kerangka sistem informasi yang dibuat. Gambar 2.17
merupakan Square.
3. Open-Ended Boxes
data ini menghubungkan semua entitas tunggal dalam sebuah model data.
34
4. Arrow (Panah)
Simbol ini merepresentasikan aliran data atau input dan output, ke dan dari
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
1. Entitas, merupakan sebuah objek yang nyata dan dapat dibedakan dari
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.
didefinisikan dalam fase-fase ke dalam bentuk model data yang diadopsi oleh
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
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
beberapa tempat untuk data yang sama dan data yang tidak konsisten. (Atzeni,
2000).
implementasi secara fisik sesuai dengan DBMS yang digunakan. Selain itu,
37
38
Untuk menjamin integritas data, suatu berbasis basis data harus menjaga agar
sifat ACID dipenuhi oleh transaksi. sifat ACID meliputi (Connolly, 2005) :
1. Atomicity:
2. Consistency:
data.
3. Isolation:
39
4. Durability:
kegagalan sistem.
COMMIT
PARTIALLY COMMITTED
AND_TRANSACTION COMMITTED
ACTIVE ABORT
BEGIN_TRANSACTION ABORT
FAILED ABORTED
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 aborted jika sudah masuk aborted state. Jika tidak
failed state, maka transaksi harus rolled back. Maka transaksi akan masuk pada
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
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
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
Contoh kasus lost update problem disajikan pada tabel 2.3 berikut:
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
transaksi T2, T1 melakukan debet sebesar 10 dari account dengan nilai balx
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
lebih dulu.
b. 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
dikembalikan ke nilai semula yaitu balx = 100. Tetapi, saat itu transaksi T3
telah membaca nilai balx yang baru (200) dan telah menggunakan nilai ini
Contoh kasus inconsistent analysis problem disajikan pada tabel 2.5 berikut:
43
balx (100), baly (50), dan balz (25). Sementara itu pada saat yang
dapat menolak akses pada transaksi lain untuk mencegah hasil yang salah.
44
teknik two-phase locking. Protokol ini terdiri dari dua fase, yaitu:
penguncian pada data. Pada fase ini, transaksi tidak boleh melakukan
pembebasan pada data. Pada fase ini, transaksi tidak boleh melakukan
menjaga sifat serializable dari suatu penjadwalan, namun protokol ini belum
dapat menjamin bahwa tidak akan terjadi deadlock karena masih ada transaksi
3. Operasi pembacaan data yang akan diikuti dengan operasi update data
45
1. Client tier
Client tier bertanggung jawab untuk representasi data, menerima input dari
Tier ini bertanggung jawab untuk implementasi ke client tier aturan bisnis
(business rules) yang tersedia. Aturan bisnis ini menciptakan objek bisnis
3. Data-server tier
ketersediaan aplikasi data. Biasanya data-server tier ini terdiri atas dari satu
atau lebih server database relasional (misalnya Oracle atau MySQL) dan
a. Tabel/view/trigger database
b. Stored Procedure
46
c. File server
berikut:
sumber JSP dijalankan pada Web server dimana memberikan keuntungan untuk
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
JSP, yang dituju oleh request. (Class ini disebut JSP page
implementation class).
Kode JSP pada dasarnya adalah kode HTML yang dilengkapi dengan tag-
tag JSP. Pada tag-tag inilah program menyisipkan kode dalam bahasa java.
<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
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
session=request.getSession(true);
getAtribut(String name);
session.removeAttribut(String name);
(Kadir, 2004)
49
2.7. MySQL
Query Language
Data Definition Language (DDL). Perintah yang terdapatan pada DML adalah
1. Select
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
3. Update
Dipakai untuk mengubah data pada satu baris, beberapa baris atau semua
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
5. 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
function:
CREATE
[DEFINER = { user | CURRENT_USER }]
FUNCTION sp_name ([func_parameter[,...]])
RETURNS type
[characteristic ...] routine_body
func_parameter:
param_name type
7. Create 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
pendapatan daerah. Selain itu dari DPA-SKPD juga disusun DPA yang
pengeluaran daerah dihasilkan bukti transaksi dan SPJ, dari SPJ tersebut
realisasi anggran, neraca saldo dan catatan atas laporan keuangan. Pada
skripsi ini hanya akan dibahas pendapatan daerah saja. Penjelasan diatas
52
53
APBD
Anggaran
Kas DPA-SKPD
Penyusunan
Penyusunan
SKP/SKR
SPD
Daerah
SKP/SKR DPA
Daerah
Pendapatan Pengeluaran
Daerah Daerah
transaksi
Pembuatan
Laporan Daerah
Pelaporan
keuangan
informasi data yang diinginkan tidak dapat dilakukan dengan cepat karena
54
4. Bendahara Penerimaan
diperoleh.
bendahara penerimaan.
8. Staff TU
sistem yang lama dalam hal efisiensi waktu dan biaya. Sistem yang akan
dibuat ini dimulai dari perancangan DPA-SKPD yang dibuat oleh SKPD,
ketetapan baik itu Surat Ketetapab Pajak Daerah (SKPD) maupun Surat
yang sudah disahkan tidak dapat diupdate lagi. Hasil surat ketetapan yang
kesempatan, tujuan, dan batasan ditunjukkan pada tabel 3.2 sebagai berikut :
57
Use case diagram dari sistem yang akan dibuat dapat dilihat pada gambar
dijelaskan penulis di depan maka sistem yang akan dibuat hanya akan
keuangan saja dimana pada gambar use case dibawah ini yang akan
dijelaskan hanyalah yang diberi tanda merah. Use case Diagram Sistem
59
60
update pendapatan dan pelaporan dan update tabel master, disajikan pada
Gambar 3.3 Use Case Diagram Sistem Informasi
Pendapatan Keuangan Daerah
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.
login
<<depend on>>
Pencarian Cetak
DPA-SKPD Surat ketetapan
Ka.SKPD
pengesahan Pencarian
Surat ketetapan laporan
Pencarian Cetak
Surat ketetapan laporan
65
login
<<depend on>>
Pencarian Pencarian
DPA-SKPD laporan
BUD
Pencarian Cetak
Surat ketetapan laporan
Pengesahan
laporan
berikut:
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.
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
SKPD
2
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
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
Bendahara
Penerimaan
Data pengesahan 2.5P
dpa-skpd
Pengesahan Data pengesahan
DPA-SKPD
Bendahara
Penerimaan
Pembantu
BUD
Ka. SKPD
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
Data skp
Data skr
26 wajib_pajak
3.5P
BUD konfirmasi
Pengesahan
Data pengesahan Surat ketetapan
Data
sk wajib retribusi
27 wajib_retribusi
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
BUD
konfirmasi
Tabel ini menyimpan data detail SKP yaitu rincian SKP baik
Tabel ini menyimpan data detail SKR yaitu rincian SKR baik
Tabel ini menyimpan data detail SKP yaitu rincian setiap SKP yang
Tabel ini menyimpan data detail SKR yaitu rincian setiap SKR
Tabel ini menyimpan data pendapatan yang berasal selain dari SKP
dan SKR.
Tabel ini menyimpan data level. Kode level dapat berubah setiap
program.
berlaku.
Gambar 3.27 Form Login
Gambar 3.28 Form Tambah DPA-SKPD
104
Detail DPA-SKPD
Uraian
volume
Satuan Event
Simpan Batal
Gambar 3.29 Form Tambah Detail DPA-SKPD
Gambar 3.30 Form Ubah Detail DPA-SKPD
105
Kode Rekening
Rekening
Uraian
Volume
Satuan
Harga Satuan
Hapus Batal
SKP
Tambah SKP
Masa Awal
Masa Akhir
Jatuh Tempo
Tahun 2008
NPWPD
Simpan Batal
Gambar 3.33 Form Tambah Detail SKP
Ubah SKR
Ubah SKR
Uraian
NPWRD
Jumlah
Ubah Batal
Pendapatan
Nomor Bukti
Tanggal Transaksi
Bank Pilih Bank
Simpan Batal
Gambar 3.44 Form Tambah Pendapatan dari SK
berasal selain dari surat ketetapan ditampilkan pada gambar 3.45 berikut:
Pendapatan
Rekening
Uraian
Nominal
Tanggal Transaksi
Asal Pendapatan
Bank Pilih Bank
Simpan Batal
Gambar 3.45 Form Tambah Pendapatan Selain dari SK
112
Gambar 3.46 Form Tambah pihak ketiga
Tambah bank
Nomor Rekening
Nama Bank
Simpan Batal
Gambar 3.47 Form Tambah bank
Gambar 3.48 Form Tambah pegawai
Gambar 3.49 Form Tambah level
Gambar 3.50 Form Tambah rekening
114
procedure yang dibutuhkan pada sistem yang dibuat akan dijelaskan pada
tabel 3.52 sedangkan stored procedure penunjang yang lain akan dijelaskan
dalam lampiran.
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
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
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.
123
124
}catch(Exception ex){
ex.printStackTrace();
}
}
}
}
}
staff, password dari user adalah staff dan port yang dipakai adalah 3306.
user harus melakukan proses login terlebih dahulu. Proses login inilah yang
pengecekan apakah proses login tersebut valid atau tidak, jika tidak valid
125
maka user diminta untuk mengulang proses login kembali dan muncul
valid maka user akan masuk ke halaman sesuai dengan jabatan yang
dimiliki dan data user yang mengakses sistem tersebut akan disimpan
Potongan listing untuk program yang menangkap nilai input dari form
<%
if (user2.equalsIgnoreCase("") || pass.equalsIgnoreCase("")) {
System.out.println("Login gagal!");
Login Kembali");
RequestDispatcher dis =
equest.getRequestDispatcher("Login.jsp");
dis.forward(request, response);
} else {
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);
RequestDispatcher dis =
request.getRequestDispatcher("PA_Halaman_Utama.jsp");
dis.forward(request, response);
RequestDispatcher dis =
request.getRequestDispatcher("BP_Halaman_Utama.jsp");
dis.forward(request, response);
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);
RequestDispatcher dis =
request.getRequestDispatcher("Staff_TU_Halaman_Utama.js
p");
dis.forward(request, response);
} else {
RequestDispatcher dis =
request.getRequestDispatcher("Login.jsp");
dis.forward(request, response);
} else {
Login Kembali");
RequestDispatcher dis =
request.getRequestDispatcher("Login.jsp");
dis.forward(request, response);
%>
Proses login untuk user ditangani oleh method login dalam class
login:
merupakan identitas pengunjung dalam sistem. Dalam sistem ini, setiap user
akan mendapatkan halaman indeks yang berbeda sesusai dengan jabatan dan
Potongan listing method login disajikan dalam listing 4.3 berikut ini:
int kodeKunjungan = 0;
try {
csmt.setString(1, username);
csmt.setString(2, password);
csmt.registerOutParameter(3, java.sql.Types.INTEGER);
csmt.executeUpdate();
129
kodeKunjungan = csmt.getInt(3);
ex.printStackTrace();
return kodeKunjungan;
csmt.setString(2, password);
Dalam sisi database, proses login ditangani oleh stored procedure login.
Potongan listing method jabatan disajikan dalam listing 4.4 berikut ini:
130
try {
csmt.setInt(1, idKunjungan);
csmt.registerOutParameter(2, java.sql.Types.VARCHAR);
csmt.executeUpdate();
bag = csmt.getString(2);
ex.printStackTrace();
return bag;
berikut:
csmt.setInt(1, idKunjungan);
csmt.registerOutParameter(2, java.sql.Types.VARCHAR);
131
bag = csmt.getString(2);
Dalam sisi database, proses login ditangani oleh stored procedure login_2.
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);
data dari tabel pegawai sesuai dengan username dan password yang
berikut:
hasil stored procedure login dan keluaran yang diinginkan adalah bagian,
Penerimaa. Sistem ini terdapat delapan user, dimana setiap user memiliki
proses login, maka jika proses login berhasil maka user akan dapat
berikut ini :
4.7 Berikut:
END$$
DELIMITER ;$$
diambil dari tabel organisasi tetapi setelah masuk ke tabel dpa_skpd yang
yang diambil dari tabel kegiatan tetapi setelah masuk ke tabel dpa_skpd
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,
DPA-SKPD yang belum disahkan saja. Berikut ini merupakan form tambah
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;
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 ;$$
adalah rekening, uraian, volume, satuan, no_urutDPA dan user dimana user
tersebut akan disimpan, setelah itu user hanya diminta untuk memasukkan
139
tabel detail_dpa_skpd akan terisi dengan sendiri karena auto increment, user
nilai dari triwulan_I dan th_anggaran sesuai dengan no_urutDPA, selain itu
sudah disahkan atau belum jika sudah maka akan muncul konfirmasi “DPA-
no_urutDPA tidak boleh ada yang sama, jika sama maka akan muncul
yang akan ditambah belum disahkan dan data tidak sama maka data akan
jika user telah memilih maka akan muncul form ubah detail DPA-SKPD,
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
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
diubah disimpan dalam tabel detail_dpa_skpd, setelah itu data yang baru
yang telah diubah disimpan dalam tabel detail_dpa_skpd, selain itu juga
disahkan, jika user telah memilih maka akan muncul form hapus detail
akan disajikan pada listing 4.10 serta diperjelas pada tabel 3.53:
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;
SET AUTOCOMMIT=1;
END$$
DELIMITER ;$$
no_pengunjung diperoleh saat proses login atau user yang mengakses dan
akan dilakukan proses pengecekan apakah data yang akan dihapus sudah
disahkan atau belum, jika sudah maka akam muncul konfirmasi “Data
akan diberi flag pada field hapus diberi tanda “ok” yang menandakan kalau
data sudah dihapus dan juga akan mengupdate tabel dpa_skpd untuk nilai
dikurangi volume sesuai dengan data yang dihapus, setelah itu hasil update
END$$
DELIMITER ;$$
sudah disahkan tetapi jika 0 maka DPA-SKPD belum disahkan. Selain itu
Tampilan form tambah SKP disajikan dalam gambar 4.8 berikut ini
SKPD adalah insertSKP, listing insertSKP akan disajikan pada listing 4.15
Berikut:
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;
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 ;$$
dimana masukkannya adalah masa awal, masa akhir, tanggal jatuh tempo,
tahun anggaran dan NPWPD, dimana akan berpengaruh pada tabel skp.
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
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
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
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;
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 ;$$
tambah Detail SKP dan stored procedure diatas dilengkapi dengan transaksi
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
yang berasal dari tabel detail_dpa_skpd, jumlah akan berisi harga satuan
Selain itu juga berpengaruh pada tabel skp dimana akan terjadi proses
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
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
153
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 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 ;$$
keluarannya berupa konfirmasi. Proses ini hanya akan dapat dilakukan jika
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
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.
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
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
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 ;$$
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
belum, jika sudah maka proses tidak akan dilakukan tetapi jika belum
bersangkutan akan diberi tanda yaitu pada field hapus bernilai “ok”, selain
itu juga akan mengupdate tabel skp yaitu untuk field total, dimana nilai total
update skp
set pengesahan=1, tgl_pengesahan=skrg
where no_skp=p_no_skp;
END$$
DELIMITER ;$$
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
Berikut:
dimana masukkannya adalah masa awal, masa akhir, tanggal jatuh tenpo,
tahun anggaran dan NPWRD, dimana akan berpengaruh pada tabel skr.
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
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
NPWRD berisi NPWRD dimana jika NPWRD yang dimasukkan tidak ada
kegagalan dalam proses tambah skr ini karena tabel skr dan wajib_retribusi
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 ;$$
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
berasal dari tabel detail_dpa_skpd, jumlah akan berisi harga satuan dari
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
update skr
set total=total_akhir
where no_skr=e_no_urutSKR;
ELSE
select('SKR sudah disahkan') into keluaran;
rollback;
end if;
SET AUTOCOMMIT=1;
END$$
DELIMITER ;$$
keluarannya berupa konfirmasi. Proses ini hanya akan dapat dilakukan jika
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
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.
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;
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
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 ;$$
dapat dilakukan jika SKRD yang bersangkutan belum disahkan. Tabel yang
berpengaruh pada proses ini adalah tabel detail_skr dan skr. Dalam stored
bersangkutan sudah disahkan atau belum, jika sudah maka proses tidak akan
dilakukan tetapi jika belum disahkan maka pada tabel detail_skr dan pada
hapus bernilai “ok”, selain itu juga akan mengupdate tabel skr yaitu untuk
field total, dimana nilai total dikurangi dengan jumlah yang ada pada tabel
skr yaitu pada field pengesahan dan tgl_pengesahan, pada pengesahan akan
diupdate menjadi 1 yang menandakan jika SKRD sudah disahkan tetapi jika
4.1.5. Pendapatan
memilih tahun anggaran dan surat ketetapan, disajikan dalam gambar 4.13
berikut ini:
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
pendapatan dengan jenis bukti skp, disajikan dalam gambar 4.14 berikut:
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;
elseif(p_jenis_bukti='skr')
then
select total, tgl_jatuhTempo into nominal, jth_tempo
from skr
where no_skr=p_no_bukti;
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
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
Gambar 4.15 Form Tambah Pendapatan Selain dari SKP dan SKR
DELIMITER $$;
DROP PROCEDURE IF EXISTS `pendapatan`.`insert_pendapatan_lain`$$
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;
berasal selain dari SKP dan SKR dan dilengkapi dengan transaksi
lain_lain.
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 ;$$
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
berikut:
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
pendapatan daerah tiap triwulan (3 bulan). Telah dijelaskan diatas jika tiap
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
transaksi yang dilakukan lebih dari satu user dan transaksi yang saling
diakses lebih dari seorang user. Maka digunakan metode 2 phase locking
dimana user hanya dapat memanggil stored procedure saja dan tidak
Kekurangan dari sistem yang dibuat ini adalah sistem belum dapat
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Dari hasil analisa, desain dan implementasi yang dilakukan pada sistem
database MySQL.
back end.
178
179
5.2. Saran
sistem ini, atau pihak lain yang hendak menggunakan sistem ini penulis
user.
DAFTAR PUSTAKA
Connolly, T., Begg, C., 2005. Database Systems A Practical Approach to Design,
Media Teknika
Jogiyanto H.M. 1999. Analisis dan Desain Sistem Informasi. Yogyakarta: Andi.
Penerbit Andi.
Yogyakarta: Andi.
Whitten, Jeffrey L. , Bentley, Lonnie D., Dittman, Kevin C., 2004. Metode Disain
Store Procedure yang Digunakan