Anda di halaman 1dari 64

UML (Unified Modelling Language]

UML Use

Case Diagram Activity Diagram

Kompetensi
Mampu mendefinisikan pemodelan obyek. Mengetahui bagaimana membangun pemodelan obyek. Mendefinisikan UML dan berbagai macam tipe diagram yang digunakan. . Mampu membangun use case diagram Mampu membangun activity diagram.

1. Mastering UML with Rational Rose 2002, Wendy Boggs, Michael Boggs, SYBEX 2002 2. ri! "#rniati. nalisa dan $esain %erorientasi &%'e!. $i!tat !#liah (#r#san te!ni! )n*or+ati!a.Uni,eritas -r#no'oyo. 200. /. &%'ect &riented Modeling and $esign with UML. 2nd edition. Michael Blaha, (a+es R#+%a#gh.0rentice 1all. 2002

Pengantar UML
Unified Modeling Language (UML) Aturan aturan pemodelan yang digunakan untuk mendeskripsikan sistem dalam bentuk kumpulan obyek. Note :
UML bukan sebuah metode untuk mengembangkan sisten tetapi notasinotasi yang digunakan secara umum sebagai standar untuk pemodelan

UML (Unified Modeling Language) adalah metode pemodelan secara visual sebagai sarana untuk merancang dan atau membuat software berorientasi objek. Karena UML ini merupakan bahasa visual untuk pemodelan bahasa berorientasi objek, maka semua elemen dan diagram berbasiskan pada paradigma object oriented. UML memberikan standar penulisan sebuah sistem blueprint, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponen-komponen yang diperlukan dalam software UML adalah sebuah bahasa standar untuk pengembangan software yang dapat menyampaikan bagaimana membuat dan membentuk model-model, tetapi tidak menyampaikan apa dan kapan model yang seharusnya dibuat

UML tidak hanya merupakan sebuah bahasa pemograman visual saja, namun juga dapat secara langsung dihubungkan ke berbagai bahasa pemograman, seperti !"!, #$$, "isual %asic, atau bahkan dihubungkan secara langsung ke dalam sebuah object-oriented database. UML juga dapat digunakan untuk modeling aplikasi prosedural dalam "% atau #. %egitu juga mengenai pendokumentasian dapat dilakukan seperti& requirements, arsitektur, design, source code, project plan, tests, dan prototypes.

'ampai era tahun ())* terdapat puluhan metodologi pemodelan berorientasi objek bermunculan di dunia. +iantaranya adalah, metodologi booch, metodologi coad, metodologi --'., metodologi -M/, metodologi shlaer-mellor, metodologi wirfs-brock, dsb. Masa itu terkenal dengan masa perang metodologi 0method war1 dalam perancangan berorientasi objek. Masing-masing metodologi membawa notasi sendirisendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan group2perusahaan lain yang menggunakan metodologi yang berlainan.

+imulai pada bulan -ktober ())3 %ooch, 4umbaugh dan acobson, mempelopori usaha untuk penyatuan metodologi perancangan berorientasi objek. 5ada tahun ())6 direlease draft pertama dari UML 0versi *.71. 'ejak tahun ())8 pengembangan tersebut dikoordinasikan oleh &%'ect Manage+ent 3ro#4 0-M9 : http,22www.omg.org1. /ahun ()); UML versi (.( muncul, dan saat ini versi terbaru adalah versi <.* yang direlease tahun <**6. 'ejak saat itulah UML telah menjelma menjadi standar bahasa pemodelan untuk aplikasi berorientasi objek.

'eperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax2semantik. =otasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. 'etiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. =otasi UML terutama diturunkan dari > notasi yang telah ada sebelumnya, 9rady %ooch --+ 0-bject--riented +esign1, im 4umbaugh -M/ 0-bject Modelling /echni?ue1, dan @var acobson --'. 0-bject--riented 'oftware .ngineering1.

Diagram !Diagram dalam UML ".# $%&


Diagram Use Case Description
Menggambarkan interaksi antara sistem dan pengguna/sistem eksternal. Secara grafis, menggambarkan siapa yang akan menggunakan sistem dan dengan cara bagaimana pengguna berinteraksi dengan sistem, Narasi use case digunakan untuk menggambarkan secara tekstual langkahlangkah dalam interaksi sistem dengan penggunanya.

