Anda di halaman 1dari 98

PERANCANGAN APLIKASI TAXCAL PENGHITUNGAN

PAJAK (PPN, PPH 23 DAN PPH FINAL) BERBASIS ANDROID

TUGAS AKHIR

Diajukan untuk memenuhi salah satu syarat kelulusan Program Diploma Tiga (D.III)

Rosvianty Rahmat
Nim : 11161803

Program Studi Sistem Informasi Akuntansi


Fakultas Teknologi Informasi
Universitas Bina Sarana Informatika
Jakarta
2019
SURAT PERNYATAAN KEASLIAN TUGAS AKHIR

Yang bertanda tangan di bawah ini :

Nama : Rosvianty Rahmat


NIM : 11161803
Jenjang : Diploma Tiga (D3)
Program Studi : Sistem Informasi Akuntansi
Fakultas : Teknologi Informasi
Perguruan Tinggi : Univeritas Bina Sarana Informatika

Dengan ini menyatakan bahwa Tugas Akhir yang telah saya buat dengan judul
:“Perancangan Aplikasi TaxCal Penghitungan Pajak (PPN, PPh 23 Dan PPh
Final ) Berbasis Android”, adalah asli (orisinil) atau tidak plagiat (menjiplak)dan
belum pernah diterbitkan/dipublikasikan dimanapun dan dalam bentuk apapun.

Demikian surat pernyataan ini saya buat dengan sebenar-benarnya tanpa ada paksaan
dari pihak manapun juga. Apabila dikemudian hari ternyata saya memberikan
keterangan palsu atau ada pihak lain yang mengklaim bahwa Tugas Akhir yang saya
buat adalah hasil karya milik seseorang atau badan tertentu, saya bersedia diproses
baik secara pidana maupun perdata dan kelulusan saya dari Universitas Bina Sarana
Informatika dicabut/dibatalkan.

Dibuat di : Jakarta

Pada Tanggal : 11 Juli 2019

Yang Menyatakan

Rosvianty Rahmat

ii
SURAT PERNYATAAN PERSETUJUAN PUBLIKASI KARYA

ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertanda tangan dibawah ini

Nama : Rosvianty Rahmat


NIM : 11161803
Jenjang : Diploma Tiga (D3)
Program Studi : Sistem Informasi Akuntansi
Fakultas : Teknologi Informasi
Perguruan Tinggi : Universitas Bina Sarana Informatika
Dengan ini menyetujui untuk memberikan ijin kepada pihak Universitas Bina Sarana
Informatika, Hak Bebas Royalti Non-Esklusif (Non-Exclusive Royalti-Free Right)
atas karya ilmiah kami yang berjudul : “Perancangan Aplikasi TaxCal Penghitungan
Pajak (PPN, PPh 23 Dan PPh Final ) Berbasis Android”, beserta perangkat yang
perlu diperlukan (apabila ada).

Dengan Hak Bebas Royalti Non-Ekslusif ini Pihak Universitas Bina Sarana
Informatika berhak menyimpan, mengalih-media atau format-kan, mengelolahnya
dalam pangkalan data (database), mendistribusikannya dan menampilkan atau
mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa
perlu menerima ijin dari kami selama tetap mencantumkan nama kami sebagai
penulis/pencipta karya ilmiah ini.

Saya bersedia untuk menanggung secara pribadi, tanpa melibatkan pihak Universitas
Bina Sarana Informatika, segala bentuk tuntutan hokum yang timbul atas
pelanggaran Hak Cipta dalam karya ilmiah saya ini.
Demikian pernyataan ini saya buat sebenarnya.

Dibuat di : Jakarta

Pada Tanggal : 11 Juli 2019

Yang Menyatakan

Rosvianty Rahmat

iii
PERSETUJUAN DAN PENGESAHAN TUGAS AKHIR

Tugas Akhir ini diajukan oleh :


Nama : Rosvianty Rahmat
NIM : 11161803
Jenjang : Diploma Tiga (D3)
Program Studi : Sistem Informasi Akuntansi
Fakultas : Teknologi Informasi
Perguruan Tinggi : Universitas Bina Sarana Informatika
Judul Tugas Akhir : Perancangan Aplikasi TaxCal Penghitungan Pajak (PPN,
PPh23 Dan PPh Final ) Berbasis Android

Untuk dipertahankan pada periode 2019-1 dihadapan penguji dan diterima sebagai
bagian persyaratan yang diperlukan untuk memperoleh Ahli Madya Sistem Informasi
Akutansi (A.Md.S.I.Ak) pada Program Diploma Tiga (D3) Program Studi Sistem
Informasi Akuntansi di Universitas Bina Sarana Informatika.

Jakarta, 11 Juli 2019

PEMBIMBING TUGAS AKHIR

Dosen Pembimbing : Priatno, M.Kom ………………………………

DEWAN PENGUJI

Penguji I : …………………… ………………………………

Penguji II : …………………… ………………………………


iv
LEMBAR KONSULTASI TUGAS AKHIR
FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS
BINA SARANA INFORMATIKA JAKARTA

NIM : 11161803
Nama Lengkap : Rosvianty Rahmat
Dosen Pembimbing : Priatno, M.Kom
Judul Tugas Akhir : Perancangan Aplikasi TaxCal Penghitungan Pajak
(PPN, PPh 23 Dan PPh Final ) Berbasis Android
Tanggal Paraf Dosen
No Pokok Bahasan
Bimbingan Pembimbing
1. 01 April 2019 Bimbingan Perdana
2. 08 April 2019 Pengajuan Bab I
3. 15 April 2019 Acc Bab I dan Pengajuan Bab II
4. 29 April 2019 Acc Bab II
5. 20 Mei 2019 Pengajuan Bab III
6. 17 Juni 2019 Revisi Bab III dan Pengajuan Bab IV
7. 24 Juni 2019 Acc Bab III dan BAB IV
8. 11 Juli 2019 Acc keseluruhan

Catatan untuk Dosen Pembimbing.


Bimbingan Tugas Akhir
 Dimulai pada tanggal : 01 April 2019
 Diakhiri pada tanggal : 11 Juli 2019
 Jumlah pertemuan bimbingan : 8 (Delapan)
Disetujui oleh,

Dosen Pembimbing

(Priatno, M.Kom)

v
KATA PENGANTAR

Dengan mengucapkan puji syukur kehadirat Allah SWT, yang

telahmelimpahkan rahmat dan karunia-Nya, sehingga pada akhirnya penulis

dapatmenyelesaikan tugas ini dengan baik. Dimana tugas akhir ini penulis sajikan

dalambentuk buku yang sederhana. Adapun judul tugas akhir, yang penulis ambil

sebagaiberikut, “Perancangan Aplikasi TaxCal Penghitungan Pajak (PPN, PPh 23 Dan

PPh Final ) Berbasis Android”.

Tujuan penulisan tugas akhir ini dibuat sebagai salah satu syarat kelulusan

program Diploma III (Tiga) Universitas Bina Sarana Informatika. Sebagai bahan

penulisan diambil berdasarkan hasil penelitian (eksperimen), observasi dan beberapa

sumber literature yang mendukung penulisan ini. Penulis menyadari bahwa tanpa

bimbingan dan dorongan dari semua pihak, maka penulisan tugas akhir ini tidak akan

lancar. Oleh karena itu pada kesempatan ini, izinkanlah penulis menyampaikan ucapan

terima kasih kepada :

1. Allah SWT atas segala rahmat dan hidayahNya.

2. Rektor Universitas Bina Sarana Informatika.

3. Ketua Program Studi Sistem Informasi Akuntansi.

4. Bapak Priatno, M.Kom selaku Dosen Pembimbing Tugas Akhir.

5. Staff, Karyawan dilingkungan Universitas Bina Sarana Informatika.

6. Orang tua tercinta yang telah memberikan dukungan moral maupun spiritual.

7. Rekan – rekan tersayang yang telah berjuang bersama menyelesaikan tugas akhir

ini.

xi
8. Semua pihak yang telah membantu hingga terselesaikannya tugas akhir ini

yang penulis tidak dapat sebutkan satu per satu. Semoga Allah membalas

semua kebaikan kalian yang telah membantu penulis selama ini.

Serta semua pihak yang terlalu banyak untuk disebut satu persatu

sehinggaterwujudnya penulisan ini. Penulis menyadari bahwa penulisan tugas akhir

inimasih jauh sekali dari sempurna, untuk itu penulis mohon kritik dan saran

yangbersifat membangun demi kesempurnaan penulisan dimasa yang akan datang.

Akhir kata semoga tugas akhir ini dapat berguna bagi penulis khususnya danbagi

para pembaca yang berminat pada umumnya.

Jakarta, 11 Juli 2019

Penulis

Rosvianty Rahmat

xii
ABSTRAKSI

Rosvianty Rahmat (11161803), Perancangan Aplikasi TaxCal Penghitungan


Pajak (PPN, PPh 23 Dan PPh Final ) Berbasis Android.

Perkembangan Teknologi Informasi di Indonesia beberapa tahun belakangan


sangatlah cepat, meningkatnya minat dan kesadaran masyarakat akan teknologi
mempengaruhi perkembangan itu sendiri. Hal tersebut dapat di buktikan dengan
semakin banyaknya pengguna telepon genggam pintar yang menjadi salah satu alat
penunjang teknologi tersebut.
Perpajakan merupakan salah satu komponen penting dalam perekonomian Indonesia
dan berbagai negara lainnya. Bagi pemerintah, perpajakan merupakan wujud nyata
kemandirian pendanaan pembangunan. Untuk melaksanakan sistem perpajakan di
Indonesia tidaklah terlalu mudah karena masyarakat di Indonesia harus mengerti apa
itu pajak dan cara perhitungan, pembayaran serta pelaporannya, agar tidak terjadi
kesalahan dan penyimpangan dalam perhitungan maupun dalam pembayaran pajak,
oleh karena itu pemerintah mengeluarkan peraturan berupaundang–undang
perpajakan. Undang–undang tersebut mengatur mengenai hal–hal yang berhubungan
dengan pajak baik mengenai subjek pajak, objek pajak, dasar pengenaan pajak, tata
cara perhitungan, pembayaran maupun pelaporannya.
Aplikasi TaxCal merupakan aplikasi berbasis Android yang dirancang sebagai sarana
pembelajaran dan informasi penghitung pajak dengan maksud meningkatkan minat
masyarakat tentang perpajakan Indonesia serta membantu memahami cara
menghitung dan mempermudah proses perhitungan Pajak Pertambahan Nilai, Pajak
Penghasilan Pasal 23 dan Pajak Penghasilan Final bagi pemula, dengan Java sebagai
bahasa pemrograman yang digunakan.

Kata Kunci : TaxCal, Pajak, Android

xiii
ABSTRACT

Rosvianty Rahamat (11161803), Designing TaxCal Application of Tax


Calculation (VAT, PPh 23 and Final PPh) Based on Android.

The development of Information Technology in Indonesia in recent years is very fast,


increasing interest and public awareness of technology affect the development itself.
This can be proven by the increasing number of smartphone users who become one of
the supporting tools of the technology.
Taxation is an important component in the economy of Indonesia and various other
countries. For the government, taxation is a tangible manifestation of the independence
of development funding. To implement the taxation system in Indonesia is not too easy
because the people in Indonesia must understand what taxes are and how to
calculate,pay and report, so there are no mistakes and irregularities in calculations or
in paying taxes, therefore the government issues tax regulations. The law regulates
matters relating to tax both regarding tax subjects, tax objects, the basis for taxation,
procedures for calculation, payment and reporting.
The TaxCal application is an Android-based application designed as a learning tool
and tax calculation information with the aim of increasing people's interest in
Indonesian taxation and helping to understand how to calculate and simplify the
process of calculating Value Added Tax, Article 23 Income Tax and Final Income Tax
for beginners, with Java as the programming language used.

Keyword : TaxCal, Tax, Android

xiv
DAFTAR ISI

LEMBAR PERNYATAAN KEASLIAN TUGAS AKHIR ........................................ ii

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ...................... iii

LEMBAR PERSETUJUAN DAN PENGESAHAN TUGAS AKHIR ...................... iv

