BAB II | Enkapsulasi
Enkapsulasi/
Pembungkusan (Encapsulation)
Enkapsulasi
merupakan suatu cara pembungkusan data dan method yang menyusun suatu kelas
sehingga kelas dapat dipandang sebagai suatu modul dan cara bagaimana
menyembunyikan informasi detail dari suatu class (information hiding). Dalam
OOP, enkapsulasi sangat penting untuk keamanan serta menghindari kesalahan
permrograman, pembungkus disini dimaksudkan untuk menjaga suatu proses program
agar tidak dapat diakses secara sembarangan atau di intervensi oleh program
lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan
program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut.
Dua hal yang
mendasar dalam enkapsulasi yakni :
• Information
hiding.
• Interface to
access data.
Information
hiding
Sebelumnya
kita dapat mengakses anggota class baik berupa atribut maupun method secara
langsung dengan menggunakan objek yang telah kita buat. Hal ini dikarenakan
akses kontrol yang diberikan kepada atribut maupun method yang ada di dalam
class tersebut adalah 'public'. Kita dapat menyembunyikan informasi dari suatu
class sehingga anggota class tersebut tidak dapat diakses dari luar, caranya
adalah hanya dengan memberikan akses kontrol 'private' ketika mendeklarasikan
atribut atau method. Proses ini disebut dengan information hiding.
Interface to
access data
Jika kita
telah melakukan information hiding terhadap suatu atribut pada suatu class,
lalu bagaimana cara melakukan perubahan terhadap atribut yang kita sembunyikan
tersebut, caranya adalah dengan membuat suatu interface berupa method untuk
menginisialisasi atau merubah nilai dari suatu atribut tersebut.
Manfaat utama
teknik encapsulation adalah kita mampu memodifikasi kode tanpa merusak kode
yang telah digunakan pada class lain.
Enkapsulasi
memiliki manfaat sebagai berikut:
>
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.
>
Information Hiding
Penyembunyian
informasi yang tidak perlu diketahui objek lain.
Contoh
programnya seperti ini:
Dengan menggunakan C# :
/*
* Created by SharpDevelop.
* User: dino fajar rizkian
* Date: 12/05/2012
* Time: 9:14
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
namespace hiding
{
class id
{
private string NamaChar="";
private string Server;
private int IdChar;
public string namachar
{
get{return NamaChar;}
set
{
this.NamaChar = value;
}
}
public string server
{
get{return Server;}
set
{
this.Server = value;
}
}
public int idchar
{
get{return IdChar;}
set
{
this.IdChar = value;
}
}
public string MunculData()
{
return namachar +" " + server +" " + idchar;
}
}
class Program
{
public static void Main(string[] args)
{
id data = new id();
data.namachar = " Ndewo";
data.server = "angin emas";
data.idchar = 1010100;
Console.WriteLine(data.MunculData());
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}
* Created by SharpDevelop.
* User: dino fajar rizkian
* Date: 12/05/2012
* Time: 9:14
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
namespace hiding
{
class id
{
private string NamaChar="";
private string Server;
private int IdChar;
public string namachar
{
get{return NamaChar;}
set
{
this.NamaChar = value;
}
}
public string server
{
get{return Server;}
set
{
this.Server = value;
}
}
public int idchar
{
get{return IdChar;}
set
{
this.IdChar = value;
}
}
public string MunculData()
{
return namachar +" " + server +" " + idchar;
}
}
class Program
{
public static void Main(string[] args)
{
id data = new id();
data.namachar = " Ndewo";
data.server = "angin emas";
data.idchar = 1010100;
Console.WriteLine(data.MunculData());
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}
gambarnya seperti ini:
Dengan menggunakan java:
/*
* To change this template, choose Tools |
Templates
* and open the template in the editor.
*/
package
hiding;
class id
{
private String NamaChar;
public void id (String namachar)
{
this.NamaChar = namachar ;
System.out.println(namachar);
}
}
class ini
{
private String Server;
public void ini (String server)
{
this.Server = server ;
System.out.println(server);
}
}
class itu
{
private String IdChar;
public void itu (String idchar)
{
this.IdChar = idchar;
System.out.println(idchar);
}
}
public class
Main
{
public static void main(String[] args) {
id data = new id();
data.id("ndewo");
ini ada = new ini();
ada.ini("angin emas");
itu sana = new itu();
sana.itu("101010100");
}
}
gambarnya seperti ini:
Dengan menggunakan C++:
#include
<iostream>
using
namespace std;
class id
{
private :
char NamaChar[50];
char Server [20];
unsigned long IdChar;
public : void getdata()
{
cout << endl << "input
nama character : ";
cin >> NamaChar;
cout
<< endl << "input server character : ";
cin >> Server;
cout << endl << "input
ID character : ";
cin >> IdChar;
}
void letakandata()
{
cout << endl << "nama
character: " << NamaChar;
cout << endl <<
"server character: " << Server;
cout << endl << "ID
character: " << IdChar;
}
};
int main()
{
id i1;
cout << endl;
cout <<"masukan data id User
";
i1.getdata();
cout << "\ndata id : ";
i1.letakandata();
return 0;
}
gambarnya seperti ini:
0 komentar:
Posting Komentar