Business Process Modeling (BPM)

Business process modeling = cara merepresentasikan langkah (steps), partisipan, dan logika keputusan dalam proses bisnis.

Tiga Tipe Utama Process Model

TipeDeskripsi
DescriptivePenjelasan tertulis dari proses
ActiveWorking model yang merepresentasikan proses (mis. simulasi komputer)
DiagrammaticalDiagram yang menunjukkan proses & relasi antar bagiannya (mis. process map, flowchart)

Process Modeling sebagai Bagian dari Proses yang Lebih Besar

Modeling bukan tujuan akhir, melainkan sarana (means to an end) — sekumpulan aktivitas untuk membuat representasi proses bisnis yang as-is (kondisi sekarang) atau to-be (kondisi yang diusulkan).

  1. Process modeling — analis proses bersama pemilik proses menganalisis proses bisnis & mendefinisikan model proses: activity flow, information flow, roles, dokumen bisnis, kebijakan/batasan bisnis, aturan bisnis, dan ukuran performa.
  2. Process implementation — developer IT (SOA developer) bersama analis proses mengimplementasikan proses bisnis dengan tujuan dukungan end-to-end memakai IT/aplikasi.
  3. Process execution & control — fase eksekusi aktual, di mana partisipan proses menjalankan aktivitas. Idealnya IT yang mengarahkan proses dan mengarahkan partisipan, bukan sebaliknya. Bagian penting fase ini adalah process control — supervisor/manajer proses memonitor apakah proses berjalan optimal.

Process Diagram vs Process Model

DiagramModel
FokusNotasi sederhana untuk workflow dasar; menampilkan elemen mayor, mengabaikan detail minorMerepresentasikan performa dari yang dimodelkan
PresisiRendah — cukup untuk memahami alur kerja keseluruhanButuh presisi lebih tinggi, data tentang proses & faktor yang memengaruhi performanya
Tool—Sering memakai tool dengan kapabilitas simulasi & pelaporan

Aspek yang Ditangkap dalam Model Proses

AspekCakupan
Organizational viewRoles, responsibilities, locations
Data viewInput/output objects, transformasi
System viewRules, flow dependencies, events-triggers
OthersParameter simulasi

Process Attributes

Mendeskripsikan properti, perilaku, tujuan, dan elemen lain dari proses; ditangkap dalam tool untuk mengorganisasi, menganalisis, dan mengelola portofolio proses organisasi. Contoh atribut: Inputs/Outputs, Events/Results, Value Add, Roles/Organisations, Data/Information, Arrival Patterns/Distributions, Costs, Entry/Exit Rules, Probabilities, Queuing, Transmission/Wait Time, Branching/Join Rules, Work/Handling Time, Batching, Servers (jumlah orang yang tersedia mengerjakan task).

Mengapa Perlu Standar Modeling?

  • Simbologi, bahasa, dan teknik yang umum, memudahkan komunikasi & pemahaman.
  • Definisi proses yang konsisten → memudahkan desain, analisis, pengukuran, dan reuse model.
  • Bisa memanfaatkan (leverage) modeling tools berbasis standar yang sudah ada.
  • Bisa import/export model antar tools.
  • Beberapa vendor tool memungkinkan model diekspor dari notasi modeling ke bahasa eksekusi (mis. BPMN ke BPEL).

Standar/Notasi Business Process Modeling Lain

Selain BPMN, ada berbagai notasi lain: Flow Charting, Swim Lanes, Event Process Chain (EPC), Value Chain, UML (Activity Diagram), IDEF-0, LOVEM-E, SIPOC, Systems Dynamics, Value Stream Mapping, dan lainnya. Semuanya cara berbeda memodelkan hal yang sama; BPMN dipilih karena dukungan standar (OMG) dan bisa diterjemahkan ke bahasa eksekusi (BPEL).

Business Process Hierarchy

Proses lintas fungsi (cross-functional) perlu diselaraskan sampai ke tindakan konkret, karena performa aksi individu akan roll-up ke performa proses secara keseluruhan:

BPMN (Business Process Model and Notation)

Mengapa BPMN banyak dipakai:

  • Standar yang luas dipakai & didukung (di bawah payung OMG-UML).
  • Menyediakan notasi grafis lewat Business Process Diagram (BPD).
  • Memakai teknik flowcharting yang mirip UML Activity Diagram.
  • Bisa di-output menjadi BPEL (Business Process Execution Language) — bahasa eksekusi standar untuk interaksi dengan Web Service, sehingga model bisa benar-benar dijalankan.

Struktur Diagram BPMN

