Create Graph from Text

GraphViz

digraph Flowchart {
    rankdir=TB;
    node [shape=box, style=rounded];
    
    S [label="Mulai", shape=ellipse];
    T [label="Studi Literatur"];
    U [label="Pembuatan MFC"];
    V [label="Pengujian MFC"];
    W [label="Output sesuai ?", shape=diamond];
    X [label="Identifikasi sistem MFC"];
    Y [label="Pemilihan dan pengujian komponen"];
    Z [label="Karakteristik komponen sesuai kebutuhan ?", shape=diamond];
    A [label="A", shape=circle, width=0.2];
    A1 [label="A", shape=circle, width=0.2];
    C [label="Desain Rangkaian"];
    D [label="Pengujian Simulasi dan Analisis Rangkaian"];
    E [label="Output sesuai ?", shape=diamond];
    F [label="Desain PCB"];
    G [label="Simulasi dan Analisis PCB"];
    H [label="Sistem bekerja ?", shape=diamond];
    I [label="B", shape=circle, width=0.2];
    I1 [label="B", shape=circle, width=0.2];
    K [label="Mengevaluasi prototipe"];
    L [label="Assembly dan Programming"];
    M [label="Sistem bekerja ?", shape=diamond];
    N [label="Optimasi Rangkaian"];
    O [label="Assembly dan Programming"];
    P [label="Pengujian sistem"];
    Q [label="Mendekati prediksi ?", shape=diamond];
    R [label="Dokumentasi dan Publikasi"];
    TT [label="Selesai", shape=ellipse];
    
    S -> T;
    T -> U;
    U -> V;
    V -> W;
    W -> T [label="Tidak"];
    W -> X [label="Ya"];
    X -> Y;
    Y -> Z;
    Z -> X [label="Tidak"];
    Z -> A [label="Ya"];
    A1 -> C;
    C -> D;
    D -> E;
    E -> C [label="Tidak"];
    E -> F [label="Ya"];
    F -> G;
    G -> H;
    H -> F [label="Tidak"];
    H -> I [label="Ya"];
    I1 -> K;
    K -> L;
    L -> M;
    M -> N [label="Tidak"];
    N -> K;
    M -> O [label="Ya"];
    O -> P;
    P -> Q;
    Q -> K [label="Tidak"];
    Q -> R [label="Ya"];
    R -> TT;
}

PlantUML

@startuml
:(Mulai);
repeat :(Studi Literatur);
:(Pembuatan MFC);
:(Pengujian MFC);
repeat while (Output sesuai ?) is (Tidak)
->Ya;
:(Identifikasi sistem MFC);
repeat :(Pemilihan dan pengujian komponen);
repeat while (Karakteristik komponen sesuai kebutuhan ?) is (Tidak)
->Ya;
stop
start
repeat :(Desain Rangkaian);
:(Pengujian Simulasi dan Analisis Rangkaian);
repeat while (Output sesuai ?) is (Tidak)
->Ya;
repeat :(Desain PCB);
:(Simulasi dan Analisis PCB);
repeat while (Sistem bekerja ?) is (Tidak)
->Ya;
stop
start
repeat :(Mengevaluasi prototipe);
:(Assembly dan Programming);
repeat while (Sistem bekerja ?) is (Tidak)
repeat    :(Optimasi Rangkaian);
->Ya;
:(Pengujian sistem);
repeat while (Mendekati prediksi ?) is (Tidak)
->Ya;
:(Dokumentasi dan Publikasi);
:selesai;
@enduml

Mermaid:

