Tutorial Membuat Gambar Pada Graphviz

Selection_023Graphviz merupakan perangkat lunak yang dapat digunakan untuk membuat visualisasi data struktural seperti gambar jaringan. Perangkat lunak ini kian penting peranannya seiring berkembangnya cabang ilmu dan penerapan teknologi business intelligence, data mining, information retrieval dan visualisasi relasi kompleks pada berbagai industri praktis. Dalam pengaplikasiannya, Graphviz dapat mengahasilkan output berupa gambar dengan berbagai format seperti GIF, PNG dan SVG. Selain itu Graphviz juga dapat membuat aplikasi interaktif browser dan membuat hasil output lain berupa file PDF.

Beberapa command line yang terdapat pada Graphviz :

  • dot : digunakan untuk menggambar graph berarah (directed graph) hierarkis.
  • neato : menggambar graph standar. Gunakan aplikasi ini jika ingin menggambar graph tidak berarah (undirecred 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.

Untuk memahami konsep pembuatan program menggunakan Graphviz, berikut source code yang saya kutip dari http://www.graphviz.org/. Program ini akan membuat suatu struktur data berupa graph berarah.

digraph g {
graph [
rankdir = “LR”
];
node [
fontsize = “16”
shape = “ellipse”
];
edge [
];
“node0” [
label = “<f0> 0x10ba8| <f1>”
shape = “record”
];
“node1” [
label = “<f0> 0xf7fc4380| <f1> | <f2> |-1”
shape = “record”
];
“node2” [
label = “<f0> 0xf7fc44b8| | |2”
shape = “record”
];
“node3” [
label = “<f0> 3.43322790286038071e-06|44.79998779296875|0”
shape = “record”
];
“node4” [
label = “<f0> 0xf7fc4380| <f1> | <f2> |2”
shape = “record”
];
“node5” [
label = “<f0> (nil)| | |-1”
shape = “record”
];
“node6” [
label = “<f0> 0xf7fc4380| <f1> | <f2> |1”
shape = “record”
];
“node7” [
label = “<f0> 0xf7fc4380| <f1> | <f2> |2”
shape = “record”
];
“node8” [
label = “<f0> (nil)| | |-1”
shape = “record”
];
“node9” [
label = “<f0> (nil)| | |-1”
shape = “record”
];
“node10” [
label = “<f0> (nil)| <f1> | <f2> |-1”
shape = “record”
];
“node11” [
label = “<f0> (nil)| <f1> | <f2> |-1”
shape = “record”
];
“node12” [
label = “<f0> 0xf7fc43e0| | |1”
shape = “record”
];
“node0”:f0 -> “node1”:f0 [
id = 0
];
“node0”:f1 -> “node2”:f0 [
id = 1
];
“node1”:f0 -> “node3”:f0 [
id = 2
];
“node1”:f1 -> “node4”:f0 [
id = 3
];
“node1”:f2 -> “node5”:f0 [
id = 4
];
“node4”:f0 -> “node3”:f0 [
id = 5
];
“node4”:f1 -> “node6”:f0 [
id = 6
];
“node4”:f2 -> “node10”:f0 [
id = 7
];
“node6”:f0 -> “node3”:f0 [
id = 8
];
“node6”:f1 -> “node7”:f0 [
id = 9
];
“node6”:f2 -> “node9”:f0 [
id = 10
];
“node7”:f0 -> “node3”:f0 [
id = 11
];
“node7”:f1 -> “node1”:f0 [
id = 12
];
“node7”:f2 -> “node8”:f0 [
id = 13
];
“node10”:f1 -> “node11”:f0 [
id = 14
];
“node10”:f2 -> “node12”:f0 [
id = 15
];
“node11”:f2 -> “node1”:f0 [
id = 16
];
}

Simpan source code tersebut dengan format .dot. Kemudian jalankan program pada terminal/command line anda dengan menginput perintah :

$dot -Tps strukturdata.dot -o output.ps

Menjalankan Program Graphviz

Menjalankan Program Graphviz

Penjelasan program :

Setiap node yang terbentuk akan diberi nama sesuai dengan hierarkinya. Cara pengisian elemen node tersebut ditandai dengan script <f0>. Angka 0 bisa diganti sesuai dengan urutan elemen node yang dikehendaki. Pada node0 elemen pertama akan diisi dengan text yaitu “0x10ba8” dan pembuatan elemen node berikutnya ditandai dengan adanya script <f1>. Namun pada elemen node ini tidak terdapat text yang diinput. Hal ini berarti bahwa node tersebut memiliki dua elemen, dimana elemen kedua dari node tersebut dibiarkan kosong.

“node0” [
label = “<f0> 0x10ba8| <f1>”
shape = “record”
];

Jika semua node berhasil dibuat maka node-node tersebut perlu dihubungkan satu dengan yang lainnya agar membentuk suatu hierarki. Untuk menghubungkan node lihat potongan kode berikut :

“node0”:f0 -> “node1”:f0 [
id = 0
];

Dari kode di atas dapat disimpulkan bahwa node0 terhubung dengan node1 dimana keterhubungan tersebut akan berlangsung melalui elemen pertama node0 menuju elemen node pertama pada node1. Keterhubungan tersebut akan disimpan dalam sebuah variabel yaitu “id=0”.

Output yang dihasilkan dari program Graphviz tersebut adalah sebagai berikut :

Output Program Struktur Data Menggunakan Graphviz

Output Program Struktur Data Menggunakan Graphviz

 

Referensi :

[1] http://www.graphviz.org/

[2]www.kursusinternet.com/graphviz

 

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: