Anda di halaman 1dari 2

Penjelasan Setiap kelas:

No. Kelas Method/Attribute Keterangan


1. AppServer Main() Digunakan untuk menuliskan kode skenario pengujian
2. Karyawan +String getNama() Mengakses attribute Nama Karyawan
+String getNPWP() Mengakses attribute NPWP Karyawan
+void setGaji(real: Gaji) Mengisi/mengatur attribute Gaji dari Karyawan
+void setStatus(int : s) Mengisi/mengatur attribute Status dari Karyawan
dengan aturan:
Status=1 bila telah membayar pajak
Status=0 bila belum membayar pajak (default)
+real 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%

Menampilkan informasi Karyawan dengan format:


+void viewInfo() Nama: <>
NIP: <>
NPWP: <>
Pajak: <>
Proses pengisian/pengaturan attribute Nama,NIP dan
NPWP agar dilakukan dengan menggunakan
Konstuktor
Aturan Tambahan

3 Perusahaan +view AllKaryawan() Menampilkan informasi seluruh Karyawan dengan


cara memanggil method viewInfo() pada kelas
+void FilterKaryawan(Real Karyawan
Pajak) Melakukan mekanisme filtering dengan menampilkan
info karyawan yang memiliki Pajak >= nilai
+void FilterKaryawan(int parameter yang diinputkan
Status) Melakukan mekanisme filtering dengan menampilkan
info karyawan yang memiliki Status == nilai
+Real HitungPajakTotal() parameter yang diinputkan
Menghitung jumlah pajak Karyawan yang harus
disetorkan oleh Perusahaan (baik yang statusnya
+ void addKaryawan (Karyawan sudah bayar maupun belum bayar)
K) Menambahakan seorang Karyawan ke dalam
+void ViewInfo() 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, dengan memanfaatkan methoid
ViewInfo() milik kelas Perusahaan
+void addPerusahaan Menambahakan data sebuah Perusahaan ke dalam
(Perusahaan P) ListPerusahaan
+Real HitungPajakTotal() 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
Menampilkan informasi tentang KPP dengan Format:
+void ViewInfo() Nama: <>
Jumlah Perusahaan:<>
Target Pajak: <Pajak Total>
Realisasi Pajak: <Pajak Masuk>
Persentase Realisasi Pajak: <>
Proses pengisian/pengaturan attribute Nama agar
dilakukan dengan menggunakan Konstuktor

Aturan Tambahan
Note: - Ukuran array diasumsikan maksimal 50
- Menampilkan = melakukan penulisan ke layar dengan menggunakan System.out.println()
- 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