LEMBAR KONSULTASI TUGAS AKHIR ............................................................... v

KATA PENGANTAR ................................................................................................ xi

ABSTRAKSI ............................................................................................................ xiii

ABSTRACT .............................................................................................................. xiv

DAFTAR ISI .............................................................................................................. xv

DAFTAR GAMBAR .............................................................................................. xviii

DAFTAR TABEL ..................................................................................................... xix

DAFTAR SIMBOL.................................................................................................... xx

BAB I PENDAHULUAN ........................................................................................... 1

1.1. Latar Belakang Masalah ................................................................................ 1

1.2. Maksud dan Tujuan ....................................................................................... 3

1.3. Metode Penelitian .......................................................................................... 3

1.3.1. Metode Pengumpulan Data .................................................................... 3

1.3.2. Metode Pengembangan Software ........................................................... 4

1.4. Ruang Lingkup .............................................................................................. 5

BAB II LANDASAN TEORI ...................................................................................... 6

xv
2.1. Konsep Dasar Program Aplikasi ................................................................... 6

2.2. Pengertian Android ........................................................................................ 7

2.3. Pengertian Pajak ............................................................................................ 9

2.4. Pajak Penghasilan ........................................................................................ 13

2.4.1. Dasar Hukum Pajak Penghasilan ......................................................... 13

2.4.2. Subjek PajakPenghasilan .................................................................... 13

2.4.3. Objek Pajak Penghasilan ...................................................................... 14

2.4.4. Jenis Pajak Penghasilan........................................................................ 17

2.4.5. Tarif Pajak Penghasilan........................................................................ 19

2.5. Peralatan Pendukung ................................................................................... 19

2.5.1 Unified Modelling Language (UML) ................................................... 20

2.5.2 Hierarcy Input Process Output (HIPO) ............................................... 22

2.5.3 Android Studio ..................................................................................... 23

2.5.4 Java ...................................................................................................... 24

BAB III PEMBAHASAN .......................................................................................... 25

3.1. Tinjauan Kasus ............................................................................................ 25

3.2. Spesifikasi Rancangan Program .................................................................. 25

3.2.1 Spesifikasi Bentuk Masukan ................................................................ 25

3.2.2 Spesifikasi Bentuk Keluaran ................................................................ 26

3.2.3 Spesifikasi File ..................................................................................... 28

3.2.4 HIPO .................................................................................................... 29


xvi
3.2.5 Spesifikasi Program ............................................................................. 30

3.2.6 Activity Diagram .................................................................................. 33

3.2.7 Use Case Diagram ................................................................................ 34

3.2.8 Deskripsi Usecase ................................................................................ 34

3.2.9 Sequence Diagram ............................................................................... 35

3.2.10 Deployment Diagram ........................................................................... 36

3.3. Implementasi ............................................................................................... 37

3.3.1. Black Box Testing ................................................................................ 37

3.3.2. Menu Utama ......................................................................................... 38

3.3.3. Halaman Hitung PPN ........................................................................... 38

3.3.4. Halaman Hitung PPh 23 ....................................................................... 39

3.3.5. Halaman Hitung PPh Final................................................................... 39

3.4. Sarana Pendukung Program ........................................................................ 40

3.4.1. Perangkat Keras ................................................................................... 40

3.4.2. Perangkat Lunak................................................................................... 40

BAB IV PENUTUP ................................................................................................... 41

4.1. Kesimpulan ..................................................................................................... 41

4.2. Saran ................................................................................................................ 41

DAFTAR PUSTAKA ................................................................................................ 42

DAFTAR RIWAYAT HIDUP ................................................................................... 43

LAMPIRAN - LAMPIRAN....................................................................................... 44
xvii
DAFTAR GAMBAR

Gambar II. 1 Contoh Use Case Diagram ............................................................... 20

Gambar II. 2 Contoh Activity Diagram ................................................................. 21

Gambar II. 3 Contoh Sequence Diagram .............................................................. 21

Gambar II. 4 Contoh Deployment Diagram .......................................................... 22

Gambar II. 5 Hierarcy Input Process Output (HIPO) Diagram ......................... 23

Gambar III. 1 HIPO Diagram TaxCal ................................................................... 29

Gambar III. 2 Activity Diagram TaxCal ............................................................... 33

Gambar III. 3 Use Case Diagram TaxCal ............................................................. 34

Gambar III. 4 Sequence Diagram TaxCal ............................................................. 35

Gambar III. 5 Deplyment Diagram TaxCal .......................................................... 36

Gambar III. 6 Tampilan Menu Utama .................................................................. 38

Gambar III. 7 Tampilan Halaman PPN ................................................................ 38

Gambar III. 8 Tampilan Halaman PPh 23 ............................................................ 39

Gambar III. 9 Tampilan Halaman PPh Final ....................................................... 39

xviii
DAFTAR TABEL

Tabel II. 1Macam-Macam Versi Android ............................................................... 9

Tabel III. 1 Tabel Deskripsi Usecase Diagram ...................................................... 34

Tabel III. 2 Tabel BlackBox Testing ...................................................................... 37

xix
DAFTAR SIMBOL

ACTIVITY DIAGRAM

xx
DAFTAR SIMBOL

USE CASE DIAGRAM

xxi
DAFTAR SIMBOL

SEQUENCE DIAGRAM

xxii
DAFTAR SIMBOL

DEPLOYMENT DIAGRAM

xxiii
BAB I

PENDAHULUAN

1.1. Latar Belakang Masalah

Perkembangan Teknologi Informasi di Indonesia beberapa tahun belakangan

sangatlah cepat, meningkatnya minat dan kesadaran masyarakat akan teknologi

mempengaruhi perkembangan itu sendiri. Hal tersebut dapat di buktikan dengan

semakin banyaknya pengguna telepon genggam pintar yang menjadi salah satu alat

penunjang teknologi tersebut.

Teknologi telepon genggam pintar pada saat ini berkembang pesat sekali dengan

berbagai macam sistem operasi dan salah satunya adalah sistem operasi android.

Dengan sistem operasi android pengembang dapat mengembangkan aplikasi sesuai

dengan apa yang diinginkan dan dibutuhkan. (Ferdiansyah, 2016)

Dalam membangunkemajuan dan kesejahteraan Negara Indonesia sebagai salah

satu negara berkembang, pembangunan dalam segala bidang sangat diperlukan. Selain

bidang Teknologisalah satu bidang yang sedang dibangun adalah bidang

ekonomi.(Sari, Darmawiguna, & Arthana, 2015)

Perpajakan merupakan salah satu komponen penting dalam perekonomian

Indonesia dan berbagai negara lainnya. Bagi pemerintah, perpajakan merupakan

wujud nyata kemandirian pendanaan pembangunan. Untuk melaksanakan sistem

perpajakan di Indonesia tidaklah terlalu mudah karena masyarakat di Indonesia harus

mengerti apa itu pajak dan cara perhitungan, pembayaran serta pelaporannya, agar

tidak terjadi kesalahan dan penyimpangan dalam perhitungan maupun dalam

pembayaran pajak, oleh karena itu pemerintah mengeluarkan peraturan berupa

1
2

undang–undang perpajakan. Undang – undang tersebut mengatur mengenai hal

–hal yang berhubungan dengan pajak baik mengenai subjek pajak, objek pajak, dasar

pengenaan pajak, tata cara perhitungan, pembayaran maupun pelaporannya.

Sebagai sumber dana alternatif yang sangat potensial sebagai salah satu sumber

penerimaan negara yang sangat potensial, sektor pajak merupakan pilihan yang sangat

tepat, selain karena jumlahnya yang relatif stabil juga merupakan cerminan partisipasi

aktif masyarakat dalam membiayai pembangunan.

Salah satu jenis pajak yang sering dikenakan pada pengusaha yang dikenakan

pajak yaitu Pajak Pertambahan Nilai, Pajak Penghasilan Pasal 23 pada perusahaan

bidang Jasa/Sewa atau Pajak Penghasilan Final pada beberapa jenis

pendapatan/penghasilan tertentu.

Namun dikarenakan perspektif masyarakat yang menganggap Perpajakan

merupakan hal yang sulit dan merepotkan, banyak masyarakat menganggap remeh

akan pentingnya sector perpajakan bagi perkembangan Indonesia.

Berdasarkan uraian diatas penulis tertarik untuk merancang Aplikasi interaktif

TaxCal Penghitung Pajak sebagai sarana pembelajaran dan informasi dengan

mengambil judul :

