Panduan Sintaks Diagram Kelas PlantUML

Apa itu Diagram Kelas?

Sebuah UML Diagram Kelasadalah kerangka struktural dasar dari pemodelan berorientasi objek. Ini memetakan sistem perangkat lunak dengan memvisualisasikan kelas-kelasnya, atribut internalnya (bidang data), metode-metodenya (fungsi), dan hubungan struktural di antara mereka. Meskipun basis kode dapat menjadi luas dan sulit diproses, diagram kelas yang bersih memberikan referensi visual langsung bagi insinyur mengenai bagaimana objek kode berinteraksi, mewarisi perilaku, dan mengelola batas data.

Menggunakan VPasCode, Anda dapat merancang tata letak kelas yang rinci sepenuhnya dalam teks biasa, meninggalkan rekayasa tata letak, ukuran kotak, dan jarak baris sepenuhnya kepada mesin cloud terintegrasi kami.

Panduan Sintaks Inti: Elemen dan Konstruksi

Untuk menulis diagram kelas berkualitas tinggi, Anda perlu memahami tiga penanda struktural utama: mendefinisikan tubuh kelas, menetapkan modifer visibilitas pada anggota, dan memetakan hubungan objek.

1. Deklarasi Kelas dan Anggota

Anda mendeklarasikan cetak biru objek standar menggunakan classkata kunci. Di dalam kurung kurawal yang mengikuti, Anda daftarkan bidang dan metode Anda pada baris yang terpisah:

class CustomerAccount {
    String accountId
    String emailAddress
    Boolean isActive()
}

2. Modifer Visibilitas (Kontrol Akses)

PlantUML memetakan aturan enkapsulasi berorientasi objek standar (public, private, protected, dan package-private) menggunakan awalan teks sederhana tepat sebelum nama bidang atau metode:

  • + Akses Publik yang Jelas (Dapat diakses oleh kelas lain apa pun)
  • - Akses Private yang Ketat (Hanya dapat diakses dalam kelas tertentu ini)
  • # Akses Protected (Dapat diakses dalam kelas ini dan turunannya)
  • ~ Akses Paket/Internal (Hanya dapat diakses dalam modul kode lokal)

3. Mendefinisikan Hubungan Objek

Menghubungkan kelas memerlukan notasi panah tertentu untuk menunjukkan ketergantungan struktural atau komposisi kode aplikasi Anda:

  • Pewarisan / Generalisasi (Is-A): Menggunakan kepala panah segitiga terbuka yang mengarah ke kelas induk: SubClass --|> KelasInduk
  • Implementasi / Realisasi: Menggunakan garis putus-putus dengan segitiga terbuka untuk menunjukkan eksekusi antarmuka: KelasKonkret ..|> IAntarmuka
  • Komposisi (Kepemilikan Ketat): Menggunakan berlian padat untuk menunjukkan bahwa objek anak tidak dapat ada tanpa wadah induk: Induk *-- Anak
  • Agregasi (Koleksi Bersama): Menggunakan berlian terbuka untuk menunjukkan hubungan koleksi sementara: Departemen o-- Karyawan

Praktik Terbaik untuk Peta Kelas Praktis

  • Pisahkan Tata Letak dengan Kelas Abstrak: Gunakan kata kunci kelas abstrak atau antarmuka untuk secara visual membedakan batas struktural Anda dari model basis data konkret.
  • Beri Label Multiplisitas Sejak Awal: Selalu tambahkan multiplisitas numerik (seperti "1" atau "0..*") di kedua ujung panah hubungan Anda agar batasan data menjadi jelas bagi pengembang.
  • Kontrol Jarak Vertikal: Diagram kelas dapat tumbuh sangat tinggi. Jika tata letak Anda terlalu panjang secara vertikal, ganti tanda hubung ganda (--) dengan tanda hubung tunggal (-) di dalam panah hubungan Anda untuk memaksa penataan horizontal berdampingan.

Contoh Diagram Kelas PlantUML Dunia Nyata

Contoh 1: Model Domain E-Commerce (Visibilitas & Enkapsulasi)

Rancangan ini menunjukkan modifer akses standar, objek data dasar, dan pemetaan kelipatan data dasar antara entitas utama belanja online.

@startuml
class User {
    - String userId
    - String hashedSecret
    + Boolean verifyLogin(String input)
}

class Order {
    + String orderId
    + Date timestamp
    - Double calculateTotal()
}

User "1" --> "0..*" Order : "tempatkan dan miliki"
@enduml

Analisis Sintaks: The - awalan menjaga bidang sensitif seperti kredensial tetap pribadi secara ketat di dalam blok kelas User kelas, sementara fungsi akses publik menggunakan tanda + penanda. String koneksi secara eksplisit menyoroti bahwa satu pengguna dapat mencari nol atau banyak pesanan secara mulus.

Contoh 2: Gateway Pembayaran Lanjutan (Pewarisan & Antarmuka)

Peta rekayasa perangkat lunak yang komprehensif ini menunjukkan cara mengatur antarmuka, putaran pewarisan kelas, dan komposisi kompleks dalam kerangka kerja yang terpadu.

@startuml
interface IPaymentProcessor {
    + Boolean authorizeAmount(Double cash)
    + void captureFunds()
}

abstract class BaseGateway {
    # String merchantApiKey
    # String endpointUrl
    + void logTransaction(String payload)
}

class StripeGateway {
    - String stripeToken
    + Boolean authorizeAmount(Double cash)
    + void captureFunds()
}

class PayPalGateway {
    - String paypalEmail
    + Boolean authorizeAmount(Double cash)
    + void captureFunds()
}

class ShoppingCart {
    - List items
    + void checkout(IPaymentProcessor engine)
}

' Deklarasi hubungan struktural
BaseGateway ..|> IPaymentProcessor
StripeGateway --|> BaseGateway
PayPalGateway --|> BaseGateway
ShoppingCart *-- IPaymentProcessor
@enduml

Analisis Sintaks: The ..|> notasi menetapkan bahwa kelas abstrak menerapkan antarmuka akar utama kita. Garis segitiga padat (--|>) mengarahkan gateway anak secara bersih ke kelas induk dasar mereka, sementara berlian padat (*--) menyatakan bahwa sebuah KeranjangBelanja secara mendasar memiliki prosesor mesin pembayaran sendiri selama siklus hidup sesi.

Scroll to Top