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..

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: .Penjelasan Setiap kelas: No. 1. .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. Kelas AppServer Method/Attribute Main() Keterangan Digunakan untuk menuliskan kode skenario pengujian 2.

+Real HitungPajakTotal() -Menghitung jumlah pajak Karyawan yang harus disetorkan oleh Perusahaan (baik yang statusnya sudah bayar maupun belum bayar).3 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 . dengan memanfaatkan methoid ViewInfo() milik kelas Perusahaan. + 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 4 KPP +void viewAllPerusahaan( ) Menampilkan informasi seluruh Perusahaan yang terdaftar dalam KPP. +void FilterKaryawan(int Status) -Melakukan mekanisme filtering dengan menampilkan info karyawan yang memiliki Status == nilai parameter yang diinputkan . +void addPerusahaan Menambahakan data sebuah Perusahaan .

Ingat untuk mengatur definisi ukuran array dan mengatur posisi array yang akan diisi!! .Ukuran array diasumsikan maksimal 50 .Menampilkan = melakukan penulisan ke Text Field atau textarea .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: .(Perusahaan P) +Real HitungPajakTotal() ke dalam ListPerusahaan .Silahkan menambahkan method lain yang dirasa perlu untuk mendukung system .

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