download

Metode Perancangan
Program
Pert 13 – Pengenalan Konsep
Object Oriented
Object

Menurut Coad and Yourdan

Object adalah sebuah abstraksi dari sesuatu
pada domain masalah, menggambarkan
kemampuan untuk menyimpan informasi
mengenai hal tersebut, berinteraksi dengan hal
tersebut atau keduanya.
Abstraksi

Apakah abstraksi itu ?





Abstraksi adalah sebuah bentuk gambaran yang mencakup hanya
hal oenting atau menarik dari sudut pandang tertentu
Contoh : sebuah peta adalah sebuah gambaran abstrak. Tidak
ada satu peta pun yang menunjukkan setiap detail dari daerah
tersebut.
Karena ada kebutuhan tertentu, maka dibuatlah peta yang dapat
memenuhi kebutuhan tersebut
Misal, peta jalan, maka akan fokus kepada jalan dan tempat
tempat. Peta jalan tidak akan menunjukkan struktur daratan yang
ada. Selanjutnya peta geologi, akan menunjukkan batuan dan
susunan tanah. Peta geologi mengabaikan nama jalan ataupun
desa.
Sehingga dapat dirangkum, bahwa object menggambarkan hal
penting dari sesuatu yang relevant dengan tujuannya dan
mengabaikan hal yang tidak relevan
Sistem


Sistem yang manakah yang dimaksud
dengan coad dan yourdan ?
Sistem yang dimaksud adalah sistem object
oriented yang pengembangannya dalam
tahap pertimbangan
Object menurut Booch




Menurut booch object mempunyai ‘state,
behaviour, dan identity
State menggambarkan kondisi tertentu dari
sebuah object pada saat tertentu
Behaviour adalah hal hal yang dapat
dilakukan object
Identity adalah bahwa setiap object adalah
unik
Karakteristik beberapa object

Contoh




Object : Orang
Identity : Hussain Pervez
Behaviour : Berbicara, berjalan, membaca
States : sedang belajar, sedang beristirahat
Class dan instance



Object adalah instance tertentu dari sebuah
class
Object yang mempunya kesamaan dengan
object lain dapat berada dalam class yang
sama
Instance adalah kata lain dari single object /
satu object
Class membership

Membership didasarkan pada kesamaan antar
object dalam sebuah class. Ada dua tipe kesamaan
logical yang dapat ditest:


Semua object pada sebuah class memiliki karakteristik
yang sama. Contoh staff di Agate mencatat nama
perusahaan client, alamat, no telp, no fax, email, dll. Setiap
item dimasukkan karena akan berguna. Walaupun isi dari
setiap item berbeda, tetapi struktur informasinya adalah
sama
Semua object pada sebuah class memiliki behaviour yang
sama. Contoh client dapat memulai kampanye,
menghentikan kampanye, membayar kampanye
Generalization

Menurut UML specification (OMG,2001),
generalization adalah

…sebuah hubungan taxonomic antara elemen
yang lebih umum dengan elemen yang lebih
khusus. Elemen yang lebih khusus sepenuhnya
konsisten terhadap elemen yang lebih umum
(memiliki semua properties, member dan
relationship) dan dapat berisi informasi tambahan
Generalization
Macan
Alsatian
Dingo
Kucing
Anjing
Ikan
Tumbuhan
Mamalia
Binatang
Makhluk Hidup
Kucing Lokal
Generalization
Penerapan utama generalization dalam object
oriented adalah untuk menggambarkan hubungan
kesamaan antara class.
Object class dapat diatur ke dalam hirarki. Hal ini
mempunyai dua keuntungan yaitu


1.
2.
Dengan menggunakan generalization, dapat dibuat
struktur logical yang memperlihatkan tingkatan yang
sama atau berbeda antar class
Hirarki dapat di kembangkan sesuai dengan perubahan
yang terjadi
Inheritance



Inheritance adalah mekanisme implementasi dari
generalization dan specification pada object
oriented programming.
Ketika dua class dihubungkan dengan mekanisme
inheritance, maka class yang lebih general disebut
superclass dan yang lebih spesifik disebuh
subclass
Aturannya adalah sbb:


Subclass mewarisasi semua karakteristik dari superclass
Definisi subclass selalu termasuk paling sedikit satu detail
yang tidak diwarisi dari superclass
Inheritance
Employee
-dateOfAppointment
-dateOfBirth
-department
-employeeNumber
-lifeManager
-name
MonthlyPaidEmployee
HourlyPaidEmployee
+monthlySalary()
-hourlyRate
-hourlyWorked
Message passing



Object berkomunikasi dengan lainnya
dengan mengirimkan message
Ketika sebuah object menerima message,
object tersebut dapat langsung menentukan
apakah message tersebut relevan dengan ia
atau tidak .
Jika message berisi tanda yang valid untuk
operasinya, maka object akan merespon.
Jika tidak maka object tidak akan merespon.
Encapsulation


Data dari object berada di bagian dalam,
sehingga hanya operasi dari object tersebut
yang dapat menggunakan data.
Hal ini disebut dengan encapsulation karena
data tidak dapat dilihat atau diakses dari luar,
kecuali oleh operasi yang berada di object
tersebut.,
Encapsulation
Object lain mengirimkan message meminta
layanan
Operasi dari object hanya dapat dipanggil dengan
sebuah message yang valid
Data object hanya dapat diakses oleh operasi
dari object tersebut
Representasi dari data
disembunyikan di bagian dalam
Polymorphism


Polymorphism adalah kemampuan untuk
tampil dalam berbagai bentuk.
Hal ini mengacu pada kemungkinan message
yang sama dikirimkan ke object-object lain
pada class yang berbeda, dan merespon
secara berbeda.
Polymorphism
2a:=calculatePay()
:FullTimeEmployee
2b:=calculatePay()
:Monthly PayPrint
1:=getTotalPay()
Pay Clerk
:PartTimeEmployee
2c:=calculatePay()
:TemporaryEmployee
Object State

Adalah sebuah kondisi dalam hidup object
yang memenuhi beberapa kondisi,
melakukan beberapa aktifitas atau menunggu
event