• Tidak ada hasil yang ditemukan

Pemodelan Berorientasi Objek

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pemodelan Berorientasi Objek"

Copied!
38
0
0

Teks penuh

(1)

Pemodelan Berorientasi

Objek

Adam Hendra Brata

1

Perancangan Sistem dengan

Analisis Statis

(2)

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)

3

Pemodelan Kebutuhan Sistem

Ruang Lingkup

Masalah KebutuhanAnalisis

Pemodelan Perangkat Lunak Diagram Use Case Diagram Sekuensial Diagram Aktivitas

(4)

Materi Pertemuan 6

Perancangan Sistem dengan Analisis Statis

Analisis Berorientasi Objek

Analisis Statis

 Kelas

 Diagram Kelas

(5)

Analisis Berorientasi Objek

(6)

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

Review OOA, OOD & OOP

(7)

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

(8)

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

(9)

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

(10)

Analisis Statis

(11)

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

(12)

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

(13)

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

(14)

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)

15

(16)

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

(17)

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

Analisis Statis : Diagram Kelas

(18)

18

Analisis Statis : Diagram Kelas

(19)

Langkah – Langkah

Analisis Statis

(20)

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

(21)

Langkah pertama yang “sangat sulit”

21

Menemukan Kelas

(22)

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

(23)

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)

24

Menemukan Kelas

1

Kandidat Kelas :

 Mahasiswa  Mata Kuliah  Jadwal

(25)

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

Menentukan Hubungan Tiap

Kelas

(26)

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

Menentukan Hubungan Tiap

Kelas

(27)

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

Menentukan Hubungan Tiap

Kelas

(28)

28

3

Menggambarkan Draf

Diagram Kelas

(29)

29

4

Menggambarkan Hubungan

Tiap Kelas di Diagram Kelas

Asosiasi

Agregasi

Komposisi

(30)

30

4

Menggambarkan Hubungan

Tiap Kelas di Diagram Kelas

• A Car has one Engine • An Engine is part of

one Car

• A Car has four or five Wheels

• Each Wheel is part of one Car

• A Car is always composed of one Body

• A Body is always part of one Car and it dies with that Car

• A Car can have any number of Drivers

(31)

Atribut dan operasi menentukan “kegunaan”

dari kelas

Definisikan 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

Menentukan Atribut dan

Operasi dari Tiap Kelas

(32)

32

5

Menentukan Atribut dan

Operasi dari Tiap Kelas

• Definisikan atribut

dan operasi dari

tiap kelas dengan

“bijak”

(33)

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

Menentukan Ada atau Tidaknya Kelas

Baru Hasil Hubungan Antar Kelas

(34)

Hindari

penggunaan kelas asosiasi (kelas yang

terbentuk dengan garis putus – putus), karena

memerlukan analisa ulang yang rumit

Gunakan kelas konkrit secara langsung

34

6

Menentukan Ada atau Tidaknya Kelas

Baru Hasil Hubungan Antar Kelas

(35)

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

(36)

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

Evaluasi dan Revisi Secara

Iteratif

(37)

Buat diagram kelas dengan menggunakan

analisis statis dari contoh diagram use case ini !

Kerjakan sebagai latihan dan siap–siap

pertemuan minggu depan akan ada yang

ditunjuk maju secara acak untuk presentasi ^^

37

(38)

Terimakasih v^^

Gambar

Diagram Kelas Diagram State

Referensi

Dokumen terkait

Berdasarkan kebutuhan itu, 1 massa dapat diterapkan dalam desain, namun karena kendala lahan terhadap lahan gambut, massa diris dan dibagi bagi menjadi 4 unit massa

Tujuan dari penelitian ini yaitu untuk menghasilkan bahan ajar yang berbasis integrasi Islam dengan hasil produk media cetak buku ajar pada pembelajaran tematik tema 3 subtema 2

Dalam penelitian ini diimplementasi kontrol fuzzy untuk kestabilan suhu dan kelembaban pada tanaman tomat dan cabai dengan sistem tanaman tumpang sari pada area tanam di

Dalam ACS hanya semut terbaik secara global (yaitu, perjalanan semut yang terpendek dari awal sebuah jejak) yang diperbolehkan untuk meninggalkan feromon.. Pilihan ini,

Defibrilasi adalah suatu tindakan terapi dengan cara memberikan aliran listrik yang kuat dengan metode asinkron ke jantung pasien melalui elektroda yang

Dalam proses perancangan redesain interior museum Diponegoro-Yogyakarta klien menginginkan ruangan dibuat menarik serta kreatif yang mengikuti tehnologi yang sedang

berbahasa (language behavior) yang disepakati oleh komunitas pemakai bahasa tertentu dalam rangka saling menghargai dan menghormati satu dengan yang lain. Misal kesopanan

secara biologis laki-laki, berumur 15 tahun atau lebih dan telah tinggal di kota survei paling tidak selama satu bulan, serta telah berhubungan seks dengan seorang