Anda di halaman 1dari 7

Disusun Oleh : Asep Ahmad Sukmadi

Hal. 1


DIKTAT MATA KULIAH PEMROGRAMAN LANJUT
TEKNIK
INFORMATIKA
BAB III
CLASS & ENKAPSULASI

CLASS

Class adalah rancangan / sketsa / deskripsi dari sebuah objek dimana di dalamnya memiliki 2
macam anggota yaitu field / atribut dan juga method/fungsi. Contoh sederhana yang dapat
digambarkan misalnya Mahasiswa. Kita akan menganalisis field/atribut apa saja yang di miliki
mahasiswa (contoh : Nama, NIM, jurusan). Sedangkan method dari class mahasiswa dapat dikatakan
apa yang dapat dilakukan oleh mahasiswa(contoh: masuk,ujian,nilai).
Jika anda membuat suatu aplikasi maka class dapat digambarkan dalam sebuah diagram.
Class mahasiswa diatas jika digambarkan dalam bentuk diagram maka akan seperti berikut:









Field/atribut dalam sebuah class memiliki Access Identifier. Access Identifier sendiri memiliki
2 jenis yaitu public dan private. Pada diagram class mahasiswa diatas terdapat property. Property
digunakan untuk mengambil atau mengubah nilai dari sebuah field yang Acces Identifier-nya bersifat
private.



Method dari
class mahasiswa
Property dari
class mahasiswa
Nama class
Field/atribut dari
class mahasiswa
Mahasiswa
-_Nama : string
-_NIM : string
-_Jurusan : string
+ Nama : string
+ NIM : string
+ Jurusan : string
+ Masuk(): void
+ Ujian():void
+ Nilai():int


Disusun Oleh : Asep Ahmad Sukmadi

Hal. 2

Contoh source code :
Class mahasiswa











Program .cs













using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace mhs
{
class mahasiswa
{
public string nama;
public string jurusan;

public void masuk()
{
Console.WriteLine("{0} Masuk pukul 07:00 ", nama);
}

public void jurus()
{
Console.WriteLine("Jurusan {0} ", jurusan);
}

}
}


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace mhs
{
class Program
{
static void Main(string[] args)
{
mahasiswa a;

a = new mahasiswa();

Console.Write("Nama Mahasiswa : ");
a.nama = (Console.ReadLine());

Console.Write("Jurusan : ");
a.jurusan = (Console.ReadLine());

a.masuk();
a.jurus();
Console.ReadLine();
}
}
}

Field/Atribut
Method
(Masuk dan jurus)
Nama class
Membuat pointer
Membuat Objek
Memanggil method masuk dan
jurus dari class mahasiswa



Disusun Oleh : Asep Ahmad Sukmadi

Hal. 3

Penjelasan dari project di atas, tahap awal kita membuat sebuah class bernama mahasiswa.
Kemudian kita beri beberapa field/atribut (nama,jurusan) dan method/fungsi (masuk() dan jurus())
didalamnya.
Pada fungsi main() dalam program.cs diatas terdapat mahasiswa a; yang berarti kita
sedang membuat pointer, dalam hal ini a adalah nama pointer, pointer tersebut bukanlah objek
melainkan pointer untuk objek mahasiswa. Ketika anda mengetikan a = new mahasiswa(); saat
itulah kita sedang membuat objek mahasiswa.
Penjelasan diatas menjadi hal yang mendasar untuk mengakses sebuah class yang di
didalamnya ada 2 tahap yaitu buat dahulu pointer (nama_class nama_pointer;) kemudian buat
objeknya (nama_pointer = new nama_class();). Contoh penulisan ada 2 cara :




Access Identifier (Modifier)

