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,
Pembimbing II,
Victor Amrizal, M.Kom NIP. 150411288
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 Terminator Garis Alir (Flow Line)
Fungsi Permulaan/akhir program Arah aliran program Proses
Proses
perhitungan/proses pengolahan data
Proses input/output Input/Output Data
data, parameter, informasi Permulaan sub program
Sub Program
/ proses menjalankan sub program Perbandingan pernyataan,
Decision
penyeleksian data yang memberikan pilihan untuk langkah selanjutnya
Predefined Process Pemberian harga awal Penghubung bagianOn Page Connector
bagian flowchart yang berada pada satu halaman
Stored Data
Penyimpanan data Penghubung bagian-
Off Page
bagian flowchart yang
Connector
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 electronicbanking. 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 sematamata 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 dengan
mengizinkan
terhadap
bahasa
HTML
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 programprogram komputer (utilitas) yang digunakan untuk mengakses dan memelihara berbagai
database.
fasilitas
Program-program
operasi
untuk
tersebut
memasukkan,
menyediakan 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. c.
Tiap atribut hanya memiliki satu pengertian.
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
ketergantungan
fungsional
(fungsional
memiliki 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
Stored Data
Penghubung bagianbagian flowchart yang berada pada satu halaman Penyimpanan data
Off Page Connector
2.16.
Penghubung bagianbagian flowchart yang berada pada halaman berbeda
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
pendekatan aplikasi berbasis web.
penelitian
ini
penulis
akan
menggunakan
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.
Pemilihan Awal Penelitian Merumuskan masalah dan judul penelitian
Studi literatur atau pustaka
Menentukan konsep dan hipotesis penelitian
Customer communication
Planning
Tidak
Delivery and feedback
Modelling
Construction
Ya
Penarikan dan penyusunan kesimpulan 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
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 masalahmasalah 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 datadata 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.
Pengumpulan Data Observasi, Wawancara, Studi Pustaka dan Studi Literatur System Development Life Cycle
Analisis (Analysis) Uraian sistem saat ini dan analisis sistem saat ini
Perancangan (Design) Perancangan Proses, Input dan Output, Basis Data dan Tampilan Pengkodean (Coding) Implementasi ke dalam kode pemrograman Pengujian (Testing) Unit Test dan Integration Test
Penerapan (Acceptance) Pelatihan dan Penerapan Perawatan (Maintenance) Help Desk
Gambar 3.2. Tahapan dan rincian pengembangan sistem
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 klienkliennya. 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
Input data karyawan
data karyawan dan data Penghasilan
Simpan data
Input data penghasilan
Simpan data
Input parameter tarif
Penghitungan pajak
Nilai beban pajak
selesai
Gambar 4.1 Gambar flowchart sistem pada saat ini
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.
Hasil kuesioner dibutuhkan tidak dibutuhkan tidak tahu
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 Input parameter pajak
Mulai
Input data karyawan
SISTEM Penghitungan pajak
Nilai beban pajak
Simpan data
selesai
Input data penghasilan
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.
b.
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.
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.
CV. BMC
data_parameter_pajak
data_penghasilan_A2 data_penghasilan_A2
data_klien
data_penghasilan_A1 data_penghasilan_26 data_penghasilan_final
Sistem Perhitungan Pajak Penghasilan Pasal 21
data_penghasilan_nofinal data_karyawan_1721_a2 data_karyawan_1721_a1 data_karyawan_tdk_tetap data_spt_masa
data_klien data_spt_masa data_karyawan_tdk_tetap 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 Username, password
Gambar 4.4 Diagram Konteks
Klien
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.
1.0
Data_Klien
Data_Klien
Data_klien
Registrasi
Klien
Username, password
2.0
Username, password
CV. BMC
Login
data_spt_masa data_spt_masa
data_spt_masa
data_karyawan_tdk_tetap
data_parameter_pajak
data_karyawan_1721_a1
data_karyawan_tdk_tetap
data_karyawan_1721_a2 data_penghasilan_nofinal
3.0
data_karyawan_1721_a1
data_karyawan_ 1721_a1
data_karyawan_1721_a2
data_karyawan_ 1721_2
data_penghasilan_final
Perhitungan
data_penghasilan_26 data_penghasilan_A1 data_penghasilan_A2
data_penghasilan_nofinal
data_bukti_potong _21_tdk_final
data_penghasilan_final
data_bukti_potong _21_final
data_perubahan_pegawai
data_penghasilan_26
data_parameter _pajak
data_karyawan_ tdk_tetap
data_penghasilan_A1
data_bukti_ potong_26 data_bukti_ potong_1721_a1
data_penghasilan_A2
data_bukti_ potong_1721_a2
data_perubahan_pegawai
data_perubahan_ pegawai_tetap
data_parameter_pajak
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.
Klien
2.1
username, password
Proses Login username, password
2.2 Validasi Login Data_klien
Data_klien 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.
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. 3.1
data_spt_masa
data_spt _masa
data_spt_masa
SPT Masa data_karyawan_tdk_tetap
3.2 Input Karyawan Tidak Tetap
data_ karyawan_ tdk_tetap
data_karyawan_ tdk_tetap
Klien
data_karyawan_1721_a1
data_karyawan_1721_a2
3.2 Input Karyawan 1721-A1
data_ karyawan_ 1721_a1
3.2 Input Karyawan 1721-A2
data_ karyawan_ 1721_a2
data_karyawan_ 1721_a1
data_karyawan_ 1721_2
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.
data_ Penghasilan _nofinal
data_ Penghasilan _nofinal
3.1.1 Bukti Potong Pasal 21 Tidak Final
data_ Penghasilan _final
3.1.2 Bukti Potong Pasal 21 Final
data_ Penghasilan _26
3.1.3 Bukti Potong Pasal 26
data_ Penghasilan _A1
data_ Penghasilan_26
data_bukti_ potong_26
data_ parameter
data_parameter_ pajak
data_ parameter
data_bukti_ potong_1721_a1
data_ Penghasilan_A1 data_ parameter data_ Penghasilan_A2
3.1.6 Perubahan Pegawai Tetap
data_perubahan_ pegawai
data_bukti_potong _21_final
data_ parameter
3.1.5 Bukti Potong 1721-A2
data_ Penghasilan _A2
data_ parameter
data_ Penghasilan_final
Klien 3.1.4 Bukti Potong 1721-A1
data_bukti_potong _21_tdk_final
data_perubahan _pegawai
data_bukti_ potong_1721_a2
data_perubahan_ pegawai_tetap
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 atributatribut
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.
Tgl_bukti_potong
Masa_dari
Gaji_pokok Tunj_isri Id_pph21_bukti_1721a2
No_urut
Tunj_lain Masa_sampai
Pph21_bukti_p otong_1721a2
Tunj_perbaikan
Tunj_anak
Tunj_beras Jml_bruto
Tunj_struktur
biayaJab
Jml_pengurang
Jml_netto
nama_penandatangan_1721_a1 nama_pasal2126 biayaPen npwp_kuasa_pph21
Peg_tsb
npwp
npwp_penandatangan_1721_a1
Pkp_setahun
Pph21_setahun
Ptkp_setahun
password nama_kuasa_pph21
Pph21_telah _dipotong
Pph21_terutang
npwp_kuasa_172_a1
Tunj_khusus
Jml_pph21 nama_wp
fax
User
penandatangan
prev
nama_kuasa_172_a1 alamat
nama_bendahara_1721_a2
memiliki
alamat_pegawai_1721a2
nama_instansi
pangkat_pegawai_1721a2 kota
jabatan_pegawai_1721a2
email
Tgl_terdaftar
jabatan_pasal2126 nama_pegawai_1721a2
telp Id_pegawai_npwp
Kode_pos npwp_bendahara_1721_a2
id_bukti_potong_1721a2
npwp
nama
nip_bendahara_1721_a2 memiliki
Pph21_pega wai_npwp
Status_kw_pegawai_1721a2
npwp_pegawai_1721a2
Pph21_pega wai_1721a2
memiliki
status_peg_pegawai_1721a2 nip_pegawai_1721a2
bln_spt_masa
status_ptkp_pegawai_1721a2
status Id_pegawai_masuk
memiliki
gender_pegawai_1721a2
pembetulan
no_urut
npwp
nama
Pph21_pega wai_masuk
tnggungan_pegawai_1721a2 tgl_bukti_potong
spt_masa
memiliki
tunjangan_anak gaji_pokok tunjangan_struktur
id_spt_masa
tunjangan_isteri
Pengh_bruto Id_pegawai_keluar
tunjangan_lain
memiliki
thn_spt_masa memiliki
npwp
nama
memiliki
id_bukti_potong_1721a1 biayaJab
biayaPen
memiliki npwp_pegawai_1721a1
no_urut
Pph21_terutang id_lawan_transaksi Id_pegawai_pensiun
alamat_lawan_transaksi
pph21_pega wai_1721a1
nama_pegawai_1721a1
pph21_lawan_tr ansasi
status
ptkp_setahun
tgl_bukti_potong
jml_pengh_netto pkp_setahun pph21_setahun
pengh_bruto gender_pegawai_1721a1
npwp
nama
tunjangan_beras
jml_pengh_bruto
Pph21_pegaw ai_keluar
Pph21_pegawai _pensiun
kodepos_lawan_transaksi
alamat_pegawai_1721a1
tunjangan_pph asuransi
jabatan_pegawai_1721a1
nama_lawan_transaksi
tunjgangan_lain
Status_kw_pegawai_1721a1
telp_lawan_transaksi
natura
npwp_lawan_transaksi
Jml_tanggungan
status_peg_pegawai_1721a1
honoraium biayaJab status_ptkp_pegawai_1721a1
tnggungan_pegawai_1721a1 me m
iliki me
Tgl_bukti_potong
mil
biayaPen jml_pengh_netto
pkp_setahun
iki
pph21_setahun
ptkp_setahun
me
1_pengh_bruto
mil
iki
2_pph_terutang 3_pengh_bruto Id_pph21_bukti_nofina
Tgl_bukti_potong
No_bukti_potong
Masa_dari
Pengh_bruto Tunj_pph
2_pengh_bruto 1_pph_terutang 3_pph_terutang
Id_pph21_bukti_1721a1 Id_pph21_bukti_fina
Pph21_bukti_poto ng_nofinal
No_bukti_potong 5_pph_terutang
6_pengh_bruto
7_pph_terutang
7_pengh_bruto
honoraium
Pph21_bukti_p otong_final
1_pengh_bruto 6_pph_terutang
No_urut
Tunj_lain
4_pph_terutang
4_pengh_bruto 5_pengh_bruto
2_pph_terutang
Pph21_bukti_ potong_1721a 1
Masa_sampai
asuransi
natura Jml_bruto
tantien
biayaJab
Jml_pengurang
Jml_netto
1_pph_terutang 8_pengh_bruto
8_pph_terutang
9_pengh_bruto
2_pengh_bruto 9_pph_terutang
10_pph_terutang
biayaPen
jml_pph_terutang Pkp_setahun
10_pengh_bruto
Pph21_setahun
Ptkp_setahun 11_pph_terutang
11_pengh_bruto
Jml_pengh_bruto
12_pph_terutang
Pph21_terutang Jml_pph21
12_pengh_bruto jml_pph_terutang
Tgl_bukti_potong
Jml_pengh_bruto Jns_pasal
Gambar 4.9 Entity Relational Diagram (ERD)
penandatangan
Pph21_telah _dipotong
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 email 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 email 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 email 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 npwp
FK 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 npwp
FK
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
FK
npwp nama id_status jml_tanggungan id_spt_masa
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 FK id_status jml_tanggungan FK id_spt_masa
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.
pph21_status_pegawai_1721a21 PK
jabatan_status_1721a2
pph21_status_1721a11 PK
PK
pph21_pangkat_pegawai_1721a21
id_status_pegawai_1721a1
pph21_jabatan_1721a111
id_status_pegawai_1721a2
PK
status_pegawai_1721a1
pph21_jabatan_pegawai_1721a21
id_pangkat_pegawai_1721a2
PK
pangkat_pegawai_1721a2
id_jabatan_pegawai_1721a2
id_jabatan_1721a1
jabatan_pegawai_1721a2
jabatan_pegawai_1721a1 User pph21_pegawai_1721a11 PK
FK
FK
FK
FK
pph21_spt_masa PK
npwp nama penghasilan_bruto pph21_terutang id_spt_masa
FK
id_spt_masa
bln_spt_masa thn_spt_masa pembetulan FK npwp
pph21_pegawai_masuk1
FK
password nama_wp alamat kota kode_pos telp fax email 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
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 npwp
id_pegawai_keluar
PK
pph21_pegawai_1721a21
npwp
id_pegawai_1721a1
pph21_pegawai_keluar PK
PK
pph21_pegawai_npwp
id_pegawai_masuk npwp nama id_status jml_tanggungan id_spt_masa
PK
id_pegawai_npwp
FK
npwp nama tgl_terdaftar id_spt_masa
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 npwp
FK FK
FK
FK
pph21_lawan_transaksi PK
id_lawan_transaksi
FK
npwp_lawan_transaksi nama_lawan_transaksi alamat_lawan_transaksi kodepos_lawan_transaksi telp_lawan_transaksi npwp
pph21_pegawai_pensiun1 PK
pph21_bukti_potong_final
id_pegawai_pensiun PK
npwp nama FK id_status jml_tanggungan FK id_spt_masa
id_lawan_transaksi no_bukti_potong tgl_bukti_potong jml_penghasilan1 pph21sebulan1 jml_penghasilan2 pph21sebulan2 jml_penghasilan_all jml_pph21_all FK id_spt_masa
pph21_status_pegawai1 PK
pph21_bukti_potong_nofinal
id_status status
PK
id_pph21_bukti_potong_nofinal
FK
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
pph21_bukti_potong_1721a1 PK FK
FK
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
FK
Gambar 4.55 ERD setelah di normalisasi
id_pph21_bukti_potong_final
FK
pph21_bukti_potong_1721a2 PK
id_bukti_potong_1721a2
FK 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 FK id_spt_masa
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 Npwp
Type varchar
Panjang 15
Keterangan 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 1721a1 (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 id_bukti_potong_1721_a2
Type Int
Panjang 10
Keterangan id
bukti
potong 1721a2 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
id_pph21_bukti_potong_final Int
Panjang 10
Keterangan 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 id_pph21_buki_potong_
Type
Panjang
Keterangan
Int
10
Id bukti potong
Id_spt_masa
Int
10
Id spt masa
Id_lawan_transaksi
Int
10
Id
nofinal
lawan
transaksi No_bukti_potong
Int
10
Nomor
bukti
potong Tgl_bukti_potong
Varchar
20
Tanggal potong
bukti
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
id_jab_peg_1721a1
int
Panjang 10
Keterangan id jabatan 1721A1
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 id_jab_peg_1721a2
Type int
Panjang 10
Keterangan id jabatan 1721A2
nama_jab_peg_1721a2 varchar
50
nama 1721-A2
jabatan
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 id_lawan_transaksi
Type int
Panjang 10
Keterangan 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
jml_tanggungan_pegawai_1721a1 Int
20
Status PTKP
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
id_pegawai_keluar int
Panjang 10
Keterangan 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
id_pegawai_masuk int
Panjang 10
Keterangan 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 id_pegawai_npwp
Type Int
Panjang 10
Keterangan 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
id_pegawai_pensiun int
Panjang 10
Keterangan 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 Masa
SPT
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 bernpwp
Nilainon
int
15
Tarif tidak bernpwp
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 id_tarif21
Type Int
Panjang 10
Keterangan 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
Login
Daftar
Home
PPh 21
SSP
Rancangan struktur menu daftar
Login
daftar_klik
Daftar
batal_klik submit_klik
Rancangan struktur menu home
Login
pilih_klik
Home
login_klik
Perhitungan logout_klik logout_klik
Rancangan struktur menu SSP batal_klik
cetak_klik
Edit SSP
Cetak SSP
submit_klik
edit_klik
Delete SSP
Tambah SSP
ok_klik
SSP
ok_klik
tambah_klik
batal_klik
delete_klik submit_klik
Rancangan struktur menu SPT SPT
SPT Masa
Master Data
Referensi
Menu Cetak
Profil
Tarif
Help
Logout
Rancangan struktur menu SPT Masa SPT
batal_klik pilih_klik aktifkan_klik submit_klik
Edit SPT Masa
edit_klik
Aktif SPT Masa
keluar_spt_klik
SPT Masa
ok_klik
Delete SPT Masa
Tambah SPT Masa
tambah_klik
batal_klik
delete_klik submit_klik
Rancangan struktur menu cetak ok_klik
SPT
pilih_klik
Pilih Cetak
kembali_klik
Menu Cetak
Cetak SPT
cetak_klik
pilih_klik
Rancangan struktur menu profil batal_klik
Ganti Password ok_klik gagal sukses
Login
ok_klik
SPT
batal_klik
pilih_klik
kembali_klik
Profil WP
pilih_klik kembali_klik
Profil
pilih_klik
Edit Profil
edit_klik
Rancangan struktur menu tarif SPT
pilih_klik
Tarif
pilih_klik
Pasal 21 Final
kembali_klik
pilih_klik
kembali_klik
Rancangan struktur menu help SPT
pilih_klik
Help
help_klik
kembali_klik
Help View
Rancangan struktur menu logout SPT
pilih_klik
Logout
logout_klik
Login
Pasal 17
Rancangan struktur menu Master Data Master Data
Lawan Transaksi
Pegawai 1721-A1
Pegawai 1721-A2
Rancangan struktur menu lawan transaksi batal_klik
Edit Lawan Transaksi
edit_klik ok_klik
Delete Lawan Transaksi
submit_klik
Lawan Transaksi
tambah_klik
Tambah Lawan Transaksi
batal_klik
delete_klik submit_klik
Rancangan struktur menu pegawai 1721-A1 batal_klik
Edit Pegawai 1721-A1
edit_klik ok_klik
Delete Pegawai 1721-A1
submit_klik
Pegawai 1721A1
tambah_klik
Tambah Pegawai 1721-A1
batal_klik
delete_klik submit_klik
Rancangan struktur menu pegawai 1721-A2 batal_klik
Edit Pegawai 1721-A2
submit_klik
edit_klik ok_klik
Delete Pegawai 1721-A2
Pegawai 1721A2
tambah_klik
Tambah Pegawai 1721-A2
batal_klik
delete_klik submit_klik
Rancangan struktur menu Aktif SPT Aktif SPT pilih_klik
Bukti Potong
pilih_klik
Daftar Bukti Potong
pilih_klik
pilih_klik
Daftar Pegawai
SPT Induk
pilih_klik
Keluar SPT
pilih_klik keluar_klik kembali_klik cetak_klik
SPT Masa
Lampiran
cetak_klik
Cetak SPT Induk
Rancangan struktur menu bukti potong Bukti Potong pilih_klik
Bukti Potong PPh21 Tidak Final
pilih_klik
Bukti Potong PPh 21 Final
pilih_klik
Bukti Potong Pasal 26
pilih_klik
pilih_klik
Bukti Potong 1721-A1
Bukti Potong 1721-A2
Rancangan struktur menu bukti potong PPh21 tidak Final Bukti Potong PPh21 Tidak Final
input_klik
Input Bukti Potong PPh21 Tidak Final
batal_klik submit_klik
Rancangan struktur menu bukti potong PPh21 Final
Bukti Potong PPh21 Final
input_klik
Input Bukti Potong PPh21 Final
batal_klik submit_klik
Rancangan struktur menu bukti potong Pasal 26
Bukti Potong Pasal 26l
input_klik
Input Bukti Potong Pasal 26
batal_klik submit_klik
Rancangan struktur menu bukti potong 1721-A1
Bukti Potong 1721-A1
input_klik
Input Bukti Potong 1721A1
batal_klik submit_klik
Rancangan struktur menu bukti potong 1721-A2
Bukti Potong 1721-A2
Input Bukti Potong 1721A2
input_klik
batal_klik submit_klik
Rancangan struktur menu daftar bukti potong Daftar Bukti Potong pilih_klik
pilih_klik
Daftar Bukti Potong PPh21 Tidak Final
pilih_klik
pilih_klik
cetak_klik
Daftar Bukti Potong 1721-A1
Daftar Bukti Potong 1721-A2
Cetak Daftar Bukti Potong
kembali_klik
Daftar Bukti Potong PPh 21 Final
ok_klik
Rancangan struktur menu daftar bukti potong PPh21 Tidak Final
Cetak Bukti Potong PPh21 Tidak Final
cetak_klik
Daftar Bukti Potong PPh21 Tidak Final
delete_klik
Delete Bukti Potong PPh21 Tidak Final
batal_klik
ok_klik
ok_klik
kembali_klik
Rancangan struktur menu daftar bukti potong PPh21 Final
Cetak Bukti Potong PPh21 Final
cetak_klik
Daftar Bukti Potong PPh21 Final
delete_klik
Delete Bukti Potong PPh21 Final
batal_klik
ok_klik kembali_klik
ok_klik
Rancangan struktur menu daftar bukti potong 1721-A1
Cetak Bukti Potong 1721A1
cetak_klik
Daftar Bukti Potong 1721-A1
delete_klik
Delete Bukti Potong 1721A1
batal_klik
ok_klik
ok_klik
kembali_klik
Rancangan struktur menu daftar bukti potong 1721-A2
Cetak Bukti Potong 1721A2
cetak_klik
Daftar Bukti Potong 1721-A2
delete_klik
Delete Bukti Potong 1721A2
batal_klik
ok_klik
ok_klik
kembali_klik
Rancangan struktur menu daftar pegawai Daftar Pegawai pilih_klik
Daftar Perubahan Pegawai Tetap
pilih_klik
cetak_klik
Daftar Pegawai Tetap
Cetak Daftar Pegawai
kembali_klik
ok_klik
Rancangan struktur menu daftar perubahan pegawai tetap batal_klik cetak_klik
Edit Daftar Perubahan Pegawai Tetap edit_klik ok_klik
Delete Daftar Perubahan Pegawai Tetap
submit_klik
Daftar Perubahan Pegawai Tetap
Cetak Daftar Perubahan Pegawai Tetap
ok_klik
tambah_klik
Tambah Daftar Perubahan Pegawai Tetap
delete_klik
batal_klik submit_klik
Rancangan struktur menu daftar pegawai tetap batal_klik cetak_klik
Edit Daftar Pegawai Tetap edit_klik ok_klik
Delete Daftar Pegawai Tetap
submit_klik
Cetak Daftar Pegawai Tetap
ok_klik
Daftar Pegawai Tetap
tambah_klik
Tambah Daftar Pegawai Tetap
delete_klik
batal_klik submit_klik
4.4.4. Perancangan Antar Muka Perancangan tampilan terdiri dari: 1.
Antar muka halaman login
Aplikasi Perhitungan Pajak Pasal 21
npwp
gambar password login
register
copyright@2010
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 HOME SPT MASA
SPT TOOLS PROFIL REFERENSI
Bulan spt masa
Tahun spt masa
TARIF
pembetulan
LOGOUT
aktifkan
edit
delete
Tambah spt masa bulan tahun pembetulan ke
copyright@2010
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 HOME SPT MASA
SPT TOOLS PROFIL REFERENSI
npwp
nama
TARIF
alamat
LOGOUT
kodepos
telp
edit
delete
Tambah lawan transaksi npwp nama alamat kode pos telp
copyright@2010
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 HOME SPT MASA
SPT TOOLS PROFIL REFERENSI
npwp
nama
TARIF
alamat
LOGOUT
jabatan
edit
delete
Tambah pegawai 1721-A1 npwp nama alamat jabatan status kawin jenis kelamin status pegawai status ptkp jumlah tanggungan asing
copyright@2010
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 HOME SPT MASA
SPT TOOLS PROFIL REFERENSI
npwp
nama
TARIF
alamat
LOGOUT
jabatan
edit
delete
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
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 fasilitasfasilitas 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 14
12 10 Ya
8
Cukup 6
Tidak Tidak Tahu
4 2 0 Pertanyaan 1 Pertanyaan 2 Pertanyaan 3 Pertanyaan 4 Pertanyaan 5
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.
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 14 12 10 Ya
8
Cukup 6
Tidak Tidak Tahu
4 2 0 Pertanyaan 1 Pertanyaan 2 Pertanyaan 3 Pertanyaan 4 Pertanyaan 5
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.
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
1
Add user
-
2
Delete User
3
Edit User
Login sebagai admin. Login sebagai admin.
4
Edit Tarif Batas Upah Harian Edit tarif PTKP Edit tarif biaya jabatan
Login sebagai admin.
Add dan edit nama dan alamat kpp Edit tarif Pasal 17 Edit tarif Pasal 21 Add SPT Masa Edit SPT Masa Delete SPT Masa View dan Edit user profile Edit Password
Login sebagai admin.
5 6
7
8 9 10 11 12 13 14 15 16 17
Add Lawan Transaksi Edit Lawan Transaksi Delete Lawan Transaksi
Login sebagai admin. Login sebagai admin.
Login sebagai admin Login sebagai admin Login sebagai user. Login sebagai user. Login sebagai user. Login sebagai user. Login sebagai user. Login sebagai user. Login sebagai user. Login sebagai user.
HASIL YANG DIHARAPKAN Dapat menambah User dan data user masuk kedalam database Dapat menghapus data user dalam database Dapat mengedit dan mengupdate data user dalam database Dapat mengedit dan mengupdate tarif batas upah harian. Dapat mengedit dan mengupdate tarif PTKP. Dapat mengedit dan mengupdate tarif biaya jabatan. Dapat menambah dan mengedit nama dan alamat KPP. Dapat mengedit tarif Pasal 17.
HASIL TEST OK
Dapat mengedit tarif Pasal 21.
OK
Dapat menambah data SPT Masa yang akan dibuat. Dapat mengedit data SPT Masa yang telah dibuat. Dapat menghapus data SPT Masa yang telah dibuat. Dapat melihat dan mengedit profil user. Dapat mengedit password untuk login user. Dapat menambah data lawan transaksi baru. Dapat mengedit data lawan transaksi yang sudah ada. Dapat menghapus data lawan transaksi yang sudah ada.
OK
OK OK
OK
OK OK
OK
OK
OK OK OK OK OK OK OK
18 19 20
21 22 23
24
25
Add Pegawai 1721-A1 Edit Pegawai 1721-A1 Delete Pegawai 1721-A1 Add Pegawai 1721-A2 Edit Pegawai 1721-A2 Delete Pegawai 1721-A2 Input daftar bukti potong PPh 21 tidak final Input daftar bukti potong PPh 21 final
26
Input daftar bukti potong PPh 26
27
Input daftar bukti potong 1721-A1
28
Input daftar bukti potong 1721-A2
29
Add, Edit dan Delete Daftar perubahan pegawai tetap Add, Edit dan Delete Daftar pegawai tetap/penerima pensiun
30
Login sebagai user. Login sebagai user. Login sebagai user. Login sebagai user. Login sebagai user. Login sebagai user. Login sebagai user. Masuk SPT Masa yang akan dibuat. Login sebagai user. Masuk SPT Masa yang akan dibuat. Login sebagai user. Masuk SPT Masa yang akan dibuat. Login sebagai user. Masuk SPT Masa yang akan dibuat. Login sebagai user. Masuk SPT Masa yang akan dibuat. Login sebagai user. Masuk SPT Masa yang akan dibuat. Login sebagai user. Masuk SPT Masa yang akan dibuat.
Dapat menambah data Pegawai 1721-A1 baru. Dapat mengedit data Pegawai 1721-A1 yang sudah ada. Dapat menghapus data Pegawai 1721-A1 yang sudah ada. Dapat menambah data Pegawai 1721-A2 baru. Dapat mengedit data Pegawai 1721-A2 yang sudah ada. Dapat menghapus data Pegawai 1721-A2 yang sudah ada. Dapat menginput bukti potong PPh 21 tidak final ke dalam database.
OK
Dapat menginput bukti potong PPh 21 final ke dalam database.
OK
Dapat menginput bukti potong PPh 26 ke dalam database.
OK
Dapat menginput bukti potong 1721-A1 ke dalam database.
OK
Dapat menginput bukti potong 1721-A2 ke dalam database.
OK
Dapat menambah, mengedit, dan menghapus daftar perubahan pegawai tetap.
OK
Dapat menambah, mengedit, dan menghapus daftar pegawai tetap/penerima pensiun.
OK
OK OK
OK OK OK
OK
LAMPIRAN VI SOURCE CODE
$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; } ?>
$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; }
"; } 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;
"; } } ?>
$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; }
"; } ?>
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; }
"; } ?>
} 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; }
"; } ?>
$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;
"; } ?> 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; }
"; } ?> 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; }
"; } ?> 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; }
"; } ?> 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; }
"; } ?>
$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;
}
"; } 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; }
"; } } ?>
} 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; }
"; } ?>
$jml_pph21_all=$pph21sebulan1+$pph21sebulan2+$pph21sebulan3+$pph21sebulan 4+$pph21sebulan5+$pph21sebulan6+$pph21sebulan7+$pph21sebulan8+$pph21sebul an9+$pph21sebulan10+$pph21sebulan11; ?>