Anda di halaman 1dari 48

UNIFIED

MODELLING
LANGUAGE

Rekayasa Perangkat Lunak


UNIFIED MODELLING LANGUAGE

 Unified Modelling Language (UML) adalah


sebuah "bahasa" yang telah menjadi standar
dalam industri untuk visualisasi, merancang dan
mendokumentasikan sistem informasi atau
piranti lunak.
 UML menawarkan sebuah standar untuk
merancang model sebuah sistem.
 Seperti bahasa-bahasa lainnya, UML
mendefinisikan notasi dan syntax/semantik.

Rekayasa Perangkat Lunak 2


UNIFIED MODELLING LANGUAGE
 Notasi UML merupakan sekumpulan bentuk
khusus untuk menggambarkan berbagai
diagram piranti lunak.
 Setiap bentuk memiliki makna tertentu, dan
UML syntax mendefinisikan bagaimana bentuk-
bentuk tersebut dapat dikombinasikan.
 Notasi UML terutama diturunkan dari 3 notasi
yang telah ada sebelumnya: Grady Booch OOD
(Object-Oriented Design), Jim Rumbaugh OMT
(Object Modeling Technique), dan Ivar
Jacobson OOSE (Object-Oriented Software
Engineering).
Rekayasa Perangkat Lunak 3
UML Derivative

OMT

OOD OOSE

Rekayasa Perangkat Lunak 4


Rekayasa Perangkat Lunak 5
Rekayasa Perangkat Lunak 6
Rekayasa Perangkat Lunak 7
Analysis and Design Process
Zachman Framework
System requirements

legend

Use Case Class


Model Diagram Structural

Behavioral

Activity/Sequence State
Diagram Chart

Component Deployment
Diagram Diagram

Rekayasa Perangkat Lunak 8


System Development

Rekayasa Perangkat Lunak 9


Use case diagram

 Use case diagram menggambarkan fungsionalitas yang


diharapkan dari sebuah sistem. Yang ditekankan adalah
“apa” yang diperbuat sistem, dan bukan “bagaimana”.
 Sebuah use case merepresentasikan sebuah interaksi
antara aktor dengan sistem.

Rekayasa Perangkat Lunak 10


Use Case Modeling: Core Elements

Construct Description Syntax


use case Use case dalah gambaran
fungsionalitas (keguaan) dari suatu UseCaseName

sistem (entitas lain) yang


berinteraksi dengan aktor sistem.
actor Actor menggambarkan orang,
system atau external entitas yang
menyediakan atau menerima ActorName
informasi dari system.
system Kotak yang menetapkan lingkup
boundary sistem untuk use case. Semua use
case di luar kotak akan dianggap
di luar ruang lingkup sistem itu..

Rekayasa Perangkat Lunak 11


Use Case Modeling: Core Relationships

Construct Description Syntax


association Partisipasi suatu aktor dalam use
case, yaitu menghubungkan aktor dan
instance dari use case berkomunikasi
satu sama lain
generalization Hubungan taksonomi antara use case
yang lebih umum dan use case yang
lebih spesifik.
extend Hubungan dari use case ekstensi ke
use case dasar, menentukan
bagaimana perilaku untuk use case <<extend>>
ekstensi dapat dimasukkan ke dalam
perilaku yang ditentukan untuk use
case dasar.

Rekayasa Perangkat Lunak 12


Use Case Modeling: Core Relationships (cont’d)

Construct Description Syntax


include Suatu hubungan dari use case dasar
ke use case inklusi, menentukan <<include>>
bagaimana perilaku untuk use case
inklusi dimasukkan ke dalam perilaku
yang ditentukan untuk use case
dasar.

Contoh: kegiatan pasien membuat janji

Rekayasa Perangkat Lunak 13


Verify Cridit Chard
<<include>>
Rent Vehicle
Rent Vehicle

Customer <<include>>
Check Driver's Licence

Communication
Relationships Include
Relationships

Gold Card Customer Regular Customer <<extend>>


Arrange for added Insurance Rent Vehicle
Menyusun asuransi tambahan

Generalizes
Relationships
Extends Relationships

Rekayasa Perangkat Lunak 14


Contoh: Use Case Diagram
Telephone Catalog

Check
status

Place Salesperson
order

Fill orders
Customer Shipping Clerk

Establish
credit

Supervisor

Rekayasa Perangkat Lunak 15


Contoh: Use Case Diagram

Rekayasa Perangkat Lunak 16


