UML


Kali ini kita akan membahas UML (Unified Modeling Language). Sebelum masuk ke UML kita harus mengetahui apa itu Modeling/Permodelan. Blog ini terdiri dari beberapa bagian yaitu modeling/permodelan, pengertian UML, Sejarah UML, Konsep dasar UML, dan Tools yang mendukung UML. Selamat membaca

Modeling/ permodelan
Menurut KBBI model adalah pola (contoh, acuan, ragam, dan sebagainya) dari sesuatu yang akan dibuat atau dihasilkan. Dapat kita artikan bahwa modeling adalah perancangan atau gambaran dari sistem yang akan kita buat. Modeling dilakukan sebelum tahap impelementasi (coding). Modeling ini akan menghasilkan sebuah Blueprint. Blueprint ini lah yang akan digunakan untuk proses selanjutnya yaitu implementasi (coding). Ada beberapa kegunaan modeling, yaitu :
1.        Memberikan pemodelan visual untuk mengembangkan dan saling tukar menukar model dengan mudah dan dimengerti secara umum.
2.        Sebagai panduan untuk mengontrol dan memahami arsitektur sistem yang dikembangkan.
3.        Kemungkinan penyederhanaan dan re-use.
4.        Mengurangi resiko.
Kesuksesan suatu pemodelan perangkat lunak (software) ditentukan oleh tiga unsur yang dikenal dengan the triangle for success, ketiga unsur ini adalah: Pemodelan (notation), Proses(Process), dan Tools yang digunakan.
Memahami notasi pemodelan(notation) tanpa mengetahui cara pemakaian yang sebenarnya (process) akan membuat proyek gagal. Pemahaman terhadap metode pemodelan dan proses disempurnakan dengan penggunaan tool yang tepat akan menghasilkan permodelan yang baik.

Pengertian UML
Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. UML memberikan standar penulisan sebuah sistem blueprint, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponen-komponen yang diperlukan dalam software. Karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka UML tidak hanya merupakan sebuah bahasa pemograman visual saja, namun juga dapat secara langsung dihubungkan ke berbagai bahasa pemograman,seperti JAVA, C++, Visual Basic, atau bahkan dihubungkan secara langsung ke dalam sebuah object-oriented database.
UML juga dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C. Begitu juga mengenai pendokumentasian dapat dilakukan seperti; requirements, arsitektur,design,source code, project plan,tests, dan prototypes.

Sejarah UML
Pada Oktober 1994, Dr. James Rumbaugh bergabung dengan Perusahaan Rational sotware, dimana Grady Booch sudah bekerja disana sebelumnya. Grady Booch mengembangkan Object Oriented Design (OOD) dan Dr. James Rumbaugh mengembangkan Object Modeling Technique (OMT). Duet Mereka pada Oktober 1995 menghasilkan Unified Method versi 0.8. Musim gugur 1995 Dr. Ivar Jacobson ikut pula bergabung dengan duet Rumbaugh-Booch, dengan memperkenalkan tool use case. Trio tersebut pada bulan Juni 1996 menghasilkan Unified Modeling Language (UML) versi 0.9. Sebelumnya Dr. Ivar Jacobson mengembangkan Object Oriented Software Engineering (OOSE). Trio ini mengembangkan Ratinal Unified Process (RUP) Banyak perusahaan software merasakan bagaimana pentingnya UML dalam tujuan strategis mereka, sehingga beberapa perusahaan membentuk sebuah konsorsium yang terdiri dari perusahaan-perusahaan seperti :
Microsoft, Oracle, IBM, Hewlett-Packard, Intellicorp, I-Logix, DEC, Digital Equipment Corp, dan Texas instrument. Dari hasil proyek tersebut pada bulan Januari 1997 lahirlah UML versi 1.0
Pada bulan September 1997 lahirlah UML versi 1.1, dengan 8 buah diagram, yaitu  :
·           Use case diagram
·           Activity Diagram
·           Sequence diagram
·           Collaboration diagram
·           Class diagram
·           Statechart diagram
·           Component diagram
·           Deployment diagram
Pada bulan November 1997 sebuah organisasi non profit standarisasi Object Management Group (OMG) mengakui UML sebagai sebuah bahasa pemodelan standar untuk aplikasi object oriented.

OMG didirikan pada bulan April 1989 oleh sebelas perusahaan software, dengan kantor pusat di Needham, MA, USA. (www.omg.org) Pada tahun 1999 lahirlah UML versi 1.3, menjadi 9 buah diagram, dengan penambahan : Business use case Diagram. Pada May 2001 lahirlah UML versi 1.4, menjadi 10 buah diagram, dengan penambahan : Object Diagram. Dan pada tahun 2002 lahirlah UML versi 2.0, menjadi 13 buah diagram, dengan penambahan dan penggantian yaitu :
·           Use Case Diagram
·           Activity Diagram
·           Sequence Diagram
·           Communication Diagram (Collaboration diagram in versi 1.x)
·           Class Diagram
·           State Machine Diagram (Statechart diagram in versi 1.x)
·           Component Diagram
·           Deployment Diagram
·           Composite Structure Diagram
·           Interaction Overview Diagram
·           Object Diagram
·           Package Diagram
·           Timing Diagram      

