Anda di halaman 1dari 4

r

 Konsep Dasar Graf


Secara kasar, graf adalah suatu diagram yang memuat informasi tertentu jika diinterpretasikan secara tepat. Dalam
kehidupan sehari-hari, graf digunakan untuk menggambarkan berbagai macam struktur yang ada. Tujuannya adalah sebagai
visualisasi objek-objek agar lebih mudah dimengerti.
Teori graf merupakan pokok bahasan yang sudah tua usianya, namun memiliki banyak terapan dalam kehidupan sehari-hari.
Banyak persoalan pada dunia nyata yang sebenarnya merupakan reprensentasi visual dari graf. Salah satu contoh
reprensentasi visual dari graf adalah Peta.
Selain peta, masih banyak hal lain dalam dunia nyata yang merupakan representasi visual dari graf.
Gambar 1. Graf
Graf adalah himpunan simpul yang dihubungkan dengan garis-garis (ruas). Setiap ruas diasosiasikan dengan tepat dua
simpul. Secara matematis, graf didefinisikan sebagai berikut:

a
Graf G didefinisikan sebagai pasangan himpunan (V,E) yang dalam hal ini :
V   = himpunan tidak kosong dadi simpul-simpul (vertices atau node): {v1,v2,v3,…,vn}.
E = himpunan sisi (edges atau arcs) yang mehubungkan sepasang simpul: {e1,e2,e3,…,en}.

Atau dapat ditulis singkat dengan notasi G=(V,E). jadi sebuah graf dimungkinkan tidak mempunyai sisi satu buahpun, tapi
simpulnya harus ada, minimal satu. Graf yang hanya mempunyai satu buah simpul tanpa sebuah sisipun dinamakan graf
trivial.
Setiap garis pada graf berubungan dengan satu atau dua titik. Titik-titik tersebut dinamakan titik ujung. Garis yang hanya
berhubungan dengan satu titik ujung disebut Loop. Dua garis berbeda yang menghubungkan titik yang sama disebut Garis
parallel. Perlu diketahui bahwa panjang garis, kelengkungan garis,, dan letak titik tidak berpengaruh dalam suatu graf.
2.2  Jenis-Jenis Graf
Berdasar ada atau tidaknya loop atau garis parallel pada suatu graf, maka secara umum graf dapat digolongkan menjadi dua
jenis :

1.Graf sederhana (simple graph).

Graf yang tidak memiliki loop maupun garis parallel.

p
1.Graf tak sederhana (unsimple graph).

Graf yang memiliki loop maupun garis parallel.


Berdasarkan orientasi arah pada sisi, maka secara umum graf dapat digolongkan menjadi :

1.Graf berarah (directed graph).

Graf yang setiap sisinya diberikan orientasi arah. Pada graf berarah, (v k,vj) dan (vj,vk)menyatakan dua unsur yang berbeda,
dengan kata lain (vj,vk)(vk,vj).

1.Graf tak-berarah (undirected graph)

graf yang sisinya tidak memiliki orientasi arah. Urutan pasangan simpul yang dihubungkan oleh sisi tidak diperhatikan,
dengan kata lain : (vj,vk)= (vk,vj).

Gambar 3  Graf berarah (directed graph)


2.3  Terminologi Dasar
Terdapat beberapa istilah penting yang berkaitan dengan graf. Berikut ini didefinisikan beberapa terminologi yang sering
digunakan :

1.Bertetangga (adjancent)
Dua buah simpul pada graf yang tak-berarah G dikatakan bertetangga bila keduanya terhubung langsung dengan sebuah
sisi. Dengan kata lain, vj bertetangga dengan vk  jika (vj,vk)adalah sebuah sisi pada graf G.

1.Bersisian (incident)

Untuk sembarang sisi e= (vj, vk), sisi e dikatakan bersisian dengan simpul vk dan simpul vk.

1.Derajat (degree).

Derajat suatu simpul pada graf tak-berarah adalah jumlah sisi yang bersisian dengan simpul tersebut. Pada graf berarah,
derajat simpul v dinyatakan dengan din(v) dan dout(v), yang dalam hal ini :
din(v)   = derajat masuk (in-degree)

= jumlah simpul yang masuk ke simpul v


dout(v) = derajat keluar (out-degree)

= jumlah simpul yamg keluar dari simpul v


d(v) = din(v) + dout(v) , d(v) menyatakan derajat simpul.

Berdasarkan tujuan kita yaitu mencari lintasan tercepat untuk sampai ke tujuan, akan digunakan graf ganda berarah
berbobot. Mengenai graf tersebut akan dijelaskan sebagai berikut :

1.Graf ganda

