Pengantar
Ketika mengelola arsitektur sistem berbasis Linux, visualisasi struktur berulang seperti topologi jaringan cincin (ring topology) atau siklus hidup layanan membutuhkan representasi grafis yang tepat. Utilitas circo dari ekosistem Graphviz dirancang khusus untuk memetakan diagram relasional ke dalam tata letak melingkar (circular layout). Artikel ini mengupas teknik pemanfaatan circo, mulai dari kompilasi ke format PNG dan SVG, manipulasi jarak node, penetapan titik pusat, hingga trik rendering karakter multibahasa dan tips menangani grafik skala besar.
Instalasi Graphviz dan Pembuatan Graf Melingkar Dasar
Langkah awal pada lingkungan Ubuntu adalah memasang paket dependensi Graphviz melalui repositori resmi sistem.

Engine circo berfokus pada penyusunan node dalam bentuk cincin seimbang, sangat ideal untuk mengilustrasikan komunikasi dua arah yang kontinu atau jaringan terdistribusi tanpa hierarki kaku.
Jalankan opsi -V untuk memastikan paket circo telah siap digunakan di terminal Anda.
⚙️ [Parameter Perintah yang Sering Digunakan]
-T<format> : Menentukan format berkas keluaran grafis (seperti png, svg, atau pdf).-o <file> : Mengarahkan hasil render ke nama berkas target yang ditentukan.-O : Otomatis membuat berkas keluaran dengan menambahkan ekstensi format ke nama berkas sumber.-V : Menampilkan informasi versi Graphviz dan komponen terkait yang terpasang di sistem.-v : Menjalankan proses kompilasi graf secara rinci (verbose) untuk keperluan pemecahan masalah layout.-G<name>=<val> : Menetapkan atribut global pada level graf langsung dari baris perintah.-N<name>=<val> : Mengatur nilai atribut bawaan bagi setiap node secara langsung.-E<name>=<val> : Menentukan konfigurasi atribut default pada seluruh garis penghubung (edge).

Sebagai contoh kasus pertama, kita membuat skrip sample_ring.dot yang merepresentasikan interkoneksi empat unit router dalam topologi melingkar tanpa arah (undirected graph).
![cat « ‘EOF’ > sample_ring.dot
graph RingNetwork {
node [shape=circle, style=filled, fillcolor=lightblue];
Router1 – Router2;
Router2 – Router3;
Router3 – Router4;
Router4 – Router1;
}
EOF](/ubuntu/20261020_101858_107/captures/s01_c03_cat_____EOF____sample_ring_dot_graph_RingNetwork.png)
Berkas sample_ring.dot kemudian dikonversi menjadi gambar raster sample_ring.png menggunakan mesin render circo. Parameter -Tpng menetapkan format gambar dan -o mendefinisikan nama target berkas, disusul pengecekan metadata berkas menggunakan perintah ls -lh.

Memetakan Alur Berulang (Digraph) ke dalam Format Vektor SVG
Pada pemodelan alur kerja berkelanjutan (continuous workflow) seperti rantai CI/CD, representasi graf berarah (digraph) lebih relevan karena memperlihatkan urutan transisi antarproses. Berkas workflow_cycle.dot berikut mengilustrasikan siklus dari tahap perancangan hingga pengawasan.
![cat « ‘EOF’ > workflow_cycle.dot
digraph WorkflowCycle {
node [shape=box, style=“rounded,filled”, fillcolor=lightyellow];
edge [color=darkslategray, arrowhead=vee];
Plan -> Develop -> Test -> Deploy -> Monitor -> Plan;
}
EOF](/ubuntu/20261020_101858_107/captures/s02_c01_cat_____EOF____workflow_cycle_dot_digraph_Workflow.png)
Untuk menjaga ketajaman visual saat disematkan ke dokumentasi web, hasil kompilasi sebaiknya diarahkan ke format vektor SVG melalui argumen -Tsvg. Meninjau sepuluh baris pertama berkas workflow_cycle.svg dengan utilitas head membuktikan bahwa struktur XML dan tag <svg> telah terdefinisi secara sempurna.

Menyesuaikan Jarak Antarnode (mindist) dan Menetapkan Node Pusat
Struktur topologi hibrida, seperti gabungan topologi bintang (star) dan cincin (ring), sering kali membutuhkan penyesuaian jarak antarnode agar teks label tidak saling bertumpuk. Berkas star_ring.dot berikut memanfaatkan atribut mindist untuk memperlebar ruang antarlingkar relasi master-worker.
![cat « ‘EOF’ > star_ring.dot
graph StarRingTopology {
graph [mindist=1.2];
node [shape=ellipse, style=filled, fillcolor=honeydew];
Master [fillcolor=lightsalmon];
Master – {Worker1 Worker2 Worker3 Worker4};
Worker1 – Worker2 – Worker3 – Worker4 – Worker1;
}
EOF](/ubuntu/20261020_101858_107/captures/s03_c01_cat_____EOF____star_ring_dot_graph_StarRingTopolog.png)
Pemberian opsi -Groot=Master pada eksekusi circo memerintahkan layout engine untuk menempatkan simpul Master persis di titik episentrum diagram, sementara simpul pekerja disusun melingkari pusat secara proporsional. Validasi format berkas hasil keluaran dapat dipastikan melalui perintah file.

Penanganan Font Non-Latin dan Strategi Optimasi Graf Kompleks
Masalah karakter kotak kosong atau glif hilang (fenomena tofu) pada sistem Linux terjadi ketika engine rendering tidak menemukan font yang mendukung karakter multibahasa (seperti aksara Korea/CJK). Menginstalasi paket fonts-nanum mengatasi inkonsistensi rendering tersebut di level subsistem font.

Karakteristik tipografi disetel secara eksplisit menggunakan properti fontname="NanumGothic" pada graf, node, dan edge di dalam berkas korean_cycle.dot.
![cat « ‘EOF’ > korean_cycle.dot
digraph KoreanCycle {
graph [fontname=“NanumGothic”];
node [fontname=“NanumGothic”, shape=circle, style=filled, fillcolor=aliceblue];
edge [fontname=“NanumGothic”];
“기획” -> “개발” -> “검증” -> “배포” -> “운영” -> “기획”;
}
EOF](/ubuntu/20261020_101858_107/captures/s04_c02_cat_____EOF____korean_cycle_dot_digraph_KoreanCycl.png)
Setelah menjalankan circo, citra korean_cycle.png terbentuk utuh berukuran sekitar 25KB tanpa cacat glif, membuktikan bahwa integrasi font sistem berjalan mulus.
Perlu dicatat bahwa penambahan simpul dalam jumlah masif pada tata letak circular rentan memicu penumpukan garis tepi (edge crossing) di area tengah. Untuk memelihara keterbacaan pada diagram berskala besar, tingkatkan nilai parameter mindist atau kelompokkan relasi ke dalam kluster subgraph terpisah.

Demikian pembahasan komprehensif mengenai penerapan perintah circo bawaan Graphviz untuk menghasilkan diagram berorientasi sirkular yang rapi dan profesional di lingkungan Linux. Terapkan pendekatan ini untuk memvisualisasikan arsitektur jaringan, orkestrasi microservice, maupun siklus operasional sistem Anda secara lebih terstruktur.