Search In This Website

Senin, 09 Juni 2025

Apa Itu UML Diagram

Apa itu Diagram UML?

UML  (Unified Modelling Language) adalah cara memvisualisasikan software program menggunakan kumpulan diagram. Notasi ini telah berkembang untuk digunakan pada desain object oriented, tetapi sejak itu telah diperluas untuk mencakup berbagai macam proyek software engineering. Saat ini, UML diterima oleh Object Management Group (OMG) sebagai standar untuk pemodelan pengembangan software.

Tipe-Tipe Diagram UML

Standar UML saat ini menyerukan 13 jenis diagram yang berbeda:

class diagram, activity diagram, object diagram, use case diagram, sequence diagram, package diagram, state diagram, component diagram, communication diagram, composite structure diagram, interaction overview diagram, timing diagram, and deployment diagram.

Diagram ini diorganisasikan menjadi dua kelompok berbeda: Structural Diagram dan Behavioral Diagram.

  • Structural UML diagrams
    • Class diagram
    • Package diagram
    • Object diagram
    • Component diagram
    • Composite structure diagram
    • Deployment diagram
  • Behavioral UML diagrams
    • Activity diagram
    • Sequence diagram
    • Use case diagram
    • State diagram
    • Communication diagram
    • Interaction overview diagram
    • Timing diagram.

Class Diagram

  • Class Diagram adalah tulang punggung hampir setiap metode object oriented, termasuk UML.
  • Class Diagram menggambarkan static structure suatu sistem.
  • Class diagram atau diagram kelas merupakan suatu diagram yang digunakan untuk menampilkan kelas-kelas berupa paket-paket (packets) untuk memenuhi salah satu kebutuhan paket yang akan digunakan nantinya.
  • Namun, pada Class diagram desain modelnya dibagi menjadi 2 bagian.
    • Class diagram yang pertama merupakan penjabaran dari domain model yang merupakan abstraksi dari basis data.
    • Class diagram yang kedua merupakan bagian dari modul program, contohnya metode pemrograman MVC pattern (Model View Controller), dimana terdapat boundary presentation class sebagai class interface, class control sebagai tempat ditemukannya algoritma, dan class entity sebagai tabel dalam basis data dan query program.

Package Diagram

  • Package Diagram bagian dari class diagram, tetapi pengembang terkadang memperlakukannya sebagai teknik terpisah.
  • Package Diagram hadir sebagai solusi untuk memudahkan organisasi dan pemetaan elemen-elemen dalam sistem tersebut.
  • Package Diagram mengatur elemen-elemen suatu sistem ke dalam kelompok-kelompok terkait  dalam unit yang lebih kecil untuk meminimalkan ketergantungan antar package.

Object Diagram

  • Object Diagram digunakan untuk menggambarkan sebagian atau seluruh static structure diagram ( UML  structural diagram ) dari suatu sistem pada waktu tertentu. Object Diagram dapat digunakan untuk menguji kelengkapan dan keakuratan class diagram.
  • Object Diagram menggambarkan hubungan dan struktur objek pada waktu tertentu, contoh selama eksekusi.
  • Object Diagram ini dapat memudahkan tim memahami perilaku dan interaksi objek yang terlibat, baik selama pengembangan maupun analisis masalah.
  • Object Diagram biasanya digunakan untuk mengidentifikasi informasi mengenai elemen model tertentu untuk menunjukkan contoh spesifik dari pengklasifikasikan yang diperlukan.

Component diagram

  • Component Diagram menjelaskan organisasi software component fisik, termasuk source code, run-time (biner)  code, interface yang tersedia, port dengan hubungan di antaranya dan file yang dapat dieksekusi.
  • Component Diagram ini biasa digunakan dalam pengembangan perangkat lunak untuk menggambarkan struktur ( UML structural diagram ) dan hubungan antar komponen dalam sistem agar lebih mudah dianalisis.
  • Component Diagram membantu dalam visualisasi, spesifikasi, dan dokumentasi sistem berbasis komponen juga membangun sistem yang dapat dieksekusi melalui forward engineering dan reverse engineering.

