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
- 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:
/*
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
programnya gabisa dijalanin 😦
yg bagian mana y? saya udh lama gak review.. hehehe 🙂
kalo programnya gak jalan, bisa diketik ulang sendiri, sudah saya tampilkan source code nya. 🙂