Anda di halaman 1dari 31

Object Oriented

Programming
(Class, Inheritance, Encapsulation dan Interface)

Athanasia &
Daniel

sebuah benda (entity) yang memiliki


batasan (boundary) dan identitas (identity)
yang terdefinisi dengan jelas, yang
membungkus (encapsulate) kondisi (state)
dan perilaku (behavior).

Sebuah object adalah sebuah benda yang


memiliki batasan yang terdefinisi dengan
jelas. Maksudnya, tujuan dari object
tersebut harus jelas.
Sebuah object memiliki dua hal: kondisi
(state) dan perilaku (behavior).
Kondisi (state) dari suatu object sering
dinyatakan melalui attribute dari object
tersebut. Sedangkan perilaku (behavior)
dinyatakan melalui operations dari object
tersebut.

State dapat dipahami sebagai


suatu karakteristik yang
menjelaskan keadaan atau
kondisi suatu object. State
dinyatakan dalam bentuk
attribute atau property yang
memiliki nilai atau isinya
sendiri-sendiri.

Mobil memiliki warna, misalnya berwarna


pink.
Mobil memiliki kapasitas mesin, misalnya
1800 cc.
Monitor komputer memiliki merek tertentu,
misalnya saja samsung.
Seorang mahasiswa memiliki NIM, nama,
alamat. Semuanya merupakan attribute dari
setiap mahasiswa.
Sebuah file pada komputer memiliki ukuran
tertentu, misalnya 37 MegaByte.

Behavior adalah perilaku, bagaimana


sebuah object ber-aksi dan ber-reaksi.
Sebuah object akan melakukan aksi atau
reaksi terhadap request atau permintaan
dari object lain. Misalnya, dapat dilakukan
beberapa aksi pada sebuah object pintu,
yaitu : dapat dibuka, dapat dikunci, dll.
Behavior dinyatakan dalam bentuk method
pemrograman object-oriented.

Sebagai contoh :
Mobil dapat dijalankan ke depan maupun
ke belakang.
Mesin mobil dapat diperbaiki jika rusak.
Monitor komputer dapat dihidupkan atau
dimatikan dengan menekan tombol
power pada monitor.
Seorang mahasiswa dapat mengambil
suatu mata kuliah terntentu.
Sebuah file pada komputer dapat diganti
namanya, dipindahkan atau dihapus.

sekumpulan object yang memiliki attribute,


operasi dan hubungan antar object yang
sama. Sebuah object dinyatakan sebagai
sebuah instance dari sebuah class.

Contoh : mobil (class)


attribute atau property memiliki
roda, memiliki mesin, memiliki pintu,
memiliki tempat duduk dll.
behavior dapat dijalankan ke depan
dan ke belakang, mesin mobil dapat
dihidupkan atau dimatikan, lampu mobil
dapat diganti, pintu mobil dapat ditutup
dan dikunci, mesin dapat diperbaiki atau
diganti spare part-nya jika rusak dll.
Bentuk nyata atau instance
mobil

kijang, mobil honda jazz, dll.


Object trailer atau tronton

kondisi pada suatu object yang membentuk


state dari object tersebut.
Attribute memiliki nama dan nilai yang
spesifik. Setiap attribute juga memiliki type
tertentu sehingga nilai di dalam attribute ini
harus sesuai dengan type yang dimiliki.
Type dalam C# dapat berupa int, string,
bool dll. Sebuah class dapat memiliki
attribute maupun tidak.

Operation adalah implementasi dari sebuah


service yang dapat diminta oleh objectobject lain dari class untuk mempengaruhi
bahavior-nya

[attributes] [class modifier] <class>


<identifier> [class base] <class body>
Class keyword
Identifier nama dari class yang akan
dibuat
Class-body tempat didefinisikannya
attribute dan operation dari object yang
dibangun berdasarkan class ini.

digunakan untuk menunjukkan bahwa suatu


class belum selesai, masih abstrak belum
kongkrit.
Class ini biasanya digunakan sebagai base
class. Abstract class tidak bisa di-create
menjadi object, tetapi bisa me-refer objek
kongkrit yang class-nya diturunkan dari
dirinya. Abstract class boleh memiliki
abstract member.

abstract class

abstract member

Class B turunan class A


Terdapat method G()

Class C turunan class B


Terdapat implementasi F

class yang memakai modifier sealed.


Class yang di-sealed tidak bisa diturunkan
atau tidak bisa menjadi base class dari class
yang lain.

Class D tidak bisa di-compile karena C adalah


sealed class.

Class member dibagi menjadi beberapa kategori:


Konstanta
Field
Method
Properties
Event
Indexer
Operator
Constructor
Destructor

Konstanta adalah anggota Class yang bernilai


tetap.
[attribute] [modifiers] <const> <type>
<deklarasi>

Modifiers : new, public, protected, internal, private.

public
: semua objek boleh akses tanpa
batas.
private
: hanya berlaku dalam Class.
protected : hanya boleh diakses Class sendiri dan
turunannya.
internal
: hanya boleh diakses Class-Class
dalam satu assembly.

Declarasi :
Identifier = expresi
Identifier = expresi , Identifier =expresi

Adalah method dengan nama yang sama


tapi dengan parameter yang berbedabeda.

kemampuan sebuah object untuk menginherit atau mewarisi data dan functionality
dari parent class-nya.
Parent class base class
Child class derived class

Derived class akan meng-inherit segala


hal yang dimiliki oleh base class kecuali
constructor dan destructor. Seluruh
public member dari base class secara
implicit juga menjadi public member dari
derived class. Sedangkan private member
dari base class, meskipun juga di-inherit
oleh derived class, hanya dapat diakses
oleh base class itu sendiri.

Virtual Method
Untuk dapat membuat sebuah method
dari suatu base class bisa di-override oleh
derived class-nya, method tersebut harus
diberi keyword virtual.

Sebuah
virtual
method
harus
ada
implementasinya di base class. Jika tidak
ada implementasi, maka program akan
error.
Sebuah virtual method tidak dapat diberi
access modifier private. Jika method adalah
private, hanya class pemilik method itu
sendiri yang dapat mengaksesnya.
Sebuah virtual method juga tidak dapat
dideklarasikan sebagai static. Polymorphism
hanya berlaku pada object, bukan level
class. Sementara static member adalah
member dari class. Bukan object.

method yang akan meng-override method


base class tadi harus diberi keyword
override.

Seperti halnya pada virtual method, pada


override method harus juga terdapat
implementasi code. Jika tidak, maka
program akan error.
Signature dari override method harus sama
dengan virtual method yang akan di
override.
Seperti
pada virtual method, override
method juga tidak boleh static, dan tidak
boleh private.

Keyword new pada


method derived class
diatas berfungsi untuk
menyembunyikan
method yang di-derived
dari base class. Method
yang di-derived dari
base class diganti oleh
method yang memiliki
keyword new. Keyword
new dapat
menyembunyikan
method virtual maupun
non-virtual dari base
class.

Encapsulation sering juga dinyatakan


sebagai penyembunyian informasi.
Contoh : perhitungan suhu termometer.

Kemampuan suatu object untuk melakukan


perintah.
Contoh: mesin cuci

kontrak antar produsen mesin cuci, bahwa mesin


cuci mesti mempunyai fungsi minimal untuk
mencuci.

Kontrak semacam ini dalam C# disebut


sebagai
Interface.
Interface
adalah
komponen utama dan penting dalam dunia
OOP.

Anda mungkin juga menyukai