Dadang Kriswanto

Business Analyst

System Analyst

Project Manager

Tech Enthusiast

0

No products in the cart.

Dadang Kriswanto
Dadang Kriswanto
Dadang Kriswanto
Dadang Kriswanto
Dadang Kriswanto
Dadang Kriswanto
Dadang Kriswanto
Dadang Kriswanto
Dadang Kriswanto
Dadang Kriswanto

Business Analyst

System Analyst

Project Manager

Tech Enthusiast

Blog Post

UML Diagram: Panduan Lengkap untuk System Analyst

February 22, 2026 System Analysis, Uncategorized
UML Diagram — bahasa visual standar untuk memodelkan sistem perangkat lunak

Pendahuluan

UML (Unified Modeling Language) adalah bahasa visual standar untuk memodelkan, merancang, dan mendokumentasikan sistem perangkat lunak. Bagi seorang System Analyst, UML bukan sekadar gambar — ini adalah alat komunikasi utama antara tim bisnis, developer, dan stakeholder.

Artikel ini membahas jenis-jenis UML diagram, kapan menggunakannya, dan contoh praktis yang bisa langsung diterapkan.

Kategori UML Diagram

UML diagram terbagi menjadi dua kategori besar:

1. Structural Diagram (Statis)

Menggambarkan struktur sistem — apa saja komponen dan relasinya.

  • Class Diagram — Struktur class, atribut, method, dan relasi antar class
  • Object Diagram — Instance spesifik dari class pada suatu waktu
  • Component Diagram — Arsitektur komponen sistem dan dependensinya
  • Deployment Diagram — Infrastruktur fisik dan distribusi komponen
  • Package Diagram — Organisasi dan grouping elemen sistem

2. Behavioral Diagram (Dinamis)

Menggambarkan perilaku sistem — bagaimana sistem bekerja dari waktu ke waktu.

  • Use Case Diagram — Interaksi aktor dengan sistem
  • Sequence Diagram — Urutan pesan antar objek dalam satu skenario
  • Activity Diagram — Alur proses bisnis atau logic
  • State Machine Diagram — Perubahan state suatu objek
  • Communication Diagram — Interaksi antar objek dengan fokus pada relasi

Kapan Menggunakan Diagram Tertentu?

Contoh: Use Case Diagram (E-Commerce)

Use Case Diagram memetakan siapa melakukan apa terhadap sistem:

flowchart LR
    Customer(["👤 Customer"])
    Admin(["👤 Admin"])
    System["🛒 E-Commerce System"]

    Customer -->|"Browse Produk"| System
    Customer -->|"Tambah ke Keranjang"| System
    Customer -->|"Checkout & Bayar"| System
    Customer -->|"Lihat Status Order"| System

    Admin -->|"Kelola Produk"| System
    Admin -->|"Kelola Order"| System
    Admin -->|"Lihat Laporan"| System

Contoh: Class Diagram (Order Management)

Class Diagram menunjukkan struktur data dan relasi antar entitas:

classDiagram
    class User {
        +int id
        +String name
        +String email
        +String role
        +login()
        +register()
    }

    class Order {
        +int orderId
        +Date orderDate
        +String status
        +float totalAmount
        +createOrder()
        +cancelOrder()
    }

    class OrderItem {
        +int itemId
        +int quantity
        +float unitPrice
        +getSubtotal()
    }

    class Product {
        +int productId
        +String name
        +float price
        +int stock
        +updateStock()
    }

    class Payment {
        +int paymentId
        +String method
        +float amount
        +String status
        +processPayment()
        +refund()
    }

    User "1" --> "*" Order : places
    Order "1" --> "*" OrderItem : contains
    OrderItem "*" --> "1" Product : references
    Order "1" --> "1" Payment : has

Contoh: Sequence Diagram (Checkout Flow)

Sequence Diagram menunjukkan urutan interaksi antar komponen saat checkout:

sequenceDiagram
    participant U as User
    participant FE as Frontend
    participant API as API Server
    participant DB as Database
    participant PG as Payment Gateway

    U->>FE: Klik "Checkout"
    FE->>API: POST /api/orders
    API->>DB: Validate stock & create order
    DB-->>API: Order created (orderId: 456)
    API-->>FE: Order summary + payment URL

    FE->>U: Tampilkan halaman pembayaran
    U->>FE: Pilih metode & konfirmasi
    FE->>API: POST /api/payments
    API->>PG: Create payment request
    PG-->>API: Payment token
    API-->>FE: Redirect to payment page

    PG->>API: Webhook: payment success
    API->>DB: UPDATE order status = "paid"
    DB-->>API: Updated
    API->>FE: Push notification: order confirmed
    FE->>U: Tampilkan konfirmasi order

