Pemodelan Berorientasi
Objek
Adam Hendra Brata
1
Mulai dari sekarang, diharapkan semua
mahasiswa memperdalam materi PBO secara
lebih mandiri
dengan :
membaca buku OOAD yang sudah diupload
bersama
materi pendukung
, yang sudah
diupload sebelum UTS untuk mendukung
pemahaman tentang PBO
membaca materi dan tutorial PBO dan UML
yang bisa didapat dari sumber lain
2
3
Pemodelan Kebutuhan Sistem
Ruang Lingkup Masalah
Diagram Use Case
Diagram Sekuensial
Diagram Aktivitas
Materi Pertemuan 6
Perancangan Sistem dengan Analisis Statis
Analisis Berorientasi Objek
Analisis Statis
Kelas
Diagram Kelas
Analisis Berorientasi Objek
Object-oriented analysis
, design
and
programming
are related but distinct
OOA
is concerned with developing an object
model of the application domain
OOD
is concerned with developing an
object-oriented system model to implement
requirements
OOP
is concerned with realizing an OOD using
an OO programming language such as Java
or C++
6
Analysis is about
discovering
what the system is
going to handle, rather than deciding how to
do the handling
We need to
decompose
a
complex set of
requirements into the essential elements and
relationships on which we will base our solution
Analysis is our first opportunity to get to grips
with
modeling the real world as objects
7
Analisis Berorientasi Objek dapat dikategorikan
menjadi 2 jenis, yaitu :
Analisis Statis
Dimodelkan dengan diagram kelas
Diagram kelas akan menggambarkan objek – objek apa saja yang akan di-handle oleh sistem dan bagaimana objek – objek tersebut
berhubungan antara yang satu dengan yang lain
Analisis Dinamis
Dimodelkan dengan diagram komunikasi untuk menunjukkan bahwa model statis kita sudah
layak dan benar
8
Langkah
–
langkah ABO
Gunakan kebutuhan sistem untuk menemukan
kandidat kelas yang dapat mendeskripsikan objek yang relevan dengan sistem dan gambarkan dalam diagram kelas
Temukan hubungan antar kelas (association, aggregation, composition atau inheritance)
Temukan atribut – atribut dari setiap kelas
Telusuri kembali use case dari sistem yang sudah dibuat, periksa apakah kelas-kelas yang sudah dibuat dapat mendukung use case tersebut
Catat, perbaharui dan perbaiki jika ada perubahan dalam analisis
9
Analisis Statis
Analisis statis melibatkan
bagian logika atau
bagian fisik
dari sistem dan bagaimana
mereka saling terkait satu sama lain
Singkat kata, analisis statis akan
mendeskripsikan bagaimana kita akan
melakukan
konstruksi
dan
inisialisasi
sistem
Konstruksi sistem berorientasi objek
Kelas
11
Kelas adalah struktur dasar dari
pengembangan sistem berorientasi objek
Kelas adalah adalah
‘cetak biru’ atau
‘blueprint’ dari
objek
Kelas digunakan hanya untuk membuat
kerangka dasar, yang akan kita pakai
nantinya adalah hasil cetakan dari kelas, yakni
objek
Kelas dapat dikatakan adalah definisi abstrak
dari objek
Objek adalah hasil cetak dari kelas, atau hasil
‘
konkrit
’
dari kelas
12
Struktur kelas secara umum terdiri dari 2
bagian, yaitu :
Atribut / Attribute / Field / Property
Berlaku sebagai data, didefinisikan oleh
kelas,individu, berbeda satu dengan lainnya
Menggambarkan tampilan, status, kualitas dari objeck
Didefinisikan dalam kelas dengan menggunakan
variabel
13
Perilaku / Behaviour / Operations / Method
Berlaku sebagai method (operasi)
Menggambarkan bagaimana sebuah instance dari kelas beroperasi misal bagaimana reaksi dari kelas jika diminta untuk melakukan sesuatu hal
Didefinisikan dalam kelas dengan menggunakan
fungsi
14
15
Di dalam notasi struktur kelas dikenal istilah
hak
akses
atau
visibility
Public ( + )
Atribut atau operasi pada kelas tersebut dapat diakses oleh semua kelas
Private ( - )
Atribut atau operasi pada kelas tersebut hanya dapat diakses oleh kelas itu sendiri
Protected ( # )
Atribut atau operasi pada kelas tersebut hanya dapat diakses oleh kelas itu sendiri atau kelas lain hasil turunannya
16
Diagram kelas
adalah diagram UML yang
menggambarkan kelas-kelas dalam sebuah sistem
dan hubungannya antara satu dengan yang lain,
serta dimasukkan pula atribut dan operasi
Diagram kelas adalah diagram yang menunjukan kelas - kelas yang ada dari sebuah sistem dan
hubungannya secara logika. Diagram kelas
menggambarkan struktur statis dari sebuah sistem. Karena itu diagram kelas merupakan tulang
punggung atau kekuatan dasar dari hampir setiap metode berorientasi objek termasuk UML
(Henderi, 2008)
Diagram kelas adalah gambar grafis mengenai struktur objek statis dari suatu sistem, menunjukan
kelas-kelas objek yang menyusun sebuah sistem dan juga hubungan antara kelas objek tersebut
(Whitten L. Jeffery et al 2004)
17
18
Langkah
–
Langkah
Analisis Statis
Analisis statis secara umum memiliki langkah
–
langkah sebagai berikut :
1. Menemukan kelas
2. Menentukan hubungan tiap kelas
3. Menggambarkan draf diagram kelas
4. Menggambarkan hubungan tiap kelas di diagram
kelas
5. Menentukan atribut dan operasi dari tiap kelas 6. Menentukan ada atau tidaknya kelas baru hasil
hubungan antar kelas
7. Menentukan objek yang Tangible dan Intangible 8. Evaluasi dan revisi secara iteratif sampai terbentuk
diagram kelas yang paling baik mewakili sistem yang akan dibangun
20
Langkah pertama yang “sangat sulit”
21
Menemukan Kelas
Identifying object classes is often a
difficult part
of
object oriented design
There is no 'magic formula' for object identification,
it relies on the skill, experience and domain
knowledge of system designers
Object identification is an iterative process, you are
unlikely
to get it right first time
Use domain analysis as before
Use a grammatical approach based on a natural
language description of the system
Base the identification on tangible things in the
application domain
22
Menemukan Kelas
Hint :
Derive them from the use cases
(descriptions/scenarios)
Candidate classes are often indicated by nouns
in the use cases
Look for data which must be stored or analysed
Are there external systems ?
Are there any devices under the control of the
system ?
Are there any organizational parts ?
23
Menemukan Kelas
24
Menemukan Kelas
1
Kandidat Kelas :
Mahasiswa
Mata Kuliah
Jadwal
Relasi / Relation
Inheritance
A subclass inherits all of the attributes and behavior of its superclass(es)
Association
Objects of one class are associated with objects of another class.
Aggregation
Strong association – an instance of one class is made up of instances of another class
Composition
Strong aggregation – the composed object can’t
be shared by other objects and dies with its composer
25
2
Multiplikasi / Multiplication
n : Exactly n
m..n : Any number in the range m to n
(inclusive)
p..* : Any number in the range p to infinity
* : Shorthand for 0..*
0..1: Optional
26
2
Choosing between relationships can be
tricky
you need to use intuition, experience and
guesswork
As far as design and implementation are
concerned, the differences between
association, aggregation and composition
can be difficult to spot
27
2
28
3
29
4
Menggambarkan Hubungan
Tiap Kelas di Diagram Kelas
Asosiasi
Agregasi
30
4
Menggambarkan Hubungan
Tiap Kelas di Diagram Kelas
• A Car has one Engine composed of one Body
• A Body is always part of one Car and it dies with that Car
A
tribut dan operasi menentukan “kegunaan”
dari kelas
D
efinisikan atribut dan operasi dengan “bijak”
sehingga benar-benar dapat mewakili kelas
itu sendiri
Jika masih belum tahu tipe data apa yang
akan digunakan, maka diperbolehkan ditulis
namanya saja tanpa memakai tipe data
Jika sudah memutuskan menggunakan tipe
data apa, tipe data dapat ditulis di bagian
kanan setelah
tanda titik dua ( : )
31
5
32
5
Menentukan Atribut dan
Operasi dari Tiap Kelas
•
Definisikan atribut
dan operasi dari
tiap kelas dengan
Sering kali dalam proses pendefinisian kelas
ditemukan kelas atau objek baru yang
memiliki sifat sebagai “penjelas” hubungan
dari tiap kelas, umumnya pada
asosiasi
33
6
Hindari
penggunaan kelas asosiasi (kelas yang
terbentuk dengan garis putus
–
putus), karena
memerlukan analisa ulang yang rumit
Gunakan kelas konkrit secara langsung
34
6
Tangible :
berwujud, nyata
Intangible
: tidak berwujud, tidak nyata
35
7
Menentukan Objek yang Tangible
dan Intangible
Informasi mobil yang
dimiliki oleh orang dan
yang ditunjukkan oleh
katalog adalah
sama
Lakukan proses analisis statis dan
pembentukan diagram kelas secara
iteratif
,
sampai ditemukan formulasi yang paling baik
dan
paling mewakili
sistem secara utuh dan
keseluruhan
There is no 'magic formula' for object
identification, it relies on the skill, experience
and domain knowledge of system designers
36
8
Buat diagram kelas dengan menggunakan
analisis statis dari contoh diagram use case ini !