kakk

Resolved 💬 1 comment Opened Sep 23, 2025 by berlianaindri01-max Closed Sep 25, 2025

What version of Codex is running?

_No response_

Which model were you using?

_No response_

What platform is your computer?

_No response_

What steps can reproduce the bug?

from graphviz import Digraph

Membuat diagram dengan Graphviz

dot = Digraph(comment="Kerangka Berpikir Penelitian UMKM Mama Bakery")
dot.attr(rankdir='TB', size='10')

Definisi bentuk sesuai simbol

shapes = {
"process": "hexagon",
"outcome": "rectangle",
"decision": "diamond",
"startend": "oval"
}

Node utama

dot.node("A", "UMKM Mama Bakery", shape=shapes["startend"])
dot.node("B", "Permasalahan pada proses produksi UMKM", shape=shapes["process"])
dot.node("C", "Sistem Keamanan Pangan", shape=shapes["process"])

Cabang CPPB-IRT

dot.node("D1", "CPPB-IRT (Cara Produksi Pangan yang Baik IRT)", shape=shapes["process"])
dot.node("D2", "Penerapan di UMKM", shape=shapes["outcome"])
dot.node("D3", "Peraturan BPOM", shape=shapes["outcome"])

Cabang SSOP

dot.node("E1", "SSOP (Standard Sanitation Operating Procedure)", shape=shapes["process"])
dot.node("E2", "Penerapan SSOP", shape=shapes["outcome"])
dot.node("E3", "Pedoman SSOP", shape=shapes["outcome"])

Cabang HACCP

dot.node("F1", "HACCP (Hazard Analysis Critical Control Point)", shape=shapes["process"])
dot.node("F2", "Pedoman HACCP SNI 01-4852-1998", shape=shapes["outcome"])
dot.node("F3", "Rekomendasi penerapan HACCP", shape=shapes["outcome"])

Gap Analysis

dot.node("G", "Gap Analysis Checklist", shape=shapes["process"])

Decision

dot.node("H", "Memenuhi?", shape=shapes["decision"])
dot.node("I1", "Lanjut", shape=shapes["outcome"])
dot.node("I2", "Rekomendasi Perbaikan", shape=shapes["outcome"])
dot.node("I3", "Perbaikan", shape=shapes["process"])

Hubungan

dot.edges(["AB", "BC"])

CPPB-IRT

dot.edge("C", "D1")
dot.edge("D1", "D2")
dot.edge("D2", "D3")
dot.edge("D3", "G")

SSOP

dot.edge("C", "E1")
dot.edge("E1", "E2")
dot.edge("E2", "E3")
dot.edge("E3", "G")

HACCP

dot.edge("C", "F1")
dot.edge("F1", "F2")
dot.edge("F2", "F3")
dot.edge("F3", "G")

Gap Analysis ke Decision

dot.edge("G", "H")

Decision outcomes

dot.edge("H", "I1", label="Ya")
dot.edge("H", "I2", label="Tidak")
dot.edge("I2", "I3")
dot.edge("I3", "G", style="dashed")

Render ke file PNG

output_path = "/mnt/data/kerangka_berpikir"
dot.render(output_path, format="png", cleanup=True)

output_path + ".png"

What is the expected behavior?

from graphviz import Digraph

Membuat diagram dengan Graphviz

dot = Digraph(comment="Kerangka Berpikir Penelitian UMKM Mama Bakery")
dot.attr(rankdir='TB', size='10')

Definisi bentuk sesuai simbol

shapes = {
"process": "hexagon",
"outcome": "rectangle",
"decision": "diamond",
"startend": "oval"
}

Node utama

dot.node("A", "UMKM Mama Bakery", shape=shapes["startend"])
dot.node("B", "Permasalahan pada proses produksi UMKM", shape=shapes["process"])
dot.node("C", "Sistem Keamanan Pangan", shape=shapes["process"])

Cabang CPPB-IRT

dot.node("D1", "CPPB-IRT (Cara Produksi Pangan yang Baik IRT)", shape=shapes["process"])
dot.node("D2", "Penerapan di UMKM", shape=shapes["outcome"])
dot.node("D3", "Peraturan BPOM", shape=shapes["outcome"])

Cabang SSOP

dot.node("E1", "SSOP (Standard Sanitation Operating Procedure)", shape=shapes["process"])
dot.node("E2", "Penerapan SSOP", shape=shapes["outcome"])
dot.node("E3", "Pedoman SSOP", shape=shapes["outcome"])

Cabang HACCP

dot.node("F1", "HACCP (Hazard Analysis Critical Control Point)", shape=shapes["process"])
dot.node("F2", "Pedoman HACCP SNI 01-4852-1998", shape=shapes["outcome"])
dot.node("F3", "Rekomendasi penerapan HACCP", shape=shapes["outcome"])

Gap Analysis

dot.node("G", "Gap Analysis Checklist", shape=shapes["process"])

Decision

dot.node("H", "Memenuhi?", shape=shapes["decision"])
dot.node("I1", "Lanjut", shape=shapes["outcome"])
dot.node("I2", "Rekomendasi Perbaikan", shape=shapes["outcome"])
dot.node("I3", "Perbaikan", shape=shapes["process"])

Hubungan

dot.edges(["AB", "BC"])

CPPB-IRT

dot.edge("C", "D1")
dot.edge("D1", "D2")
dot.edge("D2", "D3")
dot.edge("D3", "G")

SSOP

dot.edge("C", "E1")
dot.edge("E1", "E2")
dot.edge("E2", "E3")
dot.edge("E3", "G")

HACCP

dot.edge("C", "F1")
dot.edge("F1", "F2")
dot.edge("F2", "F3")
dot.edge("F3", "G")

Gap Analysis ke Decision

dot.edge("G", "H")

Decision outcomes

dot.edge("H", "I1", label="Ya")
dot.edge("H", "I2", label="Tidak")
dot.edge("I2", "I3")
dot.edge("I3", "G", style="dashed")

Render ke file PNG

output_path = "/mnt/data/kerangka_berpikir"
dot.render(output_path, format="png", cleanup=True)

output_path + ".png"

What do you see instead?

_No response_

Additional information

_No response_

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