Pendahuluan
Diagram state UML (Unified Modeling Language) adalah alat yang kuat untuk memodelkan perilaku dinamis sistem, menangkap bagaimana sistem berpindah antar status sebagai respons terhadap peristiwa. Alat ini banyak digunakan dalam rekayasa perangkat lunak untuk merancang dan menganalisis sistem dengan perilaku kompleks, seperti sistem tertanam, antarmuka pengguna, dan proses bisnis. Studi kasus ini berfokus pada diagram state UML untuk sistem kontrol suhu, yang kemungkinan digunakan dalam termostat atau sistem HVAC, untuk menggambarkan konsep-konsep utama UML. Studi ini juga memberikan panduan langkah demi langkah dalam membuat diagram semacam itu menggunakan Visual Paradigm, alat pemodelan UML terkemuka. Untuk memperjelas pemahaman, contoh tambahan seperti mesin penjual otomatis dan sistem lampu lalu lintas disertakan untuk menunjukkan keragaman kemampuan diagram state.
Deskripsi Sistem Kontrol Suhu
Sistem kontrol suhu mempertahankan suhu yang diinginkan dengan beralih antara mode pemanasan dan pendinginan berdasarkan kondisi lingkungan. Perilaku sistem dimodelkan sebagai berikut:
- Status:
- Idle: Sistem tidak aktif, menunggu perubahan suhu.
- Pendinginan: Sistem secara aktif mendinginkan lingkungan ketika suhu melebihi tingkat yang diinginkan.
- Pemanasan: Status komposit yang mengelola proses pemanasan, berisi:
- Pengaktifan: Sistem pemanas diinisialisasi.
- Aktif: Sistem pemanas secara aktif mempertahankan suhu.
- Status Akhir: Melambangkan penghentian sistem, yang mungkin dapat dicapai dari Idle.
- Transisi:
- Dari Status Awal ke Idle: Sistem dimulai dalam status Idle (tidak ada peristiwa yang ditentukan).
- Dari Idle ke Pendinginan: Dipicu oleh tooHot(desiredTemp), di mana desiredTemp adalah suhu target.
- Dari Pendinginan ke Idle: Dipicu oleh atTemp, menunjukkan suhu berada pada tingkat yang diinginkan.
- Dari Idle ke Heating.Activating: Dipicu oleh tooCold(desiredTemp).
- Dari Heating.Activating ke Heating.Active: Dipicu oleh ready / turnOn, dengan turnOn sebagai tindakan.
- Dari Heating.Active ke Idle: Dipicu oleh atTemp.
- Dari Idle ke Status Akhir: Tidak dijelaskan secara eksplisit tetapi tersirat sebagai kondisi penghentian.
- Peristiwa:
- terlalu panas(desiredTemp): Suhu melebihi tingkat yang diinginkan.
- terlalu dingin(desiredTemp): Suhu turun di bawah tingkat yang diinginkan.
- suhuTertentu: Suhu mencapai tingkat yang diinginkan.
- siap: Sistem pemanas siap untuk dioperasikan.
- Tindakan:
- nyalakan: Dilakukan selama transisi dari Mengaktifkan ke Aktif, mengaktifkan mekanisme pemanas.
Diagram ini secara efektif menangkap siklus hidup sistem, menunjukkan bagaimana sistem merespons perubahan suhu dan mengelola proses pemanasan dan pendinginan.

