Membangun Diagram Urutan Penarikan Tunai ATM yang Kuat di PlantUML

A 16:10 hero banner styled graphic featuring a clean, modern illustration. The background is subtle and uses glowing accents, circuit board traces, and digital symbols with blues, greens, and white colors. Vertical columns define main participants like "Card Reader", "ATM Interface", "Bank Server", and "Cash Dispenser" across the top. Arrows with numbered steps (1, 2, 3...) indicate the sequential flow of communication, beginning with a "Customer" actor on the left. Key sections highlight the main decision structures using "alt [PIN Invalid] / [PIN Valid]" and "alt [Insufficient Funds] / [Account Approved]", clearly detailing both successful and alternative paths of interaction. No product logos are included. At the very top center, the main title in clean fonts reads "BUILDING A ROBUST ATM SEQUENCE DIAGRAM" with a subtitle "STEP-BY-STEP PLANTUML GUIDE".

Merancang transaksi keuangan sistemik membutuhkan kejelasan mutlak. Baik Anda merancang mesin perbankan, mendokumentasikan alur kerja warisan, atau melatih tim teknik, sebuah diagram urutan PlantUML adalah salah satu cara paling efektif untuk memvisualisasikan interaksi yang diurutkan menurut waktu antar komponen sistem.

Dalam tutorial ini, saya akan membimbing Anda melalui proses berpikir saya secara tepat untuk membangun sebuah Diagram Urutan Penarikan Tunai ATM dari awal menggunakan PlantUML. Kami akan membahas pengaturan peserta, alur pesan, dan percabangan bersarang kondisional untuk penanganan kesalahan—semuanya menggunakan VPasCode, alat gratis kami alat diagram sebagai kode dan editor online editor PlantUML.

An ATM Sequence Diagram in PlantUML

 


Langkah 1: Menyiapkan Judul dan Penomoran Langkah Otomatis

Saya selalu memulai diagram PlantUML saya dengan menetapkan konfigurasi global yang jelas. Saat memodelkan operasi keuangan seperti penarikan tunai ATM, melacak urutan eksekusi sangat penting bagi pengembang maupun auditor.

Untuk mencapai hal ini, saya mulai dengan @startuml tag, menentukan judul yang deskriptif, dan mengaktifkan autonumberfitur.

@startuml
title Diagram Urutan Penarikan Tunai ATM

autonumber

Mengapa menggunakan autonumber?Tanpa penomoran otomatis, para peninjau harus melacak secara manual garis urutan untuk memahami urutannya. Memaksa penomoran berurutan secara otomatis mengindeks setiap permintaan dan respons, membuat referensi silang selama tinjauan arsitektur menjadi benar-benar mudah.

Langkah 2: Menentukan Aktor dan Peserta Sistem

Berikutnya, saya mengidentifikasi entitas-entitas yang berbeda yang berpartisipasi dalam transaksi ini. Saya ingin memisahkan aktor manusia dari komponen backend dan subsistem perangkat keras.

Alih-alih membiarkan PlantUML mendeklarasikan peserta secara implisit saat pesan digambar, saya mendefinisikannya secara eksplisit di bagian atas. Ini menjamin mereka muncul dalam urutan logis, kiri ke kanan, yang mencerminkan batas arsitektural mereka:

aktor Pelanggan
peserta "Antarmuka ATM" sebagai ATM
peserta "Pembaca Kartu" sebagai Pembaca
peserta "Server Bank" sebagai Bank
peserta "Pengeluar Uang Tunai" sebagai Pengeluar

Alasan Desain:

  • aktor Pelanggan: Mewakili pengguna manusia yang memulai tindakan.
  • peserta ... sebagai Alias: Memberikan alias pendek sepertiATM, Pembaca, dan Bank membuat bagian lain dari skrip tetap bersih dan mudah dibaca tanpa mengulang string tampilan yang panjang.
  • Dengan menempatkanPembaca di antara Pelanggan dan Antarmuka ATM, saya secara akurat mencerminkan urutan fisik masuknya kartu sebelum interaksi antarmuka perangkat lunak.