“Perancangan Aplikasi TaxCal Penghitungan Pajak (PPN, PPh 23

Dan PPh Final Berbasis Android“


3

1.2. Maksud dan Tujuan

Maksud dari penulisan Tugas Akhir ini adalah :

a. Penulis ingin membuat suatu program perhitungan yang diharapkan dapat

membantu memahami cara menghitung nilai Pajak Pertambahan Nilai, Pajak

Penghasilan Pasal 23 dan Pajak Penghasilan Final

b. Untuk meningkatkan minat masyarakat tentang perpajakan Indonesia dan

mempermudah proses perhitungan Pajak Pertambahan Nilai, Pajak Penghasilan

Pasal 23 dan Pajak Penghasilan Finalbagi pemula.

Adapun Tujuan penulisan Tugas Akhir sebagai salah satu syarat kelulusan

Program Diploma Tiga (D.III) program studi Sistem Informasi Akuntansi pada

Universitas Bina Sarana Informatika.

1.3. Metode Penelitian

1.3.1. Metode Pengumpulan Data

Untuk memperoleh data atau informasi yang diperlukan dalam Tugas Akhir

ini, menggunakan beberapa metode pengumpulan data, yaitu :

1. Studi Pustaka ( Library Research )

Penulis melakukan pengumpulan data yang berasal dari buku-buku literatur

yang berhubungan dengan Pajak Pertambahan Nilai, Pajak Penghasilan Pasal 23

pada perusahaan bidang Jasa/Sewa, Pajak Penghasilan Final dan pemrograman

Android yang dibutuhkan dalam pembuatan tugas akhir ini.


4

2. Metode Observasi

Penulis melakukan pengamatan pada objek secara langsung dari berbagai

sumber dan mengikuti perkuliahan mata kuliah Perpajakan.

3. Metode Wawancara

Penulis melakukan pengumpulan data sebanyak-banyaknya melalui tanya

jawab secara langsung dengan orang-orang yang terlibat pada permasalahan yang

dibahas.

1.3.2. Metode Pengembangan Software

1. Analisis kebutuhan software

Kebutuhan sistem yang diperlukan dalam membuatmedia pembelajaran dan

informasi dalam bentuk aplikasi berbasis android ini yaitu menyediakan materi

Pajak Pertambahan Nilai, Pajak Penghasilan Pasal 23 dan Pajak Penghasilan Final

. Dalam programaplikasi ini memiliki beberapa fasilitas menu daritampilan menu

utama, menu penghitung Pajak Pertambahan Nilai, Pajak Penghasilan Pasal 23,

Pajak Penghasilan Final dan tentang,tampilan dibuat sangat menarik dannyaman

dengan kemudahan beberapa tombol navigasi serta aplikasi bersifat offline. Untuk

software yang akan dipergunakan dalam perancangan aplikasi ini adalah Android

Studio.

2. Desain

Tahap ini, Penulis membuat Perancangan struktur software secara

keseluruhan dalam program aplikasi ini antara lain mulai dari menu utama,
5

penghitung Pajak Pertambahan Nilai, Pajak Penghasilan Pasal 23, Pajak

Penghasilan Final dantentang,dengan input touch screen sangat

memudahkanpenggunanya.

3. Code Generation

Bahasa pemrograman yang digunakan dalam Tugas Akhir ini adalah Java,

dengan metode perancangan berorientasi objek.

4. Testing

Metode pengujian aplikasi yag digunakan penulis adalah Black Box Testing.

Pengujian ini dilakukan untuk mengetahui kesesuaian output dengan kebutuhan

yang telah dirancang pada tahap sebelumnya.

1.4. Ruang Lingkup

Dalam proses pengerjaan Tugas Akhir (TA) penulis membatasi ruang lingkup yaitu :

1. Aplikasi yang dibuat berdasarkan materi yang berkaitan dengan Perpajakan.

Mengingat pembahasan yang cukup luas dan tujuan pembuatan tugas akhir ini

tepat sasaran, maka ruang lingkup pembahasan difokuskan hanya pada nilai

Pajak Pertambahan Nilai, Pajak Penghasilan Pasal 23 dan Pajak Penghasilan

Final yang dikenakan.

2. Dalam proses perancangannya perangkat lunak yang digunakan adalahAndroid

Studio dengan bahasa pemrograman yang digunakan adalah Java.


BAB II

LANDASAN TEORI

2.1. Konsep Dasar Program Aplikasi

Program aplikasi adalah rangkaian kegiatan yang diekesekusi oleh program

komputer yang dibuat untuk melaksanakan tugas khusus dari pengguna.

Program merupakan kumpulaninstruction setyang akan dijalankan

olehpemroses, yaitu berupa software. Bagaimana sebuah sistem komputer berpikir

diatur olehprogram ini. Program inilah yang mengendalikan semua aktifitas yang ada

padapemroses. Program berisikonstruksi logika yang dibuat oleh manusia, dan

sudahditerjemahkan ke dalam bahasa mesin sesuai dengan format yang ada

padainstructionset. (Wardana, 2010)

Aplikasi adalah suatu program komputer yang dibuat untuk mengerjakan

danmelaksanakan tugas khusus dari pengguna. Aplikasi merupakan rangkaian

kegiatan atauperintah untuk dieksekusi oleh komputer.

Program aplikasi merupakan program siap pakai. Program yang direka untuk

melaksanakan suatu fungsi bagi pengguna atau aplikasi yang lain. Contoh-contoh

aplikasiialah program pemproses kata dan Web Browser. Aplikasi akan menggunakan

sistemoperasi (OS) komputer dan aplikasi yang lainnya yang mendukung.

Istilah ini mulai perlahan masuk ke dalam istilah Teknologi Informasi semenjak

tahun 1993, yang biasanya juga disingkat dengan app. Secara historis, aplikasi

adalahsoftwareyang dikembangkan oleh sebuah perusahaan.

6
7

Industri PC tampaknya menciptakan istilah ini untuk merefleksikan medan

pertempuran persaingan yang baru, yang paralel dengan yangterjadi antar sistem

operasi yang dimunculkan. (Wardana, 2010)

2.2. Pengertian Android

Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux

yang mencakup sistem operasi, middleware dan aplikasi.Android menyediakan

platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka. Awalnya,

Google Inc. membeli Android Inc. yang merupakan pendatang baru yang membuat

piranti lunak untuk ponsel/smartphone. Kemudian untuk mengembangkan Android,

dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan piranti keras,

piranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola,

Qualcomm, T-Mobile, dan Nvidia. Secara garis besar, arsitektur Android dapat

dijelaskan dan digambarkan sebagai berikut:

1. Applications dan Widgets Applications dan Widgets ini adalah layer dimana

berhubungan dengan aplikasi saja, di mana biasanyadownload aplikasi dijalankan

kemudian dilakukan instalasi dan jalankan aplikasi tersebut.

2. Applications Frameworks Applications frameworks ini adalah layer di mana para

pembuat aplikasi melakukan pengembangan/pembuatan aplikasi yang akan

dijalankan di sistem operasi Android, karena pada layer inilah aplikasi dapat

dirancang dan dibuat, seperti contectproviders yang berupa sms dan panggilan

telepon.
8

3. Libraries Libraries ini adalah layer di mana tur-tur Android berada, biasanya para

pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya. Berjalan di

atas kernel, Layer ini meliputi berbagai library C/C++ inti seperti Libc dan SSL

4. Android Run Time Layer yang membuat aplikasi Android dapat dijalankan

dimana dalam prosesnya menggunakan Implementasi Linux.

5. Linux Kernel Linux Kernel adalah layer di mana inti dari operating system dari

Android itu berada. Berisi file-file sistem yang mengatur sistem processing,

memory, resource, drivers, dan system-sistem operasi android lainnya. Linux

kernel yang digunakan android adalah linux kernel release 2.6. (W. Edi & A. Zaki,

2012)

Saat ini Android digunakan sebagai sistem operasi untukperangkat mobile

(bergerak) seperti : smartphone,smartwatch, dan lainnya. Versi-versi android sendiri

sampai saat ini sudah cukupbanyak. Dirilis pertama kali pada tahun 2009 yaitu

versiAndroid 1.1. Uniknya hampir semua versi android menggunakan nama makanan

Inilah versi-versi android : badoy

No Nama Versi Tahun Rilis

1. Cupcake 2009

2. Donut 2009

3. Éclair 2009

4. Froyo 2010

5. Gingerbread 2010

6. Honeycomb 2011

7. Ice Cream Sandwich 2011

8. Jelly Bean 2012


9

9. Kitkat 2013

10. Lollipop 2014

11. Marshmallow 2015

12. Nougat 2016

13. Oreo 2017

Tabel II. 1 Macam-Macam Versi Android

2.3. Pengertian Pajak

Defisini Pajak menurut Undang-Undang Nomor 16 Tahun 2009, Pajak adalah

kontribusi wajib kepada negara yang terutang oleh orang pribadi atau badan yang

bersifat memaksa berdasarkan undang – undang, dengan tidak mendapatkan imbalan

secara langsung dan digunakan untuk keperluan negara bagi sebesar –besarnya

kemakmuran rakyat. (Prof. Dr. Mardiasmo, MBA., 2016)

Peranan pajak yang sangat besar tentunya didorong dengan kesadaran diri

sendiri, agar pajak menjadi tulang punggung dalam membiayai pembangunan didalam

negeri, untuk itu harus ada persamaan pandangan dalam mengartikan pajak. Ada

definisi pajak menurut beberapa ahli, diantaranya sebagai berikut :

1) Menurut Mr. Dr. N. J. Feldmann dalam (B. Ilyas & Burton, 2015)

“ Pajak adalah prestasi yang dipaksakan sepihak oleh terutang kepada penguasa,

(menurut norma-norma yang ditetapkannya secara umum), tanpa adanya kontra-

prestasi, dan semata-mata digunakan untuk menutup pengeluaran-pengeluaran

umum.”

2) Menurut Prof. Dr. Rochmat Soemitra,S.H dalam (Prof. Dr. Mardiasmo, MBA.,

2016)
10

“ Pajak adalah iurang rakyat kepada kas Negara berdasarkan undang-undang

(yang dapat dipaksakan) dengan tidak mendapat jasa timbal balik (kontraprestasi)

yang langsung dapat di tunjukkan dan yang digunakan untuk membayar

pengeluaran umum.”

3) Menurut S.I.Djajadiningrat dalam (Resmi, 2014)

“Pajak sebagai suatu kewajiban menyerahkan sebagian dari kekayaan ke kas


Negara yang disebabkan suatu keadaan, kejadian dan perbuatan yang memberikan
kedudukan tertentu, tetapi bukan sebagai hukuman, menurut peraturan yang
ditetapkan pemerintah serta dapat dipaksakan, tetapi tidak ada jaca timbal balik
dari Negara secara langsung untuk memelihara kesejahteraan secara umum.”

Berdasarkan pengertian para ahli di atas, bahwa pajak mempunyai beberapa unsur-

unsur yaitu:

1. Kontribusi wajib kepada Negara

Artinya bahwa pajak merupakan sumbangsih kepada negara yang bersifat wajib,

sehingga karena sifatnya yang wajib maka apabila ada wajib pajak yang tidak

membayar pajak sebagaimana mestinya, terhadap wajib pajak yang bersangkutan

akan dikenakan sanksi administrasi maupun sanksi pidana tergatung pada tingkat

kesalahannya.

2. Terutang oleh orang pribadi atau badan

Artinya bahwa pajak itu terhutang oleh orang pribadi atau badan yang wajib

membayarnya yang di sebut dengan wajib pajak.Wajib pajak dimaksud meliputi

pembayar pajak, pemungut pajak, yang mempunyai hak dan kewajiban perpajakan

sesuai dengan peraturan perundang – undangan perpajakan.

3. Bersifat memaksa
11

Artinya bahwa setiap wajib pajak yang meliputi pribadi atau badan yang tidak

membayar pajak sesuai dengan ketentuan undang – undang perpajakan,

pelaksanaannya dapat dipaksakan secara hukum.

Apabila setelah diterbitkan surat ketetapan pajak maupun surat tagihan pajak,

wajib pajak setelah tanggal jatuh tempo yang ditentukan tidak bersedia untuk

membayar yang masih harus dibayar sebagaimana dalam surat ketetapan pajak

maupun surat tagihan pajak tersebut maka terhadap wajib pajak dapat dilakukan

tindakan penagihan mulai dengan dikeluarkannya surat teguran, penyampaian surat

paksa, penyitaan barang – barang milik penanggung pajak, sampai dengan

pelelangan bahkan bila dimungkinkan terhadap wajib pajak yang tidak mau

membayar atau melunasi pajaknya sesuai ketentuan perpajakan yang berlaku dapat

dilakukan penyanderaan badan.

4. Berdasarkan undang – undang

Artinya bahwa pemungut pajak harus selalu berdasarkan pada undang – undang,

sehingga tidak ada pajak tanpa undang – undang. Hal ini juga dengan tegas

dinyatakan dalam pasal 23 A Undang – Undang Dasar 1945 amandemen ketiga yang

berbunyi:’ Pajak dan pungutan lain yang bersifat memaksa untuk keperluan negara

diatur dengan undang – undang “. Oleh karena itu pemungutan pajak sudah di

dasarkan pada Undang – Undang yang mengaturnya maka sesungguhnya rakyat

sudah setuju untuk di pungut pajakanya. Dengan adanya pajak yang dipungut

berdasarkan undang – undang berarti pemungutan pajak dapat dipaksakan.

5. Tidak mendapatkan imbalan secara langsung

Artinya bahwa bagi si pembayar pajak setelah mereka membayar pajak sesuai

ketentuan undang – undang perpajakan tidak mendapatkan imbalan atau balas jasa
12

secara langsung, akan tetapi imbalan atau balas jasa akan di peroleh si pembayar

pajak secara tidak langsung dengan tersedianya layanan publik (public service)

maupun barang – barang publik (goods service) bahkan yang tidak ikut membayar

pajakpun akan turut serta menikmati layanan publik yang dibiayai dari uang pajak.

6. Digunakan untuk keperluan negara dan kepentingan rakyat

Artinya bahwa pajak yang telah terkumpul akan dipergunakan untuk membiayai

pengeluaran – pengeluaran umum dalam rangka memberikan pelayanan publik,

sehingga pada akhirnya uang pajak yang telah terkumpul itu akan dikembalikan

manfaatnya untuk kemakmuran rakyat. Sebagai contoh untuk membayar gaji

pegawai negeri, polri, TNI, pejabat negara dan lain- lain.

Sedangkan yang menjadi dasar hukum pemungutan pajak di Indonesia sebagai

hukum pajak materiil antara lain : Undang – Undang No 7 Tahun 1983 sebagaimana

telah di ubah terakhir dengan undang- Undang No 17 Tahun 2000 tetang Pajak

Penghasilan, Undang –Undang N0 8 Tahun 1983 sebagimana telah di ubah terakhir

dengan Undang –Undang No 18 Tahun 2000 tentang Pajak Pertambahan Nilai

Barang dan Jasa dan Pajak penjualan atas Barang Mewah (PPN dan Ppn BM ),

Undang – Undang No 12 Tahun 1985 sebagimana telah diubah dengan Undang –

Undang No 12 Tahun1994 tentang Pajak Bumi dan Bangunan, Undang – Undang

No 21 Tahun 1997 sebagaimana telah diubah dengan Undang – Undang No 2000

tentang Bea Perolehan Hak atas Tanah dan atau Bangunan. Sedangkan untuk hukum

pajak formilnya di atur dalam Undang –Undang No 6 Tahun 1983 sebagaimana telah

diubah terakhir dengan Undang –Undang No 28 tahun 2007 tentang Ketentuan

Umum dan Tata Cara Perpajakan.(B. Ilyas & Burton, 2015)


