7/22/2019 Analisis Dengan UML
1/64
1
ML ( nified ModellingLanguage]
7/22/2019 Analisis Dengan UML
2/64
UMLUse Case Diagram
Activity Diagram
2
7/22/2019 Analisis Dengan UML
3/64
Kompetensi
Mampu mendefinisikan pemodelan obyek.Mengetahui bagaimana membangun
pemodelan obyek.Mendefinisikan UML dan berbagai macam tipe
diagram yang digunakan. .Mampu membangun use case diagramMampu membangun activity diagram.
7/22/2019 Analisis Dengan UML
4/64
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.Unieritas -r#no'oyo. 200/. &%'ect &riented Modeling and $esign with UML.
2nd edition. Michael Blaha, (a+es
R#+%a#gh.rentice all. 200
7/22/2019 Analisis Dengan UML
5/64
Pengantar UML
Unified Modeling Language (UML)Aturanaturan pemodelan yangdigunakan untuk mendeskripsikan
sistem dalam bentuk kumpulanobyek.
Note :
UML bukan sebuah metode untukmengembangkan sisten tetapi notasi-
notasi yang digunakan secara umum
sebagai standar untuk pemodelan
7/22/2019 Analisis Dengan UML
6/64
7/22/2019 Analisis Dengan UML
7/64
UML (Unified Modeling Language) adalah metode pemodelansecara visual sebagai sarana untuk merancang dan atau membuatsoftware berorientasi objek.
Karena UML ini merupakan bahasa visual untuk pemodelan bahasaberorientasi 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 bahasaprogram yang spesifik, skema database, dan komponen-komponenyang diperlukan dalam software
UML adalah sebuah bahasa standar untuk pengembangan softwareyang dapat menyampaikan bagaimana membuat dan membentukmodel-model, tetapi tidak menyampaikan apa dan kapan modelyang seharusnya dibuat
7/22/2019 Analisis Dengan UML
8/64
UML tidak hanya merupakan sebuah bahasapemograman visual saja, namun juga dapat secaralangsung dihubungkan ke berbagai bahasapemograman, seperti !"!, #$$, "isual %asic, ataubahkan dihubungkan secara langsung ke dalamsebuah object-oriented database. UML juga dapatdigunakan untuk modeling aplikasi prosedural dalam"% atau #.
%egitu juga mengenai pendokumentasian dapatdilakukan seperti& requirements, arsitektur, design,source code,project plan, tests, danprototypes.
7/22/2019 Analisis Dengan UML
9/64
'ampai era tahun ())* terdapat puluhan metodologipemodelan berorientasi objek bermunculan di dunia.+iantaranya adalah metodologi booch, metodologicoad, metodologi ', metodologi M/,metodologi shlaer-mellor, metodologi wirfs-brock, dsb.
Masa itu terkenal dengan masa perang metodologi0method war1 dalam perancangan berorientasi objek.Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baruapabila kita bekerjasama dengan group2perusahaan
lain yang menggunakan metodologi yang berlainan.
7/22/2019 Analisis Dengan UML
10/64
+imulai pada bulan ktober ())3 %ooch, 4umbaughdan acobson, mempelopori usaha untuk penyatuanmetodologi perancangan berorientasi objek.
5ada tahun ())6 direlease draft pertama dari UML0versi *.71. 'ejak tahun ())8 pengembangan tersebut
dikoordinasikan oleh &%'ect Manage+ent 3ro#40M9 : http22www.omg.org1. /ahun ()); UML versi (.( muncul, dan saat ini versi
terbaru adalah versi
7/22/2019 Analisis Dengan UML
11/64
'eperti bahasa-bahasa lainnya, UML mendefinisikannotasi dan syntax2semantik. =otasi UML merupakansekumpulan bentuk khusus untuk menggambarkanberbagai diagram piranti lunak.
'etiap bentuk memiliki makna tertentu, dan UML
syntax mendefinisikan bagaimana bentuk-bentuktersebut dapat dikombinasikan. =otasi UML terutamaditurunkan dari > notasi yang telah ada sebelumnya9rady %ooch + 0bject-riented +esign1, im4umbaugh M/ 0bject Modelling /echni?ue1, dan
@var acobson ' 0bject-riented 'oftwarengineering1.
7/22/2019 Analisis Dengan UML
12/64
Diagram !Diagram dalam UML ".# $%&
Diagram Description
Use Case Menggambarkan interaksi antara sistem danpengguna/sistem eksternal. Secara grafis,menggambarkan siapa yang akanmenggunakan sistem dan dengan carabagaimana pengguna berinteraksi dengansistem,
Narasi use case digunakan untukmenggambarkan secara tekstual langkah-langkah dalam interaksi sistem denganpenggunanya.
Activity
$Aktivitas&
Menggambarkan alur aktivitas sekuensialdari tiap use case/proses bisnis/logika
sistem.
Class $Kelas& Menggambarkan struktur obyek dari sistem, yangmemuat obyek-obyek yang terdapat dalamsistem beserta hubungan/relasi antar obyek.
7/22/2019 Analisis Dengan UML
13/64
Diagram Description
Object (Obyek) 'erupa dengan class diagram( namundigunakan untuk memodelkan ke)adian$instance& obyek dengan nilainilainya.Dipakai oleh pengembang sistem untukmemotret 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 berbagaimacam keadan yang dapat dialami suatu obyekbeserta transisi antar keadaan tsb.
Composite'tructure
Mendekomposisi struktur internal kelas( komponen(atau use case.
7/22/2019 Analisis Dengan UML
14/64
Diagram Description
'e,uence$'ekuen&
Menggambarkan secara grafis bgmn obyekobyek berinteraksi satu sama lain melalui pesanselama eksekusi suatu use case-operasi.Mengilustrasikan bagaimana pesan dikirim danditerima oleh obyek dan bgmn urutannya.
Communication$Komunikasi& $Dalam UML %. disebut Collaboration diagram&. Menggambarkan interaksi obyekobyek melaluipesan. Lebih berfokus pada struktur internalobyek dalam format )aringan( ketimbangurutannya seperti pada diagram sekuen.
/nteraction
0vervie1$0vervie1/nteraksi&
Mengkombinasikan fiturfitur dari diagram
sekuen dan diagram aktivitas untukmenun)ukkan bgmn obyekobyek berinteraksidalam tiap aktivitas dalam suatu use case.
7/22/2019 Analisis Dengan UML
15/64
Diagram Description
2iming 3entuk diagram interaksi yang lain yang berfokuspada kendala 1aktu dalam perubahan keadaan darisuatu obyek tunggal atau kelompok. 3ermanfaatuntuk merancang embedded soft1are bagi suatupiranti.
Component Menggambarkan organisasi kode program yangdibagi dalam beberapa komponen dan bagaimanakomponenkomponen tsb berinteraksi.
Deployment Menggambarkan konfigurasi komponen soft1aredalam arsitektur fisik dari *nodenode+ sistemhard1are.
Package Menggambarkan bagaiman kelaskelas atau unitunitdalam UML yang lain diorganisasi ke dalam paket$berhubungan dengan package dalam 4ava( C55atau .672 & serta ketergantungan antar paket
7/22/2019 Analisis Dengan UML
16/64
Use case diagra+ +engga+%ar!an *#ngsionalitasyang 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%#ahintera!si antara a!tor dengan siste+.
7/22/2019 Analisis Dengan UML
17/64
@ntinya
Use #ase +iagram dapat
mengilustrasikanre?uirement2kebutuhan sistem
7/22/2019 Analisis Dengan UML
18/64
Use case dan actor menggambarkan ruanglingkup sistem yang sedang dibangun
Use case meliputi semua yang ada dalam sistem
!ctor meliputi semua yang ada di luar sistem
7/22/2019 Analisis Dengan UML
19/64
!da kemiripan antara business use case dan use case. @stilah aktor, usecase, relasi, diagram aktifitas padanya. =amun, terdapat perbedaandiantara keduanya, yaitu
Item Business Use case Use Case diagram
Use case Menjelaskan apa yangdikerjakan bisnes
Menjelaskan apa yangsistem lakukan dalam bisnis
Actor Eksternal terhadap
organisasi
Eksternal terhadap sistem
(mungkin internal terhadaporganisasi)
Businessworkes
Internal terhadaporganisasi
idak digunakan
7/22/2019 Analisis Dengan UML
20/64
!dalah seseorang atau apa saja yang berhubungandengan sistem yang sedang dibangun.
+alam UML direpresentasikan dengan notasi beriku ini
5asien
7/22/2019 Analisis Dengan UML
21/64
!da > tipe(. 5engguna sistem
7/22/2019 Analisis Dengan UML
22/64
Ketika memberi nama actor, gunakan nama4eranandan'angan na+a 4osisi
'eorang individu dapat memainkan beberapaperanan.
Misal, !li adalah seorang pasien, namun dalamkesempatan lain ia menjadi pegawai dalampuskesmas tersebut, maka ia memainkanperanan sebagai petugas kesehaatn.
7/22/2019 Analisis Dengan UML
23/64
/ipe Kedua adalah sistem yang lain. Misalkanpada sebuah sistem @nformasi 5uskesmasmemerlukan koneksi dengan aplikasi sistem yanglain, semisal '@M rumah sakit.
Maka dalam kasus ini, '@M rumah sakit adalahactor.
7/22/2019 Analisis Dengan UML
24/64
/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 harikesehatan anak. Mungkin pemerintah akan memberikankesempatan untuk mendapat pengobatan secara gratis. Makasistem secara otomatis menyeleksi pasien secara acak untukmendapatkan hadiah tersebut.
Karena waktu berada di luar kendali kita, maka ia dapat menjadi
actor.
7/22/2019 Analisis Dengan UML
25/64
!dalah bagian fungsionalitastingkat tinggi yang disediakan olehsistem.
+engan kata lain, use case
menggambarkan bagaimanaseseorang menggunakan sistem.
Use dalam UML dinotasikandengan simbol
5endaftaran 5asien
7/22/2019 Analisis Dengan UML
26/64
4elasi asosiasi digunakan untuk menunjukkanrelasi antara actor dan use case
!da tiga tipe relasi antara use case
4elasi @nclude
4elasi Btend
4elasi 9eneralisasi
7/22/2019 Analisis Dengan UML
27/64
4elasi antara actor dan use case +inotasikan seperti gambar berikut
!rah panah menunjukkan siapa yang mengawali komunikasi.
+engan mengecualikan use case dalam relasi include dan relasieBtend, setiap use case harus diinisialisasi oleh actor
5asien 4egistrasi 5asien
7/22/2019 Analisis Dengan UML
28/64
Memungkinkan satu use case menggunakanfungsionalitas yang disediakan oleh use case lainnya.
Memberikan resep obat mengambil obat
CCincludeDD
7/22/2019 Analisis Dengan UML
29/64
Memungkinkan suatu use case secara o4tional menggunakanfungsionalitas yang disediakan oleh use case lainnya.
Use case pemeriksaan kesehatan suatu saat memerlukan teslaboratorium, tapi pada saat lain tidak. /ergantung pada kondisipasien yang diperiksa.
5emeriksaan Kesehatan /es laboratorium
CCeBtendDD
7/22/2019 Analisis Dengan UML
30/64
+igunakan untuk menunjukkan bahwa beberapa actoratau use case mempunyai beberapa persamaan, namunada perbedaan spesifik abtara actor 2use case tersebut.
5etugas medis
+okter
%idan
7/22/2019 Analisis Dengan UML
31/64
5etugas Loket5endaftaran pasien
5emeriksaan kesehatan
/indakan medis
5etugas medis
5asien
5emberian resep
Laboran
/ea Laboratorium
CCeBtendDD
!poteker
5engambilan obat
CCincludeDD
7/22/2019 Analisis Dengan UML
32/64
7/22/2019 Analisis Dengan UML
33/64
13/08/2009ADBO-Created By Yunhi 33
"iew 4eport #ard
'tudent
5rofessor
'ubmit 9rade
LoginMaintain 5rofessor @nformation
Maintain 'tudent @nformation
4egister for #ourses
'elect #ourses to /each
#ourse#atalog
%illing 'ystem
4egistrar
#lose 4egistration
7/22/2019 Analisis Dengan UML
34/64
Dapat dibuat dengan UseCase 8ie1( denganlangkah" sbb 9Usecase diagrams
Usecase flo1 of events'upplemental informationActivity diagrams
13/08/2009ADBO-Created By Yunhi 34
7/22/2019 Analisis Dengan UML
35/64
USE CASE menggambarkan bagaimana seseorang menggunakan sistem Pada UML, use case di gambarkan dengan simbolberbentuk oval.
Example: Login, egister !or Course, Select Courses to"eac#
Use #ase
7/22/2019 Analisis Dengan UML
36/64
Aktor adalah seseorang atau sesuatu diluarsistem yang harus berinteraksi dengan sistem.
Pada UML aktor digambarkan dengan simbol*stickman.+
7:ample9 Professor( 'tudent( Administrator(3illing 'ystem.
!ctor
7/22/2019 Analisis Dengan UML
37/64
;elationships menggambarkan hubungan antara" atau lebih aktor dan use case dan antara " ataulebih use case.
Pada UML( hubungan di gambarkan dengan
garis dengan atau tanpa panah.
Association elationships
7/22/2019 Analisis Dengan UML
38/64
$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 alternatie syste+ yang da4atdi'adi!an 4ilihan
Syste+ %o#ndary %o9es are o4tional
7/22/2019 Analisis Dengan UML
39/64
7/22/2019 Analisis Dengan UML
40/64
Baseuse casemenerangkan keterkaitan behavior
dari usecase lain pada lokasi khusus pada base. @ncluded use case tidak bisa berdiri sendiri. @ni
hanya menjadi bagian dari base yang meng-include-nya.
base included
7/22/2019 Analisis Dengan UML
41/64
%ase use case secara tidak langsung terkait
behavior dari use case lain pada point tertentuyang di secut eBtension points.
%ase use case bisa saja berdiri sendiri, tetapi
pada kondisi tertentu mungkin saja diperluas oleh
behavior use case lain.
base extending
7/22/2019 Analisis Dengan UML
42/64
place
phone call
cellularnetwork
user
receive
phone call
place
conference
call
receive
additional
call
usescheduler
Cellular Telephone
7/22/2019 Analisis Dengan UML
43/64
Update @tems
%ookshop
Aorker
'hip -rder
%ookshopManager
Update 'taff +etails
4egister +etails
#ustomer
(
'ystem Login
Update #ustomer +etails
!dd @tems to 'hopping#art
Eandle -rder
CCincludeDD
CCeBtendDD
CCincludeDD
Make -rder
CCincludeDD
P d l kti it U C
7/22/2019 Analisis Dengan UML
44/64
Pemodelan aktivitas UseCase
Activity diagram"diagram yangdigunakan untukmenggambarkan#roses bisnis$
%angkah&langkah usecase
%ogika perilaku obyek'metode
7/22/2019 Analisis Dengan UML
45/64
Activity diagram adalah cara lain menggambarkanflo1 of events.
Menun)ukkan kontrol aliran dari activity ke activity.
low o E*ents
his use case starts when the +egistrarre,uests that the system close registration-
.- he system checks to see i registration is inprogress- I it is$ then a message is displayed tothe +egistrar and the use case terminates- heClose +egistration processing cannot beperormed i registration is in progress-
/- or each course oering$ the system checks ia proessor has signed up to teach the courseoering and at least three students ha*eregistered- I so$ the system commits the courseoering o each schedule that contains it-
7/22/2019 Analisis Dengan UML
46/64
Activity menggambarkan sebuah peker)aan-tugasdalam 1orkflo1.
Pada UML( activity digambarkan dengan simbolabelah ketupatenge? $hori>ontal top and bottom
1ith conve: sides&.
Activity State
7/22/2019 Analisis Dengan UML
47/64
'tart state dengan tegas menun)ukkandimulainya suatu 1orkflo1 pada sebuah activitydiagram.
@anya ada satu start state dalam sebuah
1orkflo1. Pada UML( start state digambarkan dengan
simbol lingkaran yang solid.
Start State
7/22/2019 Analisis Dengan UML
48/64
7nd state menggambarkan akhir atau terminaldari pada sebuah activity diagram.
3isa terdapat lebih dari satu end state padasebuah activity diagram.
Pada UML( end state digambarkan dengan simbolsebuah bull?s eye.
!nd State
7/22/2019 Analisis Dengan UML
49/64
'tate transition menunjukkan kegiatan apa berikutnya setelah suatukegiatan sebelumnya. 5ada UML, state transition digambarkan oleh sebuah solid line
dengan panah.
State "ransition
7/22/2019 Analisis Dengan UML
50/64
Decision adalah suatu titik-point pada activitydiagram yang mengindikasikan suatu kondisidimana ada kemungkinan perbedaan transisi.
Pada UML( decision digambarkan dengan
sebuah simbol diamond.
Decision
7/22/2019 Analisis Dengan UML
51/64
! swimlane is used to partition an activity diagram to help us betterunderstand who or what is initiating the activity.
) k b i k i i
7/22/2019 Analisis Dengan UML
52/64
Petun)uk Membuat Diagram Aktivitas
Mulailah dengan node a1al untuk titik a1al.
2ambahkan partisi )ika relevan untuk analisisyang dibuat.2ambahkan aksi untuk setiap langkah utama
dari use case.
2ambahkan alur dari setiap aksi ke aksi lain(keputusan atau node akhir. 'etiap aksi hanyamendapat satu alur masuk dan satu alur keluarmenu)u ke forks( )oins( decisions( dan merges.
2ambahkan decisions )ika alur dipecah men)adibeberapa pilihan. 4angan lupa untukmenggabungkan kembali dengan merge.
2ambahkan forks dan )oins )ika aktivitas akandilakukan secara paralel.
Akhiri proses dengan notasi untuk akhir
7/22/2019 Analisis Dengan UML
53/64
CASE ToolsArgo #M$ %
http&//argouml.tigris.org/'
(ataly)e
ational ose
!iffel *
+aradigm +lus
+roy Designer
http://argouml.tigris.org/http://argouml.tigris.org/7/22/2019 Analisis Dengan UML
54/64
7/22/2019 Analisis Dengan UML
55/64
(N" DA0AM A1"2"AS
Contoh Diagram Aktivitas
7/22/2019 Analisis Dengan UML
56/64
Contoh Diagram Aktivitas
7/22/2019 Analisis Dengan UML
57/64
7/22/2019 Analisis Dengan UML
58/64
7/22/2019 Analisis Dengan UML
59/64
7/22/2019 Analisis Dengan UML
60/64
7/22/2019 Analisis Dengan UML
61/64
7/22/2019 Analisis Dengan UML
62/64
7/22/2019 Analisis Dengan UML
63/64
7/22/2019 Analisis Dengan UML
64/64