Lewati ke konten utama

Activity

Activity merepresentasikan pekerjaan yang dilakukan dalam sebuah proses. Jika Event adalah "sesuatu yang terjadi" dan Gateway adalah "keputusan yang diambil", maka Activity adalah "pekerjaan yang dikerjakan".

Bentuk: Persegi panjang dengan sudut membulat (rounded rectangle)


Tiga Jenis Activity

1. Task

Task adalah unit kerja yang tidak bisa dipecah lebih lanjut dalam konteks diagram. Ini adalah elemen kerja paling dasar dalam BPMN.

Prinsip atomik: Sebuah Task seharusnya merepresentasikan satu pekerjaan yang logis dan kohesif. Jika sebuah Task terasa terlalu besar, pertimbangkan untuk menjadikannya Sub-Process.

Panduan penamaan: Gunakan format [kata kerja] + [objek]:

  • ✅ "Verifikasi Identitas Nasabah"
  • ✅ "Kirim Notifikasi Persetujuan"
  • ❌ "Nasabah" (tidak ada kata kerja)
  • ❌ "Proses" (terlalu umum)

2. Sub-Process

Sub-Process adalah Activity yang berisi proses lain di dalamnya — sebuah proses di dalam proses.

Simbol: Persegi panjang sudut membulat dengan tanda + kecil di bagian bawah tengah

Dua mode tampilan:

  • Collapsed (lipat): tampil sebagai kotak biasa dengan tanda +, detail tersembunyi
  • Expanded (buka): detail proses di dalamnya terlihat langsung dalam diagram

Kapan menggunakan Sub-Process:

  • Sekelompok aktivitas yang logis dan kohesif
  • Proses yang terlalu kompleks jika dijadikan satu level
  • Ketika Anda ingin menerapkan Boundary Event pada sekelompok aktivitas sekaligus
  • Ketika ada bagian proses yang bisa digunakan ulang

Jenis Sub-Process:

JenisKeterangan
Embedded Sub-ProcessProses yang hanya ada dalam konteks proses induk ini
Reusable Sub-ProcessProses terpisah yang bisa dipanggil dari mana saja (→ gunakan Call Activity)
Event Sub-ProcessSub-process yang dipicu oleh event, bukan Sequence Flow
Transaction Sub-ProcessSub-process dengan jaminan ACID dan kemampuan rollback
Ad-Hoc Sub-ProcessAktivitas di dalamnya tidak harus berurutan; pelaksana bisa memilih sendiri

3. Call Activity

Call Activity memanggil proses lain yang sudah terdefinisi secara global dan berdiri sendiri (reusable process).

Simbol: Persegi panjang sudut membulat dengan garis tebal (bold border)

Perbedaan Sub-Process vs Call Activity:

AspekSub-ProcessCall Activity
Definisi prosesDi dalam proses indukDi luar, sebagai proses terpisah
Bisa dipanggil dari banyak proses?
Cocok untukKelompokkan aktivitas sekali pakaiProses yang digunakan berulang
Contoh"Proses Verifikasi Internal""Proses KYC Standar" (dipakai di banyak proses)

Contoh:
Proses "Pembukaan Rekening", "Pengajuan Kredit", dan "Pembaruan Data" semuanya membutuhkan langkah KYC yang sama. Daripada menduplikasi, buat sekali sebagai proses global, lalu panggil dengan Call Activity dari ketiga proses tersebut.


Tipe Task Berdasarkan Pelaksana

BPMN mendefinisikan tujuh tipe Task berdasarkan bagaimana pekerjaan dilakukan. Tipe ini ditandai dengan ikon kecil di sudut kiri atas Task.

User Task 👤

Ikon: Siluet orang

Artinya: Task yang dilakukan oleh manusia dengan bantuan aplikasi atau sistem (misalnya mengisi formulir di web, menyetujui di sistem workflow).

Kata kunci pelaksana: Manusia + sistem pendukung

Contoh:

  • "Isi Formulir Pengajuan" (petugas mengisi di aplikasi)
  • "Approve Permintaan Pembelian" (manajer menyetujui di sistem ERP)
  • "Input Data Pelanggan" (operator menginput di CRM)

Manual Task 🖐️

Ikon: Tangan

Artinya: Task yang dilakukan sepenuhnya oleh manusia tanpa bantuan sistem apapun. Pekerjaan fisik atau manual murni.

Kata kunci: Manusia, tanpa sistem

Contoh:

  • "Tandatangani Kontrak" (tanda tangan fisik di kertas)
  • "Antar Dokumen ke Loket" (pengiriman fisik)
  • "Pasang Komponen di Mesin" (pekerjaan teknisi lapangan)

Kesalahan umum: Mengacukan Manual Task dengan User Task. User Task menggunakan sistem (formulir online, aplikasi); Manual Task tidak menggunakan sistem sama sekali.


