Membuat Model Proses dan Use Case Sederhana (Part 1)

Faisal Wilmar
ecomindo-dev
Published in
9 min readNov 9, 2020

Ditulis oleh Faisal Wilmar, Annisa Pramita NP, dan Diana Nur Amalina.

Cover Image
Photo by Sigmund on Unsplash

Artikel ini akan membahas cara membuat sebuah model proses sederhana. Dalam dunia pengembangan perangkat lunak, ketidakpastian merupakan hal yang lumrah. Pengembang dituntut untuk bekerja dengan cepat agar mampu beradaptasi dengan kebutuhan perangkat lunak serta perkembangan teknologi yang sangat pesat. Membuat sebuah model proses yang terlalu detail akan memakan waktu lama terutama bila requirements yang diterima selalu berubah-ubah, sehingga diperlukan teknik khusus agar dapat menyesuaikan diri dengan kebutuhan tersebut.

Model Proses

Model Proses menggambarkan alur dari serangkaian aktivitas atau pekerjaan yang terjadi secara rutin atau berulang untuk mencapai suatu tujuan tertentu yang divisualisasikan dalam bentuk diagram. Serangkaian aktivitas ini selalu memiliki sebuah permulaan (start) dan akhir (end). Start adalah sebuah kondisi yang menjadi trigger suatu proses dimulai, dan end adalah sebuah kondisi yang diharapkan setelah rangkaian aktivitas selesai dilakukan sebagai penanda bahwa sebuah proses telah selesai.

Dalam memodelkan suatu proses, kita dapat menggunakan berbagai macam diagram. Beberapa model diagram yang sering digunakan adalah sebagai berikut:

1. Business Process Modeling and Notation (BPMN)

2. Flowchart

3. Unified Modeling Language (UML)

Masing-masing diagram memiliki standar notasi tersendiri untuk setiap elemennya seperti Start, End, Activity, Input, Output, dan sebagainya. Hal ini untuk memastikan bahwa diagram dapat diintepretasikan dengan tepat oleh siapapun.

Pada artikel ini, kita akan menggunakan BPMN dalam menggambarkan model proses. Untuk itu, perlu bagi kita mengetahui notasi yang ada dalam BPMN agar dapat menggunakannya dengan benar. Berikut beberapa notasi yang ada:

1. Pools, digunakan untuk menggambarkan keseluruhan organisasi atau unit tertentu.

2. Lanes, digunakan untuk menggambarkan aktor spesifik yang akan mengeksekusi aktivitas, misalnya “Sales Person”. Aktor di Lanes tidak boleh terlalu spesifik, misalnya menyebut sebuah nama “John Doe”, namun tidak juga terlalu umum, misalnya menyebut sebuah departemen “Departemen Sales”.

3. Activity, mendeskripsikan pekerjaan yang dilakukan dalam suatu proses. Activity bersifat atomic (tidak dapat dipecah menjadi aktivitas lain yang lebih kecil) serta di-trigger atau dieksekusi oleh aktor.

4. Event, sebuah kondisi atau kejadian didalam proses. Notasi event digunakan saat start dan end, serta kondisi-kondisi tertentu yang harus dipenuhi didalam proses.

5. Gateway, notasi yang memecah maupun menyatukan kembali flow dari proses. Gateway digunakan apabila ada kondisi yang membuat kelanjutan proses memiliki beberapa kemungkinan. Misalnya, ketika selesai proses pemesanan, apabila pelanggan jadi memesan maka pelanggan akan membayar, apabila pelanggan tidak jadi memesan maka pesanan dibatalkan.

6. Connecting Objects, tanda garis yang menyatukan objek BPMN sehingga menjadi sebuah flow. Connecting Object ada tiga macam yaitu Sequential Flow Symbol yang menggambarkan urutan kejadian, Message Flow Symbol yang menggambarkan alur bergeraknya message, Association Symbol yang menggambarkan keterkaitan objek BPMN dengan artefak.