Contoh: Activity Diagram (Order Processing)

Activity Diagram memetakan alur proses bisnis dari awal hingga akhir:

flowchart TD
    Start(["Order Masuk"]) --> Validate{"Validasi Stock"}
    Validate -->|Stock tersedia| Process["Proses Order"]
    Validate -->|Stock habis| Notify["Notifikasi: Out of Stock"]
    Notify --> Cancel["Cancel Order"]
    Cancel --> End(["Selesai"])

    Process --> Payment{"Pembayaran"}
    Payment -->|Berhasil| Packing["Packing & Shipping"]
    Payment -->|Gagal / Timeout| Retry{"Retry?"}
    Retry -->|Ya| Payment
    Retry -->|Tidak| Cancel

    Packing --> Deliver["Dalam Pengiriman"]
    Deliver --> Received{"Diterima?"}
    Received -->|Ya| Complete["Order Complete"]
    Received -->|Tidak / Retur| Return["Proses Retur"]
    Return --> End
    Complete --> End

    style Complete fill:#4CAF50,color:#fff
    style Cancel fill:#F44336,color:#fff

Contoh: State Machine Diagram (Order Status)

State Machine Diagram menggambarkan lifecycle sebuah order:

stateDiagram-v2
    [*] --> Pending : Order dibuat
    Pending --> Confirmed : Pembayaran berhasil
    Pending --> Cancelled : Timeout / user cancel
    Confirmed --> Processing : Admin proses
    Processing --> Shipped : Barang dikirim
    Shipped --> Delivered : Sampai tujuan
    Delivered --> Completed : User konfirmasi
    Delivered --> Returned : User ajukan retur
    Returned --> Refunded : Retur disetujui
    Cancelled --> [*]
    Completed --> [*]
    Refunded --> [*]

Decision Tree: Memilih UML Diagram

flowchart TD
    Start(["Apa yang ingin dimodelkan?"]) --> Q1{"Struktur atau Perilaku?"}

    Q1 -->|Struktur| Q2{"Level detail?"}
    Q2 -->|"Data & relasi entitas"| A1["Class Diagram"]
    Q2 -->|"Arsitektur komponen"| A2["Component Diagram"]
    Q2 -->|"Infrastruktur deploy"| A3["Deployment Diagram"]

    Q1 -->|Perilaku| Q3{"Fokus pada?"}
    Q3 -->|"Siapa melakukan apa"| B1["Use Case Diagram"]
    Q3 -->|"Urutan interaksi detail"| B2["Sequence Diagram"]
    Q3 -->|"Alur proses / workflow"| B3["Activity Diagram"]
    Q3 -->|"Lifecycle satu objek"| B4["State Machine Diagram"]

    style A1 fill:#2196F3,color:#fff
    style A2 fill:#2196F3,color:#fff
    style A3 fill:#2196F3,color:#fff
    style B1 fill:#E040FB,color:#fff
    style B2 fill:#E040FB,color:#fff
    style B3 fill:#E040FB,color:#fff
    style B4 fill:#E040FB,color:#fff

Tips UML untuk System Analyst

Array
Prinsip utama: UML diagram bukan tujuan, melainkan alat komunikasi. Gunakan diagram yang paling efektif menyampaikan informasi ke audiens target. Tidak perlu membuat semua jenis diagram — pilih yang relevan dengan fase proyek dan kebutuhan tim.
  • Fase requirement → Mulai dari Use Case + Activity Diagram
  • Fase design → Tambahkan Class + Sequence Diagram
  • Fase handoff → Lengkapi dengan Component/Deployment jika diperlukan
  • Gunakan tools seperti Mermaid, draw.io, atau PlantUML untuk mempercepat pembuatan
  • Iterasi — Diagram akan berubah seiring pemahaman bertambah, jangan tunggu sempurna

Kesimpulan

UML Diagram adalah skill fundamental bagi System Analyst. Memahami kapan dan bagaimana menggunakan setiap jenis diagram mempercepat komunikasi, mengurangi miskomunikasi, dan menghasilkan dokumentasi sistem yang terstruktur.

Kunci utamanya: pilih diagram yang tepat untuk konteks yang tepat, bukan menggunakan semua diagram sekaligus.


Ditulis oleh Dadang Kriswanto — System Analyst & Blogger di dadang.kriswanto.my.id

test test

Tags:
Write a comment