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)