Langkah 3: Memodelkan Alur Otorisasi Awal

Dengan peserta yang telah dideklarasikan, saya mulai memetakan inisialisasi jalur utama: memasukkan kartu, membaca data, meminta PIN, dan menghubungi server bank pusat.

Pelanggan -> Pembaca: Masukkan Kartu ATM
Pembaca -> ATM: Baca Detail Kartu
ATM -> Pelanggan: Permintaan PIN
Pelanggan -> ATM: Masukkan PIN
ATM -> Bank: Verifikasi Kartu & PIN

Perhatikan bagaimana pesan sinkron menggunakan panah padat (->). Perangkat keras kartu memicu perangkat lunak ATM, yang meminta pengguna, menangkap input, dan meneruskan kredensial otentikasi secara aman ke Bank server.

Langkah 4: Menata Percabangan Otorisasi dengan blok altBlok

Sistem dunia nyata bisa gagal, dan diagram urutan harus secara eksplisit menyampaikan kondisi kesalahan. Setelah ATM meminta verifikasi dari bank, dua hasil dapat terjadi: otorisasi gagal atau berhasil.

Untuk mewakili logika kondisional dalam PlantUML, saya menggunakan alt / else / end blok:

alt PIN Salah
    Bank --> ATM: Otentikasi Gagal
    ATM -> Pelanggan: Tampilkan Pesan "PIN Salah"
    ATM -> Pembaca: Keluarkan Kartu
    Pembaca --> Pelanggan: Kembalikan Kartu
else PIN Benar
    Bank --> ATM: Otentikasi Berhasil
    ATM -> Pelanggan: Permintaan Pemilihan Transaksi & Jumlah
    Pelanggan -> ATM: Pilih "Penarikan" & Masukkan Jumlah
    ATM -> Bank: Permintaan Izin Penarikan (Jumlah)
    ...
end

Teknik Utama yang Digunakan:

  • Panah balik titik-titik (-->) menandakan pesan respons asinkron kembali ke komponen pemanggil.
  • Label blok yang jelas seperti [PIN Salah] dan [PIN Benar] langsung memberi tahu pengembang perangkat lunak bagaimana aliran pengecualian berakhir (misalnya, menampilkan pesan kesalahan, mengeluarkan kartu, dan mengembalikan perangkat keras).

Langkah 5: Menyisipkan Logika untuk Otorisasi Akun dan Pemberian Uang Tunai

Setelah otentikasi diverifikasi, pengguna meminta penarikan. Namun, bank harus memverifikasi saldo akun dan batas harian. Untuk mewakili validasi sekunder ini, saya menyisipkan blok kedua alt blok di dalam PIN Benar cabang.

Jika dana tidak mencukupi, transaksi berakhir dengan aman. Jika disetujui, bank mengurangi saldo akun, memicu pemberi uang tunai, menampilkan uang tunai, mengeluarkan kartu, dan menawarkan struk cetak opsional.

    alt Dana Tidak Cukup / Batas Harian Melebihi
        Bank --> ATM: Transaksi Ditolak
        ATM -> Pelanggan: Tampilkan Pesan Kesalahan
        ATM -> Pembaca: Keluarkan Kartu
        Pembaca --> Pelanggan: Kembalikan Kartu
    else Akun Disetujui
        Bank -> Bank: Kurangi Saldo Akun
        Bank --> ATM: Transaksi Disetujui

        ATM -> Pemberi Uang Tunai: Berikan Uang Tunai
        Pemberi Uang Tunai --> ATM: Uang Tunai Siap
        ATM -> Pelanggan: Tampilkan Uang Tunai
        Pelanggan -> ATM: Ambil Uang Tunai

        ATM -> Pembaca: Keluarkan Kartu
        Pembaca --> Pelanggan: Kembalikan Kartu
        ATM -> Pelanggan: Cetak Struk (Opsional)
    end

Kiat Pro:Perhatikan pemanggilan internal Bank -> Bank: Kurangi Saldo Akun. Panah yang mengarah kembali pada dirinya sendiri di PlantUML sangat ideal untuk menyoroti pembaruan status backend internal yang tidak melibatkan pesan jaringan eksternal.


