Anda di halaman 1dari 15

OLEH :

Cahyo Adi Nugroho

e-mail : cahyo3@gmail.com

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 ke “rumah”. Oke, kali ini saya ingin menulis tentang ilmu UML yang telah 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 lainnya. E-book saya dapat didownload 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 adalah bahasa standar yang digunakan untuk menjelaskan dan
memvisualisasikan artifak dari proses analisis dan desain berorientasi obyek. UML
menyediakan standar notasi dan diagram yang bisa digunakan memodelkan suatu sistem.
UML dikembangkan oleh Grady Booch, Jim Rumbaugh dan Ivar Jacobson. UML menjadi
bahasa yang bisa digunakan untuk berkomunikasi dalam perspektif obyek antara user,
developer dan project manajer.

UML memungkinkan developer melakukan pemodelan secara visual,yaitu


penekanan pada penggambaran, bukan didominasi oleh narasi. Pemodelan visual
membantu untuk menangkap struktur dan kelakuan (behavior) suatu obyek, mempermudah
penggambaran interaksi antara elemen dalam sistem dan mempertahankan konsistensi
antara desain dan implementasi dalam pemrograman.

Namun karena UML hanya merupakan bahasa pemodelan, maka UML bukanlah
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 Diagram, Class Diagram, Sequence Diagram, Collaboration Diagram, Statechart
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
Rational Rose merupakan software yang berbayar. Rational Rose merupakan software
buatan IBM yang dapat didownload 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
Deployment View (untuk membuat deployment diagram). Berikut adalah gambar tempat
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 yang dilakukan oleh actor adalah memberikan informasi pada sistem
dan/atau memerintahkan sistem untuk melakukan sesuatu.

2. Class

Gambar Notasi Class

Class merupakan pembentuk utama dari sistem berorientasi obyek karen class
menunjukan kumpulan obyek yang memiliki attribut dan operasi yang sama. Class digunakan
untuk mengimplementasikan interface. Class digunakan untuk mengabstraksikan elemen-
elemen dari sistem yang sedang dibangun. Class juga bisa digunakan untuk
mengabstraksikan elemen-elemen dari sistem yang sedang 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 untuk attribut. Attribut digunakan untuk menyimpan informasi. Nama attribut
menggunakan kata benda yang bisa dengan jelas merepresentasikan informasi 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. Boundary Class

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
boundary class untuk setiap pasangan actor-use case. User interface class ini sering
disamakan dengan form yang digunakan sebagai interface antara sistem dengan user.

2. Control 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 Class adalah class yang behubungan dengan data atau informasi 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

Use case menjelaskan kegiatan yang dilakukan actor dan sistem untuk mencapai
suatu tujuan tertentu. Walau menjelaskan kegiatan namun use case hanya menjelaskan apa
yang dilakukan oleh actor dan sistem, bukan bagaimana actor dan sistem melakukan
kegiatan tersebut.

5. Interaction

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

Package adalah kontainer atau wadah konseptual yang digunakan untuk


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. Note

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.

Terdapat 2 stereotype dari dependency, yaitu : include dan extend. Include


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. Generalization

Gambar Notasi Generalization

Generalization menunjukan hubungan antara elemen yang lebih umum ke elemen


yang lebih spesifik. Dengan generalization, class yang lebih spesifik (subclass) 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. Realization

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 use case ? (pada sering lupa apa bedanya soalnya kelasnya siang sih, jadi
mahasiswanya ngantuk ) 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” sudah termasuk business use case “meminta persyaratan”. Istilah ini
disebut “include”.

Use Case :

Penjelasan :

Gambar use case diatas adalah use case diagram untuk sistem 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 Diagram menunjukan hubungan antar kelas dalam sistem yang sedang dibangun 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 buat diatas. Terdapa 4 class yaitu : Card Reader, Account, ATM Screen dan
Cash Dispenser. Pada class Card Reader, 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 langkah-
langkah 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 paling kritikal dari proses desain karena inilah yang menjadi pedoman dalam proses
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
Collaboration Diagram hanya dengan menekan 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 menggambarkan berbagai alir 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 Diagram menggambarkan tentang 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. Isi-
isi sistem bisa berupa file library/.dll, file .exe dan sebagainya. Pada intinya, menggambarkan isi dari
sistem. Agar lebih mudah 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

Anda mungkin juga menyukai