Diagram Penting UML
Berikut ini Diagram yang cenderung dianggap penting dalam pembangunan perangkat lunak.
Use Case Diagram
Use Case Diagram adalah diagram yang menggambarkan hubungan yang terjadi antara user dengan sistem. User ini biasanya dinamakan aktor, dimana aktor tersebut bisa merupakan semua orang yang terlibat, tidak hanya dari pihak user maupun pembuat, namun juga dari pihak ke tiga (apabila ada).
Use Case diagram mendeskripsikan interaksi antara satu aktor ke aktor lainnya dengan sistem yang akan dibuat. Use case diagram juga dapat digunakan untuk mengetahui mengetahui dan memetakan fungsi apa saja yang akan dibutuhkan pada sistem, serta merepresantasikan hubungan interaksi aktor dengan sistem menjadi lebih terstruktur.
Use case diagram sendiri nantinya dapat memudahkan untuk dipahami oleh konsumen serta dapat memudahkan komunikasi kepada pihak yang terkait termasuk end user, hal ini sehingga dapat menjadi kepastian pemahaman yang pas tentang kebutuhan(requirement) sebuah sistem.
Dalam Use case diagram terdapat 3 komponen utama, yaitu:
- Sistem. Sistem menjadi batas seberapaa jauh lingkup yang akan di gambarkan pada relasi antar aktor, baik aktor di luar sistem maupun dari sistem itu sendiri (fitur-fitur)
- Aktor. Aktor adalah segala hal yang berada ddiluar sistem, bisa berupa user maupun pihak lainnya yang mepunyai keterkaitan antara sistem.
- Use Case. Use case disini merupakan gambaran fungsional dari sebuah sistem. Sehingga dapat terjadi pemahaman mengenai ssitem yang akan dibangun.
Use case diagram juga mempunyai beberapa relasi, yaitu:
- Association. Association merupakan teknik pengidentifikasian interaksi yang dilakukan oleh aktor tertentu dengan use case tertentu, yang digambrkan dengan garis relasi antara aktor kepada use case tersebut.
- Generalization. Merupakan pendefinisian relasi antara dua aktor atau dua use case yang salah satunya meng-inherit dan menambhakan atau override sifat dari yang lainnya.
- Dependency. Terbagi menjadi 2 macam, yakni include dan extended. Include berfungsi untuk mengidentifikasi hubugan antara dua 2 use case, dimana use case yang satu akan memanggil use case yang lainnya. Sementara Extended merupakan apabila adanya kondisi tertentu saat pemanggilan pada dependensi.
Contoh Use Case Diagram:
Sequence Diagram
Sequence diagram merupakan salah satu diagram yang ada dialam UML. Untuk diagram ini sendiri digunakan untuk menggambarkan interaksi objek dan mendefinisikan komunikasi diantara objek-objek tersebut. Untuk fungsinya sendiri Sequence Diagram digunakan untuk menggambarkan serta mendeskripsikan perilaku atau interaksi terhadap sistem, termasuk pesan yang digunakan untuk berinteraksi. Semua pesan tersebut dideskripsikan dalam urutan pada eksekusi.
Sequence Diagram sangat berkaitan dengan Use Case Diagram, sehingga 2 Use Case Diagram akan menjadi 1 Sequence Diagram.
Tujuan dari penggunaan diagram ini adalah sebagai berikut:
- Mengkomunikasikan kebutuhan (requirement) kepada tim teknis karena diagram ini dapat lebih mudah untuk dipahami dan dijadikan sebagai dasar pembuatan sistem secara teknis.
- Merupakan diagram yang sangat cocok untuk pengembangan model deskripsi use case menjadi spesifikasi desain
- Terdapat desain dan analisis, yang dapat lebih memfokuskan pada indentifikasi metode didalam sistem. Biasanya diagram inidigunakan untuk memodelkan deskripsi tentang sistem yang berada pada sebuah atau beberapa use case diagram yang menggambarkan hubungan antara aktor dan use case diagram. Serta juga dapat memodelkan Logika dari suatu method, seperti Operaion, Function atau Prosedure, Logika dari service high service (High level Method).
Komponen yang ada pada Sequence Diagram adalah:
- Aktor, merepresantasikan entitas diluar sistem yang akan berinteraksi dengan sistem. Aktor ini dapat berupa manusia, benda (device, hardware) atau entitas lainnya.
- Lifeline, berfungsi untuk mengeksekusi objek selama sequence ( pesan dikirim atau diterima, serta pada aktivasinya)
- General, berfungsi merepresentasikan entita tunggal dalam sequence diagram. Di komponen ini memliki nama, stereotype atau dapat berupa instance (class)
- Boundary, berupa tepi sisetm, seperti user interface atau suatu alat yang berinteraksi dengan sistem lain.
- Control, berfungsi mengatur aliran informasi untuk sebuah skenario, bagian ini umumnya mengaru perilaku tenksi dan perilaku bisnis.
- Entity, merupakan elemen yang bertanggung jawab untuk menyimpan data atau informasi. Elemen ini dapat berupa beans atau model Object
- Activation, yaitu titik dimana sebuah objek mulai berpartisipasi didalam sebuag sequence yang menunjukan kapan sebuah objek mengirim atau menerima objek
- Message, yakni berfungsi sebagi komunikasi antar objek yang dapat menggambarkan aksi yang akan dilakukan pada sistem. Message terjadi dikarenakan adanya komunikasi client meminta kepada supplier untuk melakukan suatu perintah.
- Message Entry, bagian ini berfungsi untuk menggambarkan pesan/hubungan antar objek yang menunjukan urutan atau alur kejadian yang terjadi
- Message to Self, bagian ini menggambarkan pesan/hubungan objek itu sendiri, yang menunjukan urutan kejadian yang sedang terjadi.
- Message return, bagian ini menggambarkan hasil dari pengiriman message.
Pada pembuatan sequence diagram diurutkan dari kiri ke kanan, aktor yang menginisiasi interaksi ditaruh di paling kiri diagram. Sequence diagram terdiri dari 2 dimensi, yaitu:
- Dimensi vertikal yang merepresentasikan waktu
- Dimensi horizontal yang merepresentasikan objek-objek yang terkait
Bagian paling atas diagram akan menjadi titik awal dan waktu berkalan, kemudian kebawah dengan bagian dasar dari diagram. Pada garis vertival, disebut lifeline, diletakan pada setiap objek atau aktor kemudian lifeline tersebut digambarkan menjadi kotak ketika objek melakukan suatu operas, kotak tersebut biasanya disebut activation box. Objek diakatakan mempunyai live activation pada saat waktu tersebut. Pesanyang akan dipertukarkan antar objek akan digambarkan pada sebuag anak panah antara activation box pengirim kepada penerima. Kemuddian diatasnya akan terdat label pesan.
Contoh Sequence Diagram:
Collaboration Diagram
Collaboration Diagram juga sering dikenal sebagai Communication Diagram atau Interaction Diagram. Diagram ini digunakan untuk menggambarkan bagaimana relasi dan interaksi antara object di sistem. Diagram ini mengelompokan pesan pada kumpulan diagram sequence menjadi sebuah diagram. Dalam collaboration diagram yang dituliskan adalah operasi atau method yang dijalankan antara object yang satu dengan object lainnya secara keseluruhan. Oleh karena itu dapat diambil dari jalannya interaksi pada semua diagram sequence. Untuk menggambarkan objek dari sebuah collaboration diagram dapat menggunakan object. Dan untuk menghubungkan object yang satu dengan object yang lain digunakan Link.
Collaboration Diagram sangat cocok untuk penggambaran interaksi sederhana antar object, namun dengan adanya penggunaan tool atau software dapat memungkinkan diagram ini dapat digambarkan menjadi lebih komleks.
Collaboration Diagram menunjukan informasi yang sama dengan Sequence Diagram, namun tujuan penggunaannya berbeda. Collaboration diagram digunakan untk menampilkan alur skenario sistem tertentu didalam use case. Jika Diagram Sequence disusun berdasarkan urutan waktu, Collaboration Diagram lebih berkonsentrasi pada hubungan antar object
Contoh:
Object Diagram
Object Diagram merupakan turunan dari Class Diagram, jadi Object Diagram mengacu pada Class Diagram. Object Diagram sendiri digunakan untuk mewakili sebuah instance class diagram. Object Diagram mewakili desain yang bersfat statis pada sistem, dimana desain/tampilan statis ini merupakan gambaran sistem pada bagian tertentu. Object Diagram juga digunakan untuk memberikan sebuat object dan juga relasinya.
Tujuan adanya Object Diagram ini adalah untuk dapat memahami secara jelas bagaimana sistem pada implementainya. Sebenarnya tuuannya hampir sama dengan Class Diagram namun Oject Diagram digunakan untuk mewakili model abstract yang terdiri dari kelas-kelas beserta relasinya.Kemudian Object Diagram akan mewakili object yang bersifat konkret pada saat tertentu. Itu berarti diagram ini sangat dekat terhadap perilaku sistem secara nyata, tujuannya adapah untuk menggambarkan tampilan statis pada sistem di saat tertentu.
Contoh:
Class Diagram
Class Diagram merupakan diagram yang bersifat statis, yang merepresentasikan tampilan yang statis pada suatu sistem. Class Diagram digunakan untuk memberikan sajian diagram, pendeskripsian dan pendokumentasian aspek-aspek pada sistem yang juga digunakan untuk pedoman pengeksekusian secara teknis.
Class Diagram mendeskripsikan atribut dan operasi pada class dan juga termasuk kendala yang akan menghalangi sistem nantinya. Class Diagram digunakan khusus untuk Object Oriented System, karena memang Class Diagram dipetakan sedemikian ripa untuk Object Oriented Languages.
Class Diagram akan memperlihatkan kumpulan kelas, tampilan, kendala, dan lainnya. Diagram ini juga sangat identik atau sering dikenal sebagai structrual diagram.
Tujuan adanya Class Diagram adalah agar nantinya akan adanya model tampilan statis pada suatu sistem atau perangkat lunak. Class Diagram juga mungkin bisa dikatakan satu-satunya diagram untuk pemetaan sistem secara langsung terhadap object oriented languages dan nantinya akan digunakan sebagai pedoman pembangunan sistem.
Class Diagram sendiri merupakan salah satu diagram yang paling banyak digunakan untuk pembangunan suatu sistem. Dikarenakan Class Diagram dapat secara langsung dapat dipahami dan juga bersifat deskriptif dan cukup rinci. Hal ini lah yang dapat menjadi dasar pembangunan sistem secara pemodelan maupun secara teknis.
Contoh:
Activity Diagram
Activity Diagram merupakan diagram yang juga tak kalah penting dari diagram lainya. Diagam digunakan untuk mendeskripsikan aspek dinamis pada sistem. Pada dasarnya Activity Diagram merupakan flowchart yang mewakili alur dari satu activity ke activity lainnya. Control ini digambarkan melalui operator, dan alurnya dapat berupa sequential, branched, atau concurrent.
Tujuan dari Activity Diagram pada dasarnya sama seperti diagram lainnya. Diagram ini menggambarkan perilaku dinamis sistem. Activity dikususkan untuk operasi pada sistem, diagram ini tidak hanya digunakan untuk menggambarkan sistem yang dinamis saja, tapi diagram ini juga digunakan untuk membangun implementasi sistem dengan menggunakan forward and reverse engineering techniques. Yang tidak ada didalam Activity Diagram hanyalah bagian pesan.
Activity Diagram kadang disamakan dengan flowchart dikarenakan seperti adanya kemiripan, namun hal ini sama sekali tidak benar, walaupun memang bisa dikatakan hampir sama. Diagram ini memiliki perbedaan dalam segi alurnya.
Contoh:
Component Diagram
Component Diagram digunakan untuk mendesain aspek fisik dari sistem. Yang dimaksud aspek fisik disini adalah berupa libraries, executebale, files, documents, dan lainnya yang mana berkaitan dengan sistem. Component diafram juga digunakan untuk menvisualkan hubungan organisasi antara komponen didalam sistem. Diagram itu juga digunakan untuk membuat executable system.
Tujuan dari Component Diagram berbeda dari diagram lain, karena diagram ini tidak mendeskripsikan fungsi sistem, melainkan mendeskripsikan komponen yang digunakan untuk membuat funsi tersebut. Jadi Component Diagram digunakan untuk menvisualkan komponen secara fisik disistem, component ini berupa libraries, package, files, dan lainnya.
Contoh: