Pm4py: analisa bottleneck dari xes
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.