7. Artifact, merepresentasikan informasi yang relevan terhadap model namun bukanlah elemen utama atau elemen yang menggambarkan proses. Beberapa artifact yang ada di BPMN yaitu group, annotation, dan data object seperti data masukan, data luaran, dan data storage.

Setelah mengetahui tentang notasi di BPMN, kita juga perlu mengetahui komponen kunci dari model proses. Beberapa di antaranya:

1. Fase, serangkaian aktivitas yang memiliki suatu kondisi start dan end tertentu. Karakter dari Fase adalah apabila sudah dilewati maka tidak dapat diulang lagi (mundur), kecuali diulang dari awal (start). Proses tidak dapat keluar ataupun masuk kedalam fase dari pertengahan proses. Fase ini nantinya dalam diagram BPMN untuk model proses dapat digambarkan sebagai subprocess. Subprocess adalah sebuah aktivitas yang dapat digambarkan menjadi sebuah proses lain.

2. Aktor, pihak yang menggunakan sistem yang dapat melakukan trigger terhadap suatu aktivitas. Aktor ini nantinya dalam diagram BPMN untuk model proses digambarkan sebagai sebuah ­lane atau jalur.

Bagaimana Cara Membuat Model Proses?

Untuk dapat membuat BPMN yang baik, maka ada beberapa langkah yang harus dilakukan. Langkah tersebut akan disertai dengan contoh kasus agar dapat mempermudah pemahaman.

Contoh kasus:

REMO adalah sebuah perusahaan rental mobil yang ingin membangun sistem untuk mengelola proses penyewaan. REMO memiliki dua jenis pelanggan, yaitu pelanggan individual dan pelanggan korporat. Pelanggan lama dapat memesan via website dengan memasukkan nama dan nomor telepon yang telah terdaftar. Sistem akan membuat pesanan dan mengirimkan SMS berisi kode konfirmasi, yang harus diisi oleh pelanggan untuk melakukan proses. Pesanan yang berhasil terkonfirmasi akan tersimpan di database dan sistem akan mengirimkan kode pesanan via SMS dan e-mail. Ketika pelanggan hendak mengambil mobil sewaan, pelanggan wajib menunjukkan kode pesanan tersebut. Petugas lapangan akan memasukkan kode pesanan ke sistem, mencatat statusnya sebagai tersewa, dan menyerahkan mobil kepada pelanggan. Jika batas waktu penyewaan sudah hampir berakhir atau sudah berlalu, maka sistem secara otomatis mengirimkan pesan via SMS kepada pelanggan bahwa ia harus mengembalikan mobilnya pada waktu yang ditentukan.

Langkah 1: Menentukan Fase

Hal pertama yang harus dilakukan adalah menentukan fase, dengan cara membuat Value Chain. Value Chain adalah high level process dari sebuah proses bisnis. Terdapat beberapa langkah mudah untuk membuat Value Chain, yaitu:

a. Kelompokan deskripsi kasus menjadi beberapa paragraf sesuai dengan kelompok prosesnya.

b. Lalu untuk masing-masing paragraf, tentukanlah nama proses yang menggambarkan paragraf tersebut.

Menentukan Nama Proses

c. Jadikan nama kelompok proses tersebut menjadi Value Chain.

Value Chain

d. Value Chain yang sudah dibuat dapat dijadikan nama fase yang digambarkan sebagai subprocess dalam BPMN. Maka kita akan memiliki sebuah proses utama dengan model seperti berikut:

Proses Utama

Berikut penjelasan dari Value Chain yang telah dibuat:

1. Fase Pemesanan

Fase Pemesanan dimulai saat pelanggan memasukkan nama dan nomor telepon dan berakhir setelah sistem mengirimkan kode pesanan melalui SMS maupun Email.

2. Fase Pengambilan