Composite Structure Diagram

  • Composite Structure Diagrammerupakan bagian dari structural Unified Modeling Language (UML) diagram untuk menunjukkan bagian dalam kelas atau komponen.
  • Composite Structure Diagram ini berguna untuk memvisualisasikan interaksi antara objek dan elemen internal dari suatu kelas, terutama ketika elemen tersebut memiliki peran yang berbeda dalam komunikasi.
  • Composite Structure Diagram dapat mendokumentasikan dan memvisualisasikan hubungan internal yang tidak terlihat pada diagram kelas, dengan menggunakan elemen, seperti objek, port, dan konektor untuk menunjukkan komunikasi antar objek.

Deployment Diagram

  • Deployment Diagram menggambarkan sumber daya fisik dalam suatu sistem, termasuk node, component, dan koneksi.
  • Deployment diagram menjadi salah satu jenis UML diagram yang memainkan peran penting dalam mendeskripsikan bagaimana komponen software saling berinteraksi dengan komponen lainnya.
  • Deployment diagram adalah diagram yang berfungsi untuk menggambarkan penempatan (deployment) komponen software dalam perangkat keras.

Activity Diagram

  • Activity Diagram menggambarkan sifat dinamis suatu sistem dengan memodelkan aliran control dari satu activity ke activity lainnya.
  • Suatu activity mewakili suatu operasi atau proses pada beberapa class dalam sistem yang mengakibatkan perubahan pada state sistem. Biasanya, aktivitas dari activity diagram digunakan untuk memodelkan workflow atau proses bisnis dan operasi internal.
  • Seperti layaknya runtutan proses berjalannya suatu sistem dan digambarkan secara vertikal.
  • Activity diagram adalah salah satu contoh diagram dari behavioral UML dalam pengembangan dari Use Case.

Sequence Diagram

  • Sequence Diagram menggambarkan interaction antar class atau objek dalam hal pertukaran message dari time ke time atau berdasarkan urutan waktu.
  • Sequence dapat menggambarkan urutan atau tahapan yang harus dilakukan untuk dapat menghasilkan sesuatu, seperti yang tertera pada Use Case diagram.

Use Case Diagram

  • Use Case Diagram adalah satu jenis dari diagram UML (Unified Modelling Language).
  • Use Case Diagram memodelkan fungsionalitas suatu sistem menggunakan actor dan use case.
  • Use Case Diagram menggambarkan hubungan interaksi antara sistem dan aktor/pengguna.

State Diagram / Statechart Diagram / State Machine Diagram

  • Statechart Diagram, yang sekarang dikenal sebagai State Machine Diagram dan State Diagram, menggambarkan behavior dinamis suatu sistem dalam menanggapi rangsangan external. State Diagram terutama berguna dalam pemodelan objek reaktif yang statenya dipicu oleh event tertentu.
  • Statemachine yaitu salah satu jenis diagram pada UML yang berfungsi untuk menggambarkan transisi serta perubahan pada suatu objek pada sistem.

Communication Diagram / Collaboration Diagram

  • Communication Diagram memodelkan interaction antara object secara sequence.
  • Communication Diagram menggambarkan static structure dan behavior dinamis suatu sistem. Dalam banyak hal, Communication Diagram adalah versi sederhana dari collaboration diagram yang diperkenalkan dalam UML 2.0.
  • Communication Diagram memodelkan kolaborasi antara object-object atau peranan yang mengirimkan fungsionalitas dari use cases dan operasi-operasinya.
  • Mekanisme Model Communication Diagram dalam architectural design dari suatu system.

Interaction Overview Diagram

  • Interaction Overview Diagram merupakan kombinasi activity diagram dan sequence diagram. 
  • Interaction Overview Diagram memodelkan serangkaian actiondan memungkinkan Anda mendekonstruksi interaction yang lebih kompleks menjadi kejadian yang dapat dikelola. Anda harus menggunakan notasi yang sama pada Interaction Overview Diagram seperti yang Anda lihat pada activity diagram.
  • Interaction Overview Diagram dapat memungkinkan analisis interaksi antar objek atau elemen , mengidentifikasi masalah potensial, dan memiliki fungsi sebagai alat komunikasi untuk pemangku kepentingan (stakeholder) non-teknis.

