Anda di halaman 1dari 25

Pengenalan Object Oriented Programming

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(“Hello World");
}
}
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 dipangg
Gambaran Method

void main() fungsiKu_1


{
statement; ----
fungsiKu_1() ; ----
: return
: fungsiKu_3
statement;
: fungsiKu_2 ----
fungsiKu_2() ; ----
: ---- - ---
statement; fungsiKu_3() ; ----
fungsiKu_4() ; ---- 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”);
}
}
Karakteristik dari Method
• Dapat mengembalikan / melaporkan nilai
balikkan (return value) atau tidak (void)
• Dapat diterima beberapa parameter yang
dibutuhkan atau tidak ada parameter sama
sekali. Parameter bisa juga disebut sebagai
argumen dari fungsi. Parameter berguna
sebagai nilai masukkan yang hendak diolah oleh
fungsi.
• Setelah method telah selesai dieksekusi, dia
akan kembali pada method yang memanggilnya.
Modifier Method
• Public
Atribut ini menunjukan bahwa fungsi/method dapat
diakses oleh kelas lain.
• Private
Atribut ini menunjukan bahwa fungsi atau method tidak
dapat diakses oleh kelas lain
• Protected
Atribut ini menunjukan bahwa fungsi atau method bisa
diakses oleh kelas lain dalam satu paket dan hanya
kelas lain yang merupakan subclass nya pada paket
yang berbeda.
• Tanpa modifier
Atribut ini menunjukan bahwa method dapat diakses
oleh kelas lain dalam paket yang sama.

Anda mungkin juga menyukai