flowchart TD
    S(["Mulai"]) --> T("Studi Literatur")
    T --> U("Pembuatan MFC")
    U --> V(["Pengujian MFC"])
    V --> W{"Output sesuai ?"}
    W -- Tidak --> T
    W -- Ya --> X("Identifikasi sistem MFC")
    X --> Y("Pemilihan dan pengujian komponen")
    Y --> Z{"Karakteristik komponen sesuai kebutuhan ?"}
    Z -- Tidak --> X
    Z -- Ya --> A((("A")))
    B((("A"))) --> C("Desain Rangkaian")
    C --> D("Pengujian Simulasi dan Analisis Rangkaian")
    D --> E{"Output sesuai ?"}
    E -- Tidak --> C
    E -- Ya --> F("Desain PCB")
    F --> G("Simulasi dan Analisis PCB")
    G --> H{"Sistem bekerja ?"}
    H -- Tidak --> F
    H -- Ya --> I((("B")))
    J((("B"))) --> K("Mengevaluasi prototipe")
    K --> L("Assembly dan Programming")
    L --> M{"Sistem bekerja ?"}
    M -- Tidak --> N("Optimasi Rangkaian")
    N --> K
    M -- Ya --> O("Assembly dan Programming")
    O --> P("Pengujian sistem")
    P --> Q{"mendekati prediksi"}
    Q -- Tidak --> K
    Q -- Ya --> R("Dokumentasi dan Publikasi")
    R --> TT(["Selesai"])
    E --> n1["Untitled Node"]




TikZ:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric, arrows}

\tikzstyle{startstop} = [ rounded corners, 
minimum width=3cm, 
minimum height=1cm,
text centered, 
draw=black, 
fill=red!30, rounded corners=5mm % Adjust the radius as needed
]

\tikzstyle{io} = [trapezium, 
trapezium stretches=true, % A later addition
trapezium left angle=70, 
trapezium right angle=110, 
minimum width=3cm, 
minimum height=1cm, text centered, 
draw=black, fill=blue!30]

\tikzstyle{process} = [rectangle, 
minimum width=3cm, 
minimum height=1cm, 
text centered, 
text width=3cm, 
draw=black, 
fill=orange!30]

\tikzstyle{decision} = [diamond, 
minimum width=3cm, 
minimum height=1cm, 
text centered, 
draw=black, 
fill=green!30]

\tikzstyle{onpage} = [circle, 
text centered, 
draw=black]

\tikzstyle{arrow} = [thick,->,>=stealth]
\begin{document}

\begin{tikzpicture}[node distance=2cm]

\node (start) [startstop] {Start};
\node (sl) [process, below of=start] {Studi Literature};
\node (pmfc) [process, below of=sl] {Pembuatan MFC};
\node (pmfc2) [process, below of=pmfc] {Pengujian MFC};
\node (dec1) [decision, below of=pmfc2, yshift=-0.5cm] {sesuai?};

\node (pro2b) [process, right of=dec1, xshift=2cm] {Optimasi MFC};
\node (pmfc3) [process, below of=dec1] {Identifikasi sistem MFC};

\node (ppk) [process, below of=pmfc3] {Pemilihan dan pengujian komponen};
\node (dec2) [decision,  right of=ppk, xshift=2cm] {Sesuai?};
\node (a) [onpage, below of=dec2] {A};

\draw [arrow] (start) -- (sl);
\draw [arrow] (sl) -- (pmfc);
\draw [arrow] (pmfc) -- (pmfc2);
\draw [arrow] (pmfc2) -- (dec1);

\draw [arrow] (dec1) -- node[anchor=east] {Ya} (pmfc3);
\draw [arrow] (dec1) -- node[anchor=south] {tidak} (pro2b);
\draw [arrow] (pro2b) |- (pmfc2);

\draw [arrow] (pmfc3) -- (ppk);
\draw [arrow] (ppk) -- (dec2);

\draw [arrow] (dec2) -- node[anchor=east] {Ya} (a);
\draw [arrow] (dec2) |- node[anchor=south] {tidak} (pmfc3);


\end{tikzpicture}
\end{document}

Sources:
https://editor.plantuml.com/
https://www.mermaidchart.com/
https://dreampuf.github.io/GraphvizOnline
https://www.overleaf.com/