Metode helper (pembantu) ini bisa dipanggil dari konstruktor kelas. Pada kasus ini, metode helper yang dibuat, usia(), dipanggil pada konstruktor default (tanpa argumen). Metode helper ini juga dipanggil dari metode publik usiaKaryawan(int) sehinga bila nilai usia yang dimasukkan bernilai negatif, maka nilainya ditetapkan menjadi 0.
========================================================================
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | package tugasPBO; import java.io.*; public class Karyawan { String nama; int usia; String jabatan; double gaji; // Ini adalah konstruktor tanpa argumen dari kelas Karyawan public Karyawan() { this.nama = "Rismon"; this.jabatan = "Dosen Biasa"; usia(0); } /* Ini adalah konstruktor penyalin (copy constructor), * ia menyalin nilai-nilai dari satu objek ke objek lain * (objek yang memanggil konstruktor ini). */ Karyawan(Karyawan salin){ nama = salin.nama; jabatan = salin.jabatan; } //Metode helper ini bisa dipanggil dari konstruktor. void usia(int x) { usia = x; } // Ini adalah konstruktor satu argumen dari kelas Karyawan public Karyawan(String nama) { this.nama = nama; } // Ini adalah konstruktor dua argumen dari kelas Karyawan public Karyawan(String nama, double gaji) { this.nama = nama; this.gaji = gaji; } // Menugaskan usia karyawan pada variabel usia public void usiaKaryawan(int usiaKarya) { if (usiaKarya<0) { usia(0); } else { usia(usiaKarya); } } /* Menugaskan jabatan kepada variabel jabatan*/ public void jabatanKaryawan(String jabatanKarya) { jabatan = jabatanKarya; } /* Menugaskan gaji kepada variabel gaji*/ public void gajiKaryawan(double gajiKarya) { gaji = gajiKarya; } /* Menampilkan identitas karyawan */ public void tampilKaryawan() { System.out.println("Nama:"+ nama); System.out.println("Usia:" + usia); System.out.println("Jabatan:" + jabatan); System.out.println("Gaji:" + gaji); } } |
=======================================================================
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | package tugasPBO; import java.io.*; public class UjiKaryawan { public static void main(String args[]) { //Menciptakan satu objek menggunakan konstruktor tanpa argumen Karyawan karya1 = new Karyawan(); System.out.println("Nilai-nilai data pada objek karya1: "); karya1.tampilKaryawan(); //Menguji metode helper pada konstruktor tanpa argumen //dengan memberikan nilai minus pada usia karya1.usiaKaryawan(-10); System.out.println("\n\n"); System.out.println("Nilai-nilai data pada objek karya1 sekarang: "); karya1.tampilKaryawan(); //Menguji keberadaan konstruktor penyalin (copy constructor) Karyawan karya1_salin = new Karyawan(karya1); System.out.println("\n\n"); System.out.println("Nilai-nilai data pada objek karya1_salin: "); karya1_salin.tampilKaryawan(); /* Menciptakan satu objek menggunakan konstruktor satu argumen*/ Karyawan karya2 = new Karyawan("Hamzan"); System.out.println("\n\n"); System.out.println("Nilai-nilai data pada objek karya2: "); karya2.tampilKaryawan(); /* Menciptakan satu objek menggunakan konstruktor dua argumen*/ Karyawan karya3 = new Karyawan("Robert", 1000000); System.out.println("\n\n"); System.out.println("Nilai-nilai data pada objek karya3: "); karya3.tampilKaryawan(); // Memanggil metode-metode dari objek karya1 System.out.println("\n\n"); System.out.println("Nilai-nilai data pada objek karya1 sekarang: "); karya1.usiaKaryawan(26); karya1.gajiKaryawan(1000000); karya1.tampilKaryawan(); // Memanggil metode-metode dari objek karya2 System.out.println("\n\n"); System.out.println("Nilai-nilai data pada objek karya2 sekarang: "); karya2.usiaKaryawan(21); karya2.jabatanKaryawan("Insinyur Informatika"); karya2.gajiKaryawan(500000); karya2.tampilKaryawan(); // Memanggil metode-metode dari objek karya3 System.out.println("\n\n"); System.out.println("Nilai-nilai data pada objek karya3 sekarang: "); karya3.usiaKaryawan(21); karya3.jabatanKaryawan("Insinyur Senior"); karya3.tampilKaryawan(); } } |
========================================================================
KELUARAN PROGRAM:
Nilai-nilai data pada objek karya1:
Nama:Rismon
Usia:0
Jabatan:Dosen Biasa
Gaji:0.0
Nilai-nilai data pada objek karya1 sekarang:
Nama:Rismon
Usia:0
Jabatan:Dosen Biasa
Gaji:0.0
Nilai-nilai data pada objek karya1_salin:
Nama:Rismon
Usia:0
Jabatan:Dosen Biasa
Gaji:0.0
Nilai-nilai data pada objek karya2:
Nama:Hamzan
Usia:0
Jabatan:null
Gaji:0.0
Nilai-nilai data pada objek karya3:
Nama:Robert
Usia:0
Jabatan:null
Gaji:1000000.0
Nilai-nilai data pada objek karya1 sekarang:
Nama:Rismon
Usia:26
Jabatan:Dosen Biasa
Gaji:1000000.0
Nilai-nilai data pada objek karya2 sekarang:
Nama:Hamzan
Usia:21
Jabatan:Insinyur Informatika
Gaji:500000.0
Nilai-nilai data pada objek karya3 sekarang:
Nama:Robert
Usia:21
Jabatan:Insinyur Senior
Gaji:1000000.0
========================================================================
PERHATIAN: Meskipun usia karyawan diberikan nilai -10, namun nilai data usia dari objek karya1 menjadi tetap 0. Hal ini karena ambang-batas yang diberikan pada metode publik usiaKaryawan(int) dengan memanfaatkan metode helper.
No comments:
Post a Comment