Activity $Aktivitas& Class $Kelas&

Menggambarkan alur aktivitas sekuensial dari tiap use case/proses bisnis/logika sistem.
Menggambarkan struktur obyek dari sistem, yang memuat obyek-obyek yang terdapat dalam sistem beserta hubungan/relasi antar obyek.

Diagram Description Object (Obyek) 'erupa dengan class diagram( namun digunakan untuk memodelkan ke)adian $instance& obyek dengan nilai nilainya. Dipakai oleh pengembang sistem untuk memotret keadaan obyek sistem pada suatu saat tertentu. 'tate Machine Memodelkan bagaimana ke)adian dapat mengubah

keadaan $state& dari suatu obyek sepan)ang *hidupnya+ obyek tersebut. Menggambarkan berbagai macam keadan yang dapat dialami suatu obyek beserta transisi antar keadaan tsb. Mendekomposisi struktur internal kelas( komponen( atau use case.

Composite 'tructure

Diagram
'e,uence $'ekuen&

Description
Menggambarkan secara grafis bgmn obyek obyek berinteraksi satu sama lain melalui pesan selama eksekusi suatu use case-operasi. Mengilustrasikan bagaimana pesan dikirim dan diterima oleh obyek dan bgmn urutannya. $Dalam UML %.. disebut Collaboration diagram& . Menggambarkan interaksi obyek obyek melalui pesan. Lebih berfokus pada struktur internal obyek dalam format )aringan( ketimbang urutannya seperti pada diagram sekuen. Mengkombinasikan fitur fitur dari diagram sekuen dan diagram aktivitas untuk menun)ukkan bgmn obyek obyek berinteraksi dalam tiap aktivitas dalam suatu use case.

Communication $Komunikasi&

/nteraction 0vervie1 $0vervie1 /nteraksi&

Diagram
2iming

Description
3entuk diagram interaksi yang lain yang berfokus pada kendala 1aktu dalam perubahan keadaan dari suatu obyek tunggal atau kelompok. 3ermanfaat untuk merancang embedded soft1are bagi suatu piranti. Menggambarkan organisasi kode program yang dibagi dalam beberapa komponen dan bagaimana komponen komponen tsb berinteraksi. Menggambarkan konfigurasi komponen soft1are dalam arsitektur fisik dari *node node+ sistem hard1are. Menggambarkan bagaiman kelas kelas atau unit unit dalam UML yang lain diorganisasi ke dalam paket $berhubungan dengan package dalam 4ava( C55 atau .672 & serta ketergantungan antar paket

Component

Deployment

Package

Use case diagra+ +engga+%ar!an *#ngsionalitas yang dihara4!an dari se%#ah siste+. Yang dite!an!an adalah 5a4a6 yang di4er%#at siste+, dan %#!an 5%agai+ana6. Se%#ah #se case +ere4resentasi!an se%#ah intera!si antara a!tor dengan siste+.

@ntinya ,

Use #ase +iagram dapat mengilustrasikan re?uirement2kebutuhan sistem

Use case dan actor menggambarkan ruang lingkup sistem yang sedang dibangun Use case meliputi semua yang ada dalam sistem !ctor meliputi semua yang ada di luar sistem

!da kemiripan antara business use case dan use case. @stilah aktor, use case, relasi, diagram aktifitas padanya. =amun, terdapat perbedaan diantara keduanya, yaitu ,

Item Use case

Business Use case

Use Case diagram

Menjelaskan apa yang Menjelaskan apa yang dikerjakan bisnes sistem lakukan dalam bisnis Eksternal terhadap organisasi Internal terhadap organisasi Eksternal terhadap sistem (mungkin internal terhadap organisasi) idak digunakan

Actor

Business workes

!dalah seseorang atau apa saja yang berhubungan dengan sistem yang sedang dibangun. +alam UML direpresentasikan dengan notasi beriku ini,

5asien

!da > tipe (. 5engguna sistem <. 'istem yang lain dan berhubungan dengan sistem yang dibangun >. Aaktu /ipe pertama actor secara fisik atau seorang pengguna merupakan gambaran secara actor fisik dan umum yang selalu ada pada setiap sistem

Ketika memberi nama actor, gunakan nama 4eranan dan 'angan na+a 4osisi 'eorang individu dapat memainkan beberapa peranan. Misal, !li adalah seorang pasien, namun dalam kesempatan lain ia menjadi pegawai dalam puskesmas tersebut, maka ia memainkan peranan sebagai petugas kesehaatn.

/ipe Kedua adalah sistem yang lain. Misalkan pada sebuah sistem @nformasi 5uskesmas memerlukan koneksi dengan aplikasi sistem yang lain, semisal '@M rumah sakit. Maka dalam kasus ini, '@M rumah sakit adalah actor.

/ipe ketiga adalah waktu +apat menjadi actor jika seiring perjalan waktu dapat memicu event2kejadian dalam sistem. Misalkan ,
! %agian registrasi mendata pasien yang berulang tahun pada hari kesehatan anak. Mungkin pemerintah akan memberikan kesempatan untuk mendapat pengobatan secara gratis. Maka sistem secara otomatis menyeleksi pasien secara acak untuk mendapatkan hadiah tersebut. Karena waktu berada di luar kendali kita, maka ia dapat menjadi actor.

!dalah bagian fungsionalitas tingkat tinggi yang disediakan oleh sistem. +engan kata lain, use case menggambarkan bagaimana seseorang menggunakan sistem. Use dalam UML dinotasikan dengan simbol

5endaftaran 5asien

4elasi asosiasi digunakan untuk menunjukkan relasi antara actor dan use case !da tiga tipe relasi antara use case 4elasi @nclude 4elasi .Btend 4elasi 9eneralisasi

4elasi antara actor dan use case +inotasikan seperti gambar berikut

5asien

4egistrasi 5asien

!rah panah menunjukkan siapa yang mengawali komunikasi. +engan mengecualikan use case dalam relasi include dan relasi eBtend, setiap use case harus diinisialisasi oleh actor

Memungkinkan satu use case menggunakan fungsionalitas yang disediakan oleh use case lainnya.

CCincludeDD

Memberikan resep obat

mengambil obat

Memungkinkan suatu use case secara o4tional menggunakan fungsionalitas yang disediakan oleh use case lainnya.

CCeBtendDD

Use case pemeriksaan kesehatan suatu saat memerlukan tes laboratorium, tapi pada saat lain tidak. /ergantung pada kondisi pasien yang diperiksa.

5emeriksaan Kesehatan

/es laboratorium

+igunakan untuk menunjukkan bahwa beberapa actor atau use case mempunyai beberapa persamaan, namun ada perbedaan spesifik abtara actor 2use case tersebut.

5etugas medis

+okter

%idan

5endaftaran pasien

5etugas Loket

5asien 5emeriksaan kesehatan 5etugas medis

CCeBtendDD /indakan medis CCincludeDD /ea Laboratorium Laboran 5emberian resep 5engambilan obat !poteker

"iew 4eport #ard

'tudent

4egister for #ourses

#ourse#atalog Login Maintain 5rofessor @nformation

'elect #ourses to /each

4egistrar

Maintain 'tudent @nformation

5rofessor 'ubmit 9rade

#lose 4egistration

%illing 'ystem ADBO-Created By Yunhi

13/08/2009

33

Dapat dibuat dengan Use Case 8ie1( dengan langkah" sbb 9 Use case diagrams Use case flo1 of events 'upplemental information Activity diagrams

ADBO-Created By Yunhi

13/08/2009

34

USE CASE menggambarkan bagaimana seseorang menggunakan sistem Pada UML, use case di gambarkan dengan simbol berbentuk oval.

Use #ase

Example: Login, "eac#

egister !or Course, Select Courses to

Aktor adalah seseorang atau sesuatu diluar sistem yang harus berinteraksi dengan sistem. Pada UML aktor digambarkan dengan simbol *stickman.+

!ctor

7:ample9 Professor( 'tudent( Administrator( 3illing 'ystem.

;elationships menggambarkan hubungan antara " atau lebih aktor dan use case dan antara " atau lebih use case. Pada UML( hubungan di gambarkan dengan garis dengan atau tanpa panah.

Association

elationships

$iga+%ar!an dengan !ota! dise!itar #se case, #nt#! +engga+%ar!an 'ang!a#an syste+ anda 7sco4e o* o* yo#r syste+8. Biasanya dig#na!an a4a%ila +e+%eri!an %e%era4a alternati,e syste+ yang da4at di'adi!an 4ilihan Syste+ %o#ndary %o9es are o4tional

base

<<include>>

included

Base use case menerangkan keterkaitan behavior dari usecase lain pada lokasi khusus pada base. @ncluded use case tidak bisa berdiri sendiri. @ni hanya menjadi bagian dari base yang menginclude-nya.

base

<<extend>>

extending

%ase use case secara tidak langsung terkait behavior dari use case lain pada point tertentu yang di secut eBtension points. %ase use case bisa saja berdiri sendiri, tetapi pada kondisi tertentu mungkin saja diperluas oleh behavior use case lain.

place phone call cellular network

<<extend>>

place conference call receive additional call

receive phone call

<<extend>>

user

use scheduler
Cellular Telephone

Update @tems %ookshop Aorker 'hip -rder

Update 'taff +etails #ustomer ( %ookshop Manager 4egister +etails CCincludeDD CCeBtendDD Eandle -rder CCincludeDD CCincludeDD Update #ustomer +etails 'ystem Login

Make -rder

!dd @tems to 'hopping#art

Pemodelan aktivitas Use Case


Activity diagram " diagram yang digunakan untuk menggambarkan
#roses bisnis$ %angkah&langkah use case %ogika perilaku obyek' metode

Activity diagram adalah cara lain menggambarkan flo1 of events. Menun)ukkan kontrol aliran dari activity ke activity.

(low o) E*ents his use case starts when the +egistrar re,uests that the system close registration.- he system checks to see i) registration is in progress- I) it is$ then a message is displayed to the +egistrar and the use case terminates- he Close +egistration processing cannot be per)ormed i) registration is in progress/- (or each course o))ering$ the system checks i) a pro)essor has signed up to teach the course o))ering and at least three students ha*e registered- I) so$ the system commits the course o))ering o) each schedule that contains it-

