Object OrientedProgramming - kartika firdausy's blog ... · – Pada saat terjadi suatu event...

11
1 Object Oriented Programming Pemrograman Visual (TH22012 ) by Kartika Firdausy 081.328.718.768 [email protected] [email protected] blog.uad.ac.id/kartikaf kartikaf.wordpress.com Object Oriented Programming (OOP) membuat suatu program yang terdiri dari berbagai object yang saling berinteraksi

Transcript of Object OrientedProgramming - kartika firdausy's blog ... · – Pada saat terjadi suatu event...

Page 1: Object OrientedProgramming - kartika firdausy's blog ... · – Pada saat terjadi suatu event terhadap ... Konsep dalam OOP Objek ... – objek merupakan dasar dari modularitas dan

1

Object Oriented Programming

Pemrograman Visual (TH22012 )by Kartika [email protected]@ee.uad.ac.idblog.uad.ac.id/kartikafkartikaf.wordpress.com

Object Oriented Programming (OOP)

membuat suatu program yang terdiri dari

berbagai object yang saling berinteraksi

Page 2: Object OrientedProgramming - kartika firdausy's blog ... · – Pada saat terjadi suatu event terhadap ... Konsep dalam OOP Objek ... – objek merupakan dasar dari modularitas dan

2

Object Oriented Programming (OOP)

Classpola / template (cetakan) yang

menggambarkan kumpulan object yang

mempunyai sifat / perilaku yang sama

� himpunan object sejenis

Objectimplementasi dari class

Class merupakan “cetakan” (template) untuk

instance (wujud nyata) entitas-entitas yang

direpresentasikannya

– Sebuah kelas dapat melahirkan lebih dari satu

instance

satu template

banyak instance

(wujud nyata)

Page 3: Object OrientedProgramming - kartika firdausy's blog ... · – Pada saat terjadi suatu event terhadap ... Konsep dalam OOP Objek ... – objek merupakan dasar dari modularitas dan

3

Analogi :

pembangunan suatu gedung

� gambar desain gedung

� dibuat gedung nyatanya �

implementasi gambar gedung

Dari suatu class dapat dibuat beberapa

object yang sama.

� class

� object

Object

Sebuah instance (perwujudan nyata) dari suatu kelas

tertentupublic class SegiEmpat {int panjang;int lebar;string warna;public SegiEmpat(string w, int p, int l) {panjang = p; lebar = l; warna = w;}public setWarna (string w) {warna = w;}}SegiEmpat sPink = new SegiEmpat(“pink”, 20,10);SegiEmpat sPutih = new SegiEmpat(“putih”, 15,10);SegiEmpat sOrange = new SegiEmpat(“orange”, 30,15);

Page 4: Object OrientedProgramming - kartika firdausy's blog ... · – Pada saat terjadi suatu event terhadap ... Konsep dalam OOP Objek ... – objek merupakan dasar dari modularitas dan

4

Definisi Kelas dan Objectpublic class SegiEmpat {int panjang;int lebar;string warna;public SegiEmpat(string w, int p, int l) {panjang = p; lebar = l; warna = w;}public setWarna (string w) {warna = w;}}SegiEmpat sPink = new SegiEmpat(“pink”, 20,10);field, menunjukkan atribut/property

constructor, untuk menciptakan

object (instance) baru dengan

property tertentu

methods atau member functions,

mendeskripsikan behaviour atau

aktivitas yang bisa dijalankan

memanggil constructor untuk membentuk

object baru

– Data

• analogikan sebagai variabel atau konstanta

• karakteristik dari objek

– Metode

• function/procedure

• aksi terhadap data

Objek = Data + Metode

Page 5: Object OrientedProgramming - kartika firdausy's blog ... · – Pada saat terjadi suatu event terhadap ... Konsep dalam OOP Objek ... – objek merupakan dasar dari modularitas dan

5

– Program terdiri dari sekumpulan object yang saling berinteraksi / saling mengirimkan pesan.

– Asumsi: program adalah sebuah mobil• bagian-bagian dari mobil tersebut adalah object-object (mesin, rangka

mobil dan lain sebagainya)yang saling berhubungan dan menjadi satu kesatuan yang membangun mobil tersebut

– Object sebagai tipe “data buatan” (seperti struct). • Namun tipe “data buatan” ini memiliki kelebihan yaitu dapat menyimpan

informasi (sebagai property) dan juga dapat melakukan “aktivitas” (sebagai method/ fungsi)

– Setiap object memiliki “tipe” tersendiri. • Tipe di sini dimaksudkan agar dapat diketahui “pesan” apa yang dapat

dikirimkan terhadap object tersebut.

• dengan mengetahui “tipe” suatu object, dapat dipanggil fungsi yang terdapat di dalamnya ataupun informasi yang disimpan oleh object tersebut

– data-data di dalam objek dikenal dengan nama

property,

– perilaku atau fungsi yang dimilikinya dikenal

dengan nama method

– peristiwa-peristiwa yang terjadi pada objek dikenal

dengan nama event.

Page 6: Object OrientedProgramming - kartika firdausy's blog ... · – Pada saat terjadi suatu event terhadap ... Konsep dalam OOP Objek ... – objek merupakan dasar dari modularitas dan

6

– Analogi dalam kehidupan sehari-hari,

– objek yang dimaksud misalnya orang.

– Properti: nama, berat badan, tinggi badan dan bentuk fisik lainnya.

– Method, misalnya berjalan, marah, makan, dan perilaku lain.

– Event (kejadian) yang dapat menimpa orang adalah ketika dipukul, lapar, mengantuk dan sebagainya.

– Pada saat terjadi suatu event terhadap orang, maka orang akan merespon event tersebut dengan cara melakukan method tertentu.

