OLEH : Cahyo Adi Nugroho e-mail :
[email protected] blog : http://cahyo-adi.blogspot.com
Made with : OpenOffice.org
Sudah lama saya tidak membuat e-book lagi. Hal ini dikarenakan tertunda oleh beberapa aktivitas saya. Memang kalau sudah senang dengan menulis maka akan kembali lagi lagi ke “rumah”. “rumah”. Oke, kali kali ini saya ingin ingin menulis menulis tentang tentang ilmu UML yang yang tel telah ah penulis penulis pelajari selama kuliah. Selain itu juga penulis agar ingat selalu akan ilmu UML tersebut. Sebelum e-book ini saya buat, saya juga telah membuat beberapa e-book mengenai UML juga
dan
lai lainnya.
E-book
saya
dapat
didownlo wnloa ad
gratis
di
situs
tercinta
:
http:www.indowebster.com (situs rapidshare-nya Indonesia).
Untuk kasus UML kali ini, saya mengambil contoh kasus pengambilan uang di ATM dan beberapa contoh umum supaya pembaca gampang ngertinya
. Oke, saya asumsikan
pembaca sekalian telah mengerti garis besar apa itu namanya UML dan Rational Rose. Bagi yang belum tahu saya akan coba jelaskan secara garis besar. Sedangkan bagi yang master, mohon jangan membaca e-book saya ini ( Delete aja !
).
A. Pengertian UML (Unified Modeling Language) UML UML
adala dalah h
baha bahasa sa stan standa darr
yang ang
digun iguna akan kan
untu untukk
men enje jela lask skan an dan dan
memv me mvis isua uali lisa sasi sika kan n arti artifa fakk dari dari pros proses es anal analis isis is dan dan desa desain in bero berori rien enta tasi si obye obyek. k. UML UML menyediakan menyediakan standar notasi dan diagram yang bisa digunakan digunakan memodelkan memodelkan suatu sistem. sistem. UML dikembangkan oleh Grady Booch, Jim Rumbaugh dan Ivar Jacobson. UML menjadi bahasa bahasa yang bisa digunakan digunakan untuk berkomunika berkomunikasi si dalam perspektif perspektif obyek antara user, developer dan project manajer. UML UML
memu me mung ngki kink nkan an
deve develo lope perr
mela me laku kuka kan n
pemo pemode dela lan n
seca secara ra
visu visual al,y ,yai aitu tu
pene peneka kana nan n pada pada pengg penggam amba bara ran, n, buka bukan n dido didomi mina nasi si oleh oleh nara narasi si.. Pemo Pemodel delan an visu visual al membantu untuk menangkap struktur dan kelakuan (behavior) suatu obyek, mempermudah penggambar penggambaran an interaksi interaksi antara antara elemen dalam sistem sistem dan mempertaha mempertahankan nkan konsistens konsistensii antara desain dan implementasi dalam pemrograman. Namun Namun karena karena UML hanya hanya merupa merupakan kan bahasa bahasa pemode pemodelan lan,, maka maka UML bukanl bukanlah ah rujukan bagaimana melakukan analisis dan desain berorientasi obyek. Untuk mengetahui bagaimana melakukan analisis dan desain berorientasi obyek, sudah terdapat beberapa metodologi yang bisa diikuti seperti Metode Booch, Metode Coad and Yourdan, Metode Jacobson, Metode Rumbaugh, Metode Wirfs-Brock, atau mengikuti metode pengembangan sistem RUP (Rational Unified Process). Didalam UML terdapat 8 diagram, antara lain Use Case Case Diagra Diagram, m, Class Class Diagra Diagram, m, Seq Sequen uence ce Diagra Diagram, m, Co Colla llabor borati ation on Diagra Diagram, m, Statec Statechar hartt Diagram, Activity Diagram, Component Diagram, dan Deployment Diagram.
Made with : OpenOffice.org
B. Sekilas Tentang Rational Rose
Software Rational Rose merupakan salah satu tools untuk membuat suatu UML. Banyak tools selain Rational Rose dari yang gratis sampai yang berbayar, namun untuk Ration Rational al Rose Rose merupa merupakan kan softwa software re yang yang berbay berbayar. ar. Ration Rational al Rose Rose merupa merupakan kan softwa software re buat buatan an IBM IBM yang yang dapa dapatt dido didown wnlo load ad di http://www.rational.com. Dengan Rational Rose, pemodelan dapat dilakukan dengan drag n' drop. Berikut adalah IDE dari Rational Rose :
Made with : OpenOffice.org
Kerangka kerja yang akan kita gunakan membuat suatu diagram UML adalah berada dalam Use Case View (untuk membuat business use case diagram dan use case diagram), Logical View (untuk membuat activity diagram, class diagram, sequence diagram dan statatechart
serta collaboration diagram), Component View (untuk membuat component diagram) dan (untuk membuat membuat deployment deployment diagram). diagram). Berikut Berikut adalah adalah gambar gambar tempat tempat Deployment View (untuk dimana kita akan memodelkan suatu UML :
C. Notasi Umum dalam UML Dalam UML terdapat notasi-notasi yang sering digunakan (walau banyak yang nggak digunakan :D), antara lain : 1. Actor
Gambar Notasi Actor
Made with : OpenOffice.org
Actor adalah segala sesuatu yang berinteraksi dengan sistem komputer. Actor bisa merupakan sebuah perangkat keras / komputer, orang maupun obyek lain dalam sistem yang sama. Biasanya Biasanya yang dilakukan dilakukan oleh actor adalah memberikan memberikan informasi informasi pada sistem sistem dan/atau memerintahkan sistem untuk melakukan sesuatu. 2. Class
Gambar Notasi Class Class Class merupa merupakan kan pemben pembentuk tuk utama utama dari dari sistem sistem berori berorient entasi asi obyek obyek karen karen class class menunjukan kumpulan obyek yang memiliki attribut dan operasi yang sama. Class digunakan untuk mengimplementasikan interface. Class digunakan untuk mengabstraksikan elemenelem eleme en
dari dari sis sistem tem
yang ang
sedan edang g
diba diban ngun. gun. Clas Classs
juga juga bisa bisa digu digun nakan akan untu untukk
mengabstrak mengabstraksikan sikan elemen-eleme elemen-elemen n dari sistem sistem yang sedang dibangun. dibangun. Class bisa untuk mempresentasikan baik perangkat lunak maupun perangkat keras, baik konsep maupun benda nyata. Notasi class berbentuk persegi panjang yang berisi 3 bagian : persegi panjang paling atas untuk nama class, persegi panjang paling bawah untuk operasi dan persegi panjang di tengah tengah untuk untuk attrib attribut. ut. Attrib Attribut ut diguna digunakan kan untuk untuk menyim menyimpan pan inform informasi asi.. Nama Nama attrib attribut ut menggun menggunaka akan n kata kata benda benda yang yang bisa bisa dengan dengan jelas jelas merepr mereprese esenta ntasik sikan an inform informasi asi yang yang disimpan didalamnya. Operasi menunjukan sesuatu yang bisa dilakukan oleh obyek, dan menggunakan kata kerja. Identifikasi Class
Didalam sebuah class, class perlu diidentifikasikan. Class yang perlu diidentifikasikan adalah Boundary Class, Control Class, dan Entity Class.
Made with : OpenOffice.org
1. Boun Bound dary ary Class lass
Gambar Notasi Boundary Class Boundary class adalah class yang menghubungkan user dengan sistem. Oleh karena itu sering disebut juga sebagai user interface class. Biasanya dimulai dengan menetapkan 1 bounda boundary ry class class untuk untuk setiap setiap pasang pasangan an actoractor-use use case. case. User User interf interface ace class class ini serin sering g disamakan dengan form yang digunakan sebagai interface antara sistem dengan user. 2. Control Cl Class
Gambar Notasi Control Class Control class adalah class yang mengkoordinasi aktivitas dalam sistem. Class ini menghubungkan boundary class dengan entity class. Jadi mengkoordinasi entity class mana yang perlu dikunjungi, kapan dan apa yang ingin didapatkan dari entity class tersebut. 3. Entity Class
Gambar 3.15 Notasi Entity Class Entity Entity Class Class adalah adalah class class yang yang behubu behubungan ngan dengan dengan data data atau atau inform informasi asi yang yang digunakan oleh sistem. Entity class ini adalah class yang menyimpan dan mengolah data.
Made with : OpenOffice.org
4. Use Case
Gambar Notasi Use Case Case Use case menjelaskan kegiatan yang dilakukan actor dan sistem untuk mencapai suatu tujuan tertentu. Walau menjelaskan kegiatan namun use case hanya menjelaskan apa yang yang dilaku dilakukan kan ole oleh h actor actor dan sistem sistem,, bukan bukan bagaim bagaimana ana actor actor dan sistem sistem mel melaku akukan kan kegiatan tersebut. 5. Int Interacti ction
Gambar Notasi Interaction Interaction digunakan untuk menunjukan baik aliran pesan atau informasi antar obyek maupun hubungan antar obyek. Biasanya interaction ini dilengkapi juga dengan teks bernama “operation signature” yang tersusun dari nama operasi, paramater yang dikirim dan tipe yang dikembalikan. 6. Package
Gambar Notasi Package Pack Packag age e adal adalah ah kont kontai aine nerr atau atau wada wadah h kons konsep eptu tual al yang yang digu diguna naka kan n untu untukk mengelompokan elemen-elemen dari sistem yang sedang dibangun, sehingga bisa dibuat model yang lebih sederhana. Tujuannya adalah untuk mempermudah pengelihatan dari model yang sedang dibagun.
Made with : OpenOffice.org
7 . No t e
Gambar Notasi Note Note digunakan untuk memberikan keterangan dan komentar dari suatu elemen sehingga bisa langsung terlampir dalam model. Note ini bisa ditempelkan ke semua elemen notasi yang lain. 8. Dependency
Gambar Notasi Dependency Dependency merupakan relasi yang menunjukan bahwa perubahan pada salah satu elemen memberi pengaruh pada elemen yang lain. Elemen yang ada dibagian tanda panah adalah elemen yang tergantung pada elemen yang ada dibagian tanpa tanda panah. Terdap Terdapat at 2 stereo stereotyp type e dari dari depend dependenc ency, y, yaitu yaitu : inc includ lude e dan extend extend.. Includ Include e menunjukan bahwa suatu bagian dari suatu elemen(yang ada digaris tanpa panah) memicu eksekusi bagian dari elemen yang lain(yang ada digaris panah), misalnya untuk notasi A->B operasi yang ada di class A memicu dieksekusinya yang ada di class B. Extend menunjukan bahwa suatu bagian dari elemen di garis tanpa panah bisa disisipkan ke dalam elemen yang ada digaris dengan panah; misal notasi A->B suatu fungsi dari use case A bisa disisipkan kedalam use case B atau dengan kata lain A optional untuk B. 9. Gene Genera rali lizzati ation
Gambar Notasi Generalization Generalization menunjukan hubungan antara elemen yang lebih umum ke elemen yang yang leb lebih ih spesi spesifik fik.. Dengan Dengan genera generaliz lizatio ation, n, class class yang yang leb lebih ih spesif spesifik ik (subcl (subclass ass)) akan akan
Made with : OpenOffice.org
menurunkan attribut dan operasi dari class yang lebih umum(superclass) atau “subclass is a superclass”. Dengan menggunakan notasi generalization ini konsep inheritance dari prinsip hirarki dimodelkan. 10. Realiz Realizati ation on
Gambar Notasi Realization Realization menunjukan hubungan bahwa elemen yang ada dibagian tanpa panah akan merealisasikan apa yang dinyatakan oleh elemen yang ada dibagian dengan panah. Misalnya class merealisasikan package, component merealisasikan class atau interface. D. Business Use Case Diagram vs. Use Case Diagram
Selama saya kuliah, banyak teman-teman saya menanyakan apa beda business use case dengan dengan use case case ? (pada (pada sering sering lupa lupa apa apa bedany bedanya a mahasiswanya ngantuk
soalny soalnya a kelasn kelasnya ya sian siang g sih, sih, jadi jadi
) Dan akhirnya dosen menjelaskan bahwa bedanya :
Business Use Case :
1. Menggambarkan proses bisnis dari suatu organisasi 2. Proses bisnis nya bisa bercerita tentang proses manual atau proses otomatis! Use Case :
1. Menjelaskan apa yang akan dilakukan oleh sistem yang akan dibangun dan siapa yang berinteraksi dengan sistem. 2. Bagaimana actor berinteraksi dengan software
Untuk lebih jelas, mohon disimak dibawah ini : Business Use Case :
Made with : OpenOffice.org
Penjelasan : Pemohon diatas disebut Actor. Pemohon rolenya yaitu mendaftar dan mengambil surat ijin. Business use case digambarkan seperti oval dan ada garisnya. Gambar diatas business use case “mendaftar” “mendaftar” sudah sudah termasuk termasuk business business use case “meminta “meminta persyaratan”. persyaratan”. Istilah ini disebut “include”. Use Case :
Penjelasan : Gambar use case diatas adalah use case diagram untuk sistem ATM. ATM. Actor customer melalui sistem ATM bias apa aja? Jawabannya : bisa deposit funds, transfer fund, change pin, withdraw money, view balance dan make payment. Begitu juga untuk actor bank officer dan credit system. E. Class Diagram Class Class Diagram Diagram menunj menunjuka ukan n hubung hubungan an antar antar kel kelas as dalam dalam sistem sistem yang yang sedang sedang dibang dibangun un dan bagaimana mereka saling berkolaborasi untuk mencapai suatu tujuan. Class Diagram umumnya tersusun dari elemen class, interface, dependency, generalization, dan association. Berikut contoh dari Class Diagram :
Made with : OpenOffice.org
Penjelasan : Class diagram diatas menggambarkan Class diagram untuk use case Withdraw Money pada kasus use case yang penulis penulis buat diatas. diatas. Terdapa Terdapa 4 class yaitu : Card Reader, Reader, Account, Account, ATM Screen dan Cash Dispenser. Pada class Card Reader, R eader, memiliki “attribute” Card Number dan memiliki “operation” Accept Card, Eject Card dan Read Card. Jadi inti dari attribute adalah dimisalkan isi table dari suatu database dan untuk inti dari operation adalah “suatu class ngapain aja/bias apa aja”. F. 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 atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkahlangkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men- trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Pembuatan Sequence Diagram merupakan aktivitas yang yang pali paling ng krit kritik ikal al dari dari pros proses es desa desain in kare karena na inil inilah ah yang yang me menj njad adii pedo pedoma man n dala dalam m pros proses es pemrograman nantinya dan berisi aliran control dari program.
Made with : OpenOffice.org
Penjelasan : Dari gambar diatas adalah misalkan customer namanya Joe, nah dia mau ambil uang $20 di ATM. Sequence Diagramnya adalah seperti diatas. Mulai dari Joe memasukan kartu ke card reader (no.1) yang kemudian oleh card reder dibaca nomernya dan sampai keluar kartunya (no.17). Saya tekannya di sini bahwa sequence itu urutan kejadian/proses sistem. G. Collaboration Diagram
Collabration Diagram menunjukan physical view dari suatu sistem yang akan dibangun. Collaboration Diagram menekankan pada urutan message/pesan antar obyek sistem. Hal ini berbeda dengan Sequence Diagram yang menekankan pada urutan waktu. Pada Rational Rose, apabila telah membuat Sequence Diagram maka kita dapat langsung membuat Collaborati Collaboration on Diagram hanya dengan menekan menekan tombol tombol F5 pada diagram Sequence. Berikut adalah hasil dari Collaboration Diagram yang dihasilkan dari Sequence Diagram.
Made with : OpenOffice.org
H. Activity Diagram
Activity diagrams menggambar menggambarkan kan berbagai berbagai alir aktivitas aktivitas ( work flow) dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir.
I. Statechart Diagram
Statechart Statechart Diagram menggambar dibangun. menggambarkan kan tentang tentang kelakuan kelakuan (behavior ) sistem yang akan dibangun. Berikut adalah statechart dari class suatu produk.
Made with : OpenOffice.org
J. Component Diagram
Component Diagram merepresentasikan semua atau sebagian arsitektur komponen sistem yang akan dibangun. Component diagram merupakan gambaran tentang isi-isi dari sistem yang dibuat. Isiisi sistem bisa berupa file library/.dll, file .exe dan sebagainya. Pada intinya, menggambarkan isi dari sistem. Agar lebih mudah memahaminya, memahaminya, berikut contoh dari sistem ATM pada client :
K. Deployment Diagram
Deployment Diagram menunjukan alokasi proses ke processor dalam disain fisik suatu sistem yang akan dibangun. Sama seperti Component Diagram, Deployment Diagram juga merepresentasikan semua atau sebagian arsitektur komponen sistem yang akan dibangun.
Made with : OpenOffice.org
Regards,
Cahyo Adi Nugroho
Made with : OpenOffice.org