Access Identifier (modifier) berfungsi untuk menentukan hak akses (baik membaca atau
mengubah) anggota dari sebuah class. Access Identifier terdapat 3 jenis yaitu public (+), private(-)
dan protected (#).
Public : anggota class tersebut dapat di akses oleh method dari class yang lain.
Private : anggota class tersebut hanya dapat diakses oleh method dalam class itu sendiri.
Protected : anggota class tersebut hanya dapat diakses oleh method dalam class itu sendiri
beserta seluruh class turunannya.

Method Getter / Setter

Modifier private hanya dapat diakses oleh anggota classnya itu sendiri, namun private
tersebut bisa saja di akses oleh class yang lain dengan menggunakan method getter / setter. Method
getter / setter digunakan untuk mengakses sebuah anggota class lain dengan access identifier
private. Penjelasan dari kedua method tersebut :
mahasiswa a;
a = new mahasiswa();
mahasiswa a = new mahasiswa();
atau


Disusun Oleh : Asep Ahmad Sukmadi

Hal. 4

Method Getter : method yang digunakan untuk mengubah nilai dari sebuah atribut yang
memiliki modifier bersifat private
Method Setter : method yang digunakan untuk mengambil nilai dari sebuah atribut yang
memilik modifier bersifat private.

Contoh :
1. Buatlah sebuah project baru dan buat class (segi empat.cs).

















Pada kotak merah yang pertama kita membuat 2 method untuk satu field (private int p;)
dengan nama yang berbeda yaitu setter (public void panjang(int pbaru)) dan getter (public
int lihatpanjang()). Hal yang sama dilakukan pada field berikutnya (private int l;) terdapat
method setter dan getter.
Dari field tersebut terdapat method setter yang berarti merubah nilai dari sebuah field yang
bersifat private yang isinya (p = pbaru;) untuk field p dan (l = lbaru;) untuk field l, saat itulah kita
class segiempat
{
private int p;
private int l;
private int luas;

public void panjang(int pbaru)//methode setter untuk field p
{
p = pbaru;
}

public int getpanjang()//methode getter untuk field p
{
return p;
}


public void lebar(int lbaru)//methode setter untuk field l
{
l = lbaru;
}

public int getlebar()//methode getter untuk field l
{
return l;
}

public int luas_segi_empat()
{
luas = p * l;

Console.WriteLine("Luas = {0}", luas);
return luas;
}

}



Disusun Oleh : Asep Ahmad Sukmadi

Hal. 5

sedang merubah nilai field private didalam method public public void panjang(int pbaru) dan
(public void lebar(int lbaru)) dimana method public bisa di akses dari class yang lain.
Method getter dari masing-masing field (public int getpanjang()) untuk field p dan (public
int getlebar()) untuk field l terdapat nilai balik (return p; dan return l;) hal ini adalah
pengambilan nilai dari field yang dimaksud.
2. Tambahkan coding kedalam program utama (program.cs) untuk memanggil class segiempat.









Penjelasan dari program.cs. Pertama kita membuat pointer dan objek (segiempat a;) dan
(a = new segiempat();) setelah itu inputan untuk dua nilai yaitu panjang dan lebar dengan
mengakses method setternya dari class segiempat a.panjang(int.Parse(Console.ReadLine()));
dan a.lebar(int.Parse(Console.ReadLine()));

Property

Property memiliki fungsi yang sama dengan method getter / setter. Property berfungsi untuk
membungkus sebuah field dimana method getter dan setter disatukan dalam sebuah property.
Dengan demikian kita tidak perlu lagi membuat dua method yang berbeda untuk satu field private.
Agar lebih jelas perhatikan contoh project yang menggunakan property :
1. Buat sebuah project baru dan buat class segitiga.cs

class Program
{
static void Main(string[] args)
{
segiempat a;
a = new segiempat();

Console.Write("Masukan panjang : ");
a.panjang(int.Parse(Console.ReadLine()));//method setter panjang

Console.Write("Masukan lebar : ");
a.lebar(int.Parse(Console.ReadLine()));//method setter lebar

a.luas_segi_empat(); //proses dari method segiempat

Console.ReadLine();
}
}



Disusun Oleh : Asep Ahmad Sukmadi

Hal. 6



















Pada class diatas terdapat dua buah property yaitu alas dan tinggi. Penjelasan dari salah satu
property tersebut :

public float alas
float adalah tipe data dari field a yang dibungkus oleh property alas, nama
property nya adalah alas.
get{return a;}
keyword get digunakan bahwa property alas dapat mengembalikan nilai.
set
Keyword set digunakan bahwa property alas dapat mengganti nilai dari
sebuah field
value
Keyword value menyatakan nilai yang dimasukan ketika memanggil set dari
property ini.

Perbedaan penulisan property dan method
Property tidak di akhiri tanda () sedangkan method di akhiri tanda ().




using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace property
{
class segitiga
{
private float a;
private float t;
private float l;

public float alas
{
Get
{return a;}
set
{
a = value;
}
}

public float tinggi
{
get { return t; }
set
{
t = value;
}
}

public float luas()
{
l= (alas * tinggi) / 2;
return l;
}
}
}

Property
alas
Property
tinggi
Method
luas


Disusun Oleh : Asep Ahmad Sukmadi

Hal. 7


Program.cs


















Enkapsulasi

Enkapsulasi adalah proses untuk melindungi field/atribut anggota class dari class lain.
Pembungkusan tersebut dapat dilakukan dengan membatasi access identifier/modifier,
menggunakan method getter/setter, dan menggunakan property. Beberapa alasan digunakannya
enkapsulasi, yaitu :
1. Menjaga data-data penting dari sebuah class agar tetap aman.
2. Memilah data mana yang boleh di rubah dari luar mana yang tidak.
3. Menjaga agar nilai data field sebuah class tetap valid (sesuai dengan batasan yang kita
inginkan).
class Program
{
static void Main(string[] args)
{
segitiga a = new segitiga();

Console.Write("Masukan alas :");
a.alas = int.Parse(Console.ReadLine());

Console.Write("Masukan tinggi : ");
a.tinggi = int.Parse(Console.ReadLine());

Console.Write("Luas segitiga : {0}", a.luas());

Console.ReadLine();
}
}

Anda mungkin juga menyukai