Timing Diagram

  • Timing Diagram adalah jenis diagram UML behavior atau interaction yang berfokus pada proses yang terjadi selama periode time tertentu.
  • Timing Diagram adalah contoh khusus dari sequence diagram, kecuali time ditunjukkan meningkat dari kiri ke kanan, bukan dari atas ke bawah.

Manfaat UML Diagram

Berikut adalah beberapa manfaat membuat UML diagram:
  1. Membantu Pengambilan Keputusan: Dengan membuat UML diagram, tim pengembang dan perancang software dapat menentukan jenis infrastruktur fisik mengenai apa yang dibutuhkan, seperti apakah sistem harus di-hosting di cloud, server fisik, atau di keduanya.
  2. Memudahkan Pengembangan Dan Pemeliharaan: UML diagram juga dapat memudahkan dalam memahami bagaimana komponen dalam software saling berinteraksi, sehingga pengembang dapat lebih mudah memecahkan masalah saat sistem berkembang.
  3. Meminimalisir Resiko Kesalahan: Dengan penggambaran visual yang tepat, tim pengembang dapat menghindari kesalahan dalam penempatan komponen produk atau kesalahan konfigurasi yang dapat menyebabkan downtime.
  4. Memudahkan Pemahaman Fungsi Komponen Atau Elemen: Tiap-tiap komponen dalam diagram memiliki tugas tertentu dalam sistem, pada aspek ini UML diagram dapat membantu memperjelas tanggung jawab masing-masing komponen sehingga lebih mudah memahami peran mereka dalam sistem secara menyeluruh.
  5. Dapat memberikan bahasa pemodelan visual atau gambar kepada para pengguna dari berbagai macam pemrograman maupun proses umum rekayasa.
  6. Menyatukan informasi-informasi terbaik yang ada dalam pemodelan.
  7. Memberikan suatu gambaran model atau sebagai bahasa pemodelan visual yang ekspresif dalam pengembangan sistem.
  8. Tidak hanya menggambarkan model sistem software saja, namun dapat memodelkan sistem lain, seperti sistem berorientasi objek.
  9. Mempermudah pengguna untuk membaca suatu sistem.
  10. Berguna sebagai blueprint, jelas ini nantinya menjelaskan informasi yang lebih detail dalam perancangan berupa coding suatu program.
  11. Panduan Implementasi: UML diagram dapat membantu pengembang saat membangun dan menguji suatu sistem, serta memberikan pedoman dalam representasi sistem pada kode. 
  12. Dukungan Pengujian Integrasi: Memiliki fasilitas pengujian integrasi dengan memvisualisasikan hubungan antar-objek dalam sistem dan memastikan sebuah komponen dapat bekerja secara efektif.
  13. Validasi Kode: Pengembangan dapat menggunakan diagram ini untuk memastikan sebuah konsistensi antara kode dan sebuah desain. 
  14. Ilustrasi Skenario: Diagram objek dapat menggambarkan sebuah skenario atau kasus penggunaan, serta memvisualkan perilaku sistem dalam berbagai keadaan.
  15. Mengelola Kompleksitas: Dengan membagi sistem besar menjadi unit yang lebih kecil, analisis dan desain bisa lebih disederhanakan.
  16. Komunikasi yang Lebih Efektif: UML Diagram ini mempermudah tim untuk memahami komponen mana saja yang terkait dan bagaimana relasi antar paket berlangsung.



technical interview, coding qna, most technology question and answer, concept, managerial theory

Bibliography

https://www.conceptdraw.com/
https://www.dicoding.com/
https://www.lawencon.com/
https://www.smartdraw.com/
https://www.sjsu.edu/ ( university )
https://www.visual-paradigm.com/

Tidak ada komentar:

Posting Komentar