13

2.4. Pajak Penghasilan

Pajak Penghasilan (PPh) adalah pajak yang dikenakan terhadap Subjek Pajak

Penghasilan yang diterima atau di perolehnya dalam suatu tahun pajak. Peraturan

perudang-undangan perpajakan yang mengatur tetang Pajak Penghasilan yang berlaku

sejak 1 Januari 1984 adalah Undang-undang Nomor 7 Tahun 1983. Undang-udang

tersebut telah beberapa kali diubah, perubahan Unadang=undang Pajak Penghasilan

tersebut dilakukan dengan tetap berpegang pada prinsip-prinsip perpajakan yang

dianut secara universal, yaitu keadilan, kemudahan/efisiansi administrasi, dan

produktivitas penerimaan Negara serta tetap mempertahankan system

selfassessment.(Resmi, 2014)

2.4.1. Dasar Hukum Pajak Penghasilan

Dasar hukum pajak penghasilan adalah Undang – Undang No.7 Tahun 1983

yang telah di sempurnakan dengan Undang – Undang No.7 Tahun 1991, Undang –

Undang No.10 Tahun 1994, Undang –Undang No.17 Tahun 2000, Undang - Undang

No.36 Tahun 2008, dan yang terbaru yaitu Peraturan Menteri Keuangan Republik

Indonesia nomor 141/PMK.03/2015, peraturan pemerintah, keputusan presiden,

keputusan menteri keuangan, keputusan Direktorat Jenderal Pajak maupun surat

edaran Direktorat Jenderal Pajak.

2.4.2. Subjek PajakPenghasilan

Subjek pajak Penghasilan menurut Undang – Undang No.36 Tahun 2008

berdasarkan pasal 2 ayat (1) yang menjadi subjek pajak adalah :

1. Orang Pribadi
14

2. Warisan yang belum terbagi sebagai satu kesatuan menggantikan yang berhak

3. Badan, Terdiri dari perseroan terbatas, perseroan komanditer, perseroan

lainnya, BUMN/BUMD dengan nama dan bentuk apapun, firma, kongsi,

koperasi dana pensiun, persekuruan, perkumpulan, yayasan, organisasi massa,

organisasi social politik, atau organisasi lainnya, lembaga, dan benduk badan

lainnya termasuk kontrak investasi kolektif.

4. Bentuk Usaha Tetap (BUT)

2.4.3. Objek Pajak Penghasilan

Yang menjadi objek pajak adalah penghasila, yaitu setiap tambahan

kemampuan ekonimis yang diterima atau di peroleh Wajib Pajak, baik yang berasal

dari Indonesia maupun luar Indonesia, yang dapat dipakai ubtuk konsumsi atau

menambah kekayaan Wajib Pajak yang bersangkutan, dengan nama dan dalam bentuk

apa pun, termasuk :

1. Penggantian atau imbalan berkenaan dengan pekerjaan atau jasa yang diterima

atau diperoleh termasuk haji, upah, tunjangan, honorim, komisi, bonus,

gratifikasim uang pensiun, atau imbalan dalam bentuk lainnya, kecuali

ditentukan lain dalam Undang-undang ini;

2. Hadiah dari undian atau pekerjaan atau kegiatan dan penghargaan;

3. Laba usaha;

4. Keuntungan karena penjualan atau karena pengalihan harta;

5. Penerimaan kembali pembayaran pajak yang telah di bebankan sebagai biaya

dan pembayaran tambahan pengambilan pajak;


15

6. Bunga termasuk premium, diskonto, dan imbalan karena jaminan

pengembalian utang;

7. Deviden;

8. Royalti atau imbalan atas penggunaan hak;

9. Sewa;

10. Penerimaan atau perolehan pembayaran berkala;

11. Keuntungan karena pembebasan utang, kecuali sampai dengan jumlah tertentu

yang di tetapkan dengan peraturan pemerintah;

12. Keuntungan selisih kurs mata uang asing;

13. Selisih lebih karena penilaian kembali aktiva;

14. Premi Asuransi;

15. Iuran;

16. Tambahan kekayaan netto yang berasal dari penghasilan yang belum di

kenakan pajak;

17. Penghasilan dan usaha berbasis Syariah;

18. Imbalan Buga;

19. Surplus Bank Indonesia;

Penghasilan tersebut dapat dikelompokan menjadi:

1. Penghasilan dari pekerjaan dalam hubungan kerja dan pekerjaan bebas;

2. Penghasilan dari usaha atau kegiatan;

3. Penghasilan dari modal atau penggunaan harta;

4. Penghasilanlain-lain;
16

Penghasilan yang bukan Objek Pajak Penghasilan sebagai berikut :

1. Bantuan atau sumbangan bagi pihak yang menerima bukan merupakan objek

pajak sepanjang di terima tidak dalam hubungan kerja.

2. Zakat yang di terima Baziz / Laziz yang di sahkan oleh pemerintah bukan

merupakan penghasilan bagi yang menerima, tetapi merupakan biaya

pengurang penghasilan kena pajak bagi yang mengeluarkan zakat.

3. Harta hibah bukan merupakan penghasilan, asalkan yang menerima harta hibah

tersebut adalah :

a. Keluarga sedarah dalam garis keturunan lurus satu derajat.

b. Badan Keagamaan.

c. Badan Pendidikan.

d. Badan Sosial.

e. Pengusaha Kecil.

f. Koperasi yang di tetapkan oleh menteri keuangan.

4. Warisan

5. Harta termasuk setoran tunai yang diterima sebagai pengganti saham atau

sebagai penyertaan modal

6. Penggantian atau imbalan.

7. Pembayaran dari perusahaan asuransi

8. Deviden atau bagian laba yang diterima

9. Iuran yang diterima atau diperoleh dana pensiun

10. Penghasilan dari modal yang ditanamkan oleh dana pensiun

11. Bagian laba yang diterima atau diperoleh anggota dari perseroan komanditer
17

12. Penghasilan yang diterima atau diperoleh perusahaan modal ventura berupa

bagian laba dari badan pasangan usaha yang didirikan

13. Beasiswa

14. Sisa lebih yang diterima atau diperoleh badan atau lembaga nirlaba yang

bergerak dalam bidang pendidikan dan/atau bidang penelitian dan

pengembangan.

15. Bantuan atau santunan yang dibayarkan oleh Badan Penyelenggara Jaminan

Sosial kepada Wajib Pajak tertentu.

2.4.4. Jenis Pajak Penghasilan

Sebagaimana disebutkan dalam pasal 4 ayat (1) UU Pph yaitu :

1. Pph pasal 21 adalah pajak atas penghasilan berupa gaji, upah, honorium,

tunjangan dan pembayaran lain dengan nama dan dalam bentuk apapun

sehubungan dengan pekerjaan atau jabatan, jasa, dan kegiatan yang dilakukan

oleh orang pribadi Subjek Pajak dalam negeri, sebagaimana dimaksud dalam

pasal 21 Undang-Undang Pajak Penghasilan.

2. Pph pasal 22, yaitu pajak yang dipungut oleh bendaharawan pemerintah, baik

pemerintah pusat maupun pemerintah daerah, instansi atau lembaga

pemerintah dan lembaga-lembaga Negara lain, berkenaan dengan pembayaran

atas penyerahan barang dan badan-badang tertentu baik badan pemerintah

maupun swasta berkenaan dengan kegiatan di bidang impor atau kegiatan

usaha dibidang lain.

3. Pph pasal 23, yaitu pajak yang di potong atas penghasilan yang diterima atau

diperoleh Wajib Pajak dalam negeri (orang pribadi maupun badan) dan Bentuk
18

Usaha Tetap yang berasal dari modal, penyerahan jasa, atau

penyelenggaranaan kegiatan selain yang telah dipotong Pajak Penghasilan

Pasal 21, yang dibayarkan atau terutang oleh badan pemerintah, subjek pajak

badan dalam negeri, penyelenggara kegiatan, bentuk usaha tetap atau

perwakilan perusahaan luar negeri lainnya.

4. Pph pasal 24, yaitu pajak yang dibayar atau terhutang di luar negeri atas

penghasilan dari luar negeri yang diterima wajib pajak dalam negeri.

5. Pph pasal 25, yaitu angsuran PPh yang harus dibayar sendiri oleh Wajib Pajak

untuk setiap bulan dalam tahun pajak berjalan.

6. Pph pasal 26 adalah pajak atas penghasilan berupa gaji, upah, honorium,

tunjangan dan pembayaran lain dengan nama dan dalam bentuk apapun

sehubungan dengan pekerjaan atau jabatan, jasa, dan kegiatan yang dilakukan

oleh orang pribadi Subjek Pajak luar negeri, sebagaimana dimaksud dalam

pasal 26 Undang-Undang Pajak Penghasilan.

7. Pph pasal 29, yaitu pajak kurang dibayar yaitu apabila pajak yang terhutang

untuk suatu tahun pajak lebih besar dari pada kredit pajak sebagaimana di

maksud dalam pasal 28 ayat (1) UU Pph.

8. Pph Final yaitu pajak penghasilan yang pengenaannya sudah fnal (berakhir),

sehingga tidak dapat dikreditkan (dikurangkan) dari total pajak penghasilan

terutang pada akhir tahun pajak.


19

2.4.5. Tarif Pajak Penghasilan

Secara teoritis dikenal berbagai macam tarif pajak yang dapat diterapkan yaitu:

1. Tarif Tetap

Tarif tetap adalah suatu tarif yang berupa suatu jumlah atau angka yang tetap,

berapapun berdasarkan besarnya dasar pengenaan pajak.

2. Tarif Proporsional

Tarif Proporsional adalah merupakan sebuah presentase tertentu yang sifatnya

tetap terhadap berapapun dasar pengenaan pajaknya.

3. Tarif Progresif

Tarif Progresif adalah tarif berupa presentase tertentu yang makin meningkat

dengan makin meningkatnya dasar pengenaan pajak.

4. Tarif Degresif

Tarif Degresif adalah tariff berupa presentase tertentu yang makin meningkat

dengan meningkatnya dasar pengenaan pajak, tetapi kenaikan persentase tersebut

makin menurun.

2.5. Peralatan Pendukung

Dalam membuat suatu perancangan sistem, dibutuhkan peralatan yang dapat

membantu atau mendukung dalam membuat rancangan sistem yang baru, agar sistem

analis dapat mendesain model dari sistem informasi yang akan dibuat. Salah satu

pemodelan yang saat ini paling banyak digunakan adalah UML. UML (Unified

Modeling Language) adalah salah standar bahasa yang banyak digunakan di dunia

industri untuk mendefinisikan requirement, membuat analisis & desain,serta

menggambarkan arsitektur dalam pemprograman berorientasi objek.


20

2.5.1 Unified Modelling Language (UML)

Menurut (Hendini, 2016) “Unified Modeling Language (UML) adalah bahasa

spesifikasi standar yang dipergunakan untuk mendokumentasikan, menspesifikasikan

dan membanngun perangkat lunak. UML merupakan metodologi dalam

mengembangkan sistem berorientasi objek dan juga merupakan alat untuk mendukung

pengembangan sistem.”

Alat bantu yang digunakan dalam perancangan berorientasi objek berbasiskan

UML adalah sebagai berikut:

A. Use Case Diagram

Use case diagram merupakan pemodelan untuk kelakuakn (behavior) sistem

informasi yang akan dibuat. Use case digunakan untuk mengetahui fungsi apa saja

yang ada di dalam sistem informasi dan siapa saja yang berhak menggunakan fungsi-

fungsi tersebut.

uc contoh

Use Case2 Use Case4


«include»

«include» «extend»
«include»

Use Case5
Use Case1

Actor1

«include»

Use Case3

Gambar II. 1 Contoh Use Case Diagram


21

B. Diagram Aktivitas (Activity Diagram)

Activity Diagram menggambarkan workflow (aliran kerja) atau aktivitas dari

sebuah sistem atau proses bisnis.

act contoh

User Sistem

start

Activ ity1 Activ ity2

Selesai

Gambar II. 2 Contoh Activity Diagram

C. Diagram Urutan (Sequence Diagram)

