Senin, 05 Mei 2014

UML Bagian 1: Use Case Diagram dan Contohnya


Salam Blogger..!!

Selamat siang, sahabat blogger semua..
Pada kesempatan kali ini saya ingin berbagi materi tentang UML. Adakah yang tahu apa itu UML?
UML (Unified Modeling Language) adalah bahasa yang digunakan untuk memvisualisasikan, menspesifikasikan, membangun, dan mendokumentasikan artifact dari informasi yang digunakan atau dihasilkan dalam suatu proses pembangunan perangkat lunak.  Artifact tersebut dapat berupa model, deskripsi, atau perangkat lunak dari system perangkat lunak, seperti pada pemodelan bisnis dan sistem non perangkat lunak lainnya. UML digunakan sebagai metodologi untuk mengembangkan sistem OOP (Object Oriented Programming) dan sekelompok perangkat (tools) untuk mendukung pengembangan sistem tersebut. UML ini merupakan suatu kumpulan teknik terbaik yang telah terbukti sukses dalam memodelkan sistem yang besar dan kompleks. UML tidak hanya digunakan dalam proses pemodelan perangkat lunak, namun hampir dalam semua bidang yang membutuhkan pemodelan.
UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu use case, conceptual diagram, sequence diagram, collaboration diagram, state diagram, activity diagram, class diagram, object diagram, component diagram, object diagram, dan deployment diagram. Nah, malam hari ini saya akan menjelaskan tentang salah satu diagram tersebut yang cukup sering digunakan, yaitu use case diagram.
Definisi 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. Actor merepresentasikan 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.

Komponen-komponen Use Case Diagram
Berikut adalah beberapa komponen yang ada pada use case diagram:
1.    Actor
Actor menggambarkan pengguna software aplikasi (user). Actor membantu memberikan suatu gambaran jelas tentang apa yang harus dikerjakan software aplikasi.
Pada dasarnya, 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.
2.    Use Case
Use case menggambarkan perilaku software aplikasi, termasuk di dalamnya interaksi antara actor dengan software aplikasi tersebut.
Berikut beberapa hal yang menentukan penggunaan use case pada suatu sistem:
a.    Pola perilaku perangkat lunak aplikasi.
b.    Gambaran tugas dari sebuah actor.
c.    Sistem atau “benda” yang memberikan sesuatu yang memberikan nilai kepada actor.
d.   Apa yang dikerjakan oleh suatu perangkat lunak (bukan bagaimana cara mengerjakannya).
3.    Association / Directed Association
Association / Directed Association), yaitu hubungan statis antar element. Pada umumnya, menggambarkan element yang memiliki atribut berupa element lain, atau element yang harus mengetahui eksistensi element lain. Panah navigability menunjukkan arah query antar element.
4.    Generalization dan Pewarisan
Generalization dan pewarisan, yaitu hubungan hirarkis antar element. Element dapat diturunkan dari element lain dan mewarisi  semua atribut dan metoda element asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari element yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
5.    Dependency
Dependency (ketergantungan) adalah suatu jenis hubungan yang menandakan bahwa satu element, atau kelompok element, bertindak sebagai klien tergantung pada unsur lain atau kelompok element yang berlaku sebagai penyalur. Ini merupakan suatu hubungan lemah yang menandakan bahwa jika penyalur klien diubah maka klien secara otomatis  akan terpengaruh oleh perubahan tersebut. Ini merupakan suatu hubungan searah.
6.    Include
Include dapat diartikan suatu  hubungan yang menggambarkan bahwa suatu use case mengandung penggunaan behavior use case lain.
7.    Extend
Extend dapat diartikan hubungan yang menggambarkan kejadian suatu use case yang mungkin ditambahkan dengan beberapa behavior tambahan yang mendefinisikan suatu pengambangan use case.
8.    System Boundry
System Boundry (batas sistem) adalah suatu jenis pembatas / sekat yang menggambarkan batasan antara hal yang sedang mewakili dengan use case (di dalam batas) dan para aktor (di luar batas itu). Pemakaian yang paling sering digunakan adalah untuk membatasi dari suatu keseluruhan sistem. Use Case dapat digunakan untuk menggambarkan subsistem dan class dan sebuah batasan mungkin lebih spesifik dibanding suatu keseluruhan sistem.
9.    Package
Package adalah suatu pengelompokan element-element model. Package itu sendiri kemungkinan bisa juga dipaketkan di dalam package lain. Suatu package boleh berisi package bawahan/subordinat seperti halnya macam unsur-unsur model. Bermacam-macam model UML element-elementnya dapat digabungkan ke dalam sebuah package.
Relasi dalam Use Case
Ada beberapa relasi yang terdapat pada use case diagram, di antaranya adalah:
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.
Sedangkan untuk tipe relasi / stereotype yang mungkin terjadi pada use case diagram antara lain:
1.    <<include>> 
Adalah suatu tipe relasi / stereotype berupa kelakuan yang harus terpenuhi agar sebuah event dapat terjadi, dimana pada kondisi ini sebuah use case adalah bagian dari use case lainnya.
2.    <<extends>>
Adalah suatu tipe relasi / stereotype berupa kelakuan yang hanya berjalan di bawah kondisi tertentu seperti menggerakkan alarm.
3.    <<communicates>>
Adalah suatu tipe relasi / stereotype yang 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.

Contoh Use Case Diagram
Berikut adalah contoh use case diagram keikutsertaan mahasiswa dalam kursus:


Prosedur keikutsertaan dalam kursus:
1.    Fu Kimay melihat jadwal kursus yang tersedia di: http://lepkom.gunadarma.ac.id/.
2.    Fu Kimay mendaftar kursus di loket pendaftaran (BAAK).
3.    Fu Kimay mendapatkan blangko pembayaran kursus.
4.    Fu Kimay membayar biaya kursus.
5.    Fu Kimay mengikuti kursus.
6.    Fu Kimay mengambil sertifikat kursus.
Untuk diagram-diagram lainnya, saya akan menjelaskannya pada pertemuan selanjutnya. Semoga materi yang saya sampaikan pada kesempatan ini dapat bemanfaat..

Tidak ada komentar:

Posting Komentar