Skrip PlantUML Lengkap

PlantUML favorit Anda untuk mengedit atau merender grafik vektor:editor PlantUML gratis untuk mengedit atau merender grafik vektor:

@startuml
title Diagram Urutan Penarikan Tunai ATM

autonumber
aktor Pelanggan
partisipan "Antarmuka ATM" sebagai ATM
partisipan "Pembaca Kartu" sebagai Pembaca
partisipan "Server Bank" sebagai Bank
partisipan "Pengeluar Uang Tunai" sebagai Pengeluar

Pelanggan -> Pembaca: Masukkan Kartu ATM
Pembaca -> ATM: Baca Detail Kartu
ATM -> Pelanggan: Permintaan PIN
Pelanggan -> ATM: Masukkan PIN
ATM -> Bank: Verifikasi Kartu & PIN

alt PIN Salah
    Bank --> ATM: Otentikasi Gagal
    ATM -> Pelanggan: Tampilkan Pesan "PIN Salah"
    ATM -> Pembaca: Keluarkan Kartu
    Pembaca --> Pelanggan: Kembalikan Kartu
else PIN Benar
    Bank --> ATM: Otentikasi Berhasil
    ATM -> Pelanggan: Permintaan Pemilihan Transaksi & Jumlah
    Pelanggan -> ATM: Pilih "Penarikan" & Masukkan Jumlah

    ATM -> Bank: Permintaan Otorisasi Penarikan (Jumlah)

    alt Dana Tidak Cukup / Batas Harian Melebihi
        Bank --> ATM: Transaksi Ditolak
        ATM -> Pelanggan: Tampilkan Pesan Kesalahan
        ATM -> Pembaca: Keluarkan Kartu
        Pembaca --> Pelanggan: Kembalikan Kartu
    else Akun Disetujui
        Bank -> Bank: Kurangi Saldo Akun
        Bank --> ATM: Transaksi Disetujui

        ATM -> Pengeluar: Keluarkan Uang Tunai
        Pengeluar --> ATM: Uang Siap
        ATM -> Pelanggan: Tampilkan Uang Tunai
        Pelanggan -> ATM: Ambil Uang Tunai

        ATM -> Pembaca: Keluarkan Kartu
        Pembaca --> Pelanggan: Kembalikan Kartu
        ATM -> Pelanggan: Cetak Kwitansi (Opsional)
    end
end

@enduml

The ATM Sequence Diagram editing in VPasCode PlantUML editor

Mengapa Merender Diagram Urutan Anda dengan VPasCode?

Membuat diagram kompleks menggunakan kode seharusnya tidak memerlukan konfigurasi lingkungan lokal yang membosankan atau kompilasi manual melalui baris perintah.VPasCode oleh Visual Paradigm membawa rendering instan dan bantuan AI yang kuat langsung ke browser Anda:

  • Deteksi Format Otomatis:Tempel skrip PlantUML, Mermaid, Graphviz, atau D2—VPasCode langsung mengenali format DSL dan merender secara real time.
  • Perbaikan Kesalahan Kode AI:Tertahan karena bug sintaks? Klik “Perbaiki oleh AI” untuk melihat perbandingan sampingan yang transparan dan secara otomatis memperbaiki kesalahan sintaks.
  • Terjemahan AI Multi Bahasa:Terjemahkan label dan pesan diagram dengan mudah untuk tim teknis internasional dalam hitungan detik.
  • Ekspor Resolusi Tinggi:Unduh grafik vektor SVG yang bersih dan dapat diskalakan atau gambar PNG resolusi tinggi untuk dokumentasi teknis dan slide presentasi.

Mulai Membuat Diagram sebagai Kode Secara Gratis

Siap mengubah catatan teks Anda menjadi diagram urutan siap publikasi? Coba editor online kami editor PlantUML di VPasCode—100% gratis dengan rendering langsung yang instan.

Mulai Editor Gratis VPasCode →

Scroll to Top