Staffsite STMIK PPKIA Pradnya Paramita

Modul Kuliah Struktur Data

Graph

GRAPH
Graph secara umum didefinisikan sebagai kumpulan titik (node atau
vertex) dan garis (Edge atau sisi). Karena garis selalu diawali pada suatu titik
dan diakhiri pada titik yang lain, maka dapat dituliskan sebagai pasangan dari
dua titik. Dalam notasi graph, garis dituliskan sebagai e = [U, V], yang berarti
garis e diawali dari titik U dan diakhiri pada titik V.

Istilah-istilah dalam Graph
 Sisi ganda, adalah dua buah garis yang menghubungkan 2 titik yang sama.
 Loop, adalah garis yang kedua ujungnya berada pada satu titik.
 Vertex terisolir, adalah vertex yang tidak dihubungkan dengan vertex yang
lain.
 Lintasan (Path), adalah perjalanan dari satu titik (titik asal) sampai ke titik
yang lain (titik tujuan). Jika titik asal dan titik tujuan sama, maka disebut
lintasan tertutup (close path).
 Lintasan Sederhana, adalah perjalanan dari satu titik (titik asal) sampai ke
titik yang lain (titik tujuan) tanpa ada titik yang dilalui lebih dari satu kali. Jika

lintasan ini kembali ke titik asal, maka lintasan ini disebut lintasan tertutup
sederhana (cycle).
Sebuah lintasan/jalur dengan panjang n dari titik U ke titik V didefinisikan
sebagai deretan n + 1 buah titik, dan dituliskan dengan notasi:
P = (v0, v1, v2, v3,…,vn)
Klasifikasi Graph
a. Graph Terhubung (connected graph), adalah graph dimana dari sembarang
dua buah titik dalam graph terdapat lintasan sederhana.
b. Graph Komplit, adalah graph dimana setiap titik dalam graph dihubungkan
dengan setiap titik yang lain.
c. Graph Berarah, adalah graph dimana setiap edge/sisi/garis dalam graph
tersebut mempunyai arah tertentu.
d. Graph Berbobot, adalah graph dimana setiap edge/sisi/garis dalam graph
tersebut mempunyai bobot tertentu.
stmikpp@ojit.ac.id

Halaman 1

Modul Kuliah Struktur Data


Graph

e. Multi Graph, adalah graph yang mempunyai sisi ganda dan atau loop.

Derajat Vertex
Derajat (degree) vertex adalah banyaknya garis/edge yang berhubungan
dengan vertex tersebut. Biasa disimbolkan dengan d, jadi derajat vertex A
dinotasikan sebagai d(A).
Untuk graph berarah dikenal indegree dan outdegree. Indegee adalah
banyaknya garis yang arahnya menuju vertex tersebut, sedangkan outdegree
adalah banyaknya garis

yang arahnya meninggalkan

vertex tersebut.

Dinotasikan din(A) atau dout(A).
Representasi Graph dalam Matrik
a. Matrik tetangga/matrik hubungan/Adjacency Matrik (A)
Matrik tetangga adalah matrik N x N (N = Jumlah vertex dalam graph),

yang isinya adalah 0 (nol) atau 1(satu). Nol jika antara vertex A dan vertex
B tidak ada hubungan. Satu jika antara vertex A dan vertex B ada
hubungan.

b. Matrik Bobot/Matrik Beban (W)
Matrik bobot adalah matrik N x N (N = Jumlah vertex dalam graph), yang
isinya adalah 0 (nol) atau W ij (Bobot garis antara Vi dan Vj). W ij = 0, jika
antara Vi dan Vj tidak ada hubungan.

stmikpp@ojit.ac.id

Halaman 2

Modul Kuliah Struktur Data

Graph

Untuk mengetahui bahwa antara dua buah vertex terdapat jalur dengan
panjang tertentu, dapat dilakukan dengan memangkatkan matrik tetangga (A)
dengan bilangan tertentu. Contoh : Jika matrik A dikuadratkan akan diperoleh

jalur dengan panjang 2, jika matrik A dipangkatkan 3 akan diperoleh jalur
dengan panjang 3, dst.

Mencari Jalur Terpendek dengan Algoritma Warshall
Untuk mencari jalur terpendek antara dua buah vertex dapat dilakukan
dengan algoritma Warshall, sebagai berikut:
1. Buatlah matrik bobot (W)
2. Ubah nilai 0 (nol) pada W dengan harga yang cukup besar (diasumsikan
ada jalur tapi sangat jauh), menghasilkan matrik Q0
3. Berturut-turut ubah matrik Q0 menjadi Q1, Q2, Q3,…, Qn, dengan rumus

Qk [i ,j] = MIN { Qk-1[i ,j] ; Qk-1[i ,k] + Qk-1[k ,j] }
k = 1 s/d n
i

= 1 s/d n

j

= 1 s/d n


4. Jika masih ada elemen Qn yang besar, ubah kembali menjadi 0 (nol)

  
Contoh
Dengan algoritma WARSHALL, tentukan jalur terpendek antara 2 buah titik dari
graph berikut:
7
A
4
7

5

B

2

3


stmikpp@ojit.ac.id

D

1

C

Halaman 3