You are on page 1of 5

Kasus Penyelewangan Pajak saat ini telah menjadi sebuah isu yang hangat dan ramai dibicarakan.

Dalam soal kali ini akan dicoba untuk melakukan pemodelan sederhana dari system perpajakan yang ada. Tugas anda adalah membuat kode implementasi dari diagram kelas yang disediakan..

Penjelasan Setiap kelas: No. 1. Kelas AppServer Method/Attribute Main() Keterangan Digunakan untuk menuliskan kode skenario pengujian 2. Karyawan +String getNama() +String getNPWP() +void setGaji(int: Gaji) +void setStatus(int : s) Mengakses attribute Nama Karyawan Mengakses attribute NPWP Karyawan Mengisi/mengatur attribute Gaji dari Karyawan Mengisi/mengatur attribute Status dari Karyawan dengan aturan: Status=1 bila telah membayar pajak Status=0 bila belum membayar pajak (default) +int HitungPajak() Menghitung besarnya pajak yang dibayarkan oleh Karyawan dengan aturan: - Bila Gaji < 12 juta maka tidak kena pajak - Bila Gaji >12 juta maka pajaknya 10% dari Gaji - Bila Gaji > 20 juta maka pajaknya 15%

+void viewInfo()

Menampilkan informasi Karyawan dengan format: Nama: <> NIP: <> NPWP: <> Pajak: <>

Aturan Tambahan

Proses pengisian/pengaturan attribute Nama,NIP dan NPWP agar dilakukan dengan menggunakan method setter.

Perusahaan

+view AllKaryawan()

-Menampilkan informasi seluruh Karyawan dengan cara memanggil method viewInfo() pada kelas Karyawan.

+void FilterKaryawan(Real Pajak)

-Melakukan mekanisme filtering dengan menampilkan info karyawan yang memiliki Pajak >= nilai parameter yang diinputkan .

+void FilterKaryawan(int Status)

-Melakukan mekanisme filtering dengan menampilkan info karyawan yang memiliki Status == nilai parameter yang diinputkan .

+Real HitungPajakTotal()

-Menghitung jumlah pajak Karyawan yang harus disetorkan oleh Perusahaan (baik yang statusnya sudah bayar maupun belum bayar).

+ void addKaryawan (Karyawan K) +void ViewInfo()

-Menambahakan seorang Karyawan ke dalam ListKaryawan . -Menampilkan informasi perusahaan dengan format: Nama : <> NPWP: <> Jumlah Karyawan: <> Total Pajak Karyawan: <>

Aturan Tambahan

-Proses pengisian/pengaturan attribute Nama dan NPWP agar dilakukan dengan menggunakan Konstuktor

KPP

+void viewAllPerusahaan( )

Menampilkan informasi seluruh Perusahaan yang terdaftar dalam KPP, dengan memanfaatkan methoid ViewInfo() milik kelas Perusahaan.

+void addPerusahaan

Menambahakan data sebuah Perusahaan

(Perusahaan P) +Real HitungPajakTotal()

ke dalam ListPerusahaan - Menghitung total pajak dari seluruh perusahaan yang terdaftar dalam KPP

+void viewPajakTotal()

Menampilkan informasi total pajak dari seluruh perusahaan yang terdaftar dalam KPP

+Real HitungPajakMasuk()

Menghitung total pajak yang telah masuk dengan mengecek status dari karyawan dari seluruh perusahaan yang terdaftar dalam KPP

+void viewPajakMasuk ()

Menampilkan informasi total pajak yang telah masuk dengan mengecek status dari karyawan dari seluruh perusahaan yang terdaftar dalam KPP

+void ViewInfo()

Menampilkan informasi tentang KPP dengan Format: Nama: <> Jumlah Perusahaan:<> Target Pajak: <Pajak Total> Realisasi Pajak: <Pajak Masuk> Persentase Realisasi Pajak: <>

Aturan Tambahan

Proses pengisian/pengaturan attribute Nama agar dilakukan dengan menggunakan Konstuktor

Note: - Ukuran array diasumsikan maksimal 50

- Menampilkan = melakukan penulisan ke Text Field atau textarea - Silahkan menambahkan method lain yang dirasa perlu untuk mendukung system - Ingat untuk mengatur definisi ukuran array dan mengatur posisi array yang akan diisi!!

Tugas anda adalah mengimplementasikan diagram kelas diatas dengan menggunakan JAVA. Untuk skenario pengujian pada method main() dari AppServer adalah sebagai berikut: 1. Ciptakan 4 buah objek Karyawan misalkan K1,K2,K3 dan K4 2. Atur gaji dan Status dari K1,K2,K3,K4 3. Tampilkan informasi dari K1 4. Ciptakan 2 buah objek Perusahaan misalkan P1,P2 5. Hubungkan K1,K2 dengan P1 dan K3,K4 dengan P2 6. Tampilkan informasi dari P1 dan P2 7. Tampilkan karyawan dari P1 dan P2 yang belum membayar pajak 8. Ciptakan 1 buah objek KPP misalkan KPP1 9. Hubungkan P1 dan P2 dengan KPP1 10. Tampilan Informasi dari KPP

Note: Penampilan informasi sebaiknya memanggil method viewInfo() yang telah disediakan

You might also like