Pm4py: analisa bottleneck dari xes: Difference between revisions

From OnnoCenterWiki
Jump to navigationJump to search
No edit summary
 
Line 9: Line 9:
  import pm4py
  import pm4py
   
   
  # Muat event log dari file XES
xes_filename = 'BPIC_2012_A.xes'
  log = pm4py.read_xes('path/to/your/log.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'
   
   
  # Lakukan analisis performa untuk mengidentifikasi bottleneck
  from pm4py.objects.log.importer.xes import importer as xes_importer
performance_map = pm4py.algo.discovery.performance_dfg.variants.performance(log)
   
   
  # Visualisasikan Performance Spectrum
  # Import XES log
  pm4py.visualization.performance_spectrum.visualizer.apply(performance_map)
  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:'''==
=='''Penjelasan Kode:'''==

Latest revision as of 07:57, 30 March 2025

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