Activity menggambarkan sebuah peker)aan-tugas dalam 1orkflo1. Pada UML( activity digambarkan dengan simbola belah ketupat<=lo>enge? $hori>ontal top and bottom 1ith conve: sides&.

Activity

State

'tart state dengan tegas menun)ukkan dimulainya suatu 1orkflo1 pada sebuah activity diagram. @anya ada satu start state dalam sebuah 1orkflo1. Pada UML( start state digambarkan dengan simbol lingkaran yang solid.

Start State

7nd state menggambarkan akhir atau terminal dari pada sebuah activity diagram. 3isa terdapat lebih dari satu end state pada sebuah activity diagram. Pada UML( end state digambarkan dengan simbol sebuah bull?s eye.

!nd State

'tate transition menunjukkan kegiatan apa berikutnya setelah suatu kegiatan sebelumnya. 5ada UML, state transition digambarkan oleh sebuah solid line dengan panah.

State "ransition

Decision adalah suatu titik-point pada activity diagram yang mengindikasikan suatu kondisi dimana ada kemungkinan perbedaan transisi. Pada UML( decision digambarkan dengan sebuah simbol diamond.

Decision

! swimlane is used to partition an activity diagram to help us better understand who or what is initiating the activity.

Petun)uk Membuat Diagram Aktivitas


Mulailah dengan node a1al untuk titik a1al. 2ambahkan partisi )ika relevan untuk analisis yang dibuat. 2ambahkan aksi untuk setiap langkah utama dari use case. 2ambahkan alur dari setiap aksi ke aksi lain( keputusan atau node akhir. 'etiap aksi hanya mendapat satu alur masuk dan satu alur keluar menu)u ke forks( )oins( decisions( dan merges. 2ambahkan decisions )ika alur dipecah men)adi beberapa pilihan. 4angan lupa untuk menggabungkan kembali dengan merge. 2ambahkan forks dan )oins )ika aktivitas akan dilakukan secara paralel. Akhiri proses dengan notasi untuk akhir

CASE Tools
Argo #M$ % http&//argouml.tigris.org/' (ataly)e ational ose !iffel * +aradigm +lus +ro,y Designer

(-N"-. D/A0 AM A1"/2/"AS

Contoh Diagram Aktivitas