Saturday, November 25, 2017

Kelas dan Objek Dalam Java 2: Konstruktor


Pada kelas Karyawan yang telah didefinisikan sebelumnya, akan ditambahkan satu buah konstruktor tanpa argumen dan satu konstruktor dua argumen.

 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
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";
 }
 
 // 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) {
  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);
 }
}

=======================================================================
Untuk menguji kelas Karyawan, Anda mengubah kelas UjiKaryawan untuk mengetahui dampak dari penggunakan konstruktor tanpa argumen, konstruktor satu-argumen, dan konstruktor dua-argumen, yang telah dituliskan:


 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
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();
  
  /* Menciptakan satu objek menggunakan konstruktor satu argumen*/
  Karyawan karya2 = new Karyawan("Hamzan");
  System.out.println("\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");
  System.out.println("Nilai-nilai data pada objek karya3: ");
  karya3.tampilKaryawan();
  
  // Memanggil metode-metode dari objek karya1
  System.out.println("\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");
  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");
  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 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

========================================================================

No comments: