[!NOTE] Untuk panduan lengkap BPMN 2.0, baca: Panduan Lengkap BPMN 2.0 Indonesia.
Flow — Aliran
Flow adalah elemen yang menghubungkan elemen-elemen lain dalam diagram BPMN. Tanpa Flow, diagram hanyalah kumpulan simbol yang tidak terhubung. Flow mendefinisikan urutan, arah, dan jenis komunikasi antar elemen.
BPMN memiliki tiga jenis Flow, masing-masing dengan tujuan yang berbeda dan aturan penggunaan yang ketat.
1. Sequence Flow
Tampilan: Panah solid dengan kepala panah terisi (→)
Warna: Biasanya hitam
Fungsi: Mendefinisikan urutan eksekusi aktivitas di dalam satu Pool. Sequence Flow menjawab pertanyaan: "Setelah ini, apa yang dilakukan selanjutnya?"
Aturan Sequence Flow
- Hanya bisa menghubungkan elemen di dalam Pool yang sama
- Tidak bisa melewati batas Pool
- Setiap Activity (kecuali End Event) harus memiliki Sequence Flow keluar
- Setiap Activity (kecuali Start Event) harus memiliki Sequence Flow masuk
Jenis Sequence Flow
Normal Flow
Panah biasa tanpa kondisi — selalu dieksekusi.
Conditional Flow
Panah dengan tanda berlian kecil di pangkalnya. Dieksekusi hanya jika kondisi terpenuhi. Digunakan keluar dari Activity (bukan dari Gateway).
Default Flow
Panah dengan tanda garis miring kecil di pangkalnya. Dieksekusi jika tidak ada kondisi lain yang terpenuhi. Harus selalu ada pada Exclusive dan Inclusive Gateway.
Kesalahan Umum
- Sequence Flow antar Pool: tidak valid. Gunakan Message Flow untuk komunikasi antar Pool.
- Task tanpa Sequence Flow keluar: diagram tidak lengkap (kecuali End Event).
- Kondisi di Sequence Flow tanpa Gateway: lebih baik gunakan Exclusive Gateway daripada conditional flow langsung dari Activity.
2. Message Flow
Tampilan: Panah putus-putus dengan lingkaran kecil di pangkal dan kepala panah terbuka (○- - - →)
Warna: Biasanya hitam atau abu-abu
Fungsi: Merepresentasikan komunikasi (pengiriman pesan) antara dua Pool yang berbeda. Message Flow menjawab: "Informasi apa yang dikirimkan dari peserta A ke peserta B?"
Aturan Message Flow
- Hanya bisa menghubungkan elemen di Pool yang berbeda
- Tidak bisa berada di dalam satu Pool yang sama
- Biasanya menghubungkan: Task/Event di Pool A → Task/Event di Pool B
Yang Bisa Dihubungkan dengan Message Flow
| Dari | Ke |
|---|---|
| Pool (sebagai pengirim) | Pool (sebagai penerima) |
| Send Task / Message Throwing Event | Receive Task / Message Start Event / Message Catching Event |
Memberi Nama pada Message Flow
Selalu beri nama pada Message Flow untuk menjelaskan isi pesan. Tanpa nama, orang yang membaca diagram tidak tahu pesan apa yang dikirim.
Format nama yang baik: Gunakan nama dokumen atau data yang dikirim:
- ✅ "Formulir Permohonan Kredit"
- ✅ "Konfirmasi Pembayaran"
- ✅ "Notifikasi Penolakan"
- ❌ "Data" (terlalu umum)
- ❌ "Pesan" (tidak informatif)
Perbedaan Mendasar: Sequence Flow vs. Message Flow
| Aspek | Sequence Flow | Message Flow |
|---|---|---|
| Tampilan | Panah solid → | Panah putus-putus ○→ |
| Arah komunikasi | Internal (dalam Pool) | Eksternal (antar Pool) |
| Maknanya | "Lanjut ke langkah berikutnya" | "Kirim informasi ke peserta lain" |
| Bisa melewati Pool? | ❌ | ✅ (hanya antar Pool) |
3. Association
Tampilan: Garis titik-titik (···) tanpa kepala panah, atau dengan kepala panah untuk menunjukkan arah
Warna: Biasanya abu-abu
Fungsi: Menghubungkan Artifact (Data Object, Annotation, Group) ke elemen Flow lainnya. Association tidak mempengaruhi alur eksekusi — ini murni informasi tambahan.
Tiga Jenis Association
| Jenis | Simbol | Artinya |
|---|---|---|
| Undirected Association | ··· | Hubungan tanpa arah spesifik |
| Directed Association | ···→ | Data/informasi mengalir ke arah tertentu |
| Bidirectional Association | ←···→ | Data mengalir dua arah |
Kapan Menggunakan Association
-
Menghubungkan Data Object ke Task
Menunjukkan bahwa Task menggunakan atau menghasilkan data/dokumen tertentu. -
Menghubungkan Text Annotation ke elemen
Menambahkan penjelasan teks pada elemen tertentu. -
Menghubungkan Compensation Task
Compensation Boundary Event dihubungkan ke Compensation Task menggunakan Association (bukan Sequence Flow).
Panduan Cepat: Flow Mana yang Harus Dipakai?
| Situasi | Flow yang Tepat |
|---|---|
| Menghubungkan dua Task dalam proses yang sama | Sequence Flow |
| Menghubungkan Task ke Gateway | Sequence Flow |
| Bank mengirim dokumen ke nasabah | Message Flow |
| Sistem A memulai proses di Sistem B | Message Flow + Message Start Event |
| Menambahkan catatan pada sebuah Task | Association + Text Annotation |
| Menunjukkan dokumen yang digunakan Task | Association + Data Object |
| Menghubungkan Compensation | Association |
Selanjutnya: Artifact →
[!NOTE] Untuk panduan lengkap BPMN 2.0, baca: Panduan Lengkap BPMN 2.0 Indonesia.
[!TIP] Seri Cara Membaca BPMN: Pelajari kesalahan #1 pemula dalam membaca flow di Cara Membaca Sequence Flow vs Message Flow.
Artikel Terkait
Sudah memahami konsep BPMN?
Wujudkan diagram Anda menjadi workflow automation nyata tanpa coding - dengan AlurKerja, platform BPM buatan Indonesia.