Professional Documents
Culture Documents
ISSN: 1979-911X
ABSTRACT
Graph theory is a branch of mathematics frequently used to solve real problems because they
can be understood, formulated and solved easier when stated as graph forms. The development of
graph theory is done by scientist from diverse area along with their needs. As a result, there are new
terminologies and concepts where they often use different terms for the same meaning and vice versa.
Basically problems in graph theory relate to the existence of a certain property or extreem value of a
graph. Graph properties are easier to study if it is drawn or visualized. To find extreem values of a
graph, usually one makes use of a certain algorithm and both of them mostly are not easy to do. This
research serves the use of softwares to visualize graphs and generate algorithms related to graph
theory. Open source or shareware softwares such as Graph Magics, Gephi dan Graphviz are used.
Research concludes that those softwares are very useful to visualize graphs and generate graph
algorithms as well and noted that each of them has advantages and disadvantages. Graph Magics can
be used to draw and edit graphs easily and it is equipped with various algorithms. Gephi is a suitable
software to visualize big graphs fast and its results are nice and beatiful. Graphviz can be use to
visualize various graphs, however the understanding of programming is required.
Keywords: graph visualization and algorithm, Graph Magics, Gephi, Graphviz
PENDAHULUAN
Teori graf merupakan cabang ilmu yang relatif baru, karena baru mulai dikembangkan pada
awal abad ke delapan belas. Namun demikian, perkembangan cabang ilmu ini sangat pesat. Hal ini
disebabkan oleh manfaat teori graf yang sangat luas, dapat dikatakan bahwa semua cabang ilmu lain
dapat memanfaatkannya. Bidang kedokteran dan biologi, teori graf dapat digunakan untuk
menjelaskan pola kode genetika makhluk hidup (Seffens, W., 2002). Di bidang elektronika dan
komputer, graf banyak sekali dimanfaatkan seperti untuk pengembangan jaringan berjalan (mobile adhoc networks-MANETs). Konsep-konsep graf seperti ketersambungan (connectivity), kesebandingan
(scalability), penentuan jalur dan topologi (routing and topology) banyak dimanfaatkan untuk
pengembangan jaringan mobile ad hoc yang ekonomis dan tangguh (M. A. Rajan et al., 2008 dan
Shrinivas, S., G. et. al., 2010). Konsep tentang struktur pohon (tree) dalam graf sering digunakan
dalam analisis data biologi dan arkeologi guna merepresentasikan pembagian satu spesies menjadi
dua atau lebih spesies, atau pemecahan satu artefak menjadi beberapa artefak. Dalam bidang
manajemen, masalah penjadwalan skala besar juga dapat diselesaikan secara lebih mudah dengan
graf.
Di lain pihak, teori graf berkembang melalui pendefinisian konsep-konsep baru yang
diturunkan berdasarkan konsep-konsep yang sudah ada serta kebutuhan praktis sehingga keterkaitan
antar konsep-konsep tersebut semakin kompleks dan muncullah teorema-teorema. Beberapa teorema
mungkin dapat dibuktikan dengan cara sederhana, namun banyak juga teorema yang pembuktiannya
memerlukan algoritma tertentu yang seringkali tidak mudah dipahami, apalagi oleh pengguna berlatar
belakang matematika kurang kuat. Melalui visualisasi dengan software komputer, pemahaman konsep
dan algoritma teori graf dapat menjadi lebih mudah.
Mengingat pentingnya teori graf bagi bidang ilmu lain, maka sudah seharusnya pemahaman
tentang konsep-konsep dan algoritma-algoritma dalam teori graf dibuat lebih mudah dan praktis.
Masalah ini dapat diatasi dengan penyediaan software komputer atau paket program yang sesuai
dengan kebutuhannya. Meskipun terdapat banyak software komputer yang bersifat umum seperti
Matlab, Maple (Ebrahimi, M.A. et al., 2006), yang dapat digunakan untuk menyelesaikan berbagai
permasalahan dalam teori graf, hal ini kurang praktis dan memerlukan biaya karena software tersebut
C-259
ISSN: 1979-911X
bersifat proprietary. Oleh karena itu perlu dicari software berukuran kecil, bersifat open source atau
shareware namun sesuai dengan kebutuhan. Beberapa software open source khusus untuk teori graf
dapat ditemukan dengan mudah di internet seperti Graph Magics, Graphviz, Gephi, GraphTea,
Graphalg, Gograph, Connectivity dan sebagainya, sedangkan software open source umum yang dapat
digunakan adalah seperti Scilab dan Maxima. Beberapa software teori graf tersebut dapat
dimanfaatkan
untuk
mempermudah
pemahaman
konsep-konsep
teori
graf,
menggambarkan/memvisualisasikan sebuah graf, menentukan sifat-sifat graf, maupun melakukan
algoritma-algoritma dalam teori graf.
Berdasarkan alasan tersebut, dipilih beberapa software komputer yang cocok digunakan untuk
membantu pemahaman konsep dan algoritma dalam teori graf dan selanjutnya dikaji pemanfaatannya
untuk membantu menyelesaikan beberapa permasalahan dalam teori graf terutama yang berkaitan
dengan visualisasi dan algoritma graf. Dengan demikian diharapkan penyampaian pemahaman konsep
dan algoritma dalam teori graf dapat dilakukan dengan lebih mudah melalui pemberian contoh-contoh
nyata. Selain itu, software tersebut dapat dimanfaatkan untuk membantu menyelesaian permasalahan
nyata yang sering dihadapi sehingga dapat memberikan kontribusi nyata dalam pembelajaran dan
penelitian teori graf serta lebih memperkenalkan software-software yang dapat digunakan dalam
pembelajaran dan penelitian teori graf.
PEMBAHASAN
Graf terdiri atas himpunan simpul V dan himpunan sisi E dengan setiap sisi memiliki ujungujung yang berupa simpul. Graf dapat digunakan untuk merepresentasikan berbagai macam sistem
nyata, dengan simpul menyatakan unsur dalam sistem tersebut dan unsur-unsur yang saling
berhubungan digambarkan dengan adanya sisi yang menghubungkan unsur-unsur itu. Dalam
sejarahnya, graf digunakan oleh Euler untuk memecahkan masalah jembatan Konigsberg. Masalah
jembatan Konigsberg merupakan teka-teki yakni dari salah satu tempat tertentu apakah kita dapat
berjalan dengan melalui ke tujuh jembatan itu masing-masing tepat satu kali.
ISSN: 1979-911X
Sebagai cabang matematika terapan yang banyak digunakan untuk menyelesaikan masalah
nyata dalam berbagai bidang, konsep-konsep dalam teori graf biasanya muncul sesuai dengan
kebutuhan dan kenyataan yang terjadi pada bidang tersebut. Seiring perkembangan kebutuhan
masing-masing bidang ilmu, dikembangkan konsep-konsep atau istilah baru. Hal pertama yang perlu
diperhatikan adalah masalah pendefinisian dari konsep-konsep tersebut karena definisi yang tepat
dapat menjelaskan secara lebih dalam tentang apa yang dimaksudkannya. Hal ini perlu ditekankan
karena di lapangan sering ditemukan dua istilah berbeda untuk menyatakan satu konsep. Istilah yang
paling pokok dalam graf yakni vertex dan edge. Beberapa padanan atau terjemahan yang sering
digunakan untuk vertex adalah node yang biasa diterjemahkan menjadi simpul, titik, atau tijung.
Sedangkan edge sering disebut dengan arc dan diterjemahkan sebagai sisi, tepi, atau garis.
Graf G = G(V,E) = G(V(G),E(G)) adalah sistem yang terdiri atas himpunan simpul V = V(G)
dan himpunan sisi E=E(G), dengan EVxV. Graf dibedakan menjadi graf tak berarah dan graf
berarah. Dalam graf tak berarah, sisi e=(vi,vj) dapat ditulis secara singkat dengan e=vivj saja. Dalam
pembahasan ini seluruh graf diasumsikan tak berarah, kecuali apabila dinyatakan khusus. Dua buah
simpul vi dan vj dikatakan adjacent (bertetangga) jika vivj=eE. Dalam hal ini dikatakan bahwa e
berinsiden dengan vi dan vj. Untuk suatu vV, himpunan tetangga v didefinisikan dengan
N(v)={wV:vwE} dan derajat v didefinisikan dengan d(v)=|N(v)|. Maksimum dan minimum derajat
simpul-simpul dalam G berturut-turut disimbulkan dengan (G) dan (G). Graf G disebut regular
dengan derajat r atau dikatakan r-regular jika (G)=(G)=r. Graf H disebut subgraf dari graf G jika
V(H) V(G) dan E(H) E(G). Graf F=F(V2,E2) disebut induced subgraph (subgraf yang
dibangkitkan oleh) G=G(V,E) jika V2V dan memenuhi: v1,v2V2, v1v2E v1v2E2. Dalam suatu
graf G=G(V,E) selalu berlaku handshaking lemma yakni
2| |. Akibatnya jumlah semua
derajat dari simpul-simpulnya selalu genap. Jadi banyak simpul berderajat ganjil juga selalu genap.
Lebih lanjut lagi, jika G regular dan |V|=n, maka |E|=nr/2. Graf G disebut lengkap jika setiap simpul
selalu adjacent dengan simpul-simpul lainnya, sehingga jumlah sisi dari graf lengkap berukuran n
adalah n(n-1)/2. Graf G=G(V,E) disebut bipartit jika V dapat dipartisi menjadi dua himpunan tak
kosong dan saling asing V1 dan V2 sedemikian hingga setiap sisi e dari G dapat dinyatakan dengan
e=v1v2 dengan v1V1 dan v2V2. Dalam hal ini V1 dan V2 disebut partisi dari V. Jika dalam graf
bipartit G setiap simpul dalam suatu partisi adjacent dengan setiap simpul dalam partisi lainnya maka
G disebut bipartit lengkap dan disimbulkan dengan Km,n, dimana m dan n berturut-turut adalah banyak
anggota dari V1 dan V2. Jika sisi-sisi dari graf diberikan bobot maka disebut graf terbobot. Pada
prakteknya bobot dapat mewakili jarak atau waktu tempuh dari kedua simpul.
Graf G(V,E), walk atau langkah merupakan pasangan berurutan yang berselang-seling antara
simpul-simpul v di V dan sisi-sisi e di E, yang dimulai dan diakhiri dengan simpul, dimana setiap sisi
berinsiden dengan simpul-simpul di depan dan dibelakangnya dan simpul serta sisi boleh muncul
lebih dari satu kali. Apabila dalam suatu walk tidak ada sisi yang muncul lebih dari dua kali, maka
walk itu disebut trail atau jejak. Suatu trail yang simpul awalnya sama dengan simpul akhir disebut
sirkuit atau tour atau kalang. Suatu trail yang memiliki semua simpul berbeda disebut path atau
lintasan. Suatu kalang yang semua simpulnya berbeda kecuali simpul awal dan simpul akhirnya
disebut cycle atau daur. Suatu trail yang melewati seluruh sisi dalam graf G tepat satu kali disebut trail
Euler. Lintasan Hamilton adalah lintasan dalam graf G yang melalui semua simpul dari G.
Menentukan eksistensi dari trail Euler dan lintasan Hamilton dari graf G merupakan suatu hal yang
menarik. Dalam graf yang sederhana (tidak berarah, tanpa loop dan tidak multiple edges), hanya ada
satu sisi yang menghubungkan dua simpul yang berinsiden. Karena itu, untuk menyatakan suatu
langkah, trail, sirkuit, lintasan, atau daur, hanya perlu dituliskan simpul-simpul yang dilewatinya
secara terurut. Graf G dikatakan tersambung (connected) jika untuk setiap pasang simpul v dan w dari
V(G) terdapat lintasan yang ujung-ujungnya adalah simpul v dan w. Jika tidak demikian, maka G
disebut tak tersambung. Suatu graf tak tersambung terdiri dari beberapa graf tersambung maksimal
yang disebut komponen. Suatu graf tersambung dan tidak memiliki daur disebut pohon (tree).
Berikut ini adalah contoh dari Walk, trail, sirkuit, path, dan cycle dalam graf G. Misal G
adalah graf seperti di bawah ini:
C-261
ISSN: 1979-911X
Pemanfaatan teori graf di dunia nyata banyak digunakan untuk menyelesaikan permasalahan
eksistensi, non eksistensi dan ekstrematilas dari yang sederhana sampai yang kompleks dan bersifat
terbuka. Beberapa permasalahan yang berkaitan dengan eksistensi misalnya masalah eksistensi trail
Euler dan daur Hamilton, pelabelan simpul atau sisi dengan sifat tertentu, dekomposisi dan packing
suatu graf tertentu atas daur dan pohon. Masalah ekstremalitas dalam teori graf banyak menarik minat
para praktisi karena biasanya berkaitan dengan persoalan optimasi dari permasalahan nyata, misalnya
tentang bilangan warna pada bidang, maksimum ukuran graf lengkap dengan bilangan warna p,
matching (penjodohan) dan himpunan independen maksimum dari suatu graf dan sebagainya. Banyak
masalah open problems terkait eksistensi dan ektremalitas dalam teori graf. Dengan demikian
penelitian dalam teori graf terus dikembangkan dengan berbagai cara baik analitis maupun numeris
dengan bantuan komputer melalui algoritma yang diciptakan. Dalam teori graf dikenal banyak
algoritma untuk menjawab permasalahan terkait ekstremalitas atau untuk menunjukkan eksistensi
suatu sifat.
Beberapa algoritma yang ditemui dalam teori graf misalnya algoritma Brent (Brent, R.P.,
1980) dan Floyd (Knuth, D., E., 1969), untuk menentukan adanya daur dalam graf. Algoritma untuk
penjodohan maksimum misalnya algoritma Hopcroft-Karp (Hopcroft,J., E., 1973), dan algoritma
Hungaria untuk penjodohan sempurna. Dalam masalah pewarnaan, digunakan coloring algorithm.
Untuk menentukan pohon penjangkau minimum dapat digunakan algoritma Boruvska, Kruskal
(Kuskal, J., 1956, Proceeding of AMS pp 48-50), Prim atau algoritm balik-hapus (reverse-delete
algorithm). Untuk masalah jaringan berkapasitas ada algoritma Ford-Fulkerson, Edmons-Karp, Dinic,
Karger dan push-relabel algorithm. Untuk menemukan lintasan terpendek digunakan algoritma
Bellman-Ford, Dijkstra, Floyd-Warshall atau Johnson. Untuk menyelesaikan masalah penjaja keliling
(traveling salesman problem) tersedia algoritma tetangga terdekat (nearest neighbor) dan algoritma
Christofides.
Algoritma ini muncul dari masalah praktis untuk menentukan jarak terpendek dari tempat A
ke tempat B dimana ada beberapa alternatif ruas jalan yang dapat ditempuh. Masalah ini dapat
C-262
ISSN: 1979-911X
direpresentasikan dengan penentuan lintasan terpendek antara dua buah simpul dalam suatu graf
terbobot. Sebagai contoh, apabila dimiliki graf terbobot seperti berikut:
C-263
ISSN: 1979-911X
Gambar 7 Tampilan program Graph Magics dengan menu dan sub menunya
Hasil yang diperoleh dapat diedit simpul, sisi, bobot dan kapasitas sisi, serta layoutnya.
Pilihan layout yang tersedia adalah free, circle, bipartit, tree dan grid dilakukan dengan perintah
Graph Vertices Layout pilihan layout. Graf yang baru juga dapat dibuat dengan menggunakan
fasilitas Generate. Untuk menggenerate graf, klik File Generate a New Graph isi jumlah simpul,
jumlah sisi, jenis graf dan pilihannya Generate pilih editor dan append to existing graph klik
export klik OK. Proses pengeditan simpul, sisi, bobot dan kapasitas sisi dapat dilakukan melalui
data grafnya dengan memilih menu View Data atau Graph-Data, kemudian ubah nilainya dan refresh
grafnya.
Gambar 8 Graf yang dibuat dengan menempatkan simpul secara bebas dan layout circle
(a)
(b)
Gambar 9 (a) Pilihan jumlah simpul dan sisi, bobot dan kapasitas sisi, serta jenis graf
(b) Graf yang dibuat dengan menggunakan fasilitas Generate dengan pilihan (a)
Gephi merupakan sotware yang dapat digunakan untuk memvisualiasikan graf atau jaringan
yang berukuran besar. Software ini cocok untuk pengguna graf di bidang manajemen dan pemasaran
(Walia, L and Bhatia, P.S., 2012). Software ini bersifat open source dan user friendly. Tersedia menumenu File, Workspace, View, Tool, Window, Plugins dan Help yang mudah digunakan. Graf yang
dibuat dengan Gephi dapat direkayasa sehingga memiliki tampilan bentuk dan warna yang menarik
dan hasilnya dapat diekspor dalam file pdf, PNG atau SVG. Gephi dapat membuka contoh graf yang
ada, mengimpor graf atau mengenerate graf sendiri. Contoh Graf Les Miserables yang
menggambarkan hubungan tokoh-tokoh dalam novel les Miserables:
C-264
ISSN: 1979-911X
Gambar 11 Beberapa pilihan untuk melihat karakteristik dari graf dengan Gephi.
Gephi dapat mengimport graf dari spigot atau database. Untuk menggenerate graf dengan
sifat tertentu, klik menu File generate pilihan graf (random atau dinamic graf). Berikut ini
contohnya:
Gambar 12 Graf random dengan 200 simpul yang digenerate dengan Gephi
Graphviz merupakan software open source yang baik untuk memvisualisasikan masalah
jaringan dengan ukuran sampai satu juta simpul. Karena itu cocok digunakan di bidang jaringan, basis
data, bioinformatika, rekayasa perangkat lunak, bahasa dan alat pemrograman, dan machine learning.
Graphviz dapat didownload di www. Graphviz.org. Graphviz dapat menggambarkan dan mengedit
graf sesuai keinginan. Untuk keperluan itu perlu dipelajari pemrogramannya karena Graphviz
menggunakan pemrograman berbasis text. Berikut contohnya:
C-265
Program
digraph {
1 -> 2;
1 -> 3;
}
Visualisasi
Program
graph {
1 -- 2;
1 -- 3;
}
ISSN: 1979-911X
Visualisasi
Gambar 13 kode program dan visualisasi graf berarah dan tak berarah dengan 3 simpul
Untuk menggambarkan graf yang lebih detil, dapat dilakukan dengan menuliskan programnya
berdasar panduan penggunaan (user guide) yang dapat kita peroleh di website Graphviz.
Algoritma graf dengan menggunakan Software
Graph Magics merupakan software yang dilengkapi dengan banyak algoritma. Dengan Graph
Magics dapat ditentukan nilai tertentu dari graf dengan memilih algoritma yang sesuai. Beberapa
algoritma yang dapat dilakukan dengan menggunakan Graph Magics adalah Shortest path algorithm,
Minimal Spanning tree, Trail Euler, Lintasan Hamilton, dan Chinese Postman Problem.
Misal ingin ditentukan shortest path dari simpul 1 ke simpul 9 dalam graph G berikut.
Gambar 14 Graf terbobot G dengan 9 simpul, simpul 1 : simpul sumber dan simpul 2 : simpul tujuan
Setelah graf G digambarkan, simpul sumber dan simpul tujuan harus ditandai terlebih dahulu
dengan mengklik kanan simpulnya dan memilih set/unset as start vertex (untuk simpul sumber) atau
set/unset as end vertex (untuk simpul tujuan). Selanjutnya tinggal dipilih algoritmanya dengan
mengklik Graph Find Shortest Path (From start to end vertex). Hasilnya akan ditunjukkan
seperti berikut:
ISSN: 1979-911X
Jika ingin dicari semua lintasan terpendek dari simpul 1 ke simpul-simpul lainnya, maka
dapat dilakukan dengan menset simpul 1 sebagai start vertex dan dipilih algoritmanya: Graph Find
All Shortest paths: Data panjang lintasan terpendek dari simpul 1 ke simpul-simpul lainnya juga
dapat ditampilkan
Gambar 19 Trail Euler dari dan data sisi-sisi dari trail Euler G
Lintasan Hamilton
Untuk mencari lintasan Hamilton, pilih menu Graph Find Hamitonian Path. Hasilnya
adalah seperti berikut:
ISSN: 1979-911X
Postman Problem. Untuk melihat jalur mana yang harus dilewati dapat dilihat dengan klik Graph
Data.
Gambar 21 Jalur (kalang) terpendek dari simpul 1 ke simpul-simpul lainnya dan kembali ke simpul 1
beserta data urutan simpul-simpul yang dilewati
KESIMPULAN
Dari penelitian yang telah dilakukan diperoleh beberapa kesimpulan. Teori graf perlu
dipelajari dan dikembangkan karena dapat digunakan untuk menyelesaikan beberapa permasalahan
nyata dalam berbagai bidang. Untuk mempermudah dalam memahami istilah, konsep, teorema dalam
teori graf dibutuhkan software yang dapat digunakan untuk memvisualisasikan graf serta melakukan
algoritma dalam graf dengan mudah. Ada berbagai software open sorce yang dapat digunakan untuk
visualisasi dan algoritma dalam teori graf. Software-software Graph Magics, Gephi dan Graphviz
dapat dimanfaatkan untuk mengatasi permasalahan tersebut.
DAFTAR PUSTAKA
Bass, D.W., 2002, Hamilton Decompositions and (n/2)-Factorizations of Hypercubes, Journal of
Graph Algorithms and Applications vol. 6, no. 3, pp. 174194 (2002)
Brent, R.P., 1980, An Improved Monte Carlo Factorization Algorithm, BIT 20 (1980), pp 176-184.
Ciubatii, D., 2013, Graph Magics, http://www.graph-magics.com/index.php, diakses 14 Februari
2013.
Ebrahimi, M.A. et al., 2006, A Graph Theory Package for Maple, Part II: Graph Coloring, Graph
Drawing, Support Tools, and Networks, Department of Mathematics, Simon Fraser University
Burnaby, BC, Canada, V5A 1S6
Guerrieri, B., Solving the Traveling Salesman Problem, Florida A&M University
Hopcrof, J., E., and R.M. Karp, An n2.5 Algorithm for Maximum Matchings in Bipartite Graphs, SIAM
Journal of Computing, Vol. 2, No. 4, 1973, 225-231
Knuth, D., E., 1969, The Art of Computer Programming, vol. II: Seminumerical Algorithms,
Addison-Wesley.
Kuskal, J., 1956, Proceeding of the American Mathematical Society pp 48-50 (1956).
Lacey, L.L.,2004, Max Flow-Min Cut, Schenectady County Community College, Schenectady, NY,
USA.
Mawata, C., P., Graph Theory Lessons, 2013, http://www.mathcove.net/petersen/lessons, diakses 18
Februari 2013.
Rajan, M. A., M. Girish Chandra, Lokanatha C. Reddy, Prakash Hiremath, 2008, Concepts of Graph
Theory Relevant to Ad-hoc Networks, Int. J. of Computers, Communications & Control,
ISSN 1841-9836, E-ISSN 1841-9844 Vol. III (2008)
Seffens, W., 2002, Graph Theory Patterns in the Genetic Codes, Forma, 17, 309320, 2002
Shrinivas, S., G. et.al., 2010,Applications of Graph Theory in Computer Science an Overview,
International Journal of Engineering Science and Technology Vol. 2(9), 2010, 4610-4621.
Walia, L and Bhatia, P.S., 2012, Data Visualization with Gephi, Vinot Gupta Scchool of Managemen,
IIT Karagpur
.............., 2013, Graphviz -Graph Visualization Software, http://graphviz.org/, diakses 14 Februari
2013.
C-268