life, coding, and stuff

17 February 2014

Simulasi Proses Bisnis menggunakan YAWL


YAWL (Yet Another Workflow Language)  adalah sebuah aplikasi yang digunakan untuk membuat dan mensimulasikan workflow sebuah sistem bisnis, menggunakan sebuah bahasa modelling yang ringkas dan powerful. YAWL juga bisa membuat sebuah log-file dari sebuah simulasi proses bisnis, yang untuk selanjutnya bisa kita lakukan process mining terhadapnya.

Dalam tutorial ini, akan saya tunjukkan bagaimana melakukan simulais terhadap proses bisnis sederhana menggunakan YAWL.

Tools yang saya gunakan :
Deskripsi Proses Bisnis :

Sebelum melakukan tutorial, akan saya jelaskan dulu proses bisnis yang akan kita lakukan.


Proses bisnis yang akan kita simulasikan adalah sebuah sistem peminjaman uang (Credit application). Proses dimulai dengan peminjam men-submit sebuah application (dengan besar pinjman tertentu).

Setelah menerima application, petugas pemeriksa akan memerisa apakah application milik si  peminjam tadi sudah lengkap. Jika tidak petugas akan akan meminta info yang belum lengkap pada application milik si peminjam tadi. Jika sudah lengkap, petugas akan melakukan pemeriksaan lebih lanjut mengenai pendapatan dan latar belakang pinjaman si peminjam.

Berdasarkan besar pinjaman yang diminta peminjam, apakah pinjaman besar (lebih dari $500) atau pinjaman kecil, petugas akan melakukan pemeriksaan yang berbeda. Application yang sudah divalidasi kemudian diperiksa kembali apakah diterima atau ditolak. Jika diputuskan untuk diterima, petugas akan memberitahukan peminjam kemudian kartu kredit akan dibuat dan dikirimkan ke peminjam. Jika diputuskan ditolak, maka peminjam akan diberitahu dan proses bisnis berhenti.

Langkah - Langkah :

1. Buat Process Workflow untuk specification kasus kita menggunakan YAWL Editor.



2. Buat net variable yang diperlukan pada process. Dalam contoh ini, diperlukan tiga net variable. Pertama, sebuah boolean untuk memeriksa apakah aplikasi sudah lengkap (completeApp), kedua, boolean untuk memeriksa apakah aplikasi sudah disetujui (decideApp), dan terakhir double untuk besar pinjaman (loanAmt).

Klik Net > Update Net Detail... . Beri nama, dalam contoh saya beri nama CreditApplication. Kemudian klik Create, lalu masukkan nama dan tipe data variabel, untuk  usage pilih local, lalu klik Done.


3. Selanjutnya, untuk setiap task pada workflow yang melakukan pengambilan keputusan   (percabangan) buat flow predicate-nya sesuai tugasnya.

Dalam contoh, terdapat tiga task. check for completeness akan memeriksa apakah net variable completeApp bernilai true, jika ya, masuk ke task selanjutnya yaitu check loan amount, jika tidak maka user dikembalikan ke task get more info.

Check loan amount akan memeriksa apakah nilai loanAmt lebih dari 500, jika ya maka masuk ke task perform check for large amount, jika tidak masuk ke perform check for small amount.

Terakhir, task make decision akan memeriksa apakah net variable decideApp bernilai true, jika ya, masuk ke task start approval, jika tidak masuk ke task notify rejection.

Untuk membuat flow predicate, klik kanan pada salah satu task, kemudian pilih Update Flow Detail....

Pada contoh, task check for completeness, akan memeriksa apakah net variable completeApp berniai true, jika ya maka masuk ke task c4 yang selanjutnya akan masuk ke task check loan amount, jika tidak masuk ke task c2 yang selanjutnya akan masuk ke task get more info.

Maka pada baris c4, klik Predicate..., masukkan XPath Expression yang sesuai. Dalam contoh, karena task ini akan memeriksa net variable completeApp, masukkan :

/CreditApplication/completeApp/text() = 'true'

Untuk baris c2, barkan berisi default, yaitu true().  


