Penulis : Muhammad Raihan Satrio P. P. (1902897)
Sebagai seorang software engineer ataupun programmer pasti akan selalu berhubungan dengan yang namanya diagram, disini diagram memiliki peran penting untuk merepresentasikan bagaimana bentuk suatu program ataupun struktur-struktur dari program tersebut. Oleh karena itu, perlu ada suatu standarisasi bentuk atau pemodelan diagram-diagram tersebut. Standarisasi tersebut dikenal dengan Unified Modelling Language (UML) , setidaknya terdapat 13 ataupun 14 jenis diagram UML. Dalam postingan kali ini akan dibahas sembilan (9) diagram UML yang perlu diketahui oleh para programmer, software engineer, ataupun ahli IT lainnya.
- Use Case DiagramDiagram ini berfungsi sebagai pemodelan untuk perilaku suatu sistem informasi yang akan dibuat. Selain itu juga, berfungsi sebagai penjelasan dan penggambaran fungsionalitas dari suatu sistem yang dikembangkan. Dengan cara mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Berikut ini contoh diagram Use Case pada sistem ATM suatu bank :
- Class DiagramBerfungsi untuk menggambarkan struktur suatu sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun suatu sistem. Selain itu juga, berfungsi sebagai pemodelan struktur statis dari suatu sistem, termasuk menjelaskan elemen dan hubungannya dari suatu sistem. Berikut ini contoh penerapan Class Diagram pada pembelanjaan daring :
- Object DiagramBerfungsi untuk mendefinisikan contoh nilai atau isi dari atribut tiap kelas, dengan menggambarkan struktur sistem dari segi penamaan objek dan jalannya objek dalam sistem. Selain itu juga berfungsi sebagai gambaran potret besar keadaan sistem suatu waktu. Berikut ini contoh Object Diagram pada studi kasus otentikasi login.
- Communication DiagramBerfungsi untuk menggambarkan interaksi antar objek/bagian dalam bentuk urutan pengiriman pesan, selain itu merepresentasikan informasi yang diperoleh dari class diagram, sequence diagram, dan Use Case untuk mendeskripsikan gabungan antara struktur statis dan tingkah laku dinamis dari suatu sistem. Fokus utamanya lebih condong ke hubungan komunikasi ketimbang langkah-langkah berurut. Berikut ini contoh kasus toko buku daring yang direpresentasikan oleh Communication Diagram :
- Sequence DiagramBerfungsi untuk menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Berkebalikan dengan Communication Diagram, Sequence Diagram fokus utamanya adalah langkah-langkah berurut. Berikut ini contoh kasus yang sama yaitu toko buku daring yang direpresentasikan oleh Sequence Diagram :
- State Machine DiagramBerfungsi untuk menggambarkan perubahan status atau transisi status dari sebuah mesin atau sistem ataupun objek. Selain itu juga berfungsi untuk menggambarkan perilaku suatu objek yang diizinkan melalui status kemungkinan ataupun status transisi yang dipicu oleh sebuah trigger. Berikut ini contoh State Machine Diagram pada mesin ATM :
- Activity DiagramBerfungsi untuk menggambarkan arus kerja atau aktivitas dari sebuah sistem atau proses bisnis atau mesin yang ada pada perangkat lunak dan mengkoordinasi suatu aksi dalam aktivitas. Disini menggambarkan aktivitas sistem bukan apa yang dilakukan aktor. Berikut ini contoh Activity Diagram pada kasus tiker komuter dan bank akomodir :
- Composite Structure DiagramBerfungsi untuk menggambarkan struktur dari bagian-bagian yang saling terhubung maupun mendeskripsikan struktur pada saat runtime dari contoh yang saling terhubung. Berikut ini contoh Composite Structure Diagram pada ATM :
- Deployment DiagramBerfungsi untuk menunjukan konfigurasi komponen dalam proses eksekusi aplikasi. Selain itu dapat memodelkan embedded system, sistem server, sistem terdistribusi murni, dan rekayasa ulang aplikasi. Selain itu juga berfungsi untuk menggambarkan topologi perangkat keras dan runtime system. Berikut ini contoh Deployment Diagram pada arsitektur backend website :
Referensi :
[1] Rosa, A. S. (2016). Rekayasa perangkat lunak terstruktur dan berorientasi objek.
[2] Seidl, M., Scholz, M., Huemer, C., & Kappel, G. (2015). UML@ classroom: An introduction to object-oriented modeling. Springer.
[3] https://www.uml-diagrams.org/bank-atm-uml-use-case-diagram-example.html?context=uc-examples
[4] https://www.uml-diagrams.org/examples/online-shopping-domain-uml-diagram-example.html?context=cls-examples
[5] https://www.uml-diagrams.org/examples/online-shopping-uml-communication-diagram-example.html?context=cmm-examples
[6] https://www.uml-diagrams.org/online-shopping-uml-sequence-diagram-example.html?context=seq-examples
[7] https://www.uml-diagrams.org/ticket-vending-machine-activity-diagram-example.html?context=activity-examples
[8] https://www.uml-diagrams.org/bank-atm-uml-state-machine-diagram-example.html?context=stm-examples
[9] https://en.wikipedia.org/wiki/File:UML_Deployment_Diagram.svg
[10] https://www.uml-diagrams.org/bank-atm-uml-composite-diagram-example.html?context=cst-examples
[11] https://www.uml-diagrams.org/online-shopping-user-login-uml-object-diagram-example.html