Lewati ke konten

E01 — None Start Event / None End Event

KodeE01
Nama BPMNNone Start Event / None End Event
TierA (wajib dikuasai)
DiperkenalkanModul 1
SpesifikasiOMG BPMN 2.0.2 §10.4.1 (Start Event), §10.4.5 (End Event) TODO-VERIFY

E01 — None Start Event (lingkaran tipis kiri) dan None End Event (lingkaran tebal kanan)
Unduh .bpmn

Memuat diagram…

None Start Event — lingkaran tipis di paling kiri, tanpa ikon di dalamnya.

None End Event — lingkaran tebal/dobel di paling kanan, tanpa ikon di dalamnya.

Cara membuat di demo.bpmn.io: Seret “Start Event” atau “End Event” dari palet kiri. Keduanya muncul sebagai None secara default.


None Start Event menyatakan: “Proses ini dimulai, dan kita tidak perlu menentukan apa pemicunya.”

None End Event menyatakan: “Proses ini selesai, dan kita tidak perlu menentukan apa yang terjadi setelah ini.”

Kata “None” berarti tidak ada event trigger yang dinyatakan — bukan berarti tidak ada penyebab, tapi penyebabnya tidak relevan untuk model ini.


None Start Event dan None End Event adalah antarmuka proses dengan dunia luar pada tingkat paling abstrak. Setiap proses BPMN yang berdiri sendiri (non-event sub-process) harus memiliki setidaknya satu start event dan satu end event.


Pergerakan token:

  • Saat proses diinstansiasi, satu token lahir di Start Event dan bergerak ke outgoing Sequence Flow pertama.
  • Saat token tiba di End Event, token dimusnahkan. Jika semua token dalam proses sudah dimusnahkan, proses dianggap selesai.

[PEDAGOGICAL SIMPLIFICATION] Penjelasan di atas berlaku untuk proses dengan satu Start Event dan alur linear. Proses dengan multiple Start Event atau dengan Sub-Process memiliki perilaku token yang lebih kompleks — lihat OMG BPMN 2.0.2 §10.1 untuk semantik lengkap.


  • Ketika pemicu proses tidak relevan untuk audiens diagram (misal: diagram proses internal yang akan selalu dijalankan manual).
  • Sebagai titik masuk proses pada tahap analisis awal, sebelum jenis trigger ditentukan.
  • Ketika proses hanya memiliki satu cara berakhir dan tidak ada aksi khusus yang terjadi saat selesai.

  • Jika proses dimulai oleh pesan dari pihak luar → gunakan Message Start Event (E02).
  • Jika proses dimulai pada waktu tertentu → gunakan Timer Start Event (E03).
  • Jika akhir proses menghasilkan pesan ke pihak lain → gunakan Message End Event (E02).
  • Jika akhir proses harus menghentikan semua token lain → gunakan Terminate End Event (E11).

Proses pesanan linear — Start Event “Pesanan diterima” memulai alur, End Event “Pesanan terkirim” menutupnya:

Contoh: None Start Event memulai proses, None End Event mengakhirinya
Unduh .bpmn

Memuat diagram…

Perhatikan bahwa nama Start Event menyatakan kondisi yang sudah terjadi (“Pesanan diterima”), bukan imperatif. Nama End Event menyatakan keadaan akhir (“Pesanan terkirim”), bukan aksi.


Model lengkap Modul 1 dengan None Start Event dan None End Event:

Kasus 1 — proses pesanan sederhana dengan E01
Unduh .bpmn

Memuat diagram…


Ketika melihat lingkaran tipis tanpa ikon, tanya: “Apa yang terjadi di dunia nyata yang memicu proses ini dimulai?” Jawabannya ada di nama event-nya.

Ketika melihat lingkaran tebal tanpa ikon, tanya: “Dalam keadaan apa proses ini selesai?” Nama event harus menjawab itu.


“Start Event adalah tombol ‘mulai’”

