Bagian 7 ANALISIS DESAIN PADA PEMROGRAMAN BERORIENTASI OBJECT DENGAN UML Apa itu UML ? Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C. Seperti juga tercantum pada gambar diatas UML mendefinisikan diagramdiagram sebagai berikut: •
use case diagram
•
conceptual Diagram
•
class diagram
•
object diagram
•
statechart diagram
•
activity diagram
•
sequence diagram
•
collaboration diagram
•
component diagram
•
deployment diagram
1. Use Case Diagram (Memodelkan Proses Bisnis) Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Berbagai lambang : a. Actor Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu.
Teguh Wahyono
7
b. Case Menggambarkan diskripsi kegiatan yang melibatkan actor.
Pemeriksaan
Contoh Case – Actor : Pemeriksaan
c. Extend Relasi yang digunakan jika use case yang satu mirip dengan use case yang lain. d. Include Relasi jika terdapat perilaku yang mirip dengan beberapa use case.
Contoh Sederhana : Konsumen Pesan Tiket Pesawat Pesan Tiket << include >> Bayar Tiket Bayar dengan Credit Card
Teguh Wahyono
<< extends >>
7
Contoh Lebih lengkap : Use case pada Sistem Rumah sakit
2. Class Diagram (Memodelkan Struktur Class) Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek.
Atribut/properti
Method/Fungsi
Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Teguh Wahyono
7
Contoh : Toko ABC mempunyai pelanggan yang melakukan order. Use case nya :
Class Diagram : Pelanggan
Order
Hubungan Antar Class Contoh 1 : Hubungan Generalization (Hubungan SupperClass dengan SubClass atau Parent dengan Child) Kendaraan Bermotor go () startEngine() stopEngine() isEngineOn
Truck
Sedan
go( )
go( )
Contoh 2 : Hubungan Realization (Sebuah Class harus mengikuti aturan kelas lainnya)
Kendaraan Bermotor
ICCargoTransport
loadcargo( )
go () startEngine() stopEngine() isEngineOn
Truck
Sedan
go( )
go( )
Teguh Wahyono
7
Contoh 3 : Hubungan Association (Hubungan Struktural antar Class)
Kendaraan Bermotor
ICCargoTransport
go () startEngine() stopEngine() isEngineOn
loadcargo( )
Perusahaan armada
1.*
Truck
Sedan
go( )
go( )
1
tambaharmada() jumlaharmada()
Contoh 4 : Hubungan Aggregation (Hubungan antar Class, dimana kelas yang satu adalah bagian dari kelas yang lainnya)
Kendaraan Bermotor
ICCargoTransport
go () startEngine() stopEngine() isEngineOn
loadcargo( )
Perusahaan armada tambaharmada() jumlaharmada()
1.*
Truck
Sedan
go( )
go( )
1
Engine
start () stop () isOn
Teguh Wahyono
7
Contoh Hubungan Antar Klas Rinci : Studi Kasus Pembelian
3. Statechart Diagram (Perilaku Obyek dalam Sistem) Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Dalam UML, state digambarkan berbentuk segiempat dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu. Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis miring. Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah. State Awal
State
Menjadi Putih
State Final Putih Menang Draw
Menjadi Hitam
Teguh Wahyono
Hitam Menang
7
4. Activity Diagram (Desain Perilaku Use Case dan Obyek dalam sistem) Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal.
Tool Yang Mendukung UML Saat ini banyak sekali tool pendesainan yang mendukung UML, baik itu tool komersial maupun opensource. Beberapa diantaranya adalah: • Rational Rose (www.rational.com) • Together (www.togethersoft.com) • Object Domain (www.objectdomain.com) • Jvision (www.object-insight.com) • Objecteering (www.objecteering.com) • MagicDraw (www.nomagic.com/magicdrawuml) • Visual Object Modeller (www.visualobject.com)
Teguh Wahyono
7