20728637 Tutorial UML Dengan Menggunakan Rational Rose

Embed Size (px)

Citation preview

OLEH : Cahyo Adi Nugrohoe-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 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 elemenelemen 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 mahasiswanya ngantuk 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

soalnya kelasnya siang sih, jadi

) Dan akhirnya dosen menjelaskan bahwa bedanya :

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