CLI: Graphviz

Ini merupakan program favorit saya untuk visualisai node dalam sebuah graph. Ketika membuat program yang memproses data graph dan ingin mendebug isinya, saya akan membuat file teks dalam bahasa DOT (Graph Description Language) lalu merendernya jadi file PNG/PDF.

File DOT bisa sangat sederhana, contohnya seperti ini. Dalam contoh ini saya memakai digraph (directed graph) atau graph dengan arah. Jika ingin graph tanpa arah bisa memakai graph saja dan ganti “->” dengan “–“.

digraph test {
A -> B;
B -> C;
B -> D;
}

Rendering bisa dilakukan dengan mudah:

dot -Tpng test.dot > test.png

Dan contoh hasilnya seperti ini:

Selain graph sederhana seperti itu, tiap arc dan node bisa memilik atribut untuk mengganti: bentuk, warna, teks. Jadi selain untuk keperluan debugging (yang sering saya pakai), graphnya bisa diperindah untuk jadi output bagi end user.

Data yang bisa ditampilkan dalam bentuk graph ada banya, tergantung pada masalah yang sedang dikerjakan, beberapa contohnya:

  • Visualisasi foreign key pada tabel di database
  • Visualisasi Abstract Syntax Tree ketika parsing
  • Visualisasi konektivitas node di jaringan

Semoga informasi mengenai dot ini bisa berguna untuk debugging/visualisasi data.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.