4. Langkah selanjutnya adalah membuat aktor yang terlibat dalam proses ini. Dalam kasus contoh ini, perlu minimal dilakukan oleh dua aktor, yaitu aktor 1 sebagai peminjam dan aktor 2 sebagai  pemeriksa. Aktor 2 akan melakukan seluruh task dalam proses kecuali task receive application  yang dilakukan oleh aktor1. Selanjutnya kita buat dua aktor ini. Klik kanan shortcut Start Engine > Run As Administrator.

Kemudian buka YAWL Control Centre. Halaman login YAWL akan terbuka, jika anda belum merubah password, gunakan username dan password admin default, yaitu :

Username : admin 
Password : YAWL

 

Dalam contoh, saya akan membuat dua buah aktor, yaitu “Muhammad Arif” sebagai aktor 1 (peminjam), dan “Rohman Hakim” sebagai aktor 2 (pemeriksa). 
Klik tab Users. Kemudian klik tombol New di bagian kanan bawah. Masukkan First Name, Last Name, dan Password, kemudian klik Add.


5. Kembali lagi ke YAWL Editor, kini kita akan meng-assign resource (aktor) untuk setiap task
Klik kana salah satu task, lalu pilih Manage Resourcing... . Setelah itu pilih Next, pilih aktor yang akan menjalankan task tersebut, lalu klik Finish

Seperti yang telah saya jelaskan tadi, dalam contoh kasus ini, aktor 2 (pemeriksa akan melakukan seluruh task dalam proses kecuali task receive application yang dilakukan oleh aktor1 (peminjam).


6. Lakukan validation terhadap specification yang telah dibuat. Klik Menu Specification > Validate Specification. Jika tidak ada error yang muncul, maka akan nampak tampilan seperti gambar berikut :

 
 Setelah itu simpan file ini.

7. Langkah selanjutnya adalah meng-upload file specification yang telah kita buat tadi. Buka kembali YAWL Control Centre. Kemudian log-in sebagai admin. Masuk ke tab Cases, klik Browse, pilih file specification yang telah kita buat tadi, kemudian klik Upload File.



Setelah muncul tampilan seperti di bawah, klik file specifiation kita yang berupa kotak berwarna kuning di tengah (CreditAppProcess), kemudian klik Launch Case.


8. Langkah selanjutnya adalah melakukan simulasi terhadap kasus ini. Pertama logout dari admin lalu login sebagai aktor peminjam (Muhammad Arif). Setelah itu akan muncul tampilan seperti berikut :


Klik Accept > Start. Pindah ke tab Started, lalu klik View/Edit.


Lalu akan muncul tampilan seperti gambar berikut :


Karena kita sedang melakukan simulasi sebagai peminjam, maka kita bebas memasukkan nilai  pinjaman. Dalam contoh, saya masukkan nilai 1000 yang seharusnya nantinya akan masuk ke task perform checks for large amount. Setelah memasukkan besar pinjaman, klik Complete.


9. Langkah selanjutnya adalah melakukan simulasi sebagai petugas pemeriksa (Rohman Hakim). Logout dari user Muhammad Arif, lalu login sebagai Rohman Hakim. 
Langkah selanjutnya sama seperti langkah saat kita mensimulasikan sebagai peminjam. Klik Accept > Start. Pindah ke tab Started, lalu klik View/Edit. Masukkan variabel yang ingin disimulasikan kemudian klik Complete.

Untuk semua task selanjutnya juga sama, karena kita sedang melakukan simulaisi terhadap sebuah proses bisnis, maka kita bebas mengisi variabel dengan nilai apa saja senyata mungkin dengan kejadian aslinya.

Berikut ini akan saya tampilkan kelanjutan simulasi jika kita melakukan simulasi dengan alur kejadian normal.






10. Setelah kita selesai melakukan simulasi, kita bisa men-download log-file-nya. Login sebagai admin, lalu masuk ke tab Cases, lalu klik Download log.



Turorial selesai sampai di sini. Terima kasih.


0 Comments:

Post a Comment

Popular Posts