BPMN Overview
├── Flow Objects
│   ├── Events (Start, Intermediate, End)
│   ├── Activities (Task, Sub-Process, Transaction)
│   └── Gateways
├── Connecting Objects (Sequence Flow, Message Flow, Association)
├── Swimlanes (Pool, Lane)
└── Artefacts (Data Object, Group, Annotation)

Core Set of Diagram Elements

ElemenNotasi
EventsLingkaran ⚪
ActivitiesKotak sudut membulat ▭
GatewaysBelah ketupat ◇
Sequence FlowPanah garis solid
Message FlowPanah garis putus-putus
AssociationPanah titik-titik

Activity (Aktivitas)

Mendeskripsikan jenis pekerjaan yang harus dilakukan:

  • Task — unit kerja tunggal yang tidak/tidak bisa dipecah lebih detail lagi.
  • Sub-Process — menyembunyikan atau menampilkan level detail proses bisnis tambahan (bisa collapsed atau expanded).
  • Transaction — bentuk sub-process di mana semua aktivitas di dalamnya harus diperlakukan sebagai satu kesatuan (digambar dengan border ganda).

Aktivitas juga bisa punya marker tambahan: Loop (berulang), Multiple Instance (banyak instance paralel), Compensation (aktivitas kompensasi), Ad-Hoc (urutan tidak ditentukan).

Connecting Objects

TipeFungsi
Sequence FlowMenunjukkan urutan eksekusi aktivitas
Message FlowMenunjukkan pesan yang mengalir melintasi batas organisasi (antar pool)
AssociationMengasosiasikan sebuah Artefact ke Flow Object, bisa menunjukkan arah

Gateway

Mengontrol bagaimana Sequence Flow berkonvergensi/divergensi dalam proses tergantung kondisi tertentu. Jika alur tidak perlu dikontrol, Gateway tidak diperlukan.

GatewaySimbolArti
Exclusive Decision/Merge (XOR)◇ atau ◇✕Hanya satu jalur dipilih (data-based atau event-based)
Inclusive Decision/Merge (OR)◇○Satu atau lebih jalur dipilih sesuai kondisi
Complex Decision/Merge◇✳Logika percabangan/penggabungan kompleks/kustom
Parallel Fork/Join (AND)◇➕Semua jalur dijalankan/digabung bersamaan

Event

Menandakan sesuatu yang terjadi:

  • Start Event (lingkaran tipis) — pemicu (trigger) proses.
  • End Event (lingkaran tebal) — merepresentasikan hasil proses.
  • Intermediate Event (lingkaran garis ganda) — terjadi di antara start & end; bisa Catching (dipicu event eksternal) atau Throwing (menghasilkan output).

Tipe-tipe event: Message, Timer, Exception, Cancel, Compensation, Rule, Link, Terminate, Multiple (masing-masing punya ikon berbeda, tersedia untuk Start/Intermediate/End sesuai relevansinya).

Swimlane

Mekanisme visual mengorganisasi & mengategorikan aktivitas berbasis cross-functional flowcharting:

  • Pool — merepresentasikan partisipan mayor dalam proses, berisi satu/lebih lane.
  • Lane — mengorganisasi aktivitas dalam sebuah pool berdasarkan fungsi/peran.

Artefacts

Membawa informasi tambahan ke model/diagram:

  • Data Object — menunjukkan data yang dibutuhkan/dihasilkan suatu aktivitas.
  • Group — mengelompokkan aktivitas berbeda, tidak memengaruhi alur diagram.
  • Annotation — memberi detail tambahan yang mudah dipahami.

Contoh: Normal Flow

Contoh proses order sederhana dengan Gateway XOR (accepted/rejected) dan Gateway AND (join sebelum close):

flowchart LR
  S((Start)) --> RO[Receive Order]
  RO --> G1{Accepted or Rejected?}
  G1 -- Rejected --> J((+))
  G1 -- Accepted --> FO[Fill Order]
  FO --> SO[Ship Order]
  FO --> SI[Send Invoice] --> MP[Make Payment] --> AP[Accept Payment]
  SO --> J
  AP --> J
  J[+ Parallel Join] --> CO[Close Order]
  CO --> E((End))

Exception & Compensation Handling

  • Exception handling: Intermediate Event yang di-attach ke batas (boundary) sebuah aktivitas merepresentasikan pemicu yang bisa menginterupsi aktivitas tersebut — semua kerja di dalam aktivitas dihentikan dan alur dilanjutkan dari event tersebut. Pemicu bisa berupa Timer, Exception, Message, dsb. (Contoh: aktivitas “Receive Confirmation” dengan timer boundary event 2 hari yang mengarah ke “Send Cancellation Notice” jika timeout.)
  • Compensation handling (Transaction): Transaction (border ganda) punya beberapa jalur keluar: Normal Sequence Flow (sukses), Cancel Intermediate Event (dibatalkan), Exception Intermediate Event (hazard/error). Aktivitas kompensasi (bertanda panah mundur ◀◀) berada di luar alur normal dan diasosiasikan ke aktivitas normalnya (contoh: “Cancel Flight” mengompensasi “Book Flight” jika terjadi kegagalan booking hotel).

