PEMBAHASAN BAB 6 - Pemrograman Lanjut / PBO : INHERITANCE

C. PEMBAHASAN

Employee.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Package dimana file java disimpan. Deklarasi class Employee, merupakan kelas yang akan menjadi kelas induk atau superclass. Deklarasi variable bertipe String bernama nama, jabatan, idKerja, dan istri. Di mana variable-variable ini bisa diakses oleh class lain karena memiliki access modifier public. Deklarsi variable bertipe integer thnKerja dan anak. Variable ini memiliki access modifier default, sehingga mampu diakses oleh class lain. Deklarasi variable static double gaji dan bonus, dengan keyword static, nilai kedua variable ini tidak akan berubah tanpa adanya suatu statemen yang melibatkan variable tersebut. Deklarasi constructor dengan enam parameter, yakni String nama, String jabatan, String idKerja, String istri, int anak, dan int thn. Inisialisasi variable nama dengan nilai samadengan nilai parameter String nama, Pada baris ini terdapat keyword this yang berfungsi sebagai alat bantu bagi sebuah program agar program tersebut mampu menentukan manakah yang merupakan variable, sehingga tidak akan mengalami kebingungan dan program akan berjalan dengan baik. Inisialisasi variable jabatan dengan nilai samadengan nilai parameter jabatan. Inisialisasi variable idKerja dengan nilai samadengan nilai parameter idKerja. Inisialisasi variable istri dengan nilai samadengan nilai parameter istri. Inisialisasi variable anak dengan nilai samadengan nilai parameter anak. Inisialisasi variable thnKerja dengan nilai samadengan nilai parameter thn. Di sini terlihat perbedaan dengan inisialisasi sebelumnya, di sini tidak memerlukan keyword this, karena antara variable dan parameter memiliki nama yang berbeda. Akhir dari deklarasi construktor. Deklarasi accessor method String bernama getNama. Memiliki access modifier public, sehingga mampu diakses oleh class lain. Memanggil nilai variable nama. Akhir dari method accessor getNama. Deklarasi accessor method String bernama getJabatan. Memiliki access modifier public, sehingga mampu diakses oleh class lain. Memanggil nilai variable jabatan. Akhir dari method accessor getJabatan. Deklarasi accessor method String bernama getIdKerja. Memiliki access modifier public, sehingga mampu diakses oleh class lain. Memanggil nilai variable idKerja. Akhir dari method accessor getIdKerja. Deklarasi accessor method String bernama getGaji. Memiliki access modifier public, sehingga mampu diakses oleh class lain. Memanggil nilai variable gaji. Akhir dari method accessor getGaji. Akhir dari deklarasi class Employee. Managerr.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Package dimana file java disimpan. Deklarasi class Managerr, class ini merupakan anak atau subclass dari superclass Employee, ditandai dengan adanya extends. Deklarasi constructor dengan enam parameter, yakni String nama, String jabatan, String idKerja, String istri, int anak, dan int thn. Dengan keyword super, subclass Manager akan memanggil constructor dari superclass terdekat, yaitu constructor Employee dengan enam parameter. Dengan menggunakan keyword super ini, semua statemen yang ada pada constructor yang dipanggil akan berjalan secara implisit, sehingga tidak diperlukan terlalu banyak code program. Inisialisasi variable gaji dari superclass dengan nilai 5000000. Akhir deklarasi construktor. Deklarasi method void bernama setBonus dengan terdapat tiga parameter, yakni int thn, String istri, dan int anak. Method ini digunakan untuk menghitung total gaji yang sudah diakumulasikan dengan bonus atau tunjangan. Apabila nilai parameter thn kurang dari 11, maka... Inisialisasi variabel gaji samdengan nilai gaji akan ditambahkan dengan nilai 0.05 gaji itu sendiri. Apabila kemungkinan dari baris 8 tidak terjadi, maka ... Inisialisasi variabel gaji samdengan nilai gaji akan ditambahka dengan 0.1 gaji, kemudian ditambahkan lagi dengan nilai penambah terakhir. Akhir dari statement kondisi. Baris kosong. Apabila input status pernikahan String istri samadengan kata “Kawin”, dan tidak memiliki anak, maka ... Inisialisasi variabel gaji samdengan nilai gaji akan ditambahkan dari nilai 0.1 +0.1 gaji, yang merupakan tunjangan untuk istri dan bonus khusus untuk manager. Apabila input status pernikahan String istri samadengan kata “Kawin”, dan mempunyai anak kurang dari 4 kecuali 0, maka ... Inisialisasi variabel gaji samdengan nilai gaji akan ditambah 0.1 gaji dari tunjangan istri, 0.1 gaji dari bonus khusus, dan 0.15 gaji dari tunjangan untuk satu anak. Apabila input status pernikahan String istri samadengan kata “Kawin”, dan mempunyai anak kurang dari 4 kecuali 0, maka ... Inisialisasi variabel gaji samdengan nilai gaji akan ditambah 0.1 gaji dari tunjangan istri, 0.1 gaji dari bonus khusus, dan 0.45 gaji dari tunjangan untuk tiga anak, karena maksimal tunjangan hanya untuk tiga anak. Apabila input status pernikahan String istri samadengan kata “Cerai”, dan mempunyai anak kurang dari 4 kecuali 0, maka ... Inisialisasi variabel gaji samdengan nilai gaji akan ditambah 0.1 gaji dari bonus khusus, dan 0.15 gaji dari tunjangan untuk satu anak. Apabila input status pernikahan String istri samadengan kata “Cerai”, dan mempunyai anak kurang dari 4 kecuali 0, maka ... Inisialisasi variabel gaji samdengan nilai gaji akan ditambah 0.1 gaji dari bonus 24 25 26 27 28 khusus, dan 0.45 gaji dari tunjangan untuk tiga anak, karena maksimal tunjangan hanya untuk tiga anak. Apabila semua kemungkina di atas tidak terjadi, maka ... Inisialisasi variabel gaji samdengan nilai gaji hanya akan ditambahkan dengan 0.1 gaji dari bonus khusus manager. Akhir dari statement kondisi. Akhir dari method setBonus. Akhir dari deklarasi class Managerr. PegawaiTetap.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Package dimana file java disimpan. Deklarasi class PegawaiTetap, class ini merupakan anak atau subclass dari superclass Employee, ditandai dengan adanya extends. Deklarasi constructor dengan enam parameter, yakni String nama, String jabatan, String idKerja, String istri, int anak, dan int thn. Dengan keyword super, subclass Manager akan memanggil constructor dari superclass terdekat, yaitu constructor Employee dengan enam parameter. Dengan menggunakan keyword super ini, semua statemen yang ada pada constructor yang dipanggil akan berjalan secara implisit, sehingga tidak diperlukan terlalu banyak code program. Inisialisasi variable gaji dari superclass dengan nilai 3000000. Akhir deklarasi construktor. Deklarasi method void bernama setBonus dengan terdapat tiga parameter, yakni int thn, String istri, dan int anak. Method ini digunakan untuk menghitung total gaji yang sudah diakumulasikan dengan bonus atau tunjangan. Apabila nilai parameter thn kurang dari 11, maka ... Inisialisasi variabel gaji samdengan nilai gaji akan ditambahkan dengan nilai 0.05 gaji itu sendiri. Apabila kemungkinan dari baris 8 tidak terjadi, maka ... Inisialisasi variabel gaji samdengan nilai gaji akan ditambahka dengan 0.1 gaji, kemudian ditambahkan lagi dengan nilai penambah terakhir. Akhir dari ststement kondisi. Baris kosong. Apabila input status pernikahan String istri samadengan kata “Kawin”, dan tidak memiliki anak, maka ... Inisialisasi variabel gaji samdengan nilai gaji akan ditambahkan dari nilai 0.1 gaji, yang merupakan tunjangan untuk istri. Apabila input status pernikahan String istri samadengan kata “Kawin”, dan mempunyai anak kurang dari 4 kecuali 0, maka ... Inisialisasi variabel gaji samdengan nilai gaji akan ditambah 0.1 gaji dari tunjangan istri, dan 0.15 gaji dari tunjangan untuk satu anak. Apabila input status pernikahan String istri samadengan kata “Kawin”, dan mempunyai anak kurang dari 4 kecuali 0, maka ... Inisialisasi variabel gaji samdengan nilai gaji akan ditambah 0.1 gaji dari tunjangan istri, dan 0.45 gaji dari tunjangan untuk tiga anak, karena maksimal tunjangan hanya untuk tiga anak. 21 22 23 24 25 26 27 28 Apabila input status pernikahan String istri samadengan kata “Cerai”, dan mempunyai anak kurang dari 4 kecuali 0, maka ... Inisialisasi variabel gaji samdengan nilai gaji akan ditambah 0.15 gaji dari tunjangan untuk satu anak. Apabila input status pernikahan String istri samadengan kata “Cerai”, dan mempunyai anak kurang dari 4 kecuali 0, maka ... Inisialisasi variabel gaji samdengan nilai gaji akan ditambah 0.45 gaji dari tunjangan untuk tiga anak, karena maksimal tunjangan hanya untuk tiga anak. Apabila semua kemungkina di atas tidak terjadi, maka ... Inisialisasi variabel gaji samdengan nilai gaji tidak akan mengalami perubahan. Akhir dari statement kondisi. Akhir deklarasi method setBonus. Akhir dari deklarasi class PegawaiTetap. PegawaiTidakTetap.java 1 2 3 4 5 6 7 8 9 10 Package dimana file java disimpan. Deklarasi class PegawaiTidakTetap, class ini merupakan anak atau subclass dari superclass Employee, ditandai dengan adanya extends. Deklarasi constructor dengan enam parameter, yakni String nama, String jabatan, String idKerja, String istri, int anak, dan int thn. Dengan keyword super, subclass Manager akan memanggil constructor dari superclass terdekat, yaitu constructor Employee dengan enam parameter. Dengan menggunakan keyword super ini, semua statemen yang ada pada constructor yang dipanggil akan berjalan secara implisit, sehingga tidak diperlukan terlalu banyak code program. Inisialisasi variable gaji dari superclass dengan nilai 1500000. Akhir deklarasi construktor. Deklarasi method void bernama setBonus dengan terdapat satu parameter, yakni int jam. Method ini digunakan untuk menghitung total gaji yang didapat pegawai tidak tetap yang ditentukan melalui lama jam lembur. Inisialisasi variabel gaji samdengan nilai gaji yang ditambah Rp. 10000 tiap jam lemburnya, yang kemudian total jam lembur dikalikan 30, sesuai jumlah hari dalam sebulan. Akhir dari deklarasi method setBonus. Akhir deklarasi class PegawaiTidakTetap. Main.java 1 2 3 4 6 7 Package dimana file java disimpan. Program mengimport dari package java.io, sehingga kita bisa menggunakan class- class yang ada di dalamnya, misal saja, BufferedReader. Deklarasi class Main, merupakan class utama. Deklarasi dan inisialisasi variable static daftar yang berisi daftar nama dan gaji pegawai. Deklarasi method void main, dengan throws IOException agar BufferedReader dapat berfungsi. Deklarasi variable bernama in dengan tipe class BufferedReader. 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 26 27 28 29 30 31 32 33 34 35 36 37 Kondisi perulangan yang dimulai dari i = 0, perulangan akan berhenti saat i mencapai 15 karena di tiap perulangan i akan ditambah 1. Menampilkan sebuah output “Data Pegawai ke” yang diikuti nilai i+1 yang diikuti sebuah baris baru. Menampilkan sebuah output “ID Kerja : ” tanpa baris baru. Method memanggil in.readLine, mendapatkan input dari user dan memberikan nilai String yang akan disimpan pada variable id. Menampilkan sebuah output “Nama Pegawai : ” tanpa baris baru. Method memanggil in.readLine, mendapatkan input dari user dan memberikan nilai String yang akan disimpan pada variable nama. Menampilkan sebuah output “Jabatan : ” tanpa baris baru. Method memanggil in.readLine, mendapatkan input dari user dan memberikan nilai String yang akan disimpan pada variable jabatan. Menampilkan sebuah output “Tahun Masuk : ” tanpa baris baru. Method memanggil in.readLine, mendapatkan input dari user dan memberikan nilai String yang akan diubah ke nilai integer, kemudian disimpan pada variable thn. Menampilkan sebuah output “Lama Jam Kerja : ” tanpa baris baru. Method memanggil in.readLine, mendapatkan input dari user dan memberikan nilai String yang akan diubah ke nilai integer, kemudian disimpan pada variable jam. Menampilkan sebuah output “Status Pernikahan : ” tanpa baris baru. Method memanggil in.readLine, mendapatkan input dari user dan memberikan nilai String yang akan disimpan pada variable status. Menampilkan sebuah output “Jumlah Anak : ” tanpa baris baru. Method memanggil in.readLine, mendapatkan input dari user dan memberikan nilai String yang akan diubah ke nilai integer, kemudian disimpan pada variable anak. Apabila input jabatan String jabatan samadengan “Manager”, maka ... Membuat objek bernama bos dari class Manager dengan 6 parameter, yaitu nama, jabatan, id, status, anak, dan thn. Method main akan memanggil method setBonus dari class Manager dengan parameter thn, status, dan anak. Proses perhitungan nilai daftar yang ditambahkan nilai ID, nama, jabatan, dan gaji pegawai. Apabila input jabatan String jabatan samadengan “Pegawai Tetap”, Membuat objek bernama tetap dari class Manager dengan 6 parameter, yaitu nama, jabatan, id, status, anak, dan thn. Method main akan memanggil method setBonus dari class PegawaiTetap dengan parameter thn, status, dan anak. Proses perhitungan nilai daftar yang ditambahkan nilai ID, nama, jabatan, dan gaji pegawai. Apabila input jabatan String jabatan samadengan “Pegawai Tidak Tetap”, Membuat objek bernama tidak dari class Manager dengan 6 parameter, yaitu nama, jabatan, id, status, anak, dan thn. Method main akan memanggil method setBonus dari class PegawaiTidakTetap dengan parameter jam. Proses perhitungan nilai daftar yang ditambahkan nilai ID, nama, jabatan, dan gaji pegawai. 38 39 40 41 42 43 Akhir dari sttement kondisi. Akhir dari perulangan. Menampilkan output dari nilai String daftar yang berisi daftar gaji pegawai. Menampilkan anggota kelompok. Akhir dari deklarasi method main. Akhit deklrasi class Main.

D. SCREENSHOT PROGRAM