Membuat Gambar Graph Dengan Graphviz

Graphviz adalah sumber grafik perangkat lunak visualisasi terbuka. Visualisasi grafik adalah Cara untuk mewakili informasi struktural sebagai diagram grafik abstrak dan jaringan. Ini memiliki aplikasi penting dalam jaringan, bioinformatika, rekayasa perangkat lunak, database dan desain web, pembelajaran mesin, dan antarmuka visual untuk domain teknis lainnya.

Fitur Graphviz
Program tata letak Graphviz mengambil deskripsi grafik dalam bahasa teks sederhana, dan membuat diagram dalam format yang berguna, seperti foto dan SVG untuk halaman web, PDF atau Postscript untuk dimasukkan dalam dokumen lain, atau ditampilkan dalam browser grafik interaktif. (Graphviz juga mendukung GXL, dialek XML.) Graphviz memiliki banyak fitur yang berguna untuk diagram beton, seperti opsi untuk warna, font, layout tabular simpul, gaya garis, hyperlink, Rolland kustom bentuk. Dalam pengaplikasiannya, Graphviz menerima kumpulan perintah teks dan menghasilkan output dalam berbagai format diantaranya :
• Gambar GIF, PNG, dan SVG
• PDF / Postscript
• aplikasi interaktif browser dari internal Graphviz

Beberapa aplikasi command line yang ada pada Graphviz adalah :
• dot : digunakan untuk menggambar graph berarah (directed graph) hierarkis.
• neato : menggambar graph standar. Gunakan aplikasi ini jika ingin menggambar graph tidak berarah (undirected graph). Cocok untuk graph yang tidak terlalu besar (sekitar 100 node).
• fdp : menggambar graph layout seperti neato
• sfdp : menggambar layout graph yang sangat besar
• twopi : menggambar layout radial.
• circo : menggambar layout circular.

Informasi selengkapnya bisa dilihat pada website Graphviz : http://www.graphviz.org. Sekarang saya akan mulai menjelaskan cara membuat sebuah graph dimana souce codenya saya ambil dari www.graphviz.org. Pertama, buka file graphviz-2.36.zip yang telah didownload pada www.graphviz.org.

14

kemudian pilih dan klik dua kali release/bin/gvedit.exe.

15

Berikut tampilan awal graphviz editor. Kemudian ketik listing program didalamnya seperti pada gambar. Setelah itu klik icon run seperti yang ditunjukan oleh anak panah.

digraph finite_state_machine {
rankdir=LR;
size=”8,5″
node [shape = doublecircle]; LR_0 LR_3 LR_4 LR_8;
node [shape = circle];
LR_0 -> LR_2 [ label = “SS(B)” ];
LR_0 -> LR_1 [ label = “SS(S)” ];
LR_1 -> LR_3 [ label = “S($end)” ];
LR_2 -> LR_6 [ label = “SS(b)” ];
LR_2 -> LR_5 [ label = “SS(a)” ];
LR_2 -> LR_4 [ label = “S(A)” ];
LR_5 -> LR_7 [ label = “S(b)” ];
LR_5 -> LR_5 [ label = “S(a)” ];
LR_6 -> LR_6 [ label = “S(b)” ];
LR_6 -> LR_5 [ label = “S(a)” ];
LR_7 -> LR_8 [ label = “S(b)” ];
LR_7 -> LR_5 [ label = “S(a)” ];
LR_8 -> LR_6 [ label = “S(b)” ];
LR_8 -> LR_5 [ label = “S(a)” ];
}

16

Berikut tampilan output setelah program dijalankan.

17

Berikut logika program dari listing yang dipakai diatas.

digraph finite_state_machine {

script diatas menandakan pembuatan graph dimulai.

rankdir=LR;
size=”8,5″

script diatas menandakan setiap node berisi LR dengan ukuran 8,5.

node [shape = doublecircle]; LR_0 LR_3 LR_4 LR_8;
node [shape = circle];

script diatas menandakan node LR_0, 3, 4, 8 memiliki lingkaran ganda dan node selain itu memiliki lingkaran satu.

 LR_0 -> LR_2 [ label = “SS(B)” ];
LR_0 -> LR_1 [ label = “SS(S)” ];
LR_1 -> LR_3 [ label = “S($end)” ];
LR_2 -> LR_6 [ label = “SS(b)” ];
LR_2 -> LR_5 [ label = “SS(a)” ];
LR_2 -> LR_4 [ label = “S(A)” ];
LR_5 -> LR_7 [ label = “S(b)” ];
LR_5 -> LR_5 [ label = “S(a)” ];
LR_6 -> LR_6 [ label = “S(b)” ];
LR_6 -> LR_5 [ label = “S(a)” ];
LR_7 -> LR_8 [ label = “S(b)” ];
LR_7 -> LR_5 [ label = “S(a)” ];
LR_8 -> LR_6 [ label = “S(b)” ];
LR_8 -> LR_5 [ label = “S(a)” ];
}

script diatas menandakan hirarti/jalur yang ditempuh mulai dari LR_0 ke LR_2 hingga LR_8 ke LR_5. Label berarti isi/teks dari lingkaran.
Referensi :

graphviz.org

http://www.kursusinternet.com/graphviz

http://cindykhawa.blogspot.com/2012/06/graphviz.html

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s