Enkapsulasi memiliki arti mengelompokkan program kedalam satu unit sehingga program menjadi mudah digunakan. Mampu menangani berbagai input yang diberikan dan menghasilkan output yang benar. Melindungi program dari pengaksesan variabel kritis oleh proses atau perubahan oleh programer selama tahap pembangunan program.

Manfaat enkapsulasi

1. Modularitas

Source code dari sebuah class dapat dikelola secara independen dari source code class yang lain. Perubahan internal pada sebuah class tidak akan berpengaruh bagi class yang menggunakannya.

2. Information Hiding

Penyembunyian informasi yang tidak perlu diketahui objek lain.

Contoh Deklarasi enkapsulasi :

public class siswa {

private int nrp;

public void setNrp(int n){

nrp = n;

}

}

contoh project enkapsulasi :

/*

buat kelas baru dengan nama Mahasiswa.java

*/

public class Mahasiswa {

private int nrp;

private String nama;

public Mahasiswa(int i, String n){

this.nrp = i;

this.nama = n;

}

public void  setNRP(int nrp) {

this.nrp = nrp;

}

public int getNRP () {

return nrp;

}

public void setNama(String nama) {

this.nama = nama;

}

public String getNama() {

return nama;

}

}//end class

/*

buat kelas main untuk menjalankan program dengan nama TesMahasiswa.java

*/

public class TesMahasiswa {

public static void main (String []args){

int nomer;

String nm;

Mahasiswa siswa = new Mahasiswa(123, “1”);

System.out.println(siswa.getNRP());

System.out.println(siswa.getNama());

siswa.setNama(“SoOn”);

siswa.setNRP(111);

System.out.println(siswa.getNRP());

System.out.println(siswa.getNama());

}

}//end class

output program :

download contoh project disini

Praktikum enkapsulasi

  1. Implementasikan Class Tanggal.java berikut ini:

penyelesaian soal nomer 1 :

/*

buat kelas baru dengan nama Tanggal.java sesuai UML yang di tentukan diatas

kemudian ketik source code programnya seperti berikut :

*/

public class Tanggal {

private int tgl;

private int bln;

private int tahun;

public  Tanggal(int tgl, int bln, int thn) {

System.out.println(tgl+” “+bln+” “+thn);

}

}//end class

2. Buatlah program untuk menguji Class Tanggal.java !!

penyelesaian tugas nomer 2 :

/*

buat kelas main dengan nama TesTanggal.java

kelas main ini digunakan untuk menguji kelas pada nomer 1 dan nomer 3

*/

public class TesTanggal {

public static void main (String []args){

//memanggil konstruktor pada soal nomer 1

Tanggal kalender = new Tanggal(24, 9, 1990);

//memanggil konstruktor pada soal nomer 3

TanggalNomer3 tgl = new TanggalNomer3(24);

TanggalNomer3 tglbln = new TanggalNomer3(24,9);

TanggalNomer3 tglblnthn = new TanggalNomer3(24,9,1990);

}

}//end class

3. Dari UMl class diagram Tanggal diatas, implementsikan class yang memenuhi konsep Overloading Construct berikut:

penyelasaian soal nomer 3:

/*

buat kelas baru dengan nama TanggalNomer3.java

lenkapi programmu seperti source code berikut:

*/

public class TanggalNomer3 {

private int tgl;

private int bln;

private int tahun;

public TanggalNomer3(int tgl){

System.out.println(tgl);

}

public TanggalNomer3(int tgl, int bln){

System.out.println(tgl +” “+bln);

}

public TanggalNomer3(int tgl, int bln, int thn){

System.out.println(tgl +” “+bln+” “+thn);

}

}

untuk menguji kelas yang telah di buat, jalankan kelas main yaitu kelas TesTanggal.java

berikut hasil running programnya :

download project praktikum Enkapsulasi disini

Comments
  1. tiara says:

    programnya gabisa dijalanin 😦

Leave a comment