Lewati ke konten utama

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:

AspekCatching (Menangkap)Throwing (Melempar)
AnaloginyaMenerima teleponMenelepon orang lain
PerilakuProses menunggu sampai sesuatu terjadiProses mengirim/memicu sesuatu lalu lanjut
SimbolIkon tidak terisi (outline)Ikon terisi penuh
ContohMenunggu konfirmasi pelangganMengirim 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":

  1. Sistem ERP mengirim Purchase Order ke vendor (Message Throwing)
  2. Proses kemudian berhenti di Message Catching Event "Terima Konfirmasi Vendor"
  3. 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:

TipeKeteranganContoh
DurationTunggu selama durasi tertentuTunggu 3 hari kerja
DateTunggu sampai tanggal/waktu tertentuTunggu sampai 31 Desember pukul 23:59
CyclePola 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.


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":

  1. Reviewer menyetujui dokumen
  2. Message Throwing Event "Kirim Notifikasi Persetujuan" — notifikasi langsung dikirim ke pemohon
  3. 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 →