Prosiding Seminar Nasional Manajemen Teknologi XVIII Program Studi MMT-ITS, Surabaya 27 Juli 2013
EXTRACTING PROCESS FRAGMENT FROM REPOSITORY FOR BUILDING NEW BUSINESS PROCESS MODEL Aris Sofan Lutfianto1, *), Chao Ou-Yang2) dan Bambang Syairudin3) 1) Teknik Industri, Institut Teknologi Sepuluh Nopember Jalan Raya ITS, Surabaya, 60111, Indonesia e-mail:
[email protected] 2) Industrial Management, National Taiwan University of Science and Technology 3) Teknik Industri, Institut Teknologi Sepuluh Nopember ABSTRAK Process fragments provide reusable granules of business process to enable process modeling based on existing knowledge. The need of reuse of some business part to fulfill companies’ requirements lead to the need of extracting business fragments from repository. The repository contains a set of process fragments derived from business process models in the same field of business. To build the repository, first we adopt and combine concept of variability and behavior context process to extract process fragment from business process model. From the repository, we use collection of process fragment to build a new business process model. The aim of this study is to propose a hybrid approach to extract process fragment from repository for develop new business process model. The prototype that we build shows that the proposed approach can actually be applied in practice for an easier and faster development of business process model. From the prototype that we build demonstrated that our proposed algorithm can properly detect all possible fragment. However, the efficiency of algorithms need to be improved.. Keywords: process fragment, business process, repository, prototype
PENDAHULUAN Sebuah rancangan proses bisnis, yang dibangun sepenuhnya dari awal, tidak memiliki fleksibilitas sebagai suatu proses bisnis yang harus dilaksanakan, dioptimalkan, dan diuji dalam jangka waktu yang singkat. Daripada membangun proses bisnis baru dari awal, akan lebih efisien jika proses yang sudah ada digunakan kembali. Hal ini dapat meningkatkan produktivitas dan memperpendek waktu pengembangan. Lebih baik lagi, jika perancang proses hanya perlu untuk memilih fragmen dari beberapa koleksi proses bisnis yang ada. Dengan demikian, perancang hanya perlu untuk mengintegrasikan fragmen tersebut saat membangun proses bisnis baru. Karakteristik utama dari fragmen proses (yang selanjutya disebut fragmen) adalah (i) tautan kontrol tidak memiliki sumber maupun target (disebut entri fragmen dan keluar fragmen atau ujung menggantung) dan (ii) merupakan tempat untuk menyimpan variabilitas (disebut region). Melakukan proses identifikasi dan perancangan fragmen yang reusabel bukan hal sepele. Hal ini membutuhkan pemahaman yang komprehensif dari domain bisnis organisasi saat ini, sekaligus mempertahankan tujuan bisnis sekarang dan mendatang serta tetap mengingat strategi (Leymann, 2008). Kebutuhan dalam penggunaan kembali sebagian proses bisnis untuk memenuhi kebutuhan perusahaan mengarah pada kebutuhan untuk penggalian fragmen bisnis dari model proses bisnis.
ISBN : 978-602-97491-7-5 A-18-1
Prosiding Seminar Nasional Manajemen Teknologi XVIII Program Studi MMT-ITS, Surabaya 27 Juli 2013
Fragmen diharapkan menjadi suatu granula yang dapat digunakan kembali untuk perancangan proses bisnis: Bagian-bagian yang mana dapat dapat dikelola dan diambil kembali (Oliver Kopp, 2011). Fragmen yang muncul dalam beberapa proses tidak harus dimodelkan dari awal tetapi dapat disimpan dalam suatu perpustakaan fragmen. Sebelum perpustakaan fragmen dikenal, telah ada perangkat lunak perpustakaan proses bisnis atau dikenal sebagai perangkat lunak repositori model proses bisnis (Yan, Dijkman, & Grefen, 2012). Perangkat lunak tersebut membantu organisasi yang mengelola koleksi model proses bisnis dalam jumlah besar, yakni ratusan bahkan ribuan. Sejumlah fungsi manajemen umum seperti sebagai tempat penyimpanan, pencarian dan pengelolaan versi model telah didukung oleh repositori tersebut. Dengan demikian, perangkat lunak dengan fungsi serupa tentu dapat dibangun untuk mengelola fragmen. Dalam proses ekstraksi fragmen dari koleksi model proses bisnis, kami menggunakan konsep variabilitas (Radgui, et al., 2012). Variabilitas dapat diterjemahkan sebagai varian dan titik variasi. Untuk BPMN, titik variasi, yang merupakan tempat variasi berada, dapat berupa gateways maupun events sedangkan varian digambarkan sebagai obyek variasi. Bagan 1 menunjukkan varian dan titik variasi.
Bagan 1. Varian dan titik variasi
Menimbang bahwa varian pada umumnya merupakan jalur alternatif dari sebuah eksekusi dalam suatu alur kerja, varian dipisahkan oleh dua titik variasi. Dalam studi ini, kami menerjemahkan varian tersebut sebagai sebuah fragmen. This approach can be used to extract a set of process fragments that encapsulate a business goal, from any model. Bagan 2 a) menampilkan model proses bisnis generik. Merujuk pada konsep variabilitas, beberapa varian yang terdapat di Bagan 2 a) dapat diekstrak; Bagan 2 b) menggambarkan varian yang teridentifikasi.
Bagan 2. Model proses bisnis yang dinotasikan dengan BPMN
Sebagian besar tulisan yang membahas fragmen masih berada di tataran konsep. Implementasi untuk menghasilkan fragmen yang reusabel baru sedikit dibahas, salah satunya adalah fragmento (Schumm, et al, 2011). Oleh karena itu, dalam studi ini akan diusulkan rancangan pendekatan dan berikut implementasinya untuk mengidentifikasi fragmen bisnis dari beberapa koleksi model proses bisnis dalam suatu. Proses identifikasi tersebut bertujuan ISBN : 978-602-97491-7-5 A-18-2
Prosiding Seminar Nasional Manajemen Teknologi XVIII Program Studi MMT-ITS, Surabaya 27 Juli 2013
untuk membangun model proses bisnis baru. Dalam studi ini, koleksi beberapa model proses bisnis di perpustakaan akan diesktrak dengan kata kunci sebagai pemicu eksekusi proses ekstraksi. METODE Studi ini diawali pembangunan perpustakaan model proses bisnis. Model proses bisnis tersebut didesain menggunakan suatu notasi. Business Process Modeling Notation (BPMN) dipilih sebagai notasi untuk merancang proses bisnis. Selanjutnya, model proses bisnis disimpan di dalam perangkat lunak perpustakaan model proses bisnis dengan format extra mark-up language (XML). Dari perpustakaan model proses bisnis inilah, identifikasi fragmen proses dieksekusi menggunakan kata kunci sebagai pemicunya. Kata kunci tersebut merepresentasikan karakteristik fragmen yang perancang perlukan. Secara lengkap, pendekatan yang digunakan untuk mendapatkan fragmen dengan menggunakan kata kunci ditunjukkan pada Bagan 3.
Mengetikkan kata kunci untuk mencari fragmen
Mulai
Mencari kata kunci alternatif di perpustakaan kata Pengetikan Kata Kunci
Proses ekstraksi fragmen
1 Ekstraksi Fragmen
Tersedia
Ya
Ya
Tampilkan Fragmen
Tidak
2 Kata Kunci Alternatif Tersedia
Pencarian Kata Kunci Aalternatif
Tampilkan Fragmen
Tidak
Berhenti
Bagan 3. Proses memperolah fragment dalam repositori
Pertama, pengguna memasukkan kata kunci. Sistem akan melakukan ekstraksi fragmen dari repositori yang cocok dengan kata kunci. Proses pencocokan tersebut dilakukan dengan membandingkan antara kata kunci yang dimasukkan dengan beberapa atribut fragmen (nama fragmen, deskripsi fragmen maupun state yang terkandung dalam fragmen). Jika fragmen ditemukan, sistem akan menampilkan fragmen tersebut. Ketika fragmen tak ditemukan, langkah berikutnya adalah pencarian kata kunci alternatif di dalam perpustakaan kata. Dalam studi ini, telah dibangun juga perpustakaan kata yang bertujuan untuk memberikan referensi kata kunci alternatif kepada pengguna. Kata kunci alternatif tersebut ditautkan kepada beberapa kata tersimpan yang memiliki kesamaan makna di dalam perpustakaan. Perpustakaan ini dibangun untuk mengantisipasi seandainya kata kunci yang ISBN : 978-602-97491-7-5 A-18-3
Prosiding Seminar Nasional Manajemen Teknologi XVIII Program Studi MMT-ITS, Surabaya 27 Juli 2013
dimasukkan oleh engguna tidak sama persis dengan kata yang tersedia di perpustakaan. Bisa saja, pengguna memasukkan suatu kata kunci yang secara semantik memiliki kesamaan makna dengan kata lainnya. Oleh karena itu, mekanisme pencarian kata kunci alternatif dan perpustakaan kata dibangun untuk melengkapi sistem yang kami bangun. Proses ekstraksi fragmen dari repositori Pada bagian ini, kami akan menjelaskan lebih rinci terkait proses ekstraksi fragmen. Sebagaimana telah dibahas sebelumnya, varian diterjemahkan sebagai sebuah fragmen yang berada di antara dua titik variasi. Dalam studi ini, dua titik variasi tersebut kami definisikan sebagai kepala dan ekor yang dapat memiliki satu atau lebih fragmen. Sebuah fragmen dapat berisi satu atau lebih activity atau process. Untuk menerjemahkan konsep tersebut di tataran teknis, kami membangun algoritma head and tail. Dalam algoritma tersebut, kami menerjemahkan titik variasi sebagai head dan tail. Bila diurut secara rentetan alur kerja dalam suatu model bisnis, titik variasi pertama yang diidentifikasi dinamakan sebagai head dan titik variasi berikutnya dinamakan sebagai tail. Error! Reference source not found. menunjukkan algoritma head and tail. Baris pertama menggambarkan proses pembacaan gate (titik variasi, seperti gateway atau events) dari repositori model. Model tersebut tersimpan sebagai berkas XML yang dimuat kedalam memori. Selanjutnya, setiap gate (gateway atau event) disimpan kedalam array H. Untuk setiap konten H akan dieksekusi satu-persatu sebagai head. GetNextOutflow adalah fungsi yang memeriksa seluruh target referensi (outflow) dari setiap head. NextTarget adalah fungsi yang berperan memeriksa apakah target referensi. Jika outflow menunjuk pada suatu state (process atau sub-process), state disimpan kedalam VariantBuffer. Jika outflow menunjuk pada gate lainnya (yang disebut sebagai tail), seluruh konten dari VariantBuffer disimpan kedalam repositori sebagai sebuah fragmen. Fragmen yang disimpan tersebut perlu diberi atribut berupa nama dan deskripsi yang sesuai dengan tujuan bisnis dari fragmen tersebut. Head and Tail Algorithm 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Read gate from XMLfile // every XML file in repository Let H as set of Gate // Gate can be gateway or events Foreach H Set H as Head IdFlow GetNextOutflow(Head) // return outflow ID from Head Foreach IdFlow Target NextTarget(IdFlow) If Target is Task or Sub Store to VariantBuffer Else // If Target is a Gate Store to fragment’s buffer then Store fragment to Repository End Foreach // IdFlow End Foreach // H
Bagan 4. Algoritma Head and Tail
Mekanisme pencarian kata kunci alternatif Misalkan, pengguna memasukkan kata 'invoice'. Ekstraksi fragmen dilakukan dengan kata kunci tersebut. Saat kata kunci tersebut tak ditemukan di dalam atribut fragmen, sistem akan menggunakan mekanisme pencarian kata kunci alternatif. Mekanisme lengkap tentang
ISBN : 978-602-97491-7-5 A-18-4
Prosiding Seminar Nasional Manajemen Teknologi XVIII Program Studi MMT-ITS, Surabaya 27 Juli 2013
bagaimana sistem akan merespon ketika kata kunci yang dimasukkan pengguna tersebut tidak ditemukan dalam atribut fragmen dapat dilihat pada Bagan 5. USER TYPED
TERM LIBRARY
invoice
RELATION TABLE
TERM LIBRARY
ALTERNATIVE WORD
id
term
w_id
s_id
id
term
bill
1
invoice
1
11
1
invoice
charge
2
cash
1
25
2
cash
. . .
... ... ...
2
56
3
89
. . .
... ... ...
. . .
11
bill
. . .
... ... ...
25
charge
11
bill
. . .
. . .
... ... ...
79
102
79
332
25
charge
. . .
. . .
Bagan 5. Mekanisme pencarian kata kunci alternatif
Pengujian Model Berhierarki Untuk menguji pendekatan yang dibangun, dilibatkan sejumlah model dengan beberapa karakteristik relasi logikal. Relasi logikal berisi tiga bagian, yakni paralel, sekuensial dan kombinasi keduanya. Ketiga relasi logikal tersebut dikombinasikan dengan model yang mengandung layer dan sub-process. Tabel 1 menunjukkan kombinasi tersebut. Tabel 1. Kombinasi model dengan relasi logikal Single Sub
Multi-Sub
Parallel
Sequence
Multi-Layer
Both
Containing Logical Relationship
Single Layer
Dari seluruh kombinasi model di dalam Tabel 1 dibangun model 12 model skenario.All combinations of models contained in Table 4, we construct 12 test scenarios. Tujuan ujicoba ini adalah untuk mengetahui dalam lingkungan (kombinasi model) seperti apa ISBN : 978-602-97491-7-5 A-18-5
Prosiding Seminar Nasional Manajemen Teknologi XVIII Program Studi MMT-ITS, Surabaya 27 Juli 2013
metode yang diusulkan dapat berjalan dengan baik dan optimal. Disamping itu, juga akan diselidiki hal-hal yang berpengaruh terhadap kinerja metode. Sebuah prototipe perangkat lunak dibangun untuk proses validasi metode. Fungsi Fragment Extractor dibangun dan diintegrasikan kedalam prototipe. Sejumlah fungsi seperti XML parser, Fragment Depositor and Retriever juga dibangun dan diintegrasikan untuk menunjang validasi metode yang diusulkan. Dalam implementasi saat ini, integrasi antara perangkat lunak desainer model proses bisnis dengan prototipe. Integrasi tersebut disimpan untuk studi berikutnya. HASIL DAN PEMBAHASAN Setelah kombinasi model berhierarki didefinisikan dan beberapa model proses bisnis dibangun sesuai dengan karakteristik kombinasi tersebut, pengujian dieksekusi dan Tabel 2 memaparkan ringkasan hasilnya. Dari pengujian ini, didapati berapa jumlah gateway, activity, sub, dan fragment candidate yang teridentifikasi dari setiap tipe kombinasi model. Waktu eksekusi (running time) dalam satuan waktu juga dicatat. Tabel 2. Hasil Eksekusi Nomor
Tipe Model Proses Bisnis
Events
Gateway
Jumlah Activity
Sub
Fragment
Waktu Eksekusi
1
Single Layer (Sequence)
2
2
4
0
2
15
2
Single Layer (Parallel)
2
2
5
0
5
17
3
Single Layer(Both)
2
3
8
0
6
24
4
Multi-Layer(Sequence)
2
3
6
0
2
21
5
Multi-Layer (Parallel)
2
4
10
0
10
31
6
Multi-Layer (Both)
2
6
16
0
12
45
7
Single Sub (Sequence)
2
0
1
1
1
7
8
Single Sub (Parallel)
2
2
4
1
5
18
9
Single Sub (Both)
2
3
4
1
5
21
10
Multi Sub (Sequence)
2
2
0
2
2
15
11
Multi Sub (Parallel)
2
2
2
2
4
17
12
Multi Sub (Both)
2
3
4
2
6
23
Kita dapati sejumlah hal dari hasil eksekusi pengujian. Pertambahan jumlah gateway selaras dengan pertambahan running time (perhatikan baris 8 dan 9). Pertambahan jumlah activity juga selaras dengan pertambahan running time (perhatikan baris 1 dan 2). Demikian halnya dengan jumlah sub, pertambahannya selaras dengan peningkatan waktu eksekusi (perhatikan baris 1 dan 8). Namun, khusus untuk parameter berupa event, belum dapat disimpulkan pengaruh pertambahan jumlahnya terhadap waktu eksekusi. Mengingat event juga merupakan titik variasi seperti gateways, tentu berpeluang jika pertambahannya juga akan berpengaruh terhadap peningkatan dalam waktu eksekusi. Untuk memastikan hal tersebut, dalam tahap pengujian kami membangun 2 model baru dengan
ISBN : 978-602-97491-7-5 A-18-6
Prosiding Seminar Nasional Manajemen Teknologi XVIII Program Studi MMT-ITS, Surabaya 27 Juli 2013
jumlah event berbeda untuk mengetahui pengaruhnya terhadap waktu eksekusi. Bagan 6 menunjukkan pengaruh jumlah events terhadap waktu eksekusi. Case
Model
Events
Gateway
Activity
Sub
Fragment
Running Time
13
Additional Case 1
2
7
15
0
15
50
14
Addtitional Case 2
3
7
15
0
15
51
Bagan 6. Pengaruh jumlah Events terhadap Waktu Eksekusi
Sejumlah fragmen yang ditemukan untuk setiap model menunjukkan jika algoritma telah mampu mengidentifikasi fragmen dari repositori. Di samping itu, algoritma juga dapat mengidentifikasi fragmen dari model proses bisnis dalam penelitian Radgui, et al. Hal ini bermakna bahwa fragmen-fragmen tersebut dapat menjadi referensi desainer dalam membangun proses bisnis baru. Fragmen yang dihasilkan dari proses ekstraksi dapat dimuat dalam format XML. Dengan demikian, fragmen tersebut dapat dimasukkan kedalam perangkat desainer BPMN sehingga desainer tidak perlu membangun keseluruhan model dari awal. Kompleksitas dan performa algoritma Algoritma head and tail dikategorikan sebagai algoritma eksak yang akan menghasilkan seluruh hasil (fragmen) yang memungkinkan. Algoritma eksak berkarakteristik memiliki tingkat presisi yang tinggi namun memerlukan waktu eksekusi yang relatif besar. Notasi big O digunakan untuk mengukur tingkat kompleksitas atau performa algoritma head and tail. Dari pengukuran tersebut, didapatkan jika big O untuk algoritma ini setara dengan O(N6). KESIMPULAN DAN SARAN Tujuan dari studi ini adalah untuk mengekstrak fragmen dari model proses bisnis di dalam repositori untuk membangun model proses bisnis baru. Pendekatan yang diusulkan menggunakan konsep variabilitas. Penelitian ini menggunakan BPMN sebagai notasi dalam merancang model proses bisnis. Variabilitas diterjemahkan dalam istilah titik variasi dan varian sebagaimana konsep tersebut diperkenalkan oleh Radgui, et al. Kata kunci digunakan untuk memicu proses ekstraksi fragmen dari repositori. Algoritma head and tail dikembangkan hingga ke tataran teknis untuk menunjang proses otomasi. Algoritma tersebut telah berhasil mengidentifikasi setiap fragmen dalam repositori dengan baik. Elemen lain dari model proses bisnis juga berhasil diidentifikasi dengan baik. Teridentifikasinya fragmen dari repositori dengan tingkat presisi tinggi, menunjang penghematan waktu yang diperlukan oleh desainer dalam merancang model proses bisnis baru. Hal ini selaras dari tujuan fragmen, yakni untuk meningkatkan efisiensi dalam merancang proses bisnis baru. Algoritma head and tail termasuk kategori algoritma eksak. Dimana tingkat presisi dari algoritma sangat tinggi namun boros dalam konsumsi waktu eksekusi. Jumlah waktu eksekusi yang diperlukan berbanding lurus dengan tingkat kompleksitas model. Untuk mengantisipasi jumlah koleksi proses bisnis yang sangat besar dalam repository, algoritma ini
ISBN : 978-602-97491-7-5 A-18-7
Prosiding Seminar Nasional Manajemen Teknologi XVIII Program Studi MMT-ITS, Surabaya 27 Juli 2013
dapat dikembangkan dengan metode heuristik. Dengan demikian, masalah konsumsi waktu dapat tertangani meskipun hal ini akan berpengaruh juga dalam tingkat presisi. Dalam studi ini, prototipe dibangun untuk memastikan jika metode yang diusulkan secara nyata dapat diterapkan. Disamping untuk mengimplementasikan fungsi ekstraksi fragmen, prototipe juga telah dilengkapi dengan implementasi mekanisme pencarian kata kunci alternatif. Hal tersebut untuk menyimulasikan dan membuktikan jika metode yang diusulkan dapat diimplementasikan secara nyata. Guna memberikan ilustrasi yang lebih nyata dalam pembentukan model bisnis baru, contoh model bisnis nyata diperlukan untuk pengujian tahap berikutnya. DAFTAR PUSTAKA Leymann, Zhilei Ma and Frank. (2008). A Lifecycle Model for Using Process Fragment in Business Process Modelling. Paper presented at the The 9th Workshop on Business Process Modeling, Development, and Support, Montpellier, France. Oliver Kopp, Frank Leymann, David Schumm, Tobias Unger. (2011). On BPMN Process Fragment Auto-Completion (Vol. 705). Karlsruhe, Germany: CEUR-WS.org. Radgui, M., Saidi, R., & Mouline, S. (2012, 18-20 Sept. 2012). Extracting reusable fragments from business process using BPMN. Paper presented at the Innovative Computing Technology (INTECH), 2012 Second International Conference on. Yan, Zhiqiang, Dijkman, Remco, & Grefen, Paul. (2012). Business process model repositories – Framework and survey. Information and Software Technology, 54(4), 380-395. doi: http://dx.doi.org/10.1016/j.infsof.2011.11.005 Zemni, M. A., Hadj-Anouane, N. B., & Yeddes, M. (2012, 16-20 July 2012). A SemanticsBased Privacy-Aware Approach for Fragmenting Business Processes. Paper presented at the Computer Software and Applications Conference Workshops (COMPSACW), 2012 IEEE 36th Annual.
ISBN : 978-602-97491-7-5 A-18-8