Business Rule Task
Business Rule Task adalah task yang mendelegasikan keputusan kepada Business Rule Engine — sistem khusus yang mengelola aturan bisnis secara terpisah dari logika proses. Hasilnya kemudian dikembalikan sebagai variabel proses untuk digunakan oleh step berikutnya.
Simbol: Ikon tabel/grid di sudut kiri atas persegi panjang sudut membulat
Mengapa Ada Business Rule Task?
Bayangkan sebuah Bank yang menentukan tingkat suku bunga kredit berdasarkan:
- Skor kredit nasabah
- Tenor pinjaman
- Jenis pinjaman (KPR, KKB, multiguna)
- Segmen nasabah (retail, SME, korporat)
- Kondisi pasar saat ini
Logika ini sering berubah — karena kebijakan Bank Indonesia, kondisi pasar, atau strategi bisnis. Jika aturan ini ditulis di dalam Script Task atau Service Task (dalam kode), setiap perubahan membutuhkan deployment ulang aplikasi — proses yang lama dan berisiko.
Business Rule Task memisahkan dua hal:
- Proses (BPMN): urutan langkah yang relatif stabil
- Aturan (Business Rules): logika keputusan yang sering berubah
Dengan pemisahan ini, tim bisnis bisa mengubah aturan tanpa menyentuh kode.
Standar: DMN (Decision Model and Notation)
BPMN biasanya dipasangkan dengan DMN (Decision Model and Notation) — standar OMG yang sama yang mendefinisikan BPMN — untuk memodelkan aturan bisnis. Camunda, Flowable, dan banyak BPMS mendukung keduanya.
Decision Table
Bentuk DMN yang paling umum adalah Decision Table — tabel yang mendefinisikan aturan input-output:
Contoh: Penentuan Kategori Risiko Kredit
| Skor Kredit | Usia (tahun) | Rasio DBR | Kategori Risiko |
|---|---|---|---|
| ≥ 700 | [21..55] | < 30% | RENDAH |
| [550..700) | [21..55] | < 40% | SEDANG |
| [550..700) | [21..55] | [40%..60%) | TINGGI |
| < 550 | - | - | DITOLAK |
| - | < 21 | - | DITOLAK |
| - | > 55 | - | REVIEW MANUAL |
DBR = Debt Burden Ratio (rasio cicilan terhadap penghasilan)
Keunggulan tabel ini: tim analis kredit bisa membaca, memvalidasi, dan mengubahnya sendiri — tanpa developer.
Hubungan Business Rule Task dengan DMN
Proses BPMN:
[User Task: Input Data Nasabah]
↓
[Business Rule Task: Tentukan Kategori Risiko]
↓ (panggil Decision "KategoriRisikoKredit")
↓ (kembalikan hasil ke variabel proses)
↓
[Exclusive Gateway: Kategori Risiko?]
├─ RENDAH → [Proses Persetujuan Otomatis]
├─ SEDANG → [User Task: Review Analis]
├─ TINGGI → [User Task: Review Komite]
└─ DITOLAK → [End Event: Kredit Ditolak]
Business Rule Task memanggil DMN Decision, lalu hasilnya (kategoriRisiko) digunakan oleh Gateway untuk menentukan jalur selanjutnya.
Jenis Keputusan dalam DMN
Decision Table (Tabel Keputusan)
Untuk aturan berbentuk matriks kondisi-hasil. Cocok untuk:
- Penentuan kategori/segmentasi
- Kalkulasi berbasis aturan bertingkat
- Eligibility checking
Decision Literal Expression
Untuk kalkulasi sederhana menggunakan FEEL (ekspresi seperti spreadsheet):
if skorKredit >= 700 then "RENDAH"
else if skorKredit >= 550 then "SEDANG"
else "TINGGI"
Decision Requirements Graph (DRG)
Untuk keputusan kompleks yang dibangun dari keputusan-keputusan yang lebih kecil:
[Hitung Skor Kredit] → [Tentukan Limit Kredit]
[Hitung DBR] → [Tentukan Limit Kredit]
[Segmen Nasabah] → [Tentukan Limit Kredit]
↓
[Tentukan Suku Bunga]
Contoh Penggunaan di Berbagai Industri
Perbankan: Penentuan Suku Bunga
Input:
- Tenor pinjaman
- Jenis pinjaman
- Rating nasabah
- Kolateral yang diberikan
Output:
- Suku bunga dasar
- Suku bunga penalti (jika ada)
- Tenor maksimum yang diizinkan
Asuransi: Kalkulasi Premi
Input:
- Usia tertanggung
- Jenis pertanggungan
- Riwayat klaim
- Profil risiko
Output:
- Premi bulanan
- Maksimum manfaat
- Pengecualian yang berlaku
Pemerintahan: Eligibility Bantuan Sosial
Input:
- Pendapatan keluarga
- Jumlah tanggungan
- Kepemilikan aset
- Status pekerjaan
Output:
- Jenis bantuan yang berhak diterima
- Besaran bantuan
- Periode penerimaan
Business Rule Task vs. Exclusive Gateway
Ini adalah kebingungan yang sering terjadi:
| Aspek | Exclusive Gateway | Business Rule Task |
|---|---|---|
| Logika ada di mana? | Di Sequence Flow (condition expression) | Di Decision Engine (terpisah) |
| Cocok untuk | Kondisi sederhana, 2–3 jalur | Aturan kompleks, banyak variabel |
| Bisa diubah tanpa deploy? | ❌ | ✅ |
| Tim bisnis bisa ubah sendiri? | ❌ | ✅ |
| Contoh | "Apakah nilai > 100?" | "Tentukan kategori risiko kredit" |
Panduan: Gunakan Gateway untuk kondisi sederhana berbasis variabel proses yang sudah ada. Gunakan Business Rule Task + DMN untuk keputusan yang melibatkan banyak variabel dan logika yang kompleks atau sering berubah.
Kapan Menggunakan Business Rule Task
Gunakan ketika:
- Keputusan melibatkan banyak variabel (>3 input)
- Aturan berubah lebih dari sekali dalam setahun
- Tim bisnis perlu bisa memvalidasi dan mengubah aturan sendiri
- Keputusan perlu diaudit dan terdokumentasi dengan baik
- Aturan yang sama digunakan di banyak proses berbeda
Tidak perlu ketika:
- Kondisi sangat sederhana ("ya/tidak", satu variabel)
- Aturan stabil dan tidak berubah
- Tim IT kecil dan DMN engine terlalu berat untuk diimplementasikan
Selanjutnya: Send Task & Receive Task →