– Misalnya ’ketika lapar’ (event), orang akan melakukan sebuah pekerjaan, yaitu ’makan’ (Method).

Konsep dalam OOP

Class � Pengklasifikasian terhadap definisi data dan

fungsi untuk tujuan tertentu

– Misal: Class dari Kipas dapat terdiri dari KipasBerdiri dan

KipasDuduk

– Kumpulan atas definisi data dan fungsi-fungsi dalam

suatu unit untuk suatu tujuan tertentu.

– Sebagai contoh 'class of cat' adalah suatu unit yang

terdiri atas definisi-definisi data dan fungsi-fungsi yang

menunjuk pada berbagai macam perilaku/turunan dari

kucing.

Page 7: Object OrientedProgramming - kartika firdausy's blog ... · – Pada saat terjadi suatu event terhadap ... Konsep dalam OOP Objek ... – objek merupakan dasar dari modularitas dan

7

Konsep dalam OOP

Objek

– membungkus data dan fungsi bersama menjadi

suatu unit dalam sebuah program

– objek merupakan dasar dari modularitas dan

struktur dalam sebuah program berorientasi

objek.

Konsep dalam OOP

Abstraksi: menjelaskan makna sebuah entitas

secara cepat dan mudah

Enkapsulasi: dapat menyembunyikan detil

yang tidak perlu

Modular: object adalah entitas yang

independen

Page 8: Object OrientedProgramming - kartika firdausy's blog ... · – Pada saat terjadi suatu event terhadap ... Konsep dalam OOP Objek ... – objek merupakan dasar dari modularitas dan

8

Konsep dalam OOP

Contoh: abstraksi “sepeda”

– memiliki property

• “punya roda”, “punya rantai”, dsb.,

– behaviour “bisa berjalan”, “bisa berbelok”, dsb.

Sebagai abstraksi dari sebuah entitas, definisi

kelas harus mencerminkan karakteristik

sebenarnya dari entitas tsb.

Enkapsulasi• Enkapsulasi: lokalisasi fitur-fitur sebuah object (fields dan

methods) dalam definisi object tersebut

• Enkapsulasi menyembunyikan property dan behaviour object

dari pihak luar (object yang lain) � object lain melihat object

ini sebagai “black box” saja

• Enkapsulasi memisahkan antara bagian publik (yang bisa dilihat

oleh pihak luar (object lain) dan bagian privat (internal object

itu sendiri) dengan tegas � fitur ini memberi

keleluasaan/independensi untuk bekerja dengan aspek internal

tanpa harus bergantung pada aspek publik/eksternal

Page 9: Object OrientedProgramming - kartika firdausy's blog ... · – Pada saat terjadi suatu event terhadap ... Konsep dalam OOP Objek ... – objek merupakan dasar dari modularitas dan

9

Enkapsulasipublic class SegiEmpat {int panjang;int lebar;string warna;public SegiEmpat(string w, int p, int l) {panjang = p; lebar = l; warna = w;}public setWarna (string w) {warna = w;}}sPinkSegiEmpat sPink = new SegiEmpat(“pink”, 20,10); setWarna(string w)

Pihak luar (object lain) melihat sPink

sebagai sebuah “kotak hitam” yang

tidak terlihat isinya, kecuali fields dan

methods yang memang dideklarasikan

secara publik

Object lain tidak bisa

melihat apa yang dilakukan

sPink secara internal

Inheritance (Pewarisan Sifat)

• Dalam dunia OO, beberapa object memiliki sifat/ciri yang mirip dengan yang

lain � sebuah kelas object dapat didefinisikan dari kelas yang lain

– Kemiripan ini membentuk hubungan sifat yang bersifat hirarkis

– “pesawat penyergap adalah sebuah pesawat terbang yang dilengkapi

dengan persenjataan dan dapat terbang melebihi kecepatan suara”

• “pesawat penyergap” memiliki ciri yang sama dengan “pesawat

terbang” � “pesawat penyergap” mewarisi sifat “pesawat terbang”

• “pesawat penyergap” memiliki ciri yang lebih khusus dibandingkan

“pesawat terbang” � “pesawat penyergap” adalah subclass dari

“pesawat terbang”

– Dalam OOP, hubungan inheritance (pewarisan sifat) ini

diimplementasikan melalui definisi kelas: sebuah kelas dapat

didefinisikan dari kelas yang lain

Page 10: Object OrientedProgramming - kartika firdausy's blog ... · – Pada saat terjadi suatu event terhadap ... Konsep dalam OOP Objek ... – objek merupakan dasar dari modularitas dan

10

Inheritance

“bentuk”

poligon ellips

lingkaran

persegipanjang

segitiga

bujursangkar

Inheritance• Dalam pohon hirarki inheritance, sebuah subclass

mewujudkan abstraksi yang lebih spesifik dari

superclassnya: subclass = superclass + (fitur-fitur baru)

– Subclass dapat menambahkan fields dan methods baru

– Subclass dapat mengambil alih (override) method milik

superclass dan mengubah implementasi method tersebut

• Manfaat inheritance:

– Pemanfaatan kembali (reuse) kelas

– Menyediakan model yang bersifat generik (abstract class);

implementasi spesifiknya bisa dilakukan kemudian (mungkin

oleh pemrogram yang berbeda)

Page 11: Object OrientedProgramming - kartika firdausy's blog ... · – Pada saat terjadi suatu event terhadap ... Konsep dalam OOP Objek ... – objek merupakan dasar dari modularitas dan

11

Polymorphism

• Poly: banyak; morphism: bentuk � sebuah fitur

(generik) bisa diimplementasikan dengan berbagai cara

hewan

anjing“menggonggong”

kucing“mengeong”

kuda“meringkik”

“bersuara”