Konsep Kunci dari Diagram State UML
Diagram state UML merupakan bagian dari standar UML untuk memodelkan perilaku sistem. Mereka sangat berguna untuk sistem yang didorong peristiwa, di mana perubahan status dipicu oleh peristiwa tertentu. Berikut adalah konsep-konsep utama, diilustrasikan dengan contoh dari sistem kontrol suhu dan didukung oleh contoh tambahan:
- Status:
- Suatu status mewakili kondisi atau situasi selama siklus hidup sistem, di mana sistem melakukan aktivitas tertentu atau menunggu peristiwa.
- Contoh (Kontrol Suhu): Status Idle menunjukkan sistem tidak aktif, sementara Cooling dan Heating mewakili pengaturan suhu yang aktif.
- Contoh (Mesin Penjual Otomatis): Mesin penjual otomatis mungkin memiliki status seperti Idle (menunggu masukan pengguna), Selecting (pengguna memilih produk), dan Dispensing (mengantarkan produk).
- Contoh (Lampu Lalu Lintas): Status mencakup Merah (berhenti), Hijau (jalan), dan Kuning (hati-hati).
- Transisi:
- Transisi adalah panah arah yang menunjukkan perubahan status yang dipicu oleh peristiwa, sering kali dengan tindakan terkait atau kondisi penjaga.
- Contoh (Kontrol Suhu): Transisi dari Idle ke Cooling dipicu oleh terlaluPanas(desiredTemp), menunjukkan suhu tinggi.
- Contoh (Mesin Penjual Otomatis): Transisi dari Selecting ke Dispensing terjadi ketika pengguna mengonfirmasi pilihannya (selectItem).
- Contoh (Lampu Lalu Lintas): Transisi dari Hijau ke Kuning dipicu oleh peristiwa timer (timerExpired).
- Peristiwa:
- Peristiwa adalah rangsangan yang memicu transisi, seperti tindakan pengguna, sinyal sistem, atau pemicu berbasis waktu.
- Contoh (Kontrol Suhu): Peristiwa atTemp memicu kembali ke Idle dari Cooling atau Heating.
- Contoh (Mesin Penjual Otomatis): Peristiwa insertCoin memicu transisi dari Idle ke Selecting.
- Contoh (Lampu Lalu Lintas): Peristiwa timerExpired memicu transisi siklus antara Merah, Hijau, dan Kuning.
- Tindakan:
- Tindakan adalah kegiatan yang dilakukan selama transisi, masuk ke status, atau keluar dari status.
- Contoh (Kontrol Suhu): Tindakan turnOn dieksekusi saat melakukan transisi dari Heating.Activating ke Heating.Active.
- Contoh (Mesin Penjual Otomatis): Tindakan dispenseItem terjadi saat melakukan transisi ke status Dispensing.
- Contoh (Lampu Lalu Lintas): Tindakan updateSignal mungkin memperbarui tampilan lampu selama transisi.
- Status Awal dan Akhir:
- Status awal (lingkaran pejal) menandai titik awal sistem, sedangkan status akhir (lingkaran dengan lingkaran konsentris) menunjukkan terminasi.
- Contoh (Kontrol Suhu): Status awal mengarah ke Idle, dan status akhir dapat dicapai dari Idle, mungkin saat sistem dimatikan.
- Contoh (Mesin Penjual Otomatis): Status awal mengarah ke Idle, dan status akhir mungkin mewakili shutdown sistem.
- Contoh (Lampu Lalu Lintas): Status akhir bisa mewakili kegagalan sistem atau mode perawatan.
- Status Komposit:
- Status komposit berisi substatus bersarang, memungkinkan pemodelan hierarkis perilaku kompleks.
- Contoh (Kontrol Suhu): Status Heating adalah komposit, berisi substatus Activating dan Active.
- Contoh (Mesin Penjual Otomatis): Status Pembayaran mungkin bersifat komposit, dengan substatus seperti Pemrosesan Kartu dan Pemrosesan Uang Tunai.
- Contoh (Lampu Lalu Lintas): Status komposit seperti ModeDarurat bisa mencakup substatus untuk lampu berkedip atau kontrol manual.
- Kondisi Pengaman:
- Kondisi pengaman adalah ekspresi boolean yang harus benar agar transisi dapat terjadi.
- Contoh (Kontrol Suhu): Kondisi pengaman seperti [suhu > suhuYangDiinginkan + ambang] dapat memastikan transisi terlaluPanas hanya terjadi ketika suhu jauh melampaui target.
- Contoh (Mesin Penjual Otomatis): Kondisi pengaman [pembayaranCukup] memastikan transisi ke Pengeluaran hanya terjadi jika uang yang dimasukkan cukup.
- Contoh (Lampu Lalu Lintas): Kondisi pengaman [sinyalDaruratDiterima] mungkin memicu transisi ke status darurat.
Konsep-konsep ini, yang berakar pada standar UML, memungkinkan pemodelan presisi perilaku sistem, seperti yang terlihat pada sistem kontrol suhu dan contoh lainnya.
Menggunakan Visual Paradigm untuk Membuat Diagram UML
Visual Paradigm adalah alat pemodelan UML yang kuat yang menyederhanakan pembuatan diagram status dan artefak UML lainnya. Alat ini menawarkan antarmuka yang intuitif, fungsi seret dan lepas, serta fitur seperti pemeriksaan sintaksis dan kolaborasi tim. Berikut adalah panduan langkah demi langkah untuk membuat diagram status seperti pada sistem kontrol suhu:
- Instalasi dan Pengaturan:
- Unduh Visual Paradigm dari situs resminya atau gunakan Visual Paradigm Online untuk pembuatan diagram berbasis cloud.
- Buat proyek baru dengan memilih “Proyek Baru” di dalam aplikasi.
- Buat Diagram Status:
- Di penjelajah proyek, klik kanan dan pilih “Tambah Diagram” > “Diagram Mesin Status” untuk membuka kanvas kosong.
- Tambahkan Status:
- Gunakan alat “Status” untuk menyeret dan menjatuhkan status ke kanvas, beri nama “Tidak Aktif,” “Mendingin,” dan “Pemanas.”
- Untuk status komposit seperti Pemanas, buat sebuah status dan tambahkan substatus (Mengaktifkan, Aktif) di dalamnya menggunakan fitur sub-diagram atau dengan menggambar status bersarang.
- Tambahkan Transisi:
- Gunakan alat “Transisi” untuk menghubungkan status dengan mengklik dan menyeret dari status sumber ke status tujuan.
- Beri label pada transisi dengan peristiwa dan tindakan, misalnya [tooHot(desiredTemp)] atau ready / turnOn.
- Tambahkan State Awal dan Akhir:
- Gunakan alat “State Awal” untuk menambahkan lingkaran padat dan menghubungkannya ke Idle.
- Gunakan alat “State Akhir” untuk menambahkan lingkaran dengan lingkaran konsentris, menghubungkannya dari Idle jika diperlukan.
- Beri label pada Peristiwa dan Tindakan:
- Klik dua kali pada transisi untuk menentukan peristiwa (misalnya tooCold(desiredTemp)) dan tindakan (misalnya turnOn).
- Sertakan kondisi penjaga jika berlaku, misalnya [temperature > desiredTemp + threshold].
- Verifikasi dan Sempurnakan:
- Gunakan pemeriksaan sintaks Visual Paradigm untuk memastikan kepatuhan terhadap UML.
- Sesuaikan tata letak menggunakan alat penyelarasan untuk kejelasan dan kemudahan pembacaan.
- Hasilkan Dokumentasi dan Bagikan:
- Ekspor diagram sebagai PNG, JPG, SVG, atau PDF untuk dibagikan.
- Gunakan fitur “Doc. Composer” untuk menghasilkan dokumentasi yang rinci.
- Dengan Visual Paradigm Online, kolaborasi secara real-time dengan anggota tim.
Fitur Visual Paradigm:
- Katalog Sumber Daya: Gunakan kembali elemen di berbagai diagram untuk menjaga konsistensi.
- Sub-Diagram: Kelola state komposit yang kompleks seperti Heating.
- Rekayasa Kode: Hasilkan atau lakukan rekayasa balik kode dari diagram.
- Kolaborasi Tim: Mendukung pengeditan bersamaan dan penyimpanan di cloud.
Contoh Alur Kerja untuk Sistem Kontrol Suhu:
- Mulai dengan status awal yang terhubung ke Idle.
- Tambahkan status Cooling dan Heating, dengan Heating berisi substatus Activating dan Active.
- Buat transisi: Idle ke Cooling (tooHot(desiredTemp)), Cooling ke Idle (atTemp), Idle ke Heating.Activating (tooCold(desiredTemp)), Activating ke Active (ready / turnOn), dan Active ke Idle (atTemp).
- Tambahkan status akhir dari Idle.
- Periksa sintaks dan ekspor diagramnya.
Contoh Tambahan
Untuk memperdalam pemahaman, berikut dua contoh diagram status UML tambahan:
- Mesin Penjual Otomatis:
- Status:
- Idle: Menunggu masukan pengguna.
- Memilih: Pengguna memilih produk.
- Pembayaran: Pengguna melakukan pembayaran.
- Pengeluaran: Produk dikeluarkan.
- Mengembalikan Kembalian: Kembalian dikembalikan.
- Transisi:
- Idle → Memilih: Dipicu oleh insertCoin.
- Memilih → Pembayaran: Dipicu oleh selectItem.
- Pembayaran → Pengeluaran: Dipicu oleh paymentConfirmed dengan penjaga [paymentSufficient].
- Pengeluaran → Mengembalikan Kembalian: Dipicu oleh itemDispensed dengan tindakan dispenseChange.
- Mengembalikan Kembalian → Idle: Dipicu oleh changeReturned.
- Kasus Penggunaan: Diagram ini memodelkan proses transaksi mesin penjual otomatis, memastikan semua langkah (penyisipan koin, pemilihan, pembayaran, pengeluaran) didefinisikan dengan jelas.
- Sistem Lampu Lalu Lintas:
- Status:
- Merah: Kendaraan berhenti.
- Hijau: Kendaraan melaju.
- Kuning: Kendaraan bersiap berhenti.
- Transisi:
- Merah → Hijau: Dipicu oleh timerExpired [durasi = 30s].
- Hijau → Kuning: Dipicu oleh timerExpired [durasi = 30s].
- Kuning → Merah: Dipicu oleh timerExpired [durasi = 5s].
- Kasus Penggunaan: Diagram siklik ini memodelkan perilaku lampu lalu lintas yang dapat diprediksi, berguna untuk sistem manajemen lalu lintas.
- Sistem Pemrosesan Pesanan:
- Status:
- Ditempatkan: Pesanan diajukan oleh pelanggan.
- Diproses: Pesanan menjalani pengecekan pembayaran dan stok.
- Dikirim: Pesanan dikirim.
- Diterima: Pesanan sampai ke pelanggan.
- Dibatalkan: Pesanan dibatalkan.
- Transisi:
- Ditempatkan → Diproses: Dipicu oleh orderVerified dengan penjaga [paymentValid && inventoryAvailable].
- Diproses → Dikirim: Dipicu oleh orderPacked dengan tindakan notifyCustomer.
- Dikirim → Diterima: Dipicu oleh deliveryConfirmed.
- Ditempatkan → Dibatalkan: Dipicu oleh customerCancel.
- Diproses → Dibatalkan: Dipicu oleh paymentFailed atau inventoryUnavailable.
- Kasus Penggunaan: Diagram ini memodelkan siklus hidup pesanan e-commerce, menyoroti titik-titik keputusan penting seperti validasi pembayaran.
Contoh-contoh ini menunjukkan keragaman diagram state UML di berbagai bidang, mulai dari elektronika konsumen hingga proses bisnis dan sistem infrastruktur.
Kesimpulan
Diagram state UML sangat berharga untuk memodelkan perilaku dinamis sistem, memberikan representasi visual yang jelas mengenai status, transisi, dan peristiwa. Contoh sistem kontrol suhu menunjukkan bagaimana diagram ini menangkap perilaku kompleks, seperti status hierarkis dan transisi yang didorong oleh peristiwa. Contoh tambahan, seperti mesin penjual otomatis, lampu lalu lintas, dan sistem pemrosesan pesanan, menunjukkan penerapannya di berbagai skenario. Visual Paradigm memperkaya proses pembuatan dengan antarmuka yang ramah pengguna, pemeriksaan sintaks, dan fitur kolaborasi, menjadikannya alat yang sangat baik bagi desainer pemula maupun berpengalaman. Dengan memanfaatkan diagram state UML dan alat seperti Visual Paradigm, pengembang dapat merancang sistem yang kuat dan dapat dipelihara, serta berkomunikasi desain secara efektif kepada pemangku kepentingan.
Kutipan Kunci: