45 BAB III
PERANCANGAN SISTEM
3.1. Rancangan Sistem Aplikasi ini akan menerapkan arsitektur 3-tier dalam pembangunannya. Business Tier akan dibangun dengan menggunakan Visual Foxpro 9.0 , Presentation Tier akan dibangun dengan menggunakan dua bahasa pemrograman yang berbeda yaitu Visual Foxpro 9.0 dan C# Visual Studio .NET 2008 sedangkan Data Tier akan dibuat dengan menggunakan database native dari Visual Foxpro. Secara garis besar Business Tier ini dapat dibagi menjadi 4 modul besar yaitu modul perusahaan, modul pegawai, modul proses gaji dan modul proses pajak. Keempat modul tersebut akan digunakan oleh desktop application dan web application secara bersama-sama dimana kedua program tersebut sama persis dalam hal tata cara pengolahan data.
3.2. Analisa Kebutuhan Agar dapat berfungsi secara efisien, kedua aplikasi ini akan dibangun dengan menggunakan arsitektur 3-Tier. Alasan dari penerapan arsitektur ini adalah karena kedua buat aplikasi ini mempunya proses – proses yang sama persis satu dengan yang lainnya, sehingga akan lebih efisien bagi pengembang untuk mengembangkan komponen – komponen yang dapat dipakai bersama-sama. Selain itu penggunan asritektur 3-Tier ini juga akan meningkatkan scalability dan realibility dari aplikasi dengan diterapkannya teknologi- teknologi di dalam MTS yaitu untuk mendukung 45
46
integritas data serta memungkinkan pendistribusian komponen – komponen ke dalam beberapa mesin yang terpisah. Untuk menerapkan arsitektur 3-Tier didalam aplikasi ini maka secara garis besar akan dibangun dengan pembagian menjadi tiga tier utama, yaitu 1.
Presentation tier berupa dua buah aplikasi yaitu deskstop aplikasi dan web aplikasi
2.
Business tier berupa file DLL yang akan di masukkan kedalam component service dari windows server
3.
Data tier berupa table – table data yang dibuat menggunakan visual foxpro berekstensi .dbf.
Diagram dari ketiga tier ini dapat digambarkan sebagai berikut : INTERNET
Presentation tier
Business tier
Aplikasi PPh21 – Desktop Aplikasi
Aplikasi PPh21 – Web Aplikasi
Modul Pegawai Modul Tunjangan Modul Proses Gaji Modul Proses Pajak
VFP DLL
Data tier Database Pegawai
Gambar 3.1 Diagram Arsitektur Aplikasi PPh21
47
Pada dasarnya kedua aplikasi yang dibangun memiliki kebutuhan yang sama didalam pengaksesan data. Perbedaan yang ada di dalam kedua aplikasi hanyalah pada cara aplikasi ini diakses yaitu dengan exe file dan web browser.
3.3. Diagram Konteks ( Data Flow Diagram Level 0) Diagram Konteks merupakan tingkatan tertinggi dalam diagram aliran data dan hanya memuat satu proses, menunjukan sistem secara keseluruhan. Proses tersebut diberi nomor nol. Semua entitas eksternal yang ditunjukan pada diagram konteks berikut aliran data utama menuju dan dari sistem. Aplikasi pajak PPh21 ini dapat ditunjukan dalam diagram konteks dibawah ini.
Bagian Personalia
Bagian Keuangan
Daftar tunjangan Daftar Pegawai Laporan Gaji & Pajak Daftar Gaji Daftar Potongan
0 Menghitung Pajak PPh21
Laporan Gaji
Slip Gaji & SPT
Pegawai
Gambar 3.1 Diagram Konteks ( Data Flow Diagram Level 0 )
48
3.4. Data flow Diagram (DFD) Berdasarkan analisa kebutuhan yang telah dijelaskan sebelumnya, maka akan dirancang suatu desain aliran data dalam sistem. Dengan adanya DFD ini, proses aliran data dapat diketahui dengan jelas sehingga dapat dibuat table – table yang diperlukan beserta dengan relasi-relasinya.
3.4.1
DFD level 1
Diagram level 1 merupakan penggambaran secara lebih rinci dari diagram level 0. Level ini akan menjelaskan proses aliran data yang terjadi dalam sistem dan interaksinya dengan kesatuan luar sistem. Dalam DFD level ini terdapat 3 proses Bagian Keuangan
1 Input data pegawai
Daftar Pegawai
Daftar Potongan
Daftar Potongan
Bagian Personalia
Laporan Gaji
tunjangan.dbf
Daftar tunjangan
Daftar Pegawai Laporan Gaji & Pajak Daftar Gaji,
Daftar Pegawai
Daftar tunjangan
Pegawai.dbf
3 Input data Potongan
Daftar Tunjangan
2 menghitung gaji
Potongan.dbf Daftar Potongan daftar gaji
SPT
Gajian.dbf
Gambar 3.2 DFD Level 1 Aplikasi PPh21
Pegawai
49
Dapat dilihat pada gambar 3.2 bahwa aplikasi PPh21 mempunyai tiga buah external entity yaitu a.
Bagian Keuangan Bagian Keuangan adalah Bagian
yang bertugas menghitung gaji beserta
tunjangan dan potongan bagi setiap pegawainya. b.
Bagian Personalia Bagian personalia bertugas untuk input data pegawai.
c.
Pegawai Merupakan entity yang menerima spt pajak.
3.4.2
DFD level 2
DFD level 2 terdapat 3 proses yaitu a.
Proses Input data pegawai Proses ini adalah untuk mengisi data master pegawai
b.
Proses Input tunjangan Proses ini adalah untuk menghitung tunjangan pegawai
c.
Proses Input potongan Proses ini adalah untuk menghitung potongan gaji pegawai
d.
Proses menghitung pajak PPh21 Proses ini adalah untuk menghitung pajak PPh21 yang di potong dari gaji bruto sebelum pajak
50
Data Flow Diagram level 2 dapat dilihat dibawah ini. Bag. Keuangan 1 Input data pegawai
Daftar Potongan
3 Input data potongan
Daftar Pegawai
Daftar Pegawai Daftar Tunjangan
Bag. Personalia
Daftar tunjangan
Pegawai.dbf Daftar Potongan Daftar pegawai
Potongan.dbf Laporan Gaji & Pajak
tunjangan.dbf
Daftar Potongan Daftar tunjangan 2.1 menghitung gaji
Daftar Gaji
Daftar Gaji
Gajian.dbf
Daftar Gaji bruto
2.2 menghitung Pajak PPh21
Laporan Gaji
SPT
Pegawai
Gambar 3.3 DFD Level 2 Aplikasi PPh21
3.5
Analisis kasus
Pada bagian ini akan menjelaskan bagaimana sistem menghitung pajak PPh21 dengan menggunakan studi kasus. Sebagai contoh kasus Hendry, status sudah menikah dengan 2 orang anak, bekerja pada PT. Royal Bali Cemerlang, memperoleh Gaji Pokok Rp 10,000,000,- setiap bulannya. PT. Royal Bali Cemerlang mengikut
51
sertakan Hendry masuk asuransi (JAMSOSTEK), untuk itu
PT. Royal Bali
Cemerlang membayar : Premi Jaminan Hari Tua (JHT) = 3.7% dari Gaji Pokok Premi Jaminan Kecelakaan Kerja (JKK) = 0.5% dari Gaji Pokok Premi Jaminan Kematian (JK) = 0.30% dari Gaji Pokok Hendry menanggung : Iuran Jaminan Hari Tua (JHT) = 0.2% dari Gaji Pokok PT. Royal Bali Cemerlang juga mengikut sertakan Hendry ke dalama program pensiun, untuk itu perusahaan membayar premi pensiun untuk Hendry sebesar Rp 150,000 setiap bulannya, sedangkan Hendry juga harus membayar Rp 100,000 setiap bulannya yang langsung di potongkan dari Gajinya. Setiap tanggal 31 Desember PT. Royal Bali Cemerlang membagikan Bonus sebesar 1 x (satu kali) Gaji Pokok, untuk itu di bulan Desember ini, disamping menerima Gaji, Hendry juga menerima Bonus. PT. Royal Bali Cemerlang masih memberikan Tunjangan Pajak sebesar Rp 250,000,- kepada Hendry. Maka perhitungan PPh Pasal 21 adalah :
Gaji Des 2010 Gaji Pokok Bonus 2010 (Dibagi Des 2010)
10.000.000,10.000.000,-
52
Tunjangan Asuransi ( Jamsostek) Dibayar Perusahaan Tunjangan Hari Tua 3,7% 370.000 Jaminan Kecelakaan 0,5 % 50.000 Jaminan Kematian 0,3% 30.000 Pensiun 150.000 Tunjangan Asuransi 600.000 Tunjangan Pajak 250.000 Total Tunjangan 850.000
Dibayar Pegawai 0,2% 200.000
100.000 300.000
Perhatikan rumusan di atas : Bonus di masukkan di bawah Gaji Pokok, sebesar 1 x Gaji pokok Hendry, yaitu Rp 10,000,000,- dan Tunjangan Pajak sebesar Rp 250,000,- di masukkan ke kelompok Tunjangan. Selanjutnya kita mulai melakukan penghitungan PPh pasal 21-nya. Di bulan Desember ini PPh Pasal 21 yang harus dihitung dan dipotongkan kepada karyawan ada 2 (dua) macam, yaitu : 1.
PPh Pasal 21 atas Bonus
2.
PPh Pasal 21 atas Gaji Bulan Desember 2010
Untuk itu jalannya menjadi sedikit lebih panjang dibandingkan dengan cara penghitungan PPh Pasal 21 pada kasus lainnya. Ada 3 langkah Penghitungan, yaitu : 1.
Menghitung PPh Pasal 21 atas "Gaji & Bonus" setahun. Proses perhitungan gaji dan bonus selama setahun dapat dilihat dibawah ini
53
Gaji Pokok (10.000.000 x 12 ) Bonus Premi JKK (50.000 x 12) Premi JK (30.000 x 12) Tunj. Pajak (250.000 x 12) Gaji Bruto
120.000.000 10.000.000 600.000 360.000 3.000.000 133.960.000
Pengurangan : Bi.Jabatan 5% Max(108.000) x 12 Iuran JHT (200.000 x 12) Iuran Pensiun (100.000 x 12)
(1.296.000) (2.400.000) (1.200.000) (4.896.000) 129.064.000
Penghasilan net setahun Dikurangi PTKP Untuk WP Status Menikah 2 anak (2 x 1.320.000)
15.480.000 1.320.000 2.640.000 (19.440.000) 109.624,000
Penghasilan Kena Pajak (PKP) PPh Pasal 21 Setahun - 50.000.000 5% - 59.624.000 15% PPh Pasal 21 Setahun
2.500.000 8.943.600 11.443.600
2. Menghitung PPh Pasal 21 atas "Gaji" saja Setahun. Proses perhitungan gaji selama setahun dapat dilihat dibawah ini Gaji Pokok (10.000.000 x 12 ) Premi JKK (50.000 x 12) Premi JK (30.000 x 12) Tunj. Pajak (250.000 x 12) Gaji Bruto
120.000.000 600.000 360.000 3.000.000 123.960.000
Pengurangan : Bi.Jabatan 5% Max(108.000) x 12 Iuran JHT (200.000 x 12) Iuran Pensiun (100.000 x 12)
(1.296.000) (2.400.000) (1.200.000) (4.896.000) 119.064.000
Penghasilan net setahun Dikurangi PTKP Untuk WP
15.480.000
54
Status Menikah 2 anak (2 x 1.320.000) Penghasilan Kena Pajak (PKP) PPh Pasal 21 Setahun - 50.000.000 5% - 52.264.000 15% PPh Pasal 21 Setahun
1.320.000 2.640.000 (16.800.000) 102.264,000 2.500.000 7.839.600 10.339.600
3. Menentukan Besarnya PPh atas bonus saja, menentukan pph pasal 21 atas Gaji Bulan Desember. PPh Setahun atas Gaji & Bonus (1) PPh Setahun atas Gaji (2) PPh Atas Bonus PPh Atas Gaji Bulan Des 2010 Total PPh yg hrs disetor Tunjangan Pajak Des 2010 Pajak yg dipotong dr gaji & bonus
3.6
(10.339.600/12)
11.443.600 (10.339.600) 1.104.000 861.633 1.965.633 (250.000) 1.715.633
Data Dictionary (Kamus Data)
Kamus Data berfungsi membantu pelaku sistem untuk mengerti aplikasi secara detil, kamus data mereorganisasi semua elemen data yang digunakan dalam sistem dengan presisi yang sedemikan rupa sehingga pemakai dan penganalisas sistem memiliki dasar pengertian yang sama tentang masukan, keluaran, penyimpanan dan proses. Berikut adalah kamus data yang digunakan dalam perancangan basis data :
55
a.
Pegawai = @ id_pegawai + NRK + no_npwp + nm_pegawai + tmp_lahir + tgl_lahir + Alamat + Kota + status_pjk + Sex + stat_kary + jml_tgg + Jabatan + Gapok id_pegawai Nrk no_npwp nm_pegawai tmp_lahir tgl_lahir Alamat Kota status_pjk Sex stat_kary jml_tgg Jabatan Gapok
Character Character Character Character Character Date Character Character Character Character Character Numeric Character Numeric
10 Primary Key 10 20 100 40 8 200 15 5 1 1 2 20 20
b. Tunjangan = @id_pegawai+blnthn+ nm_tunjangan+rp_tunjangan Id_tunjang id_pegawai Blnthn nm_tunjangan rp_tunjangan c.
Character Character Numeric Character Numeric
10 Primary 10 6 50 20
Potongan = @id_pegawai+blnthn+ nm_potongan+rp_potongan Id_tunjang id_pegawai blnthn nm_potongan rp_potongan
Character Character Numeric Character Numeric
10 Primary 10 6 50 20
d. Gajian = @ Id_gajian + id_pegawai + blnthn + gaji_net + pajak_pph21 Id_gajian id_pegawai blnthn gaji_net pajak_pph21
Character Character Numeric Numeric Numeric
10 Primary 10 6 20 20
56
3.7
Normalisasi
Normalisasi merupakan peralatan yang digunakan untuk melakukan proses pengelompokan data menjadi tabel-tabel yang menunjukkan entitas dan relasinya. (Oetomo Dharma Sutedjo Budi, Perencanaan dan Pembangunan Sistem Informasi, Andi Yogyakarta, Yogyakarta, 2003, hal.130). Proses normalisasi terdiri dari 3 tahap penyusunan yaitu : a. Bentuk data awal. Pada tahap ini semua data yang ada direkam tanpa format tertentu. Data bisa jadi mengalami duplikasi. Dibawah ini gambar bentuk awal tabel gaji.
nrk
blnthn
nama
Status Pajak
Npwp
gapok
Tuj. kematian
Tuj. Kec.Kerja
Tuj. pajak
Pot. cdt
Pot. koperasi
Pot. lain
Gaji nett
Pajak PPh21
999
xx9999
xxxxx
xxxxx
99.999.99
999.999
999.999
999.999
999.999
999.999
999.999
999.999
999.999
999.999
999
xx9999
xxxxx
xxxxx
99.999.99
999.999
999.999
999.999
999.999
999.999
999.999
999.999
999.999
999.999
999
xx9999
xxxxx
xxxxx
99.999.99
999.999
999.999
999.999
999.999
999.999
999.999
999.999
999.999
999.999
Gambar 3.5 Bentuk awal tabel gaji (Unnormalized table)
Tabel gaji diatas mempunyai beberapa field yang sejenis yaitu -
Tuj.kematian, Tuj.KecKerja, Tuj Pajak
-
Pot.CDT, Pot Koperasi dan Pot.Lain
Sehingga Tabel diatas termasuk unnormalized, jika kita isikan datanya maka akan terjadi kemungkinan null value, atau data data tunjangan dan potongan yang diisi bisa lebih dari satu atau multivalue.
57
b.
Normalisasi tahap pertama (1NF).
Suatu tabel dikatakan berada pada bentuk normal 1 (1NF) jika tidak berada dalam bentuk unnormalized table, menghindari terjadinya null value dan duplikasi. Karyawan nrk
nama
Status Pajak
Npwp
999
xxxxx
xxxxx
99.999.99
999
xxxxx
xxxxx
99.999.99
999
xxxxx
xxxxx
99.999.99
nrk
Blnthn
gapok
Gaji nett
Pajak PPh21
999
xxxx9999
999.999
999.999
999.999
999
xxxx9999
999.999
999.999
999.999
999
xxxx9999
999.999
999.999
999.999
Gaji
Tunjangan nrk
Blnthn
Tunjangan
999
xxxx9999
999.999
999
xxxx9999
999.999
999
xxxx9999
999.999
Potongan nrk
Blnthn
potongan
999
xxxx9999
999.999
999
xxxx9999
999.999
999
xxxx9999
999.999
Gambar 3.6 Bentuk Normal tahap pertama (1NF)
58
c.
Normalisasi tahap kedua (2NF). •
Dibuat berdasarkan full functional dependency (ketergantungan fungsional penuh)
•
Tabel berada dalam bentuk normal 1 (1NF) dan setiap atribut bukan kunci bergantung penuh pada kunci primer.
•
Tidak ada pengulangan data dan null value. Karyawan nrk
nama
Status Pajak
Npwp
999
xxxxx
xxxxx
99.999.99
999
xxxxx
xxxxx
99.999.99
999
xxxxx
xxxxx
99.999.99
Gaji nrk
Blnthn
gapok
Gaji nett
Pajak PPh21
999 999
xxxx9999
999.999
999.999
999.999
xxxx9999
999.999
999.999
999.999
999
xxxx9999
999.999
999.999
999.999
Tunjangan nrk
Blnthn
Tunjangan
999
xxxx9999
999.999
999
xxxx9999
999.999
999
xxxx9999
999.999
Potongan nrk
Blnthn
potongan
999
xxxx9999
999.999
999
xxxx9999
999.999
999
xxxx9999
999.999
Gambar 3.7 Bentuk Normal tahap kedua (2NF)
59
d. Normalisasi tahap ketiga (3NF). Suatu relasi disebut normal ketiga (3NF) jika sudah memenuhi normal kedua (2NF) dan tidak di jumpai adanya ketergantungan Transitif yaitu ketergantungan fungsional antara 2 (atau lebih ) atribut bukan key Relasi tabel diatas telah memenuhi bentuk normal ketiga (3NF). e. Normalisasi BCNF. Normalisasi BCNF di temukan oleh R.F. Boyce dan E.F Codd . Suatu relasi dikatakan dalam bentuk BCNF jika dan hanya jika setiap atribut kunci pada suatu relasi adalah kunci kandidat. f. Normalisasi MVD (4NF). Dalam normalisasi ini kita mengenal adanya tipe baru dari ketergantungan (dependency) yaitu Multivalued Dependency (MVD), yang merupakan generalisasi dari functional dependence. Atau sebaliknya, FD adalah peristiwa khusus dari MVD di mana himpunan nilai dependent berisi satu nilai saja. Dalam tabel diatas dapat dilihat terdapat dua MVD yaitu R.Gaji ÆÆR.Tunjangan | R.Potongan g. Normalisasi PROJECT-JOIN NORMAL FORM (PJNF) / (5NF). Suatu relation dapat terus dilakukan proses nonloss-decomposition sampai semua projection berada pada 5NF. Tetapi hal ini juga ada keterbatasan yaitu join dependency (JD), yaitu bila projection dapat dilakukan sehingga tidak ada nilai yang hilang, apabila di join kembali. JD adalah generalisasi dari MVD.
60
3.8
Entity Relationship Diagram (ERD)
ERD atau Entity Relationship Diagram adalah metode perancangan database yang menggambarkan hubungan antara entity – entity yang terdapat dalam sistem. ERD ini nantinya diperlukan dalam implementasi sistem untuk menentukan sistem database yang efektif serta sangat bermanfaat dalam pengembangan maupun revisi program. Pada gambar 3.5 dapat dilihat ERD dari aplikasi Pajak PPh21 yang menunjukkan hubungan antara entity – entity. Karyawan.dbf NRK Nama Stat_Pajak NPWP Gaji.dbf NRK Blnthn Gapok Gaji_net Pajak_PPh21
Tunjangan.dbf NRK Blnthn Nm_tunjangan Rp_tunjangan
potongan.dbf NRK Blnthn Nm_potongan Rp_potongan
Gambar 3.8 ERD Aplikasi Pajak PPh21
61
3.9
HIPO (Hierarchy Plus Input-Proses-Output)
Rancangan ini dibuat untuk mempermudah dalam proses perancangan dan pembuatan aplikasi. Sedangkan aplikasi yang akan dibuat dibagi menjadi 2 bagian yaitu Bisnis Logik dan aplikasi tatap muka pemakai. Diagram hirarki Bisnis Logik
Proc. Init
Proc. Perusahaan
Proc. Pegawai
Proc. Gaji
Tambah
Tambah
Tambah
Hitung PPH
Edit
Edit
Edit
Cetak PPH
Hapus
Hapus
Hapus
Cari data
Cari data
Cari data
Kembali
Gambar 3.9 Diagram Hirarki Bisnis Logik
Proc. PPH
62
Diagram hirarki aplikasi tatap muka pemakai Menu Utama
File
Transaksi
Help/About
Identitas Wajib Pajak
Profile Pegawai
Help
Exit
Proses Gaji Bulanan
About
Proses Pajak Penghasilan PPh21 Slip Gaji Cetak SSP
Gambar 3.10 Diagram Hirarki aplikasi tatap muka pemakai
3.10
Rancangan State Transition Diagram (STD)
Rancangan ini digunakan untuk mengetahui apa saja yang terjadi pada sistem pada saat timbul perubahan – perubahan antara satu state dan state yang lain, apa yang menyebabkan timbulnya perubahan itu, dan apa akibat yang ditimbulkan dari perubahan itu. Rancangan State Transition Diagram (STD) untuk program aplikasi ini digunakan untuk menggambarkan kondisi-kondisi yang dapat berubah sesuai dengan aktifitas dilakukan oleh user melalui aplikasi tatap muka terhadap bisnis logik.
63
STD
menggambarkan
bagaimana kerja sistem melalui kondisi (state) dan
kejadian yang menyebabkan kondisi berubah. STD juga menggambarkan aksi yang dilakukan karena kejadian tertentu. start 1 Halaman utama 2
10
Parameter
3
18
10
Transaksi
11
Edit
13
4
5
Profile Pegawai
12
Proses Gaji Bulanan 9
9
13
8
7
6
Proses Pajak PPh
PTKP & PKP 9
SPT 9
9
save
14
15
baru 17
edit
16
hapus 17
17
Gambar 3.11 Rancangan State Transition Diagram Layar Utama
Untuk menggambarkan kejadian kejadian yang terjadi dalam perhitungan pajak PPh21 dapat kita lihat dalam Rancangan State Transition Diagram perhitungan pajak PPh21 dibawah ini :
64
Gaji Verifikasi Gaji pegawai gaji pegawai terverifikasi Perhitungan tunjangan gaji Gaji bruto setelah tunjangan Perhitungan potongan gaji gaji bruto sebelum pajak Perhitungan pph21 Gaji bersih setelah pajak
Gambar 3.12 Rancangan State Transition Gaji bersih
65
3.11
Rancangan Flowchart
Rancangan ini digunakan untuk mendesain dan merepresentasikan program. Sebelum pembuatan
program,
fungsinya
adalah
mempermudah
programmer
dalam
menentukan alur logika program yang akan dibuat. Sesudah pembuatan program fungsinya adalah untuk menjelaskan alur program kepada orang lain atau user. Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program (Al Bahra, 2006, hal. 265). Flowchart program aplikasi menggambarkan aliran dalam pengoperasian aplikasi mulai dari star program sampai keluar dari program. Penulis juga membuat dua buah flowchart untuk menggambarkan alur logika algoritma untuk proses yang terdapat dalam bisnis logik dan proses yang terdapat dalam program tatap muka.
66 STAR
Pilih aksi
File
About About Help
Transaksi
masukan data Identitas WP
ya
masukan profil Pegawai
Help
Pegawai Baru ? tidak
Masukan Gaji Bulanan
Proses Pajak Penghasilan PPh21
Cetak?
Ya
SSP
tidak Slip Gaji
tidak
Keluar Program Ya
END
Gambar 3.13 Flowchart Program tatap muka
67 STAR
Masukan ID Karyawan
Proses gaji BRUTO
PTKP = 0
ya
Istri Gabung tidak
ya Tk/-
ya
PTKP = 32.280.000
PTKP = 15.480.000
k/1/0 tidak
tidak ya Tk/1
ya
PTKP = 33.600.000
PTKP = 16.800.000
k/1/1 tidak
tidak ya K/0
ya
PTKP = 34.920.000
PTKP = 16.800.000
k/1/2 tidak
tidak K/1
ya
PTKP = 36.240.000
ya
k/1/3
PTKP = 18.120.000 tidak PKP = BRUTO - PTKP
ya K/2
PTKP = 19.440.000 tidak ya
tidak
K/3
tidak
PTKP = 20.760.000
> 500jt Ya
PPh = PKP * 30%
tidak
tidak 250 – 500jt
50jt – 250jt
Ya
Ya
PPh = PKP * 25%
PPh = PKP * 15%
END
Gambar 3.14 Flowchart hitung pajak
tidak
0 – 50jt Ya PPh = PKP * 5%
tidak
68
3.12
Rancangan Antarmuka
Rancangan ini digunakan untuk mendukung proses pembuatan program aplikasi PPh21. Rancangan antarmuka ini terdiri dari satu layar dengan dua menu utama yaitu File dan Transaksi.
File
Transaksi
Identitas Wajib Pajak Exit
Gambar 3.15 Tampilan Rancangan Antar Muka Menu File File
Transaksi Profile Pegawai Proses gaji bulanan Proses Pajak Penghasilan (PPh21) Slip gaji SSP
Gambar 3.16 Tampilan Rancangan Antar Muka Menu Transaksi
69
3.12.1. Rancangan Modul Identitas Wajib Pajak Input
Edit
Hapus
Cari
Cetak
kembali
NPWP xxxxxxxxxxxxxxx. Nama WP xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx Alamat xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx No. Telpon xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Email xxxxxxx@xxxxxxxxxxxxxxxxxxxxxx Nama Dir xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx NPWP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Masa Pajak xxxxx Tahun Pajak 9999 Thn Kalender 9999 Tgl SPT 99‐99‐9999
Gambar 3.17 Rancangan Modul Identitas Wajib Pajak
Pada rancangan modul ini digunakan untuk memasukkan data identitas wajib pajak. Terdiri dari tombol – tombol navigasi untuk melakukan proses pemeliharaan data yaitu tombol baru, edit, hapus, cari, cetak, simpan, batal dan kembali. Jika kita klik tombol baru maka semua teks input akan kosong dan siap diisi sedang tombol simpan dan batal akan dalam keadaan hidup. Tombol edit berfungsi untuk mengedit data yang sebelumnya kita cari terlebih dahulu menggunakan tombol cari. Tombol hapus untuk menghapus data yang sedang di tampilkan. Tombol Cetak untuk mencetak data yang tampil. Untuk menutup modul ini kita klik tombol kembali.
70
3.12.2. Rancangan Modul Profile Pegawai
Input
Edit
Hapus
Cari
Cetak
kembali
NRK xxxxxxxxxxxxxxxxxxx Nama xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx TTL xxxxxxxxxxxxx 99‐99‐9999 Jns Kelamin xxxxxxxxxxxxxxxxxx Alamat xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Kota xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx NPWP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Status Pajak xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Status Kary xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Jml.Tanggungan 99 Jabatan xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Gambar 3.18 Rancangan Modul Profile Pegawai
Pada rancangan modul ini digunakan untuk memasukkan data profile pegawai. Terdiri dari tombol – tombol navigasi untuk melakukan proses pemeliharaan data yaitu tombol baru, edit, hapus, cari, cetak, simpan, batal dan kembali. Jika kita klik tombol baru maka semua teks input akan kosong dan siap diisi sedang tombol simpan dan batal akan dalam keadaan hidup. Tombol edit berfungsi untuk mengedit data yang sebelumnya kita cari terlebih dahulu menggunakan tombol cari. Tombol hapus untuk menghapus data yang sedang di tampilkan. Tombol Cetak untuk mencetak data yang tampil. Untuk menutup modul ini kita klik tombol kembali.
71
3.12.3. Rancangan Modul Proses Gaji Bulanan
Input
Edit
Hapus
Cari
Cetak
kembali
NRK xxxxxxxxxxxxxxxx Bulan xxxxxxxxxx Nama xxxxxxxxxxxxxxxxxxxxxxxxxxxx Tahun 9999 Gapok 99,999,999.99 (A) Pend lain Potongan THR 99,999,999.99 CDT 99,999,999.99 Lembur 99,999,999.99 Koperasi 99,999,999.99 Obat 99,999,999.99 Lainnya 99,999,999.99 Bonus 99,999,999.99 ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ Subtotal (B) 99,999,999.99 Subtotal (C) 99,999,999.99 Total (A+B‐C) 999,999,999.99
Gambar 3.19 Rancangan Modul Gaji Bulanan
Pada rancangan modul ini digunakan untuk memasukkan data Gaji, tunjangan dan potongan tiap bulannya. Terdiri dari tombol – tombol navigasi untuk melakukan proses pemeliharaan data yaitu tombol baru, edit, hapus, cari, cetak, simpan, batal dan kembali. Jika kita klik tombol baru maka semua teks input akan kosong dan siap diisi sedang tombol simpan dan batal akan dalam keadaan hidup. Tombol edit berfungsi untuk mengedit data yang sebelumnya kita cari terlebih dahulu menggunakan tombol cari. Tombol hapus untuk menghapus data yang sedang di tampilkan. Tombol Cetak untuk mencetak data yang tampil. Untuk menutup modul ini kita klik tombol kembali.
72
3.12.4. Rancangan Modul Proses Pajak Penghasilan (PPh21) Periode : xxxxxxxxxxx ‐ 9999
Proses
Batal
Gambar 3.20 Rancangan Modul Proses PPh21 Pada Rancangan modul ini digunakan untuk memproses atau menghitung pajak bulanan yang ditanggung masing – masing karyawan. Tombol proses digunakan untuk memulai proses perhitungan sedangkan tombol batal untuk kembali ke menu utama.
3.12.5. Rancangan Modul Slip Gaji Bulan : xxxxxxxxxxxxxxxxxxxx Tahun : 9999 Karyawan : xxxxxxxxxxxxxxxxxxxx
Cetak
Batal
Gambar 3.21 Rancangan Modul Cetak Slip Gaji Pada Modul ini digunakan untuk mencetak Slip gaji untuk masing – masing karyawan. Klik tombol cetak untuk mencetaknya atau batal untuk kembali ke menu utama.
73
3.12.6. Rancangan Modul SSP Bulan : xxxxxxxxxxxxxxxxxxxx Tahun : 9999 Karyawan : xxxxxxxxxxxxxxxxxxxx
Cetak
Batal
Gambar 3.22 Rancangan Modul Cetak SSP
Pada Modul ini digunakan untuk mencetak SSP untuk masing – masing karyawan. Klik tombol cetak untuk mencetaknya atau batal untuk kembali ke menu utama.
3.13
Siklus Hidup Pengembangan Sistem Metode Siklus Hidup Pengembangan Sistem atau yang sering disebut dengan SDLC (System Development Life Cycle) adalah suatu metode untuk merancang aplikasi perangkat lunak. Nama lain dari sistem ini adalah metode waterfall. Perancangan dengan menggunakan metode SDLC dilakukan dalam enam tahap, antara lain: 1. Perencanaan ( System engineering) Tahapan merencanakan untuk membuat program aplikasi PPh21 namun belum menentukan metode apa yang akan dipakai sebelumnya.
74
2. Analisis Menganalisa menentukan topik dari permasalahan yang dihadapi dalam membuat program aplikasi PPh21 dan bagaimana cara pemecahan masalah tersebut. Mempelajari ilmu dan mencari informasi lebih detail mengenai PPh21 dari beberapa buku dan situs di internet. 3. Desain Mendesain bentuk tampilan program aplikasi PPh21 seperti apa yang akan disuguhkan kepada pengguna nantinya, agar pengguna dapat dengan mudah menggunakannya. 4. Pengkodean ( coding ) Pengkodean dilakukan setelah program aplikasi PPh21 telah memiliki desain interface dengan menggunakan bahasa pemrograman Microsoft Visual Foxpro 9.0 5. Pengujian Pengujian dilakukan untuk mencari kelemahan serta kesalahan yang terjadi pada program aplikasi dan kemudian memperbaiki kelemahan dan kesalahan tersebut. Terdapat beberapa metode pengujian yang digunakan untuk menguji fungsi – fungsi dari suatu program aplikasi. Pengujian dilakukan dengan menggunakan metode blackbox dan whitebox testing. 6. Pemeliharaan (maintenance) Pemeliharaan adalah suatu kegiatan evaluasi terhadap program aplikasi yang berjalan seperti : kesalahan pengkodean dalam program, kerusakan program yang menyebabkan performa program menurun ataupun memperbaharui
75
program dengan fasilitas tambahan, supaya program dapat berjalan dengan baik dan performanya meningkat. Rancangan SDLC untuk program aplikasi PPh21 meliputi tahap Perencanaan, Analisis, desain, Pengkodean dan Pengujian.
3.14
Pembuatan Program Aplikasi Pembuatan program merupakan proses penerapan sistem secara nyata dari rancangan program yang telah dibuat sebelumnya. Setelah rancangan program telah selesai dibuat, maka tahap selanjutnya yaitu tahap pembuatan program yang dapat dijalankan. 3.14.1.
Prosedur Pembuatan Program Aplikasi Langkah – langkah pembuatan program aplikasi PPh21 ini adalah sebagai berikut :
1. Mempersiapkan dan melakukan instalasi perangkat keras berupa komputer dengan spesifikasi sebagai berikut: a. Prosesor minimal pentium IV. b. Harddisk minimal 20 GB. c. Memori DDR minimal 128 MB. d. Satu buah keyboard dan mouse standard. e. Media penyimpanan External jika diperlukan 2. Mempersiapkan dan melakukan instalasi perangkat lunak berupa komputer dengan spesifikasi sebagai berikut :
76
a. Sistem operasi window XP. b. Program aplikasi Microsoft Visual Foxpro 9.0 dan C# Visual Studio .NET 2008 yang akan dibutuhkan untuk membuat aplikasi.
3.14.2.
Proses Pembuatan Program Aplikasi
Pembuatan program aplikasi ini dilakukan setelah selesai mempersiapkan perangkat keras dan lunak. Langkah- langkah proses pembuatannya adalah sebagai berikut : 1. Mengumpulkan materi –materi yang dibutuhkan. 2. Melakukan pembatasan terhadap materi tersebut. 3. Membuat STD ( State Transition Diagram ) yang menggambarkan alur program. 4. Melakukan pengkodean dengan menggunakan Microsoft Visual Foxpro 9.0 dan C# Visual Studio .NET 2008..