REKOMENDASI ALIRAN KERJA UNTUK MASALAH WAKTU NYATA DENGAN UML 2.0 Dr.Eng. Ir. Pujianto Yugopuspito, MSc*, I Made Murwantara S.Si., M.Kom**, dan Christine Irhans, S.Kom***
Abstract Unified Modeling Language (UML) is a de-facto object-oriented model standard. Upon its acceptance from Object Modeling Group (OMG), it evolves minorly from standard 1.0 till standard 1.4, and recently, it has a major modification and becomes UML standard 2.0. The major changes in UML 2.0 are some additional set of diagrams. In this new standard, real-timeness problem can be modelled easyly without additional stereotyping. A UML standard usually has a recommended workflow. Many workflows have been recommended, but according to UML 2.0 standard, there is no assigned affirmative workflow. This paper is proposing a workflow recommendation for UML 2.0 which caters a real-time problem. Then an example of Python Code Generation from UML is taken.
1. PENDAHULUAN Model merupakan abstraksi dan pemetaan dari suatu masalah dalam dunia nyata ke dalam suatu artifak, sehingga suatu sistem atau domain yang akan dibangun dapat diidentifikasi Proses pengejawantahan model ini biasa disebut pemodelan. Pemodelan merupakan hal yang penting dalam pembangunan piranti lunak. Salah satu bahasa pemodelan yang dapat digunakan adalah Unified Modeling Language (UML) UML menyediakan notasi untuk pemodelan piranti lunak dari awal yaitu proses pengumpulan data, analisis dan desain. UML telah mengalami perkembangan seiring dengan perkembangan kebutuhan sistem. Sistem piranti lunak yang dibangun tidak hanya berkisar pada peranti lunak yang sederhana melainkan suatu sistem yang kompleks dengan waktu nyata {real time). Inilah yang merupakan alasan utama perkembangan UML. UML mengalami perkembangan dari UML 0.8, UML 1.0, UML 1.1, UML 1.2, UML 1.3, UML 1.4, UML 1.5 dan UML 2.0. Perubahan pada UML 1.4 dan UML 1.5 hanya sedikit sehingga tidak dibahas. Pembahasan UML pada tulisan ini lebih tentang perbandingan diagram-diagram pada UML 1.3 dan UML 2.0. Hal ini dikarenakan perubahan terbesar terdapat pada diagram-diagram UML 1.3 dan UML 2.0. Perkembangan standard dan workflow dapat dilihat pada Gam bar 1. Aliran Kerja (Workflow) merupakan serangkaian aktivitas yang dilakukan dalam pembangunan suatu sistem misal piranti lunak. Aliran Kerja memiliki hubungan yang erat dengan UML dimana Aliran Kerja akan digunakan dalam membangun diagramdiagram yang terdapat pada UML. Aliran Kerja yang digunakan untuk membangun semua diagram UML dikenal sebagai Rational Unified Process (RUP). Aliran Kerja mengalami perkembangan seiring dengan perkembangan standar UML, dan hal inilah yang menyebabkan diagram-diagram UML juga mengalami perubahan. * Dosen Tetap Jurusan Teknik Informatika, FIK-UPH ** Dosen Tetap Jurusan Teknik Informatika, FIK-UPH *** Alumnus Jurusan Teknik Informatika, FIK-UPH Rekomendasi Aliran Kerja...(P.Yugopuspito, I.M.Murwantara, C.Irhans)
111
Tulisan ini merekomendasikan bentuk Aliran Kerja baru yaitu Aliran Kerja dengan UML 2.0 sebagai dasar dari pemodelannya, secara lebih spesifik tentang penanganan masalah waktu nyata. 2000
RUP 2000
UMI I 4
I 1999
RUP 5.5
1998
RUP 5.0
UML 1.3
t UML 1.2
f 1997
RUP4.1
UML 1.1
t 1996
RUP4.0
Rational Approach
UML 0.8
Objectory Process 3.8 Gambar 1. Perkembangan RUP
Tulisan ini membahas tiga bagian yang paling penting yang mempengaruhi bentuk Aliran Kerja UML yaitu Business Modeling, Requirement Modeling dan Design and Analyze Modeling. Pembahasan yang dilakukan adalah langkah-langkah kerja dan artifak-artifak yang digunakan oleh setiap bagian Aliran Kerja. Setiap bagian aliran kerja memiliki langkah-langkah kerja yang berbeda. Pada setiap langkah kerja tersebut akan digunakan artifak-artifak yang mendukung langkah-langkah kerja tersebut. Sebuah contoh Python Code Generator akan digunakan untuk memperjelas rekomendasi yang dimaksud. 2.
RATIONAL UNIFIED PROCESS
Rational Unified Process (RUP) merupakan proses yang menjelaskan langkahlangkah pembangunan piranti lunak. Tujuan dari RUP adalah untuk membangun piranti lunak yang sesuai dengan spesifikasi dari pengguna baik untuk spesifikasi piranti lunak yang akan dibangun maupun untuk target keuangan yang dimiliki oleh pengguna [Kru2000]. RUP juga merupakan proses produk yang dimodelkan menggunakan piranti lunak Rational Rose. Pemodelan ini digunakan untuk membantu pengguna dalam melakukan pemodelan awal untuk sistem yang akan dibangun. RUP dimodelkan menggunakan empat komponen utama yaitu: Workers, Activities, Artifact dan Workflow. Pekerja (workers) menjelaskan siapa-siapa yang terlibat dalam RUP. Aktifitas (activities) menjelaskan "bagaimana" (how) Pekerja dapat terlibat dalam RUP. Artifak (artifact) menjelaskan "apa" (what) yang terdapat dalam RUP. Sementara Aliran Kerja (workflow) menjelaskan "kapan" (when) bisa terlibat 112
Jurnalllmiah llmu Komputer, Vol. 3 No. 2 Mei 2005: 111-122
dalam RUP. Pekerja merupakan komponen utama dalam pemodelan RUP yang rnenjelaskan sifat kegiatan yang akan dijalankan. Aktifitas merupakan sekumpulan pekerjaan yang akan dilaksanakan oleh Pekerja. Aktifitas dapat dilakukan lebih dari satu kali untuk Pekerja yang sama. Artifak merupakan suatu informasi yang dihasilkan dan dimodifikasi. Artifak digunakan sebagai masukan oleh Pekerja untuk melakukan Aktifitas. Aliran Kerja menunjukkan barisan aktifitas yang menghasilkan suatu nilai. 3. ALIRAN KERJA BUSINESS MODELING Langkah-langkah kerja pada Business Modeling adalah: Assess Business Status, Describe Current Business, Identify and Refine Business Process, Design Business Process Realization, Refine Roles dan Explore Process Automation [Pen2003]. Intinya adalah seorang disainer akan memulai langkah kerja dengan mengumpulkan data-data mengenai piranti lunak yang dibangun. Apabila piranti lunak yang dibangun merupakan piranti lunak yang baru maka proses kerja dimulai dari mengidentifikasikan proses bisnis (Identify Business Process) sedangkan apabila piranti lunak yang dibangun adalah pengembangan piranti lunak yang telah ada, maka dilakukan proses kerja dari mendiskripsikan proses bisnis yang ada (Describe Current Business). Artifak-artifak yang digunakan pada business modeling yaitu Business Vision, Target Organization, Business Glosary and Rules, Use Case Model, Worker, Entity dan Suplementary Business Specification [Pen2003]. Berdasarkan pembahasan [Irh2004] yang dilakukan dapat disimpulkan tidak terdapat perubahan pada bentuk artifak yang digunakan untuk business modeling UML 2.0. Berdasarkan data-data tersebut, maka disimpulkan bentuk Aliran Kerja Business Modeling untuk UML 1.3 dan UML 2.0 adalah sama. Gambar 2 memperlihatkan Aliran Kerja Business Modeling yang dimaksud.
Rekomendasi Aliran Kerja...(P.Yugopuspito, I.M.Murwantara, C.lrhans)
113
Asseses Business Status
n
[Business Modeling]
[[•dinar Moduingj
H—
wenlfyBusmess Process
Refine Business Process
Design Business Process Realization
Renne Roles and Responsibility
,x. ••' Gambar 2. Aliran Kerja Business Modeling UML 2.0
4. ALIRAN KERJA REQUIREMENT MODELING Langkah-langkah kerja pada Requirement Modeling adalah analisa, pengertian keperluan client, pengumpulan data, definisi sistem, pembatasan sistem [Pen2003]. Inti pembahasan pada Requirement Modeling adalah pengumpulan data-data yang merupakan syarat-syarat dalam pembangunan piranti lunak. Artifak-artifak yang terkait adalah Glossary, Business Vision, Use Case Model, dan Requirement Attribute [Pen2003], Pemodelan artifak-artifak pada Requirement Modeling tidak mengalami perubahan. Oleh karena itu dapat disimpulkan bahwa bentuk Aliran Kerja Requirement Modeling untuk UML 2.0 adalah sama dengan bentuk Aliran Kerja Requirement Modeling UML 1.3. Gambar 3 menampilkan Aliran Kerja Requirement Modeling yang dimaksud.
114
Jurnal llmiah llmu Komputer, Vol. 3 No. 2 Mei 2005: 111-122
{work in Scope] [Requirement Definition Complete]
xC^x
Refine System Definition
£> Gambar 3. Aliran Kerja Requirement Modeling UML 2.0
5. ALIRAN KERJA DESIGN AND ANALYZE MODELING Bagian inilah yang mengalami perubahan karena artifak-artifak yang digunakan, mengalami perubahan. Artifak-artifak yang digunakan pada langkah-langkah kerja Design and Analyze Modeling adalah Design Model dan Risk List. Pemodelan Design Model adalah dokumentasi pemodelan dengan menggunakan diagramdiagram UML. Pemodelan diagram-diagram UML 2.0 mengalami sejumlah perubahan dibandingkan dengan UML 1.3. Perubahan-perubahan pada pemodelan diagram UML 2.0 dipaparkan pada Tabel 1 sampai Tabel 4. Tabel 1 : Perbandingan Diagram-Diagram UML 1.3 dan UML 2.0
UML 1.3 Class Diagram Sequence Diagram
Collaboration Diagram Statechart Diagram Activity Diagram
Status Tetap Tetap Penambahan Penambahan Berubah Berubah Penambahan Tetap
UML 2.0 Class Diagram Sequence Diagram Interaction Overview Diagram Timing Diagram Communication Diagram State Machine Diagram Protocol State Machine Diagram Activity Diagram
Rekomendasi Aliran Kerja...(P.Yugopuspito, I.M.Murwantara, C.lrhans)
115
Tabel 2. Perbandingan Class Diagram UML 1.3 dan UML 2.0
UML 1.3 Class Level Attribute dimana atribut statis digarisbawahi Tidak terdapat isOrdered dan is Unique
Status Berubah
Tidak memiliki pemodelan port Tidak terdapat penggunaan package
Penambahan Penambahan
Penambahan
UML 2.0 Atribut statis diberi nilai Boolean isStatic tanpa harus digarisbawahi Terdapat isOrdered yang digunakan untuk pemodelan multiplicity dan isUnique untuk melambangkan nilai unik pada atribut Terdapat penambahan pemodelan port Terdapat penggunaan package untuk menggambarkan superclass
Tabel 3. Perbandingan Sequence Diagram UML 1.3 dan UML 2.0
UML 1.3 Hanya terdapat pemodelan untuk message asynchronous Tidak terdapat pemodelan message kinds Tidak terdapat pemodelan sfafe invariant
Status Berubah
Tidak terdapat duration
Penambahan
pemodelan
Penambahan Penambahan
UML 2.0 Terdapat pemodelan message synchronous dan asynchronous Terdapat pemodelan message kinds yaitu lost dan found message Terdapat pemodelan state invariant untuk memodelkan kondisi objek saat memberikan respon Terdapat pemodelan duration untuk menggambarkan waktu.
Tabel 4. Perbandingan Activity Diagram UML 1.3 dan UML 2.0
UML 1.3 Pemodelan fork dan join node dilakukan secara terpisah Tidak terdapat pemodelan flow final node
Status Berubah
UML 2.0 Pemodelan dengan menggabungkan fork dan join node dalam satu diagram.
Penambahan
Tidak terdapat data store Tidak terdapat interruptible
pemodelan
Penambahan
pemodelan
Penambahan
Terdapat pemodelan flow final node yang digunakan untuk menghentikan satu bagian aktivitas sedangkan aktivitas lain tetap berjalan Pemodelan data store sebagai buffer penyimpanan file Terdapat pemodelan interruptible untuk keperluan interupsi program
Salah satu alasan perubahan pada pemodelan diagram-diagram UML 2.0 adalah untuk memenuhi pemodelan sistem waktu nyata (real time). Pemodelan sistem waktu nyata tidak terdapat pada UML 1.3 dan baru dikembangkan pada UML 2.0. Gambar4. adalah gambar Aliran Kerja Design and Analyze Modeling pada UML 1.3.
116
Jurnal llmiah llmu Komputer, Vol. 3 No. 2 Mei 2005: 111-122
[Early Elaboration Iteration]
Gambar 4. Aliran Kerja Pemodelan Design and Analysis RUP 1.3
Perubahan pada bentuk diagram mempengaruhi bentuk Aliran Kerja UML 2.0. Rekomendasi bentuk Aliran Kerja Design and Analyze Modeling untuk UML 2.0 yaitu terdapat penambahan langkah kerja desain sistem waktu nyata (real time system). Penambahan langkah kerja ini berdasarkan perubahan-perubahan komponen diagram yang sebagian besar mengarah pada pemodelan sistem waktu nyata. Penambahan diagram Interaction Overview dan diagram Timing pada UML 2.0 juga digunakan untuk menunjang sistem waktu nyata. Gambar 5 adalah hasil rekomendasi untuk Aliran Kerja Design and Analyze Modeling.
Rekomendasi Aliran Kerja...(P.Yugopuspito, I.M.Murwantara, C.lrhans)
117
Early Elaboration Iteration]
Def ne a Candidate Architecture
[Define a Candidate Architecture] \ . [Elaboration Iteration]
[Analyze Behavior] Analyze Behavior
Refine the Architecture
A.
[Mon Real Time]^
IR eal Time]
1
Design Real Time Components
Design Components
SX"
[Optional]
Design the Database
> < -
[Refine the Architecture]
.
Gambar 5. Rekomendasi A l i r a n Kerja Design and Analyze Modeling
UML 2.0
Penambahan Design Real Time System di sebelah Design Component dilakukan berdasarkan fakta bahwa: • Design Component merupakan bagian aktivitas pemodelan Use Case, Class Diagram dan diagram-diagram lainnya. Hal ini memiliki bentuk aktivitas yang setara dengan Design Real Time System. • Design Real Time System merupakan bagian aktivitas pemodelan diagram untuk sistem waktu nyata. Tampak bahwa seorang desainer dapat memilih langkah kerja Design Component apabila sistem yang dibangun merupakan sistem bukan waktu nyata (non-real time 118
Jurnal llmiah llmu Komputer, Vol. 3 No. 2 Mei 2005: 111-122
system). Desainer juga dapat memilih bentuk langkah kerja Design Real Time System apabila sistem yang dibangun merupakan masalah dengan waktu nyata. 6. WORKING EXAMPLE Contoh kasus untuk pemodelan sistem waktu nyata dan bukan waktu nyata yang digunakan sebagai contoh bahasan adalah kasus Code Generator. Berikut ini akan diberikan gambaran pemodelan diagram-diagram UML 2.0 yang berbeda untuk sistem bukan waktu nyata (non-real time) dan waktu nyata (real time). Pemodelan diagram yang berbeda terdapat pada Diagram Interaction Overview, Diagram Communication dan Diagram Timing. Pemodelan pada kasus ini dapat dipetakan dengan menggunakan Diagram Use Case seperti pada Gambar 6.
<
> periksa variabel input
, notifiliasi standar UML
\
<>
memasukkan variabel
> •
;
parsing xmi
Code Generator
identifikasi xmi
inisiatisasi tipe atribut
\ naming etemen
•
generate output
Gambar 6. Use Case diagram pada Code Generator
Pemodelan kasus waktu nyata dan bukan waktu nyata dengan Diagram Communication tampak pada Gambar 7 dan Gambar 8. Sementara Gambar 9 dan Gambar 10 merupakan hasil Diagram Interaction Overview dengan dan tanpa waktu nyata.
Rekomendasi Aliran Kerja... (P.Yugopuspito, I.M.Murwantara, C.lrhans)
119
:QrteGBnBt&r
g-rw;
1:nrf¥3rarafe<)
4.IM13()A 5LM.VK)
v
1Q_irtt_J,.) 24g*%ixJesO 25sdRirirH)tt)>t*rreO 27:gaWlrili*^rre(,,)
2 IBS*,,) 3pase>H.) 22a±ffcragil^s(,) 23 ocnalQaBaWbLfcsTcffel^on^,.) : Psrsg ^>
Lrr113Rrar
irpi:Rarae>M
14:get«6scri2icr6Ti5(.) iagEfitaassl*rre() laga&tElaaO
15paseNWtaodE<Jci<,,) 18geUJX) 17:gslCfpcste6id;,) 20 p95e><MWtipliaW,.)
|V
>
FfrseWI:
6_irit_J.) 7:parae»MCIa>s(,,) 8^tUUD(.) 12paiseH*«4«t,)
11:_jnt_J.) 26 i s l ^ T * * * , ) v
Oil: GraaeType
irrf&sff
SpaseexMlueO L 13rraT0e(,)
21:
jnrt_J.,)
V Rra»M:
jr. tod
CaJ/Vbd
Gambar 7. Diagram Communication pada Code Generator untuk Parse XMI Bukan Waktu Nyata.
l:tmP)Gtnnalrr>
?:tffllr t I'll octa lav > / /
\ \ TipsncHl'iioclalcn',,.'
I'jut III'
I
P«!t*!IXl4llCfl
VI
8:gn»ut-,i
IttHilMlMn \
1
I /
Gambar 8. Diagram Communication pada Kasus Code Generator Python untuk Parse XMI dengan Waktu Nyata
120
Jurnal llmiah llmu Komputer, Vol. 3 No. 2 Mei 2005: 111-122
sd Overview DiagramJ
• re»J
Checking variable
1
refJ Standansasi UMt. j
*6J ~~ Parse XMI |
T
W r * e output
i ~ ^ Save output
1 Gambar 9. Diagram Interaction Overview pada Code Generator Tanpa Waktu Nyata scl O v e t v m w Dii>o»»fii]
1 1
— C h e c k i n g v-iiri.iUe
r*y—
[W1
III!'
1
SO>l M * .• InTl. ' lofis j
U*l UML ] I
f
i^MfH** *.«Mir«rti'--n r -
,Srtrf Mes.» Jnfr. 4x*oc*a(fc>n j
. .r •"• vVnt* n u i ^ i t
r
|.l»*t . « M * H h «
1
Save .n.mit
Gambar 10. Diagram Interaction Overview pada Code Generator dengan Waktu Nyata
Rekomendasi Aliran Kerja...(P.Yugopuspito, I.M.Murwantara, C.lrhans)
Pemodelan Diagram Timing dapat dilihat pada Gambar 11 untuk kasus bukan waktu nyata dan Gambar 12 untuk kasus dengan waktu nyata. ipd Timing Diagram
I
«
0
3 I
I 2n(c) + n(a) + 2n(s) I
»
N
vSeX
I 2n(c) • 3n(a) * 4n(s) + 2nff) +3 I
H
p8reeXMI
k
X
I n(c) + 3
H
HH
^^
H
XS
Gambar 11 . Timing diagram pada Code Generator
Dari ke tiga jenis diagram di atas, dapat dilihat perbedaan untuk pemodelan sistem bukan waktu nyata dan sistem waktu nyata. Pemodelan UML 1.3 tidak memungkinkan pemodelan untuk sistem waktu nyata. Tetapi pemodelan sistem waktu nyata ini dimungkinkan pada UML 2.0. Perubahan komponen diagram dan penambahan diagram UML 2.0 menyebabkan penambahan komponen Design System Real Time pada Aliran Kerja Design and Analyze Modeling.
lod Timjr^ Diagram J
10...3J
\m n(aL! pi
ctok \/
L n(c) il
j^
p|
L n(s) J
|^
^|
I.*) J 'it c) • 3n(a} • 4n(s}+2«f)+3 |^..«v,^
,..\/ s o r t m e t a \/ P3^ V ^ ^ ' ^ V
| n(c)Q
|^„
variable /\r|aSK" !(*sWr tl 1 * /\info Class/\associatnn/\KsociatM/\
write output
\ / save / \ output
Gambar 12. Timing diagram pada Code Generator real time
7.
KESIMPULAN
Dari tulisan ini dapat disimpulkan bahwa Aliran Kerja UML 2.0 untuk kasus waktu nyata telah dipaparkan, lengkap dengan contohnya pada Code Generation dari UML diagram ke bahasa pemrograman Python. Perubahan ini sesuai dengan perkembangan diagram-diagram pada UML 2.0. DAFTAR PUSTAKA [Kru 2000]
Krutchen, P. The Rational Unified Process an Introduction, Addison Wisley Longman, 2000.
[Pen 2003]
Pender, T. UML Bible, John Wiley & Sons, 2003.
[Irh 2004]
Irhans, C. Studi Workflow UML 1.3 dan Rekomendasi Workflow UML 2.0. Skripsi Teknik Informatika, Universitas Pelita Harapan, 2004.
122
Jurnal llmiah llmu Komputer, Vol. 3 No. 2 Mei 2005: 111-122
2nd Ed.