Pm4py: analisa bottleneck dari xes

From OnnoWiki
Jump to navigation Jump to search

Berikut adalah contoh kode Python menggunakan pustaka PM4Py untuk menganalisis bottleneck dalam proses bisnis berdasarkan data dari file XES. Kode ini akan memuat log dari file XES, melakukan analisis performa, dan memvisualisasikan Performance Spectrum untuk mengidentifikasi bottleneck dalam proses.

1. Instalasi PM4Py (jika belum terinstal)

pip install pm4py graphviz pandas

2. Muat dan Analisis File XES

import pm4py

xes_filename = 'BPIC_2012_A.xes'
# xes_filename = 'BPIC_2012_W.xes'
# xes_filename = 'BPIC_2012_O.xes'
# xes_filename = 'BPI_Challenge_2019.xes'
# xes_filename = 'PM4PY-running-example.xes'
# xes_filename = 'Cross_Hospital.xes'
# xes_filename = 'excercise.xes'
# xes_filename = 'Production.xes'
# xes_filename = 'training_log_1.xes'
# xes_filename = 'training_log_3.xes'
# xes_filename = 'training_log_8.xes'

from pm4py.objects.log.importer.xes import importer as xes_importer

# Import XES log
log = xes_importer.apply(xes_filename)

# Cek jumlah kasus dan aktivitas
print(f"Jumlah kasus: {len(log)}")
activities = set()
for trace in log:
    for event in trace:
        activities.add(event['concept:name'])
print(f"Jumlah aktivitas unik: {len(activities)}")

from pm4py.algo.discovery.dfg import algorithm as dfg_discovery
from pm4py.visualization.dfg import visualizer as dfg_visualization

# DFG berdasarkan frekuensi
dfg = dfg_discovery.apply(log, 
variant=dfg_discovery.Variants.FREQUENCY)

# Tampilkan visualisasi
dfg_vis = dfg_visualization.apply(dfg, log=log, 
variant=dfg_visualization.Variants.FREQUENCY)
dfg_visualization.view(dfg_vis)

Penjelasan Kode:

1. Muat Event Log:

  • Menggunakan `pm4py.read_xes()` untuk membaca file XES yang berisi log proses.

2. Analisis Performa:

  • Menggunakan `pm4py.algo.discovery.performance_dfg.variants.performance()` untuk menganalisis durasi antara aktivitas dalam proses, membantu mengidentifikasi area yang mungkin menjadi bottleneck.

3. Visualisasi Performance Spectrum:

  • Menggunakan `pm4py.visualization.performance_spectrum.visualizer.apply()` untuk membuat visualisasi yang menunjukkan distribusi waktu antar aktivitas, membantu dalam mengidentifikasi bottleneck dalam proses.

Catatan:

  • Pastikan file XES Anda memiliki format yang sesuai dan memuat informasi yang diperlukan untuk analisis performa.

( Analisis bottleneck dapat ditingkatkan dengan menggunakan metode visualisasi lain seperti Gantt Chart atau Dotted Chart yang juga didukung oleh PM4Py.

Pranala Menarik