Sunday, April 24, 2011

Unified Modeling Language (UML)


Unified Modeling Language atau yang dikenal sebagai UML merupakan keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu penmdeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi obyek (PBO).

Pendifinisian tentang UML diatas yang diambil dari refernsi No 1, memang terlihat sangat sederhana, dan tidak mewakili secara mutlak tentang UML. Kadang orang yang berkecimpung dalam bidang IT masih salah memahami bahwa UML = PBO = Java Language, padahal tidak demikian. Ada yang mengatakan bahwa UML merupakan bahasa pemrograman yang dapat digunakan untuk mengembangkan aplikasi PBO. Meski L dibagian belakang dari UML berarti language, tetapi jangan diterjemahkan sebagai bahasa pemrograman, melainkan bahasa grafi untuk pemodelan. Sedangkan PBO, merupakan bahasa pemrograman yang digunakan untuk mendukung penyelesaian pembangun sebuah sistem yang dipecah menjadi bagian yang kecil-kecil atau menjadi sebuah fungsi atau dikenal sebagai proses iteratif, hal ini tentu bertolak belakang dengan proses waterfall yang basisnya adalah aktivitas.
Java language sendiri merupakan sebuah bahasa pemrograman yang dapat digunakan untuk berbagai macam platfor sistem operasi, hal ini disebabkan cara kerjanya yang terbagi menjadi bagian yang di compile dan bagian yang di interpretasikan. Java language dikenal 10 tahun setelah orang mengenal PBO sebagai sebuah teknik pembuatan program diera tahun 80-an. Implementasi PBO jaman dulu lebih banyak digunakan untuk bahasa pemrograman C++, hingga akhirnya di era 90-an muncul bahasa pemrograman yang berbasis fungsi yaitu java language.

Kembali ke UML, berikut ini jenis diagram UML yang sering digunakan dalam model perancangan sistem berbasis iterasi :
  1. Use case diagrams
  2. Class diagrams
  3. Object diagrams
  4. Sequence diagrams
  5. Collaboration diagrams
  6. Statechart diagrams
  7. Activity diagrams
  8. Component diagrams
  9. Deployment diagrams
Use Case Diagrams
Use case diagram adalah gambaran graphical dari beberapa atau semua actor, use case, dan interaksi diantara komponen-komponen tersebut yang memperkenalkan suatu sistem yang akan dibangun. Use case diagram menjelaskan manfaat suatu sistem jika dilihat menurut pandangan orang yang berada di luar sistem. Diagram ini menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem tersebut berinteraksi dengan dunia luar. Use case diagram terdiri dari Use case, Actors, Relationship,System boundary boxes (optional) dan Packages (optional)
Use case dibuat berdasar keperluan actor, merupakan “apa” yang dikerjakan system, bukan “bagaimana” system mengerjakannya, diberi nama yang menyatakan apa hal yang dicapai dari hasil interaksinya dengan actor, dinotasikan dengan gambar (horizontal ellipse), dan biasanya menggunakan kata kerja, serta Nama use case boleh terdiri dari beberapa kata dan tidak boleh ada 2 use case yang memiliki nama yang sama










Actor, bukanlah bagian dari use case diagram, namun untuk dapat terciptanya suatu use case diagram diperlukan beberapa actor. Actor tersebut mempresentasikan seseorang atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi dengan sistem. Sebuah actor mungkin hanya memberikan informasi inputan pada sistem, hanya menerima informasi dari sistem atau keduanya menerima, dan memberi informasi pada sistem. Actor hanya berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Actor digambarkan dengan stick man. Actor dapat digambarkan secara secara umum atau spesifik, dimana untuk membedakannya kita dapat menggunakan relationship.








Uses case dan actor dihubungkan dengan relasi dalam diagram uses case, ada beberapa relasi yang terdapat pada use case diagram :
1. Association, menghubungkan link antar element.
2. Generalization, disebut juga inheritance (pewarisan), sebuah elemen dapat merupakan spesialisasi dari elemen lainnya.
3. Dependency, sebuah element bergantung dalam beberapa cara ke element lainnya.
4. Aggregation, bentuk assosiation dimana sebuah elemen berisi elemen lainnya.
Associations bukan menggambarkan aliran data/informasi, tetapi digunakan untuk menggambarkan bagaimana actor terlibat dalam use case. Ujung panah pada association antara actor dan use case mengindikasikan siapa/apa yang meminta interaksi dan bukannya mengindikasikan aliran data. association antara actor dan use case yang menggunakan panah terbuka untuk mengindikasikan bila actor berinteraksi secara pasif dengan system anda. Tipe relasi/ stereotype yang mungkin terjadi pada use case diagram :
  • include, yaitu kelakuan yang harus terpenuhi agar sebuah event dapat terjadi, dimana pada kondisi ini sebuah use case adalah bagian dari use case lainnya.
  • extends, kelakuan yang hanya berjalan di bawah kondisi tertentu seperti menggerakkan alarm.
  • communicates, mungkin ditambahkan untuk asosiasi yang menunjukkan asosiasinya adalah communicates association . Ini merupakan pilihan selama asosiasi hanya tipe relationship yang dibolehkan antara actor dan use case.
Generalization/inheritance digambarkan dengan sebuah garis berpanah tertutup pada salah satu ujungnya yang menunjukkan lebih umum, Generalization/inheritance dipakai ketika ada sebuah keadaan yang lain sendiri/perlakuan khusus (single condition)
Referensi :
  1. Martin Fowler, UML Distilled 3 edition, Pearson Education, 2004
  2. http://www.omg.org/gettingstarted/what_is_uml.htm
  3. http://edn.embarcadero.com/article/31863

1 comment:

  1. Nice info mas..
    Mantap...
    Jadi smakin tau apa itu UML,.
    Makasih...

    ReplyDelete

Note: Only a member of this blog may post a comment.