End Event
End Event menandai titik di mana sebuah proses atau jalur proses berakhir. End Event memberi tahu apa yang terjadi ketika proses selesai — apakah selesai normal, mengirim pesan, atau berakhir dengan error.
Bentuk: Lingkaran dengan garis tebal
Aturan: Hanya boleh memiliki Sequence Flow masuk, tidak boleh ada Sequence Flow keluar
:::tip Satu proses, banyak akhir Sebuah proses bisa memiliki lebih dari satu End Event. Ini normal dan sering mencerminkan kenyataan: proses pengajuan kredit bisa berakhir dengan "Kredit Disetujui" atau "Kredit Ditolak" — keduanya adalah End Event yang berbeda. :::
None End Event
Simbol: Lingkaran tebal tanpa simbol di dalamnya
Artinya: Jalur proses ini berakhir tanpa menghasilkan dampak atau sinyal apapun. Proses selesai secara "diam-diam".
Kapan digunakan:
- Akhir dari jalur alternatif yang tidak membutuhkan aksi khusus
- Sub-process yang selesai dan mengembalikan kontrol ke proses induk
- Ketika hasil akhir proses sudah jelas dari konteks
Contoh:
"Proses Registrasi Pengguna" berakhir setelah akun berhasil dibuat dan email konfirmasi dikirim. None End Event digunakan karena tidak ada tindakan lebih lanjut yang perlu dimodelkan.
Kesalahan umum:
Menggunakan None End Event padahal proses seharusnya mengirim pemberitahuan ke pihak lain (seharusnya Message End Event) atau menghentikan seluruh proses termasuk jalur lain yang masih berjalan (seharusnya Terminate End Event).
Message End Event
Simbol: Amplop terisi di dalam lingkaran tebal
Artinya: Ketika proses mencapai titik ini, sebuah pesan dikirimkan ke peserta lain sebelum proses berakhir.
Kapan digunakan:
- Proses yang perlu memberitahu pihak lain saat selesai
- Memulai proses di organisasi/sistem lain sebagai hasil dari proses yang berakhir
Contoh:
- "Proses Persetujuan Pinjaman" — berakhir dengan Message End Event yang mengirimkan pemberitahuan "Pinjaman Disetujui" kepada sistem pencairan dana
- "Proses Pemesanan" — berakhir dengan mengirim konfirmasi pesanan ke pelanggan
- "Proses Rekrutmen" — berakhir dengan mengirim surat penawaran kerja ke kandidat yang diterima
Hubungan dengan Message Start Event:
Message End Event di satu proses biasanya berpasangan dengan Message Start Event di proses penerima. Nama pesan harus konsisten di kedua sisi.
Terminate End Event
Simbol: Lingkaran terisi penuh di dalam lingkaran tebal
Artinya: Segera menghentikan seluruh proses — termasuk semua jalur yang sedang berjalan secara paralel. Ini adalah "stop darurat" dalam BPMN.
Kapan digunakan:
- Proses yang harus berhenti total ketika kondisi tertentu terjadi
- Biasanya pada skenario di mana melanjutkan proses tidak lagi masuk akal
- Ketika ada jalur paralel yang harus dihentikan sekaligus
Contoh:
"Proses Pengajuan Tender" memiliki beberapa jalur yang berjalan paralel: verifikasi teknis, verifikasi keuangan, dan verifikasi hukum. Jika verifikasi hukum menemukan bahwa perusahaan masuk daftar hitam, Terminate End Event menghentikan semua jalur sekaligus — tidak perlu menunggu verifikasi lain selesai.
Perbedaan dengan None End Event:
| Aspek | None End Event | Terminate End Event |
|---|---|---|
| Yang dihentikan | Hanya jalur saat ini | Seluruh proses (semua jalur) |
| Dampak pada jalur paralel | Tidak ada | Semua dihentikan |
| Kapan digunakan | Akhir normal | Penghentian darurat |
Error End Event
Simbol: Petir di dalam lingkaran tebal
Artinya: Proses berakhir dalam kondisi error atau exception. Error ini kemudian bisa ditangkap oleh Error Boundary Event di proses induk atau Error Start Event di Event Sub-Process.
Kapan digunakan:
- Sub-process yang menemui kondisi tidak terduga dan tidak bisa melanjutkan
- Untuk propagasi error ke tingkat proses yang lebih tinggi
- Menandai bahwa proses berakhir dalam kondisi tidak normal
Contoh:
"Sub-Process Verifikasi Data" menemukan bahwa data yang diberikan tidak valid dan tidak bisa diperbaiki. Error End Event melempar error "Data Tidak Valid" yang kemudian ditangkap oleh proses induk untuk diproses lebih lanjut.
Penting: Error End Event tidak berarti proses gagal total. Ini hanya cara proses berkomunikasi bahwa ada kondisi abnormal yang perlu ditangani oleh pemanggil (caller).
Signal End Event
Simbol: Segitiga terisi di dalam lingkaran tebal
Artinya: Ketika proses berakhir di titik ini, sebuah sinyal disiarkan ke semua proses yang sedang mendengarkan sinyal tersebut.
Perbedaan dengan Message End Event:
- Message: ditujukan ke penerima spesifik (1-ke-1)
- Signal: disiarkan ke semua penerima yang berlangganan (1-ke-banyak)
Contoh:
"Proses Penutupan Sistem" — ketika sistem mulai shutdown, Signal End Event menyiarkan sinyal "Sistem Akan Mati". Semua proses lain yang memiliki Signal Intermediate Event yang mendengarkan sinyal ini (misalnya proses backup, proses log, proses notifikasi user) akan bereaksi secara bersamaan.
Escalation End Event
Simbol: Tanda seru di dalam lingkaran tebal
Artinya: Memulai eskalasi ke tingkat yang lebih tinggi. Biasanya digunakan di dalam sub-process untuk memberi tahu proses induk bahwa ada situasi yang membutuhkan perhatian.
Kapan digunakan:
- Situasi yang membutuhkan intervensi dari level manajemen yang lebih tinggi
- Berbeda dari Error: eskalasi tidak berarti ada kesalahan, hanya butuh perhatian lebih
Contoh:
"Sub-Process Penanganan Komplain Level 1" — jika petugas layanan tidak bisa menyelesaikan komplain dalam batas waktu, Escalation End Event mengeskalasi ke supervisor (level 2) tanpa menghentikan proses sepenuhnya.
Perbedaan Error vs Escalation:
| Aspek | Error End Event | Escalation End Event |
|---|---|---|
| Maknanya | Terjadi kesalahan/exception | Butuh perhatian lebih tinggi |
| Proses berlanjut? | Tidak | Bisa dilanjutkan di proses induk |
| Contoh | "Data tidak valid" | "Antrean menumpuk, butuh tambahan staf" |
Compensation End Event
Simbol: Ikon mundur (rewind) di dalam lingkaran tebal
Artinya: Memicu proses kompensasi — membatalkan atau mengurungkan aktivitas-aktivitas yang sudah dilakukan sebelumnya. Digunakan dalam konteks transaksi bisnis (business transaction).
Kapan digunakan:
- Proses yang melibatkan transaksi yang bisa dibatalkan
- Ketika beberapa langkah harus "diurungkan" jika proses gagal di tengah jalan
Contoh:
"Proses Pemesanan Paket Wisata" sudah memesan tiket pesawat dan hotel. Jika pembayaran akhir gagal, Compensation End Event memicu pembatalan tiket pesawat dan hotel yang sudah dipesan.
Cancel End Event
Simbol: X di dalam lingkaran tebal
Artinya: Khusus digunakan di dalam Sub-Process Transaksi untuk membatalkan transaksi yang sedang berjalan dan memicu kompensasi.
Batasan: Hanya valid di dalam Transaction Sub-Process. Ini adalah elemen yang sangat spesifik.
Contoh:
Dalam "Transaction Sub-Process Pemindahan Dana", jika salah satu bank tidak bisa menerima dana, Cancel End Event membatalkan seluruh transaksi dan memicu pengembalian dana ke rekening sumber.
Multiple End Event
Simbol: Bintang segi lima terisi di dalam lingkaran tebal
Artinya: Ketika proses berakhir di titik ini, semua hasil yang didefinisikan akan dieksekusi — misalnya mengirim pesan sekaligus melempar sinyal.
Kapan digunakan:
Jarang digunakan dalam praktik. Biasanya lebih jelas untuk menggunakan beberapa End Event terpisah yang dihubungkan dari Parallel Gateway.
Ringkasan Perbandingan
| End Event | Dampak Saat Terjadi | Frekuensi Penggunaan |
|---|---|---|
| None | Tidak ada dampak tambahan | ⭐⭐⭐⭐⭐ Sangat umum |
| Message | Mengirim pesan ke pihak lain | ⭐⭐⭐⭐⭐ Sangat umum |
| Terminate | Menghentikan seluruh proses | ⭐⭐⭐⭐ Umum |
| Error | Melempar kondisi error ke atas | ⭐⭐⭐ Cukup umum |
| Signal | Menyiarkan sinyal ke semua pendengar | ⭐⭐⭐ Cukup umum |
| Escalation | Mengeskalasi ke level lebih tinggi | ⭐⭐ Jarang |
| Compensation | Memicu rollback transaksi | ⭐⭐ Jarang |
| Cancel | Membatalkan transaksi (hanya di Transaction) | ⭐ Sangat jarang |
| Multiple | Beberapa hasil sekaligus | ⭐ Sangat jarang |
Selanjutnya: Intermediate Event →