Graf ganda adalah graf yang memiliki lebih dari satu sisi untuk menghubungkan dua simpul. Pada graf di bawah, ditunjukkan
graf yang memiliki sisi ganda. Yan dimaksud sisi ganda pada graf di bawah adalah sisi yang menghubungkan simpul A dan
simpul B. karena terdapat dua sisi yang menghubungkan simpul A dan simpul B, maka graf tersebut dinamakan graf ganda
 
2.Graf berarah

Graf yang setiap sisinya diberikan orientasi arah disebut graf berarah. Graf yang setiap sisinya diberikan orientasi arah. Pada
graf berarah, (vk,vj) dan (vj,vk)menyatakan dua unsur yang berbeda, dengan kata lain(vj, vk)(vk,vj).

3.Graf berbobot

Graf berbobot adalah graf yang yang setiap sisinya diberi harga (bobot) atau nilai. Bobot pada tiap sisi dapat
mereprentasikan sesuatu, misalnya jarak, prioritas, harga, dan lain-lain.
Gambar 4 contoh graf berbobot

4.Graf Ganda Berarah Berbobot

Graf ganda berarah berbobot adalah gabungan dari ketiga graf di atas. Untuk lebih jelasnya, gambar di bawah ini akan
memberikan gambaran tentang graf ganda berarah berbobot.
2.4  The Shortest Path Problem
Persoalan mencari lintasan terpendek di dalam graf merupakan salah satu persoalan optimasi. Graf yang digunakan dalam
pencarian lintasan terpendek adalah graf berbobot (weight graph), yaitu graf yang setiap sisinya diberikan suatu nilai atau
bobot. Bobot pada sisi graf dapat menyatakan jarak antar kota, waktu, ongkos, kepadatan, dan sebagainya. Asumsi yang
kita gunakan adalah bahwa semua bobot bernilai positif. Kata “terpendek” jangan selalu diartikan secara fisik sebagai
panjang minimum, sebab kata “terpendek”berbeda-beda maknanya bergantung pada tipikal persoalan yang akan
diselesaikan. Namun secara umum “terpendek” berarti meminimisasi bobot pada suatu lintasan graf.
Ada beberapa macam persoalan lintasan terpendek, antara lain:

1.Lintasan terpendek antara dua buah simpul tertentu.


2.Lintasan terpendek antara semua pasangan simpul.

3.Lintasan terpendek dari simpul tertentu ke semua simpul yang lain.

4.Lintasan terpendek antara dua buah simpul yang melalui beberapa simpul tertentu.

Menurut teori graf, persoalan lintasan terpendek (The Shortest Path Problem) adalah merupakan suatu persoalan untuk
mencari lintasan antara dua buah simpul pada graf berbobot yang memiliki gabungan nilai jumlah bobot pada sisi graf yamg
dilalui dengan jumlah yang paling minimum.
Sampai saat ini sudah banyak algoritma untuk mencari lintasan terpendek yang pernah ditulis orang. Dalam makalah ini,
kami menggunakan satu diantaranya, yaitu Algoritma Dijkstra (sesuai dengan nama penemunya, Edsger W. Dijkstra). Pada
dasarnya algoritma dijkstra diyerapkan untuk mencari lintasan terpendek pada graf berarah. Namun, algoritma ini juga bisa
digunakan untuk mencari lintasan terpendek pada graf tak-berarah.
Algoritma ini menggunakan prinsip greedy. Prinsip greedy pada algoritma dijkstra menyatakan bahwa pada setiap langkah kita
memilih sisi yang berbobot minimum dan memasukkannya ke dalam himpunan solusi.
Ada beberapa versi algoritma dijkstra yang ditulis pada berbagai pustaka. Salah satunya adalah sebagai berikut :
Misalkan :
V(G)            = {v1, v2, v3,…,vn}

L                   = himpunan titik-titik V(G) yang sudah terpilih dalam alur path (jalur) terpendek
D(j)               = jumlah bobot path (jalur) terkecil dari vi ke vj.
W(i,j)            = bobot garis dari titik vi ke titik vj.
W*(1,j)         = jumlah bobot path terkecil dari v1 ke vj.

Secara formal, algoritma dijkstra untuk mencari path terpendek adalah sebagai berikut :

1.L = { }

V = { v2, v3,…,vn}

2.Untuk i = 2, … , n, lakukan D(i) = W(1,i)

3.Selama vn L lakukan :

1.Pilih titik vk  V-L dengan D(k) terkecil.

L = L {vk}.

1.Untuk setiap vj V-L lakukan :

jika D(j) > D(k) + W(k,j) maka ganti D(j) dengan D(k) + W(k,j)
4.Untuk setiap  vj V, W*(1,j) = D(j).

Menurut algoritma tersebut, path (jalur) terpendek dari titik v1 ke  vn adalah melalui titik-titik dalam secara berurutan, dan

jumlah bobot path (jalur) terkecilnya adalah D(n).


 

Anda mungkin juga menyukai