Lewati ke konten utama

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 KreditUsia (tahun)Rasio DBRKategori 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:

AspekExclusive GatewayBusiness Rule Task
Logika ada di mana?Di Sequence Flow (condition expression)Di Decision Engine (terpisah)
Cocok untukKondisi sederhana, 2–3 jalurAturan 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 →