download

Matakuliah
Tahun
: Konsep object-oriented
: 2009
ISTILAH-ISTILAH DALAM OBYEK
ORIENTED
Pertemuan 6
Istilah-istilah dalam obyek oriented
Chapter 2
Bina Nusantara University
3
Object
• Bagian dasar dari object oriented software adalah
OBJECT
• Merupakan model dari dunia nyata dalam problem
domain aplikasi.
Bina Nusantara University
4
Object(lanj’)
Term
Definition
Object
Paket unit software yang berisi data dan methods yang digunakan untuk
memanipulasi data tersebut
Class
Template ( model dasar ) atau Pabrik untuk menbuat sebuah obyek
Attribute
Data item yang didefiniskan sebagai bagian dari class atau obyek
Operation
Prosedur atau fungsi yang didefinisikan sebagai bagian dari class atau
obyek, biasanya digunakan untuk memyebut publik prosedur
didalam obyek
Method
Prosedur atau fungsi yang didefinisikan sebagai bagian dari class atau
obyek menggunakan istilah ini untuk mengambarkan implementasi
prosedur
Message
Permintaan yang dikirim ke sebuah obyek untuk mengeksekusi sebuah
methods yang ada didalamnya
Encapsulation
Pemaketab data dan operasi kedalam sebuah obyek
Data hiding
Membuat detail internal dari sebuah obyek tidak dapat diakses oleh
obyek lain
Inheritance
Mekanisme untuk mendefiniskan sebuah class baru dari class yang
sudah ada.
Polymorphism
Kemampuan untuk menyembunyikan perbedaan implementasi dengan
menggunakan interface yang umum
Bina Nusantara University
5
Object(lanj’)
• Obyek didalam mail order sistem seperti customer, order
dan produk
• Obyek didalam sistem perpustakaan seperti anggota,
buku, peminjaman dan pembatalan pinjaman
• Obyek didalam sistem lalulintas seperti lampu, mobil,
bicycles.
• Kesemuanya obyek tersebut adalah fitur yang berada
didalam problem domain yang akan ditulis kedalam
program.
Bina Nusantara University
6
Object(lanj’)
• Obyek didalam O-O sistem dapat mewakili hal-hal fisik(
seperti pelanggan, produk, anggota, buku), konseptual
(seperti order, peminjamanm reservasi, pengembalian)
dan organisasi (seperti perusahaan, departemen)
• Obyek dapat juga berupa implementasi seperti GUI
Windows, file atau linked list
Bina Nusantara University
7
Object(lanj’)
• Obyek dunia nyata mempunyai property atau atribut
yang dibutuhkan dalam sistem developer, di dalam mail
order sistem obyek pelanggan mempunyai nama, nomor
telepon, dan alamat untuk kegunaan invoice.
• Obyek dunia nyata juga mempunyai tingkah laku yang
karakteristik yang ingin diambil sistem developer
kedalam software buatannya. Didalam mail order sistem
obyek pelanggan dapat “mengubah” nomor telepon dan
alamatnya.
Bina Nusantara University
8
Object(lanj’)
Jemima:Car
Fuel = 6.4 liters
Speed = 32 Mph
Temperature = cool
Figure 2.2
• Jemima adalah nama obyek tersebut
• Car adalah class dari obyek tersebut
• Operasi tidak dimasukkan didalam diagram obyek,
tetapi didalam diagram class operation harus
dicantumkan
• Model Obyek memudahkan untuk mengerti tentang
problem domain.
Bina Nusantara University
9
Class
• Class adalah sekumpulan
obyek yang memiliki
kesamaan struktur dan
kesamaan behavior
[Bahrami,1999]
• Sebuah class adalah pabrik
dari obyek, sebuah template
dari semua obyek yang
tergabung dalam class
tersebut. [britton,2001]
• Sebuah class mempunyai
atribut dan operasi.
Bina Nusantara University
Car
Fuel
Speed
Temperature
Stop( )
Start( )
Move forward( )
Reserve( )
10
Example: class diagram for mail order system
Customer
name
address
Order
1
0..*
•
Number
deliv ery date
1
1..*
•
Order Line
quantity
0..*
1
Supplier
name
address
tel no.
contact name
Product
1
Product no
description
1..* price
•
Garis yang
menghubungkan antar
class tersebut adalah
asosiasi
Angka dan asterik
mengambarkan
multiplicity dari
hubungan tersebut
Asterisks (*) berarti
sebuah angka arbitrary
number(tak terhingga)
sampai kepada nol —
zero, one or many
Gambar 2.5
Bina Nusantara University
11
• Dari gambar 2.5 dapat menceritakan kepada kita
– Seorang pelanggan(customer) mempunyai mungkin
mempunyai order dari nol sampai banyak order
– Sebuah order hanya dimiliki oleh oleh seorang pelanggan
– Sebuah order mungkin mempunyai saru atau banyak order
line
– Sebuah order line hanya milik sebuah order
– Sebuah order line hanya mewakili sebuah produk
– Sebuah produk mungkin bisa muncul nol kali atau banyak
dalam order line yang berbeda
– Sebuah produk mungkin saja disuplay oleh satu supplier
– Seorang supplier mungkin menyuplay satu atau banyak
produk
Bina Nusantara University
12
Attribute
• Atribut dari sebuah class adalah data item yang
terdefinisikan dalam class tersebut; sebagai contoh
nama, alamat merupakan atribut dari class
pelangangan.
• Gambar 2.6 Tiga Obyek dengan nilai yang spesifik
:Customer
name = Jane ly on
address = 142 High St
any town
Bina Nusantara University
:Customer
name = Miles Dunn
address = 32 Greenland
any town
:Customer
name = Les Dolan
address = 101High st
any town
13
Operation
• Didalam O-O yang sama dengan fungsi dan prosedur
adalah operasi(method).
• Operasi selalu didefinisikan sebagai bagian dari class, tidak
dapat berdiri sendiri.
• Operasi, atribut dan asosiasi bersama-sama memenuhi
tanggung jawab dari sebuah class
• Sebuah class biasanya bertanggung jawab terhadap
sebagian dari fungsionalitas sistem
• Operasi dapat didefinisikan sebagai public atau private.
• Public operation adalah operasi, fungsi, prosedur yang
dapat diakses oleh obyek lain didalam sistem ---- public
interface
• Private operation adalah sebuah fungsi atau prosedur yang
digunakan internal oleh class untuk memenuhi tanggung
jawabnya
Bina Nusantara University
14
Method
• Method digunakan untuk menunjuk
kepada implementasi aktual dari sebuah
prosedur– bagian badan dari code
program yang dapat di eksekusi untuk
memenuhi permintaan dari obyek lain
didalam sistem.
Bina Nusantara University
15
Message
– Sebuah sistem akan bekerja
dengan baik jika obyek
berinteraksi dengan yang
lain, mereka mengirim kan
message untuk meminta
layanan dari obyek yang lain.
– Sebagai contoh asumsikan
sebuah sistem menggunakan
sebuah obyek mobil (sebut
saja “jemima” dan obyek
pengemudi yang ingin
menjalankan mobil tersebut
disebut saja “Tom”. Jika Tom
ingin menjalankan mobil
tersebut Tom harus
mengirimkan message
kepadal Jemima untuk
menjalankan operasi start
Bina Nusantara University
16
Encapsulation and data hiding
• Pemaketan data dan operasi bersama
sama menjadi sebuah obyek disebut
encapsulation
• Encapsulation menyediakan tiga
keuntungan terhadap kualitas software
– Proper modularity
– Data abstraction
– Data hiding
Bina Nusantara University
17
Encapsulation and data hiding(lanj’)
• Proper Modularity : Encapsulation data dan operasi
kedalam satu struktur obyek menghasilkan blok software
yang lebih berguna
• Data abstraction: Sebuah nama obyek, class dan nama
nama operation adalah public interface, menyediakan
gambaran atau informasi kepada obyek client.
• Data hiding: Data yang di encapsulasi kedalam obyek
hanya dapat diakses oleh operasi obyek itu sendiri.
Bina Nusantara University
18
Encapsulation and data hiding(lanj’)
• Modul client lain tidak dapat mengakses
langsung, mereka hanya dapat
mengirimkan message untuk meminta
mengeksekusi salah satu method yang
ada
• Interface eksternal tidak memberitahukan
kepada dunia bagaimana data disimpan
dan dan algoritma yang digunakan oleh
method.
Bina Nusantara University
19
Inheritance
• Inheritance adalah mekanisme yang memungkinkan
sebuah class baru didefinisikan dari class yang sudah
ada sebelumnya, sebiah class yang baru didefinisikan
sebagai spesialisasi dari class yang sebelumnya.
• Spesialisasi class (Turunan) secara otomatis
mempunyai fitur (operation dan atribut) class induknya.
Bina Nusantara University
20
Inheritance(lanj’)
• Spesialisasi class diturunkan dari general
class
• Class turunan/child class diturunkan dari
induk/parent atau ancestor class
• Sub-class diturunkan/inherits dari superclass
Bina Nusantara University
21
Inheritance(lanj’)
• Specialization of the customer class
Customer
name
address
tel.no.
Local Customer
pre-paid
Bina Nusantara University
Retail Customer
delivery address
delivery tel.no.
account.no.
22
Polymorphism
• Mean the ability to define program entities e.g.
operations, that take more than one form.
• Polymorphism linked with an inheritance hierarchy allow
a single message interpreted differently by different
object. Which method is execute will depend on which
object receive the message
Bina Nusantara University
23
Person
name
talk( )
Polymorphism(lanj’)
Baby
Person
Father
Granny
gender
talk( )
talk( )
talk( )
talk( )
Toddler
Mother
Vocabulary
Grandad
yearOfBirth
CurrentYear
talk( )
talk( )
talk( )
Different implementation
of talk operation
Bina Nusantara University
Class
Method implementation
Person
I’m not saying anything
Baby
Wah,wah
Toddler
Content of attributes vocalbulary
Teenager
(male)Grunt, Grunt
Teenager
(female) where is my mascara?
Mother
Have you tidied your room?
Father
I’m going to football
Grandad
I’m (currentyear minus yearofbirth) years old
Granny
When’s the boxing on?
24
Polymorphism(lanj’)
• Jika kita menbuat obyek dari class hirarki diatas sebagai berikut:
– Seorang bayi dengan nama Amber
– Seorang balita dengan nama noah dengan vocabulary:Mama,
No
– Seorang remaja dengan nama edward, jenis kelamin pria
– Seorang kakek dengan nama david lahir tahun 1901. , sekarang
tahun 1999
• Jika kita mengirimkan message TALK kepada obyek2 tersebut maka
mereka akan merespon :
– Amber
Wah, wah
– Noah
Mama, No
– Edward
Grunt Grunt
– David
I’m 98 years old
Bina Nusantara University
25