Sequence Diagram menggambarkan kelakuan objek pada use case dengan

mendeskripsikan waktu hidup objek dan pesan yang dikirimkan dan diterima antar

objek.

Gambar II. 3 Contoh Sequence Diagram


22

D. Deployment Diagram

Deployment Diagram digunakan untuk menggambarkan detail bagaimana

komponen disusun di infrastruktur sistem.

Gambar II. 4 Contoh Deployment Diagram

2.5.2 Hierarcy Input Process Output (HIPO)

Menurut Puspitawati dan Anggadini (2011:114) “serangkaian diagram yang

terdiri dari serangkaian level yang mengalir dari atas kebawah yang menggambarkan

sistem yang lebih detail. Diagram HIPO dirancang sebagai alat bantu dan alat

dokumentasi yang digunakan untuk mengidentifikasikan apa yang harus dilakukan

untuk menyelesaikan suatu masalah/problem. Selain itu diagram ini juga digunakan

untuk menguraikan keseluruhan pemrosesan transaksi yang terjadi dalam aktifitas

perusahaan.
23

Gambar II. 5 Hierarcy Input Process Output (HIPO) Diagram

2.5.3 Android Studio

Dikutip dari developer.android.com Android Studio adalah Integrated

Development Environment (IDE) untuk pengembangan aplikasi Android. Pada tahun

2013 Google mengumumkan bahwa Android Studio menjadi IDE resmi untuk

mengembangkan aplikasi android.

Android Studio menawarkan fitur lebih banyak untuk meningkatkan

produktivitas Anda saat membuat aplikasi Android, di antaranya :

a. Sistem versi berbasis Gradle yang fleksibel

b. Emulator yang cepat dan kaya fitur

c. Lingkungan yang menyatu untuk pengembangan bagi semua perangkat Android


24

2.5.4 Java

Java merupakan salah satu bahasa pemrograman yang paling popular.2

Dikarenakan bisa dijalankan disemua platform dan OS yang berbeda-beda.

Walaupun google telah resmi mendukung c++ dan baru-baru ini kotlin, tetap

saja java jadi primadona untuk para developer android. Ini dikarenakan library java

cukup lengkap sehingga memudahkan programmer.


BAB III

PEMBAHASAN

3.1. Tinjauan Kasus

Untuk mempermudah dalam proses penghitungan PPN, PPh 23 dan PPh Pasal 4

ayat 2. Penulis mencoba membuat aplikasi berbasis android yang berguna untuk

menghitung nilai tagihan yang dikenakan PPN, PPh 23 dan PPh Final Aplikasi ini juga

di lengkapi dengan penjelasan pada masing-masing proses penghitungan.

3.2. Spesifikasi Rancangan Program

Dalam spesifikasi rancangan program ini, penulis akan menjelaskan tentang

spesifikasi bentuk masukan, spesifikasi bentuk keluaran, spesifikasi file, HIPO,

spesifikasi program dan flowchartnya.

3.2.1 Spesifikasi Bentuk Masukan

Adapun bentuk spesifikasi masukan program penghitung nilai pada Tax

Calculator ini terdiri dari berbagai layout sebagai berikut :

1. Nama Dokumen : FormMenuUtama

Fungsi : Untuk tampilan menu utama program

Sumber : New form

Tujuan : Ke layout selanjutnya, ada 5 button, PPN, PPH 23, PPH

Final, Tentang

Media : Smartphone ysng menggunakan OS berbasis Android

25
26

Jumlah : 1 activity

Frekuensi : Setiap membuka aplikasi TaxCal

Bentuk : Lampiran A.1

3.2.2 Spesifikasi Bentuk Keluaran

1. Nama Dokumen : FormPPN

Fungsi : Untuk tampilan perhitungan Pajak Pertambahan Nilai

(PPN)

Sumber : FormMenuAwal

Tujuan : Menampilkan hasil perhitungan Pajak Pertambahan

Nilai (PPN)

Media : Screen

Jumlah : 1 activity

Frekuensi : setiap klik button PPN

Bentuk : Lampiran B.1

2. Nama Dokumen : FormPPH23

Fungsi : Untuk tampilan perhitungan Pajak Penghasilan Pasal

23 (PPh 23)

Sumber : FormMenuAwal

Tujuan : Menampilkan hasil perhitungan Pajak Penghasilan

Pasal 23 (PPh 23)

Media : Screen

Jumlah : 1 activity
27

Frekuensi : setiap klik button PPH23

Bentuk : Lampiran B.2

3. Nama Dokumen : FormPPHFinal

Fungsi : Untuk tampilan perhitungan Pajak Penghasilan Pasal

4 Ayat 2 / PPh Final

Sumber : FormMenuAwal

Tujuan : Menampilkan hasil perhitungan Pajak Penghasilan

Pasal 4 Ayat 2 / PPh Final

Media : Screen

Jumlah : 1 activity

Frekuensi : Setiap klik button PPh Final

Bentuk : Lampiran B.3

4. Nama Dokumen : FormTentang

Fungsi : Untuk tampilan informasi tentang aplikasi

Sumber : Menu utama

Tujuan : Menampilkan tata cara penggunaan aplikasi dan

tentang aplikasi

Media : Screen

Jumlah : 1 activity

Frekuensi : Setiap klik button tentang aplikasi ini

Bentuk : Lampiran B.4


28

3.2.3 Spesifikasi File

Dengan adanya langkah pembuatan aplikasi, pembuat aplikasi akan merasa

mudah dalam menentukan form-form apa saja yang dibutuhkan untuk membangun

sebuah aplikasi.

1. Spesifikasi File Menu utama

Nama File : activity_main

Fungsi : Berfungsi untuk menampilkan menu utama

Tipe File : xml

Akses File : Public

2. Spesifikasi File PPN

Nama File : activity_ppn

Fungsi : Berfungsi untuk menampilkan form penghitung PPN

Tipe File : xml

Akses File : Public

3. Spesifikasi File PPh 23

Nama File : activity_pph23

Fungsi : Berfungsi untuk menampilkan form penghitung PPh 23

Tipe File : xml

Akses File : Public

4. Spesifikasi File PPh Final

Nama File : activity_pphfinal


29

Fungsi : Berfungsi untuk menampilkan form penghitung PPh Final

Tipe File : xml

Akses File : Public

5. Spesifikasi File Tentang

Nama File : activity_tentang

Fungsi : Berfungsi untuk menampilkan tentang aplikasi

Tipe File : xml

Akses File : Public

3.2.4 HIPO

Gambar III. 1 HIPO Diagram TaxCal


30

3.2.5 Spesifikasi Program

1. Menu Utama

Nama Program : Menu utama

Akronim : MenuUtama

Fungsi : Sebagai tampilan menu utama

Index :-

Bahasa Program : Java

Bentuk Tampilan : Lampiran A.1

Proses : Pada Menu Utama terdapat empat button yaitu PPN,

PPh 23, PPh Final Tentang.

a. Jika pilih menu PPN, akan muncul perhitungan

Pajak Pertambahan Nilai berdasarkan DPP.

b. Jika pilih menu PPh 23, akan muncul perhitungan

Pajak Penghasilan Pasal 23 berdasarkan DPP.

c. Jika pilih menu PPh Final, akan muncul perhitungan

Pajak Penghasilan Pasal 23 berdasarkan DPP.

d. Jika pilih menu Tentang, akan muncul informasi

tentang aplikasi ini.

2. PPN

Nama Program : PPN

Akronim : Pajak Pertambahan Nilai

Fungsi : Sebagai perhitungan Pajak Pertambahan Nilai

berdasarkan DPP.

Index :-
31

Bahasa Program : Java

Bentuk Tampilan : Lampiran B.1

Proses : Pada saat button Kalkulasi diklik, hasil perhitungan

PPN dan total invoice yang harus dibayarkan akan

muncul di kolom PPN dan Total

3. PPh 23

Nama Program : PPh 23

Akronim : Pajak Penghasilan Pasal 23

Fungsi : Sebagai perhitungan Pajak Penghasilan Pasal 23

berdasarkan DPP.

Index :-

Bahasa Program : Java

Bentuk Tampilan : Lampiran B.2

Proses : Pada saat button Kalkulasi diklik, hasil perhitungan

PPh 23 dan total invoice yang harus dibayarkan akan

muncul di kolom PPh 23 dan Total

4. PPh Final

Nama Program : PPh Final

Akronim : Pajak Penghasilan Pasal 4 Ayat (2) / PPh Final

Fungsi : Sebagai perhitungan Pajak Penghasilan Pasal 4 Ayat

(2) / PPh Final berdasarkan DPP.

Index :-

Bahasa Program : Java

Bentuk Tampilan : Lampiran B.3


32

Proses : Pada saat button Kalkulasi diklik, hasil perhitungan

PPh Final dan total invoice yang harus dibayarkan

akan muncul di kolom PPh Final dan Total

5. Tentang

Nama Program : Tentang

Akronim : Tentang

Fungsi : Menampilkan infomasi tentang aplikasi

Index :-

Bahasa Program : Java

Bentuk Tampilan : Lampiran B.4

Proses : Pada saat button Kalkulasi diklik, hasil perhitungan

PPh Final dan total invoice yang harus dibayarkan

akan muncul di kolom PPh Final dan Total


33

3.2.6 Activity Diagram

act Activ ity Diagram

User Sistem

Mulai

Membuka Aplikasi Menampilkan Menu Utama

Memilih Menu

PPN PPh 23 PPh Final Tentang Keluar

Tampil From
Input DPP

Input DPP

Klik Memprose
Calculate Perhitungan

Menampilkan
Hasil Hitung

Tampil
Deskripsi
Applikasi

Kembali

End'

Gambar III. 2 Activity Diagram TaxCal


34

3.2.7 Use Case Diagram

uc Use Case

PPN Input DPP Inv Proses Hitung Tampil From Hasil


«extend» «extend» «include»

«extend» «include»
Reset

«extend»
PPh 23 Input DPP Inv Proses Hitung Tampil Form Hasil
«extend» «extend» «include»

«extend» «include»
«extend»
Reset

Menu Utama

Actor
«extend»

PPh Final Input DPP Inv Proses Hitung Tampil Form Hasil
«extend» «extend» «include»

«extend» «include»
«extend»
Reset

Tampil Tentang
Tentang
«extend» Aplikasi

Gambar III. 3 Use Case Diagram TaxCal

3.2.8 Deskripsi Usecase

Usecase Name Mengelola Hasil Panen


Requirment -
Goal User dapat menjalankan aplikasi
Pre-Conditions User Telah Menjalankan Aplikasi
Post-Conditions Perhitungan berhasil dijalankan
Failed end Conditions Gagal melakukan perhitungan
Primary Actor User
1. User mendapat hasil hitung PPN
2. User mendapat hasil hitung PPh 23
Main Flow / Basic Path
3. User mendapat hasil hitung PPh Final
4. User dapat melihat informasi aplikasi

Tabel III. 1 Tabel Deskripsi Usecase Diagram


35

3.2.9 Sequence Diagram

sd Sequence

User
MenuUtama Menu PPN Menu PPh 23Menu PPh Final Menu Tentang Proses Hitung Perhitungan Info

Menampilkan Menu PPN


()
Masukkan DPP()

get PPN(PPN, Total)

Menampilkan Hasil Perhitungan PPN()

Menampilkan Menu PPh 23()

Masukkan DPP()

alt Dikenakan PPN


[Checked] get PPh 23(PPh 23, PPN, Total)

Menampilkan Hasil
Perhitungan PPh 23()

[UnChecked]
get PPh 23(PPh 23, Total)

Menampilkan Hasil
Perhitungan PPh 23()

Menampilkan Menu PPh Final()

Masukkan DPP()

alt Dikenakan PPN


[Checked]
get PPh Final()

Menampilkan Hasil
Perhitungan PPh Final()

[Unchecked]
get PPh Final(PPh 23, Total)

Menampilkan Hasil
Perhitungan PPh Final()

Menampilkan Menu Tentang()

get Info()

Menampilakn Informasi()

Gambar III. 4 Sequence Diagram TaxCal


36

3.2.10 Deployment Diagram

deployment Deployment

Aplikasi Android

