Business Process Modeling (BPM)
Business process modeling = cara merepresentasikan langkah (steps), partisipan, dan logika keputusan dalam proses bisnis.
Tiga Tipe Utama Process Model
| Tipe | Deskripsi |
|---|---|
| Descriptive | Penjelasan tertulis dari proses |
| Active | Working model yang merepresentasikan proses (mis. simulasi komputer) |
| Diagrammatical | Diagram 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).
- 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.
- Process implementation — developer IT (SOA developer) bersama analis proses mengimplementasikan proses bisnis dengan tujuan dukungan end-to-end memakai IT/aplikasi.
- 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
| Diagram | Model | |
|---|---|---|
| Fokus | Notasi sederhana untuk workflow dasar; menampilkan elemen mayor, mengabaikan detail minor | Merepresentasikan performa dari yang dimodelkan |
| Presisi | Rendah — cukup untuk memahami alur kerja keseluruhan | Butuh presisi lebih tinggi, data tentang proses & faktor yang memengaruhi performanya |
| Tool | — | Sering memakai tool dengan kapabilitas simulasi & pelaporan |
Aspek yang Ditangkap dalam Model Proses
| Aspek | Cakupan |
|---|---|
| Organizational view | Roles, responsibilities, locations |
| Data view | Input/output objects, transformasi |
| System view | Rules, flow dependencies, events-triggers |
| Others | Parameter 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
| Elemen | Notasi |
|---|---|
| Events | Lingkaran ⚪ |
| Activities | Kotak sudut membulat ▭ |
| Gateways | Belah ketupat ◇ |
| Sequence Flow | Panah garis solid |
| Message Flow | Panah garis putus-putus |
| Association | Panah 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
| Tipe | Fungsi |
|---|---|
| Sequence Flow | Menunjukkan urutan eksekusi aktivitas |
| Message Flow | Menunjukkan pesan yang mengalir melintasi batas organisasi (antar pool) |
| Association | Mengasosiasikan 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.
| Gateway | Simbol | Arti |
|---|---|---|
| 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:
| Notasi | Ciri khas |
|---|---|
| UML Activity Diagram | Actions, control flow, split & join (bar hitam), decisions (belah ketupat), swimlanes |
| Flow Chart | Kotak = 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-0 | Function 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.