UML

Unified Modeling Language

Unified Modeling Language (UML) adalah sebuah bahasa yang sudah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasi system perangkat lunak. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi peranti lunak, dimana aplikasi tersebut dapat berjalan di peranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. UML sendiri memberikan standar penulisan sebuah sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas damam bahasa program yang spesifik, skema database, dan komponen-komponen yang diperlukan dalam sistem software.

Untuk dapat memahami UML membutuhkan bentuk konsep dari sebuah bahasa model, dan mempelajari 3 (tiga) elemen utama dari UML seperti building block, aturan-aturan yang menyatakan bagaimana building block diletakkan secara bersamaan, dan beberapa mekanisme umum (common).

Building blocks
Tiga macam yang terdapat dalam building block adalah :

♣   Benda/Things adalah hal yang sangat mendasar dalam model UML, juga merupakan bagian paling statik dari sebuah model, serta menjelaskan elemenelemen lainnya dari sebuah konsep dan atau fisik. Bentuk dari beberapa Benda / Things benda / thing adalah sebagai berikut :

Class, 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 yang bekerja 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 sebuah komputer, umumnya mempunyai sedikitnya memory dan processor. Sekelompok komponen mungkin terletak pada sebuah node dan juga mungkin akan berpindah dari node satu ke node lainnya.

♣   Hubungan/Relationships

Ada 4 macam hubungan didalam penggunaan 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 terputusputus.

Gambar.   Depedency

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.

 

Gambar.  Association

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.

 

Gambar.   Generalizations

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.

UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu:

  • Use Case Diagram
  • Conceptual Diagram
  • Sequence Diagram
  • Collaboration Diagram
  • State Diagram
  • Activity Diagram
  • Class Diagram
  • Object Diagram
  • Component Diagram
  • Deployment Diagram

1.        Use Case Diagram

Use case diagram digunakan untuk memodelkan bisnis proses berdasarkan perspektif pengguna sistem. Use case diagram terdiri atas diagram untuk use case dan  actor. Actormerepresentasikan  orang yang akan mengoperasikan atau orang yang berinteraksi dengan sistem aplikasi.

Use case merepresentasikan operasi-operasi yang dilakukan oleh actor.Use case digambarkan berbentuk elips dengan nama operasi dituliskan di dalamnya. Actor yang melakukan operasi dihubungkan dengan garis lurus ke use case.

Aktor  mencirikan suatu bagian outside user atau susunan yang berkaitan dengan  user yang berinteraksi dengan sistem [Rumbaugh, Booch, dan Jacobson 1999]. Dalam model use case, aktor merupakan satu-satunya kesatuan eksternal yang berinteraksi dengan sistem.

Use case adalah gambaran fungsionalitas dari suatu sistem, sehingga customer atau pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan dibangun

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.

Contoh Use Case Diagram :

Gambar. Use Case Diagram

  1. Sequence Diagram

Menggambarkan interaksi antara sejumlah object dalam urutan waktu, juga berguna untuk menunjukan rangkain pesan yang dikirim antar object dan interaksi antar object. Sequance diagram digambarkan dalam bentuk segi empat yang berisi nama dengan object yang digaris bawahi. Cara membaca Sequance Diagram dimulai dari sebelah kiri, dibawah ini contoh Sequance Diagram pendaftaran training.

Gambar. Sequance Diagram

  1. 3.        Class Diagram

Digunakan untuk menggambarkan jenis objek dalam sistem dan hubungan mereka, menggambarkan struktur statis class dalam sistem. Class memiliki tiga area pokok yaitu : Nama, Atribute dan Methoda/Operation . Atribut dan metode dapat mempunyai sifat private (tidak dapat dipanggil dari luar class), Protected(hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya) dan Public (dapat dipanggil siapa saja).

Kelas terdiri dari tiga hal : nama, atribut, dan operasi,. Berikut adalah contoh dari sebuah kelas.

Untuk lebih jelas dibawah ini contoh sebuah class diagram.

Gambar. Class Diagram

  1. 4.     State Diagram

Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state  lainnya ) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada umumnya  statechart diagrammenggambarkan class tertentu (satu class dapat memiliki lebih dari satu  statechart diagram ). 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 darievent tertentu dituliskan dengan diawali garis miring. Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah.

Dibawah ini contoh dari State Diagram.

Gambar.  State Diagram

  1. Activity Diagram

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. Activity diagram merupakan state diagram khusus, di mana sebagian besar  state adalah action dan sebagian besar transisi di- trigger oleh selesainya state sebelumnya (internal processing ). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.

Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. 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. Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.

Dibawah ini contoh Activity Diagram.

 

Gambar. Activity Diagram

  1. Collaboration Diagram

Collaboration diagram menggambarkan interaksi antar objek seperti sequence diagram , tetapi lebih menekankan pada peran masing-masing objek dan bukan pada waktu penyampaian message . Setiap message memiliki sequence number , di mana message dari level tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks yang sama.

Dibawah ini gambar Collboration Diagram.

Gambar.  Collaboration Diagram

  1. Component Diagram

Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan ( dependency ) di antaranya. Komponen piranti lunak adalah modul berisi code , baik berisi source code maupun binary code , baik library maupun executable , baik yang muncul pada compile time, link time , maupun run time . Umumnya komponen terbentuk dari beberapa class dan/atau package , tapi dapat juga dari komponen-komponen yang lebih kecil. Komponen dapat juga berupa interface , yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain.

Dibawah ini gambar Component Diagram.

Gambar.  Component Diagram

  1. Deployment Diagram

Deployment/physical diagram menggambarkan detail bagaimana komponen di- deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal Sebuah node adalah server, workstation , atau piranti keras lain yang digunakan untuk men- deploy komponen dalam lingkungan sebenarnya. Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.

Gambar.  Deployment Diagram

  1. 9.        Object Diagram

Object Diagram adalah diagram yang menunjukan pandangan lengkap atau sebagian dari struktur sistem dimodelkan pada waktu tertentu. Object Diagram berfokus pada satu set tertentu contoh objek dan atribut, dan hubungan antara Instance. Satu set berkorelasi diagram objek memberikan wawasan tentang bagaimana pandangan sewenang-wenang dari sistem diharapkan untuk berevolusi dari waktu ke waktu.

Obyek diagram lebih konkrit dari diagram kelas, dan sering digunakan untuk memberikan contoh, atau bertindak sebagai uji kasus untuk diagram kelas. Hanya aspek-aspek dari model yang menarik saat ini perlu ditampilkan pada diagram objek.

Gambar.  Object Diagram

 

  1. 10.       Conceptual Diagram

 

Sebuah model mental yang menangkap gagasan dalam masalah domain, sementara model konseptual merupakan ‘konsep’ (entitas) dan hubungan antara mereka. Sebuah model konseptual di bidang ilmu komputer juga dikenal sebagai model domain. Pemodelan konseptual tidak harus bingung dengan disiplin lain seperti pemodelan pemodelan data, pemodelan logis dan pemodelan fisik. Model konseptual eksplisit dipilih untuk menjadi independen dari masalah desain atau pelaksanaan, misalnya, concurrency atau penyimpanan data. Tujuan dari model konseptual adalah untuk mengungkapkan makna istilah dan konsep yang digunakan oleh para ahli domain untuk mendiskusikan masalah ini, dan menemukan hubungan yang benar antara konsep yang berbeda.

Gambar. Conceptual Diagram

Advertisements

One thought on “UML

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s