TaxCal.Apk

«deploy»

«executionEnvironment»
Android

«device»
User Smartphone

Gambar III. 5 Deplyment Diagram TaxCal


37

3.3. Implementasi

3.3.1. Black Box Testing

Tabel III. 2 Tabel BlackBox Testing


38

3.3.2. Menu Utama

Gambar III. 6 Tampilan Menu Utama

3.3.3. Halaman Hitung PPN

Gambar III. 7 Tampilan Halaman PPN


39

3.3.4. Halaman Hitung PPh 23

Gambar III. 8 Tampilan Halaman PPh 23

3.3.5. Halaman Hitung PPh Final

Gambar III. 9 Tampilan Halaman PPh Final


40

3.4. Sarana Pendukung Program

3.4.1. Perangkat Keras

Perangkat keras (hardware) adalah seluruh komponen yang membentuk suatu

system komputer dan peralatan lainnya yang memungkinkan komputer

dapatmelaksanakan tugasnya. Adapun perangkat keras yang dibutuhkan dalam

pembuatan aplikasi ‘TaxCal’ perhitungan PPN, PPh Pasal 23 dan PPh Final berbasis

Android adalah :

1. Display : LED 14.0 inci HD 1366 x 768 pixel

2. Processor : Intel® Core(TM) i3 – 7020U, 2.3 GHz

3. Memory : RAM 4GB DDR4 2133MHz

4. Harddisk : 1TB 5400rpm

5. Grafis : Nvidia GeForce MX110 VRAM 2GB

3.4.2. Perangkat Lunak

Bagian penting lain yang mendukung program adalah perangkat lunak

(software) yang digunakan dalam mengeksekusi program aplikasi serta system operasi

yang digunakan dalam mengeksekusi program aplikasi serta sistem operasi yang akan

digunakan untuk menjalankan program tersebut. Perangkat lunak yang dibutuhkan

untuk menjalankan aplikasi ‘TaxCal’ perhitungan PPN, PPh Pasal 23 dan PPh Final

berbasis mobile :

 System operasi : Windows 10 Pro 64-bit

 Bahasa pemrograman : Java 8 212 64-bit

 Tools : Andoid Studio 3.4.1


BAB IV

PENUTUP

4.1. Kesimpulan

Berdasarkan pembahasan yang telah di bahas pada bab-bab sebelumnya, penulis

mencoba menyimpulkan dari seluruh pokok bahasan mengenai perancangan aplikasi

aplikasi ‘TaxCal’ perhitungan PPN, PPh Pasal 23 dan PPh Final. Adapun kesimpulan

sebagai berikut :

1. Program ini mengandung informasi tentang apa itu PPN, PPh Pasal 23 dan PPh

Final

2. Aplikasi yang di buat penulis dapat membantu mahasiswa atau masyarakat

umum untuk menghitung PPN, PPh Pasal 23 dan PPh Final

3. Aplikasi ini menggunakan bahasa Java

4.2. Saran

Pengembangan sistem aplikasi pengetahuan dan pengenalan ini masih terdapat

banyak kekurangan, oleh karena itu perlu pengembangan lebih lanjut agar system ini

lebih bermanfaat dan menarik bagi pengguna. Adapun penelitian selanjutnya ada

beberapa hal yang disarankan:

1. Untuk kedepannya aplikasi ini bisa menghitung jenis pajak lain seperti : PPh

Pasal 21, PPh Pasal 26, Pajak Kendaraan Bermotor, dan lain-lain

41
DAFTAR PUSTAKA

B. Ilyas, W., & Burton, R. (2015). Hukum Pajak (6th ed.). Salemba Empat.

Ferdiansyah, D. (2016). PERANCANGAN APLIKASI UNTUK MENGHITUNG

BANGUN RUANG MENGGUNAKAN ANDROID. (ISBN: 978-602-61268-0-1),

1–6.

Guntoro. (2019). Android Studio Mastery (M. Putri, ed.). Badoy Studio.

Prof. Dr. Mardiasmo, MBA., A. (2016). Perpajakan (2016th ed.). ANDI Yogyakarta.

Resmi, S. (2014). Perpajakan : Teori dan Kasus (8th ed.; M. Masykur, ed.). Salemba

Empat.

Sari, D. M., Darmawiguna, I. G. M., & Arthana, I. K. R. (2015). SISTEM

INFORMASI PERHITUNGAN PAJAK PPH 21 BERBASIS MOBILE. 4(5), 1–8.

42
DAFTAR RIWAYAT HIDUP

A. Biodata Mahasiswa

Nim : 11161803

Nama Lengkap : Rosvianty Rahmat

Tempat Tanggal Lahir : Cibinong, 24 February 1996

Agama : Islam

Alamat Lengkap : Jl. H Abdul Ghani RT 03 RW 02 Kelurahan

Kalibaru Kecamatan Cilodong Kota Depok –

Jawa Barat

Email : rosvianty24@gmail.com

Telepon : 089679669945

B. Pendidikan Formal

 SDN Cilangkap 1 : 2004 - 2009

 SMPN 1 Cibinong : 2009 - 2011

 SMK PGRI 1 Cibinong : 2011 – 2014

Depok, 11 Juli 2019

3 x 4 cm

Rosvianty Rahmat

43
LAMPIRAN - LAMPIRAN

