Analisa dan Implementasi Proses Bisnis Menggunakan Algoritma Alpha, Alpha+, dan Alpha++ Audit Perangkat Lunak Dokumen ini digunakan untuk memenuhi Pra UAS Mata Kuliah Audit Perangkat Lunak yang diampu oleh Prof. Ir. Riyanarto Sarno, SE, MSc, PhD 2013 Oleh Fadlika Dita Nurjanto 5110100132 Kelas Audit A Jurusan Teknik Informatika Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Surabaya
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Analisa dan Implementasi Proses Bisnis Menggunakan Algoritma Alpha, Alpha+, dan Alpha++ Audit Perangkat Lunak Dokumen ini digunakan untuk memenuhi Pra UAS Mata Kuliah Audit Perangkat Lunak yang diampu oleh Prof. Ir. Riyanarto Sarno, SE, MSc, PhD
2013
Oleh
Fadlika Dita Nurjanto
5110100132
Kelas Audit A
Jurusan Teknik Informatika Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Surabaya
A. Pendahuluan Process mining bertujuan untuk mengesktrak informasi dari event log dari sebuah case
dengan tujuan untuk menangkap proses bisnis yang telah tereksekusi. Process mining
sangatlah berguna dalam situasi di mana kejadian direkam tetapi tidak ada sistem yang
mengarahkan orang-orang untuk bekerja dengan prosedur yang sesuai. Salah satu
contohnya adalah proses yang terjadi dalam diagnosis rumah sakit di mana diagnosa yang
dilakukan selalu dicatat di sistem informasi rumah sakit, tetapi alur proses tidak selalu sesuai
dengan prosedur yang ada. Salah satu jenis algoritma process mining sederhana yang dapat
digunakan untuk menangkap proses bisnis dari event log yang adalah adalah algoritma
Alpha. Dalam pelaksanaannya, algoritma Alpha memiliki berbagai kekurangan, yang nantinya
akan diperbaiki oleh algoritma Alpha+ dan Alpha++.
B. Implementasi Pada percobaan kali ini akan ditunjukkan contoh implementasi algoritma Alpha, Alpha+ dan
Alpha++. Implementasi akan dilakukan secara manual kemudian dibandingkan dengan hasil
implementasi mining event log dengan menggunakan Tools ProM.
Untuk itu, langkah pertama yang dilakukan adalah menentukan contoh case yang akan
digunakan pada laporan berikut ini. Case yang digunakan pada percobaan kali ini adalah
sebagai berikut :
Dari case tersebut, akan dilakukan percobaan dengan menggunakan 3 algoritma, yaitu
Alpha, Alpha+, dan Alpha++.
CASE 1 : A C D H O W P S T V
CASE 2 : A C D H O W Q S U V
CASE 3 : A C F N R
CASE 4 : A C F Z Y R
CASE 4 : A C F Z Y R
CASE 4 : A C F Z Y R
CASE 4 : A C F Z Y R
CASE 5 : A C F Y Z R
CASE 5 : A C F Y Z R
CASE 5 : A C F Y Z R
CASE 5 : A C F Y Z R
CASE 6 : A C D H G H O W P S T V
CASE 7 : A C D H G H O W Q S U V
CASE 8 : A C E I L W P S T V
CASE 9 : A C E J L W Q S U V
CASE 10 : A C D H G H G H O W Q S U V
CASE 11 : A B B C F N R
CASE 12 : A B B C D H O W P S T V
1. Algoritma Alpha Langkah-langkah yang digunakan dalam Algoritma Alpha untuk menemukan Workflow
Net / Petri Net dari case yang sudah diberikan adalah sebagai berikut :
1) Membuat sekumpulan transisi dari event log pada Workflow net ( )
2) Membuat sekumpulan transisi output dari source place pada Workflow net ( )
3) Membuat sekumpulan transisi input dari sink place pada Workflow net ( )
4) Pada langkah ke-4 dan 5, digunakan untuk menentukan place dari Workflow net
yang sudah ditemukan. Pada langkah ke-4 algoritma α menentukan Transisi mana
yang berelasi secara casual. Sehingga untuk setiap tuple (A, B) setiap transisi di set A
akan berelasi secara causal pada semua transisi di set B. Dan tidak ada relasi di
antara A dan B yang saling mengikuti (follow) satu sama lain
5) Set hasil dari langkah-4 diperbaiki dengan hanya mengambil elemen yang paling
besar. Langkah ke-5 menentukan jumlah pasti places yang dimiliki oleh Workflow
net.
6) Places yang sebelumnya diidentifikasi dibuat.
7) Masing-masing place dihubungkan dengan transisi input/output yang bersesuaian.
8) Algoritma kemudian mengembalikan Workflow net yang diperoleh dari langkah-
langkah sebelumnya.
Detail langkah-langkah dalam Algoritma α adalah sebagai berikut:
1) Membuat Sekumpulan Transisi di Workflow net ( )
Dari event log di atas, didapatkan transisi pada workflow adalah sebagai berikut:
Persamaan yang digunakan untuk mencari adalah
{ |
2) Membuat Transisi Output Source Place Pada Workflow net ( )
Persamaan yang digunakan adalah { |
Transisi output yang dihasilkan adalah
3) Membuat Transisi Input Sink Place Pada Workflow net ( )
Persamaan yang digunakan adalah { |
A B C D E F G H I J L N
O P Q R S T U V X Y Z
A
Transisi input yang dihasilkan adalah dan
4) Algoritma α Menentukan Transisi Mana Yang Berelasi Secara Casual
Persamaan yang digunakan adalah { |
5) Menentukan Jumlah Pasti Places yang Dimiliki Oleh Workflow net
Persamaan yang digunakan adalah { |
Dari langkah 4 dan 5, tuple yang dihasilkan adalah sebagai berikut :
Total place yang diketahui ada 15 place.
6) Membuat Place yang Sudah Teridentifikasi Sebelumnya
Persamaan yang digunakan pada tahap ini adalah { |
{ . Place yang sudah teridentifikasi adalah sebagai berikut :
R V
(A), (B, C) p1
(B) one loop
(C), (D, E, F) p2
(D), (H) p3
(E), (I, J) p4
(F), (N, Y, Z) p5
(H), (G) p?
(H), (O) p6
(I, J), (L) p7
(L), (W) p8
(O), (W) p9
(W), (P, Q) p10
(P, Q), (S) p11
(S), (T, U) p12
(T, U), (V) p13
(N), (R) p14
(Z, Y), (R) p15
7) Menghubungkan place-place yang ada dengan input dan output yang
tersedia
Setelah place-place sudah teridentifikasi, langkah berikutnya adalah
menghubungkan sehingga menjadi Petrinet yang saling terhubung.
Perbandingan implementasi case dengan menggunakan plugin Alpha Miner di Prom
6.2. Tahap-tahapnya adalah sebagai berikut.
Dalam contoh berikut, digunakan file XES yang merepresentasikan event log dari
case yang dijalankan. File XES diimport lewat ProM 6.2 dan kemudian dianalisa
p1
p2
p3
p4
p5
p6
p7
p8
p9
p10
p11
p12
p13
p14
p15
o
i
dengan menggunakan plugin Alpha Algorithm. Hasilnya adalah Petrinet yang
terbentuk dan merepresentasikan workflow pada case yang dijalankan.
Perlu diperhatikan, ada 1 event yang tidak terhubung dengan event yang lainnya.
Event ini adalah event B, di mana pada event log terlihat bahwa event B bersifat
length-one-loop sehingga tidak dapat terdeteksi jika menggunakan algoritma Alpha.
Kekurangan ini akan ditangani oleh algoritma Alpha+.
2. Algoritma Alpha+ Algoritma Alpha+ merupakan algoritma perbaikan dari kekurangan pada algoritma Alpha
biasa. Kekurangan-kekurangan algoritma Alpha antara lain adalah : length-one-loop,
length-two-loop, invisible task, duplicate task, implicit places, dan non-free-choice.
Algoritma Alpha+ ini memperbaiki kekurangan algoritma Alpha pada bagian short-loop,
di mana salah satu jenisnya adalah length-one-loop.
Implementasi kali ini menggunakan case yang sama dengan case yang digunakan pada
implementasi algoritma Alpha sebelumnya. Casenya adalah sebagai berikut :
Seperti diketahui sebelumnya pada hasil dari implementasi algoritma Alpha ada
beberapa event yang terisolir dari event-event yang lain karena bersifat length-one-loop
sehingga pada sebuah case dapat dijalankan lebih dari 1 kali.
Langkah-langkah pada implementasi Algoritma Alpha+ adalah sebagai berikut :
1) Menentukan event log yang akan dianalisa ( ).
pada kasus kali ini adalah {ACDHOWPSTV, ACDHOWQSUV, ..., ABBCDHOWPSTV}
2) Mengidentifikasi Length-one-loop yang terjadi pada transisi-transisi dalam sebuah
case ( ).
Perhatikan pada yang ada, ada beberapa case memiliki length-one-loop.
Length loop yang ditemukan antara lain = {B} pada Case 12 {ABBCDHOWPSTV}
3) Dengan menggunakan algoritma Alpha, kita identifikasi place yang terbentuk
berdasarkan hubungan causal dan direct succession antara transition-transition yang
ada. Dari place yang ada, identifikasi place yang memiliki arc akses langsung ke .
Disimbolkan dengan . yang berhasil diidentifikasi adalah = {p1 B}
CASE 1 : A C D H O W P S T V
CASE 2 : A C D H O W Q S U V
CASE 3 : A C F N R
CASE 4 : A C F Z Y R
CASE 4 : A C F Z Y R
CASE 4 : A C F Z Y R
CASE 4 : A C F Z Y R
CASE 5 : A C F Y Z R
CASE 5 : A C F Y Z R
CASE 5 : A C F Y Z R
CASE 5 : A C F Y Z R
CASE 6 : A C D H G H O W P S T V
CASE 7 : A C D H G H O W Q S U V
CASE 8 : A C E I L W P S T V
CASE 9 : A C E J L W Q S U V
CASE 10 : A C D H G H G H O W Q S U V
CASE 11 : A B B C F N R
CASE 12 : A B B C D H O W P S T V
4) Menghapus seluruh length-one-loop transition untuk kemudian diproses
menggunakan algoritma Alpha. Pada kasus kali ini, = {A, C, D, E, F, G, H, I, J, L,
N, O, P, Q, R, S, T, U, V, X, Y, Z}
5) Menemukan Place Dengan Menggunakan Algoritma Alpha
Dengan menggunakan Algoritma Alpha, cari place yang digunakan untuk
menghubungkan transition yang ada. .
Place yang ditemukan adalah = {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12,
p13, p14, p15}.
6) Penggabungan Struktur Transition
Kemudian dilakukan penggabungan struktur transition antara struktur yang
dihasilkan oleh algoritma Alpha dengan daftar transition yanng bersifat length-one-
loop. Rumus yang digunakan adalah . Sehingga = {A, B, C,
D, E, F, G, H, I, J, L,N, O, P,Q ,R, S, T, U, V, X, Z}
7) Penggabungan Transition Dengan Place
Arc yang telah dihasilkan oleh algoritma Alpha disimpan dan digabungkan dengan