Notasi Modeling Alternatif Lain (Perbandingan)

Selain BPMN, proses bisnis juga bisa dimodelkan dengan notasi lain, masing-masing punya gaya visual berbeda:

NotasiCiri khas
UML Activity DiagramActions, control flow, split & join (bar hitam), decisions (belah ketupat), swimlanes
Flow ChartKotak = action, belah ketupat = decision point, oval = start/end
EPC (Event Process Chain)Berpusat pada Function dengan Event pemicu & hasil (segi enam), Input/Output, Organization Unit, Supporting System
IDEF-0Function sebagai kotak dengan 4 sisi bermakna: Input (kiri), Control (atas), Output (kanan), Mechanism (bawah)

Business Process Engine (Eksplorasi Praktik)

Untuk mempraktikkan pemodelan & eksekusi BPMN (bukan sekadar menggambar diagram statis), dipakai Business Process Engine — mesin yang dapat mengeksekusi model proses bisnis. Tool yang dieksplorasi dalam tugas praktikum: Camunda — orchestration engine open-source berbasis BPMN yang mendukung pemodelan visual sekaligus eksekusi proses (pendekatan ini juga relevan dengan orchestration middleware pada integrasi SOA, lihat 9_Integration Patterns).

Pemanfaatan process engine seperti Camunda merupakan bagian dari pendekatan top-down pada siklus hidup SOA: proses bisnis dimodelkan dulu di level BPMN, baru kemudian dipetakan menjadi service-service yang mengimplementasikannya (lihat 5_SOA Design Principles untuk SOA Delivery Lifecycle).

Flashcard

flashcards Apa definisi Business Process Modeling? :: Cara merepresentasikan langkah (steps), partisipan, dan logika keputusan dalam proses bisnis. Sebutkan 3 tipe utama Process Model :: Descriptive (penjelasan tertulis), Active (working model/simulasi), Diagrammatical (diagram/process map/flowchart). Sebutkan 3 fase dalam siklus proses bisnis (modeling → eksekusi) :: Process modeling (analisis & definisi model), Process implementation (IT/SOA developer mengimplementasi), Process execution & control (eksekusi aktual + monitoring oleh process manager). Apa perbedaan Process Diagram dan Process Model? :: Diagram = notasi sederhana workflow dasar, mengabaikan detail minor; Model = representasi performa lebih presisi, butuh data, sering pakai tool simulasi/pelaporan. Mengapa BPMN banyak dipakai dibanding notasi lain? :: Standar luas dipakai (OMG-UML), punya notasi grafis (BPD), mirip UML Activity Diagram, dan bisa diekspor ke BPEL agar dapat dieksekusi. Sebutkan 3 tipe Activity dalam BPMN :: Task (unit kerja tunggal tak terpecah), Sub-Process (bisa collapsed/expanded, menyembunyikan detail), Transaction (sub-process dengan border ganda, semua aktivitas diperlakukan sebagai satu kesatuan). Sebutkan 4 jenis Gateway BPMN dan artinya :: Exclusive/XOR (satu jalur dipilih), Inclusive/OR (satu atau lebih jalur), Complex (logika kustom), Parallel/AND (semua jalur dijalankan bersamaan). Apa perbedaan Sequence Flow dan Message Flow? :: Sequence Flow menunjukkan urutan eksekusi dalam satu pool; Message Flow menunjukkan pesan yang melintasi batas antar-pool/organisasi. Apa fungsi Pool dan Lane pada Swimlane BPMN? :: Pool merepresentasikan partisipan mayor proses (berisi satu/lebih lane); Lane mengorganisasi aktivitas dalam pool berdasarkan fungsi/peran. Jelaskan cara kerja Exception handling lewat boundary event :: Intermediate Event yang di-attach ke boundary sebuah aktivitas jadi pemicu yang bisa menginterupsi aktivitas tsb — semua kerja dihentikan dan alur dilanjutkan dari event tersebut (pemicu: Timer, Exception, Message, dsb). Apa itu Business Process Engine, beri contoh toolnya :: Mesin yang dapat mengeksekusi (bukan sekadar menggambar) model proses bisnis; contoh: Camunda, orchestration engine open-source berbasis BPMN.