1. Form Utama (activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>


<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<include layout="@layout/content_main" />

<android.support.v7.widget.CardView
android:id="@+id/card1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginRight="75dp"
android:layout_marginBottom="90dp"
android:visibility="invisible">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="2dp"
android:text="Setting" />
</android.support.v7.widget.CardView>

<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
android:src="@drawable/ic_add"
app:backgroundTint="@color/colorAccent"
app:elevation="6dp"
app:pressedTranslationZ="12dp" />

<android.support.design.widget.FloatingActionButton
android:id="@+id/fab2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginRight="@dimen/fab_margin"
android:layout_marginBottom="130dp"
android:src="@drawable/ic_setting"
android:visibility="invisible"
app:backgroundTint="#a4a4a4"
app:elevation="6dp"
app:pressedTranslationZ="12dp" />

<android.support.v7.widget.CardView
android:id="@+id/card2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginRight="85dp"
android:layout_marginBottom="140dp"
android:visibility="invisible">

44
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="2dp"
android:text="Info" />
</android.support.v7.widget.CardView>

<android.support.design.widget.FloatingActionButton
android:id="@+id/fab1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginRight="@dimen/fab_margin"
android:layout_marginBottom="80dp"
android:src="@drawable/ic_info_outline_black_24dp"
android:visibility="invisible"
app:backgroundTint="#a4a4a4"
app:elevation="6dp"
app:pressedTranslationZ="12dp" />

</android.support.design.widget.CoordinatorLayout>

45
2. Form Utama (content_main.xml)

<?xml version="1.0" encoding="utf-8"?>


<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg"
android:orientation="vertical"
android:weightSum="9">

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2">

<TextView
android:id="@+id/textGrid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Tax Calculator"
android:textColor="@android:color/white"
android:textSize="40sp" />

</RelativeLayout>

<GridLayout
android:id="@+id/mainGrid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="4"
android:alignmentMode="alignMargins"
android:columnCount="2"
android:columnOrderPreserved="false"
android:padding="20dp"
android:rowCount="1">

<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="16dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp">

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">

<ImageView

46
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/lovely_time" />

<TextView
android:id="@+id/bppn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PPN"
android:textAlignment="center"
android:textColor="@android:color/black"
android:textSize="18sp"
android:textStyle="bold" />

</LinearLayout>

</android.support.v7.widget.CardView>

<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="16dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp">

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/lovely_time" />
<TextView
android:id="@+id/bp23"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PPh 23"
android:textAlignment="center"
android:textColor="@android:color/black"
android:textSize="18sp"
android:textStyle="bold" />

</LinearLayout>

</android.support.v7.widget.CardView>

<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="16dp"
app:cardCornerRadius="8dp"
47
app:cardElevation="8dp">

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/lovely_time" />

<TextView
android:id="@+id/bpfinal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PPh Final"
android:textAlignment="center"
android:textColor="@android:color/black"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="16dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp">

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/lovely_time" />

<TextView
android:id="@+id/bttg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tentang"
android:textAlignment="center"
android:textColor="@android:color/black"
android:textSize="18sp"
android:textStyle="bold" />

</LinearLayout>
</android.support.v7.widget.CardView>
</GridLayout>
</LinearLayout>
</ScrollView>

48
3. Form PPN (activity_ppn.xml)

<?xml version="1.0" encoding="utf-8"?>


<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ppn">

<include layout="@layout/content_ppn" />

<android.support.v7.widget.CardView
android:id="@+id/card1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginRight="75dp"
android:layout_marginBottom="90dp"
android:visibility="invisible">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="2dp"
android:text="Setting" />
</android.support.v7.widget.CardView>

<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
android:src="@drawable/ic_add"
app:backgroundTint="@color/colorAccent"
app:elevation="6dp"
app:pressedTranslationZ="12dp" />

<android.support.design.widget.FloatingActionButton
android:id="@+id/fab2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginRight="@dimen/fab_margin"
android:layout_marginBottom="130dp"
android:src="@drawable/ic_setting"
android:visibility="invisible"
app:backgroundTint="#a4a4a4"
app:elevation="6dp"
app:pressedTranslationZ="12dp" />

<android.support.v7.widget.CardView
android:id="@+id/card2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginRight="85dp"
android:layout_marginBottom="140dp"
android:visibility="invisible">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"

49
android:padding="2dp"
android:text="Info" />
</android.support.v7.widget.CardView>

<android.support.design.widget.FloatingActionButton
android:id="@+id/fab1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginRight="@dimen/fab_margin"
android:layout_marginBottom="80dp"
android:src="@drawable/ic_info_outline_black_24dp"
android:visibility="invisible"
app:backgroundTint="#a4a4a4"
app:elevation="6dp"
app:pressedTranslationZ="12dp" />

</android.support.design.widget.CoordinatorLayout>

50
4. Form PPN (content_ppn.xml)

<?xml version="1.0" encoding="utf-8"?>


<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorBg"
tools:context=".ppn">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg2"
android:orientation="vertical"
android:weightSum="10">

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="2">

<TextView
android:id="@+id/PPNTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Pajak Pertambahan Nilai"
android:textAlignment="center"
android:textColor="@android:color/black"
android:textSize="45sp" />

</RelativeLayout>

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="45dp"
android:padding="10dp">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<TextView
android:id="@+id/DPP1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_weight="0"
android:text="DPP : "
android:textColor="@android:color/black"
android:textSize="24sp" />

<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">

<android.support.design.widget.TextInputEditText
android:id="@+id/InputDpp1"
android:layout_width="match_parent"

51
android:layout_height="wrap_content"
android:hint="Masukkan Nominal"
android:textSize="18sp" />
</android.support.design.widget.TextInputLayout>
</LinearLayout>
</RelativeLayout>

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="45dp">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<Button
android:id="@+id/Cal1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:onClick="ppncal"
android:text="Calculate" />

</LinearLayout>

</RelativeLayout>

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="45dp"
android:padding="10dp">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<TextView
android:id="@+id/PPN1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_weight="0"
android:text="PPN : "
android:textColor="@android:color/black"
android:textSize="24sp" />

<EditText
android:id="@+id/PPN11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:ems="10"
android:inputType="numberDecimal" />

</LinearLayout>
</RelativeLayout>

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="15dp"
52
android:padding="10dp">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<TextView
android:id="@+id/Total1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_weight="0"
android:text="Total : "
android:textColor="@android:color/black"
android:textSize="24sp" />

<EditText
android:id="@+id/Total11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:ems="10"
android:inputType="numberDecimal" />

</LinearLayout>
</RelativeLayout>
</LinearLayout>
</ScrollView>

53
5. Form PPh 23 (activity_pph23.xml)

<?xml version="1.0" encoding="utf-8"?>


<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".pph23">

<include layout="@layout/content_pph23" />

<android.support.v7.widget.CardView
android:id="@+id/card1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginRight="75dp"
android:layout_marginBottom="90dp"
android:visibility="invisible">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="2dp"
android:text="Setting" />
</android.support.v7.widget.CardView>

<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
android:src="@drawable/ic_add"
app:backgroundTint="@color/colorAccent"
app:elevation="6dp"
app:pressedTranslationZ="12dp" />

<android.support.design.widget.FloatingActionButton
android:id="@+id/fab2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginRight="@dimen/fab_margin"
android:layout_marginBottom="130dp"
android:src="@drawable/ic_setting"
android:visibility="invisible"
app:backgroundTint="#a4a4a4"
app:elevation="6dp"
app:pressedTranslationZ="12dp" />

<android.support.v7.widget.CardView
android:id="@+id/card2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginRight="85dp"
android:layout_marginBottom="140dp"
android:visibility="invisible">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"

54
android:padding="2dp"
android:text="Info" />
</android.support.v7.widget.CardView>

<android.support.design.widget.FloatingActionButton
android:id="@+id/fab1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginRight="@dimen/fab_margin"
android:layout_marginBottom="80dp"
android:src="@drawable/ic_info_outline_black_24dp"
android:visibility="invisible"
app:backgroundTint="#a4a4a4"
app:elevation="6dp"
app:pressedTranslationZ="12dp" />

</android.support.design.widget.CoordinatorLayout>

55
6. Form PPh 23 (content_pph23.xml)

<?xml version="1.0" encoding="utf-8"?>


<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorBg"
tools:context=".pph23">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg2"
android:orientation="vertical"
android:weightSum="10">

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="2">

<TextView
android:id="@+id/PPh23Title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Pajak Penghasilan Pasal 23"
android:textAlignment="center"
android:textColor="@android:color/black"
android:textSize="45sp" />

</RelativeLayout>

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="45dp"
android:padding="10dp">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<TextView
android:id="@+id/DPP2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_weight="0"
android:text="DPP : "
android:textColor="@android:color/black"
android:textSize="24sp" />

<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">

<android.support.design.widget.TextInputEditText
android:id="@+id/InputDpp2"
android:layout_width="match_parent"

56
android:layout_height="wrap_content"
android:hint="Masukkan Nominal"
android:textSize="18sp" />
</android.support.design.widget.TextInputLayout>
</LinearLayout>
</RelativeLayout>

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">

<CheckBox
android:id="@+id/checkBox2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Kena Pajak Pertambahan Nilai" />
</RelativeLayout>

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="15dp">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<Button
android:id="@+id/Cal2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="pph23cal"
android:text="Calculate" />
</LinearLayout>
</RelativeLayout>

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<TextView
android:id="@+id/PPN2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_weight="0"
android:text="PPN : "
android:textColor="@android:color/black"
android:textSize="24sp" />

<EditText
android:id="@+id/PPN22"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:ems="10"
android:inputType="numberDecimal" />

57
</LinearLayout>
</RelativeLayout>

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<TextView
android:id="@+id/PPh23"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_weight="0"
android:text="PPh 23 : "
android:textColor="@android:color/black"
android:textSize="24sp" />

<EditText
android:id="@+id/PPh232"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:ems="10"
android:inputType="numberDecimal" />
</LinearLayout>
</RelativeLayout>

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<TextView
android:id="@+id/Total2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_weight="0"
android:text="Total : "
android:textColor="@android:color/black"
android:textSize="24sp" />

<EditText
android:id="@+id/Total22"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:ems="10"
android:inputType="numberDecimal" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
</ScrollView>

58
7. Form PPh Final (activity_pphfinal.xml)

<?xml version="1.0" encoding="utf-8"?>


<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".pphfinal">

<include layout="@layout/content_pphfinal" />

<android.support.v7.widget.CardView
android:id="@+id/card1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginRight="75dp"
android:layout_marginBottom="90dp"
android:visibility="invisible">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="2dp"
android:text="Setting" />
</android.support.v7.widget.CardView>

<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
android:src="@drawable/ic_add"
app:backgroundTint="@color/colorAccent"
app:elevation="6dp"
app:pressedTranslationZ="12dp" />

<android.support.design.widget.FloatingActionButton
android:id="@+id/fab2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginRight="@dimen/fab_margin"
android:layout_marginBottom="130dp"
android:src="@drawable/ic_setting"
android:visibility="invisible"
app:backgroundTint="#a4a4a4"
app:elevation="6dp"
app:pressedTranslationZ="12dp" />

<android.support.v7.widget.CardView
android:id="@+id/card2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginRight="85dp"
android:layout_marginBottom="140dp"
android:visibility="invisible">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"

59
android:padding="2dp"
android:text="Info" />
</android.support.v7.widget.CardView>

<android.support.design.widget.FloatingActionButton
android:id="@+id/fab1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginRight="@dimen/fab_margin"
android:layout_marginBottom="80dp"
android:src="@drawable/ic_info_outline_black_24dp"
android:visibility="invisible"
app:backgroundTint="#a4a4a4"
app:elevation="6dp"
app:pressedTranslationZ="12dp" />

</android.support.design.widget.CoordinatorLayout>

60
8. Form PPh Final (content_pphfinal.xml)

<?xml version="1.0" encoding="utf-8"?>


<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorBg"
tools:context=".pphfinal">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg2"
android:orientation="vertical"
android:weightSum="10">

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="2">

<TextView
android:id="@+id/PPhFinalTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Pajak Penghasilan Pasal Final"
android:textAlignment="center"
android:textColor="@android:color/black"
android:textSize="45sp" />
</RelativeLayout>

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="45dp"
android:padding="10dp">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<TextView
android:id="@+id/DPP3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_weight="0"
android:text="DPP : "
android:textColor="@android:color/black"
android:textSize="24sp" />

<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">

<android.support.design.widget.TextInputEditText
android:id="@+id/InputDpp3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Masukkan Nominal"

61
android:textSize="18sp" />
</android.support.design.widget.TextInputLayout>
</LinearLayout>
</RelativeLayout>

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">

<CheckBox
android:id="@+id/checkBox3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Kena Pajak Pertambahan Nilai" />
</RelativeLayout>

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="15dp">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<Button
android:id="@+id/Cal3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="pphfinalcal"
android:text="Calculate" />
</LinearLayout>
</RelativeLayout>

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<TextView
android:id="@+id/PPN3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_weight="0"
android:text="PPN : "
android:textColor="@android:color/black"
android:textSize="24sp" />

<EditText
android:id="@+id/PPN33"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:ems="10"
android:inputType="numberDecimal" />
</LinearLayout>
</RelativeLayout>

62
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<TextView
android:id="@+id/PPhFinal3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_weight="0"
android:text="PPh Final : "
android:textColor="@android:color/black"
android:textSize="24sp" />

<EditText
android:id="@+id/PPhFinal33"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:ems="10"
android:inputType="numberDecimal" />
</LinearLayout>
</RelativeLayout>

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<TextView
android:id="@+id/Total3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_weight="0"
android:text="Total : "
android:textColor="@android:color/black"
android:textSize="24sp" />

<EditText
android:id="@+id/Total33"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:ems="10"
android:inputType="numberDecimal" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
</ScrollView>

63
9. Form Tentang (activity_tentang.xml)

<?xml version="1.0" encoding="utf-8"?>


<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".tentang">

<include layout="@layout/content_tentang" />

<android.support.v7.widget.CardView
android:id="@+id/card1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginRight="75dp"
android:layout_marginBottom="90dp"
android:visibility="invisible">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="2dp"
android:text="Setting" />
</android.support.v7.widget.CardView>

<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
android:src="@drawable/ic_add"
app:backgroundTint="@color/colorAccent"
app:elevation="6dp"
app:pressedTranslationZ="12dp" />

<android.support.design.widget.FloatingActionButton
android:id="@+id/fab2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginRight="@dimen/fab_margin"
android:layout_marginBottom="130dp"
android:src="@drawable/ic_setting"
android:visibility="invisible"
app:backgroundTint="#a4a4a4"
app:elevation="6dp"
app:pressedTranslationZ="12dp" />

<android.support.v7.widget.CardView
android:id="@+id/card2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginRight="85dp"
android:layout_marginBottom="140dp"
android:visibility="invisible">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"

64
android:padding="2dp"
android:text="Info" />
</android.support.v7.widget.CardView>

<android.support.design.widget.FloatingActionButton
android:id="@+id/fab1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginRight="@dimen/fab_margin"
android:layout_marginBottom="80dp"
android:src="@drawable/ic_info_outline_black_24dp"
android:visibility="invisible"
app:backgroundTint="#a4a4a4"
app:elevation="6dp"
app:pressedTranslationZ="12dp" />

</android.support.design.widget.CoordinatorLayout>

65
10. Form Tentang (content_tentang.xml)

<?xml version="1.0" encoding="utf-8"?>


<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".tentang">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg"
android:orientation="vertical">

<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="@string/InfoPajak" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
</ScrollView>

66
11. Class Utama (MainActivity.java)

package com.tax.Tax_Calculator;
import android.content.Intent;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.CardView;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {


private TextView PPN, PPh23, PPhFinal, Tentang;
private Boolean isFabOpen = false;
private FloatingActionButton fab, fab1, fab2;
private CardView card1, card2;
private Animation fab_open, fab_close, rotate_forward,
rotate_backward, card_open, card_close;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

PPN = (TextView) findViewById(R.id.bppn);


PPh23 = (TextView) findViewById(R.id.bp23);
PPhFinal = (TextView) findViewById(R.id.bpfinal);
Tentang = (TextView) findViewById(R.id.bttg);

fab = (FloatingActionButton) findViewById(R.id.fab);


fab1 = (FloatingActionButton) findViewById(R.id.fab1);
fab2 = (FloatingActionButton) findViewById(R.id.fab2);
card1 = (CardView) findViewById(R.id.card1);
card2 = (CardView) findViewById(R.id.card2);

fab_open =
AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.fab_open);
fab_close = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.fab_close);
rotate_forward =
AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.rfwd);
rotate_backward =
AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.rbwd);
card_open = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.card_open);
card_close = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.card_close);

PPN.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this,
ppn.class);
startActivity(intent);
}
});

67
PPh23.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this,
pph23.class);
startActivity(intent);
}
});

PPhFinal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this,
pphfinal.class);
startActivity(intent);
}
});

Tentang.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this,
tentang.class);
startActivity(intent);
}
});
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
animateFAB();
}
});

fab1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "Info",
Toast.LENGTH_SHORT).show();
}
});
fab2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "Setting",
Toast.LENGTH_SHORT).show();
}
});
}

public void animateFAB() {


if (isFabOpen) {
fab.startAnimation(rotate_backward);
fab1.startAnimation(fab_close);
fab2.startAnimation(fab_close);
card1.startAnimation(card_close);
card2.startAnimation(card_close);
fab1.setClickable(false);
fab2.setClickable(false);
isFabOpen = false;
} else {
fab.startAnimation(rotate_forward);
fab1.startAnimation(fab_open);
fab2.startAnimation(fab_open);
card1.startAnimation(card_open);
card2.startAnimation(card_open);
68
fab1.setClickable(true);
fab2.setClickable(true);
isFabOpen = true;
}
}
}

69
12. Class PPN (ppn.java)

package com.tax.Tax_Calculator;

import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.CardView;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.text.NumberFormat;
import java.util.Locale;

public class ppn extends AppCompatActivity {


EditText edit_angka;
Button btnppn;
TextView hasilppn, totalppn;
Locale localeID = new Locale("in", "ID");
double nilai;

private Boolean isFabOpen = false;


private FloatingActionButton fab, fab1, fab2;
private CardView card1, card2;
private Animation fab_open, fab_close, rotate_forward,
otate_backward, card_open, card_close;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ppn);

edit_angka = (EditText) findViewById(R.id.InputDpp1);


btnppn = (Button) findViewById(R.id.Cal1);
hasilppn = (TextView) findViewById(R.id.PPN11);
totalppn = (TextView) findViewById(R.id.Total11);

fab = (FloatingActionButton) findViewById(R.id.fab);


fab1 = (FloatingActionButton) findViewById(R.id.fab1);
fab2 = (FloatingActionButton) findViewById(R.id.fab2);
card1 = (CardView) findViewById(R.id.card1);
card2 = (CardView) findViewById(R.id.card2);

