Intermediate Event
Intermediate Event adalah event yang terjadi di antara Start Event dan End Event — di tengah-tengah perjalanan sebuah proses. Berbeda dari Start dan End, Intermediate Event bisa berada di dua posisi: dalam alur (inline) atau menempel pada Activity (boundary).
Halaman ini membahas Intermediate Event yang berada dalam alur (inline). Untuk yang menempel pada Activity, lihat Boundary Event.
Bentuk: Lingkaran dengan dua garis (ganda)
Catching vs. Throwing
Ini adalah konsep paling penting untuk memahami Intermediate Event:
| Aspek | Catching (Menangkap) | Throwing (Melempar) |
|---|---|---|
| Analoginya | Menerima telepon | Menelepon orang lain |
| Perilaku | Proses menunggu sampai sesuatu terjadi | Proses mengirim/memicu sesuatu lalu lanjut |
| Simbol | Ikon tidak terisi (outline) | Ikon terisi penuh |
| Contoh | Menunggu konfirmasi pelanggan | Mengirim notifikasi ke sistem lain |
Cara mudah mengingat: catching = menerima = menunggu, throwing = mengirim = lanjut.
Intermediate Catching Events
Ketika proses mencapai Catching Event, proses berhenti dan menunggu sampai trigger yang ditentukan terjadi, baru kemudian melanjutkan.
Message Catching Event
Simbol: Amplop outline (tidak terisi) dalam lingkaran ganda
Artinya: Proses menunggu sampai pesan tertentu diterima dari peserta lain.
Kapan digunakan:
- Menunggu persetujuan dari atasan yang dikirim melalui sistem berbeda
- Menunggu respons dari API eksternal
- Menunggu konfirmasi dari pihak ketiga (bank, vendor, dll.)
Contoh:
"Proses Pengadaan Barang":
- Sistem ERP mengirim Purchase Order ke vendor (Message Throwing)
- Proses kemudian berhenti di Message Catching Event "Terima Konfirmasi Vendor"
- Setelah vendor mengirim konfirmasi, proses baru bisa melanjutkan ke tahap berikutnya
Kesalahan umum:
Menggunakan Task "Terima Konfirmasi" sebagai pengganti Message Catching Event. Keduanya berbeda: Task adalah pekerjaan yang dikerjakan; Catching Event adalah keadaan menunggu sesuatu yang datang dari luar.
Timer Catching Event
Simbol: Ikon jam outline dalam lingkaran ganda
Artinya: Proses menunggu sampai waktu tertentu tiba — bisa berupa durasi, tanggal spesifik, atau pola berulang.
Tiga tipe timer:
| Tipe | Keterangan | Contoh |
|---|---|---|
| Duration | Tunggu selama durasi tertentu | Tunggu 3 hari kerja |
| Date | Tunggu sampai tanggal/waktu tertentu | Tunggu sampai 31 Desember pukul 23:59 |
| Cycle | Pola berulang (hanya di Boundary, jarang inline) | Setiap Jumat pukul 17:00 |
Contoh:
"Proses Persetujuan Kredit":
- Setelah dokumen dikirim ke analis, proses menunggu di Timer Catching Event "3 Hari Kerja"
- Jika analis belum merespons dalam 3 hari, proses berlanjut ke jalur pengingat otomatis
Perbedaan dengan Boundary Timer Event:
Inline Timer Event menghentikan alur utama sampai timer habis. Boundary Timer Event memicu jalur alternatif tanpa selalu menghentikan aktivitas utama.
Conditional Catching Event
Simbol: Dokumen bergaris outline dalam lingkaran ganda
Artinya: Proses menunggu sampai sebuah kondisi bisnis menjadi benar.
Contoh:
"Proses Pencairan Dana Investasi" menunggu di Conditional Catching Event "Harga Saham ≥ Target" sebelum melanjutkan ke tahap pencairan.
Signal Catching Event
Simbol: Segitiga outline dalam lingkaran ganda
Artinya: Proses menunggu sampai sinyal tertentu diterima. Sinyal bisa dikirim oleh proses lain (Signal Throwing Event) dan bisa diterima oleh banyak proses sekaligus.
Contoh:
Beberapa departemen menunggu sinyal "Anggaran Tahunan Disetujui" sebelum masing-masing memulai proses perencanaan belanja mereka. Satu Signal Throwing Event di proses keuangan memicu semua proses departemen tersebut secara bersamaan.
Link Catching Event
Simbol: Panah ke kanan dalam lingkaran ganda
Artinya: Berfungsi sebagai "penghubung halaman" (connector) — bukan event bisnis yang sesungguhnya, melainkan alat bantu untuk membuat diagram yang tersebar di beberapa halaman tetap terhubung.
Kapan digunakan:
- Diagram yang terlalu panjang dan harus dipotong antar halaman
- Menghindari Sequence Flow yang melintasi panjang diagram
Aturan penting: Setiap Link Catching Event harus memiliki tepat satu Link Throwing Event dengan nama yang sama sebagai pasangannya.
Multiple Catching Event
Simbol: Bintang segi lima outline dalam lingkaran ganda
Artinya: Proses menunggu sampai salah satu dari beberapa trigger yang didefinisikan terpenuhi.
Contoh:
"Proses Eskalasi Tiket" menunggu di Multiple Catching Event yang bisa dipicu oleh: (1) waktu lebih dari 24 jam, (2) pelanggan VIP melakukan follow-up, atau (3) manajer memprioritaskan tiket secara manual.
Parallel Multiple Catching Event
Simbol: Tanda + outline dalam lingkaran ganda
Artinya: Proses menunggu sampai semua trigger yang didefinisikan terpenuhi sebelum melanjutkan.
Contoh:
"Proses Go-Live Sistem" menunggu di Parallel Multiple Catching Event sampai: (1) testing selesai, DAN (2) persetujuan pengguna diperoleh, DAN (3) notifikasi vendor dikirim — semuanya harus terpenuhi.
Intermediate Throwing Events
Ketika proses mencapai Throwing Event, proses mengirimkan/memicu sesuatu lalu langsung melanjutkan — tidak menunggu.
None Throwing Event (Intermediate Event Tanpa Trigger)
Simbol: Lingkaran ganda tanpa simbol di dalamnya
Artinya: Menandai titik penting dalam proses (milestone) tanpa memiliki efek eksekusi. Berguna untuk dokumentasi dan monitoring.
Kapan digunakan:
- Menandai titik "checkpoint" dalam proses
- Memudahkan monitoring di BPMS — sistem bisa mencatat kapan proses mencapai milestone ini
Contoh:
"Proses Proyek" memiliki milestone: "Desain Selesai", "Development Selesai", "Testing Selesai". Masing-masing bisa ditandai dengan None Intermediate Throwing Event.
Message Throwing Event
Simbol: Amplop terisi penuh dalam lingkaran ganda
Artinya: Proses mengirimkan pesan ke peserta lain, kemudian langsung melanjutkan tanpa menunggu respons.
Perbedaan dengan Message Catching:
- Throwing: "Saya kirim, saya lanjut"
- Catching: "Saya tunggu sampai ada pesan masuk"
Contoh:
"Proses Persetujuan Dokumen":
- Reviewer menyetujui dokumen
- Message Throwing Event "Kirim Notifikasi Persetujuan" — notifikasi langsung dikirim ke pemohon
- Proses reviewer langsung melanjutkan ke aktivitas berikutnya (misalnya arsip dokumen)
Signal Throwing Event
Simbol: Segitiga terisi penuh dalam lingkaran ganda
Artinya: Proses menyiarkan sinyal ke semua proses yang mendengarkan, kemudian melanjutkan.
Kapan digunakan:
- Memberitahu banyak proses sekaligus tentang suatu kejadian
- Memulai reaksi berantai di banyak sistem/departemen secara bersamaan
Contoh:
"Proses Penutupan Buku" di akhir bulan menyiarkan sinyal "Buku Akuntansi Ditutup". Semua proses departemen yang menunggu sinyal ini (penggajian, pelaporan, rekonsiliasi) kemudian mulai berjalan secara paralel.
Escalation Throwing Event
Simbol: Tanda seru terisi penuh dalam lingkaran ganda
Artinya: Mengirimkan eskalasi ke proses induk, kemudian proses bisa melanjutkan (berbeda dari Escalation End Event yang mengakhiri proses).
Contoh:
"Sub-Process Layanan Level 1": petugas mengeskalasi masalah ke supervisor dengan Escalation Throwing Event, lalu proses layanan level 1 bisa tetap berjalan untuk mendokumentasikan percakapan sambil menunggu supervisor turun tangan.
Compensation Throwing Event
Simbol: Ikon mundur terisi penuh dalam lingkaran ganda
Artinya: Meminta kompensasi (pembatalan/rollback) terhadap aktivitas tertentu yang sudah selesai.
Contoh:
"Proses Pemesanan Tiket": jika penumpang membatalkan perjalanan, Compensation Throwing Event memicu kompensasi untuk setiap aktivitas sebelumnya — cancel tiket pesawat, cancel hotel, refund pembayaran.
Panduan Memilih: Catching atau Throwing?
Tanyakan pada diri sendiri:
"Pada titik ini dalam proses, apakah kita menunggu sesuatu dari luar, atau mengirimkan sesuatu ke luar?"
- Menunggu → Catching Event (simbol outline/kosong)
- Mengirimkan → Throwing Event (simbol terisi penuh)
Selanjutnya: Boundary Event →