Salah. Start Event bukan tombol yang ditekan seseorang — ia adalah kondisi atau kejadian yang membuat proses diinstansiasi. Dalam model eksekusi, “seseorang menekan tombol” bisa direpresentasikan sebagai trigger, tapi yang dicatat dalam diagram adalah apa yang terjadi, bukan siapa yang menekan apa.

“End Event berarti semua pekerjaan berhenti”

Salah. None End Event hanya memusnahkan token yang tiba di sana. Jika ada token lain yang masih berjalan di proses (misalnya di jalur paralel), mereka tidak terganggu. Untuk menghentikan semua token sekaligus, gunakan Terminate End Event.


Memberi nama “Mulai” atau “Selesai”

Nama seperti “Mulai”, “Start”, “Selesai”, atau “End” tidak menambah informasi. Nama yang baik adalah: kondisi/pemicu yang terjadi untuk Start Event, dan keadaan akhir untuk End Event.

Proses tanpa End Event

BPMN mengizinkan alur yang “menggantung” (tanpa End Event), tapi ini mempersulit pembaca memahami kapan proses dianggap selesai. Selalu gunakan End Event.


Tertukar denganPerbedaan kunci
Message Start Event (E02)Message Start menunggu pesan masuk; None Start langsung aktif saat proses diinstansiasi
Timer Start Event (E03)Timer Start menunggu waktu atau jadwal tertentu
Message End Event (E02)Message End mengirim pesan saat selesai; None End hanya memusnahkan token
Terminate End Event (E11)Terminate End memusnahkan semua token dalam proses; None End hanya token yang tiba di sana

Jika proses dimulai tanpa trigger yang perlu dinyatakan → None Start Event
Jika proses dimulai oleh pesan → Message Start Event
Jika proses dimulai pada waktu tertentu → Timer Start Event
Jika proses berakhir tanpa aksi khusus → None End Event
Jika proses berakhir dengan mengirim pesan → Message End Event
Jika proses berakhir dan semua jalur lain harus dihentikan → Terminate End Event

Sebelum memilih None Start/End Event, tanya:

  1. Apakah ada sesuatu yang harus terjadi untuk memicu proses ini? (Jika ya → pertimbangkan event bertipe lain)
  2. Apakah akhir proses ini menghasilkan sesuatu untuk pihak lain? (Jika ya → pertimbangkan Message End Event)
  3. Apakah ada jalur paralel yang harus berhenti ketika proses berakhir? (Jika ya → pertimbangkan Terminate End Event)

“Mengapa modul ini menggunakan None Start Event padahal proses jelas dimulai oleh pesanan dari customer?”

Di Modul 1, perspektif diagram adalah proses internal Merchant. Customer belum muncul sebagai partisipan. Dari perspektif itu, “pesanan diterima” adalah kondisi awal — model tidak perlu menyatakan bagaimana kondisi itu terbentuk. None Start Event tepat di sini.

Di Modul 3, ketika Customer dimasukkan sebagai Pool terpisah, proses Merchant diubah ke Message Start Event karena sekarang model menyatakan bahwa trigger-nya adalah pesan dari Pool Customer — dan itu informasi yang relevan untuk audiens diagram.


Model yang menggunakan E01 harus memenuhi:

  • Setiap non-event sub-process memiliki tepat satu Start Event yang dapat dicapai dari titik masuk.
  • Setiap jalur berakhir di sebuah End Event (atau di intermediate event yang valid).
  • Nama Start Event menyatakan kondisi/pemicu (bukan “Mulai”).
  • Nama End Event menyatakan keadaan akhir (bukan “Selesai”).

Di Camunda 7 dan 8, None Start Event dapat digunakan sebagai titik masuk untuk proses yang di-deploy. Pada Camunda 7, None Start Event mendukung formKey untuk menampilkan form saat proses diinstansiasi. Pada Camunda 8 Modeler, None Start Event adalah default dan paling sering digunakan dalam Deployment.


None Start Event melahirkan token dan None End Event memusnahkannya — keduanya adalah batas semantik proses yang tidak menyatakan trigger atau aksi eksternal apa pun.