fab_open = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.fab_open);
fab_close = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.fab_close);
rotate_forward =
AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.rfwd);
rotate_backward =
AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.rbwd);
card_open = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.card_open);
card_close = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.card_close);
fab.setOnClickListener(new View.OnClickListener() {

70
@Override
public void onClick(View view) {
animateFAB();
}
});

fab1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(ppn.this,
"Info",Toast.LENGTH_SHORT).show();
}
});
fab2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(ppn.this, "Setting",
Toast.LENGTH_SHORT).show();
}
});

public boolean cek() {


if (edit_angka.getText().toString().isEmpty()) {
Toast.makeText(this, "Masukkan Nominal",
Toast.LENGTH_SHORT).show();
return false;
}
return true;
}

public void ppncal(View v) {


if (!cek()) {
return;
}

try {
nilai = Double.parseDouble(edit_angka.getText().toString());
} catch (Exception ex) {
Toast.makeText(this, "Masukkan Nominal",
Toast.LENGTH_SHORT).show();
}

double hasil = nilai * 0.10;


hasilppn.setText(NumberFormat.getCurrencyInstance(localeID).format
(Hasil));

double total = nilai + hasil;


totalppn.setText(NumberFormat.getCurrencyInstance(localeID).format
(total));

Toast.makeText(this, "PPN 10%", Toast.LENGTH_SHORT).show();


}

public void animateFAB() {


if (isFabOpen) {
fab.startAnimation(rotate_backward);
fab1.startAnimation(fab_close);
fab2.startAnimation(fab_close);
card1.startAnimation(card_close);
card2.startAnimation(card_close);
fab1.setClickable(false);
fab2.setClickable(false);
isFabOpen = false;
} else {
71
fab.startAnimation(rotate_forward);
fab1.startAnimation(fab_open);
fab2.startAnimation(fab_open);
card1.startAnimation(card_open);
card2.startAnimation(card_open);
fab1.setClickable(true);
fab2.setClickable(true);
isFabOpen = true;
}
}
}

72
13. Class PPh 23 (pph23.java)

package com.tax.Tax_Calculator;

import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.CardView;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.text.NumberFormat;
import java.util.Locale;

public class pph23 extends AppCompatActivity {

EditText edit_angka;
Button btnpph23;
TextView hasilpph23, totalpph23, nomppn;
CheckBox ppn;
Locale localeID = new Locale("in", "ID");
double nilai;

private Boolean isFabOpen = false;


private FloatingActionButton fab, fab1, fab2;
private CardView card1, card2;
private Animation fab_open, fab_close, rotate_forward,
rotate_backward, card_open, card_close;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pph23);

edit_angka = (EditText) findViewById(R.id.InputDpp2);


btnpph23 = (Button) findViewById(R.id.Cal2);
hasilpph23 = (TextView) findViewById(R.id.PPh232);
totalpph23 = (TextView) findViewById(R.id.Total22);
nomppn = (TextView) findViewById(R.id.PPN22);
ppn = (CheckBox) findViewById(R.id.checkBox2);

fab = (FloatingActionButton) findViewById(R.id.fab);


fab1 = (FloatingActionButton) findViewById(R.id.fab1);
fab2 = (FloatingActionButton) findViewById(R.id.fab2);
card1 = (CardView) findViewById(R.id.card1);
card2 = (CardView) findViewById(R.id.card2);

fab_open = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.fab_open);
fab_close = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.fab_close);
rotate_forward =
AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.rfwd);
rotate_backward =
AnimationUtils.loadAnimation(getApplicationContext(), R.anim.rbwd);
card_open = AnimationUtils.loadAnimation(getApplicationContext(),

73
R.anim.card_open);
card_close = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.card_close);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
animateFAB();
}
});

fab1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(pph23.this, "Info",
Toast.LENGTH_SHORT).show();
}
});
fab2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(pph23.this, "Setting",
Toast.LENGTH_SHORT).show();
}
});
}

public boolean cek() {


if (edit_angka.getText().toString().isEmpty()) {
Toast.makeText(this, "Masukkan Nominal",
Toast.LENGTH_SHORT).show();
return false;
}
return true;
}

public void pph23cal(View v) {


if (!cek()) {
return;
}

try {
nilai = Double.parseDouble(edit_angka.getText().toString());
} catch (Exception ex) {
Toast.makeText(this, "Masukkan Nominal",
Toast.LENGTH_SHORT).show();
}

if (ppn.isChecked()) {
double nppn = nilai * 0.10;
nomppn.setText(NumberFormat.getCurrencyInstance(localeID)
.format(nppn));

double hasil = nilai * 0.02;


hasilpph23.setText(NumberFormat.getCurrencyInstance(localeID)
.format(hasil));

double total = nilai + nppn - hasil;


nomppn.setText(NumberFormat.getCurrencyInstance(localeID)
.format(nppn));
totalpph23.setText(NumberFormat.getCurrencyInstance(localeID)
.format(total));

Toast.makeText(this, "Kena PPN 10%",


Toast.LENGTH_SHORT).show();

} else {
74
double nppn = 0;
nomppn.setText(NumberFormat.getCurrencyInstance(localeID)
.format(nppn));

double hasil = nilai * 0.02;


hasilpph23.setText(NumberFormat.getCurrencyInstance(localeID)
.format(hasil));

double total = nilai + nppn - hasil;


totalpph23.setText(NumberFormat.getCurrencyInstance(localeID)
.format(total));

Toast.makeText(this, "PPN 10%",


Toast.LENGTH_SHORT).show();
}
}

public void animateFAB() {


if (isFabOpen) {
fab.startAnimation(rotate_backward);
fab1.startAnimation(fab_close);
fab2.startAnimation(fab_close);
card1.startAnimation(card_close);
card2.startAnimation(card_close);
fab1.setClickable(false);
fab2.setClickable(false);
isFabOpen = false;
} else {
fab.startAnimation(rotate_forward);
fab1.startAnimation(fab_open);
fab2.startAnimation(fab_open);
card1.startAnimation(card_open);
card2.startAnimation(card_open);
fab1.setClickable(true);
fab2.setClickable(true);
isFabOpen = true;
}
}
}

75
14. Class PPh Final (pphfinal.java)

package com.tax.Tax_Calculator;

import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.CardView;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.text.NumberFormat;
import java.util.Locale;

public class pphfinal extends AppCompatActivity {


EditText edit_angka;
Button btnpphfinal;
TextView hasilpphfinal, totalpphfinal, nomppn;
CheckBox ppn;
Locale localeID = new Locale("in", "ID");
double nilai;

private Boolean isFabOpen = false;


private FloatingActionButton fab, fab1, fab2;
private CardView card1, card2;
private Animation fab_open, fab_close, rotate_forward,
rotate_backward, card_open, card_close;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pphfinal);

edit_angka = (EditText)findViewById(R.id.InputDpp3);
btnpphfinal = (Button) findViewById(R.id.Cal3);
hasilpphfinal = (TextView) findViewById(R.id.PPhFinal33);
totalpphfinal = (TextView) findViewById(R.id.Total33);
nomppn = (TextView) findViewById(R.id.PPN33);
ppn = (CheckBox)findViewById(R.id.checkBox3);

fab = (FloatingActionButton) findViewById(R.id.fab);


fab1 = (FloatingActionButton) findViewById(R.id.fab1);
fab2 = (FloatingActionButton) findViewById(R.id.fab2);
card1 = (CardView) findViewById(R.id.card1);
card2 = (CardView) findViewById(R.id.card2);

fab_open = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.fab_open);
fab_close = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.fab_close);
rotate_forward =
AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.rfwd);
rotate_backward =
AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.rbwd);
card_open = AnimationUtils.loadAnimation(getApplicationContext(),

76
R.anim.card_open);
card_close = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.card_close);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
animateFAB();
}
});

fab1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(pphfinal.this, "Info",
Toast.LENGTH_SHORT).show();
}
});
fab2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(pphfinal.this, "Setting",
Toast.LENGTH_SHORT).show();
}
});
}

public boolean cek() {


if (edit_angka.getText().toString().isEmpty()) {
Toast.makeText(this, "Masukkan Nominal",
Toast.LENGTH_SHORT).show();
return false;
}
return true;
}

public void pphfinalcal (View v) {


if (!cek()) {
return;
}

try

{
nilai = Double.parseDouble(edit_angka.getText().toString());
} catch (Exception ex) {
Toast.makeText(this, "Masukkan Nominal",
Toast.LENGTH_SHORT).show();
}

if (ppn.isChecked()) {
double nppn = nilai * 0.10;
nomppn.setText(NumberFormat.getCurrencyInstance(localeID)
.format(nppn));

double hasil = nilai * 0.04;


hasilpphfinal.setText(NumberFormat.getCurrencyInstance(localeID)
.format(hasil));

double total = nilai + nppn - hasil;


nomppn.setText(NumberFormat.getCurrencyInstance(localeID)
.format(nppn));
totalpphfinal.setText(NumberFormat.getCurrencyInstance(localeID)

77
.format(total));

Toast.makeText(this, "Kena PPN 10%",


Toast.LENGTH_SHORT).show();

} else {
double nppn = 0;
nomppn.setText(NumberFormat.getCurrencyInstance(localeID)
.format(nppn));

double hasil = nilai * 0.04;


hasilpphfinal.setText(NumberFormat.getCurrencyInstance(localeID)
.format(hasil));

double total = nilai + nppn - hasil;


totalpphfinal.setText(NumberFormat.getCurrencyInstance(localeID)
.format(total));

Toast.makeText(this, "PPN 10%",


Toast.LENGTH_SHORT).show();
}
}
public void animateFAB() {
if (isFabOpen) {
fab.startAnimation(rotate_backward);
fab1.startAnimation(fab_close);
fab2.startAnimation(fab_close);
card1.startAnimation(card_close);
card2.startAnimation(card_close);
fab1.setClickable(false);
fab2.setClickable(false);
isFabOpen = false;
} else {
fab.startAnimation(rotate_forward);
fab1.startAnimation(fab_open);
fab2.startAnimation(fab_open);
card1.startAnimation(card_open);
card2.startAnimation(card_open);
fab1.setClickable(true);
fab2.setClickable(true);
isFabOpen = true;
}
}

78
15. Class Tentang (tentang.java)

package com.tax.Tax_Calculator;

import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.CardView;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Toast;

public class tentang extends AppCompatActivity {


private Boolean isFabOpen = false;
private FloatingActionButton fab, fab1, fab2;
private CardView card1, card2;
private Animation fab_open, fab_close, rotate_forward,
rotate_backward, card_open, card_close;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tentang);

fab = (FloatingActionButton) findViewById(R.id.fab);


fab1 = (FloatingActionButton) findViewById(R.id.fab1);
fab2 = (FloatingActionButton) findViewById(R.id.fab2);
card1 = (CardView) findViewById(R.id.card1);
card2 = (CardView) findViewById(R.id.card2);

fab_open = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.fab_open);
fab_close = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.fab_close);
rotate_forward =
AnimationUtils.loadAnimation(getApplicationContext(), R.anim.rfwd);
rotate_backward =
AnimationUtils.loadAnimation(getApplicationContext(), R.anim.rbwd);
card_open = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.card_open);
card_close = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.card_close);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
animateFAB();
}
});

fab1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(tentang.this, "Info",
Toast.LENGTH_SHORT).show();
}
});
fab2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(tentang.this, "Setting",
Toast.LENGTH_SHORT).show();
}
});
}

79
public void animateFAB() {
if (isFabOpen) {
fab.startAnimation(rotate_backward);
fab1.startAnimation(fab_close);
fab2.startAnimation(fab_close);
card1.startAnimation(card_close);
card2.startAnimation(card_close);
fab1.setClickable(false);
fab2.setClickable(false);
isFabOpen = false;
} else {
fab.startAnimation(rotate_forward);
fab1.startAnimation(fab_open);
fab2.startAnimation(fab_open);
card1.startAnimation(card_open);
card2.startAnimation(card_open);
fab1.setClickable(true);
fab2.setClickable(true);
isFabOpen = true;
}
}
}

80

Anda mungkin juga menyukai