Konsep dasar UML
Untuk dapat memahami Diagram UML dengan baik maka dibutuhkan bentuk konsep dari sebuah bahasa model, dan mempelajari 3 (tiga) elemen utama dari Diagram UML yaitu building block. Aturan-aturan yang menyatakan bagaimana building block diletakkan secara bersamaan, dan beberapa mekanisme umum (common). Tiga macam yang terdapat dalam building block adalah :
a.        Benda/Things
Adalah abstraksi yang pertama dalam sebuah model. Juga merupakan bagian paling statik dari sebuah model, serta menjelaskan elemen-elemen lainnya dari sebuah konsep dan atau fisik Benda/ things memiliki berbagai bentuk, yaitu :
·           Classes: yang diuraikan sebagai sekelompok dari object yang mempunyai atribute, operasi, hubungan yang semantik. Sebuah kelas mengimplementasikan 1 atau lebih interfaces. Sebuah kelas dapat digambarkan sebagai sebuah persegi panjang, yang mempunyai sebuah nama, atribute, dan metoda pengoperasiannya.
·           Interfaces: merupakan sebuah antar-muka yang menghubungkan dan melayani antar kelas dan atau elemen. ‘Interface’/ antar-muka mendefinisikan sebuah set / kelompok dari spesifikasi pengoperasian, umumnya digambarkan dengan sebuah lingkaran yang disertai dengan namanya. Sebuah antar-muka berdiri sendiri dan umumnya merupakan pelengkap dari kelas atau komponen.
·           Collaboration: yang didefinisikan dengan interaksi dan sebuah kumpulan / kelompok dari kelas-kelas/elemen-elemen yangbekerja secara bersama-sama. Collaborations mempunyai struktur dan dimensi. Pemberian sebuah kelas memungkinkan berpartisipasi didalam beberapa collaborations dan digambarkan dengan sebuah ‘elips’ dengan garis terpotong-potong.
·           Use cases: adalah rangkaian/uraian sekelompok yang saling terkait dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh sebuah aktor. ‘use case’ digunakan untuk membentuk tingkah-laku benda/ things dalam sebuah model serta di realisasikan oleh sebuah collaboration. Umumnya ‘use case’ digambarkan dengan sebuah ‘elips’ dengan garis yang solid,biasanya mengandung nama.
·           Nodes: merupakan fisik dari elemen-elemen yang ada pada saat dijalankannya sebuah sistem, contohnya adalaha sebuahkomputer, umumnya mempunyai sedikitnya memory dan processor. Sekelompok komponen mungkin terletak pada sebuah node dan juga mungkin akan berpindah dari node satu ke node lainnya. Umumnya node ini digambarkan seperti kubus serta hanya mengandung namanya.
b.        Hubungan/Relationships
sebagai alat komunikasi dari benda-benda. Ada 4 macam hubungan didalam penggunaan Diagram UML, yaitu;
·           Dependency : adalah hubungan semantik antara dua benda/things yang mana sebuah benda berubah mengakibatkan benda satunya akan berubah pula. Umumnya sebuah dependency digambarkan sebuah panah dengan garis terputus-putus.
·           Association : hubungan antar benda struktural yang terhubung diantara obyek. Kesatuan obyek yang terhubung merupakan hubungan khusus, yang menggambarkan sebuah hubungan struktural diantara seluruh atau sebagian. Umumnya assosiation digambarkan dengan sebuah garis yang dilengkapi dengan sebuah label, nama, dan status hubungannya.
·           Generalizations : adalah menggambarkan hubungan khusus dalam obyek anak/child yang menggantikan obyek parent / induk .Dalam hal ini, obyek anak memberikan pengaruhnya dalam hal struktur dan tingkah lakunya kepada obyek induk. Digambarkan dengan garis panah.
·           Realizations : merupakan hubungan semantik antara pengelompokkan yang menjamin adanya ikatan diantaranya. Hubungan ini dapat diwujudkan diantara interface dan kelas atau elements, serta antara use cases dan collaborations. Model dari sebuah hubungan realization.
c.         Bagan/Diagrams,
Diagram adalah yang menggambarkan permasalahan maupun solusi dari permasalahan suatu model. Bagan berfungsi sebagai kumpulan /group dari benda-benda/things. Diagram UML mempunyai 9 diagram, yaitu:
·           Use Case Diagram : menggambarkan sekelompok use cases dan aktor yang disertai dengan hubungan diantaranya.
·           Class Diagram : Diagram yang memperlihatkan struktur statis dari kelas actual didalam sistem.
·           Object Diagram : Diagram yang merupakan varian dari kelas diagram yang memperlihatkan lebih detail banyaknya obyek yang mengintantiasi (instances) kelas.
·           State Diagram : Diagram yang memperliatkan semua keadaan (state) yang dapat dimiliki oleh kelas dan event yang dapat merubah keadaan tersebut.
·           Sequence Diagram : Diagram yang memperlihatkan kolaborasi dinamik antara objek-objek dengan suatu urutan pesan (a sequence of message) antar objek tersebut.
·           Collaboration Diagram : Diagram yang memperlihatkan kolaborasi dinamik antar objek tanpa memperhatikan aspek waktu.
·           Activity Diagram : Diagram yang memperlihatkan aliran urutan aktifitas.
·           Component Diagram : Diagram yang memperlihatkan struktur fisik dari source code dalam terminology code components. Komponen berisi informasi tentang logical class dapat berupa komponen source code, komponen biner atau komponen yang dapat dieksekusi.
·           Deployment Diagram : Diagram yang memperlihatkan arsitektur fisik dari hardware dan software pada sistem.

Tools 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)

Sumber :


Komentar