Fase Pengambilan dimulai saat pelanggan hendak mengambil mobil sewaan dan harus menunjukkan kode pesanan, serta berakhir ketika mobil diterima dan statusnya tersewa. Fase ini terjadi karena saat kode pesanan sudah diterima, maka proses tidak bisa mundur kembali ke aktivitas sebelumnya. Contohnya, setelah pelanggan menunjukkan kode pesanan pada petugas lapangan, proses tidak bisa mundur ke “sistem mengirimkan kode pesanan” karena kode sudah diterima. Contoh lain, setelah menunjukkan kode pesanan pada petugas lapangan, petugas lapangan melakukan verifikasi data, apabila kode pesanan tidak terdaftar maka proses akan mundur kembali untuk meminta pelanggan menunjukkan kode pesanan yang benar. Hal ini yang menyebabkan kedua aktivitas tersebut berada dalam satu fase, namun “sistem mengirimkan kode pesanan” berbeda fase.

3. Fase Pengembalian

Fase Pengembalian dimulai setelah sistem mengirimkan SMS peringatan kepada pelanggan, hingga keseluruhan narasi selesai. Fase ini terjadi karena saat SMS peringatan sudah dikirimkan pada pelanggan, maka proses tidak bisa mundur ke aktivitas sebelumnya, seperti “menunjukkan kode pesanan pada petugas” karena mobil sudah diterima.

Langkah 2: Menentukan Aktor

Langkah selanjutnya adalah menentukan aktor. Aktor mempresentasikan seseorang atau sesuatu (perangkat/sistem lain) yang berinteraksi dengan sistem. Aktor akan digunakan sebagai Lane dalam membuat BPMN.

Dalam contoh kasus di atas, maka beberapa aktor yang dimiliki, yaitu:

Menentukan Aktor dari Narasi

1. Pelanggan

Pelanggan adalah pengguna pertama yang melakukan proses pemesanan. Pelanggan merupakan aktor karena dapat melakukan trigger pada aktivitas “memasukkan nama dan nomor telepon”.

2. Petugas

Petugas adalah pengguna lain yang juga terdapat pada sistem. Petugas dianggap sebagai aktor karena dapat melakukan trigger pada aktivitas “memasukkan kode pesanan ke sistem”.

3. Sistem

Sistem dianggap sebagai aktor karena dapat melakukan ­trigger pada aktivitas “membuat pesanan dan mengirim SMS Konfirmasi”. Contoh dari sistem yang mampu melakukan trigger dan sering digunakan adalah sistem messaging, seperti Apache Kafka atau Azure Event Hub.

Langkah 3: Menentukan Aktivitas

Aktivitas dapat ditentukan dengan cara melihat ‘kata kerja’ yang dilakukan atau di-trigger oleh Aktor. Sebagai contoh pada kasus REMO — Fase Pemesanan:

Narasi REMO Fase Pemesanan

1. Memesan Mobil nantinya akan diletakkan pada lane aktor Pelanggan, karena pemesanan mobil di-trigger oleh user action yaitu saat Pelanggan memasukkan nama dan nomor telepon kedalam sistem.

2. Mengirim SMS Konfirmasi akan diletakkan pada lane aktor Sistem. Melakukan konfirmasi sebenarnya adalah tanggungjawab petugas, namun karena adanya otomasi dari sistem maka konfirmasi dilakukan oleh sistem, dan di-trigger oleh sistem secara otomatis.

3. Konfirmasi Pesanan akan diletakkan pada lane aktor Pelanggan, karena konfirmasi pesanan di-trigger oleh user action yaitu saat Pelanggan memasukkan kode konfirmasi kedalam sistem.

Langkah 4: Menggambar Proses

Langkah terakhir setelah menentukan fase, aktor, dan aktivitas adalah menggambarkan proses dan menggabungkannya menjadi diagram secara utuh. Proses adalah urutan pelaksanaan aktivitas yang saling terkait, yang merubah masukan (input) menjadi luaran (output). Jika mengacu pada informasi dasar dari aktivitas, maka aktifitas dapat diartikan sebagai suatu kegiatan yang bersifat atomic (tidak dapat dipecah menjadi kegiatan yang lebih kecil).

