Lewati ke konten

F03 — Association

KodeF03
Nama BPMNAssociation
TierA (wajib dikuasai)
DiperkenalkanModul 4
SpesifikasiOMG BPMN 2.0.2 §10.3 TODO-VERIFY

F03 — Association: garis putus-putus dari task ke Text Annotation
Unduh .bpmn

Memuat diagram…

Garis putus-putus (dashed line) tanpa kepala panah — atau dengan kepala panah jika ada arah data. Menghubungkan artefak (Text Annotation atau Data Object) ke elemen alur (task, event, gateway).

Cara membuat di demo.bpmn.io: Seret dari task ke Text Annotation yang sudah ada, atau klik ikon “Create Text Annotation” dari context menu task — connection dibuat otomatis.


Association menyatakan: “Elemen ini secara konseptual terkait dengan artefak ini — tapi hubungan ini bukan aliran proses (bukan Sequence Flow) dan bukan pertukaran data terstruktur (bukan Data Association).”

Association adalah penghubung untuk dokumentasi dan anotasi — bukan untuk kontrol alur.


Menghubungkan Text Annotation ke elemen yang dianotasi. Tanpa Association, Text Annotation hanya mengambang — pembaca tidak tahu elemen mana yang dianotasi.


Association tidak mempengaruhi pergerakan token sama sekali. Ia adalah elemen dokumentasi murni. Token tidak “melewati” Association dan tidak “membawa” data melalui Association.

Berbeda dengan Data Association (F04) yang memiliki semantik data — Association standar adalah penghubung bebas semantik.


Gunakan Association ketika:

  • Menghubungkan Text Annotation ke elemen yang dianotasi.
  • Menghubungkan Data Object ke task (kasus khusus: menjadi Data Association / F04).
  • Menambahkan catatan SLA, constraint, atau konteks pada elemen tertentu.

Jangan gunakan Association untuk menyatakan:

  • Aliran kontrol → gunakan Sequence Flow (F01).
  • Pertukaran pesan antar-Pool → gunakan Message Flow (F02).
  • Hubungan data yang terstruktur → gunakan Data Association (F04).

Dalam Modul 4, Text Annotation “SLA: catat pesanan dalam 30 menit” dihubungkan dengan Association ke task “Catat data pesanan”. Ini menyatakan bahwa SLA tersebut berlaku untuk task itu — tanpa mempengaruhi alur token.


Association menghubungkan Text Annotation SLA ke task
Unduh .bpmn

Memuat diagram…


  1. Temukan garis putus-putus yang tidak memiliki kepala panah runcing (atau memiliki kepala panah terbuka/kecil).
  2. Cari artefak di salah satu ujungnya (Text Annotation atau Data Object).
  3. Artefak tersebut memberikan informasi tambahan tentang elemen di ujung lainnya.

“Association dan Sequence Flow sama — keduanya menghubungkan dua elemen.”

Bukan. Sequence Flow memindahkan token (mengontrol alur eksekusi). Association hanya menyatakan relevansi konseptual — tidak ada eksekusi yang terjadi melalui Association.


Anti-pattern: Menggunakan Association sebagai pengganti Sequence Flow untuk menyembunyikan kompleksitas.

Gejala: dua task dihubungkan dengan Association alih-alih Sequence Flow. Akibatnya proses tidak bisa dieksekusi — mesin proses tidak mengenali Association sebagai jalur kontrol.


ElemenBedanya
Association (F03)Garis putus-putus; tidak ada semantik data atau kontrol
Data Association (F04)Garis putus-putus dengan kepala panah; membawa data ke/dari task
Sequence Flow (F01)Garis solid dengan kepala panah; memindahkan token

  • Menghubungkan Text Annotation → Association.
  • Menghubungkan Data Object ke task → Data Association (F04).
  • Menghubungkan task ke task → Sequence Flow (F01).

  • Apakah hubungan ini memindahkan token? → Sequence Flow.
  • Apakah hubungan ini membawa data terstruktur ke/dari task? → Data Association.
  • Apakah hubungan ini hanya menambahkan konteks/dokumentasi? → Association.

Mengapa SLA tidak cukup ditulis langsung di label task?

Label task harus singkat — nama tindakan, bukan SLA. Memasukkan SLA dalam label membuat diagram padat. Text Annotation + Association memungkinkan konteks tambahan tanpa mengotori label.


  • Association boleh tidak memiliki arah (undirected) atau satu arah.
  • Association tidak boleh menghubungkan dua Flow Object (task ke task) — itu melanggar BPMN; gunakan Sequence Flow.
  • Setidaknya satu ujung Association harus merupakan artefak (Text Annotation atau Data Object).

Association tidak dieksekusi oleh Camunda. Ia murni digunakan untuk dokumentasi diagram dan tidak mempengaruhi runtime.


Association adalah garis putus-putus yang menghubungkan artefak ke elemen alur untuk keperluan dokumentasi, tanpa mempengaruhi eksekusi token.