Diagram state, atau diagram mesin state, merupakan komponen yang kuat dari Bahasa Pemodelan Terpadu (UML) digunakan untuk memodelkan perilaku dinamis sistem. Mereka menggambarkan bagaimana suatu objek atau sistem beralih antara keadaan yang berbeda sebagai respons terhadap peristiwa, menjadikannya ideal untuk sistem reaktif seperti Mesin Penebus Otomatis Bank (ATM). Studi kasus ini mengeksplorasi bagaimana diagram state dapat merepresentasikan perilaku ATM, sistem dunia nyata yang umum dengan keadaan yang jelas dan transisi yang didorong oleh peristiwa. Dengan memeriksa siklus hidup ATM, kita akan menyoroti konsep kunci diagram state, termasuk keadaan, transisi, tindakan, keadaan komposit, dan transisi tanpa pemicu. Studi kasus ini juga menunjukkan bagaimana alat seperti Visual Paradigm dapat mempercepat pembuatan diagram semacam ini.
Berikut adalah diagram mesin state yang dibuat dengan editor pemodelan diagram mesin state Visual Paradigm:

Konsep Kunci Diagram State
Diagram state menangkap perilaku sistem dengan mendefinisikan:
-
Keadaan: Kondisi atau situasi tertentu selama siklus hidup sistem (misalnya, “Tidak Aktif” atau “Melayani Pelanggan”).
-
Transisi: Perpindahan antar keadaan yang dipicu oleh peristiwa (misalnya, penyisipan kartu).
-
Tindakan: Kegiatan yang dilakukan saat memasuki, keluar dari, atau beralih antar keadaan (misalnya, membaca kartu).
-
Keadaan Komposit: Keadaan yang berisi sub-keadaan untuk pemodelan hierarkis (misalnya, “Melayani Pelanggan” dengan sub-keadaan seperti “Autentikasi Pelanggan”).
-
Keadaan Awal dan Akhir: Titik awal dan titik akhir potensial dari perilaku sistem.
-
Transisi Tanpa Pemicu: Transisi otomatis tanpa peristiwa eksplisit (misalnya, beralih dari keadaan uji diri ke keadaan tidak aktif).
Konsep-konsep ini sangat penting untuk memodelkan sistem di mana perilaku bergantung pada keadaan saat ini dan rangsangan eksternal, seperti ATM.
Studi Kasus: Sistem ATM Bank
Gambaran Umum Sistem
ATM Bank memfasilitasi transaksi pelanggan seperti penarikan tunai, setoran, dan pengecekan saldo. Perilakunya didorong oleh peristiwa, dengan keadaan yang berbeda yang berubah berdasarkan tindakan pengguna (misalnya, menyisipkan kartu, memasukkan PIN) atau kondisi sistem (misalnya, lulus uji diri). Diagram state merupakan alat yang efektif untuk memodelkan perilaku ini karena secara jelas mendefinisikan keadaan, transisi, dan tindakan ATM, memastikan representasi yang terstruktur untuk desain, implementasi, dan pemeliharaan.
Keadaan dan Deskripsi
ATM beroperasi dalam keadaan-keadaan berikut:
-
Dimatikan
-
Deskripsi: ATM dimatikan dan tidak dapat berinteraksi dengan pengguna. Ini adalah status awal sebelum sistem diaktifkan.
-
Karakteristik Kunci: Tidak ada operasi yang dapat dilakukan hingga ATM dinyalakan.
-
-
Uji Diri
-
Deskripsi: Saat dinyalakan, ATM memasuki status ini untuk melakukan uji diagnostik, memeriksa komponen seperti pembaca kartu, keypad, dan penarik uang tunai.
-
Hasil:
-
Lulus: ATM beralih ke status “Tunggu”.
-
Gagal: ATM beralih ke status “Tidak Beroperasi”.
-
-
Karakteristik Kunci: Status ini memastikan ATM berfungsi sebelum melayani pelanggan.
-
-
Tidak Beroperasi
-
Deskripsi: Dimasuki jika uji diri gagal atau terjadi kesalahan kritis (misalnya, kerusakan penarik uang tunai). ATM tidak berfungsi dan memerlukan perawatan.
-
Karakteristik Kunci: Berfungsi sebagai status akhir hingga diperbaiki atau diatur ulang.
-
-
Tunggu
-
Deskripsi: ATM menyala, berfungsi, dan menunggu pelanggan untuk memulai transaksi dengan memasukkan kartu perbankan atau kartu kredit.
-
Karakteristik Kunci: Status tunggu utama untuk interaksi pelanggan.
-
-
Melayani Pelanggan
-
Deskripsi: Status komposit yang dimasuki saat pelanggan memasukkan kartu. Ini mencakup semua interaksi pelanggan, mulai dari otentikasi hingga penyelesaian transaksi.
-
Aksi Masuk: bacaKartu (ATM membaca detail kartu).
-
Aksi Keluar: keluarkanKartu (ATM melepaskan kartu).
-
Sub-status:
-
Autentikasi Pelanggan
-
ATM meminta pelanggan memasukkan PIN dan memvalidasinya.
-
Jika PIN salah, ATM dapat mengizinkan percobaan ulang (misalnya, hingga tiga kali percobaan) sebelum mengeluarkan kartu.
-
-
Memilih Transaksi
-
Pelanggan memilih jenis transaksi (misalnya, penarikan, setoran, pengecekan saldo).
-
-
Transaksi
-
ATM memproses transaksi yang dipilih (misalnya, memberikan uang tunai, menerima setoran, menampilkan saldo).
-
Setelah selesai, ATM kembali ke status “Idle”.
-
-
-
Transisi
ATM berpindah antar status berdasarkan peristiwa atau kondisi. Transisi utama adalah:
|
Transisi |
Dari Status |
Ke Status |
Pemicu |
Aksi |
|---|---|---|---|---|
|
Hidupkan |
Dimatikan |
Uji Diri |
ATM dihidupkan |
Lakukan startup (inisialisasi perangkat keras) |
|
Uji Diri Berhasil |
Uji Diri |
Idle |
Tidak ada (tanpa pemicu) |
Tidak ada |
|
Gagal Uji Diri |
Uji Diri |
Tidak dalam Layanan |
Uji gagal |
Tidak ada |
|
Masukkan Kartu |
Diam |
Melayani Pelanggan |
Pelanggan memasukkan kartu |
bacaKartu |
|
Autentikasi Berhasil |
Autentikasi Pelanggan |
Memilih Transaksi |
PIN yang valid dimasukkan |
Tidak ada |
|
Gagal Autentikasi (setelah percobaan) |
Autentikasi Pelanggan |
Diam |
PIN tidak valid (melebihi percobaan) |
keluarkanKartu |
|
Transaksi Dipilih |
Memilih Transaksi |
Transaksi |
Pelanggan memilih transaksi |
Tidak ada |
|
Transaksi Selesai |
Transaksi |
Diam |
Transaksi selesai |
keluarkanKartu |
|
Batal |
Setiap sub-state dalam Melayani Pelanggan |
Idle |
Pelanggan membatalkan |
keluarkanKartu |
Konsep Kunci yang Digambarkan
Diagram status ini menunjukkan beberapa konsep inti dari diagram status:
-
Status: Perilaku ATM dibagi menjadi status yang berbeda (misalnya, Mati, Idle, Melayani Pelanggan), masing-masing mewakili kondisi tertentu.
-
Transisi: Kejadian seperti penyisipan kartu atau validasi PIN memicu perubahan status, dengan jelas mendefinisikan alur sistem.
-
Aksi: Aksi masuk (misalnya, bacaKartu) dan aksi keluar (misalnya, keluarkanKartu) menentukan aktivitas selama perubahan status.
-
Status Komposit: Status ‘Melayani Pelanggan’ berisi sub-status (Autentikasi Pelanggan, Memilih Transaksi, Transaksi), memungkinkan pemodelan hierarkis.
-
Status Awal dan Akhir: ‘Matikan’ adalah status awal, sementara ‘Tidak Berfungsi’ berfungsi sebagai status akhir hingga pemeliharaan dilakukan.
-
Transisi Tanpa Pemicu: Transisi dari ‘Uji Diri’ ke ‘Idle’ terjadi secara otomatis jika uji lulus, tanpa kejadian eksplisit.
Mengapa Menggunakan Diagram Status untuk ATM?
Diagram status sangat ideal untuk memodelkan ATM karena:
-
Status Terbatas: ATM memiliki kumpulan status yang jelas (misalnya, Idle, Melayani Pelanggan) yang mendefinisikan perilakunya.
-
Perilaku Berbasis Kejadian: Transisi dipicu oleh tindakan pengguna (misalnya, penyisipan kartu, entry PIN) atau kondisi sistem (misalnya, hasil pengujian diri).
-
Struktur Hierarkis: State komposit seperti “Melayani Pelanggan” memungkinkan pemodelan rinci interaksi yang kompleks.
-
Kejelasan bagi Pemangku Kepentingan: Diagram ini menyediakan representasi visual yang dapat dengan mudah dipahami oleh pengembang, desainer, dan pemangku kepentingan, membantu dalam desain dan pemeliharaan sistem.
Menggunakan Visual Paradigm untuk Pembuatan Diagram State
Visual Paradigm adalah alat pemodelan UML yang kuat yang menyederhanakan pembuatan diagram state. Fitur-fiturnya meliputi:
-
Antarmuka Seret dan Letakkan: Mudah menambahkan state, transisi, dan tindakan.
-
Alat Simulasi: Uji transisi state untuk memvalidasi logika diagram.
-
Templat: Gunakan templat yang sudah dibuat sebelumnya untuk sistem seperti ATM untuk mempercepat pemodelan.
-
Generasi Kode: Hasilkan kerangka kode (misalnya, Java, C++) dari diagram.
-
Kolaborasi: Pengeditan tim secara real-time dan komentar untuk proyek kolaboratif.
Untuk membuat diagram state ATM di Visual Paradigm:
-
Buka Visual Paradigm dan pilihDiagram > Baru > Diagram Mesin State.
-
Tambahkan state (misalnya, Mati, Pengujian Diri, Idle) menggunakan editor seret dan letakkan.
-
Gambar transisi dengan pemicu yang sesuai (misalnya, “Hidupkan”, “Penyisipan Kartu”).
-
Tentukan tindakan (misalnya, bacaKartu, keluarkanKartu) untuk masuk, keluar, atau transisi.
-
Gunakan simulasi untuk menguji alur dan memastikan akurasi.
Kesimpulan
Diagram status ATM Bank secara efektif menggambarkan bagaimana diagram status UML dapat memodelkan perilaku sistem dunia nyata. Dengan mendefinisikan status yang jelas, transisi yang didorong peristiwa, dan tindakan, diagram ini memberikan representasi terstruktur dari operasi ATM. Pendekatan ini meningkatkan pemahaman, memfasilitasi desain sistem, dan mendukung implementasi serta pemeliharaan. Alat seperti Visual Paradigm memudahkan pembuatan, pengujian, dan berbagi diagram semacam ini, memastikan akurasi dan kolaborasi dalam pengembangan sistem.