Service Task ⚙️

Ikon: Roda gigi

Artinya: Task yang dilakukan otomatis oleh sistem tanpa intervensi manusia. Sistem memanggil layanan lain atau menjalankan proses otomatis.

Kata kunci: Otomatis, sistem, API, integrasi

Contoh:

  • "Kirim Email Konfirmasi" (sistem mengirim email otomatis)
  • "Validasi Nomor KTP via API Dukcapil" (sistem memanggil API eksternal)
  • "Hitung Total Tagihan" (sistem kalkulasi otomatis)
  • "Posting Jurnal ke Sistem Akuntansi" (integrasi antar sistem)

Script Task 📜

Ikon: Gulungan kertas

Artinya: Task yang dieksekusi oleh mesin BPMS menggunakan script yang didefinisikan langsung di dalam elemen (bukan memanggil service eksternal).

Perbedaan Service Task vs Script Task:

  • Service Task: memanggil layanan/API eksternal
  • Script Task: menjalankan kode script langsung di dalam engine

Contoh:

  • "Hitung Skor Risiko" (script kalkulasi sederhana di dalam BPMS)
  • "Format Data untuk Laporan" (transformasi data menggunakan JavaScript/Python/Groovy)

Business Rule Task 📋

Ikon: Tabel/grid

Artinya: Task yang dieksekusi oleh Business Rule Engine — sistem khusus yang mengelola aturan bisnis secara terpisah dari kode aplikasi.

Kapan digunakan:

  • Aturan bisnis yang sering berubah dan perlu dikelola oleh tim bisnis (bukan developer)
  • Keputusan kompleks yang melibatkan banyak variabel (seperti penentuan suku bunga, kalkulasi premi asuransi)

Contoh:

  • "Tentukan Tingkat Risiko Kredit" (berdasarkan aturan di DMN/Drools)
  • "Hitung Premi Asuransi" (aturan aktuaria di business rule engine)
  • "Klasifikasi Segmen Pelanggan" (aturan segmentasi di rule engine)

Send Task ✉️

Ikon: Amplop terisi

Artinya: Task yang khusus untuk mengirim pesan ke peserta lain. Secara fungsional mirip dengan Message Throwing Event, tapi dalam bentuk Task (ada "pekerjaan" yang terjadi).

Kapan digunakan daripada Message Throwing Event:

  • Ketika pengiriman pesan adalah "pekerjaan" yang perlu dicatat, memiliki durasi, atau bisa gagal
  • Ketika pesan membutuhkan pemrosesan sebelum dikirim

Contoh:

  • "Kirim Surat Penawaran ke Pelanggan" (menyiapkan dan mengirim dokumen formal)
  • "Kirim Laporan ke Regulator" (menyiapkan laporan dan mengirimkan secara resmi)

Receive Task 📬

Ikon: Amplop tidak terisi (outline)

Artinya: Task yang khusus untuk menerima pesan dari peserta lain dan menunggu sampai pesan tersebut tiba.

Kapan digunakan daripada Message Catching Event:

  • Ketika penerimaan pesan adalah "pekerjaan" yang perlu dicatat
  • Ketika ada pemrosesan yang terjadi setelah menerima pesan

Contoh:

  • "Terima dan Catat Pembayaran" (menerima konfirmasi pembayaran, lalu mencatat di sistem)
  • "Terima Dokumen Persyaratan" (menerima kiriman dokumen, lalu verifikasi kelengkapan)

Marker Tambahan pada Activity

Selain tipe, sebuah Activity juga bisa memiliki marker yang menunjukkan karakteristik tambahan:

MarkerSimbolArtinya
LoopTask/Sub-Process diulang sampai kondisi terpenuhi
Multi-Instance Parallel≡ (tiga garis vertikal)Berjalan paralel untuk setiap item dalam daftar
Multi-Instance Sequential☰ (tiga garis horizontal)Berjalan berurutan untuk setiap item dalam daftar
CompensationTask ini adalah task kompensasi
Ad-Hoc~Sub-Process yang tidak memiliki urutan tetap
CallGaris tebalIni adalah Call Activity

Contoh Multi-Instance:
Task "Kirim Undangan" dengan marker Multi-Instance Parallel — jika ada 50 tamu undangan, task ini berjalan 50 kali secara bersamaan (paralel), satu untuk setiap tamu.


Ringkasan Pemilihan Tipe Task

Siapa yang melakukan?Bagaimana?Tipe Task
ManusiaDengan bantuan aplikasi/sistemUser Task
ManusiaTanpa sistem, kerja fisikManual Task
SistemOtomatis, panggil service/APIService Task
SistemJalankan script langsungScript Task
SistemEvaluasi aturan bisnisBusiness Rule Task
SistemKirim pesanSend Task
SistemTunggu dan terima pesanReceive Task

Selanjutnya: Gateway →