Anda di halaman 1dari 23

Modul 2 PBO II

Konsep Dasar
Berorientasi Obyek
Karakteristik
Pemrograman Berorientasi Objek:

◆ Enkapsulasi (Pengkapsulan)
◆ Pewarisan
◆ Reusability (Penggunaan Kembali)
◆ Spesialisasi
◆ Generalisasi
◆ Polymorfisme (Banyak Bentuk)
◆ Komunikasi antar objek
Bahasa Pemrograman yang
mendukung PBO :
◆ Java
◆ Eiffel
◆ C++
◆ SmallTalk
◆ Python
◆ (Delphi)
Sekilas Bahasa Java

//Contoh program Sederhana

class coba {
public static void main(String args[]) {
System.out.println("I'm a Simple Program");
}
}
Enkapsulasi

◆ Dapat dikatakan sebagai


penyembunyian data/informasi
(Information hiding).
◆ Implementasi ke bahasa
Pemrograman (Java, C++) dengan
menggunakan class.
Enkapsulasi
Dalam kehidupan sehari-hari,
penyembunyian data sudah sering kita
alami. Contohnya adalah objek
Handphone; dimana setiap orang yang
menggunakannya tidak mengetahui
secara pasti apa yang ada di dalam
Handphone tersebut. Tidak mengetahui
bagaimana cara kerja HP tersebut.
Yang penting adalah menggunakannya
melalui interface yang disediakan.
Contoh Enkapsulasi
Objek dlm dunia nyata
Sesuatu yang mempunyai status,
kelakuan, dan interface.

Contoh dalam dunia nyata adalah Mobil.


Objek Mobil mempunyai :
◆ status : jenis, warna, plat_nomor
◆ kelakuan : jalan_maju, jalan_mundur
◆ interface : kemudi, rem, pedal_gas,
tuas
Contoh Objek Dunia Nyata
◆ Semua mobil mempunyai interface yang mirip,
walaupun masing-masing mobil mempunyai
mekanisme dan cara kerja yang berbeda.
Sepanjang kita tahu interface standar mobil;
yaitu kemudi, pedal gas, rem, tuas persneling,
maka kita dapat mengemudikannya. Kita
mungkin tidak tahu cara kerja dan jenis mesin
yang menggerakkan mobil tersebut.
◆ Ada beberapa jenis mobil yang berbeda,
dengan mesin yang berbeda-beda, tetapi
menggunakan interface yang sama. Sehingga
pengguna mobil dapat menggunakannya.
Objek dalam software
Pada software, objek juga mempunyai
status, kelakuan, dan interface.

◆ Status adalah variabel.


◆ Kelakuan adalah method; yaitu fungsi
(subroutine) yang berhubungan dengan
objek.
◆ Interface adalah kumpulan method yang
akan digunakan untuk memanipulasi dan
berinteraksi dengan objek.
Pengertian class
◆ Implementasi dari Information
Hiding; yaitu kumpulan dari
berbagai tipe variabel maupun
method yang setiap komponen
software “melihatnya”
◆ Merupakan blue print dari objek
yang akan diciptakan.
◆ Mendiskripsikan interface objek,
struktur status objek, dan method
objek secara menyeluruh.
class mempunyai :
◆ Atribut/Variabel.
Nilai atribut pada saat runtime menyatakan
status/variabel objek dari instantiation class
tersebut.
◆ Method.
Pada saat runtime, method akan dieksekusi sesuai
dengan kode programnya atas permintaan objek
lain.
◆ Interface.
Merupakan kumpulan Method-method yang ada
dalam class , yang dapat digunakan untuk
memanipulasi objek.
class dan objek
◆ Objek merupakan instance dari class.
◆ Proses penciptaan objek disebut
dengan instantiation.
Syntax class
class namaKelas {
attribut; //variabel instance

namaKelas() {} //constructor

void method_1() {
}
void method_2() {
}
:
}
Contoh class
class Mobil {
String warna;
int kursi;

Mobil() {} //constructor
void jalan_maju() {
}
void jalan_mundur() {
}
}
Pendeklarasian objek

public static void main(String[] args) {

Mobil sedan = new Mobil();


instantiation

sedan.jalan_maju();
}
pemanggilan objek
Pendeklarasian class dan Objek
class Mobil {
Mobil() {} //constructor

void jalan_maju() {
System.out.println("Maju … !");
}

public static void main(String[] args) {


Mobil sedan = new Mobil();
sedan.jalan_maju();
}
}
Perbedaan class dan objek
• class adalah deskripsi statik dari objek
yang diciptakan. Objek di sini
merupakan instantiation dari class.
◆ objek adalah elemen yang pada saat
runtime diciptakan, dimanipulasi, dan
dihancurkan.
Secara umum dapat dikatakan bahwa
pada saat runtime, yang kita punyai
adalah objek. Di dalam teks program,
yang kita punyai adalah class.
Lingkup class
◆ Private.
Feature yang “visible” hanya untuk class
dimana feature tersebut didefinisikan.
◆ Protected.
Feature yang disembunyikan terhadap class
client, tetapi “visible” untuk class turunan.
◆ Public.
Feature yang “visible”, dapat dipakai oleh
semua class yang ada (client, turunan).
Lingkup class (Istilah)

◆ Feature disini adalah Atribut


dan/atau Method.
◆ Visible artinya dapat dilihat atau
dapat dipanggil dari class client.
◆ Client artinya class - class yang
lainnya, yang tidak berhubungan
dengan class yang dimaksud.
Pengertian Method
◆ Dalam bahasa Pemrograman yang lain
sering disebut dengan Procedure atau
Function, lengkap dengan signature-nya.
Signature disini adalah nama dan
parameter.
◆ Method merupakan encapsulation kode
program.
◆ Method terdiri dari urutan statement/kode
program yang dieksekusi ketika Method
dipanggil.
Gambaran Method

void fungsiKu_
main()
{ 1

fungsiKu_1(
statement; ; ----
) ----
: return fungsiKu_
: statement; 3
fungsiKu_2
: fungsiKu_2( ; ----
) ---- ---
: fungsiKu_3(
---- ; - ----
fungsiKu_4(
statement; ; )
) ---- return
: return return
0;
}
fungsiKu_
4

----
----
----
return
Contoh Method
class Mobil {
String warna; interface
int kursi;

void jalan_maju() {
System.out.println(“Maju”);
{
Method
void jalan_mundur() {

System.out.println(“Mundur”);
}
}

Anda mungkin juga menyukai