Cara Membaca Timer, Signal, Escalation, dan Conditional Event
Empat jenis event ini melengkapi katalog Reading Grammar untuk trigger yang belum dibahas mendalam di artikel Start/Intermediate Event sebelumnya. Semuanya soal apa yang memicu sesuatu terjadi, di luar Message yang sudah sering dibahas.
Template Reading Grammar
| Jenis | Analoginya di Pemrograman | Template Kalimat |
|---|---|---|
| Timer | cron job / setTimeout() | "Pada {waktu/jadwal}, {kejadian}" |
| Signal | Broadcast event (pub-sub) — bisa didengar banyak penerima sekaligus | "Ketika sinyal '{signal}' diterima/dipancarkan, {kejadian}" |
| Escalation | throw new EscalationException — dinaikkan ke level penanganan lebih tinggi | "{lane} mengeskalasi '{escalation}' ke pihak terkait" |
| Conditional | if (kondisi_terpenuhi) yang terus dipantau (watcher) | "Ketika {kondisi} terpenuhi, {kejadian}" |
Diterapkan ke diagram di atas:
"Pada setiap tanggal 1, proses penagihan dimulai." (Timer) "Ketika sinyal 'Stok Kritis' dipancarkan, gudang menerima peringatan." (Signal) "Petugas mengeskalasi 'SLA Terlampaui' ke Manager." (Escalation) "Ketika saldo kurang dari Rp0, notifikasi overdraft dikirim." (Conditional)
Signal vs Message: Perbedaan yang Sering Tertukar
Message bersifat satu ke satu — satu pengirim, satu penerima spesifik, biasanya lintas Pool. Signal bersifat broadcast — satu pemicu bisa didengar oleh banyak penerima sekaligus, bahkan lintas proses yang berbeda sama sekali (tidak harus dihubungkan Message Flow secara eksplisit).
Kalau Anda membaca event yang tampaknya "didengar" oleh beberapa proses berbeda tanpa garis penghubung yang jelas, kemungkinan besar itu Signal, bukan Message — periksa ikonnya (segitiga untuk Signal, amplop untuk Message).
Escalation: Naik ke Level Penanganan yang Lebih Tinggi
Escalation berbeda dari Error karena tidak selalu berarti "kegagalan" — kadang hanya berarti "keputusan ini di luar wewenang saya, perlu dinaikkan". Baca Escalation sebagai perpindahan tanggung jawab, bukan otomatis sebagai indikasi ada yang salah.
Conditional: Menunggu Kondisi Data, Bukan Waktu atau Pesan
Conditional Event dipicu ketika sebuah kondisi pada data menjadi benar — mirip watcher yang terus memantau nilai tertentu. Bedanya dari Timer: Timer dipicu berdasarkan waktu yang pasti, Conditional dipicu berdasarkan nilai data yang bisa berubah kapan saja.
Lanjut ke Dari Cerita Proses Bisnis ke Diagram BPMN, atau lihat Kamus Reading Grammar BPMN untuk referensi cepat semua template.
Artikel Terkait
Sudah memahami konsep BPMN?
Wujudkan diagram Anda menjadi workflow automation nyata tanpa coding - dengan AlurKerja, platform BPM buatan Indonesia.