Namun, pada sebuah proses yang panjang dan rumit, atomicity dari sebuah aktivitas dapat diubah berdasarkan kebutuhan pengguna dari model itu sendiri. Umumnya, model proses yang ditulis oleh Analis Perangkat Lunak akan dibaca oleh Software Engineer. Software Engineer umumnya tidak membutuhkan model ditulis sangat detail, karena tujuan utama membaca model adalah untuk sekadar mengetahui bagaimana proses berjalan.

Untuk memahami lebih jelas terkait hal tersebut, mari kita gunakan contoh pada kasus REMO.

Contoh model yang bersifat sangat atomic

Gambar di atas adalah contoh model yang bersifat sangat atomic. Hal ini dapat menyebabkan model yang dibuat akan terlihat rumit serta pembuatannya akan memakan waktu yang cukup lama. Untuk itu, kita dapat merubah tingkat atomicity-nya menjadi lebih sederhana, seperti di bawah ini:

Contoh model yang lebih sederhana

Setelah membuat satu fase beserta dengan aktor, aktifitas, dan prosesnya, maka bisa dilanjutkan ke proses pada fase berikutnya. Proses pada fase berikutnya harus terpisah dengan proses sebelumnya.

Proses terpisah untuk fase yang berbeda

Hal yang juga perlu diperhatikan dalam membuat diagram adalah menggambarkan masukan-luaran di antara proses yang ada. Salah satu contohnya adalah penggunaan notasi data store sebagai masukan maupun luaran. Jika dalam sistem tersebut terdapat proses mengambil atau menyimpan data, maka data store berguna untuk memperlihatkan alur data yang ada pada setiap proses yang digambarkan sehingga memudahkan ketika membangun sistem.

Penggunaan Data Store

Contoh penggunaan data store untuk kasus REMO yaitu ketika proses pemesanan dilakukan di mana data store pelanggan menjadi sumber data dari proses pemesanan karena pelanggan yang akan memesan merupakan pelanggan yang telah mendaftar sebelumnya. Contoh lain, ketika proses konfirmasi pesanan dilakukan maka data pesanan yang telah dikonfirmasi akan tersimpan dalam database pesanan. Satu notasi data store yang dibuat boleh digunakan oleh beberapa proses sekaligus. Hal ini dilakukan agar penggunaan notasi data store tidak perlu banyak di beberapa tempat.

Kemudian berlanjut ke aktivitas. Berbeda dengan flowchart yang mempunyai syarat untuk notasi yang sama tidak boleh saling bertemu, maka dalam BPMN hal tersebut boleh terjadi (contoh: aktivitas bertemu aktivitas). Penulisan deskripsi suatu proses boleh dituliskan secara detail maupun tidak. Hal tersebut bergantung pada bagaimana diagram tersebut ingin dibuat. Tetapi karena diagram di atas dibuat untuk dapat beradaptasi pada perubahan dengan cepat, maka deskripsi pada aktivitas dibuat menjadi sesederhana mungkin. Detail aktivitas bisa ditambahkan pada notes yang mengarah pada prosesnya masing-masing. Hal ini dilakukan karena jika sewaktu-waktu terdapat perubahaan, maka bisa dengan mudah untuk menyesuaikan.

Dari penjelasan di atas, maka dapat dibuat BPMN beserta dengan fase, aktor, aktivitas dan proses yang telah ditentukan. Berikut diagramnya lengkapnya:

Gambar Lengkap Model Proses untuk REMO

Dalam membuat sebuah model proses hal yang terpenting adalah memperhatikan ketentuan dasar, notasi, dan juga sifat utama dari model proses itu sendiri, yaitu mudah dipahami dan dapat diintepretasikan dengan benar. Metode ini diajukan agar model proses dapat dibuat dengan lebih sederhana, sehingga mampu merespon cepat terhadap perubahaan. Metode dapat disesuaikan jika memang dibutuhkan, selama menjadikannya lebih efektif dan efisien.

Editor: AF

--

--