SINTAKS BPMN : SUB PROCESS

Subprocess dalam BPMN adalah bentuk pemodelan yang memungkinkan pengelompokan tugas-tugas yang lebih kecil dan terkait dalam suatu proses menjadi satu unit yang lebih besar. Subprocess juga memungkinkan tugas-tugas yang terkait dengan proses yang sama, dapat dilakukan dengan cara yang berbeda atau di dalam ruang lingkup yang lebih terbatas.

Dalam BPMN, sebuah Subprocess diwakili oleh sebuah bentuk persegi panjang dengan sudut-sudut yang membulat, dan biasanya memiliki deskripsi atau label yang menjelaskan tugas yang diperlukan di dalamnya. Subprocess dapat dibagi menjadi dua jenis, yaitu Embedded Subprocess dan Independent Subprocess.

  • Embedded Subprocess: adalah Subprocess yang terletak di dalam proses utama dan tergantung pada aktivitas utama. Embedded Subprocess dapat menerima aliran masukan atau keluaran dari aktivitas utama atau dari Subprocess lain di dalamnya.
  • Independent Subprocess: adalah Subprocess yang independen dari aktivitas utama dan tidak tergantung pada aktivitas di luar Subprocess. Independent Subprocess memiliki input dan output yang terpisah dari aktivitas utama.

Contoh penggunaan Subprocess adalah dalam proses bisnis pemesanan makanan di restoran. Subprocess dapat digunakan untuk menggabungkan tugas-tugas seperti memesan makanan, memproses pembayaran, dan pengiriman makanan menjadi satu unit yang lebih besar, yang memungkinkan restoran untuk memonitor keseluruhan proses secara lebih efisien.

Subprocess sangat berguna dalam pemodelan proses bisnis yang kompleks dan terstruktur, di mana beberapa tugas dan aktivitas terkait perlu dikelompokkan bersama dalam satu unit yang terkoordinasi dan mudah dipahami. Subprocess memungkinkan pemodelan proses bisnis yang lebih rapi dan terorganisir, serta mempermudah pemahaman dan pelacakan proses bisnis secara keseluruhan.

Embedded subprocess

Embedded Sub Process adalah aktivitas yang terdiri dari aktivitas, gateway, event, dll yang membentuk sebuah proses sebagai bagian dari proses yang lebih besar. Subprocess didefinisikan di dalam sebuah parent process.

Subprocesses memiliki dua kegunaan yaitu: 

  • Memodelkan hirarki proses.
  • Membuat sebuah scope dari event.

Pemodelan subprocess adalah dengan menggunakan kotak yang diberi label Subprocess seperti contoh di bawah ini.

Call Activity

Perbedaan antara call activity dan embedded subprocess adalah call activity merujuk pada sebuah proses di luar definisi proses sedangkan embedded subprocess didefinisikan di dalam parent process. Manfaat utama dari call activity adalah reusability sehingga proses tersebut dapat dipanggil oleh sejumlah proses lainnya. Call activity divisualisasikan mirip dengan embedded subprocess namun dengan border yang lebih tebal.

Event subprocess

Event subprocess adalah subprocess yang ditrigger oleh sebuah event. Event subprocess dapat ditambahkan di level process atau subprocess. Event subprocess dapat ditrigger dengan menggunakan message events, error events, signal events, timer events, atau compensation events. Event subprocess divisualisasikan mirip dengan embedded subprocess namun dengan border berupa garis putus-putus.

Transaction subprocess

Transaction subprocess adalah subproses yang dapat digunakan untuk mengelompokkan beberapa aktivitas ke suatu transaksi. Transaksi adalah unit kerja logis yang memungkinkan pengelompokan serangkaian aktivitas individu, sehingga mereka bisa dikatakan berhasil atau gagal secara kolektif atau bersama-sama

Sebuah transaksi dapat memiliki tiga kemungkinan hasil:

  1. Transaksi berhasil.
  2. Transaksi dibatalkan.
  3. Transaksi diakhiri. 

Diagram berikut menggambarkan tiga hasil yang berbeda:

Sumber: Buku Tanya Jawab BPMN & Camunda (2023), Ditulis oleh Wisnu Manupraba & Novi Setiani

Knowledge series