Panduan Sintaks Diagram Objek PlantUML

Apa itu Diagram Objek?

Sebuah Diagram Objek adalah struktur diagram UMLyang berfungsi sebagai gambaran konkret dan real-time dari keadaan aplikasi Anda. Sementara diagram kelas menggambarkan rancangan abstrak, tipe data, dan aturan struktural dari suatu sistem, diagram objek memvisualisasikan instans eksekusi yang sedang berjalan pada titik waktu tertentu. Diagram ini memodelkan instansiasi objek yang sebenarnya, menampilkan nilai-nilai tepat yang ditetapkan pada bidangnya, serta menyoroti keterhubungan khusus yang ada antar instans tersebut selama runtime.

Jenis diagram UML ini jenis diagram UML sangat berharga untuk melakukan debugging struktur data yang kompleks, menjelaskan keadaan hubungan bersarang yang tinggi (seperti grafik pohon induk-anak), atau memverifikasi bahwa pola desain rekayasa berperilaku sesuai harapan di bawah variabel kasus tepi tertentu. Dengan VPasCode, Anda dapat membuat skrip hubungan objek secara bersih, menghindari alat gambar kotak manual sepenuhnya.

Panduan Sintaks Inti: Elemen dan Konstruksi

Untuk merancang diagram objek UML yang akurat dan sesuai standar di PlantUML, Anda perlu memahami instansiasi objek, penugasan nilai bidang, dan pemetaan tautan instans.

1. Membuat Instans Objek (Nama vs. Jenis Kelas)

Objek dideklarasikan menggunakan kata kunci objectkata kunci. Berdasarkan konvensi pemodelan UML standar, Anda mendefinisikan objek dengan menyediakan nama instans uniknya, diikuti tanda titik dua, dan jenis tipe kerangka kerja kelas induknya:

Kiat Pro: Selalu gunakan kata kunci sebagaikata kunci untuk memetakan deklarasi nama instans yang panjang ke ID singkat internal (seperti activeUser) agar menggambar garis keterhubungan menjadi cepat dan bersih.

2. Menetapkan Status Bidang dan Nilai Saat Berjalan

Untuk mengisi objek Anda dengan nilai data uji, buka blok tubuh menggunakan kurung kurawal belakang dan tulis alokasi nilai kunci-data Anda pada baris yang terpisah. Berbeda dengan definisi kelas, jangan tambahkan tipe data di sini—gunakan nilai operasional yang sebenarnya:

objek "adminCart : ShoppingCart" sebagai cart1 {
    cartId = "CART-9081"
    jumlahItem = 3
    isTaxExempt = false
}

3. Pemetaan Keterhubungan Instans

Koneksi antara instans konkret dalam diagram objek mewakili penunjuk memori dunia nyata, bukan pola struktural abstrak. Anda memetakan tautan ini menggunakan garis putus-putus ganda (“--). Anda juga dapat menambahkan label string untuk menunjukkan konteks fungsional dari tautan:

Praktik Terbaik untuk Peta Objek Praktis

  • Fokus pada yang Penting: Jangan daftarkan setiap bidang dari definisi kelas. Hanya sertakan nilai variabel kunci yang secara langsung menjelaskan keadaan runtime tertentu atau bug yang ingin Anda tunjukkan.
  • Jaga Tautan Tetap Netral: Hindari menggunakan segitiga warisan atau berlian komposisi ketat pada diagram objek. Gunakan garis hubungan sederhana dan datar (--) atau ujung panah dasar (-->) untuk menunjukkan referensi.
  • Ratakan Iterasi Secara Horizontal: Jika Anda memetakan daftar array atau urutan objek historis, gunakan panah navigasi horizontal seperti -kanan-> untuk memaksa instans tampil bersih dalam satu baris.

Contoh Diagram Objek PlantUML Dunia Nyata

Contoh 1: Status Sesi Token Identitas (Pemetaan Nilai Konkret)

Contoh ini memetakan status otorisasi keamanan yang sedang berjalan, menunjukkan bagaimana satu pengguna yang telah diautentikasi terhubung ke beberapa instans sesi mesin aktif yang spesifik dengan variabel data yang berbeda.

@startuml
object "targetUser : UserAccount" as user {
    userId = 1042
    username = "dev_admin"
    status = "ACTIVE"
}

object "sessionMobile : UserSession" as session1 {
    sessionId = "SESS-AAA-99"
    deviceOS = "iOS 17"
    ipAddress = "192.168.1.54"
}

object "sessionDesktop : UserSession" as session2 {
    sessionId = "SESS-BBB-11"
    deviceOS = "macOS 14"
    ipAddress = "72.44.12.102"
}

' Membangun koneksi runtime
user -- session1 : "terautentikasi pada"
user -- session2 : "terautentikasi pada"
@enduml

Analisis Sintaks: Tata letak ini menangkap skenario pasti dalam kode produksi: satu catatan pengguna tertentu (ID 1042) yang menggerakkan dua instans sesi runtime yang benar-benar terpisah secara bersamaan. Setiap kontainer sesi melacak parameter tata letak metadata terisolasi miliknya sendiri.

Contoh 2: Status Pemenuhan Faktur E-Commerce (Peta Multi-Entitas)

Rancangan sistem canggih ini memetakan grafik transaksi keuangan yang telah selesai. Ini menggambarkan secara tepat bagaimana catatan pesanan, log transaksi, dan paket gudang saling berkaitan satu sama lain pada titik waktu tertentu.

@startuml
object "buyerProfile : Customer" as customer {
    email = "[email protected]"
    tier = "VIP"
}

object "activeOrder : Order" as order {
    orderNumber = "#99122"
    subtotal = 149.99
    currency = "USD"
}

object "stripeTransaction : LedgerEntry" as ledger {
    referenceId = "ch_3Mv8x"
    gatewayStatus = "SUCCESS"
    settledAt = "2026-05-26"
}

object "packageA : Shipment" as ship1 {
    trackingCode = "1Z999AA1"
    carrier = "UPS"
    weightKg = 1.4
}

object "packageB : Shipment" as ship2 {
    trackingCode = "1Z999AA2"
    carrier = "UPS"
    weightKg = 0.8
}

' Tautan eksekusi struktural
customer -- order : "dikirim"
order -- ledger : "didanai oleh"
order -- ship1 : "dipenuhi melalui"
order -- ship2 : "dipenuhi melalui"
@enduml

Analisis Sintaks:Templat ini memberikan gambaran yang sangat terstruktur mengenai keadaan sistem yang kompleks. Ini menunjukkan satu pesanan yang terhubung ke log transaksi checkout yang berhasil, dan dibagi menjadi dua berkas pengiriman fisik yang berbeda. Tingkat detail ini menjadikannya gambaran yang sangat baik untuk mengaudit struktur data dan proses sistem.

Scroll to Top