Kamis, 12 April 2012

Enkapsulasi pada OOP


Apaa kabar sahabat blogger ?? Baik dong pastinya ?haha :D
Pada kesempatan kali ini saya akan membahas tentang Enkapsulasi pada OOP. Mulai dari pengertiannya, jenis-jenisnya, manfaatnya, dan pasti contoh programnya pastinya :)
Okee langsung ajah yaa. Cekidot :)
#Pengertian Enkapsulasi
Enkapsulasi adalah
Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail dari suatu class.
Dalam kehidupan sehari hari enkapsulasi dapat dimisalkan sebagai arus listrik pada generator, dan sistem perputaran generator untuk menghasilkan arus listrik. Kerja arus listrik tidak mempengaruhi kerja dari sistem perputaran generator, begitu pula sebaliknya. Karena didalam arus listrik tersebut, kita tidak perlu mengetahui bagaimana kinerja sistem perputaran generator, apakah generator berputar kebelakang atau ke depan atau bahkan serong. Begitu pula dalam sistem perputaran generator, kita tidak perlu tahu bagaimana arus listrik, apakah menyala atau tidak.
Begitulah konsep kerja dari enkapsulasi, dia akan melindungi sebuah program dari akses ataupun intervensi dari program lain yang mempengaruhinya. Hal ini sangat menjaga keutuhan program yang telah dibuat dengan konsep dan rencana yang sudah ditentukan dari awal.
#Jenis Enkapsulasi
1. Public : Jika kita menggunakan public maka segala akses bisa digunakan oleh siapapun, semua method,class,variabel. Jadi program tersebut belum di enkapsulasi
2.Private : Jika kita meenggunakan private maka segala hak akses tidak bisa dipakai sembarang class. Maka ini bisa dibilang sudah ada enkapsulasi di dalam program tersebut.
#Manfaat Enkapsulasi
1. Information Hiding : Untuk menyembunyikan informasi serta method yang digunakan dalam sebuah objek atau prgram untuk menjaga program tersebut
2. Modularitas : Kode sumber dari sebuah objek dapat dikelola secara independen dari  kode sumber objek yang lain.
#Contoh Program Enkapsulasi
class mhsiswa {
public static void main(String[] args) {
Mahasiswa2 eko = new Mahasiswa2("Mateus Eko Prasetyo", "54410257");
System.out.println("Nama \t: " + eko.tampilkanNama());
System.out.println("NPM \t : " + eko.tampilkanNpm());
eko.kelas();
System.out.println();
Mahasiswa2 rina = new Mahasiswa2("Rina Ravela Susantika", "55410971");
System.out.println("Nama \t: " + rina.tampilkanNama());
System.out.println("NPM \t : " + rina.tampilkanNpm());
rina.kelas();
System.out.println();
}
}
//lalu buat file baru lagi dengan nama class mahasiswa2
public class Mahasiswa2 {
private String nama;
private String npm;
public Mahasiswa2(String n, String npm) {
this.nama = n;
this.npm = npm;
}
public String tampilkanNama() {
return nama;
}
public String tampilkanNpm() {
return npm;
}
public void kelas() {
System.out.println("2IA07");
}
}
#Logika Program
Pada file/kelas yang bernama "mhsiswa" itu merupakan program utama dari program enkapsulasi ini,
Mahasiswa2 eko = new Mahasiswa2("Mateus Eko Prasetyo", "54410257");
System.out.println("Nama \t: " + eko.tampilkanNama());
System.out.println("NPM \t : " + eko.tampilkanNpm());
eko.kelas();
Pada baris pertama dipenggalan program diatas merupakan sebuah pembuatan panggilan baru sebuah objek yang dimana objek tersebut masih ada kaitannya dengan class mahasiswa2 jadi syntaksnya mahasiswa2 eko = new mahasiswa2() . Nah pada baris selanjutnya itu merupakan syntaks untuk mencetak output yang dimana data untuk hasil output diambil dari hasil inputan pada saat dibagian pembuatan panggilan baru untuk objek atau yang ada didalam kurung Mahasiswa2 eko = new Mahasiswa2("Mateus Eko Prasetyo", "54410257");  
Untuk yang class Mahasiswa2 berikut logikanya :
private String nama;
private String npm;
public Mahasiswa2(String n, String npm) {
this.nama = n;
this.npm = npm;
Diatas ditulis private karena kita ingin membatasi hak akses dari class lain atau objek lain terhadap variabel nama dan npm sehingga kita beri atribut private. Lalu untuk baris selanjutnya merupakan pendeklarasian dari kelas mahasiswa2 tersebut memiliki 2data bertipe string yaitu n dan npm dimana n = nama , dan npm = npm.
public String tampilkanNama() {
return nama;
}
public String tampilkanNpm() {
return npm;
}
public void kelas() {
System.out.println("2IA07");
}
Lalu maksud dari tampilkanNama() return nama dan tampilkanNpm() return npm adalah sebagai method untuk menampilkan nama dan npm dengan mengambil nilainya dari variabel nama dan npm. Selanjutnya untuk  public void kelas() { System.out.println("2IA07"); maksudnya adalah kita membuat method kelas yang dimana jika kita panggil pada class mhsiswa akan mencetak output "2ia07"
Jadi kedua kelas tersebut saling berhubungan satu sama lain,maka pada class mahasiswa2 banyak syntaks yang mencantumkan ".tampilkanNama() , .kelas , dll " itu adalah untuk memanggil atau mengabil data dari class mhsiswa. Sekian penjelasannya ,maaf jika ada kesalahan, maklum masih belajar :p
#Output Program
My Partner : Mateus Eko Prasetyo
Sumber :

Tidak ada komentar:

Posting Komentar