Think Different Materi ASD 2014 pertemuan_4

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();
sedan.jalan_maju();
}
pemanggilan objek

instantiation


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 dipanggi

Gambaran Method
void main()

{
statement;
fungsiKu_1() ;
:
:
statement;
:
fungsiKu_2() ;
:
statement;
fungsiKu_4() ;
:
return 0;
}

fungsiKu_1
------return
fungsiKu_2
---fungsiKu_3() ;
---return
fungsiKu_4
---------return

fungsiKu_3
------- -----return

Contoh Method
class Mobil {
String warna;
int kursi;

interface

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.