Contoh: Use Case Diagram

Rekayasa Perangkat Lunak 17


Use Case Relationships

Supply Order
Customer Data Product Arrange
Payment

«include» «include» «include»

Place Order

Extension points «extend»


1 * additional requests : the salesperson asks for
after creation of the order the catalog

Request
Catalog

Rekayasa Perangkat Lunak 18


Contoh: Use Case Diagram

Rekayasa Perangkat Lunak 19


Class Diagram

 Class adalah sebuah spesifikasi yang jika diinstansiasi


akan menghasilkan sebuah objek dan merupakan inti dari
pengembangan dan desain berorientasi objek.
 Class menggambarkan keadaan (atribut/properti) suatu
sistem, sekaligus menawarkan layanan untuk
memanipulasi keadaan tersebut (metoda/fungsi).
 Class diagram menggambarkan struktur dan deskripsi
class, package dan objek beserta hubungan satu sama
lain seperti containment, pewarisan, asosiasi, dan lain-
lain.

Rekayasa Perangkat Lunak 20


Class Diagram

Class memiliki tiga area pokok :


1. Nama (dan stereotype)
2. Atribut
3. Metoda

Atribut dan metoda dapat memiliki salah satu sifat berikut :


Private, tidak dapat dipanggil dari luar class yang
bersangkutan

Protected, hanya dapat dipanggil oleh class yang


bersangkutan dan anak-anak yang mewarisinya

Public, dapat dipanggil oleh siapa saja Rekayasa Perangkat Lunak 21


Object-Oriented Approach
Objects are abstractions of real-world or system entities

Reality Domain Model Domain

bus

models
vehicle

car

models

cup

models

Rekayasa Perangkat Lunak 22


Intro | Classes | Relations | Generalization | Guidelines
Object-Oriented Approach

 Object adalah gambaran dari entity, baik dunia


nyata atau konsep dengan batasanbatasan dan
pengertian yang tepat.
 Object bisa mewakili sesuatu yang nyata seperti
komputer, mobil dll.
 Object juga dapat berupa konsep seperti proses
kimia, transaksi bank, permintaan pembelian, dll.
 Setiap object dalam sistem memiliki tiga
karakteristik yaitu State (status), Behaviour (sifat)
dan Indentity (identitas).

Rekayasa Perangkat Lunak 23


Classes

Class merepresentasikan Product


sesuatu yang ditangani oleh serialNumber
sistem name
price

buy()
display()
Class Name

Attributes

Operations

Rekayasa Perangkat Lunak 24


Class Diagram Format and association:

Class Name Role Association Role Class Name Navigability


name name name
Attributes 1
Attributes
1..*

Operations Operations
(Methods) (Methods)

Multiplicity

Multiplicity Notation
1 : One and only one
0..* : None or more
1..* : One or more
0..1 : None or one

Rekayasa Perangkat Lunak 25


Relationships of Class

There three types of relationship :

1. Is-a (Generalization, Realization: Inheritance)


2. Has-a (Association)
3. Others (Association , Dependency)

Association (Aggregation, Composition)


Aggregation (One of associations)
Composition (One of associations)

Generalization

Realization

Dependency Rekayasa Perangkat Lunak 26


Multiplicity of Class

Rekayasa Perangkat Lunak 27


Pembuatan Class

Transfer Withdrawal

ATM ATM Card User Bank

Rekayasa Perangkat Lunak 28


Contoh Class Diagram
Aggregation : Aggregation Indicator
Multiplicity

1 1
Person
Company 1 Owner
Role

1..*

Employee Person

Company

owner:Person
employee[]:Person

Detail of the class

Rekayasa Perangkat Lunak 29


Contoh Class Diagram
Composition :

1 1
Handle
1 handle
Car
1
1

engine Engine

Car

handle:Handle 4
engine[]:Engine tire Tire
tire[4]:Tire

Detail of the class

Rekayasa Perangkat Lunak 30


Class: Furniture
Class name Attribute A1 Attributes
Method A1
Methods
Class: Chairs
[Attribute A1]
Is a specialization of Attribute B1
[Method A1]
or Method B1
Inherits from
Class: Executive Chairs
[Attribute A1]
[Attribute B1]
Attribute C1
[Method A1]
Class Inheritance & Method B1 (overriding)
Specialization Method C1

Rekayasa Perangkat Lunak 31


Contoh
Class Diagram
(Studi Kasus
ATM)

