Dalam Object Oriented Programming (OOP), salah satu konsep paling penting yang harus dipahami adalah encapsulation atau enkapsulasi. Encapsulation berarti data dan proses tidak dipisahkan, melainkan dibungkus menjadi satu kesatuan yang disebut object. Konsep ini membantu program menjadi lebih rapi, aman, dan mudah dikembangkan.
Pada pemrograman terstruktur (yang telah dipelajari di semester sebelumnya), data biasanya disimpan dalam variabel, sedangkan prosesnya ditulis dalam perintah atau fungsi terpisah. Pendekatan ini masih efektif untuk program kecil, tetapi ketika program semakin besar, pengelolaan data dan proses menjadi sulit. OOP hadir untuk mengatasi masalah tersebut.
Apa yang Dimaksud “Data dan Proses Jadi Satu”?
Dalam OOP:
- Data disimpan dalam attribute / property
- Proses ditulis dalam method
- Keduanya berada di dalam class yang sama
Class dapat dianggap sebagai cetakan, sedangkan object adalah hasil nyata dari cetakan tersebut. Setiap object menyimpan data dan memiliki cara sendiri untuk mengolah data tersebut.
Contoh Perbandingan: Terstruktur vs OOP
Pendekatan Terstruktur
int panjang = 10;
int lebar = 5;
int luas = panjang * lebar;
Console.WriteLine(luas);
Pada contoh di atas:
- Data (
panjang,lebar) terpisah dari proses - Proses dapat mengakses data secara langsung
Pendekatan OOP (Encapsulation)
class Persegi
{
public int panjang;
public int lebar;
public int HitungLuas()
{
return panjang * lebar;
}
}
class Program
{
static void Main()
{
Persegi p = new Persegi();
p.panjang = 10;
p.lebar = 5;
Console.WriteLine(p.HitungLuas());
}
}
Pada pendekatan ini:
- Data (
panjang,lebar) dan proses (HitungLuas()) berada dalam satu class - Object
pmenyimpan data dan mengetahui cara menghitung luasnya sendiri
Inilah inti dari encapsulation.
Mengapa Encapsulation Itu Penting?
Encapsulation memberikan beberapa keuntungan utama:
- Kode lebih rapi → data dan proses terorganisir
- Lebih aman → data tidak sembarang diubah
- Mudah dikembangkan → perubahan tidak merusak bagian lain
- Mudah dipahami → setiap object punya tugas yang jelas
Encapsulation juga menjadi dasar untuk materi lanjutan seperti access modifier (public, private), constructor, dan inheritance.
Contoh Kasus Sederhana: Akun Game
class AkunGame
{
public string username;
private int level;
public void SetLevel(int lvl)
{
level = lvl;
}
public void TampilInfo()
{
Console.WriteLine("Username: " + username);
Console.WriteLine("Level: " + level);
}
}
class Program
{
static void Main()
{
AkunGame player = new AkunGame();
player.username = "RPL_Jaya";
player.SetLevel(10);
player.TampilInfo();
}
}
Pada contoh ini:
leveltidak bisa diubah langsung karena bersifatprivate- Perubahan level harus melalui method
SetLevel()
Ini menunjukkan bahwa encapsulation bukan hanya menggabungkan data dan proses, tetapi juga melindungi data.
Studi Kasus Latihan Mandiri
Latihan 1
Buat class Motor dengan:
- Attribute:
merk,tahun - Method:
InfoMotor()untuk menampilkan data motor
Latihan 2
Buat class Siswa dengan:
- Attribute:
nama,nilai - Method:
CekKelulusan()- Jika nilai ≥ 75 → tampilkan “Lulus”
- Jika tidak → “Tidak Lulus”
Kesimpulan
Encapsulation adalah konsep dasar OOP yang menyatakan bahwa data dan proses dibungkus menjadi satu kesatuan dalam object. Dengan encapsulation, program menjadi lebih terstruktur, aman, dan mudah dikembangkan. Memahami konsep ini dengan baik akan sangat membantu dalam mempelajari OOP lebih lanjut seperti constructor, inheritance, dan polymorphism.
Topik sebelumnya: Pemrograman Berorientasi Obyek: Class dan Object dalam C#
















