Jumat, 11 September 2020

9 Jenis UML (Unified Modelling Language) yang Perlu Diketahui

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.

  1. Use Case Diagram
    Diagram 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 :

    Bank ATM Use Cases Example for Customer and ATM Technician.

  2. Class Diagram
    Berfungsi 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 :
    Online shopping domain UML class diagram example.

  3. Object Diagram
    Berfungsi 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.
    User login controller UML object diagram example.
  4. Communication Diagram
    Berfungsi 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 :

    An example of UML communication diagram for online bookshop.

  5. Sequence Diagram
    Berfungsi 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 :
    UML sequence diagram example for online bookshop.

  6. State Machine Diagram
    Berfungsi 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 :
    Behavioral state machine example - Bank ATM.

  7. Activity Diagram
    Berfungsi 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 :
    Example of Purchase Ticket use case behavior described with UML activity diagram.

  8. Composite Structure Diagram
    Berfungsi 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 :
    Internal structure UML diagram example for Bank ATM.
  9. Deployment Diagram
    Berfungsi 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 :
    File:UML Deployment Diagram.svg

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