Rekayasa Perangkat Lunak 32


Contoh Class Diagram (Pembelian Barang)

Rekayasa Perangkat Lunak 33


StateChart Diagram

 Statechart diagram menggambarkan transisi dan


perubahan keadaan (dari satu state ke state lainnya)
 Pada umumnya statechart diagram menggambarkan
class tertentu (satu class dapat memiliki lebih dari satu
statechart diagram).

Rekayasa Perangkat Lunak 34


StateChart Diagram

 Dalam UML, state digambarkan berbentuk segiempat


dengan sudut membulat dan memiliki nama sesuai
kondisinya saat itu.
 Transisi antar state umumnya memiliki kondisi guard yang
merupakan syarat terjadinya transisi yang bersangkutan,
dituliskan dalam kurung siku.
 Action yang dilakukan sebagai akibat dari event tertentu
dituliskan dengan diawali garis miring.
 Titik awal dan akhir digambarkan berbentuk lingkaran
berwarna penuh dan berwarna setengah.

Rekayasa Perangkat Lunak 35


State Diagram :Authentication Process

End State
Start State
Validating
Editing [Validation]
entry / Display message
entry / init time do / Ask to server [Server-answer:ok]
exit / Hide message
[Time Out]
[Server answer:denial]

End State
End State

Rekayasa Perangkat Lunak 36


State Diagram
Class Open
Process

Rekayasa Perangkat Lunak 37


Activity Diagram
 Activity diagrams menggambarkan berbagai alir aktivitas
dalam sistem yang sedang dirancang, bagaimana
masing-masing alir berawal, decision yang mungkin
terjadi, dan bagaimana mereka berakhir.
 Activity diagram juga dapat menggambarkan proses
paralel yang mungkin terjadi pada beberapa eksekusi.
 Activity diagram merupakan state diagram khusus, di
mana sebagian besar state adalah action dan sebagian
besar transisi di-trigger oleh selesainya state sebelumnya
(internal processing).
 Oleh karena itu activity diagram tidak menggambarkan
behaviour internal sebuah sistem (dan interaksi antar
subsistem) secara eksak, tetapi lebih menggambarkan
proses-proses dan jalur-jalur aktivitas dari level atas
secara umum.

Rekayasa Perangkat Lunak 38


Activity Diagrams Format

start stop
Transition
Initial activity Activity-B

[Option A] Activity-C
Decision
Activity-D
[Option B]
The bar shows that one activity leads
to several that occur in parallel or in
an unpredictable order.

Rekayasa Perangkat Lunak 39


Activity Diagrams Example

Check User PWD

PWD wrong 1st & Ask to


PWD wrong
2nd time repeat PWD
3rd time
Access Get new CD data
declined
User chooses Get search criteria
User Info is set
menu option ......

.....

Rekayasa Perangkat Lunak 40


Activity Diagrams Example

Rekayasa Perangkat Lunak 41


Rekayasa Perangkat Lunak 42
Rekayasa Perangkat Lunak 43
Sequence Diagram
 Sequence diagram menggambarkan interaksi antar objek di dalam dan
di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa
message yang digambarkan terhadap waktu. Sequence diagram terdiri
atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang
terkait).
 Komponen dasar sequence diagram :
 Object - adalah komponen berbentuk kotak yang mewakili sebuah class atau object.
Mereka mendemonstrasikan bagaimana sebuah object berperilaku pada sebuah
system.
 Activation boxes - adalah komponen yang berbentuk persegi panjang yang
menggambarkan waktu yang diperlukan sebuah object untuk menyelesaikan tugas.
Lebih lama waktu yang diperlukan, maka activation boxes akan lebih panjang.
 Actors - adalah komponen yang berbentuk stick figure. Komponen yang mewakili
seorang pengguna yang berinteraksi dengan system.
 Lifeline - adalah komponen yang berbentuk garis putus - putus. Lifeline biasanya
memuat kotak yang berisi nama dari sebuah object. Berfungsi menggambarkan
aktifitas dari object.

Rekayasa Perangkat Lunak 44


Notasi Sequence Diagram

Rekayasa Perangkat Lunak 45


Contoh Sequence Diagram

Rekayasa Perangkat Lunak 46


Sequence Diagram Otentifikasi User ATM

Rekayasa Perangkat Lunak 47


Sequence Diagram Pengambilan Uang di ATM

Rekayasa Perangkat Lunak 48

Anda mungkin juga menyukai