syaiful amarullah isnaini-fst
TRANSCRIPT
SKRIPSI
APLIKASI PERHITUNGAN PAJAK PENGHASILAN PASAL
21 DAN SSP MULTI FUNCTION BERBASIS WEB
(STUDI KASUS: CV. BUANA MITRA CONSULTING)
SYAIFUL AMARULLAH ISNAINI
105091002890
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
2010
APLIKASI PERHITUNGAN PAJAK PENGHASILAN PASAL
21 DAN SSP MULTI FUNCTION BERBASIS WEB
(STUDI KASUS: CV. BUANA MITRA CONSULTING)
SKRIPSI
Sebagai Salah Satu Syarat untuk Memperoleh Gelar
Sarjana Komputer
Pada Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh :
Syaiful Amarullah Isnaini
105091002890
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
2010
APLIKASI PERHITUNGAN PAJAK PENGHASILAN PASAL 21 DAN SSP
MULTI FUNCTION BERBASIS WEB
(STUDI KASUS: CV. BUANA MITRA CONSULTING)
Skripsi
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer
Pada Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh:
SYAIFUL AMARULLAH ISNAINI
1050910029890
Menyetujui,
Pembimbing I,
Victor Amrizal, M.Kom
NIP. 150411288
Pembimbing II,
Khodijah Hulliyah, M.Si
NIP. 19730402 200112 2 001
Mengetahui,
Ketua Program Studi Teknik Informatika
Yusuf Durrachman, M. Sc, MIT
NIP. 19710522 200604 1 002
ABSTRAK
Syaiful Amarullah Isnaini - 105091002890, Perancangan Aplikasi
Perhitungan Pajak Penghasilan Pasal 21 dan SSP Multi Function Berbasis Web.
Studi Kasus : CV. Buana Mitra Consulting. (dibawah bimbingan Victor Amrizal,
M.Kom dan Khodijah Hulliyah, M.Si).
CV. Buana Mitra Consulting merupakan salah satu perusahaan jasa konsultan
pajak yang menggunakan internet sebagai alat untuk mengoptimalkan
pekerjaannya. Dalam menangani kliennya yang berjumlah puluhan, terkadang
mengalami kesulitan karena terbatasnya karyawan. Banyak klien yang ingin
dihitung beban pajaknya, namun karena keterbatasan karyawan maka proses
perhitungan pajak menjadi lebih sulit ditambah lagi proses perhitungannya masih
manual sehingga kurang efisien. Biasanya prioritas utama dalam menangani
kliennya adalah klien yang laporan keuangannya masih belum sesuai dan harus
dibenarkan terlebih dahulu laporan keuangannya sebelum menghitung beban
pajaknya sementara keterbatasan pegawai masih menjadi masalah. Oleh karena itu
klien yang sudah sesuai laporan keuangannya dan hanya dihitung beban pajaknya
menjadi terbengkalai, sehingga banyak klien yang mengeluh karena beban
pajaknya belum di hitung. Disamping itu BMC juga ingin memberikan pelayanan
yang maksimal terhadap kliennya.Tujuan dari penelitian ini yaitu menambah
fasilitas aplikasi perhitungan pajak pasal 21 badan dan surat setoran pajak yang
berbasis web serta dapat mencetak hasil outputnya. Metodologi penelitian berisi
metode pengumpulan data dan metode pengembangan sistem. Metode
pengumpulan data dengan menggunakan metode observasi, wawancara, dan studi
pustaka. Sedangkan metode pengembangan sistem dengan menggunakan System
Developement Life Cycle (SDLC) dengan model waterfall. Kesimpulan yang
didapat dari penelitian ini yaitu dengan membuat sistem menjadi berbasis web,
sistem dapat membantu klien dalam hal perhitungan pajak pasal 21 badan yang
terintegrasi dengan databasenya sehingga lebih efektif dan efisien. Serta hubungan
antara klien dan CV. Buana Mitra Consulting lebih erat karena fasilitas tersebut
dapat digunakan dengan baik oleh klien.
Kata kunci : pajak, ssp, aplikasi pajak, spt masa, pph21, web.
LEMBAR PERNYATAAN
Dengan ini saya menyatakan bahwa:
1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi
salah satu persyaratan memperoleh gelar strata 1 di Universitas Islam Negeri
Syarif Hidayatullah Jakarta.
2. Semua sumber yang saya gunakan dalam penulisan ini telah saya cantumkan
sesuai dengan ketentuan yang berlaku di Universitas Islam Negeri Syarif
Hidayatullah Jakarta.
3. Jika di kemudian hari terbukti bahwa karya ini bukan hasil karya asli saya
atau merupakan hasil jiplakan dari karya orang lain, maka saya bersedia
menerima sanksi yang berlaku di Universitas Islam Negeri Syarif
Hidayatullah Jakarta.
Jakarta, Juni 2010
Syaiful Amarullah Isnaini
105091002890
KATA PENGANTAR
Bismillahirrahmanirrahim,
Alhamdulillah, puji syukur penulis panjatkan kepada Allah Subhanahu Wa
Ta‟ala atas seluruh rahmat dan karunia-Nya yang diberikan kepada penulis
sehingga penulis dapat melaksanakan penelitian skripsi ini dan menyelesaikan
penulisannya dengan baik. Shalawat serta salam selalu tersampaikan kepada
Rasulullah Shalallahu „Alaihi Wasallam, keluarganya, sahabatnya, serta
pengikutnya yang setia hingga akhir zaman.
Skripsi ini berjudul “Perancangan Aplikasi Perhitungan Pajak
Penghasilan Pasal 21 dan SSP Multi Function Berbasis Web Pada CV. Buana
Mitra Consulting”, yang disusun untuk memenuhi salah satu syarat dalam
menyelesaikan program Strata 1 pada Program Studi Teknik Informatika di
Universitas Islam Negeri Syarif Hidayatullah Jakarta.
Harapan bahwa skripsi ini dapat bermanfaat bagi semua pihak yang
berkepentingan, merupakan kebahagiaan tersendiri bagi penulis walaupun disadari
bahwa “tiada gading yang tak retak” tidak ada sesuatu pun yang sempurna
melainkan Allah SWT Sang Maha Penguasa Alam Semesta.
Pada kesempatan ini, penulis ingin menyampaikan ucapan terima kasih
kepada pihak-pihak yang telah mendukung terselesaikannya skripsi ini. Karena
tanpa dukungan dari mereka, penulis tidak akan mampu menyelesaikan skripsi ini
dengan baik. Mereka yang telah mendukung penulis adalah :
1. Bapak DR. Syopiansyah Jaya Putra, M.Sis, selaku Dekan Fakultas Sains dan
Teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta.
2. Bapak Yusuf Durrachman, M.Sc, MIT sebagai Ketua Program Studi Teknik
Informatika, Fakultas Sains dan Teknologi, Universitas Islam Negeri Syarif
Hidayatullah Jakarta.
3. Ibu Viva Arifin, MMSI sebagai Sekretaris Ketua Program Studi Teknik
Informatika, Fakultas Sains dan Teknologi, Universitas Islam Negeri Syarif
Hidayatullah Jakarta.
4. Bapak Victor Amrizal, M.Kom, selaku dosen pembimbing I yang selalu
menyemangati anak didiknya dan juga telah memberikan banyak bantuan bagi
penulis dalam menyelesaikan skripsi ini.
5. Ibu Khodijah Hulliyah, M.Si, selaku dosen pembimbing II penulis yang telah
memberi banyak masukan bagi penulis dalam menyelesaikan skripsi ini.
6. Ayah dan Ibu tercinta yang selalu mengiringi do‟a dalam setiap langkah, juga
kedua adik Jamal dan Ade serta Ulfa Rasyid, SE, yang selalu memberikan
semangat kepada penulis untuk terus berkarya dan menjadi orang yang lebih
baik di kemudian hari.
7. Saudara-saudaraku seperjuangan di Teknik Informatika yang sudah menemani
penulis dalam menyelesaikan skripsi ini, terutama sahabat-sahabatku semua di
TI C angkatan 2005. Terima kasih.
8. Seluruh Dosen dan staf karyawan Fakultas Sains dan Teknologi, khususnya
Program Studi Teknik Informatika, yang telah membimbing penulis selama
menuntut ilmu di Universitas Islam Negeri Syarif Hidayatullah Jakarta.
9. Semua pihak yang sudah membantu dan tidak dapat disebutkan satu-persatu.
Penulis mengharapkan kritik serta saran yang membangun dari pembaca
untuk penulisan laporan yang lebih baik lagi. Kritik dan saran serta pertanyaan dapat
disampaikan ke penulis melalui email [email protected]. Semoga skripsi
ini dengan izin Allah SWT dapat bermanfaat bagi semua pembaca. Amin.
Ciputat, Juni 2010
Penulis
Syaiful Amarullah Isnaini
DAFTAR ISI
Halaman Judul ............................................................................................ i
Halaman Sampul ......................................................................................... ii
Lembar Pengesahan .................................................................................... iii
Abstrak ......................................................................................................... iv
Lembar Pernyataan ................................................................................... v
Kata Pengantar ........................................................................................... vi
Daftar Isi ...................................................................................................... ix
Daftar Tabel ................................................................................................. xii
Daftar Gambar ............................................................................................ xiii
Daftar Lampiran ......................................................................................... xv
Daftar Istilah ............................................................................................... xvi
Daftar Simbol .............................................................................................. xvii
BAB 1 PENDAHULUAN
1.1 Latar Belakang ................................................................................. 1
1.2 Rumusan Masalah ............................................................................ 3
1.3 Batasan Masalah .............................................................................. 3
1.4 Tujuan Penelitian ............................................................................. 4
1.4 Manfaat Penelitian ........................................................................... 4
1.5 Metodologi Penelitian ...................................................................... 5
1.5.1 Teknik Pegumpulan Data ....................................................... 5
1.5.2 Metode Pengembangan Sistem .............................................. 7
1.7 Sistematika Penulisan ...................................................................... 8
BAB 2 LANDASAN TEORI
2.1 Pengertian Aplikasi .......................................................................... 10
2.2 Pajak ................................................................................................. 10
2.2.1 Pengertian Pajak ..................................................................... 10
2.2.2 Fungsi Pajak ........................................................................... 11
2.2.3 Subyek Pajak .......................................................................... 12
2.3 PPh 21 .............................................................................................. 12
2.3.1 Pengertian PPh 21 .................................................................. 12
2.3.2 Wajib Pajak PPh Pasal 21 ...................................................... 12
2.3.3 Yang Tidak Termasuk Wajib Pajak PPh Pasal 21 ................. 13
2.3.4 Obyek Pajak ........................................................................... 14
2.3.5 Tarif Pajak Penghasilan untuk Wajib Pajak Pribadi .............. 16
2.3.6 Penghasilan Kena Pajak (PKP) .............................................. 16
2.3.6 Penghasilan Tidak Kena Pajak (PTKP) ................................. 16
2.4 Surat Setoran Pajak (SSP) ................................................................ 17
2.5 XHTML ........................................................................................... 19
2.5.1 Sekilas Tentang XHTML ....................................................... 19
2.5.1 Keuntungan Menggunakan XHTML ..................................... 19
2.6 Javascript .......................................................................................... 19
2.7 Web Server ....................................................................................... 20
2.8 Apache ............................................................................................. 21
2.9 Bahasa Pemrograman PHP .............................................................. 21
2.10 Konsep Basis Data ......................................................................... 22
2.10.1 Pengertian Basis Data .......................................................... 22
2.10.2 DBMS (Database Management System) ............................. 24
2.10.3 Normalisasi .......................................................................... 24
2.11 Database MySQL ........................................................................... 22
2.12 Entity Relational Diagram (ERD) .................................................. 28
2.13 State Transition Diagram (STD) .................................................... 29
2.14 Data Flow Diagram (DFD) ............................................................ 29
2.15 Flowchart ....................................................................................... 31
2.16 System Development Life Cycle ................................................... 32
2.17 Web Browser ................................................................................. 33
2.18 Literatur Sejenis .............................................................................. 34
BAB 3 METODOLOGI PENELITIAN
3.1 Waktu dan Tempat Penelitian ......................................................... 37
3.3.1 Waktu Penelitian ................................................................... 37
3.3.2 Tempat Penelitian .................................................................. 37
3.2 Hipotesis Penelitian ......................................................................... 37
3.3 Perangkat Penelitian ......................................................................... 38
3.4 Metode Penelitian ............................................................................ 39
3.5 Metode Pengumpulan Data .............................................................. 40
3.6 Metode Pengembangan Sistem ........................................................ 42
BAB 4 HASIL DAN PEMBAHASAN
4.1 Latar Belakang Perusahaan .............................................................. 47
4.2 Analisis Sistem ................................................................................. 48
4.2.1 Uraian Sistem Saat Ini ........................................................... 48
4.2.2 Analisis Sistem Saat Ini ......................................................... 49
4.3 Analisis Kebutuhan .......................................................................... 54
4.3.1 Analisa Pihak-pihak Yang terlibat ......................................... 54
4.3.2 Analisa Kebutuha Pengguna .................................................. 54
4.3.3 Analisa kebutuhan Sistem ...................................................... 54
4.3.4 Analisa Kebutuhan Faktor Pendukung Sistem ....................... 55
4.4 Perancangan Sistem Baru ................................................................. 57
4.4.1 Perancangan Proses ................................................................ 57
4.4.2 Perancangan Data ................................................................... 64
4.4.3 Perancangan Struktur Aplikasi .............................................. 107
4.4.4 Perancangan Antar Muka ....................................................... 117
4.5 Pengkodean (Coding) ....................................................................... 121
4.5.1 Kode Program ........................................................................ 121
4.5.1 Desain Antar Muka ................................................................ 122
4.6 Pengujian .......................................................................................... 122
4.6.1 Perlengkapan Uji Coba .......................................................... 122
4.6.2 Hasil Pengujian ...................................................................... 124
4.7 Penerapan Aplikasi .......................................................................... 124
4.7.1 Pelatihan ................................................................................. 124
4.7.2 Go Live .................................................................................. 124
4.8 Pemeliharaan .................................................................................... 125
BAB 5 PENUTUP
5.1 Kesimpulan ...................................................................................... 126
5.2 Saran ................................................................................................ 126
Daftar Pustaka ............................................................................................. 127
Lampiran ..................................................................................................... 129
DAFTAR TABEL
Tabel 2.1 Simbol dan Keterangan DFD ........................................................ 30
Tabel 2.2 Simbol-simbol yang Umum Digunakan dalam Flowchart ........... 31
Tabel 4.1 Tabel User ..................................................................................... 87
Tabel 4.2 Tabel Batas Upah Harian .............................................................. 88
Tabel 4.3 Tabel Biay Jabatan ........................................................................ 89
Tabel 4.4 Tabel Bukti Potong 1721-A1 ........................................................ 89
Tabel 4.5 Tabel Bukti Potong 1721-A2 ........................................................ 92
Tabel 4.6 Tabel Bukti Potong Final .............................................................. 95
Tabel 4.7 Tabel Bukti potong Nofinal ......................................................... 96
Tabel 4.8 Tabel Jabatan Pegawai 1721-A1 .................................................. 98
Tabel 4.9 Tabel Jabatan Pegawai 1721-A2 ................................................... 98
Tabel 4.10 Tabel PTKP ................................................................................. 99
Tabel 4.11 Tabel Lawan Transaksi ............................................................... 99
Tabel 4.12 Tabel Pegawai 1721-A1 .............................................................. 100
Tabel 4.13 Tabel Pegawai 1721-A2 .............................................................. 101
Tabel 4.14 Tabel Pegawai Keluar ................................................................. 102
Tabel 4.15 Tabel Pegawai Masuk ................................................................. 103
Tabel 4.16 Tabel Pegawai NPWP ................................................................. 104
Tabel 4.17 Tabel Pegawai Pensiun ............................................................... 104
Tabel 4.18 Tabel PTKP ................................................................................ 105
Tabel 4.19 Tabel SPT Masa .......................................................................... 105
Tabel 4.20 Tabel Tarif Pasal 17 .................................................................... 106
Tabel 4.21 Tabel Tarif Pasal 21 .................................................................... 107
Tabel 4.22 Tabel Spesifikasi Server .............................................................. 115
Tabel 4.23 Tabel Spesifikasi Client .............................................................. 116
DAFTAR GAMBAR
Gambar 1.1 Sejarah Perkembangan Web....................................................... 19
Gambar 3.1 Alur Kerja Penelitian ................................................................. 39
Gambar 3.2 Tahapan dan Rincian Pengembangan Sistem ............................ 46
Gambar 4.1 Flowchar Sistem yang pada saat ini .......................................... 50
Gambar 4.2 Hasil kuesioner tentang kebutuhan aplikasi perhitungan pajak 51
Gambar 4.3 Flowchar Sistem yang Diusulkan .............................................. 52
Gambar 4.4 Diagram Konteks ....................................................................... 58
Gambar 4.5 Data Flow Diagram 0/Overview ............................................... 59
Gambar 4.6 Data Flow Diagram Level 1 Proses 1.0 ..................................... 60
Gambar 4.7 Data Flow Diagram Level 1 Proses 2.0 ..................................... 61
Gambar 4.8 Data Flow Diagram Level 1 Proses 3.0 ..................................... 62
Gambar 4.9 Data Flow Diagram Level 2 Proses 3.1.0 ................................. 64
Gambar 4.10 Entity Relational Diagram (ERD) ........................................... 65
Gambar 4.11 Gambar user sebelum normalisasi ........................................... 66
Gambar 4.12 Gambar pph21_spt_masa sebelum normalisasi ...................... 66
Gambar 4.13 Gambar pph21_lawan_transaksi sebelum normalisasi ........... 67
Gambar 4.14 Gambar pph21_pegawai_1721a2 sebelum normalisasi .......... 67
Gambar 4.15 Gambar pph21_ pegawai_1721a1 sebelum normalisasi ......... 67
Gambar 4.16 Gambar pph21_bukti_potong_nofinal sebelum normalisasi .. 68
Gambar 4.17 Gambar pph21_bukti_potong_final sebelum normalisasi ...... 69
Gambar 4.18 Gambar pph21_bukti_potong_1721a1 sebelum normalisasi .. 69
Gambar 4.19 Gambar pph21_bukti_potong_1721a2 sebelum normalisasi .. 70
Gambar 4.20 Gambar pph21_pegawai_npwp sebelum normalisasi ............. 70
Gambar 4.21 Gambar pph21_pegawai_masuk sebelum normalisasi ........... 71
Gambar 4.22 Gambar pph21_pegawai_keluar sebelum normalisasi ............ 71
Gambar 4.23 Gambar pph21_pegawai_pensiun sebelum normalisasi ......... 71
Gambar 4.24 Gambar pph21_user 1NF ......................................................... 72
Gambar 4.25 Gambar pph21_spt_masa 1NF ................................................ 72
Gambar 4.26 Gambar pph21_lawan_transaksi 1NF ..................................... 73
Gambar 4.27 Gambar pph21_pegawai_1721a2 1NF .................................... 73
Gambar 4.28 Gambar pph21_pegawai_1721a1 1NF .................................... 74
Gambar 4.29 Gambar pph21_bukti_potong_nofinal 1NF ............................ 75
Gambar 4.30 Gambar pph21_bukti_potong_final 1NF ................................ 76
Gambar 4.31 Gambar pph21_bukti_potong_1721a1 1NF ............................ 77
Gambar 4.32 Gambar pph21_bukti_potong_1721a2 1NF ............................ 78
Gambar 4.33 Gambar pph21_pegawai_npwp 1NF ....................................... 78
Gambar 4.34 Gambar pph21_pegawai_masuk 1NF ..................................... 79
Gambar 4.35 Gambar pph21_pegawai_keluar 1NF ...................................... 79
Gambar 4.36 Gambar pph21_pegawai_pensiun 1NF ................................... 79
Gambar 4.37 Gambar pph21_user 2NF ......................................................... 80
Gambar 4.38 Gambar pph21_spt_masa 2NF ................................................ 80
Gambar 4.39 Gambar pph21_lawan_transaksi 2NF ..................................... 81
Gambar 4.40 Gambar pph21_pegawai_1721a2 2NF .................................... 81
Gambar 4.41 Gambar pph21_pegawai_1721a1 2NF .................................... 81
Gambar 4.42 Gambar pph21_bukti_potong_nofinal 2NF ............................ 82
Gambar 4.43 Gambar pph21_bukti_potong_final 2NF ................................ 83
Gambar 4.44 Gambar pph21_bukti_potong_1721a1 2NF ............................ 83
Gambar 4.45 Gambar pph21_bukti_potong_1721a2 2NF ............................ 84
Gambar 4.46 Gambar pph21_pegawai_npwp 2NF ....................................... 84
Gambar 4.47 Gambar pph21_pegawai_masuk 2NF ..................................... 85
Gambar 4.48 Gambar pph21_pegawai_keluar 2NF ...................................... 85
Gambar 4.49 Gambar pph21_pegawai_pensiun 2NF ................................... 85
Gambar 4.50 Gambar ERD setelah di normalisasi ....................................... 86
Gambar 4.51 Gambar Tampilan Halaman Login .......................................... 117
Gambar 4.52 Gambar Tampilan Halaman SPT Masa ................................... 118
Gambar 4.53 Gambar Tampilan Halaman Lawan Transaksi ........................ 119
Gambar 4.54 Gambar Tampilan Halaman Pegawai 1721-A1 ...................... 120
Gambar 4.55 Gambar Tampilan Halaman Pegawai 1721-A2 ...................... 121
DAFTAR LAMPIRAN
Lampiran I Kuesioner ………………………………………………… 129
Lampiran II Wawancara ………………………………………………. 131
Lampiran III Kuesioner ………………………………………………… 133
Lampiran IV Tampilan Antar Muka …………………………………… 135
Lampiran V Blackbox Testing ………………………………………… 145
Lampiran VI Source Code ……………………………………………… 147
DAFTAR ISTILAH
DBMS : Database Management System
DFD : Data Flow Diagram
ERD : Entity Relationship Diagram
HTML : Hyper Text Markup Language
HTTP : Hyper Text Transfer Protocol
MySQL : My Structure Query Language
PHP : Hypertext Preprocessor
SDLC : System Development Life Cycle
WWW : World Wide Web
PPh 21 : Pajak Penghasilan Pasal 21
SPT : Surat Pemberitahuan
PTKP : Penghasilan Tidak Kena Pajak
PKP : Pendapatan Kena Pajak
SSP : Surat Setoran Pajak
KPP : Kantor Pelayanan Pajak
DAFTAR SIMBOL
A. Data Flow Diagram (DFD)
Simbol Nama
Entitas
Aliran Data
Proses
Penyimpanan Data
B. Flowchart
Simbol Nama Fungsi
Terminator Permulaan/akhir
program
Garis Alir
(Flow Line) Arah aliran program
Proses
Proses
perhitungan/proses
pengolahan data
Input/Output Data
Proses input/output
data, parameter,
informasi
Sub Program
Permulaan sub program
/ proses menjalankan
sub program
Decision
Perbandingan
pernyataan,
penyeleksian data yang
memberikan pilihan
untuk langkah
selanjutnya
Predefined Process Pemberian harga awal
On Page
Connector
Penghubung bagian-
bagian flowchart yang
berada pada satu
halaman
Stored Data Penyimpanan data
Off Page
Connector
Penghubung bagian-
bagian flowchart yang
berada pada halaman
berbeda
BAB I
PENDAHULUAN
1.1. Latar Belakang
Keunggulan manusia dibanding makhluk lainnya adalah karena
kecerdasannya. Dengan kecerdasannya manusia mampu menciptakan
sesuatu dengan memanfaatkan ilmu pengetahuan dan teknologi. Sehingga
terciptalah sebuah alat yang disebut komputer pada abad ini. Kini
perkembangan teknologi komputer semakin meningkat, mengingat peran
komputer yang sangat besar yaitu untuk meringankan pekerjaan manusia
karena dapat mengolah data dalam jumlah besar dengan ketelitian yang
tinggi.
Hadirnya internet memberikan suatu terobosan baru dalam bidang
teknologi, karena informasi sudah menjadi kebutuhan manusia, maka
dengan adanya internet manusia menjadi lebih mudah, lebih tepat, dan lebih
cepat dalam mendapatkan informasi. Jarak dan waktu sudah tidak menjadi
masalah lagi dalam mendapatkan suatu informasi. Pesatnya perkembangan
jaringan komputer ini, dari tahun ke tahun membuat semua elemen dari
berbagai bidang dan institusi baik pemerintah maupun perusahaan swasta
menggunakan internet untuk membantu pekerjaan di tiap-tiap bagian serta
bidang pekerjaan yang ditekuni.
CV. Buana Mitra Consulting merupakan salah satu perusahaan jasa
konsultan pajak yang menggunakan internet sebagai alat untuk
mengoptimalkan pekerjaannya. CV. Buana Mitra Consulting memiliki
alamat website yaitu http://www.infopajakonline.com .Dalam menangani
kliennya yang berjumlah puluhan, terkadang mengalami kesulitan karena
terbatasnya karyawan. Untuk itu dibuatlah suatu forum di websitenya agar
klien dapat tanya jawab.
Namun dengan adanya forum saja tidak cukup. Banyak klien yang
ingin dihitung beban pajaknya. Karena keterbatasan karyawan maka proses
perhitungan pajak menjadi lebih sulit ditambah lagi proses perhitungannya
masih manual sehingga kurang efisien. Biasanya prioritas utama dalam
menangani kliennya adalah klien yang laporan keuangannya masih belum
sesuai dan harus dibenarkan terlebih dahulu laporan keuangannya sebelum
menghitung beban pajaknya sementara keterbatasan pegawai masih menjadi
masalah. Oleh karena itu klien yang sudah sesuai laporan keuangannya dan
hanya ingin dihitung beban pajak karyawannya menjadi terbengkalai,
sehingga banyak klien yang mengeluh karena beban pajak karyawannya
belum di hitung. Di lain pihak CV. Buana Mitra Consulting ingin
memberikan pelayanan yang lebih terhadap kliennya dengan memberikan
suatu fasilitas untuk menghitung beban pajak para karyawannya.
Berdasarkan permasalahan pada CV. Buana Mitra Consulting dan
berdasarkan kuesioner yang dilakukan oleh penulis untuk para klien yang
yang lebih dari 90 % menginginkan agar dibuatkan aplikasi untuk
perhitungan pajak penghasilan pasal 21. Penulis menginginkan agar fasilitas
internet dan website yang sudah ada dan digunakan sebagai media informasi
agar dimaksimalkan fungsinya, sehingga penulis tertarik untuk melakukan
penelitian yang berhubungan dengan web dengan judul “Perancangan
Aplikasi Perhitungan Pajak Penghasilan Pasal 21 dan SSP Multi Function
Berbasis Web (Studi Kasus : CV. Buana Mitra Consulting)”.
1.2. Rumusan Masalah
Berdasarkan permasalahan di atas, maka masalah yang akan dibahas
oleh penulis adalah sebagai berikut :
1. Bagaimana membangun suatu aplikasi yang dapat membuat
perhitungan pajak karyawan suatu perusahaan.
2. Bagaimana membangun suatu aplikasi perhitungan pajak yang
menghasilkan output baik itu berupa SPT, SSP, Daftar bukti potong,
dan lainnya yang berupa file pdf.
3. Bagaimana membuat membuat aplikasi berbasis web yang hanya
dapat di akses dan digunakan oleh klien.
1.3. Batasan Masalah
Agar pembahasan dalam skripsi ini tidak terlalu luas, namun dapat
mencapai hasil yang optimal, maka penulis akan membatasi ruang lingkup
pembahasan sebagai berikut :
1. Merancang suatu aplikasi perhitungan pajak dengan sifat member only yang
hanya dapat di akses oleh klien yang sudah registrasi.
2. Penghitungan Pajak penghasilan Pasal 21 yang dikenakan pada pegawai
tetap dan selain pegawai tetap serta keluarannya yang berupa file pdf.
3. Merancang aplikasi SSP Multi Function.
1.5. Tujuan Penelitian
Merancang suatu aplikasi perhitungan pajak dan
mengimplementasikannya yang berbasis web dan menghasilkan output
berupa pdf sehingga aplikasi perhitungan pajak ini diharapkan dapat
membantu CV. Buana Mitra Consulting dalam memberikan fasilitas
perhitungan pajak kepada para kliennya menjadi lebih mudah.
1.5. Manfaat Penelitian
Manfaat yang diharapkan dalam penelitian skripsi ini yaitu :
1. Bagi Penulis
a. Menguasai perancangan aplikasi khususnya berbasis web
dengan menggunakan bahasa pemrograman php.
b. Dapat secara langsung melakukan mengaplikasikan program
perhitungan pajak kedalam apikasi yang berbasis web.
c. Menerapkan ilmu-ilmu yang diperoleh selama perkuliahan
terutama tentang web programming sebagai dasar penelitian
skripsi ini.
2. Bagi Universitas
a. Mengetahui kemampuan mahasiswa dalam menguasai materi
pelajaran yang diperoleh dibangku kuliah.
b. Mengetahui kemampuan mahasiswa dalam menerapkan ilmunya
dan sebagai bahan evaluasi.
c. Sebagai tolak ukur bagi penelitian selanjutnya untuk dapat
mengembangkan aplikasi pajak ini.
3. Bagi Instansi
a. Mengefektifkan kinerja karyawan terhadap banyaknya klien dalam
perhitungan pajak.
b. Kebebasan bagi setiap klien untuk menghitung beban pajaknya
melalui website CV. Buana Mitra Consulting.
c. Sebagai tolak ukur bagi penelitian selanjutnya untuk dapat
mengembangkan aplikasi pajak ini.
1.5. Metodologi Penelitian
1.5.1. Teknik Pengumpulan Data
Untuk memperoleh data yang tepat dan akurat guna
kesempurnaan sistem yang akan dibuat, maka penulis menggunakan
beberapa teknik pengumpulan data. Teknik-teknik tersebut
diantaranya:
1. Teknik Observasi
Yaitu pengumpulan data dan informasi dengan cara
meninjau dan mengamati secara langsung kegiatan di lapangan
yaitu di CV. Buana Mitra Consulting, Dengan cara observasi ini
akan diperloleh data yang lengkap dan tepat. Selain itu, metode
observasi mempunyai kelebihan yaitu peneliti mengetahui
sendiri dengan jelas tentang sistem penghitungan pajak berbasis
web.
2. Teknik Wawancara (Interview)
Yaitu pengumpulan data yang dilakukan dengan
wawancara. Usaha untuk mengumpulkan data-data dengan
mengajukan sejumlah pertanyaan yang berkaitan dengan
penelitian. Cara ini untuk mendapatkan keterangan-keterangan
pelengkap guna kelancaran kegiatan penelitian dan menggali
permasalahan secara lebih mendalam pada bidang yang akan
diteliti.
3. Teknik Kepustakaan
Mengumpulkan data dan informasi dengan mencari dan
memperoleh data-data yang diperlukan dari berbagai buku,
jurnal, dan website yang berhubungan dengan materi skripsi ini.
4. Teknik Studi Literatur
Mengumpulkan data dari penelitian lain yang sejenis dengan
penelitian ini, kemudian menganalisanya dan memberikan
kesimpulan.
5. Teknik Kuesioner
Mengumpulkan data melaluui pertanyaan-pertanyaan yang di
peruntukan oleh siapa saja yang berhubungan dengan penelitian ini.
1.5.2. Metode Pengembangan Sistem
Metode pengembangan yang akan digunakan adalah metode
SDLC (System Development Life Cycle) dengan model Waterfall
(Royce, 1970), yang terdiri dari analisis (Analysis), perancangan
(Design), pengkodean (coding), pengujian (testing), dan perawatan
(maintenance).
1. Analisis (Analysis)
Merupakan tahap dimana system engineering
menganalisis kebutuhan (Requirements) dalam pelaksanaan
pembuatan sistem. Analisis ini menjelaskan tentang aplikasi
sebelumnya yang berbasis desktop aplication. Permasalahan
yang dihadapi instansi dan kerangka pemecahan masalah.
2. Perancangan (Design)
Proses perancangan akan menerjemahkan syarat
kebutuhan ke sebuah perancangan aplikasi yang dapat
diperkirakan sebelum dibuat coding. Proses ini berfokus pada :
struktur data, arsitektur aplikasi, representasi interface, dan
detail (algoritma) prosedural.
3. Pengkodean (coding)
Pengkodean merupakan proses menerjemahkan desain ke
dalam suatu bahasa yang bisa dimengerti oleh komputer.
4. Pengujian (testing)
Proses pengujian dilakukan pada logika internal untuk
memastikan semua pernyataan sudah diuji. Pengujian eksternal
fungsional untuk menemukan kesalahan-kesalahan dan
memastikan bahwa input akan memberikan hasil yang aktual
sesuai yang dibutuhkan
5. Penerapan (Acceptance)
Proses penerapan aplikasi yaitu pelatihan yang ditujukan bagi
pengguna dan penerapan aplikasi di perusahaan.
6. Perawatan (maintenance)
Perawatan dan pemantauan aplikasi yang akan dilakukan
oleh ahli IT.
1.6. Sistematika Penulisan
Dalam skripsi ini, pembahasan yang penulis sajikan terbagi dalam
lima bab, yang secara singkat dapat diuraikan sebagai berikut :
BAB I PENDAHULUAN
Bab ini membahas tentang latar belakang, perumusan
masalah, batasan masalah, tujuan dan manfaat penelitian,
metodologi penelitian dan sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini membahas secara singkat teori yang diperlukan
dalam penelitian skripsi.
BAB III METODOLOGI PENELITIAN
Pada bab ini akan dijelaskan metodologi yang digunakan
penulis dalam melakukan penelitian.
BAB IV HASIL DAN PEMBAHASAN
Dalam bab ini diuraikan hasil analisis dan perancangan
sistem yang dibuat.
BAB V PENUTUP
Bab ini adalah bab terakhir yang menyajikan kesimpulan
serta saran dari apa yang telah diterangkan dan diuraikan
pada bab-bab sebelumnya.
BAB II
LANDASAN TEORI
2.1. Pengertian Aplikasi
Pengertian tentang Aplikasi berasal dari bahasa inggris, yaitu “To
applicate” yang artinya menerapkan atau terapan. Namun pengertian
mengenai aplikasi secara umum adalah suatu paket program yang sudah jadi
dan dapat digunakan. Sedangkan arti Aplikasi adalah:
“program komputer yang dibuat untuk menolong manusia dalam
melaksanakan tugas tertentu ”. (Nugroho, 2004:56)
Komputer itu sendiri kaitannya dengan aplikasi yang terdiri dari
beberapa unit fungsional untuk mencapai tujuan pelaksanaaan pengolahan
data yaitu:
1. Bagian yang membaca data ( Input data atau input unit )
2. Bagian yang mengolah data ( Control processing unit )
3. Bagian yang mengeluarkan hasil pengolahan data ( Output data )
2.2. Pajak
2.2.1. Pengertian Pajak
Pajak adalah iuran wajib yang dipungut oleh pemerintah dari
masyarakat (wajib pajak) untuk menutupi pengeluaran rutin negara
dan biaya pembangunan tanpa balas jasa yang dapat ditunjuk secara
langsung. (Waluyo, 2008:26)
Pengetian pajak menurut bebetapa ahli :
1. Prof Dr Adriani
Pajak adalah iuran kepada negara yang dapat dipaksakan,
yang terutang oleh wajib pajak membayarnya menurut peraturan
dengan tidak mendapat imbalan kembali yang dapat ditunjuk
secara langsung.
2. Prof. DR. Rachmat Sumitro,SH
Pajak adalah iuran rakyat kepada kas negara (peralihan
kekayaan dari kas rakyat ke sektor pemerintah berdasarkan
undang-undang) dapat dipaksakan dengan tiada mendapat jasa
timbal (tegen prestasi) yang langsung dapat ditunjukkan dan
digunakan untuk membiayai pengeluaran umum.
Lima unsur pokok dalam defenisi pajak
a. Iuran / pungutan
b. Pajak dipungut berdasarkan undang-undang
c. Pajak dapat dipaksakan
d. Tidak menerima kontra prestasi
e. Untuk membiayai pengeluaran umun pemerintah
2.2.2. Fungsi Pajak
Fungsi pajak ada dua, yaitu :
1. Fungsi budgetair merupakan fungsi pajak sebagai sumber dana
pemerintah untuk biaya-biaya pengeluarannya.
2. Fungsi mengatur adalah fungsi pajak sebagai alat untuk
mengatur kebijakan pemerintah dibidang sosial ekonomi.
(Waluyo, 2008:30)
2.2.3. Subyek Pajak
Pajak penghasilan dikenakan terhadap subyek pajak atas penghasilan
yang diterima atau diperoleh dalam tahun pajak. (Waluyo, 2008:32)
Yang termasuk subyek pajak adalah :
1. Orang pribadi dan warisan yang belum terbagi.
2. Badan yaitu termasuk PT, CV, Perseroan lainnya, BUMN,
BUMD, Persekutuan, Perkumpulan, Firma, Kongsi, Yayasan
atau Organisasi sejenis, Lembaga, Dana pensiun dan bentuk
badan usaha lain.
3. Bentuk Usaha Tetap (BUT).
2.3. PPh 21
2.3.1. Pengertian PPh 21
“PPh 21 adalah merupakan pajak penghasilan yang dikenakan
atas penghasilan berupa gaji, upah, honorarium, tunjangan dan
pembayaran lain dengan nama apapun sehubungan dengan pekerjaan,
jasa atau kegiatan yang dilakukan oleh wajib pajak pribadi dalam
negeri “. (Waluyo, 2009:38)
2.3.2. Wajib Pajak PPh Pasal 21
Wajib pajak merupakan orang pribadi atau badan yang menurut
peraturan perundang-undangan perpajakan ditentukan untuk
melakukan kewajiban perpajakan, termasuk pemunggut pajak atau
pemotong pajak tertentu. (Waluyo, 2009:45) Adapun wajib pajak PPh
pasal 21 adalah :
1. Pegawai tetap adalah orang pribadi yang bekerja pada pemberi
kerja, yang menerima atau memperoleh gaji dalam jumlah
tertentu secara berkala, termasuk anggota dewan pengawas yang
secara teratur dan terus menerus ikut mengelola kegiatan
perusahaan secara langsung.
2. Pegawai lepas adalah orang pribadi yang bekerja pada pemberi
kerja dan hanya menerima imbalan apabila orang pribadi yang
bersangkutan bekerja.
3. Penerima pensiun adalah orang pribadi atau ahli warisnya yamg
menerima atau memperoleh imbalan untuk pekerjaan yang
dilakukan di masa lalu, termasuk orang pribadi atau ahli
warisnya yang menerima Tabungan Hari Tua atau Tunjangan
Hari Tua.
4. Penerima honorarium adalah orang pribadi yang menerima atau
memperoleh imbalan sehubungan dengan jasa, jabatan atau
kegiatan yang dilakukannya.
5. Penerima upah adalah orang pribadi yang menerima upah
harian, upah mingguan, upah borongan atau upah satuan.
2.3.3. Yang Tidak Termasuk Wajib Pajak PPh Pasal 21
1. Pejabat perwakilan diplomatik dan konsulat atau pejabat lain
dari negara asing dan orang-orang yang diperbantukan kepada
mereka yang bekerja pada dan bertempat tinggal bersama
mereka, dengan syarat bukan warga negara Indonesia dan tidak
menerima atau memperoleh penghasilan lain diluar jabatannya
di Indonesia.
2. Pejabat perwakilan organisasi internasional sebagaimana
dimaksudkan dalam keputusan Menteri Keuangan Nomor: 611 /
KMK 04 / 1994 sepanjang bukan atau pekerjaan lain untuk
memperoleh penghasilan di Indonesia. (Waluyo, 2009:54)
2.3.4. Obyek Pajak
Penghasilan yang dikenakan pemotongan pajak penghasilan
pasal 21 oleh pemberi kerja atau pembayar gaji, upah, honorarium,
tunjangan dan imbalan lain sesuai dengan pasal 5 Surat Keputusan
Direktur Jendral Pajak No: Kep-02 / PJ / 1995 adalah:
1. Penghasilan yang diterima atau diperoleh oleh pegawai,
karyawan atau karyawati secara teratur, karena pelaksanaan
suatu pekerjaan atau jabatan. Penghasilan tersebut berupa gaji,
upah, honorarium, uang lembur, tunjangan istri dan tunjangan
anak, tunjangan iuran pensiun;
2. Penghasilan yang diterima pegawai, karyawan atau karyawati
secara tidak teratur, yang sifatnya tidak tetap dan biasanya
diberikan sekali saja dalam setahun, penghasilan tersebut dapat
berupa: jasa produksi, bonus, gratifikasi, tantiem, tunjangan hari
raya termasuk tunjangan tahun baru, premi tahunan dan
penghasilan lain yang sejenisnya;
3. Penghasilan yang diterima oleh pegawai, karyawan dan
karyawati lepas berupa upah harian, mingguan, satuan dan
borongan;
4. Honorarium, uang saku, hadiah atau penghargaaan dengan nama
dan bentuk apapun, beasiswa, komisi atau pembayaran lain
sebagai imbalan sehubungan dengan pekerjaan, jasa atau
kegiatan yang dilakukan oleh wajib pajak dalam negeri yang
terdiri dari tenaga ahli atau persekutuan tenaga ahli; pemain
musik, penyanyi, bintang film, penari, pemahat, pelukis,
penasehat, pengajar, mereka yang menemukan langganan atau
pesanan untuk bank, petugas penjaja barang dagangan, petugas
dinas luar asuransi, peserta pendidikan, penagangan dan
pelatihan;
5. Penghasilan dengan nama apapun yang diterima oleh orang
pribadi atau persekutuan orang pribadi yang berada di Indonesia
tidak lebih dari 183 hari dalam jangka waktu 12 bulan (berstatus
sebagai wajib pajak luar negeri) sehubungan dengan jasa dan
atau pekerjaan yang dilakukan di Indonesia.
6. Penghasilan yang diterima atau diperoleh oleh pegawai,
karyawan atau karyawati atau bekas pegawai, karyawan atau
karyawati atau ahli warisnya, berupa uang pensiun, uang
tembusan pensiun, uang pesangon dan sebagainya dengan
syarat:
Penerima hasil tersebut bertempat tinggal di Indonesia,
karena perjanjian kerja atau jabatan yang telah dihentikan;
Penerima hasil tidak bertempat tinggal di Indonesia karena
perjanjian kerja atau jabatan yang telah dihentikan
sepanjang pembayarannya dibebankan pada Keuangan
Umum Indonesia atau dibebankan pada subyek pajak
dalam negeri. (Waluyo, 2008:38)
2.3.5. Tarif Pajak Penghasilan untuk Wajib Pajak Pribadi
1. Kurang dari / sampai dengan Rp. 50.000.000, 00 = 5%
2. Rp. 50.000.000, 00 – Rp. 250.000.000,00 = 15%
3. Rp. 250.000.000, 00 – Rp. 500.0000,00 = 25%
4. Diatas Rp. 500.000.000, 00 = 35%
2.3.6. Penghasilan Kena Pajak (PKP)
Wajib pajak pribadi (PKP) = Penghasilan neto – PTKP
Penghasilan Neto = Penghasilan bruto – Biaya-biaya
Penghasilan Bruto = Penghasilan wajib pajak + Biaya-biaya yang
ditanggung oleh pemberi kerja
Biaya – biaya tersebut antara lain :
1. Biaya jabatan
Biaya jabatan = 5% * penghasilan bruto (maximal Rp.
6.000.000, 00 / tahun);
2. Biaya yang ditanggung oleh wajib pajak / dipotong atas
penghasilan wajib pajak seperti iuran pensiun dan iuran THT
(Tunjangan Hari Tua).
2.3.7. Penghasilan Tidak Kena Pajak (PTKP)
Untuk menghitung besarnya PTKP dari wajib pajak orang
pribadi dalam negeri, penghasilan neto dikurangi dengan jumlah
PTKP. (Waluyo, 2009:72) Besarnya PTKP yang berlaku mulai tahun
pajak 2005 berdasarkan keputusan menteri keuangan nomor. 361 /
KMK.04 / 2005 tanggal 27 juli 2005 adalah:
1. Rp. 15.840.000, 00 untuk diri wajib pajak orang pribadi;
2. Rp. 1.320.000, 00 tambahan untuk wajib pajak yang kawin;
3. Rp. 1.320.000, 00 tambahan untuk setiap anggota keluarga
sedarah dan keluarga semenda dalam garis keturunan lurus serta
anak angkat yang menjadi tanggungan sepenuhnya, paling
banyak 3 orang untuk setiap keluarga. Pengertian anggota
keluarga yang menjadi tanggungan sepenuhnya adalah anggota
keluarga yang tidak mempunyai penghasilan dan seluruh biaya
hidupnya ditanggung oleh wajib pajak.
2.4. Surat Setoran Pajak (SSP)
Pengertian Surat Setoran Pajak dalam UU No. 28 tahun 2007 pasal 1
butir 14: bukti pembayaran atau penyetoran pajak yang telah dilakukan
dengan menggunakan formulir atau telah dilakukan dengan cara lain ke kas
negara melalui tempat pembayaran yang ditunjuk oleh Menteri Keuangan.
(Muldjono, 2009:36)
Dalam Surat Edaran SE – 39/PJ/2008 tanggal 20 Agustus 2008
memberi penegasan tentang SSP sebagai berikut:
1. Bukti Penerimaan Negara (BPN) merupakan salah satu dokumen sumber
penerimaan yang kedudukannya sama dengan Surat Setoran Pajak
(SSP).
2. Wajib Pajak dapat melakukan pembayaran pajak melalui electronic-
banking. Dalam hal pembayaran melalui electronic-banking, dokumen
sumber penerimaan yang disampaikan ke unit terkait (dalam hal ini
KPP/KPP Pratama/KPPBB) oleh Wajib Pajak adalah BPN.
2.5. XHTML
2.5.1. Sekilas Tentang XHTML
XHTML atau Extensible Hypertext Markup Language adalah
bahasa baru yang dikembangkan oleh World Wide Web Consortium
(W3C). XHTML sebenarnya merupakan gabungan dari XML dan
HTML.
Tujuan dibentuknya XHTML adalah untuk menggantikan
kedudukan HTML. Kehadirannya (XHTML) bukan hanya semata-
mata untuk menggantikan kedudukan HTML, tetapi diharapkan
adanya bahasa standar dalam mendesain web. XHTML akan
menetapkan aturanaturan baru dalam pemformatan dokumen yang
dulu masih dimaklumi oleh HTML. Jadi, dokumen XHTML tidak bisa
ditampilkan dengan baik apabila aturan-aturan dalam XHTML
dilanggar (Juju, 2007: 6).
Gambar 2.1 Sejarah Perkembangan Web (http://www.w3.org)
2.5.2. Keuntungan Menggunakan XHTML
Beberapa keuntungan menggunakan XHTML (Juju, 2007: 8)
adalah:
a) Halaman web akan benar-benar di-render (dibaca) oleh browser
dengan benar.
b) Source XHTML akan mudah dibaca karena ada pemisahan
antara presentasi dan data.
c) Kompatibel dengan teknologi yang baru (misalnya untuk
aplikasi mobile device).
2.6. Javascript
JavaScript diperkenalkan pertama kali oleh Netscape pada tahun
1995. pada awalnya bahasa ini dinamakan “LiveScript” dan berfungsi
sebagai bahasa sederhana untuk browser Netscape Navigator 2.
Netscape memberi nama “JavaScript” kepada bahasa tersebut pada
tanggal 4 Desember 1995. Bahasa ini adalah bahasa pemrograman
untuk memberikan kemampuan tambahan terhadap bahasa HTML
dengan mengizinkan pengeksekusian perintah di sisi klien, yang
artinya di sisi browser bukan di sisi server web
Beberapa hal tentang javascript (Sunyoto, 2007:8):
1. JavaScript didesain untuk menambah interaktif suatu web.
2. JavaScript merupakan sebuah bahasa scripting
3. Bahasa scripting merupakan bahasa pemrograman yang ringan.
4. JavaScript berisi baris kode yang dijalankan di computer (web
browser).
5. JavaScript biasanya disisipkan (embedded) dalam halaman HTML.
6. JavaScript adalah bahasa interpreter (yang berarti skrip dieksekusi
tanpa proses kompilasi).
7. Setiap orang dapat menggunakan JavaScript tanpa membayar lisensi.
CSS adalah bahasa Style Sheet yang digunakan untuk mengatur
tampilan dokumen. CSS (Cascading Style Sheet) secara sederhana
adalah sebuah metode yang digunakan untuk mempersingkat penulisan
tag HTML, seperti font, color, text, dan table menjadi lebih ringkas
sehingga tidak terjadi pengulangan penulisan (Budd, 2006: 3).
2.7. Web Server
Web browser berkomunikasi dengan web server lewat jaringan
komunikasi mengunakan protokol HTTP. Browser mengirim pesan
meminta dokumen atau layanan tertentu web server. Web server kemudian
menanggapi dengan mengirim dokumen atau menjalankan layanan tertentu
di server dan mengirim hasil menggunakan protokol HTTP. Kemudian
browser akan menerima dokumen (HTML) tanggapan dari web server dan
menampilkanya di layar (Hariyanto, 2004:45).
Adapun arsitektur aplikasi server adalah sebagai berikut:
1. Browser atau klien berinteraksi dengan web server.
2. Secara internal web server berinteraksi dengan middleware.
3. Middleware yang berhubungan dengan database.
Macam-macam web server :
a. Apache (Open Source)
b. Xitami
c. IIS
d. PWS
2.8. Apache
Apache merupakan software yang dikeluarkan oleh Group
Apache. Group Apache terlibat dalam suatu proyek yang disebut proyek
Apache untuk mengembangkan suatu software implementasi di server
HTTP (web) yang andal, standar komersial, dan Source Code-nya
didistribusikan secara gratis. Kunjungi websitenya yang beralamat di
http://httpd.Apache.org/.
2.9. Bahasa Pemrograman PHP
PHP (Hypertext PreProcessor) merupakan script untuk membuat
suatu aplikasi yang dapat diintegrasikan ke dalam HTML, sehingga suatu
halaman web tidak lagi bersifat statis, namun mnjadi dinamis (Nugroho,
2004:27).
PHP mempunyai beberapa keunggulan, (Nugroho, 2004:28) yaitu:
1. Cepat, ditempelkan (embeded) dalam kode HTML sehingga waktu
tanggap menjadi lebih pendek.
2. Berjalan pada beberapa system operasi, seperti Windows, Linux, Mac
OS dan kebanyakan variasi dari Unix.
3. Aman, pengguna tidak melihat kode PHP karena kode yang
ditampilkan pada browser adalah kode HTML.
4. Dirancang untuk mendukung database. PHP meliputi kemampuan
yang dirancang untuk berinteraksi dengan database tertentu.
5. Customizable. Lisensi open source sehingga mengizinkan para
programmer untuk memodifikasi software PHP, menambah atau
memodifikasi fitur-fitur yang diinginkan untuk lingkungan mereka
sendiri.
6. Mudah digunakan,PHP berisi beberapa fitur khusus dan fungsi yang
dibutuhkan untuk membuat halaman web dinamis.
2.10. Konsep Basis Data
2.10.1. Pengertian Basis Data
Data adalah representasi fakta dunia nyata yang mewakili suatu
objek seperti manusia (pegawai, mahasiswa, pembeli), barang, hewan,
peristiwa, konsep, keadaan, dan sebagainya yang direkam dalam
bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya.
Basis Data didefinisikan sebagai kumpulan data yang saling
berhubungan yang mereflesikan fakta-fakta yang terdapat pada suatu
organisasi (Hariyanto, 2004:32).
Keuntungan Sistem Basis Data:
a. Terkontrolnya kerangkapan data
Dalam basis data hanya mencantumkan satu kali saja field yang
sama yang dapat dipakai oleh semua aplikasi yang
memerlukannya.
b. Terpeliharanya keselarasan (kekonsistenan) data
Apabila ada perubahan data pada aplikasi yang berbeda maka
secara otomatis perubahan itu berlaku untuk keseluruhan
c. Dapat dipakai secara bersama (shared)
Data dapat dipakai secara bersama-sama oleh beberapa program
aplikasi (secara batch maupun on-line) pada saat bersamaan.
d. Diterapkan standarisasi
Dengan adanya pengontrolan yang terpusat maka DBA dapat
menerapkan standarisasi data yang disimpan sehingga
memudahkan pemakaian, pengiriman maupun pertukaran data.
e. Data terjamin
DBA dapat memberikan batasan-batasan pengaksesan data,
misalnya dengan memberikan password dan pemberian hak
akses bagi pemakai (misalnya: modify, delete, insert, retrieve)
f. Integritas data
Jika kerangkapan data dikontrol dan kekonsistenan data dapat
dijaga maka data menjadi akurat.
g. Keseimbangan (keselarasan) antara kebutuhan data yang
berbeda dalam setiap aplikasi
Struktur basis data diatur sedemikian rupa sehingga dapat
melayani pengaksesan data dengan cepat.
h. Independence (kemandirian data)
Dapat digunakan untuk bermacam-macam program aplikasi
tanpa harus merubah format data yang sudah ada.
2.10.2. DBMS (Database Management System)
DBMS merupakan koleksi terpadu dari database dan program-
program komputer (utilitas) yang digunakan untuk mengakses dan
memelihara database. Program-program tersebut menyediakan
berbagai fasilitas operasi untuk memasukkan, melacak, dan
memodifikasi data ke dalam database, mendefinisikan data baru, serta
mengolah data menjadi informasi yang dibutuhkan (Ladjamudin,
2005:40).
2.10.3. Normalisasi
Normalisasi adalah proses pengelompokkan data ke dalam
bentuk tabel atau relasi atau file untuk menyatakan entitas dan
hubungan mereka sehingga terwujud satu bentuk database yang
mudah untuk dimodifikasi (Ladjamudin, 2005:44).
Proses normalisasi pertama kali diperkenalkan oleh E.F.Codd
pada tahun 1972. Normalisasi sering dilakukan sebagai suatu uji coba
pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi
tersebut sudah baik atau masih melanggar aturan-aturan standar yang
diberlakukan pada suatu relasi yang normal (sudah dapat dilakukan
proses insert, update, delete, dan modify pada satu atau beberapa
atribut tanpa mempengaruhi integritas data dalam relasi tersebut).
Beberapa langkah dalam pembentukan normalisasi,
(Ladjamudin, 2005:49) yaitu :
a. Bentuk Tidak Normal (Unnormalized Form) Bentuk ini
merupakan kumpulan data yang akan direkam, tidak ada
keharusan mengikuti format tertentu, dapat saja data tidak
lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai
saat meng-input.
b. Bentuk Normal kesatu (First Normal Form / 1NF)
Pada tahap ini dilakukan penghilangan beberapa grup elemen
yang berulang agar menjadi satu harga tunggal yang berinteraksi
diantara setiap baris pada suatu tabel, dan setiap atribut harus
mempunyai nilai data yang atomic (bersifat atomic value). Atom
adalah zat terkecil yang masih memiliki sifat induknya, bila ia
dipecah lagi maka ia tidak memiliki sifat induknya.
Syarat normal kesatu (1-NF) :
1. Setiap data dibentuk dalam flat file, data dibentuk dalam
satu record demi satu record nilai dari field berupa
“atomic value”.
2. Tidak ada set atribut yang berulang atau bernilai ganda.
3. Telah ditentukannya primary key untuk tabel/relasi
tersebut.
4. Tiap atribut hanya memiliki satu pengertian.
c. Bentuk Normal kedua (Second Normal Form / 2NF)
Bentuk normal kedua didasari konsep full functional dependency
(ketergantungan fungsional sepenuhnya) yang dapat
didefinisikan sebagi berikut :
Jika A dan B adalah atribut-atribut dari suatu relasi, B dikatakan
full functional dependency (memiliki ketergantungan fungsional
sepenuhnya) terhadap A, tetapi tidak secara tepat memiliki
ketergantungan fungsional dari subset (himpunan bagian) dari
A.
Syarat normal kedua (2-NF) :
1. Bentuk data telah memenuhi kriteria bentuk normal
kesatu.
2. Atribut bukan key (non-key) haruslah memiliki
ketergantungan fungsional sepenuhnya (fully fungsional
dependency) pada kunci utama/primary key.
d. Bentuk Normal ketiga (Third Normal Form/3NF)
Syarat normal ketiga (3-NF):
1. Bentuk data telah memenuhi kriteria bentuk normal kedua.
2. Atribut bukan kunci (non-key) haruslah tidak memiliki
ketergantungan transitif, dengan kata lain suatu atribut
bukan kunci (non-key) tidak boleh memiliki
ketergantungan fungsional (fungsional dependency)
terhadap atribut bukan kunci lainnya, seluruh atribut
bukan kunci pada suatu relasi hanya memiliki
ketergantungan fungsional terhadap primary key di relasi
itu saja.
2.11. Database MySQL
MySQL merupakan software yang tergolong DBMS (Database
Management System) yang bersifat open source. Artinya perangkat lunak
tersebut dapat digunakan dan dikembangkan oleh siapapun. Siapapun dapat
mengunduh aplikasi tersebut dari internet dan tanpa dikenakan biaya
apapun.
Awalnya MySQL dibuat oleh perusahaan konsultan bernama TcX
yang berlokasi di Swedia. Saat ini pengembangan MySQL berada di bawah
naungan perusahaan MySQL AB. Untuk mendapatkan software dapat
diperoleh di situs www.mysql.com. (Kadir,2009:27)
2.12. Entity Relationship Diagram (ERD)
ERD adalah sebuah model data yang menggunakan beberapa notasi
untuk menggambarkan data dalam konteks entitas dan hubungan yang
dideskripsikan oleh data tersebut (Whitten, 2004:53).
Elemen-elemen ERD antara lain :
1. Entity/Entitas
Pada ERD, entity digambarkan dengan sebuah bentuk persegi panjang.
Entity adalah sesuatu apa saja yang ada di dalam sistem, nyata
maupun abstrak dimana data tersimpan atau dimana terdapat data.
Entity diberi nama dengan kata benda dan dapat dikelompokkan
dalam empat jenis nama, yaitu : orang, benda, lokasi, kejadian
(terdapat unsur waktu di dalamnya).
2. Relationship/Hubungan
Relationship dapat digambarkan dengan sebuah bentuk belah ketupat.
Relationship adalah hubungan alamiah yang terjadi antara entitas.
Pada umumnya Relationship diberi nama dengan kata kerja dasar,
sehingga memudahkan untuk melakukan pembacaan relasinya (bisa
dengan kalimat aktif atau kalimat pasif).
3. Atribut
Secara umum atribut adalah sifat atau karakteristik dari tiap entitas
maupun tiap relationship. Maksudnya, atribut adalah sesuatu yang
menjelaskan apa yang sebenarnya yang dimaksud entity maupun
relationship, sehingga sering dikatakan atribut adalah elemen dari
setiap entity dan relationship.
4. Kardinalitas (Cardinality)
Menurut Jeffrey L. Whitten (2004), Kardinalitas mendefinisikan
jumlah kemunculan baik minimum maupun maksimum satu entitas
yang dapat dihubungkan dengan kemunculan tunggal entitas lain.
2.13. State Transition Diagram (STD)
State-Transition Diagram menggambarkan bagaimana perilaku
sistem saat mendapatkan event dari luar (External Events). STD mewakili
berbagai mode perilaku dari sistem dan perlakuan yang terdapat pada
transisi antar state. STD menjadi dasar dari model perilaku. Informasi
tambahan mengenai aspek-aspek kontrol terhadap perangkat lunak terdapat
dalam spesifikasi kontrol (Control Specification) (Whitten, 2004:61).
Tabel 2.1. Simbol dan nama STD
Simbol Nama
state
transisi
aksi-kondisi
2.14. Data Flow Diagram (DFD)
DFD merupakan model dari sistem untuk menggambarkan
pembagian sistem ke modul yang lebih kecil. Salah satu keuntungan
menggunakan DFD adalah memudahkan pemakai atau user yang kurang
menguasai bidang komputer untuk mengerti sistem yang akan dikerjakan
(Ladjamuddin, 2005:53).
DFD sering digunakan untuk menggambarkan suatu sistem yang telah
ada atau sistem baru yang akan dikembangkan secara logika tanpa
mempertimbangkan lingkungan fisik dimana data tersebut mengalir
(misalnya lewat telpon, surat dan sebagainya) atau lingkungan fisik dimana
data tersebut akan disimpan (misalnya file kartu, microfiche, hardisk, tape,
diskette, dan lain sebagainya). DFD merupakan alat yang cukup popular,
karena dapat menggambarkan arus data di dalam sistem dengan terstruktur
dan jelas. DFD juga merupakan dokumentasi dari sistem yang baik.
Tabel 2.2 Simbol dan keterangan DFD
Simbol Nama
Entitas
Aliran Data
Proses
Penyimpanan Data
Levelisasi atau tingkatan dalam DFD yaitu:
Diagram konteks, dibuat untuk menggambarkan sumber serta tujuan
data yang akan diproses atau dengan kata lain diagram tersebut untuk
menggambarkan penggambaran sistem secara global dari keseluruhan
sistem yang ada.
Diagram 0 (Nol), untuk menggambarkan tahap-tahap proses yang ada
didalam diagram konteks.
Diagram detail, untuk menggambarkan arus data secara lebih detail
dan terperinci lagi dari tahapan proses yang ada didalam diagram nol.
2.15. Flowchart
Flowchart adalah bagan-bagan yang mempunyai arus yang
menggambarkan langkah-langkah penyelesaian suatu masalah. Flowchart
merupakan cara penyajian dari suatu algoritma (Ladjamuddin, 2005:59).
Berikut adalah symbol-simbol flowchart beserta keterangan dari
simbol tersebut.
Tabel 2.3. Simbol-simbol yang umum digunakan dalam flowchart
Simbol Nama Fungsi
Terminator Permulaan/akhir
program
Garis Alir
(Flow Line) Arah aliran program
Proses
Proses
perhitungan/proses
pengolahan data
Input/Output Data
Proses input/output
data, parameter,
informasi
Sub Program
Permulaan sub program
/ proses menjalankan
sub program
Decision
Perbandingan
pernyataan,
penyeleksian data yang
memberikan pilihan
untuk langkah
selanjutnya
Predefined Process Pemberian harga awal
On Page
Connector
Penghubung bagian-
bagian flowchart yang
berada pada satu
halaman
Stored Data Penyimpanan data
Off Page
Connector
Penghubung bagian-
bagian flowchart yang
berada pada halaman
berbeda
2.16. System Development Life Cycle
Dalam pengembangan sistem aplikasi ini, penulis menggunakan
model pendekatan SDLC (System Development Life Cycle), yakni
pendekatan melalui beberapa tahap untuk menganalisis dan merancang
sistem dimana sistem tersebut dikembangkan melalui xpenggunaan siklus
kegiatan penganalisis dan pemakai secara spesifik.
Dimana ada enam tahap pengembangan (Whitten, 2004:76), yaitu :
1) Analisis dan perancangan sistem (System engineering and analysis)
terhadap proyek yang akan dibuat dan dikembangkan.
2) Analisis kebutuhan perangkat lunak (Software requirement analysis)
untuk pengumpulan kebutuhan dan hambatan dilakukan secara
intensif dan terfokus, khususnya pada perangkat lunak serta analisa
kebutuhan dari customer.
3) Perancangan (Design) baik dari segi struktur data, arsitektur perangkat
lunak, perincian prosedur, dan karakteristik user interfacenya.
4) Pengembangan (Development) implementasi ke dalam bahasa mesin.
Langkah pembuatan kode melakukan tugas ini. Jika desain dilakukan
dengan cara yang lengkap, pembuatan kode dapat diselesaikan secara
mekanis.
5) Pengujian (Testing) melakukan pengujian terhadap sistem yang elah
dibuat.
6) Pemeliharaan (Maintenance) kegiatan untuk mendukung
beroperasinya sistem dan pemeliharaan sistem akan dilakukan oleh
seorang administrator.
2.17. Web Browser
Web browser ini mengacu pada suatu sistem perangkat lunak yang
memungkinkan mengambil hypermedia dengan mengetik parameter
pencarian atau mengklik grafik. Kemampuan ini membebaskan dari
keharusan untuk mengetahui (Uniform Resource Locator) URL dari
webpage yang berisi informasi yang dibutuhkan. Browser yang popular
mencakup Infoseek, WebCrawler, dan Yahoo. Hariyanto juga
mendefinisikan bahwa web browser adalah perangkat lunak untuk
menampilkan dokumen web (HTML) Hariyanto, 2004:55).
Prinsip kerja pengaksesan sebuah halaman web yang berbasis
HTML adalah sebagai berikut:
1. Browser meminta sebuah halaman kesuatu situs web melalui protocol
http.
2. Web server meminta permintaan.
3. Web server segera mengirimkan dokumen HTML yang diminta ke
client.
4. Browser pada client akan membaca dan mengartikan dokumen yang
diterima.
5. Berdasarkan kode-kode pemformatan yang terdapat pada dokumen
HTML, lalu menampilkan dalam versinya masing-masing.
2.18. Literatur Sejenis
Penulis mengambil literatur sejenis dari satu (1) skripsi dan satu (1)
aplikasi dengan judul sebagai berikut:
a. Aplikasi Akuntansi Perhitungan Pajak Tahunan Penghasilan Pasal 21
Pegawai Tetap Pada Delta Computer Training Center Surakarta
Agus Hartanto (NIM : J.990026), Program Studi Informatika Fakultas
Teknik Informatika Universitas Surabaya 2008.
Pada Tugas Akhir ini, penulis mengajukan penawaran berupa
pembuatan apliksi berbasis desktop untuk perhitungan pajak tahunan
pasal 21 pada pegawai tetap yang sebelumnya dilakukan dengan
perhitungan manual.
Kelebihan: Sistem aplikasi sudah terkomputerisasi sehingga
penghitungan tidak lagi dilakukan dengan manual dan laporan dapat
langsung dicetak dalam format pdf serta sumua data dan laporan sudah
tersimpan dalam database.
Kekurangan: Aplikasi hanya untuk perhitungan pegawai tetap saja
sedangkan pegawai tidak tetap atau untuk transaksi yang bersifat tidak
tetap tidak dapat menggunakan aplikasi ini. Aplikasi ini juga tidak
dapat merubah tarif pemotongan pajak.
b. Program Perhitungan Pajak Khususnya Pajak Penghasilan Pasal 21 atas
Transaksi dengan Pegawai Tetap dan Selain Pegawai Tetap.
Aplikasi ini dibuat oleh DP & Friend‟s Consultant pada tahun 2008.
Aplikasi ini merupakan aplikasi yang dibuat dengan menggunakan
Microsoft Office Excel. Aplikasi ini sudah dapat menghitung untuk
pegawai tetap dan selain pegawai tetap dan.
Kelebihan : Aplikasi Perhitungan pajak ini dapat digunakan untuk
transaksi pegawai tetap dan selain pegawai tetap dan laporannya dapat
langsung dicetak tetapi dengan aplikasi Microsoft Office Excel serta
tarif pajaknya dapat dirubah sesui peraturan yang berlaku.
Kekurangan : Karena Aplikasi ini menggunakan Microsoft Office
Excel, jadi untuk penyimpanan data tidak dapat disimpan dalam suatu
database dan hanya disimpan kedalam file tersebut saja, jadi aplikasi ini
hanya untuk satu SPT Masa saja.
BAB III
METODOLOGI PENELITIAN
3.1. Waktu dan Tempat Penelitian
3.1.1. Waktu Penelitian
Waktu penelitian dilakukan selama 8 bulan, mulai bulan April 2009
sampai dengan bulan Desember 2009 dengan melibatkan berbagai disiplin
ilmu pengetahuan, antara lain: Web Programming, Database, Rekayasa
Perangkat Lunak (RPL) dan Perpajakan.
3.1.2. Tempat Penelitian
Penelitian dilakukan di CV. Buana Mitra Consulting, yaitu persuhaan
yang bergerak di bidang jasa pajak, sementara untuk mendapatkan referensi
melalui buku, jurnal, ebook, maupun skripsi yang berhubungan dengan
penelitian ini yang diambil dari perustakaan dan internet.
3.2. Hipotesis Penelitian
Hipotesis yang digunakan dalam penelitian ini adalah, bahwa
penggunaan XHTML pada suatu halaman web terutama web Aplikasi
perhitungan pajak ini, membuat web lebih fleksibel dan aman dalam merubah
dan mengganti isi dan tampilan web, dan lebih mempercantik tampilan web
dengan adanya CSS. Pada penelitian ini penulis akan menggunakan
pendekatan aplikasi berbasis web.
3.3. Perangkat Penelitian
Sebagai sarana penelitian, diperlukan adanya perangkat penelitian.
Perangkat yang digunakan dalam penelitian ini dibagi menjadi dua bagian,
yaitu perangkat keras (hardware) dan perangkat lunak (software). Perangkat
keras yang digunakan adalah komputer. Sedangkan untuk perangkat lunak
adalah kebutuhan sebuah sistem operasi dan software-software yang
mendukung pembuatan aplikasi ini.
Untuk dapat membuat sebuah sistem yang benar-benar dapat
berfungsi secara baik dan menyeluruh diperlukan adanya lingkungan
perangkat keras dan perangkat lunak sebagai berikut :
1. Perangkat Keras
Notebook dengan A-Note Centurion yang mempunyai
spesifikasi Intel Centrino 1.80 GHz 32 bit, hardisk 80 GB, DVD-RW
Optical Drive, RAM 3 GB, VGA Intel 256 MB.
2. Perangkat Lunak
Perangkat lunak yang digunakan dalam penelitian ini adalah
Xampp v1.6.8, Adobe Dreamweaver CS3, Notepad++, TopStyle Lite
3, Adobe Photoshop CS3.
Sistem operasi yang penulis gunakan di dalam penelitian adalah
Microsoft Windows 7 Ultimate. Browser yang penulis gunakan adalah
Google Chrome versi 4.0.
3.4. Metode Penelitian
Berdasarkan metode penelitian yang digunakan pada penelitian ini, dapat
digunakan suatu alur kegiatan metode kerja penelitian seperti terlihat pada
gambar di bawah ini.
Gambar 3.1 Alur Kerja Penelitian
3.5. Metode Pengumpulan Data
Metode pengumpulan data yang digunakan dalam penelitian ini ada lima,
yaitu:
1. Observasi
Penulis mengumpulkan data dan informasi dengan cara
meninjau dan mengamati secara langsung kegiatan di lapangan.
Penulis melihat langsung proses perhitungan pajak penghasilan pasal
Pemilihan Awal
Penelitian
Merumuskan masalah
dan judul penelitian
Menentukan konsep
dan hipotesis penelitian
Studi literatur
atau pustaka
Customer
communication
Planning
Modelling
Construction
Delivery and
feedback
Penarikan dan penyusunan kesimpulan
Tidak
Ya
21 badan dan Surat Setoran Pajak di CV. BUANA MITRA
CONSULTING Jakarta Selatan untuk mendapatkan informasi
bagaimana cara perhitungannya dan kasus-kasus apa saja yang
mungkin terjadi. Metode observasi mempunyai kelebihan yaitu
peneliti mengetahui sendiri dengan jelas tentang sistem penghitungan
pajak.
2. Wawancara
Penulis melakukan wawancara kepada pemilik perusahaan dan
staf laporan keuangan serta staf perhitungan mengetahui permasalahan
sistem saat ini dan merancang aplikasi untuk diterapkan dalam sistem
aplikasi yang baru. Hasil wawancara dapat dilihat pada Lampiran A.
3. Studi Pustaka
Penulis membaca dan mempelajari buku-buku referensi
mengenai aplikasi perhitungan pajak penghasilan pasal 21 badan,
penerapannya pada sistem yang berbasis web, metode penelitiannya
serta buku lain yang berkaitan dengan penelitian ini.
4. Kuesioner
Menurut Sukandarrumidi (2006:78), kuesioner disebut pula sebagai
angket atau self administrator questioner adalah teknik pengumpulan data
dengan cara mengirimkan suatu daftar pertanyaan kepada responden untuk
diisi.
Di dalam teknik pengumpulan data dengan kuesioner, terdapat
asusmsi/anggapan sebagai berikut:
1. Subyek, dalam hal ini responden (orang yang menerima daftar
pertanyaan untuk diisi), adalah orang yang paling tahu tentang dirinya
sendiri.
2. Apa yang dinyatakan oleh subyek adalah benar dan dapat dipercaya.
3. Interpretasi subyek tentang pertanyaan yang diajukan sama dengan yang
dimaksudkan oleh penyelidik.
4. Subyek menguasai dan mampu menjawab sendiri masalah yang
ditanyakan.
Dalam hal ini, penulis menanyakan kepada klien. Pertanyaan-
pertanyaan yang penulis ajukan berupa pertanyaan-pertanyaan yang
berkaitan dengan penelitian yang sedang penulis lakukan. Adapun hasil dari
jawaban kuesioner terlampir di Lampiran B.
5. Studi Literatur
Penulis membaca dan memahami literatur sejenis guna
membandingkannya dengan penelitian yang akan dibuat. Hasil studi literatur
sejenis dapat dilihat di BAB II.
3.6. Metode Pengembangan Sistem
Metode pengembangan sistem yang digunakan yaitu metode System
Developement Life Cycle (SDLC). Langkah-langkah yang dilakukan penulis dalam
tahapan pengembangan sistem dengan metode ini sebagai berikut:
1. Analisis (Analysis)
Tahap ini berisi uraian sistem saat ini dan analisis sistem saat ini
serta menganalisa kebutuhan sistem. Uraian sistem saat ini merupakan
gambaran secara detail sistem saat ini dengan masalah-masalah yang
dimilikinya dan menganalisan aplikasi yang sudah ada dan berbasis
desktop aplikasi.
Analisis sistem saat ini merupakan proses memahami masalah-
masalah yang ada. Hasilnya berupa usulan-usulan guna merancang
sistem baru yang dapat mengatasi permasalahan yang ada. Tahap ini
meliputi :
1. Uraian Sistem Saat ini
Kegiatan menguraikan sistem yang sedang berjalan pada saat
ini di CV. Buana Mitra Consulting dengan serinci mungkin sehingga
dapat dianalisa dengan baik. Pembahasan ini dapat dilihat pada bab
empat sub bab 4.2.1
2. Analisa Sistem Saat ini
Menganalisa uraian sistem yang sedang berjalan dan kebutuhan
sistem yang akan dibangun. Pembahasan ini dapat dilihat pada bab
empat sub bab 4.2.2
2. Perancangan (Design)
Ada empat langkah yang dilakukan pada tahap ini, yaitu
perancangan proses, perancangan input dan output, perancangan basis
data dan perancangan tampilan. Perancangan proses menggunakan
alat perancangan sistem berupa Data Flow Diagram (DFD) untuk
melihat aliran data yang ada pada sistem. Data Flow Diagram (DFD)
yang digunakan memiliki beberapa proses dengan dimulai dari
Context Diagram, Data Flow Diagram (DFD) Level 1 dan Data Flow
Diagram (DFD) Level 2.
Perancangan input dan output merupakan rancangan form yang
ada pada sistem yang akan dibuat. Rancangan form input yang akan
digunakan untuk meng-input data dan form output yang akan
digunakan untuk laporannya.
Perancangan basis data menggunakan Entity Relationship
Diagram(ERD), Normalisasi, dan Kamus Data. Entity Relationship
Diagram (ERD) untuk melihat hubungan antara entitas yang muncul
dari hasil perancangan proses. Normalisasi untuk menormalkan data-
data yang didapat dari tiap entitas guna menghasilkan tabel-tabel yang
baik dan berkualitas. Kamus Data digunakan untuk menjelaskan
atribut-atribut yang ada pada tiap tabel yang dihasilkan oleh proses
Normalisasi.
Pada perancangan tampilan akan dihasilkan tampilan yang
membantu pengguna untuk mendapatkan informasi yang mereka
butuhkan.
3. Pengkodean (coding)
Pada tahap ini berisi implementasi ke dalam bahasa
pemrograman. Bahasa pemrograman yang digunakan menggunakan
PHP dan perangakat lunak Sistem Manajemen Basis Data
menggunakan MySQL.
4. Pengujian (Testing)
Pengujian sistem baru akan menggunakan pendekatan Black Box
dengan metode Unit Test dan Integration Test. Pada pengujian Unit
Test, penulis melakukan pengujian masing-masing komponen
program untuk meyakinkan bahwa sudah beroperasi dengan benar.
Sedangkan pada pengujian Integration Test, penulis melakukan
pengujian kelompok komponen-komponen yang terintegrasi untuk
membentuk sub-sistem.
5. Penerapan (Acceptance)
Dalam tahap ini dilakukan strategi penerapan aplikasi yaitu
pelatihan. Selanjutnya adalah Go Live, yaitu penerapan aplikasi di
perusahaan.
6. Perawatan (Maintenance)
Perawatan dan pemantauan aplikasi akan dilakukan oleh ahli IT,
dalam kasus ini adalah Help Desk.
Gambar tahapan dan rincian pengembangan sistem yang dilakukan
penulis dapat dilihat pada gambar 3.2.
Gambar 3.2. Tahapan dan rincian pengembangan sistem
Analisis (Analysis)
Perancangan (Design)
Uraian sistem saat ini dan
analisis sistem saat ini
Pengkodean (Coding)
Perancangan Proses, Input dan
Output, Basis Data dan
Tampilan
Implementasi ke dalam kode
pemrograman
Pengujian (Testing)
Unit Test dan Integration Test
Penerapan (Acceptance)
Pelatihan dan Penerapan
Perawatan (Maintenance)
Help Desk
System Development Life Cycle
Pengumpulan Data
Observasi, Wawancara, Studi
Pustaka dan Studi Literatur
BAB IV
HASIL DAN PEMBAHASAN
Pada bab sebelumnya telah dibahas metode pengembangan sistem yang
akan digunakan dalam pengembangan aplikasi ini. Pada bab ini berisi analisis
sistem, perancangan sistem baru, pemrograman sistem baru, pengujian sistem
baru, penerapan sistem baru dan perawatan sistem baru.
Pada bab ini, akan dibahas secara detail dan terperinci mengenai aplikasi
sistem yang akan penulis implementasikan dengan menerapkan metodologi
penelitian yang telah diuraikan pada bab sebelumnya.
3.7. Latar Belakang Perusahaan
CV. Buana Mitra Consulting adalah perusahaan Konsultan Pajak
memberikan jasa di bidang Konsultasi Pajak, Auditing, dan Akuntansi, didirikan
pada tahun 2003. CV. Buana Mitra Consulting memiliki komitmen untuk
memberikan layanan terbaik dalam bidang konsultasi dan audit. CV. Buana Mitra
consulting memiliki alamat website http://www.infopajakonline.com.
Saat ini CV. Buana Mitra Consulting memiliki klien yang cukup
banyak, diantaranya PT.Certechs Indonesia, PT.Padang Tropindo,
PT.Global Cerindo, PT.Kala Indah Prima, PT.Aghatara, PT.Sapta Megah
Tiara Karya, PT.Pamengkang Jagat Abadi, CV.Mitra Perdana Nasional,
PT.Technowipa International, PT.Wanna B Production, Yayasan Akbar,
Klinik LG, PT.Adhireksa Mulia Persadacom, PT.Suri Agung Mandiri,
PT.April Rancang Sarana Abadi, PT.Karya Arta Mara, PT.Pakuan Cipta
Selaras.
3.8. Analisis Sistem
Didalam tahap ini, penulis memberikan uraian mengenai sistem pada saat ini
serta analisis sistem saat ini.
3.1.3. Uraian Sistem Saat Ini
CV. Buana Mitra Consulting (BMC) adalah sebuah perusahaan swasta
yang bergerak di bidang jasa perpajakan. BMC memiliki 10 orang karyawan
dan yang masing-masing memiliki tugasnya sendiri-sindiri. BMC sebagai
perusahaan jasa ingin memberikan pelayanan yang lebih terhadap klien-
kliennya. BMC telah memiliki website sendiri dan terdapat fasilitas forum
untuk klien agar dapat bertukar informasi atau tanya jawab.
Pada saat bulan Maret dan April merupakan waktu yang paling sibuk
bagi para konsultan pajak karena pada Bulan April merupakan batas terakhir
untuk melaporkan Surat Pemberitahuan Masa ke kantor pajak. Sehingga
banyak kliean yang ingin diselesaikan laporan pajaknya. Klien yang
menggunakan jasa BMC tidak hanya ingin di hitung beban pajaknya tetapi
juga ingin di selesaikan laporan keuangannya yang masih berantakan.
Ada sebuah perusahaan yang bergerak di bidang IT-Consultan
menggunakan jasa BMC, Perusahaan tersebut mempunyai laporan keuangan
yang belum benar selama setahun, jadi staf BMC harus memeriksa terebih
dahulu laporan keuangan selama setahun yang memerlukan waktu kira-kira
satu minggu, kemudian hasil laporan keuangan tersebut harus
dipresentasikan terlebih dahulu kepada para klien. Setelah laporan keuangan
tersebut di setujui oleh klien, barulah kemudian akan di hitung beban
pajaknya.
Jadi untuk menangani satu klien yang laporan keuangannya belum
benar memerlukan waktu paling lambat dua minggu. BMC memiliki 16
klien baik itu perusahaan besar maupun kecil dan laporan keuangan yang
sudah benar maupun yang belum benar. Di BMC klien yang laporan
keangannya belum benar manjadi prioritas utama yang di kerjakan.
3.1.4. Analisis Sistem Saat Ini
Flowchart sistem pada saat ini:
Klien Staff Accounting dan tax
Mulai
data karyawan
dan data
Penghasilan
Simpan data
Input data
karyawan
Input
parameter
tarif
Penghitungan
pajak
Nilai
beban
pajak
selesai
Input data
penghasilan
Simpan data
Gambar 4.1 Gambar flowchart sistem pada saat ini
Hasil kuesioner
dibutuhkan
tidak dibutuhkan
tidak tahu
Dari hasil uraian sistem pada saai ini, dapat dianalisis sebagai berikut:
1. Sistem yang telah berjalan sekarang ini kurang efisien dan efektif
karena masalah utamanya yaitu keterbatasan karyawan di BMC
sehingga banyak klien yang mengeluh. Jadi perlu dibuat suatu sistem
atau aplikasi untuk menangani masalah ini yaitu aplikasi perhitungan
pajak untuk klien dan klien dapat menghitungnya sendiri.
2. Kurangnya fasilitas untuk para klien dalam berkomunikasi dengan
BMC. Dengan adanya aplikasi ini maka akan terjalin hubungan yang
baik antara klien dan BMC dan juga dapat membantu klien untuk
penghitung pajaknya sendiri.
Ditambah lagi dengan adanya kuesioner kepada klien tentang
apakah aplikasi perhitungan pajak dibutuhkan dan hasilnya yaitu
90% menunjukan bahwa aplikasi tersebut sangat dibutuhkan.
Untuk Pertanyaan kuesioner dan rincian hasil kuesioner dapat di
lihat di lampiran 1.
Gambar 4.2 Hasil kuesioner tentang kebutuhan aplikasi perhitungan pajak
Oleh karena itu penulis mengusulkan perancangan aplikasi
perhitungan pajak sebagai berikut:
1. Aplikasi berbasis web, agar sistem lebih efektif dan sesuai target.
2. Merancang halaman input dan output yang dibutuhkan klien.
3. Menentukan bahasa pemrograman serta perangkat lunak yang akan
digunakan. PHP sebagai bahasa pemrograman untuk pengembangan
web dan MySQL sebagai perangkat lunak Sistem Manajemen Basis
Data yang akan digunakan.
Berikut flowchart yang akan diusulkan:
Klien CV. BMC SISTEM
Mulai
Input
data
karyawan
Simpan data
Input data
penghasilan
Input
parameter
pajak
Penghitungan
pajak
Nilai
beban
pajak
selesai
Gambar 4.3 Flowchart sistem yang di usulkan
Mengenai analisis aliran data sistem aplikasi Pajak yang baru
adalah sebagai berikut:
1. Analisis dari sisi Klien, yaitu menguraikan tahapan yang
dilakukan user pada aplikasi perhitungan pajak yang di ajukan.
Langkah-langkah yang dilakukan user dalam melakukan
perhitungan pajak adalah sebagai berikut:
a. Klien harus melakukan daftar atau registrasi dan
mendapatkan username yang berupa NPWP dan password.
b. Setelah proses registrasi selesai maka Klien harus login dan
masuk ke home.
c. Setelah berhasil masuk ke home, klien memasukkan data
SPT Masa yang ingin dibuat dan memasukkan data-data
karyawan tetap dan tidak tetap.
d. Jika telah berhasil membuat SPT Masa maka klien harus
masuk ke SPT Masa tersebut. Lalu klien dapat memasukkan
data penghasilan baik itu dari pegawai tidak tetap maupun
pegawai tetap.
2. Analisis dari sis BMC, yaitu menguraikan tahapan yang
dilakukan admin dalam aplikasi ini:
a. BMC dapat memasukkan parameter dan tarif perhitungan
pajak.
b. BMC mengawasi dan menjaga data user dan data-data user
tersebut.
3.9. Analisa Kebutuhan
4.3.1. Analisa Pihak-pihak Yang Terlibat
a. BMC
Merupakan pihak perusahaan yang bertindak sebagai pengatur atau
pengawas terhadap data-data user dan data parameter perhitungan.
b. Klien
Merupakan pihak klien yang menggunakan aplikasi pajak.
4.3.2. Analisa Kebutuhan Pengguna
c. BMC
Aplikasi harus ada yang mengatur data-data dan parameter tarif pajak.
d. Klien
Bagi klien, aplikasi ini harus bisa melakukan perhitungan pajak bagi
perusahaan untuk para karyawannya baik pegawai tetap maupun
pegawai tidak tetap dan manghasilkan outputnya.
4.3.3. Analisis Kebutuhan Sistem
a. Kebutuhan Fungsional
Dari permasalahan diatas diharapkan aplikasi tersebut mampu untuk
melaksanakan fungsi sebagai berikut:
- Klien harus mempunyai username yaitu NPWP user dan
password untuk dapat login dan menggunakan aplikasi tersebut.
- Aplikasi harus mampu membuat perhitungan pajak untuk
pegawai tetap dan pegawai tidak tetap.
- Aplikasi harus mampu membuat bukti potong untuk pegawai
tidak tetap, pegawai tetap dan pegawai negeri.
- Aplikasi harus dapat membuat output yang diperlukan dalam
bentuk pdf.
- Klien harus dapat mengubah data-data user.
- BMC harus dapat mengatur data-data user baik untuk mengedit
atau menghapus data user.
- BMC harus dapat mengubah parameter perhitungan pajak yaitu
tarif-tarif pajak.
b. Kebutuhan Tidak Fungsional
Kebutuhan tidak fungsional merupakan kebutuhan sistem yang
tidak berhubungan dengan fungsi sistem. Kebutuhan tersebut
meliputi:
- Aplikasi dibuat berbasis web, hal ini dikarenakan untuk
mempermudah klien dalam menggunakan aplikasi ini dan
agar user tidak dapat mengubah parameter tarif pajak.
- Aplikasi harus mudah digunakan, hal ini bertujuan agar user
mampu menggunakannya dengan mudah.
4.3.4. Analisa Kebutuhan Faktor Pendukung Sistem
Faktor pendukung utama yang bisa turut mendukung penerapan dan
pemanfaatan fasilitas aplikasi perhitungan pajak pada CV. Buana
Mitra Consulting adalah ketersediaan fasilitas komputer dan internet
bagi para pengguna aplikasi ini nantinya.
a. Perangkat Keras (Hardware)
Perangkat keras yang mendukung aplikasi perhitungan pajak ini
adalah suatu unit Komputer dengan spesifikasi sebagai berikut:
1. Processor minimal setara dengan Pentium IV 1.5 Ghz ke
atas.
2. RAM/memori minimal 512 Mb.
3. VGA minimal 16 Mb.
4. Keyboard dan mouse baik sejenis serial. PS/2 maupun USB.
5. Monitor mendukung resolusi sampai 1024x768.
b. Perangkat Lunak (Software)
Spesifikasi sistem operasi dan perangkat lunak yang mendukung
aplikasi ini adalah sebagai berikut:
1. Windows NT/2000/XP/Vista/Seven atau Linux.
2. PHP versi 4.3.8 atau lebih
3. MySQL database versi 5.0 atau lebih.
4. Browser yang mendukung java script dan CSS (Cascading
Style Sheets), seperti internet explorer, Mozila firefox,
opera dan sejenisnya.
3.10. Perancangan Sistem Baru
Ada empat tahap perancangan yang penulis lakukan, yaitu perancangan
proses, perancangan basis data, perancangan input dan output, serta perancangan
tampilan.
4.4.1. Perancangan Proses
Perancangan proses sistem yang dilakukan menggunakan Data
Flow Diagram (DFD) dan Flowchart. Data Flow Diagram (DFD)
diawali dengan Context Diagram, Data Flow Diagram (DFD) Level
1, Data Flow Diagram (DFD) Level 2 serta Data Flow Diagram
(DFD) Level 3 dan dilanjutkan dengan Flowchart sistem baru.
Simulasi manual proses perhitungan pajak pasal 21 badan juga
ditampilkan oleh penulis.
1. Conext Diagram
Context diagram mencerminkan aliran data secara garis
besar dari dan ke sistem perhitungan pajak. Pada perancangan
sistem ini terdapat dua entitas yaitu klien dan administrator.
Berikut ini merupakan aliran datanya:
1. Aliran data dari BMC ke dalam Sistem yaitu data parameter
pajak yang berlaku seperti PTKP dan NJOP maupun Sistem ke
BMC yaitu Data Klien (berisi NPWP pemotong, nama,
password, alamat, nama KPP, dan sebagainya.)
2. Aliran data dari Klien ke dalam Sistem yaitu data klien yaitu
pada saat registrasi, data karyawan dan penghasilan sedangkan
dari Sistem ke Klien yaitu data karyawan, dan data hasil
penghasilan seperti pada gambar 4.4.
Sistem Perhitungan Pajak
Penghasilan Pasal 21
CV. BMC
Klien
data_klien
data_parameter_pajak
data_karyawan_tdk_tetap
data_spt_masa
data_karyawan_1721_a1
data_karyawan_1721_a2
data_penghasilan_nofinal
data_penghasilan_final
data_penghasilan_26
data_penghasilan_A1
data_penghasilan_A2
data_penghasilan_A2
data_karyawan_tdk_tetap
data_spt_masa
data_karyawan_1721_a1
data_karyawan_1721_a2
data_penghasilan_nofinal
data_penghasilan_final
data_penghasilan_26
data_penghasilan_A1
data_penghasilan_A2
data_penghasilan_A2
data_klien
Username, password
Gambar 4.4 Diagram Konteks
2. Data Flow Diagram (DFD) Level 0/Overview
Data Flow Diagram (DFD) Level 0 merupakan gambaran
aliran data yang lebih terinci dari sebelumnya. Didalam sistem ini
terdapat:
1. Proses registrasi, yaitu aliran data dari klien menuju proses
registrasi dan kemudian data klien akan di simpan menjadi data
klien.
2. Proses Login, yaitu aliran data berupa username dan password
dari klien menuju proses login yang kemudian akan di
cocokkan dengan data klien yang telah di masukkan melalui
proses registrasi.
3. Proses perhitungan, yang pertama yaitu aliran data dari klien
berpa data-data karyawan dan data-data penghasilan karyawan
menuju proses perhitungan yang kemudian akan disimpan ke
dalam data karyawan dan data penghasilan, yang kedua yaitu
aliran data dari admin berupa data parameter perhitungan pajak
yang kemudian disimpan kedalam data parameter.
Klien
1.0
Registrasi
Data_klien
2.0
Login
3.0
Perhitungan
CV. BMC
Data_Klien Data_Klien
Username,
password
Username,
password
data_parameter_pajak
data_spt_masa
data_parameter_pajak
data_parameter
_pajak
data_spt_masa
data_spt_masa
data_karyawan_tdk_tetap
data_karyawan_
tdk_tetap
data_karyawan_tdk_tetapdata_karyawan_1721_a1
data_karyawan_
1721_a1
data_karyawan_1721_a1
data_karyawan_1721_a2
data_karyawan_
1721_2
data_karyawan_1721_a2
data_penghasilan_nofinal
data_bukti_potong
_21_tdk_finaldata_penghasilan_nofinal
data_penghasilan_final
data_bukti_potong
_21_finaldata_penghasilan_final
data_penghasilan_26
data_bukti_
potong_26data_penghasilan_26
data_penghasilan_A1
data_bukti_
potong_1721_a1
data_penghasilan_A1
data_penghasilan_A2
data_bukti_
potong_1721_a2
data_penghasilan_A2
data_perubahan_pegawai
data_perubahan_
pegawai_tetap
data_perubahan_pegawai
Gambar 4.5 Data Flow Diagram 0/Overview
3. Data Flow Diagram (DFD) Level 1 Proses 2.0
Data Flow Diagram (DFD) Level 1 Proses 2.0
merupakan gambaran aliran data yang lebih terinci dari
sebelumnya. Didalam sistem ini terdapat aliran data dari klien
yaitu melalui proses login dengan mamasukkan form username
dan password dan kemudian data login tersebut akan masuk ke
dalam proses validasi login yang akan memvalidasi dari data
klien khususnya kecocokan antara username yaitu MPWP dan
password yang yang telah dimasukkan dari proses registrasi.
Gambar 4.6 Data Flow Diagram Level 1 Proses 2.0
4. Data Flow Diagram (DFD) Level 1 Proses 3.0
Dalam Data Flow Diagram (DFD) Level 1 Proses 3.0 ini
terdapat beberapa proses yaitu:
1. Aliran data dari klien menuju proses SPT Masa berupa data spt
masa dan kemudian akan disimpan kedalam data spt masa.
2. Aliran data dari klien menuju proses input karyawan tidak tetap
berupa data karyawan tidak tetap dan disimpan kedalam data
karyawan tidak tetap.
3. Aliran data dari klien menuju proses input karyawan 1721-A1
atau karyawan tetap berupa data karyawan 1721-A1 dan akan
disimpan ke dalam data karyawan 1721-A1.
Klienusername, password
2.1
Proses Login
username,
password
2.2
Validasi Login
Data_klien
Data_klien
Klien
3.1
SPT Masa
3.2
Input
Karyawan
Tidak Tetap
3.2
Input
Karyawan
1721-A1
3.2
Input
Karyawan
1721-A2
data_spt_masa
data_karyawan_tdk_tetap
data_karyawan_1721_a1
data_karyawan_1721_a2
data_spt_masa
data_karyawan_
tdk_tetap
data_karyawan_
1721_2
data_karyawan_
1721_a1
data_spt
_masa
data_
karyawan_
tdk_tetap
data_
karyawan_
1721_a1
data_
karyawan_
1721_a2
4. Aliran data dari klien menuju proses input karyawan 1721-A2
berupa data karyawan 1721-A2 dan akan disimpan ke dalam
data karyawan 1721-A2.
Gambar 4.7 Data Flow Diagram Level 1 Proses 3.0
5. Data Flow Diagram (DFD) Level 2 Proses 3.1.0
Dalam Data Flow Diagram (DFD) Level 1 Proses 3.1.0
ini terdapat beberapa proses yaitu:
1. Aliran data dari klien menuju proses Bukti Potong Pasal 21
Tidak Final berupa data penghasilan pegawai tidak tetap dan
kemudian akan di proses dengan data parameter pajak yang
akan menghasilkan data bukti potong 21 tidak final yang
kemudian akandi simpan.
2. Aliran data dari klien menuju proses Bukti Potong Pasal 21
Final berupa data penghasilan pegawai tidak tetap dan
kemudian akan di proses dengan data parameter pajak yang
akan menghasilkan data bukti potong 21 final yang kemudian
akan di simpan.
3. Aliran data dari klien menuju proses Bukti Potong Pasal 26
berupa data penghasilan pegawai tidak tetap dan kemudian akan
di proses dengan data parameter pajak yang akan menghasilkan
data bukti potong pasal 26 yang kemudian akan di simpan.
4. Aliran data dari klien menuju proses Bukti Potong 1721-A1
berupa data penghasilan pegawai tetap 1721-A1 dan kemudian
akan di proses dengan data parameter pajak yang akan
menghasilkan data bukti potong 1721-A1 yang kemudian akan
di simpan.
5. Aliran data dari klien menuju proses Bukti Potong 1721-A2
berupa data penghasilan pegawai tetap 1721-A2 dan kemudian
akan di proses dengan data parameter pajak yang akan
menghasilkan data bukti potong 1721-A2 yang kemudian akan
di simpan.
6. Aliran data dari klien menuju proses perubahan pegawai tetap
berupa data pegawai tetap yang mengalami perubahan baik itu
pegawai yang baru masuk, baru memiliki npwp dan baru keluar
yang kemudian akan disimpan kedalam data perubahan pegawai
tetap.
Klien
3.1.1
Bukti Potong Pasal
21 Tidak Final
3.1.2
Bukti Potong
Pasal 21 Final
3.1.3
Bukti Potong
Pasal 26
3.1.4
Bukti Potong
1721-A1
3.1.5
Bukti Potong
1721-A2
3.1.6
Perubahan
Pegawai Tetap
data_
Penghasilan
_nofinal
data_
Penghasilan
_final
data_
Penghasilan
_26
data_
Penghasilan
_A1
data_
Penghasilan
_A2
data_perubahan_
pegawai
data_parameter_
pajak
data_bukti_potong
_21_tdk_final
data_bukti_potong
_21_final
data_bukti_
potong_26
data_bukti_
potong_1721_a1
data_bukti_
potong_1721_a2
data_perubahan_
pegawai_tetap
data_
Penghasilan
_nofinal
data_
parameter
data_
parameter
data_
parameter
data_
parameter
data_
parameter
data_
Penghasilan_final
data_
Penghasilan_26
data_
Penghasilan_A1
data_
Penghasilan_A2
data_perubahan
_pegawai
Gambar 4.8 Data Flow Diagram Level 2 Proses 3.1.0
4.4.2. Perancangan Data
Pada tahap ini dilakukan perancangan basis data. Perancangan basis
data akan dijelaskan dengan entity relational diagram (ERD), lalu atribut-
atribut dari masing-masing entitas akan di gambarkan dengan
screencapture kamus data pada sistem.
4.4.2.1. Entity Relational Diagram
Tujuan utama pembuatan ERD adalah untuk menunjukkan
objek-objek (entitas) apa saja yang ingin dilibatkan dalam sebuah
database dan bagaimana hubungan yang terjadi di antara objek
tersebut.
npwp
password
nama_wp
Kode_pos
nama_instansi
npwp_kuasa_pph21
nama_kuasa_pph21
nama_pasal2126
jabatan_pasal2126
nama_penandatangan_1721_a1
nama_kuasa_172_a1
npwp_bendahara_1721_a2
nama_bendahara_1721_a2
nip_bendahara_1721_a2
prev
npwp_kuasa_172_a1
fax
npwp_penandatangan_1721_a1
alamat
telp
kota
pph21_lawan_tr
ansasi
id_spt_masa
bln_spt_masa
thn_spt_masa
pembetulan
memiliki
memiliki
memiliki
memiliki
id_bukti_potong_1721a2
npwp_pegawai_1721a2
nip_pegawai_1721a2
nama_pegawai_1721a2
alamat_pegawai_1721a2
pangkat_pegawai_1721a2
jabatan_pegawai_1721a2
Status_kw_pegawai_1721a2
status_peg_pegawai_1721a2
status_ptkp_pegawai_1721a2
tnggungan_pegawai_1721a2
id_lawan_transaksi
npwp_lawan_transaksi
alamat_lawan_transaksi
kodepos_lawan_transaksi
telp_lawan_transaksi
nama_lawan_transaksi
id_bukti_potong_1721a1
npwp_pegawai_1721a1
nama_pegawai_1721a1
tnggungan_pegawai_1721a1
jabatan_pegawai_1721a1
gender_pegawai_1721a1
status_peg_pegawai_1721a1
tunjangan_isteri
tunjangan_anak
tunjangan_beras
ptkp_setahun
pkp_setahun
pph21_setahun
tunjangan_struktur
jml_pengh_bruto
biayaPen
no_urut
gender_pegawai_1721a2
gaji_pokok
tunjangan_lain
biayaJab
jml_pengh_netto
tgl_bukti_potong
no_urut
tgl_bukti_potong
jml_pengh_netto
ptkp_setahun
pkp_setahun
pph21_setahun
status_ptkp_pegawai_1721a1
alamat_pegawai_1721a1
Status_kw_pegawai_1721a1
pengh_bruto
tunjangan_pph
tunjgangan_lain
honoraium
asuransi
natura
biayaJab
biayaPen
Pph21_bukti_poto
ng_nofinal
Id_pph21_bukti_nofina
Tgl_bukti_potong 1_pengh_bruto
1_pph_terutang
2_pengh_bruto
2_pph_terutang
3_pengh_bruto
3_pph_terutang
4_pengh_bruto
4_pph_terutang
5_pengh_bruto 5_pph_terutang 6_pengh_bruto
6_pph_terutang7_pengh_bruto7_pph_terutang
8_pengh_bruto 8_pph_terutang
9_pengh_bruto
9_pph_terutang
10_pengh_bruto
10_pph_terutang
11_pengh_bruto11_pph_terutang
12_pengh_bruto
12_pph_terutang
Jml_pengh_bruto
Jns_pasal
jml_pph_terutang
No_bukti_potong
Id_pph21_bukti_fina
Tgl_bukti_potong
1_pengh_bruto
1_pph_terutang
2_pengh_bruto
2_pph_terutang
Jml_pengh_bruto
jml_pph_terutang
No_bukti_potong
Id_pph21_bukti_1721a1
Tgl_bukti_potong Masa_dari
Masa_sampai
Tunj_lain
Pengh_bruto
Tunj_pph
honoraium
natura
asuransi
Jml_bruto tantien biayaJab
biayaPenJml_nettoJml_pengurang
Pkp_setahun Pph21_setahun
Ptkp_setahun
Pph21_terutang
Jml_pph21
Pph21_telah
_dipotong
penandatangan
No_urut
memiliki
memiliki
memiliki
Id_pph21_bukti_1721a2
Tgl_bukti_potong Masa_dari
Masa_sampai
Tunj_lain
Gaji_pokok
Tunj_isri
Tunj_perbaikan
Tunj_beras
Tunj_anak
Jml_bruto Tunj_struktur biayaJab
biayaPenJml_nettoJml_pengurang
Pkp_setahun Pph21_setahun
Ptkp_setahun
Pph21_terutang
Jml_pph21
Pph21_telah
_dipotong
penandatangan
No_urut
memiliki
Tunj_khusus
Peg_tsb
Pph21_pega
wai_npwpnama
Id_pegawai_npwp
Tgl_terdaftar
npwp
nama
Id_pegawai_masuk
status
npwp
nama
Id_pegawai_keluar
Pengh_bruto
npwp
Pph21_terutang
nama
Id_pegawai_pensiun
status
npwp
Jml_tanggungan
memiliki
memiliki
memiliki
memiliki
Pph21_bukti_p
otong_1721a2
User
spt_masa
Pph21_pegaw
ai_keluar
Pph21_pegawai
_pensiun
Pph21_pega
wai_masuk
pph21_pega
wai_1721a1
Pph21_pega
wai_1721a2
Pph21_bukti_p
otong_final
Pph21_bukti_
potong_1721a
1
Gambar 4.9 Entity Relational Diagram (ERD)
4.4.2.2. Normalisasi
Sebelum normalisasi dilakukan, ditampilkan tabel serta atribut
sesuai dengan yang ada pada Entity Relational Diagram (ERD)
untuk selanjutnya dilakukan proses normalisasi.
Bentuk Tidak Normal (Unnormalized Form)
Gambar Tabel user sebelum normalisasi
User
PK npwp
password
nama_wp
alamat
kota
kode_pos
telp
fax
nama_instansi
npwp_penandatangan
nama_penandatangan
npwp_kuasa_pph21
nama_kuasa_pph21
nama_pasal2126
jabatan_pasal2126
nama_penandatangan_1721_a1
npwp_penandatangan_1721_a1
nama_kuasa_1721_a1
npwp_kuasa_1721_a1
npwp_bendahara_1721_a2
nama_bendahara_1721_a2
nip_bendahara_1721_a2
prev
Gambar 4.10 Tabel user sebelum normalisasi
Gambar Tabel pph21_spt_masa sebelum normalisasi
pph21_spt_masa
PK id_spt_masa
bln_spt_masa
thn_spt_masa
pembetulan
npwp
Gambar 4.11 Tabel pph21_spt_masa sebelum normalisasi
Gambar Tabel pph21_lawan_transaksi sebelum normalisasi
pph21_lawan_transaksi
PK id_lawan_transaksi
npwp_lawan_transaksi
nama_lawan_transaksi
alamat_lawan_transaksi
kodepos_lawan_transaksi
telp_lawan_transaksi
npwp
Gambar 4.12 Tabel pph21_lawan_transaksi sebelum normalisasi
Gambar Tabel pph21_pegawai_1721a2 sebelum normalisasi
pph21_pegawai_1721a2
PK id_pegawai_1721a2
npwp_pegawai_1721a2
nip_pegawai_1721a2
nama_pegawai_1721a2
alamat_pegawai_1721a2
pangkat_pegawai_1721a2
jabatan_pegawai_1721a2
status_kawin_pegawai_1721a2
gender_pegawai_1721a2
status_pegawai_pegawai_1721a2
status_ptkp_pegawai_1721a2
jml_tanggungan_pegawai_1721a2
npwp
Gambar 4.13 Tabel pph21_pegawai_1721a2 sebelum normalisasi
Gambar Tabel pph21_pegawai1721a1 sebelum normalisasi
pph21_pegawai_1721a1
PK id_pegawai_1721a1
npwp_pegawai_1721a1
nama_pegawai_1721a1
alamat_pegawai_1721a1
jabatan_pegawai_1721a1
status_kawin_pegawai_1721a1
gender_pegawai_1721a1
status_pegawai_pegawai_1721a1
status_ptkp_pegawai_1721a1
jml_tanggungan_pegawai_1721a1
asing_pegawai_1721a1
npwp
Gambar 4.14 Tabel pph21_pegawai_1721a1 sebelum normalisasi
Gambar Tabel pph21_bukti_potong_nofinal sebelum normalisasi
pph21_bukti_potong_nofinal
PK id_pph21_bukti_potong_nofinal
id_lawan_transaksi
no_bukti_potong
tgl_bukti_potong
1_pengh_bruto
1_pph_terhutang
2_pengh_bruto
2_pph_terhutang
3_pengh_bruto
3_pph_terhutang
4_pengh_bruto
4_pph_terhutang
5_akum_pengh_bruto
5_pengh_bruto
5_pph_terhutang
6_akum_pengh_bruto
6_pengh_bruto
6_pph_terhutang
7_akum_pengh_bruto
7_pengh_bruto
7_pph_terhutang
8_akum_pengh_bruto
8_pengh_bruto
8_pph_terhutang
9_pengh_bruto
9_pph_terhutang
10_akum_pengh_bruto
10_pengh_bruto
10_pph_terhutang
11_pengh_bruto
11_pph_terhutang
12_pengh_bruto
12_pph_terhutang
jns_pasal
jml_pengh_bruto
jml_pph_terhutang
id_sptmasa
Gambar 4.15 Tabel pph21_bukti_potong_nofinal sebelum normalisasi
Gambar Tabel pph21_bukti_potong_final sebelum normalisasi
pph21_bukti_potong_final
PK id_pph21_bukti_potong_final
id_lawan_transaksi
no_bukti_potong
tgl_bukti_potong
jml_penghasilan1
pph21sebulan1
jml_penghasilan2
pph21sebulan2
jml_penghasilan_all
jml_pph21_all
id_spt_masa
Gambar 4.16 Tabel pph21_bukti_potong_final sebelum normalisasi
Gambar Tabel pph21_bukti_potong_1721a1 sebelum normalisasi
pph21_bukti_potong_1721a1
PK id_bukti_potong_1721a1
id_pegawai_1721_a1
no_urut
tgl_bukti_potong
masa_penghasilan_dari
masa_penghasilan_sampai
penghasilan_bruto
tunjangan_pph
tunjangan_lain
honorarium
premi_asuransi
natura
jml1_6
tantiem_bonus
jml_penghasilan_bruto
biayaJab7
biayaJab8
biayaPen
jml_pengurangan
jml_penghasilan_netto
penghasilan_sebelumnya
jml_penghasilan_netto_full
ptkp_setahun
penghasilan_kena_pajak
pph21setahun
pph21_dipotong_sebelumnya
pph21_terutang
pph21_telah_dipotong
jml_pph_pasal21
pph21_telah
penandatangan
id_spt_masa
Gambar 4.17 Tabel pph21_bukti_potong_1721a1 sebelum normalisasi
Gambar Tabel pph21_bukti_potong_1721a2 sebelum normalisasi
pph21_bukti_potong_1721a2
PK id_bukti_potong_1721a2
id_pegawai_1721a2
no_urut
tgl_bukti_potong
masa_penghasilan_dari
masa_penghasilan_sampai
gaji_pokok
tunjangan_isteri
tunjangan_anak
jml_gaji_tunjangan_keluarga
tunjangan_perbaikan
tunjangan_struktural
tunjangan_beras
tunjangan_khusus
tunjangan_lain
jml_penghasilan_bruto
biayaJab
biayaPen
jml_pengurangan
jml_penghasilan_netto
jml_penghasilan_netto_setahun
ptkp_setahun
penghasilan_kena_pajak
pph21_terutang
pph21_telah_dipotong
jml_pph_pasal21
pegawai_tersebut
id_spt_masa
Gambar 4.18 Tabel pph21_bukti_potong_1721a2 sebelum normalisasi
Gambar Tabel pph21_pegawai_npwp sebelum normalisasi
pph21_pegawai_npwp
PK id_pegawai_npwp
npwp
nama
tgl_terdaftar
id_spt_masa
Gambar 4.19 Tabel pph21_pegawai_npwp sebelum normalisasi
Gambar Tabel pph21_pegawai_masuk sebelum normalisasi
pph21_pegawai_masuk
PK id_pegawai_masuk
npwp
nama
status
jml_tanggungan
id_spt_masa
Gambar 4.20 Tabel pph21_pegawai_masuk sebelum normalisasi
Gambar Tabel pph21_pegawai_keluar sebelum normalisasi
pph21_pegawai_keluar
PK id_pegawai_keluar
npwp
nama
penghasilan_bruto
pph21_terutang
id_spt_masa
Gambar 4.21 Tabel pph21_ pegawai_keluar sebelum normalisasi
Gambar Tabel pph21_pegawai_pensiun sebelum normalisasi
pph21_pegawai_pensiun
PK id_pegawai_pensiun
npwp
nama
status
jml_tanggungan
id_spt_masa
Gambar 4.22 Tabel pph21_pegawai_pensiun sebelum normalisasi
Bentuk Normal kesatu (First Normal Form / 1NF)
Langkah pertama dalam normalisasi hubungan adalah
menghilangkan atribut yang bernilai ganda dan membentuk sejumlah
baris sehingga setiap sel berisi satu nilai. Kemudian bagian yang
kosong diisi dengan data yang sesuai.
Gambar Tabel user 1NF, pada tabel user tidak terdapat atribut yang
bernilai ganda.
User
PK npwp
password
nama_wp
alamat
kota
kode_pos
telp
fax
nama_instansi
npwp_penandatangan
nama_penandatangan
npwp_kuasa_pph21
nama_kuasa_pph21
nama_pasal2126
jabatan_pasal2126
nama_penandatangan_1721_a1
npwp_penandatangan_1721_a1
nama_kuasa_1721_a1
npwp_kuasa_1721_a1
npwp_bendahara_1721_a2
nama_bendahara_1721_a2
nip_bendahara_1721_a2
prev
Gambar 4.23 Tabel user 1NF
Gambar Tabel pph21_spt_masa 1NF, pada tabel pph21_spt_masa
tidak terdapat atribut yang bernilai ganda.
pph21_spt_masa
PK id_spt_masa
bln_spt_masa
thn_spt_masa
pembetulan
npwp
Gambar 4.24 Tabel pph21_bukti_potong_final 1NF
Gambar Tabel pph21_lawan_transaksi 1NF, pada tabel
pph21_lawan_transaksi tidak terdapat atribut yang bernilai ganda.
pph21_lawan_transaksi
PK id_lawan_transaksi
npwp_lawan_transaksi
nama_lawan_transaksi
alamat_lawan_transaksi
kodepos_lawan_transaksi
telp_lawan_transaksi
npwp
Gambar 4.25 Tabel pph21_lawan_transaksi 1NF
Gambar Tabel pph21_pegawai_1721a2 1NF, pada tabel
pph21_pegwai_1721a2 tidak terdapat atribut yang bernilai ganda.
pph21_pegawai_1721a2
PK id_pegawai_1721a2
npwp_pegawai_1721a2
nip_pegawai_1721a2
nama_pegawai_1721a2
alamat_pegawai_1721a2
pangkat_pegawai_1721a2
jabatan_pegawai_1721a2
status_kawin_pegawai_1721a2
gender_pegawai_1721a2
status_pegawai_pegawai_1721a2
status_ptkp_pegawai_1721a2
jml_tanggungan_pegawai_1721a2
npwp
Gambar 4.26 Tabel pph21_pegawai_1721a2 1NF
Gambar Tabel pph21_pegawai1721a1 1NF, pada tabel
pph21_pegwai_1721a1 tidak terdapat atribut yang bernilai ganda.
pph21_pegawai_1721a1
PK id_pegawai_1721a1
npwp_pegawai_1721a1
nama_pegawai_1721a1
alamat_pegawai_1721a1
jabatan_pegawai_1721a1
status_kawin_pegawai_1721a1
gender_pegawai_1721a1
status_pegawai_pegawai_1721a1
status_ptkp_pegawai_1721a1
jml_tanggungan_pegawai_1721a1
asing_pegawai_1721a1
npwp
Gambar 4.27 Tabel pph21_pegawai_1721a1 1NF
Gambar Tabel pph21_bukti_potong_nofinal 1NF, pada tabel
pph21_bukti_potong_nofinal tidak terdapat atribut yang bernilai ganda.
pph21_bukti_potong_nofinal
PK id_pph21_bukti_potong_nofinal
id_lawan_transaksi
no_bukti_potong
tgl_bukti_potong
1_pengh_bruto
1_pph_terhutang
2_pengh_bruto
2_pph_terhutang
3_pengh_bruto
3_pph_terhutang
4_pengh_bruto
4_pph_terhutang
5_akum_pengh_bruto
5_pengh_bruto
5_pph_terhutang
6_akum_pengh_bruto
6_pengh_bruto
6_pph_terhutang
7_akum_pengh_bruto
7_pengh_bruto
7_pph_terhutang
8_akum_pengh_bruto
8_pengh_bruto
8_pph_terhutang
9_pengh_bruto
9_pph_terhutang
10_akum_pengh_bruto
10_pengh_bruto
10_pph_terhutang
11_pengh_bruto
11_pph_terhutang
12_pengh_bruto
12_pph_terhutang
jns_pasal
jml_pengh_bruto
jml_pph_terhutang
id_sptmasa
Gambar 4.28 Tabel pph21_bukti_potong_nofinal 1NF
Gambar Tabel pph21_bukti_potong_final 1NF, pada tabel
pph21_bukti_potong_final tidak terdapat atribut yang bernilai ganda.
pph21_bukti_potong_final
PK id_pph21_bukti_potong_final
id_lawan_transaksi
no_bukti_potong
tgl_bukti_potong
jml_penghasilan1
pph21sebulan1
jml_penghasilan2
pph21sebulan2
jml_penghasilan_all
jml_pph21_all
id_spt_masa
Gambar 4.29 Tabel pph21_bukti_potong_final 1NF
Gambar Tabel pph21_bukti_potong_1721a1 1NF, pada tabel
pph21_bukti_potong_1721a1 tidak terdapat atribut yang bernilai ganda.
pph21_bukti_potong_1721a1
PK id_bukti_potong_1721a1
id_pegawai_1721_a1
no_urut
tgl_bukti_potong
masa_penghasilan_dari
masa_penghasilan_sampai
penghasilan_bruto
tunjangan_pph
tunjangan_lain
honorarium
premi_asuransi
natura
jml1_6
tantiem_bonus
jml_penghasilan_bruto
biayaJab7
biayaJab8
biayaPen
jml_pengurangan
jml_penghasilan_netto
penghasilan_sebelumnya
jml_penghasilan_netto_full
ptkp_setahun
penghasilan_kena_pajak
pph21setahun
pph21_dipotong_sebelumnya
pph21_terutang
pph21_telah_dipotong
jml_pph_pasal21
pph21_telah
penandatangan
id_spt_masa
Gambar 4.30 Tabel pph21_bukti_potong_1721a1 1NF
Gambar Tabel pph21_bukti_potong_1721a2 1NF, pada tabel
pph21_bukti_potong_1721a2 tidak terdapat atribut yang bernilai
ganda.
pph21_bukti_potong_1721a2
PK id_bukti_potong_1721a2
id_pegawai_1721a2
no_urut
tgl_bukti_potong
masa_penghasilan_dari
masa_penghasilan_sampai
gaji_pokok
tunjangan_isteri
tunjangan_anak
jml_gaji_tunjangan_keluarga
tunjangan_perbaikan
tunjangan_struktural
tunjangan_beras
tunjangan_khusus
tunjangan_lain
jml_penghasilan_bruto
biayaJab
biayaPen
jml_pengurangan
jml_penghasilan_netto
jml_penghasilan_netto_setahun
ptkp_setahun
penghasilan_kena_pajak
pph21_terutang
pph21_telah_dipotong
jml_pph_pasal21
pegawai_tersebut
id_spt_masa
Gambar 4.31 Tabel pph21_bukti_potong_1721a2 1NF
Gambar Tabel pph21_pegawai_npwp 1NF, pada tabel
pph21_pegawai_npwp tidak terdapat atribut yang bernilai ganda.
pph21_pegawai_npwp
PK id_pegawai_npwp
npwp
nama
tgl_terdaftar
id_spt_masa
Gambar 4.32 Tabel pph21_pegawai_npwp 1NF
Gambar Tabel pph21_pegawai_masuk 1NF, pada tabel
pph21_pegawai_masuk tidak terdapat atribut yang bernilai ganda.
pph21_pegawai_masuk
PK id_pegawai_masuk
npwp
nama
status
jml_tanggungan
id_spt_masa
Gambar 4.33 Tabel pph21_pegawai_masuk 1NF
Gambar Tabel pph21_pegawai_keluar 1NF, pada tabel
pph21_pegawai_keluar tidak terdapat atribut yang bernilai ganda.
pph21_pegawai_keluar
PK id_pegawai_keluar
npwp
nama
penghasilan_bruto
pph21_terutang
id_spt_masa
Gambar 4.34 Tabel pph21_ pegawai_keluar 1NF
Gambar Tabel pph21_pegawai_pensiun 1NF, pada tabel
pph21_pegawai_pensiun tidak terdapat atribut yang bernilai ganda.
pph21_pegawai_pensiun
PK id_pegawai_pensiun
npwp
nama
status
jml_tanggungan
id_spt_masa
Gambar 4.35 Tabel pph21_pegawai_pensiun 1NF
Bentuk Normal kedua (Second Normal Form / 2NF)
Bentuk normal kedua adalah suatu bentuk yang mensyaratkan bahwa
relasi harus sudah berada dalam bentuk normal pertama dan tidak
mengandung dependensi parsial.
Gambar Tabel user 2NF
User
PK npwp
password
nama_wp
alamat
kota
kode_pos
telp
fax
nama_instansi
npwp_penandatangan
nama_penandatangan
npwp_kuasa_pph21
nama_kuasa_pph21
nama_pasal2126
jabatan_pasal2126
nama_penandatangan_1721_a1
npwp_penandatangan_1721_a1
nama_kuasa_1721_a1
npwp_kuasa_1721_a1
npwp_bendahara_1721_a2
nama_bendahara_1721_a2
nip_bendahara_1721_a2
prev
Gambar 4.36 Tabel user normalisasi 2NF
Gambar Tabel pph21_spt_masa 2NF
pph21_spt_masa
PK id_spt_masa
bln_spt_masa
thn_spt_masa
pembetulan
npwp
Gambar 4.37 Tabel pph21_bukti_potong_final 2NF
Gambar Tabel pph21_lawan_transaksi 2NF
pph21_lawan_transaksi
PK id_lawan_transaksi
npwp_lawan_transaksi
nama_lawan_transaksi
alamat_lawan_transaksi
kodepos_lawan_transaksi
telp_lawan_transaksi
npwp
Gambar 4.38 Tabel pph21_lawan_transaksi 2NF
Gambar Tabel pph21_pegawai_1721a2 2NF
pph21_pegawai_1721a2
PK id_pegawai_1721a2
npwp_pegawai_1721a2
nip_pegawai_1721a2
nama_pegawai_1721a2
alamat_pegawai_1721a2
id_pangkat_pegawai_1721a2
id_jabatan_pegawai_1721a2
status_kawin_pegawai_1721a2
gender_pegawai_1721a2
id_status_pegawai_1721a2
status_ptkp_pegawai_1721a2
jml_tanggungan_pegawai_1721a2
npwpFK
FK
FK
FK
Gambar 4.39 Tabel pph21_pegawai_1721a2 2NF
Gambar Tabel pph21_pangkat_pegawai1721a2 2NF
pph21_pangkat_pegawai_1721a2
PK id_pangkat_pegawai_1721a2
pangkat_pegawai_1721a2
Gambar 4.40 Tabel pph21_pangkat_pegawai_1721a2 2NF
Gambar Tabel pph21_jabatan_pegawai1721a2 2NF
pph21_jabatan_pegawai_1721a2
PK id_jabatan_pegawai_1721a2
jabatan_pegawai_1721a2
Gambar 4.41 Tabel pph21_jabatan_pegawai_1721a2 2NF
Gambar Tabel pph21_status_pegawai1721a2 2NF
pph21_status_pegawai_1721a2
PK id_status_pegawai_1721a2
jabatan_status_1721a2
Gambar 4.42 Tabel pph21_status_pegawai_1721a2 2NF
Gambar Tabel pph21_pegawai1_721a1 2NF
pph21_pegawai_1721a1
PK id_pegawai_1721a1
npwp_pegawai_1721a1
nama_pegawai_1721a1
alamat_pegawai_1721a1
id_jabatan_1721a1
status_kawin_pegawai_1721a1
gender_pegawai_1721a1
id_status_pegawai_1721a1
status_ptkp_pegawai_1721a1
jml_tanggungan_pegawai_1721a1
asing_pegawai_1721a1
npwpFK
FK
FK
Gambar 4.43 Tabel pph21_pegawai_1721a1 2NF
Gambar Tabel pph21_jabatan_1721a1 2NF
pph21_jabatan_1721a11
PK id_jabatan_1721a1
jabatan_pegawai_1721a1
Gambar 4.44 Tabel pph21_jabatan_1721a1 2NF
Gambar Tabel pph21_status_pegawai_1721a1 2NF
pph21_status_1721a1
PK id_status_pegawai_1721a1
status_pegawai_1721a1
Gambar 4.45 Tabel pph21_status_pegawai_1721a1 2NF
Gambar Tabel pph21_bukti_potong_nofinal 2NF
pph21_bukti_potong_nofinal
PK id_pph21_bukti_potong_nofinal
id_lawan_transaksi
no_bukti_potong
tgl_bukti_potong
1_pengh_bruto
1_pph_terhutang
2_pengh_bruto
2_pph_terhutang
3_pengh_bruto
3_pph_terhutang
4_pengh_bruto
4_pph_terhutang
5_akum_pengh_bruto
5_pengh_bruto
5_pph_terhutang
6_akum_pengh_bruto
6_pengh_bruto
6_pph_terhutang
7_akum_pengh_bruto
7_pengh_bruto
7_pph_terhutang
8_akum_pengh_bruto
8_pengh_bruto
8_pph_terhutang
9_pengh_bruto
9_pph_terhutang
10_akum_pengh_bruto
10_pengh_bruto
10_pph_terhutang
11_pengh_bruto
11_pph_terhutang
12_pengh_bruto
12_pph_terhutang
jns_pasal
jml_pengh_bruto
jml_pph_terhutang
id_sptmasa
Gambar 4.46 Tabel pph21_bukti_potong_nofinal 2NF
Gambar Tabel pph21_bukti_potong_final 2NF
pph21_bukti_potong_final
PK id_pph21_bukti_potong_final
id_lawan_transaksi
no_bukti_potong
tgl_bukti_potong
jml_penghasilan1
pph21sebulan1
jml_penghasilan2
pph21sebulan2
jml_penghasilan_all
jml_pph21_all
id_spt_masa
Gambar 4.47 Tabel pph21_bukti_potong_final 2NF
Gambar Tabel pph21_bukti_potong_1721a1 2NF
pph21_bukti_potong_1721a1
PK id_bukti_potong_1721a1
id_pegawai_1721_a1
no_urut
tgl_bukti_potong
masa_penghasilan_dari
masa_penghasilan_sampai
penghasilan_bruto
tunjangan_pph
tunjangan_lain
honorarium
premi_asuransi
natura
jml1_6
tantiem_bonus
jml_penghasilan_bruto
biayaJab7
biayaJab8
biayaPen
jml_pengurangan
jml_penghasilan_netto
penghasilan_sebelumnya
jml_penghasilan_netto_full
ptkp_setahun
penghasilan_kena_pajak
pph21setahun
pph21_dipotong_sebelumnya
pph21_terutang
pph21_telah_dipotong
jml_pph_pasal21
pph21_telah
penandatangan
id_spt_masa
Gambar 4.48 Tabel pph21_bukti_potong_1721a1 2NF
Gambar Tabel pph21_bukti_potong_1721a2 2NF
pph21_bukti_potong_1721a2
PK id_bukti_potong_1721a2
id_pegawai_1721a2
no_urut
tgl_bukti_potong
masa_penghasilan_dari
masa_penghasilan_sampai
gaji_pokok
tunjangan_isteri
tunjangan_anak
jml_gaji_tunjangan_keluarga
tunjangan_perbaikan
tunjangan_struktural
tunjangan_beras
tunjangan_khusus
tunjangan_lain
jml_penghasilan_bruto
biayaJab
biayaPen
jml_pengurangan
jml_penghasilan_netto
jml_penghasilan_netto_setahun
ptkp_setahun
penghasilan_kena_pajak
pph21_terutang
pph21_telah_dipotong
jml_pph_pasal21
pegawai_tersebut
id_spt_masa
Gambar 4.49 Tabel pph21_bukti_potong_1721a2 2NF
Gambar Tabel pph21_pegawai_npwp 2NF
pph21_pegawai_npwp
PK id_pegawai_npwp
npwp
nama
tgl_terdaftar
id_spt_masa
Gambar 4.50 Tabel pph21_pegawai_npwp 2NF
Gambar Tabel pph21_pegawai_masuk 2NF
pph21_pegawai_masuk
PK id_pegawai_masuk
npwp
nama
id_status
jml_tanggungan
id_spt_masaFK
FK
Gambar 4.51 Tabel pph21_pegawai_masuk 2NF
Gambar Tabel pph21_pegawai_keluar 2NF
pph21_pegawai_keluar
PK id_pegawai_keluar
npwp
nama
penghasilan_bruto
pph21_terutang
id_spt_masa
Gambar 4.52 Tabel pph21_ pegawai_keluar 2NF
Gambar Tabel pph21_pegawai_pensiun 2NF
pph21_pegawai_pensiun
PK id_pegawai_pensiun
npwp
nama
id_status
jml_tanggungan
id_spt_masaFK
FK
Gambar 4.53 Tabel pph21_pegawai_pensiun 2NF
Gambar Tabel pph21_status_pegawai 2NF
pph21_status_pegawai
PK id_status
status
Gambar 4.54 Tabel pph21_status_pegawai 2NF
Bentuk Normal ketiga (Third Normal Form/3NF)
Bentuk normalisasi ketiga adalah suatu keadaan yang menyaratkan
bahwa relasi harus sudah berada dalam bentuk normal kedua dan
tidak mengandung dependensi transitif. Dari semua tabel sudah
memenuhi normalisasi ketiga. Berikut ini merupakan hasil
normalisasi ketiga.
User
PK npwp
password
nama_wp
alamat
kota
kode_pos
telp
fax
nama_instansi
npwp_penandatangan
nama_penandatangan
npwp_kuasa_pph21
nama_kuasa_pph21
nama_pasal2126
jabatan_pasal2126
nama_penandatangan_1721_a1
npwp_penandatangan_1721_a1
nama_kuasa_1721_a1
npwp_kuasa_1721_a1
npwp_bendahara_1721_a2
nama_bendahara_1721_a2
nip_bendahara_1721_a2
prev
pph21_lawan_transaksi
PK id_lawan_transaksi
npwp_lawan_transaksi
nama_lawan_transaksi
alamat_lawan_transaksi
kodepos_lawan_transaksi
telp_lawan_transaksi
npwp
pph21_spt_masa
PK id_spt_masa
bln_spt_masa
thn_spt_masa
pembetulan
npwp
pph21_pegawai_keluar
PK id_pegawai_keluar
npwp
nama
penghasilan_bruto
pph21_terutang
id_spt_masa
pph21_pegawai_npwp
PK id_pegawai_npwp
npwp
nama
tgl_terdaftar
id_spt_masa
pph21_bukti_potong_1721a1
PK id_bukti_potong_1721a1
id_pegawai_1721_a1
no_urut
tgl_bukti_potong
masa_penghasilan_dari
masa_penghasilan_sampai
penghasilan_bruto
tunjangan_pph
tunjangan_lain
honorarium
premi_asuransi
natura
jml1_6
tantiem_bonus
jml_penghasilan_bruto
biayaJab7
biayaJab8
biayaPen
jml_pengurangan
jml_penghasilan_netto
penghasilan_sebelumnya
jml_penghasilan_netto_full
ptkp_setahun
penghasilan_kena_pajak
pph21setahun
pph21_dipotong_sebelumnya
pph21_terutang
pph21_telah_dipotong
jml_pph_pasal21
pph21_telah
penandatangan
id_spt_masa
pph21_bukti_potong_1721a2
PK id_bukti_potong_1721a2
id_pegawai_1721a2
no_urut
tgl_bukti_potong
masa_penghasilan_dari
masa_penghasilan_sampai
gaji_pokok
tunjangan_isteri
tunjangan_anak
jml_gaji_tunjangan_keluarga
tunjangan_perbaikan
tunjangan_struktural
tunjangan_beras
tunjangan_khusus
tunjangan_lain
jml_penghasilan_bruto
biayaJab
biayaPen
jml_pengurangan
jml_penghasilan_netto
jml_penghasilan_netto_setahun
ptkp_setahun
penghasilan_kena_pajak
pph21_terutang
pph21_telah_dipotong
jml_pph_pasal21
pegawai_tersebut
id_spt_masa
pph21_bukti_potong_final
PK id_pph21_bukti_potong_final
id_lawan_transaksi
no_bukti_potong
tgl_bukti_potong
jml_penghasilan1
pph21sebulan1
jml_penghasilan2
pph21sebulan2
jml_penghasilan_all
jml_pph21_all
id_spt_masa
pph21_bukti_potong_nofinal
PK id_pph21_bukti_potong_nofinal
id_lawan_transaksi
no_bukti_potong
tgl_bukti_potong
1_pengh_bruto
1_pph_terhutang
2_pengh_bruto
2_pph_terhutang
3_pengh_bruto
3_pph_terhutang
4_pengh_bruto
4_pph_terhutang
5_akum_pengh_bruto
5_pengh_bruto
5_pph_terhutang
6_akum_pengh_bruto
6_pengh_bruto
6_pph_terhutang
7_akum_pengh_bruto
7_pengh_bruto
7_pph_terhutang
8_akum_pengh_bruto
8_pengh_bruto
8_pph_terhutang
9_pengh_bruto
9_pph_terhutang
10_akum_pengh_bruto
10_pengh_bruto
10_pph_terhutang
11_pengh_bruto
11_pph_terhutang
12_pengh_bruto
12_pph_terhutang
jns_pasal
jml_pengh_bruto
jml_pph_terhutang
id_sptmasa
FK
FKFK
FK
FK
FK
FK
FK
FK
FK
FKFK
pph21_pegawai_1721a11
PK id_pegawai_1721a1
npwp_pegawai_1721a1
nama_pegawai_1721a1
alamat_pegawai_1721a1
id_jabatan_1721a1
status_kawin_pegawai_1721a1
gender_pegawai_1721a1
id_status_pegawai_1721a1
status_ptkp_pegawai_1721a1
jml_tanggungan_pegawai_1721a1
asing_pegawai_1721a1
npwpFK
FK
FK
pph21_jabatan_1721a111
PK id_jabatan_1721a1
jabatan_pegawai_1721a1
pph21_status_1721a11
PK id_status_pegawai_1721a1
status_pegawai_1721a1
pph21_pegawai_1721a21
PK id_pegawai_1721a2
npwp_pegawai_1721a2
nip_pegawai_1721a2
nama_pegawai_1721a2
alamat_pegawai_1721a2
id_pangkat_pegawai_1721a2
id_jabatan_pegawai_1721a2
status_kawin_pegawai_1721a2
gender_pegawai_1721a2
id_status_pegawai_1721a2
status_ptkp_pegawai_1721a2
jml_tanggungan_pegawai_1721a2
npwpFK
FK
FK
FK
pph21_pangkat_pegawai_1721a21
PK id_pangkat_pegawai_1721a2
pangkat_pegawai_1721a2
pph21_jabatan_pegawai_1721a21
PK id_jabatan_pegawai_1721a2
jabatan_pegawai_1721a2
pph21_status_pegawai_1721a21
PK id_status_pegawai_1721a2
jabatan_status_1721a2
pph21_pegawai_masuk1
PK id_pegawai_masuk
npwp
nama
id_status
jml_tanggungan
id_spt_masaFK
FK
pph21_pegawai_pensiun1
PK id_pegawai_pensiun
npwp
nama
id_status
jml_tanggungan
id_spt_masaFK
FK
pph21_status_pegawai1
PK id_status
status
Gambar 4.55 ERD setelah di normalisasi
4.4.2.3. Kamus Data
Berikut ini adalah kamus data dari tabel-tabel yang terlibat dalam
sistem:
1. Tabel User
Nama Tabel : user
Keterangan : Berisi data user
Primary Key : username
Tabel 4.1 Tabel User Nama Field Type Panjang Keterangan
Npwp varchar 15 nomor pokok
wajib pajak
Password varchar 15 password
nama_wp varchar 50 nama wajib pajak
Alamat varchar 50 alamat wajib
pajak
Kota varchar 15 kota
kode_pos varchar 15 kode pos
Telp varchar 15 nomor telpon
Fax varchar 15 nomor fax
Email varchar 15 email wajib pajak
nama_instansi varchar 15 nama instansi
wajib pajak
npwp_penandatangan varchar 15 npwp
penandatangan
pada bukti potong
nama_penandatangan varchar 50 nama
penandatangan
pada bukti potong
npwp_kuasa_pph21 varchar 15 npwp kuasa pada
bukti potong
nama_kuasa_pph21 varchar 50 nama kuasa pada
bukti potong
nama_pasal2126 varchar 50 nama pemotong
pada pasal 21/26
jabatan_pasal2126 varchar 15 jabatan pemotong
pada pasal 21/26
2. Tabel Batas Upah Harian
Nama Tabel : pph21_batas_upah_harian
Keterangan : Berisi tentang batas upah harian pekerja lepas
Primary Key : id_batas
Tabel 4.2 Tabel Batas Upah Harian
Nama Field Type Panjang Keterangan
id_batas int 15 id batas upah harian
batas_upah_harian decimal 20 natas upah minimal
harian
3. Tabel Biaya Jabatan
Nama tabel : pph21_biaya_jabatan
Keterangan : Berisi tarif biaya jabatan
Primary Key : id_biaya_jabatan
Tabel 4.3 Tabel biaya jabatan
Nama Field Type Panjang Keterangan
id_biaya_jabatab varchar 10 id biaya jabatan
jenis_biaya varchar 20 jenis biaya jabatan
max_biaya decimal 20 maksimum biaya
jabatan
Tarif int 10 tarif biaya jabatan
(%)
4. Tabel Bukti Potong 1721-A1
Nama tabel : pph21_bukti_potong_1721a1
Keterangan : Berisi data penghasilan untuk bukti potong pegawai 1721-A1
Primaey Key : id_bukti_potong_1721a1
Tabel 4.4 Tabel Bukti Potong 1721-A1
Nama Field Type Panjang Keterangan
id_bukti_potong_1721a1 int 10 id bukti potong
id_spt_masa int 10 id spt masa
(foreign key)
id_pegawai_1721a1 int 10 id pegawai 1721-
a1 (foreign key)
no_urut int 10 no urut bukti
potong
tgl_bukti_potong varchar 20 tanggal bukti
potong
masa_penghasilan_dari int 10 masa penghasilan
dari bulan
masa_penghasilan_sampai int 20 masa penghasilan
sampai bulan
penghasilan_bruto decimal 20 penghasilan bruto
tunjangan_pph decimal 20 tunjangan pph
tunjangan_lain decimal 20 tunjangan lain-
lain
honorarium decimal 20 honoraium
premi_asuransi decimal 20 premi asuransi
Natura decimal 20 natura atau
pemberian tidak
tetap
jml1_6 decimal 20 jumlah dari
penghasilan bruto
sampai natura
tantiem_bonus decimal 20 bonus berupa
tantiem
jml_penghasilan_bruto decimal 20 jumlah dari
jml1_6 dan
tantiem bonus
biayajab7 decimal 20 biaya jabatan
biayajab8 decimal 20 biaya jabatan
Biayapen decimal 20 biaya pensiun
jml_pengurangan decimal 20 jumlah biaya
jml_penghasilan_netto decimal 20 jumlah
pengurangan
antara
penghasilan
dikurangi biaya
penghasilan_sebelumnya decimal 20 penghasilan netto
masa sebelumny
jml_penghasilan_netto_full decimal 20 jumlah
penghasilan
sekarang dan
penghasilan
sebelumnya
ptkp_setahun decimal 20 pendapatan tidak
kena pajak selama
setahun
penghasilan_kena_pajak decimal 20 penghasilan kena
pajak dalam
setahun
pph21setahun decimal 20 pph 21 atas pkp
pph21_dipotong_sebelumnya decimal 20 pph21 yang telah
dipotong
sebelumnya
pph21_terutang decimal 20 hasil pph21
terhutang
pph21_telah_dipotong decimal 20 pph 21 yang telah
dipotong
jml_pph_pasal21 decimal 20 hasil pph21
pph21_telah decimal 20 hasil pph21
kurang/lebih
potong
penandatangan varchar 20 janis
penandatangan
5. Tabel Bukti Potong Pegawai 1721-A2
Nama Tabel : pph21_bukti_potong_1721a2
Keterang : berisi data penghasilan untuk pegawai 1721-A2
Primary Key : id_bukti_potong _1721a2
Tabel 4.5 Tabel Bukti Potong Pegawai 1721-A2
Nama Field Type Panjang Keterangan
id_bukti_potong_1721_a2 Int 10 id bukti
potong 1721-
a2
id_dpt_masa Int 10 id spt masa
id_pegawai_1721a2 Int 10 id pegawai
1721-a2
no_urut Int 10 no urut
tgl_bukti_potong Varchar 20 tanggal bukti
potong
masa_penghasilan_dari Int 10 masa
penghasilan
dari bulan
masa_peghasilan_sampai Int 10 masa
penghasilan
sampai bulan
gaji_pokok Decimal 20 gaji pokok
tunjangan_isteri Decimal 20 tunjangan
isteri
tunjangan_anak Decimal 20 tunjangan
anak
jml_gaji_tunjangan_keluarga Decimal 20 jumlah gaji
dan tunjangan
keluarga
tunjangan_perbaikan Decimal 20 tunjangan
perbaikan
tunjangan_struktural Decimal 20 tunjangan
struktural
tunjangan_beras Decimal 20 tunjangan
beras
tunjangan_khusus Decimal 20 tunjangan
khusus
tunjangan_lain Decimal 20 tunjangan
lain-lain
jml_penghasilan_bruto Decimal 20 jumlah
penghasilan
keseluruhan
Biayajab Decimal 20 biaya jabatan
Biayapen Decimal 20 biaya pensiun
jml_pengurangan Decimal 20 jumlah biaya
jml_penghasilan_netto Decimal 20 jumlah
penghasilan
netto
jml_penghasilan_netto_setahun Decimal 20 jumlah
penghasilan
netto setahun
ptkp_setahun Decimal 20 penghasilan
tidak kena
pajak setahun
penghasilan_kena_pajak Decimal 20 penghasilan
kena pajak
pph21_terutang Decimal 20 pph 21
terhutang
pph21_telah_dipotong Decimal 20 pph21 jika
telah dipotong
jml_pph_pasal21 Decimal 20 jumlah pph
pasal 21
pegawai_tersebut Varchar 20 status
pegawai
6. Tabel Bukti Potong Final
NamaTabel : pph21_buti_potong_final
Keterangan : berisi data penghasilan untuk pegawai tidak tetap final
Primary Key : id_pph21_bukti_potong_final
Tabel 4.6 Tabel Bukti Potong Final
Nama Field Type Panjang Keterangan
id_pph21_bukti_potong_final Int 10 id bukti
potong final
id_spt_masa Int 10 id spt masa
id_lawan_transaksi Int 10 id lawan
transaksi
no_bukti_potong Int 10 nomor bukti
potong
tgl_bukti_potong Varchar 20 tanggal bukti
potong
jml_penghasilan1 Decimal 20 jumlah
peghasilan 1
pph21_sebulan1 Decimal 20 pph 21
sebulan 1
jml_penghasilan2 Decimal 20 jumlah
penghasilan 2
pph21_sebulan2 Decimal 20 pph 21
sebulan 2
jml_penghasilan_all Decimal 20 jumlaj
penghasilan
kesleuruhan
jml_pph21_all Decimal 20 jumlah pph 21
keseluruhan
7. Tabel Bukti Potong Tidak Final
Nama Tabel : pph21_bukti_potong_nofinal
Keterangan : berisi data penghasilan karyawan tidak tetap tidak final
Primary Key : id_pph21_buki_potong_ nofinal
Tabel 4.7 Tabel Bukti Potong Tidak Final
Nama Field Type Panjang Keterangan
id_pph21_buki_potong_
nofinal
Int 10 Id bukti potong
Id_spt_masa Int 10 Id spt masa
Id_lawan_transaksi Int 10 Id lawan
transaksi
No_bukti_potong Int 10 Nomor bukti
potong
Tgl_bukti_potong Varchar 20 Tanggal bukti
potong
1_pengh_bruto decimal 20 Penghasilan bruto
1
1_pph_terutang Decimal 20 Pph terhutang 1
2_pengh_bruto Decimal 20 Penghasilan bruto
2
2_pph_terutang Decimal 20 Pph terhutang 2
3_pengh_bruto Decimal 20 Penghasilan bruto
3
3_pph_terutang Decimal 20 Pph terhutang 3
4_pengh_bruto Decimal 20 Penghasilan bruto
4
4_pph_terutang Decimal 20 Pph terhutang 4
5_akum_pengh_bruto Decimal 20 Akumulasi
penghasilan bruto
5
5_pengh_bruto Decimal 20 Penghasilan bruto
5
5_pph_terutang Decimal 20 Pph terhutang 5
6_akum_pengh_bruto Decimal 20 Akumulasi
penghasilan bruto
6
6_pengh_bruto Decimal 20 Penghasilan bruto
6
6_pph_terutang Decimal 20 Pph terhutang 6
7_akum_pengh_bruto Decimal 20 Akumulasi
penghasilan bruto
7
7_pengh_bruto Decimal 20 Penghasilan bruto
7
7_pph_terutang Decimal 20 Pph terhutang 7
8_akum_pengh_bruto Decimal 20 Akumulasi
penghasilan bruto
8
8_pengh_bruto Decimal 20 Penghasilan bruto
8
8_pph_terutang Decimal 20 Pph terhutang 8
9_pengh_bruto Decimal 20 Penghasilan bruto
9
9_pph_terutang Decimal 20 Pph terhutang 9
10_akum_pengh_bruto Decimal 20 Akumulasi
penghasilan bruto
10
10_pengh_bruto Decimal 20 Penghasilan bruto
11
10_pph_terutang decimal 20 Pph terhutang 10
11_pengh_bruto Decimal 20 Penghasilan bruto
11
11_pph_terutang Decimal 20 Pph terhutang 11
12_pengh_bruto Decimal 20 Penghasilan bruto
12
12_pph_terutang Decimal 20 Pph terhutang 12
8. Tabel Jabatan Pegawai 1721-A1
Nama tabel : pph21_jab_pegawai_1721a1
Keterangan : berisi data jabatan pada pegawai 1721-A1
Primary Key : id_jab_peg_1721a1
Tabel 4.8 Tabel Jabatan Pegawai 1721-A1
Nama Field Type Panjang Keterangan
id_jab_peg_1721a1 int 10 id jabatan 1721-
A1
nama_jab_peg_1721a1 varchar 50 nama jabatan
1721-A1
9. Tabel Jabatan Pegawai 1721-A2
Nama tabel : pph21_jab_pegawai_1721a2
Keterangan : berisi data jabatan pada pegawai 1721-A2
Primary Key : id_jab_peg_1721a2
Tabel 4.9 Tabel Jabatan Pegawai 1721-A2
Nama Field Type Panjang Keterangan
id_jab_peg_1721a2 int 10 id jabatan 1721-
A2
nama_jab_peg_1721a2 varchar 50 nama jabatan
1721-A2
10. Tabel KPP
Nama Tabel : pph21_kpp
Keterangan : berisi data tentang KPP
Primary Key : id_pph21_kpp
Tabel 4.10 Tabel PTKP
Nama Field Type Panjang Keterangan
id_pph21_kpp int 10 Id KPP
nama_kpp varchar 50 Nama KPP
alamat_kpp varchar 50 Alamat KPP
11. Tabel Lawan Transaksi
Nama Tabel : pph21_lawan_transaksi
Keterangan : berisi data lawan transaksi atau pegawai tidak tetap
Primary Key : id_lawan_transaksi
Tabel 4.11 Tabel Lawan Transaksi
Nama Field Type Panjang Keterangan
id_lawan_transaksi int 10 Id lawan
transaksi
Npwp varchar 15 Npwp
user/klien
Npwp_lawan_transaksi varchar 15 NPWP lawan
transaksi
Nama_lawan_transaksi Varchar 50 Nama lawan
ransaksi
Alamat_lawan_transaksi Varchar 50 Alamat lawan
transaksi
Kodepos_lawan_transaksi Varchar 10 Kode pos
lawan
transaksi
Telp_lawan_transaksi varchar 15 Telpon lawn
transaksi
12. Tabel Pegawai 1721-A1
Nama tabel : pph21_pegawai_1721a1
Keterangan : Berisi data pegawai 1721-A1
Primary Key : id_pegawai_1721a1
Tabel 4.12 Tabel Pegawai 1721-A1
Nama Field Type Panjang Keterangan
id_pegawai_1721a1 Int 10 Id pegawai
npwp_pegawai_1721a1 varchar 15 NPWP
Pegawai
nama_pegawai_1721a1 varchar 50 Nama
Pegawai
alamat_pegawai_1721a1 varchar 50 Alamat
pegawai
jabatan_pegawai_1721a1 varchar 50 Jabatan
Pegawai
status_kawin_pegawai_1721a1 varchar 20 Status
Kawin
gender_pegawai_1721a1 varchar 20 Jenis
kelamin
status_pegawai_pegawai_1721a1 varchar 20 Status
Pegawai
status_ptkp_pegawai_1721a1 varchar 20 Status PTKP
jml_tanggungan_pegawai_1721a1 Int 10 Jumlah
tanggungan
pegawai
asing_pegawai_1721a1 varchar 20 Status asing
pegawai
npwp varchar 15 NPWP
user/klien
13. Tabel Pegawai 1721-A2
Nama tabel : pph21_pegawai_1721a2
Keterangan : Berisi data pegawai 1721-A2
Primary Key : id_pegawai_1721a2
Tabel 4.13 Tabel Pegawai 1721-A2
Nama Field Type Panjang Keterangan
id_pegawai_1721a2 Int 10 Id pegawai
npwp_pegawai_1721a2 varchar 15 NPWP
Pegawai
Nip_pegawai_1721a2 varchar 15 NIP
Pegawai
nama_pegawai_1721a2 varchar 50 Nama
Pegawai
alamat_pegawai_1721a2 varchar 50 Alamat
pegawai
pangkat_pegawai_1721a2 varchar 50 Pangkat
pegawai
jabatan_pegawai_1721a2 varchar 50 Jabatan
Pegawai
status_kawin_pegawai_1721a2 varchar 20 Status
Kawin
gender_pegawai_1721a2 varchar 20 Jenis
kelamin
status_pegawai_pegawai_1721a2 varchar 20 Status
Pegawai
status_ptkp_pegawai_1721a2 varchar 20 Status PTKP
jml_tanggungan_pegawai_1721a2 Int 10 Jumlah
tanggungan
pegawai
Npwp varchar 15 NPWP
user/klien
14. Tabel Pegawai Keluar
Nama tabel : pph21_pegawai_keluar
Keterangan : Berisi data pegawai yang keluar
Primary Key : id_pegawai_keluar
Tabel 4.14 Tabel Pegawai Keluar
Nama Field Type Panjang Keterangan
id_pegawai_keluar int 10 Id pegawai
keluar
id_spt_masa int 10 Id spt masa
npwp_pegawai varchar 15 Npwp pegawai
nama-pegawai varchar 50 Nama pegawai
penghasilan_bruto decimal 20 Penghasilan
bruto
pph21_terutang decimal 20 Pph 21
terhutang
15. Tabel Pegawai Masuk
Nama tabel : pph21_pegawai_masuk
Keterangan : Berisi data pegawai yang masuk
Primary Key : id_pegawai_masuk
Tabel 4.15 Tabel Pegawai Masuk
Nama Field Type Panjang Keterangan
id_pegawai_masuk int 10 Id Pegawai
Masuk
id_spt_masa int 10 Id SPT Masa
nama_pegawai varchar 50 Nama Pegawai
npwp_pegawai varchar 15 Npwp Pegawai
status_pegawai varchar 15 Status pegawai
jml_tanggungan Int 10 Jumlah
tanggungan
16. Tabel Pegawai baru memiliki NPWP
Nama tabel : pph21_pegawai_npwp
Keterangan : Berisi data pegawai yang baru memiliki NPWP
Primary Key : id_pegawai_npwp
Tabel 4.16 Tabel Pegawai baru memiliki NPWP
Nama Field Type Panjang Keterangan
id_pegawai_npwp Int 10 Id Pegawai
npwp
id_spt_masa Int 10 Id SPT Masa
nama_pegawai Varchar 50 Nama Pegawai
npwp_pegawai Varchar 15 Npwp Pegawai
Tgl_terdaftar Varchar 15 Tanggal
terdaftar
17. Tabel Pegawai yang Pensiun
Nama tabel : pph21_pegawai_pensiun
Keterangan : Berisi data pegawai yang pensiun
Primary Key : id_pegawai_pensiun
Tabel 4.17 Tabel Pegawai yang Pensiun
Nama Field Type Panjang Keterangan
id_pegawai_pensiun int 10 Id Pegawai
pensiun
id_spt_masa int 10 Id SPT Masa
nama_pegawai varchar 50 Nama Pegawai
npwp_pegawai varchar 15 Npwp Pegawai
status_pegawai varchar 15 Status pegawai
jml_tanggungan Int 10 Jumlah
tanggungan
18. Tabel PTKP
Nama tabel : pph21_ptkp
Keterangan : Berisi data tarif PTKP
Primary Key : id_ptkp
Tabel 4.18 Tabel PTKP
Nama Field Type Panjang Keterangan
id_ptkp Int 10 Id PTKP
Ptkp decimal 20 Tarif PTKP
tanggungan decimal 20 Tarif
tanggungan
Tgl_awal-Berlaku Varchar 15 Tanggal awal
berlaku
Tgl_akhir_berlaku Varchar 15 Tanggal akhir
berlaku
19. Tabel SPT Masa
Nama tabel : pph21_spt_masa
Keterangan : Berisi data spt masa
Primary Key : id_spt_masa
Tabel 4.19 Tabel SPT Masa
Nama Field Type Panjang Keterangan
id_spt_masa Int 10 Id SPT Masa
Ptkp decimal 20 Tarif PTKP
Npwp decimal 15 Npwp
User/klien
Bln_spt_masa Varchar 15 Bulan SPT
Masa
Thn_spt_masa Varchar 15 Tahun SPT
Masa
pembetulan int 10 Pembetulan ke-
20. Tabel Tarif Pasal 17
Nama tabel : pph21_id_tarif17
Keterangan : Berisi data tarif pasal 17
Primary Key : id_tarif17
Tabel 4.20 Tabel Tarif Pasal 17
Nama Field Type Panjang Keterangan
id_tarif17 Int 10 Id tarif pasal 17
Dari decimal 20 Nominal dari
Sampai decimal 20 Nominal sampai
Nilai int 15 Tarif jika ber-
npwp
Nilainon int 15 Tarif tidak ber-
npwp
21. Tabel Tarif Pasal 21
Nama tabel : pph21_id_tarif21
Keterangan : Berisi data tarif pasal 21
Primary Key : id_tarif21
Tabel 4.21 Tabel Tarif Pasal 21
Nama Field Type Panjang Keterangan
id_tarif21 Int 10 Id tarif pasal 21
Dari Decimal 20 Nominal dari
Sampai Decimal 20 Nominal sampai
Nilai Int 15 Tarif
4.4.3. Perancangan Struktur Aplikasi
Dalam aplikasi perhitungan pajak terlebih dahulu harus melalui
halaman login, untuk user klien setelah melalui halaman login
terdapat dua link menuju halaman PPh 21 dan SSP. Berikut adalah
hirearki struktur menu dengan menggunakan metode STD:
Rancangan struktur menu halaman utama
Home
PPh 21 SSP
DaftarLogin
Rancangan struktur menu daftar
Login Daftardaftar_klik
batal_klik
submit_klik
Rancangan struktur menu home
Login Homelogin_klik
logout_klik
Perhitungan
pilih_klik
logout_klik
Rancangan struktur menu SSP
SSPTambah
SSPtambah_klik
batal_klik
submit_klik
Cetak SSPcetak_klik
ok_klik
Edit SSP
edit_klik
batal_klik
submit_klik
Delete SSP delete_klik
ok_klik
Rancangan struktur menu SPT
SPT
Menu Cetak ProfilReferensi TarifMaster Data HelpSPT Masa Logout
Rancangan struktur menu SPT Masa
SPT MasaTambah SPT
Masatambah_klik
batal_klik
submit_klik
Aktif SPT
Masaaktifkan_klik
keluar_spt_klik
Edit SPT Masa
edit_klik
batal_klik
submit_klik
Delete SPT
Masadelete_klik
ok_klik
SPT
pilih_klik
Rancangan struktur menu cetak
Menu Cetak
SPT
pilih_klik Pilih Cetak
pilih_klik
Cetak SPT
cetak_klik
ok_klik
kembali_klik
Rancangan struktur menu profil
Profil
SPT
pilih_klik Profil WP
pilih_klik
Edit Profil
edit_klik
ok_klik
kembali_klik
batal_klik
Ganti
Password pilih_klik
kembali_klik
batal_klik
Login
ok_klik
sukses
gagal
Rancangan struktur menu tarif
Tarif
SPT
Pasal 17Pasal 21
Final
pilih_klik
pilih_klikpilih_klik
kembali_klik kembali_klik
Rancangan struktur menu help
Help
SPT
pilih_klik
Help View
help_klik
kembali_klik
Rancangan struktur menu logout
Logout
SPT
pilih_klik
Loginlogout_klik
Rancangan struktur menu Master Data
Master Data
Lawan
Transaksi
Pegawai
1721-A1
Pegawai
1721-A2
Rancangan struktur menu lawan transaksi
Lawan
Transaksi
Tambah Lawan
Transaksitambah_klik
batal_klik
submit_klik
Edit Lawan
Transaksi
edit_klik
batal_klik
submit_klik
Delete Lawan
Transaksidelete_klik
ok_klik
Rancangan struktur menu pegawai 1721-A1
Pegawai 1721-
A1
Tambah Pegawai
1721-A1tambah_klik
batal_klik
submit_klik
Edit Pegawai
1721-A1
edit_klik
batal_klik
submit_klik
Delete Pegawai
1721-A1delete_klik
ok_klik
Rancangan struktur menu pegawai 1721-A2
Pegawai 1721-
A2
Tambah Pegawai
1721-A2tambah_klik
batal_klik
submit_klik
Edit Pegawai
1721-A2
edit_klik
batal_klik
submit_klik
Delete Pegawai
1721-A2delete_klik
ok_klik
Rancangan struktur menu Aktif SPT
Aktif SPT
Daftar Bukti
Potong
Daftar
PegawaiSPT Induk
Bukti
PotongKeluar SPT
pilih_klik pilih_klik pilih_klik pilih_klik pilih_klik
SPT Masa
keluar_klik
Cetak SPT
Induk
Lampiran
cetak_klik
cetak_klik
pilih_klik
kembali_klik
Rancangan struktur menu bukti potong
Bukti Potong
Bukti
Potong PPh
21 Final
Bukti
Potong
Pasal 26
Bukti
Potong
1721-A1
Bukti
Potong
PPh21
Tidak Final
Bukti
Potong
1721-A2
pilih_klik pilih_klik pilih_klik pilih_klik pilih_klik
Rancangan struktur menu bukti potong PPh21 tidak Final
Input Bukti
Potong PPh21
Tidak Finalinput_klik
batal_klik
submit_klik
Bukti
Potong
PPh21
Tidak Final
Rancangan struktur menu bukti potong PPh21 Final
Input Bukti
Potong PPh21
Finalinput_klik
batal_klik
submit_klik
Bukti
Potong
PPh21 Final
Rancangan struktur menu bukti potong Pasal 26
Input Bukti
Potong Pasal
26input_klik
batal_klik
submit_klik
Bukti
Potong
Pasal 26l
Rancangan struktur menu bukti potong 1721-A1
Input Bukti
Potong 1721-
A1input_klik
batal_klik
submit_klik
Bukti
Potong
1721-A1
Rancangan struktur menu bukti potong 1721-A2
Input Bukti
Potong 1721-
A2input_klik
batal_klik
submit_klik
Bukti
Potong
1721-A2
Rancangan struktur menu daftar bukti potong
Daftar Bukti Potong
Daftar Bukti
Potong PPh
21 Final
Daftar Bukti
Potong
1721-A1
Daftar Bukti
Potong
PPh21
Tidak Final
Daftar Bukti
Potong
1721-A2
pilih_klik pilih_klik pilih_klik pilih_klik
Cetak
Daftar Bukti
Potong
cetak_klik
ok_klik
kembali_klik
Rancangan struktur menu daftar bukti potong PPh21 Tidak Final
Delete Bukti
Potong PPh21
Tidak Finaldelete_klik
batal_klik
ok_klik
Daftar Bukti
Potong
PPh21
Tidak Final
Cetak Bukti
Potong PPh21
Tidak Finalcetak_klik
ok_klik
kembali_klik
Rancangan struktur menu daftar bukti potong PPh21 Final
Delete Bukti
Potong PPh21
Finaldelete_klik
batal_klik
ok_klik
Daftar Bukti
Potong
PPh21 Final
Cetak Bukti
Potong PPh21
Finalcetak_klik
ok_klik
kembali_klik
Rancangan struktur menu daftar bukti potong 1721-A1
Delete Bukti
Potong 1721-
A1delete_klik
batal_klik
ok_klik
Daftar Bukti
Potong
1721-A1
Cetak Bukti
Potong 1721-
A1cetak_klik
ok_klik
kembali_klik
Rancangan struktur menu daftar bukti potong 1721-A2
Delete Bukti
Potong 1721-
A2delete_klik
batal_klik
ok_klik
Daftar Bukti
Potong
1721-A2
Cetak Bukti
Potong 1721-
A2cetak_klik
ok_klik
kembali_klik
Rancangan struktur menu daftar pegawai
Daftar Pegawai
Daftar
Pegawai
Tetap
Daftar
Perubahan
Pegawai
Tetap
pilih_klik pilih_klik
Cetak
Daftar
Pegawai
cetak_klik
ok_klik
kembali_klik
Rancangan struktur menu daftar perubahan pegawai tetap
Daftar
Perubahan
Pegawai Tetap
Edit Daftar
Perubahan
Pegawai Tetap
edit_klik
batal_klik
submit_klik
Delete Daftar
Perubahan
Pegawai Tetapdelete_klik
ok_klik Tambah Daftar
Perubahan
Pegawai Tetaptambah_klik
batal_klik
submit_klik
Cetak Daftar
Perubahan
Pegawai Tetap
cetak_klik
ok_klik
Rancangan struktur menu daftar pegawai tetap
Daftar
Pegawai Tetap
Edit Daftar
Pegawai Tetap
edit_klik
batal_klik
submit_klik
Delete Daftar
Pegawai Tetapdelete_klik
ok_klik Tambah Daftar
Pegawai Tetaptambah_klik
batal_klik
submit_klik
Cetak Daftar
Pegawai Tetapcetak_klik
ok_klik
4.4.4. Perancangan Antar Muka
Perancangan tampilan terdiri dari:
1. Antar muka halaman login
Aplikasi Perhitungan Pajak Pasal 21
copyright@2010
gambar
npwp
password
login register
Gambar 4.56 Gambar Tampilan Halaman Login
Halaman ini berisi input login npwp dan password serta terdapat link untuk
registrasi.
2. Antar muka halaman SPT Masa
Aplikasi Perhitungan Pajak Pasal 21
Tambah spt masa
bulan
tahun
pembetulan ke
copyright@2010
HOME SPT MASA SPT TOOLS PROFIL REFERENSI TARIF LOGOUT
Bulan spt masa Tahun spt masa pembetulan aktifkan deleteedit
Gambar 4.57 Gambar Tampilan Halaman SPT Masa
Halaman SPT masa berisi daftar SPT masa yang sudah dibuat dan
dibawahnya terdapat form untuk menambah SPT masa baru.
3. Antar muka halaman lawan transaksi
Aplikasi Perhitungan Pajak Pasal 21
Tambah lawan transaksi
npwp
nama
alamat
kode pos
telp
copyright@2010
HOME SPT MASA SPT TOOLS PROFIL REFERENSI TARIF LOGOUT
npwp nama alamat kodepos edittelp delete
Gambar 4.58 Gambar Tampilan Halaman lawan transaksi
Di halaman ini terdapat daftar lawan transaksi dan tombol untuk mengedit
dan menghapus lawan transaksi, dibawahnya terdapat form untuk
menambah lawan transaksi baru.
4. Antar muka halaman Pegawai 1721-A1
Aplikasi Perhitungan Pajak Pasal 21
Tambah pegawai 1721-A1
npwp
nama
alamat
jabatan
status kawin
jenis kelamin
status pegawai
status ptkp
jumlah tanggungan
asing
copyright@2010
HOME SPT MASA SPT TOOLS PROFIL REFERENSI TARIF LOGOUT
npwp nama alamat jabatan edit delete
Gambar 4.59 Gambar Tampilan Halaman pegawa 1721-A1
Di halaman ini terdapan daftar pegawai 1721-A1 dan link untuk mengedit
dan menghapus pegawai, dibagian bawah terdapat form untuk menambah
pegawai 1721-A1 baru.
5. Antar muka halaman pegawai 1721-A2
Aplikasi Perhitungan Pajak Pasal 21
Tambah pegawai 1721-A2
npwp
nip/nrk pegawai
nama
alamat
Pangkat/golongan
jabatan
status kawin
jenis kelamin
status pegawai
status ptkp
jumlah tanggungan
copyright@2010
HOME SPT MASA SPT TOOLS PROFIL REFERENSI TARIF LOGOUT
npwp nama alamat jabatan edit delete
Gambar 4.60 Gambar Tampilan Halaman Pegawai 1721-A2
Di halaman ini terdapan daftar pegawai 1721-A2 dan link untuk mengedit
dan menghapus pegawai, dibagian bawah terdapat form untuk menambah
pegawai 1721-A2 baru.
3.11. Pengkodean (Coding)
4.5.1. Kode Program
Pada tahap ini dilakukan aktivitas penulisan kode program
untuk prototype aplikasi menggunakan bahasa pemrogramam PHP
dan database MySQL. Kode program dapat dilihat pada lampiran 6.
4.5.2. Desain Antar Muka
Pada tahap ini dilakukan aktivitas perancangan antar muka
(tampilan) untuk navigasi dari desain yang telah dibuat. Untuk lebih
detailnya dapat dilihat pada lampiran 4.
3.12. Pengujian
Pada ujicoba ini, penulis menguji dengan metode blackbox testing yaitu
ujicoba secara mandiri dan berusaha menciptakan situasi yang mirip dengan
lingkungan dimana sistem akan diimplementasikan, yaitu sistem diinstal pada
server lalu kemudian dapat diakses oleh client yang berada pada satu jaringan
intranet.
4.6.1. Perlengkapan Ujicoba
Untuk keperluan, penulis menyediakan beberapa perangkat
komputer dan jaringan. Berikut rangkaiannya :
1. Server
Tabel 4.22 Tabel Spesifikasi server
Personal Computer Non Branded
Spesifikasi Hardware :
a. Processor : Intel Pentium 4 2.8 GHz
b. Ram : 2x312 MB DDRSDRAM PC-3200
c. Hardisk : WDC Sata 2 320 GB 7200 RPM
d. VGA : NVidia
e. LAN : NForce networking controller
Spesifikasi Software :
a. Operating Sistem : Windows XP Pro SP 2
b. Webserver : Apache 2.2.6
c. Database : MySQL 5.0.51
d. Programming Tool : PHP 5.2.5
g. Web Browser : Mozilla Firefox 2.0.14
2. Client
Tabel 4.23 Tabel Spesifikasi client
A Note Centurion M52N
Spesifikasi Hardware :
a. Processor : Intel Centrino Core Solo 1.87 GHz
b. Ram : VGEN DDR2 PC5200 – 3,00 GB
c. Hardisk : WDC ATA 80 GB 5400 RPM
d. VGA : Intel(R) 945 Express
e. LAN : Realtek RTL8130 C
f. WLAN : Intel Pro Wireless
Spesifikasi Software :
i. Operating Sistem : Windows 7 Ultimate
j. Web Browser : Chrome 5.0 dan Safari 3.2.1
4.6.2. Hasil Pengujian
Pada ujicoba mandiri ini menggunakan metode ujicoba blackbox
testing, yang memfokuskan pada keperluan fungsional dari software.
Dengan spesifikasi sistem yang berbeda seperti diatas, didapat hasil yang
sama pada tiap client terkait dengan pengujuan logika program. Hasil
ujicoba selengkapnya bisa dilihat pada lampiran 5.
3.13. Penerapan Aplikasi
Penulis membuat strategi penerapan untuk memperkenalkan sistem
baru kepada pengguna di perusahaan. Strategi yang dilakukan sebagai
berikut.
4.7.1. Pelatihan
Pelatihan akan ditujukan bagi admin selaku user yang
mengawasi dan menjaga aplikasi perhitungan pajak. Pelatihannya
berupa bagaimana cara menggunakan aplikasi, seberapa besar
peran admin didalamnya, serta kegunaan aplikasi tersebut.
4.7.2. Go Live
Go Live yaitu penerapan aplikasi oleh perusahaan. Strateginya
berupa pemasangan aplikasi di website perusahaan yang sudah di upload
di server sehingga dapat di akses oleh klien dimana saja.
3.14. Pemeliharaan
Tahapan ini adalah nantinya tahapan yang dilakukan setelah aplikasi
diimplementasikan, dimana pada tahapan ini akan terus dikembangkan
seiring dengan kebutuhan pengguna yang terus berkembang. Perkembangan
aplikasi yang dimaksudkan disini adalah dengan mengembangkan fasilitas-
fasilitas dalam aplikasi yang belum didukung oleh aplikasi saat ini.
Setiap perkembangan dalam aplikasi akan melalui proses-proses yang
sama dalam pembuatan aplikasi tersebut. Berikut adalah tahapan-tahapan
yang dilakukan pada aplikasi ini nantinya:
1. Analisa kebutuhan yang ingin dipenuhi.
2. Desain pengembangan aplikasi.
3. Pembuatan kode aplikasi sesuai dengan desain yang telah dibuat.
4. Testing aplikasi yang telah dikembangkan.
5. Pemeliharaan aplikasi dan pengembangan-pengembangan berikutnya.
BAB V
PENUTUP
5.1. Kesimpulan
Berdasarkan analisis dan perancangan Aplikasi Perhitungan Pajak Pasal 21
pada CV. Buana Mitra Consulting, maka dapat disimpulkan beberapa hal
sebagai berikut:
a. Sesuai dengan tujuan penulis maka Aplikasi Perhitungan Pajak Pasal
21 ini dapat membantu dan memudahkan perusahaan dan klien dalam
proses pelayanan dan perhitungan pajak khususnya pasal 21.
b. Aplikasi Perhitungan Pajak Pasal 21 ini juga dapat menghasilkan
output berupa file pdf baik itu spt masa, ssp, bukti potong, dan berkas
lain yang diperlukan.
5.2. Saran
Berdasarkan kesimpulan-kesimpulan yang telah dikemukakan, dapat
diajukan beberapa saran untuk pengembangan lebih lanjut antara lain :
a. Diharapkan aplikasi ini dikembangkan tidak hanya untuk pasal 21
atau 26 saja tetapi juga pasal lain seperti pasal 22, 23, 24 ,dan pasal
lain yang masih berhubungan dengan pajak penghasilan .
b. Ke depan aplikasi ini perlu dikembangkan dalam hal pelaporan ke
KPP atau disebut juga dengan e-spt.
DAFTAR PUSTAKA
Budd, Andy, Cameron Moll, Simon Collison. 2006. CSS Mastery: Advanced Web
Standards Solutions. Springer-Verlag New York Inc.
Hariyanto, Bambang. 2004. Sistem Manajemen BasisData: Pemodelan,
Perancangan, dan Terapannya. Bandung : Informatika.
Jogiyanto, HM. 2005. Analisis dan Desain Sistem Informasi : Pendekatan
Terstruktur. Yogyakarta : Andi.
Kadir, Abdul. 2009. Dasar Perancangan & Implementasi Database Relasional.
Yogyakarta: Andi Offset.
Nugroho, Bunafit. 2004. Aplikasi Pemrograman Web Dinamis dengan PHP dan
MySQL. Yogyakarta: Gava Media.
Ladjamudin, Al-Bahra Bin. 2005. Analisis dan Desain Sistem Informasi.
Yogyakarta : Graha Ilmu.
Muldjono, Joko. 2009. Akuntansi Perpajakan. Jakarta: Andi.
Sanjaya, Ridwan. 2006. Rekayasa Grafis dengan Menggunakan PHP.
Yogyakarta: Andi.
Sunyoto, Andi, 2007, AJAX Membangun Web dengan Teknologi Asynchronouse
JavaScript dan XML, Yogyakarta, andi
Wahana Komputer. 2006. Seri Panduan Lengkap Menguasai Pemrograman Web
dengan PHP5. Yogyakarta: Andi.
Waluyo, Dikdik Budi. 2008. Perpajakan Indonesia Edisi 7. Jakarta: Andi.
Waluyo, Dikdik Budi. 2009. Petunjung Pemotongan Pajak Penghasilan Pasal
21/26. Jakrta: Warta Mitra Mandiri.
Whitten, Jeffrey L. 2004. Systems Analysis & Design Methods: Sixth Edition.
New York: McGraw-Hill.
Website:
http://www.apache.org [11 Januari 2010]
http://www.mysql.com [06 Januari 2010]
http://www.w3.org [21 Januari 2010]
http://www.w3School.org [17 Februari 2010]
LAMPIRAN I
KUESIONER
Kuesioner Penelitian Mengenai Perancangan Pembuatan Sistem Aplikasi
Perhitungan Pajak Penghasilan Pasal 21 dan SSP Multi Function Berbasis
Web
1. Apakah sistem yang berjalan saat ini sudah baik melayani klien khususnya
pada saat masa lapor SPT Masa?
a. Ya
b. Cukup
c. Tidak
d. Tidah Tahu
2. Apakah Anda mengharapkan adanya sistem yang baru ke depan?
a. Ya
b. Cukup
c. Tidak
d. Tidak Tahu
3. Rencananya perusahaan CV. Buana Mitra Consulting akan membuat
sistem aplikasi perhitungan pemotongan pajak penghasilan pasal 21 untuk
karyawan , apakah akan membantu klien?
a. Ya
b. Cukup
c. Tidak
d. Tidak Tahu
4. Apakah setelah ada sistem aplikasi baru akan meningkatkan pelayanan
perusahaan?
a. Ya
b. Cukup
c. Tidak
d. Tidak Tahu
5. Adakah harapan besar Anda pada sistem yang baru ke depan?
a. Ya
b. Cukup
c. Tidak
d. Tidak Tahu
Hasil Kuesioner
Penulis melakukan kuesioner terhadap 10 klien CV. Buana Mitra
Consulting yaitu PT.Certechs Indonesia, PT.Padang Tropindo, PT.Global
Cerindo, PT.Kala Indah Prima, PT.Aghatara, PT.Sapta Megah Tiara Karya,
PT.Pamengkang Jagat Abadi, CV.Mitra Perdana Nasional, PT.Technowipa
International, PT.Wanna B Production dan 4 orang staf di CV.Buana Mitra
Consulting. Hasilnya yaitu 9 klien mendukung aplikasi ini sedangkan 1 klien tidak
mendukung sementara semua staf BMC mendukung aplikasi ini.
0
2
4
6
8
10
12
14
Pertanyaan 1 Pertanyaan 2 Pertanyaan 3 Pertanyaan 4 Pertanyaan 5
Ya
Cukup
Tidak
Tidak Tahu
LAMPIRAN II
WAWANCARA
Waktu : Senin, tanggal 14 September 2009
Responden : Buana Tarigan, SE, S.Ak
Jabatan : Owner sekaligus Project Manager
Tempat : Cililitan, Jakarta Timur
Pertanyaan :
1. Apakah sistem yang berjalan saat ini sudah baik melayani klien khususnya
pelayanan perhitungan pajak perusahaan untuk karyawannya?
2. Sistem seperti apa yang anda inginkan untuk memperbaiki sistem yang ada
sekarang?
3. Jika sistem yang akan dibuat ini adalah untuk klien dan klien dapat
menghitung beban pajaknya, apakah peran perusahaan anda sebagai
konsultan pajak dapat tergantikan?
4. Apakah dengan sistem yang baru, member tidak akan mengalami kesulitan
dalam penggunaannya?
5. Apa harapan anda pada sistem yang baru ke depan?
Jawaban :
1. Memang ada beberapa permasalahan dalam melayani klien apalagi jika
bulan akhir penyerahan SPT Masa yaitu yang utama adalah tidak
tertanganinya semua permintaan klien dalam menghitung beban pajak
perusahaannya karenya hampir semua klien menginginkan perusahaanya
agar dihitung beban pajaknya. Prioritas utama dalam perhitungan pajak
perusahaan adalah menganalisa laporan keuangannya dan semua transaksi
yang ada yang sangat memakan waktu dan tenaga, jadi untuk perhitungan
pemotongan pajak karyawannya menjadi terbengkalai.
2. Suatu aplikasi yang dapat membantu dalam perhitungan pajak atau
pemotongan pajak karyawan baik karyawan tetap maupun karyawan tidak
tetap, dan aplikasi ini ditujukan untuk klien sehingga mereka dapat
menghitung pajak karyawannya sendiri serta aplikasi yang sudah
menggunakan database yang hanya perlu sekali dalam memasukkan data,
dan juga suatu aplikasi yang bersifat dinamis karena dalam perhitungan
pajak, tarifnya selalu berubah dari tahun ke tahun.
3. Untuk itu saya menginginkan aplikasi yang masih tetap terhubung dengan
perusahaan konsultan saya, misalnya aplikasi ini diterapkan pada website
perusahaan ini sehingga klien masih tetap berhubungan dengan perusahaan
kami, selain itu di website kami sudah terdapat forum yang sangat
bermanfaat jika terdapat aplikasi tersebut, dan juga perlu diketahui, bahwa
perhitungan pemotongan pajak karyawan ini adalah bagian dari
perhitungan pajak penghasilan perusahaan yang harus di selesaikan staf
perusahaan kami jadi klien masih menggunakan jasa kami.
4. Saya rasa tidak, karena pasti klien kami tersebut memiliki basic
pendidikan ekonomi dan sudah familiar dengan form penghasilan dan
istilah dalam pajak, dan memang perlu juga diberi tutorial atau sejenisnya
dan menurut saya forum di website kami sudh dapat menjawab masalah
tersebut.
5. Harapan perusahaan adalah terciptanya pelayanan prima dan memuaskan
serta terjalinya hubungan yang baik terhadap klien sehingga akan
meningkatkan citra dan omset perusahaan.
LAMPIRAN III
KUESIONER
Kuesioner Penelitian Mengenai Hasil Perancangan Pembuatan Sistem
Aplikasi Perhitungan Pajak Penghasilan Pasal 21 dan SSP Multi Function
Berbasis Web
6. Apakah perancangan aplikasi perhitungan pemotongan pajak penghasilan
pasal 21 ini sudah baik untuk melayani klien?
e. Ya
f. Cukup
g. Tidak
h. Tidah Tahu
7. Apakah Anda merasa puas dengan aplikasi ini?
e. Ya
f. Cukup
g. Tidak
h. Tidak Tahu
8. Apakah mudah dalam menggunaan aplikasi ini?
e. Ya
f. Cukup
g. Tidak
h. Tidak Tahu
9. Apakah aplikasi ini akan memudahkan klien dalam menghitung
pemotongan pajak perusahaan?
e. Ya
f. Cukup
g. Tidak
h. Tidak Tahu
10. Apakah aplikasi ini sudah sesuai dengan yang diharapkan?
a. Ya
b. Cukup
c. Tidak
d. Tidak Tahu
Hasil Kuesioner
Penulis melakukan kuesioner terhadap 10 klien CV. Buana Mitra
Consulting yaitu PT.Certechs Indonesia, PT.Padang Tropindo, PT.Global
Cerindo, PT.Kala Indah Prima, PT.Aghatara, PT.Sapta Megah Tiara Karya,
PT.Pamengkang Jagat Abadi, CV.Mitra Perdana Nasional, PT.Technowipa
International, PT.Wanna B Production dan 4 orang staf di CV.Buana Mitra
Consulting. Hasilnya yaitu semua klien merasa puas terhadap aplikasi ini dan
semua staf BMC juga merasa puas dan melihat aplikasi ini baik untuk
memberikan fasilitas terhadap klien.
0
2
4
6
8
10
12
14
Pertanyaan 1 Pertanyaan 2 Pertanyaan 3 Pertanyaan 4 Pertanyaan 5
Ya
Cukup
Tidak
Tidak Tahu
LAMPIRAN IV
TAMPILAN ANTAR MUKA
1. Halaman Login
2. Halaman Daftar
Klien
Dalam proses ini klien hanya bisa melakukan login bila sudah terdaftar,
berikut detailnya:
1. Halaman SPT Masa
2. Halaman Pegawai Lawan Transaksi
3. Halaman Pegawai 1721-A1
4. Halaman Pegawai 1721-A2
5. Tampilan halaman Tarif Pasal 17
6. Tampilan Halaman Bukti Potong Tidak Final
7. Halaman Input Bukti Potong Tidak Final
8. Halaman Input Bukti Potong Final
9. Tampilan Halaman Bukti Potong Tidak Final
10. Tampilan Halaman Input Bukti Potong 1721-A1
11. Tampilan Halaman Input Bukti Potong 1721-A2
12. Tampilan Halaman Bukti Potong 1721-A1
13. Tampilan Halaman Bukti Potong 1721-A1
14. Tampilah Halaman Perubahan Pegawai tetap
Admin
Pada hak akses sebagai admin dapat melihat semua klien atau user dan berhak
untk mengedit dan menghapus user, dan juga dapat mengedit tarif pemotongan
pajak.
1. Tampilah Halaman View User
2. Tampilah Halaman setting PTKP
LAMPIRAN V
BLACKBOX TESTING
Tabel Uji Coba dengan Blackbox Testing
NO MODUL PRASYARAT HASIL YANG
DIHARAPKAN
HASIL
TEST
1 Add user - Dapat menambah User dan
data user masuk kedalam
database
OK
2 Delete User Login sebagai
admin.
Dapat menghapus data user
dalam database
OK
3 Edit User Login sebagai
admin.
Dapat mengedit dan meng-
update data user dalam
database
OK
4 Edit Tarif
Batas Upah
Harian
Login sebagai
admin.
Dapat mengedit dan
mengupdate tarif batas upah
harian.
OK
5 Edit tarif
PTKP
Login sebagai
admin.
Dapat mengedit dan
mengupdate tarif PTKP.
OK
6 Edit tarif
biaya jabatan
Login sebagai
admin.
Dapat mengedit dan
mengupdate tarif biaya
jabatan.
OK
7 Add dan edit
nama dan
alamat kpp
Login sebagai
admin.
Dapat menambah dan
mengedit nama dan alamat
KPP.
OK
8 Edit tarif
Pasal 17
Login sebagai
admin
Dapat mengedit tarif Pasal 17. OK
9 Edit tarif
Pasal 21
Login sebagai
admin
Dapat mengedit tarif Pasal 21. OK
10 Add SPT
Masa
Login sebagai
user.
Dapat menambah data SPT
Masa yang akan dibuat.
OK
11 Edit SPT
Masa
Login sebagai
user.
Dapat mengedit data SPT
Masa yang telah dibuat.
OK
12 Delete SPT
Masa
Login sebagai
user.
Dapat menghapus data SPT
Masa yang telah dibuat.
OK
13 View dan Edit
user profile
Login sebagai
user.
Dapat melihat dan mengedit
profil user.
OK
14 Edit Password Login sebagai
user.
Dapat mengedit password
untuk login user.
OK
15 Add Lawan
Transaksi
Login sebagai
user.
Dapat menambah data lawan
transaksi baru.
OK
16 Edit Lawan
Transaksi
Login sebagai
user.
Dapat mengedit data lawan
transaksi yang sudah ada.
OK
17 Delete Lawan
Transaksi
Login sebagai
user.
Dapat menghapus data lawan
transaksi yang sudah ada.
OK
18 Add Pegawai
1721-A1
Login sebagai
user.
Dapat menambah data
Pegawai 1721-A1 baru.
OK
19 Edit Pegawai
1721-A1
Login sebagai
user.
Dapat mengedit data Pegawai
1721-A1 yang sudah ada.
OK
20 Delete
Pegawai
1721-A1
Login sebagai
user.
Dapat menghapus data
Pegawai 1721-A1 yang sudah
ada.
OK
21 Add Pegawai
1721-A2
Login sebagai
user.
Dapat menambah data
Pegawai 1721-A2 baru.
OK
22 Edit Pegawai
1721-A2
Login sebagai
user.
Dapat mengedit data Pegawai
1721-A2 yang sudah ada.
OK
23 Delete
Pegawai
1721-A2
Login sebagai
user.
Dapat menghapus data
Pegawai 1721-A2 yang sudah
ada.
OK
24 Input daftar
bukti potong
PPh 21 tidak
final
Login sebagai
user. Masuk
SPT Masa yang
akan dibuat.
Dapat menginput bukti potong
PPh 21 tidak final ke dalam
database.
OK
25 Input daftar
bukti potong
PPh 21 final
Login sebagai
user. Masuk
SPT Masa yang
akan dibuat.
Dapat menginput bukti potong
PPh 21 final ke dalam
database.
OK
26 Input daftar
bukti potong
PPh 26
Login sebagai
user. Masuk
SPT Masa yang
akan dibuat.
Dapat menginput bukti potong
PPh 26 ke dalam database.
OK
27 Input daftar
bukti potong
1721-A1
Login sebagai
user. Masuk
SPT Masa yang
akan dibuat.
Dapat menginput bukti potong
1721-A1 ke dalam database.
OK
28 Input daftar
bukti potong
1721-A2
Login sebagai
user. Masuk
SPT Masa yang
akan dibuat.
Dapat menginput bukti potong
1721-A2 ke dalam database.
OK
29 Add, Edit dan
Delete Daftar
perubahan
pegawai tetap
Login sebagai
user. Masuk
SPT Masa yang
akan dibuat.
Dapat menambah, mengedit,
dan menghapus daftar
perubahan pegawai tetap.
OK
30 Add, Edit dan
Delete Daftar
pegawai
tetap/penerima
pensiun
Login sebagai
user. Masuk
SPT Masa yang
akan dibuat.
Dapat menambah, mengedit,
dan menghapus daftar
pegawai tetap/penerima
pensiun.
OK
LAMPIRAN VI
SOURCE CODE
<?php
session_start();
if (!isset($_SESSION['user_npwp'])){
header("location:../../../index.php");
}
else if (!isset($_SESSION['id_spt_masa'])){
header("location:../spt_masa.php");
}
include "../koneksi.php";
$session = $_SESSION['user_npwp'];
$lawantransaksi=$_POST['lawantransaksi'];
$bayarkan1=$_POST['bayarkan1'];
$status1=$_POST['status1'];
$jml_tanggungan1=$_POST['jml_tanggungan1'];
$jml_kerja1=$_POST['jml_kerja1'];
$jml_penghasilan1=$_POST['jml_penghasilan1'];
$status2=$_POST['status2'];
$jml_tanggungan2=$_POST['jml_tanggungan2'];
$jml_penghasilan2=$_POST['jml_penghasilan2'];
$status3=$_POST['status3'];
$jml_tanggungan3=$_POST['jml_tanggungan3'];
$jml_penghasilan3=$_POST['jml_penghasilan3'];
$status4=$_POST['status4'];
$jml_tanggungan4=$_POST['jml_tanggungan4'];
$jml_penghasilan4=$_POST['jml_penghasilan4'];
$jml_bruto_sebelum5=$_POST['jml_bruto_sebelum5'];
$jml_penghasilan5=$_POST['jml_penghasilan5'];
$jml_bruto_sebelum6=$_POST['jml_bruto_sebelum6'];
$jml_penghasilan6=$_POST['jml_penghasilan6'];
$jml_bruto_sebelum7=$_POST['jml_bruto_sebelum7'];
$jml_penghasilan7=$_POST['jml_penghasilan7'];
$jml_bruto_sebelum8=$_POST['jml_bruto_sebelum8'];
$jml_penghasilan8=$_POST['jml_penghasilan8'];
$jml_penghasilan9=$_POST['jml_penghasilan9'];
$jml_bruto_sebelum10=$_POST['jml_bruto_sebelum10'];
$pemberi10=$_POST['pemberi10'];
$status10=$_POST['status10'];
$jml_tanggungan10=$_POST['jml_tanggungan10'];
$jml_penghasilan10=$_POST['jml_penghasilan10'];
$jml_bruto_sebelum11=$_POST['jml_bruto_sebelum11'];
$jml_penghasilan11=$_POST['jml_penghasilan11'];
$sqllawantransaksi = "SELECT * FROM pph21_lawan_transaksi WHERE
npwp_lawan_transaksi='$lawantransaksi'";
$hasillawantransaksi = mysql_query($sqllawantransaksi);
$akhirlawantransaksi = mysql_fetch_array($hasillawantransaksi);
$idlawan=$akhirlawantransaksi['id_lawan_transaksi'];
$namalawan=$akhirlawantransaksi['nama_lawan_transaksi'];
$npwplawan=$akhirlawantransaksi['npwp_lawan_transaksi'];
$alamatlawan=$akhirlawantransaksi['alamat_lawan_transaksi'];
$sqltarif17_1 = "SELECT * FROM pph21_tarif17 WHERE id_tarif17='1'";
$hasiltarif17_1 = mysql_query($sqltarif17_1);
$akhirtarif17_1 = mysql_fetch_array($hasiltarif17_1);
$sampai1 = $akhirtarif17_1['sampai'];
$persen1npwp = $akhirtarif17_1['nilai'];
$persen1nonnpwp = $akhirtarif17_1['nilainon'];
$sqltarif17_2 = "SELECT * FROM pph21_tarif17 WHERE id_tarif17='2'";
$hasiltarif17_2 = mysql_query($sqltarif17_2);
$akhirtarif17_2 = mysql_fetch_array($hasiltarif17_2);
$dari2 = $akhirtarif17_2['dari'];
$sampai2 = $akhirtarif17_2['sampai'];
$persen2npwp = $akhirtarif17_2['nilai'];
$persen2nonnpwp = $akhirtarif17_2['nilainon'];
$sqltarif17_3 = "SELECT * FROM pph21_tarif17 WHERE id_tarif17='3'";
$hasiltarif17_3 = mysql_query($sqltarif17_3);
$akhirtarif17_3 = mysql_fetch_array($hasiltarif17_3);
$dari3 = $akhirtarif17_3['dari'];
$sampai3 = $akhirtarif17_3['sampai'];
$persen3npwp = $akhirtarif17_3['nilai'];
$persen3nonnpwp = $akhirtarif17_3['nilainon'];
$sqltarif17_4 = "SELECT * FROM pph21_tarif17 WHERE id_tarif17='4'";
$hasiltarif17_4 = mysql_query($sqltarif17_4);
$akhirtarif17_4 = mysql_fetch_array($hasiltarif17_4);
$dari4 = $akhirtarif17_4['dari'];
$sampai4 = $akhirtarif17_4['sampai'];
$persen4npwp = $akhirtarif17_4['nilai'];
$persen4nonnpwp = $akhirtarif17_4['nilainon'];
$sqlptkp = "SELECT * FROM pph21_ptkp";
$hasilptkp = mysql_query($sqlptkp);
$akhirptkp = mysql_fetch_array($hasilptkp);
$ptkp=$akhirptkp['ptkp'];
$ptkptanggungan=$akhirptkp['tanggungan'];
$id_tarif17=$akhirtarif17['id_tarif17'];
if($lawantransaksi==000000000000000){
$persen1=$persen1nonnpwp;
$persen2=$persen2nonnpwp;
$persen3=$persen3nonnpwp;
$persen4=$persen4nonnpwp;
$flag1=1;
$flag2=1;
$flag3=1;
$flag4=1;
$flag5=1;
$flag6=1;
$flag7=1;
$flag8=1;
$flag9=1;
$flag10=1;
$flag11=1;
}
else{
$persen1=$persen1npwp;
$persen2=$persen2npwp;
$persen3=$persen3npwp;
$persen4=$persen4npwp;
$flag1=0;
$flag2=0;
$flag3=0;
$flag4=0;
$flag5=0;
$flag6=0;
$flag7=0;
$flag8=0;
$flag9=0;
$flag10=0;
$flag11=0;
}
?>
<!--Perhitungan Upah Pegawai tidak tetap atau tenaga harian lepas-->
<?php
if($jml_penghasilan1==0){
$pph21sebulan1=0;
$jml_penghasilan1=0;
$flag1=0;
}
else if($jml_penghasilan1==""){
$pph21sebulan1=0;
$jml_penghasilan1==0;
$flag1=0;
}
else{
if($bayarkan1==bulanan){
if($status1==TK){
if($jml_tanggungan1==0){
$ptkp_sebulan1=$ptkp/12;
}
else if($jml_tanggungan1==1){
$ptkp_sebulan1=($ptkp+$ptkptanggungan)/12;
}
else if($jml_tanggungan1==2){
$ptkp_sebulan1=($ptkp+($ptkptanggungan*2))/12;
}
else{
$ptkp_sebulan1=($ptkp+($ptkptanggungan*3))/12;
}
}
else if($status1==K){
if($jml_tanggungan1==0){
$ptkp_sebulan1=$ptkp/12;
}
else if($jml_tanggungan1==1){
$ptkp_sebulan1=($ptkp+$ptkptanggungan)/12;
}
else if($jml_tanggungan1==2){
$ptkp_sebulan1=($ptkp+($ptkptanggungan*2))/12;
}
else{
$ptkp_sebulan1=($ptkp+($ptkptanggungan*3))/12;
}
}
else{
if($jml_tanggungan1==0){
$ptkp_sebulan1=($ptkp+$ptkptanggungan)/12;
}
else if($jml_tanggungan1==1){
$ptkp_sebulan1=($ptkp+($ptkptanggungan*2))/12;
}
else if($jml_tanggungan1==2){
$ptkp_sebulan1=($ptkp+($ptkptanggungan*3))/12;
}
else{
$ptkp_sebulan1=($ptkp+($ptkptanggungan*4))/12;
}
}
$upahsebulanterutangkoma1=$jml_penghasilan1-$ptkp_sebulan1;
$sisa1 = $upahsebulanterutangkoma1 % 1000;
if ($sisa1 > 0) {
if($sisa1<=500){
$upahsebulanterutang1 =
floor($upahsebulanterutangkoma1/1000) * 1000;
}
else{
$upahsebulanterutang1 =
ceil($upahsebulanterutangkoma1/1000) * 1000;
}
}
else{
$upahsebulanterutang1 = $upahsebulanterutangkoma1;
}
$pengh_sebulan_terutang1=$upahsebulanterutang1;
if($pengh_sebulan_terutang1<=$sampai1){
$pph21sebulan1=$persen1/100*$pengh_sebulan_terutang1;
}
else if($pengh_sebulan_terutang1>>$dari2 &&
$pengh_sebulan_terutang1<=$sampai2){
$pertama1=$persen1/100*$dari2;
$kedua1=$persen2/100*($pengh_sebulan_terutang1-
$dari2);
$pph21sebulan1=$pertama1+$kedua1;
}
else if($pengh_sebulan_terutang1>>$dari3 &&
$pengh_sebulan_terutang1<=$sampai3){
$pertama1=$persen1/100*$dari2;
$kedua1=$persen2/100*$dari3;
$ketiga1=$persen3/100*($pengh_sebulan_terutang1-
($dari2+$dari3));
$pph21sebulan1=$pertama1+$kedua1+$ketiga1;
}
else{
$pertama1=$persen1/100*$dari2;
$kedua1=$persen2/100*$dari3;
$ketiga1=$persen3/100*$dari4;
$keempat1=$persen4/100*($pengh_sebulan_terutang1-
($dari2+$dari3+$dari4));
$pph21sebulan1=$pertama1+$kedua1+$ketiga1+$keempat1;
}
<br>";
}
else{
if($status1==TK){
if($jml_tanggungan1==0){
$ptkp_sehari1=$ptkp/360;
}
else if($jml_tanggungan1==1){
$ptkp_sehari1=($ptkp+$ptkptanggungan)/360;
}
else if($jml_tanggungan1==2){
$ptkp_sehari1=($ptkp+($ptkptanggungan*2))/360;
}
else{
$ptkp_sehari1=($ptkp+($ptkptanggungan*3))/360;
}
}
else if($status1==K){
if($jml_tanggungan1==0){
$ptkp_sehari1=$ptkp/360;
}
else if($jml_tanggungan1==1){
$ptkp_sehari1=($ptkp+$ptkptanggungan)/360;
}
else if($jml_tanggungan1==2){
$ptkp_sehari1=($ptkp+($ptkptanggungan*2))/360;
}
else{
$ptkp_sehari1=($ptkp+($ptkptanggungan*3))/360;
}
}
else{
if($jml_tanggungan1==0){
$ptkp_sehari1=($ptkp+$ptkptanggungan)/360;
}
else if($jml_tanggungan1==1){
$ptkp_sehari1=($ptkp+($ptkptanggungan*2))/360;
}
else if($jml_tanggungan1==2){
$ptkp_sehari1=($ptkp+($ptkptanggungan*3))/12;
}
else{
$ptkp_sehari1=($ptkp+($ptkptanggungan*4))/12;
}
}
$upahsehari1=$jml_penghasilan1/$jml_kerja1;
$upahsehariterutangkoma1=$upahsehari1-$ptkp_sehari1;
$sisa1 = $upahsehariterutangkoma1 % 1000;
if ($sisa1 > 0) {
if($sisa1<=500){
$upahsehariterutang1 =
floor($upahsehariterutangkoma1/1000) * 1000;
}
else{
$upahsehariterutang1 =
ceil($upahsehariterutangkoma1/1000) * 1000;
}
}
else{
$upahsehariterutang1 = $upahsehariterutangkoma1;
}
$pengh_sehari_terutang1=$upahsehariterutang1;
if($pengh_sehari_terutang1<=$sampai1){
$pph21sehari1=$persen1/100*$pengh_sehari_terutang1;
}
else if($pengh_sehari_terutang1>>$dari2 &&
$pengh_sehari_terutang1<=$sampai2){
$pertama1=$persen1/100*$dari2;
$kedua1=$persen2/100*($pengh_sehari_terutang1-
$dari2);
$pph21sehari1=$pertama1+$kedua1;
}
else if($pengh_sehari_terutang1>>$dari3 &&
$pengh_sehari_terutang1<=$sampai3){
$pertama1=$persen1/100*$dari2;
$kedua1=$persen2/100*$dari3;
$ketiga1=$persen3/100*($pengh_sehari_terutang1-
($dari2+$dari3));
$pph21sehari1=$pertama1+$kedua1+$ketiga1;
}
else{
$pertama1=$persen1/100*$dari2;
$kedua1=$persen2/100*$dari3;
$ketiga1=$persen3/100*$dari4;
$keempat1=$persen4/100*($pengh_sehari_terutang1-
($dari2+$dari3+$dari4));
$pph21sehari1=$pertama1+$kedua1+$ketiga1+$keempat1;
}
$pph21sebulan1=$pph21sehari1*$jml_kerja1;
<br>";
}
}
?>
<!--Perhitungan Imbalan Distributor MLM-->
<?php
if($jml_penghasilan2==0){
$pph21sebulan2=0;
$jml_penghasilan2=0;
$flag2=0;
}
else if($jml_penghasilan2==""){
$pph21sebulan2=0;
$jml_penghasilan2=0;
$flag2=0;
}
else{
if($status2==TK){
if($jml_tanggungan2==0){
$ptkp_sebulan2=$ptkp/12;
}
else if($jml_tanggungan2==1){
$ptkp_sebulan2=($ptkp+$ptkptanggungan)/12;
}
else if($jml_tanggungan2==2){
$ptkp_sebulan2=($ptkp+($ptkptanggungan*2))/12;
}
else{
$ptkp_sebulan2=($ptkp+($ptkptanggungan*3))/12;
}
}
else if($status2==K){
if($jml_tanggungan2==0){
$ptkp_sebulan2=$ptkp/12;
}
else if($jml_tanggungan2==1){
$ptkp_sebulan2=($ptkp+$ptkptanggungan)/12;
}
else if($jml_tanggungan2==2){
$ptkp_sebulan2=($ptkp+($ptkptanggungan*2))/12;
}
else{
$ptkp_sebulan2=($ptkp+($ptkptanggungan*3))/12;
}
}
else{
if($jml_tanggungan2==0){
$ptkp_sebulan2=($ptkp+$ptkptanggungan)/12;
}
else if($jml_tanggungan2==1){
$ptkp_sebulan2=($ptkp+($ptkptanggungan*2))/12;
}
else if($jml_tanggungan2==2){
$ptkp_sebulan2=($ptkp+($ptkptanggungan*3))/12;
}
else{
$ptkp_sebulan2=($ptkp+($ptkptanggungan*4))/12;
}
}
$upahsebulanterutangkoma2=$jml_penghasilan2-$ptkp_sebulan2;
$sisa2 = $upahsebulanterutangkoma2 % 1000;
if ($sisa2 > 0) {
if($sisa2<=500){
$upahsebulanterutang2 =
floor($upahsebulanterutangkoma2/1000) * 1000;
}
else{
$upahsebulanterutang2 =
ceil($upahsebulanterutangkoma2/1000) * 1000;
}
}
else{
$upahsebulanterutang2 = $upahsebulanterutangkoma2;
}
$pengh_sebulan_terutang2=$upahsebulanterutang2;
if($pengh_sebulan_terutang2<=$sampai2){
$pph21sebulan2=$persen1/100*$pengh_sebulan_terutang2;
}
else if($pengh_sebulan_terutang2>>$dari2 &&
$pengh_sebulan_terutang2<=$sampai2){
$pertama2=$persen1/100*$dari2;
$kedua2=$persen2/100*($pengh_sebulan_terutang-
$dari2);
$pph21sebulan2=$pertama2+$kedua2;
}
else if($pengh_sebulan_terutang2>>$dari3 &&
$pengh_sebulan_terutang2<=$sampai3){
$pertama2=$persen1/100*$dari2;
$kedua2=$persen2/100*$dari3;
$ketiga2=$persen3/100*($pengh_sebulan_terutang2-
($dari2+$dari3));
$pph21sebulan2=$pertama2+$kedua2+$ketiga2;
}
else{
$pertama2=$persen1/100*$dari2;
$kedua2=$persen2/100*$dari3;
$ketiga2=$persen3/100*$dari4;
$keempat2=$persen4/100*($pengh_sebulan_terutang2-
($dari2+$dari3+$dari4));
$pph21sebulan2=$pertama2+$kedua2+$ketiga2+$keempat2;
}
<br>";
}
?>
<!--Perhitungan Imbalan Petugas Dinas Luar Asuransi-->
<?php
if($jml_penghasilan3==0){
$jml_penghasilan3=0;
$pph21sebulan3=0;
$flag3=0;
}
else if($jml_penghasilan3==""){
$jml_penghasilan3=0;
$pph21sebulan3=0;
$flag3=0;
}
else{
if($status3==TK){
if($jml_tanggungan3==0){
$ptkp_sebulan3=$ptkp/12;
}
else if($jml_tanggungan3==1){
$ptkp_sebulan3=($ptkp+$ptkptanggungan)/12;
}
else if($jml_tanggungan3==2){
$ptkp_sebulan3=($ptkp+($ptkptanggungan*2))/12;
}
else{
$ptkp_sebulan3=($ptkp+($ptkptanggungan*3))/12;
}
}
else if($status3==K){
if($jml_tanggungan3==0){
$ptkp_sebulan3=$ptkp/12;
}
else if($jml_tanggungan3==1){
$ptkp_sebulan3=($ptkp+$ptkptanggungan)/12;
}
else if($jml_tanggungan3==2){
$ptkp_sebulan3=($ptkp+($ptkptanggungan*2))/12;
}
else{
$ptkp_sebulan3=($ptkp+($ptkptanggungan*3))/12;
}
}
else{
if($jml_tanggungan3==0){
$ptkp_sebulan3=($ptkp+$ptkptanggungan)/12;
}
else if($jml_tanggungan3==1){
$ptkp_sebulan3=($ptkp+($ptkptanggungan*2))/12;
}
else if($jml_tanggungan3==2){
$ptkp_sebulan3=($ptkp+($ptkptanggungan*3))/12;
}
else{
$ptkp_sebulan3=($ptkp+($ptkptanggungan*4))/12;
}
}
$upahsebulanterutangkoma3=$jml_penghasilan3-$ptkp_sebulan3;
$sisa3 = $upahsebulanterutangkoma3 % 1000;
if ($sisa3 > 0) {
if($sisa3<=500){
$upahsebulanterutang3 =
floor($upahsebulanterutangkoma3/1000) * 1000;
}
else{
$upahsebulanterutang3 =
ceil($upahsebulanterutangkoma3/1000) * 1000;
}
}
else{
$upahsebulanterutang3 = $upahsebulanterutangkoma3;
}
$pengh_sebulan_terutang3=$upahsebulanterutang3;
if($pengh_sebulan_terutang3<=$sampai1){
$pph21sebulan3=$persen1/100*$pengh_sebulan_terutang3;
}
else if($pengh_sebulan_terutang3>>$dari2 &&
$pengh_sebulan_terutang3<=$sampai2){
$pertama3=$persen1/100*$dari2;
$kedua3=$persen2/100*($pengh_sebulan_terutang3-
$dari2);
$pph21sebulan3=$pertama3+$kedua3;
}
else if($pengh_sebulan_terutang3>>$dari3 &&
$pengh_sebulan_terutang3<=$sampai3){
$pertama3=$persen1/100*$dari2;
$kedua3=$persen2/100*$dari3;
$ketiga3=$persen3/100*($pengh_sebulan_terutang3-
($dari2+$dari3));
$pph21sebulan3=$pertama3+$kedua3+$ketiga3;
}
else{
$pertama3=$persen1/100*$dari2;
$kedua3=$persen2/100*$dari3;
$ketiga3=$persen3/100*$dari4;
$keempat3=$persen4/100*($pengh_sebulan_terutang3-
($dari2+$dari3+$dari4));
$pph21sebulan3=$pertama3+$kedua3+$ketiga3+$keempat3;
}
<br>";
}
?>
<!--Perhitungan Imbalan Kepada Penjaja Barang Dagangan-->
<?php
if($jml_penghasilan4==0){
$jml_penghasilan4=0;
$pph21sebulan4=0;
$flag4=0;
}
else if($jml_penghasilan4==""){
$jml_penghasilan4=0;
$pph21sebulan4=0;
$flag4=0;
}
else{
if($status4==TK){
if($jml_tanggungan4==0){
$ptkp_sebulan4=$ptkp/12;
}
else if($jml_tanggungan4==1){
$ptkp_sebulan4=($ptkp+$ptkptanggungan)/12;
}
else if($jml_tanggungan4==2){
$ptkp_sebulan4=($ptkp+($ptkptanggungan*2))/12;
}
else{
$ptkp_sebulan4=($ptkp+($ptkptanggungan*3))/12;
}
}
else if($status4==K){
if($jml_tanggungan4==0){
$ptkp_sebulan4=$ptkp/12;
}
else if($jml_tanggungan4==1){
$ptkp_sebulan4=($ptkp+$ptkptanggungan)/12;
}
else if($jml_tanggungan4==2){
$ptkp_sebulan4=($ptkp+($ptkptanggungan*2))/12;
}
else{
$ptkp_sebulan4=($ptkp+($ptkptanggungan*3))/12;
}
}
else{
if($jml_tanggungan4==0){
$ptkp_sebulan4=($ptkp+$ptkptanggungan)/12;
}
else if($jml_tanggungan4==1){
$ptkp_sebulan4=($ptkp+($ptkptanggungan*2))/12;
}
else if($jml_tanggungan4==2){
$ptkp_sebulan4=($ptkp+($ptkptanggungan*3))/12;
}
else{
$ptkp_sebulan4=($ptkp+($ptkptanggungan*4))/12;
}
}
$upahsebulanterutangkoma4=$jml_penghasilan4-$ptkp_sebulan4;
$sisa4 = $upahsebulanterutangkoma4 % 1000;
if ($sisa4 > 0) {
if($sisa4<=500){
$upahsebulanterutang4 =
floor($upahsebulanterutangkoma4/1000) * 1000;
}
else{
$upahsebulanterutang4 =
ceil($upahsebulanterutangkoma4/1000) * 1000;
}
}
else{
$upahsebulanterutang4 = $upahsebulanterutangkoma4;
}
$pengh_sebulan_terutang4=$upahsebulanterutang4;
if($pengh_sebulan_terutang4<=$sampai1){
$pph21sebulan4=$persen1/100*$pengh_sebulan_terutang4;
}
else if($pengh_sebulan_terutang4>>$dari2 &&
$pengh_sebulan_terutang3<=$sampai2){
$pertama4=$persen1/100*$dari2;
$kedua4=$persen2/100*($pengh_sebulan_terutang4-
$dari2);
$pph21sebulan4=$pertama4+$kedua4;
}
else if($pengh_sebulan_terutang4>>$dari3 &&
$pengh_sebulan_terutang4<=$sampai3){
$pertama4=$persen1/100*$dari2;
$kedua4=$persen2/100*$dari3;
$ketiga4=$persen3/100*($pengh_sebulan_terutang4-
($dari2+$dari3));
$pph21sebulan4=$pertama4+$kedua4+$ketiga4;
}
else{
$pertama4=$persen1/100*$dari2;
$kedua4=$persen2/100*$dari3;
$ketiga4=$persen3/100*$dari4;
$keempat4=$persen4/100*($pengh_sebulan_terutang4-
($dari2+$dari3+$dari4));
$pph21sebulan4=$pertama4+$kedua4+$ketiga4+$keempat4;
}
<br>";
}
?>
<!--Perhitungan Imbalan Kepada Tenaga Ahli-->
<?php
if($jml_penghasilan5==0){
$jml_bruto_sebelum5=0;
$jml_penghasilan5=0;
$pph21sebulan5=0;
$flag5=0;
}
else if($jml_penghasilan5==""){
$jml_bruto_sebelum5=0;
$jml_penghasilan5=0;
$pph21sebulan5=0;
$flag5=0;
}
else{
$sisa5 = $jml_penghasilan5 % 1000;
if ($sisa5 > 0) {
if($sisa5<=500){
$jml_penghasilanjadi5 =
floor($jml_penghasilan5/1000) * 1000;
}
else{
$jml_penghasilanjadi5 =
ceil($jml_penghasilan5/1000) * 1000;
}
}
else{
$jml_penghasilanjadi5 = $jml_penghasilan5;
}
$pengh_sebulan_terutang5=$jml_penghasilanjadi5;
$pph21sebulan5=75/1000*$pengh_sebulan_terutang5;
<br>";
}
?>
<!--Perhitungan Honorarium atau Imbalan Kepada Anggota Dewan Komisaris &
Bukan Pegawai Tetap-->
<?php
if($jml_penghasilan6==0){
$jml_bruto_sebelum6=0;
$jml_penghasilan6=0;
$pph21sebulan6=0;
$flag6=0;
}
else if($jml_penghasilan6==""){
$jml_bruto_sebelum6=0;
$jml_penghasilan6=0;
$pph21sebulan6=0;
$flag6=0;
}
else{
$upahsebulanterutangkoma6=$jml_penghasilan6;
$sisa6 = $upahsebulanterutangkoma6 % 1000;
if ($sisa6 > 0) {
if($sisa6<=500){
$upahsebulanterutang6 =
floor($upahsebulanterutangkoma6/1000) * 1000;
}
else{
$upahsebulanterutang6 =
ceil($upahsebulanterutangkoma6/1000) * 1000;
}
}
else{
$upahsebulanterutang6 = $upahsebulanterutangkoma6;
}
$pengh_sebulan_terutang6=$upahsebulanterutang6;
if($pengh_sebulan_terutang6<=$sampai1){
$pph21sebulan6=$persen1/100*$pengh_sebulan_terutang6;
}
else if($pengh_sebulan_terutang6>>$dari2 &&
$pengh_sebulan_terutang6<=$sampai2){
$pertama6=$persen1/100*$dari2;
$kedua6=$persen2/100*($pengh_sebulan_terutang6-
$dari2);
$pph21sebulan6=$pertama6+$kedua6;
}
else if($pengh_sebulan_terutang6>>$dari3 &&
$pengh_sebulan_terutang6<=$sampai3){
$pertama6=$persen1/100*$dari2;
$kedua6=$persen2/100*$dari3;
$ketiga6=$persen3/100*($pengh_sebulan_terutang6-
($dari2+$dari3));
$pph21sebulan6=$pertama6+$kedua6+$ketiga6;
}
else{
$pertama6=$persen1/100*$dari2;
$kedua6=$persen2/100*$dari3;
$ketiga6=$persen3/100*$dari4;
$keempat6=$persen4/100*($pengh_sebulan_terutang6-
($dari2+$dari3+$dari4));
$pph21sebulan6=$pertama6+$kedua6+$ketiga6+$keempat6;
}
<br>";
}
?>
<!--Perhitungan Jasa Produksi, Tantiem, Bonus Kepada Mantan Pegawai-->
<?php
if($jml_penghasilan7==0){
$jml_bruto_sebelum7=0;
$jml_penghasilan7=0;
$pph21sebulan7=0;
$flag7=0;
}
else if($jml_penghasilan7==""){
$jml_bruto_sebelum7=0;
$jml_penghasilan7=0;
$pph21sebulan7=0;
$flag7=0;
}
else{
$upahsebulanterutangkoma7=$jml_penghasilan7;
$sisa7 = $upahsebulanterutangkoma7 % 1000;
if ($sisa7 > 0) {
if($sisa7<=500){
$upahsebulanterutang7 =
floor($upahsebulanterutangkoma7/1000) * 1000;
}
else{
$upahsebulanterutang7 =
ceil($upahsebulanterutangkoma7/1000) * 1000;
}
}
else{
$upahsebulanterutang7 = $upahsebulanterutangkoma7;
}
$pengh_sebulan_terutang7=$upahsebulanterutang7;
if($pengh_sebulan_terutang7<=$sampai1){
$pph21sebulan7=$persen1/100*$pengh_sebulan_terutang7;
}
else if($pengh_sebulan_terutang7>>$dari2 &&
$pengh_sebulan_terutang7<=$sampai2){
$pertama7=$persen1/100*$dari2;
$kedua7=$persen2/100*($pengh_sebulan_terutang7-
$dari2);
$pph21sebulan7=$pertama7+$kedua7;
}
else if($pengh_sebulan_terutang7>>$dari3 &&
$pengh_sebulan_terutang7<=$sampai3){
$pertama7=$persen1/100*$dari2;
$kedua7=$persen2/100*$dari3;
$ketiga7=$persen3/100*($pengh_sebulan_terutang7-
($dari2+$dari3));
$pph21sebulan7=$pertama7+$kedua7+$ketiga7;
}
else{
$pertama7=$persen1/100*$dari2;
$kedua7=$persen2/100*$dari3;
$ketiga7=$persen3/100*$dari4;
$keempat7=$persen4/100*($pengh_sebulan_terutang7-
($dari2+$dari3+$dari4));
$pph21sebulan7=$pertama7+$kedua7+$ketiga7+$keempat7;
}
<br>";
}
?>
<!--Perhitungan Penarikan Dana Penisun Pegawai-->
<?php
if($jml_penghasilan8==0){
$jml_bruto_sebelum8=0;
$jml_penghasilan8=0;
$pph21sebulan8=0;
$flag8=0;
}
else if($jml_penghasilan8==""){
$jml_bruto_sebelum8=0;
$jml_penghasilan8=0;
$pph21sebulan8=0;
$flag8=0;
}
else{
$upahsebulanterutangkoma8=$jml_penghasilan8;
$sisa8 = $upahsebulanterutangkoma8 % 1000;
if ($sisa8 > 0) {
if($sisa8<=500){
$upahsebulanterutang8 =
floor($upahsebulanterutangkoma8/1000) * 1000;
}
else{
$upahsebulanterutang8 =
ceil($upahsebulanterutangkoma8/1000) * 1000;
}
}
else{
$upahsebulanterutang8 = $upahsebulanterutangkoma8;
}
$pengh_sebulan_terutang8=$upahsebulanterutang8;
if($pengh_sebulan_terutang8<=$sampai1){
$pph21sebulan8=$persen1/100*$pengh_sebulan_terutang8;
}
else if($pengh_sebulan_terutang8>>$dari2 &&
$pengh_sebulan_terutang8<=$sampai2){
$pertama8=$persen1/100*$dari2;
$kedua8=$persen2/100*($pengh_sebulan_terutang8-
$dari2);
$pph21sebulan8=$pertama8+$kedua8;
}
else if($pengh_sebulan_terutang8>>$dari3 &&
$pengh_sebulan_terutang8<=$sampai3){
$pertama8=$persen1/100*$dari2;
$kedua8=$persen2/100*$dari3;
$ketiga8=$persen3/100*($pengh_sebulan_terutang8-
($dari2+$dari3));
$pph21sebulan8=$pertama8+$kedua8+$ketiga8;
}
else{
$pertama8=$persen1/100*$dari2;
$kedua8=$persen2/100*$dari3;
$ketiga8=$persen3/100*$dari4;
$keempat8=$persen4/100*($pengh_sebulan_terutang8-
($dari2+$dari3+$dari4));
$pph21sebulan8=$pertama8+$kedua8+$ketiga8+$keempat8;
}
<br>";
}
?>
<!--Perhitungan Imbalan Kepada Peserta Kegiatan-->
<?php
if($jml_penghasilan9==0){
$jml_penghasilan9=0;
$pph21sebulan9=0;
$flag9=0;
}
else if($jml_penghasilan9==""){
$jml_penghasilan9=0;
$pph21sebulan9=0;
$flag9=0;
}
else{
$upahsebulanterutangkoma9=$jml_penghasilan9;
$sisa9 = $upahsebulanterutangkoma9 % 1000;
if ($sisa9 > 0) {
if($sisa9<=500){
$upahsebulanterutang9 =
floor($upahsebulanterutangkoma9/1000) * 1000;
}
else{
$upahsebulanterutang9 =
ceil($upahsebulanterutangkoma9/1000) * 1000;
}
}
else{
$upahsebulanterutang9 = $upahsebulanterutangkoma9;
}
$pengh_sebulan_terutang9=$upahsebulanterutang9;
if($pengh_sebulan_terutang9<=$sampai1){
$pph21sebulan9=$persen1/100*$pengh_sebulan_terutang9;
}
else if($pengh_sebulan_terutang9>>$dari2 &&
$pengh_sebulan_terutang9<=$sampai2){
$pertama9=$persen1/100*$dari2;
$kedua9=$persen2/100*($pengh_sebulan_terutang9-
$dari2);
$pph21sebulan9=$pertama9+$kedua9;
}
else if($pengh_sebulan_terutang9>>$dari3 &&
$pengh_sebulan_terutang9<=$sampai3){
$pertama9=$persen1/100*$dari2;
$kedua9=$persen2/100*$dari3;
$ketiga9=$persen3/100*($pengh_sebulan_terutang9-
($dari2+$dari3));
$pph21sebulan9=$pertama9+$kedua9+$ketiga9;
}
else{
$pertama9=$persen1/100*$dari2;
$kedua9=$persen2/100*$dari3;
$ketiga9=$persen3/100*$dari4;
$keempat9=$persen4/100*($pengh_sebulan_terutang9-
($dari2+$dari3+$dari4));
$pph21sebulan9=$pertama9+$kedua9+$ketiga9+$keempat9;
}
<br>";
}
?>
<!--Perhitungan Imbalan kepada bukan pegawai yang bersifat
berkesinambungan-->
<?php
if($jml_penghasilan10==0){
$jml_bruto_sebelum10=0;
$pph21sebulan10=0;
$jml_penghasilan10=0;
$flag10=0;
}
else if($jml_penghasilan10==""){
$jml_bruto_sebelum10=0;
$pph21sebulan10=0;
$jml_penghasilan10==0;
$flag10=0;
}
else{
if($pemberi10==satu){
if($status10==TK){
if($jml_tanggungan10==0){
$ptkp_sebulan10=$ptkp/12;
}
else if($jml_tanggungan10==1){
$ptkp_sebulan10=($ptkp+$ptkptanggungan)/12;
}
else if($jml_tanggungan10==2){
$ptkp_sebulan10=($ptkp+($ptkptanggungan*2))/12;
}
else{
$ptkp_sebulan10=($ptkp+($ptkptanggungan*3))/12;
}
}
else if($status10==K){
if($jml_tanggungan10==0){
$ptkp_sebulan10=$ptkp/12;
}
else if($jml_tanggungan10==1){
$ptkp_sebulan10=($ptkp+$ptkptanggungan)/12;
}
else if($jml_tanggungan10==2){
$ptkp_sebulan10=($ptkp+($ptkptanggungan*2))/12;
}
else{
$ptkp_sebulan10=($ptkp+($ptkptanggungan*3))/12;
}
}
else{
if($jml_tanggungan10==0){
$ptkp_sebulan10=($ptkp+$ptkptanggungan)/12;
}
else if($jml_tanggungan10==1){
$ptkp_sebulan10=($ptkp+($ptkptanggungan*2))/12;
}
else if($jml_tanggungan10==2){
$ptkp_sebulan10=($ptkp+($ptkptanggungan*3))/12;
}
else{
$ptkp_sebulan10=($ptkp+($ptkptanggungan*4))/12;
}
}
$upahsebulanterutangkoma10=$jml_penghasilan10-
$ptkp_sebulan10;
$sisa10 = $upahsebulanterutangkoma10 % 1000;
if ($sisa10 > 0) {
if($sisa10<=500){
$upahsebulanterutang10 =
floor($upahsebulanterutangkoma10/1000) * 1000;
}
else{
$upahsebulanterutang10 =
ceil($upahsebulanterutangkoma10/1000) * 1000;
}
}
else{
$upahsebulanterutang10 = $upahsebulanterutangkoma10;
}
$pengh_sebulan_terutang10=$upahsebulanterutang10;
if($pengh_sebulan_terutang10<=$sampai1){
$pph21sebulan10=$persen1/100*$pengh_sebulan_terutang10;
}
else if($pengh_sebulan_terutang10>>$dari2 &&
$pengh_sebulan_terutang10<=$sampai2){
$pertama10=$persen1/100*$dari2;
$kedua10=$persen2/100*($pengh_sebulan_terutang10-
$dari2);
$pph21sebulan10=$pertama10+$kedua10;
}
else if($pengh_sebulan_terutang10>>$dari3 &&
$pengh_sebulan_terutang10<=$sampai3){
$pertama10=$persen1/100*$dari2;
$kedua10=$persen2/100*$dari3;
$ketiga10=$persen3/100*($pengh_sebulan_terutang10-
($dari2+$dari3));
$pph21sebulan10=$pertama10+$kedua10+$ketiga10;
}
else{
$pertama10=$persen1/100*$dari2;
$kedua10=$persen2/100*$dari3;
$ketiga10=$persen3/100*$dari4;
$keempat10=$persen4/100*($pengh_sebulan_terutang10-
($dari2+$dari3+$dari4));
$pph21sebulan10=$pertama10+$kedua10+$ketiga10+$keempat10;
}
<br>";
}
else{
$upahsebulanterutangkoma10=$jml_penghasilan10;
$sisa10 = $upahsebulanterutangkoma10 % 1000;
if ($sisa10 > 0) {
if($sisa10<=500){
$upahsebulanterutang10 =
floor($upahsebulanterutangkoma10/1000) * 1000;
}
else{
$upahsebulanterutang10 =
ceil($upahsebulanterutangkoma10/1000) * 1000;
}
}
else{
$upahsebulanterutang10 = $upahsebulanterutangkoma10;
}
$pengh_sebulan_terutang10=$upahsebulanterutang10;
if($pengh_sebulan_terutang10<=$sampai1){
$pph21sebulan10=$persen1/100*$pengh_sebulan_terutang10;
}
else if($pengh_sebulan_terutang10>>$dari2 &&
$pengh_sebulan_terutang10<=$sampai2){
$pertama10=$persen1/100*$dari2;
$kedua10=$persen2/100*($pengh_sebulan_terutang10-
$dari2);
$pph21sebulan10=$pertama10+$kedua10;
}
else if($pengh_sebulan_terutang10>>$dari3 &&
$pengh_sebulan_terutang10<=$sampai3){
$pertama10=$persen1/100*$dari2;
$kedua10=$persen2/100*$dari3;
$ketiga10=$persen3/100*($pengh_sebulan_terutang10-
($dari2+$dari3));
$pph21sebulan10=$pertama10+$kedua10+$ketiga10;
}
else{
$pertama10=$persen1/100*$dari2;
$kedua10=$persen2/100*$dari3;
$ketiga10=$persen3/100*$dari4;
$keempat10=$persen4/100*($pengh_sebulan_terutang10-
($dari2+$dari3+$dari4));
$pph21sebulan10=$pertama10+$kedua10+$ketiga10+$keempat10;
}
<br>";
}
}
?>
<!--Perhitungan Imbalan kepada bukan pegawai yang tidak bersifat
berkesinambungan-->
<?php
if($jml_penghasilan11==0){
$jml_penghasilan11=0;
$pph21sebulan11=0;
$flag11=0;
}
else if($jml_penghasilan11==""){
$jml_penghasilan11=0;
$pph21sebulan11=0;
$flag11=0;
}
else{
$upahsebulanterutangkoma11=$jml_penghasilan11;
$sisa11 = $upahsebulanterutangkoma11 % 1000;
if ($sisa11 > 0) {
if($sisa11<=500){
$upahsebulanterutang11 =
floor($upahsebulanterutangkoma11/1000) * 1000;
}
else{
$upahsebulanterutang11 =
ceil($upahsebulanterutangkoma11/1000) * 1000;
}
}
else{
$upahsebulanterutang11 = $upahsebulanterutangkoma11;
}
$pengh_sebulan_terutang11=$upahsebulanterutang11;
if($pengh_sebulan_terutang11<=$sampai1){
$pph21sebulan11=$persen1/100*$pengh_sebulan_terutang11;
}
else if($pengh_sebulan_terutang11>>$dari2 &&
$pengh_sebulan_terutang11<=$sampai2){
$pertama11=$persen1/100*$dari2;
$kedua11=$persen2/100*($pengh_sebulan_terutang11-
$dari2);
$pph21sebulan11=$pertama11+$kedua11;
}
else if($pengh_sebulan_terutang11>>$dari3 &&
$pengh_sebulan_terutang11<=$sampai3){
$pertama11=$persen1/100*$dari2;
$kedua11=$persen2/100*$dari3;
$ketiga11=$persen3/100*($pengh_sebulan_terutang11-
($dari2+$dari3));
$pph21sebulan11=$pertama11+$kedua11+$ketiga11;
}
else{
$pertama11=$persen1/100*$dari2;
$kedua11=$persen2/100*$dari3;
$ketiga11=$persen3/100*$dari4;
$keempat11=$persen4/100*($pengh_sebulan_terutang11-
($dari2+$dari3+$dari4));
$pph21sebulan11=$pertama11+$kedua11+$ketiga11+$keempat11;
}
<br>";
}
?>
<?php
$pph21sebulan5=(int)$pph21sebulan5;
$pph21sebulan6=(int)$pph21sebulan6;
$pph21sebulan7=(int)$pph21sebulan7;
$pph21sebulan8=(int)$pph21sebulan8;
$pph21sebulan9=(int)$pph21sebulan9;
$pph21sebulan11=(int)$pph21sebulan11;
$jml_penghasilan_all=$jml_penghasilan1+$jml_penghasilan2+$jml_penghasilan
3+$jml_penghasilan4+$jml_penghasilan5+$jml_penghasilan6+$jml_penghasilan7
+$jml_penghasilan8+$jml_penghasilan9+$jml_penghasilan10+$jml_penghasilan1
1;
$jml_pph21_all=$pph21sebulan1+$pph21sebulan2+$pph21sebulan3+$pph21sebulan
4+$pph21sebulan5+$pph21sebulan6+$pph21sebulan7+$pph21sebulan8+$pph21sebul
an9+$pph21sebulan10+$pph21sebulan11;
?>