Anda di halaman 1dari 15

Pengertian dan Konsep Graph dalam

Struktur Data

Suatu graph didefinisikan oleh himpunan verteks dan himpunan sisi (edge). keterhubungan
antara verteks. Biasanya untuk suatu graph G digunakan notasi matematis. Verteks
menyatakan entitas-entitas data dan sisi menyatakan G = (V, E) Dimana :
G = Graph
V = Simpul atau Vertex, atau Node, atau Titik
E = Busur atau Edge, atau arc

V adalah himpunan verteks dan E himpunan sisi yang terdefinisi antara pasangan-pasangan
verteks. Sebuah sisi antara verteks x dan y ditulis {x,y}. Suatu graph H = (V1, E1) disebut
subgraph dari graph G jika V1 adalah himpunan bagian dari V dan E1 himpunan bagian dari
E. Cara pendefinisian lain untuk graph adalah dengan menggunakan himpunan
keterhubungan langsung Vx. Pada setiap verteks x terdefinisi Vx sebagai himpunan dari
verteks-verteks yang adjacent dari x. Secara formal: Vx = {y | (x,y) -> E}.
Dalam digraph didefinisikan juga terminologi-terminologi berikut ini.Predesesor dari suatu
verteks x (ditulis Pred(x)) adalah himpunan semua vertex yang adjacent ke x. Suksesor dari
verteks x (ditulis Succ(x)) adalah himpunan.

Pokok bahasan sebelumnya menjelaskan bahwa graf menampilkan visualisasi data dan
hubungannya. Sedangkan jika berbicara masalah implementasi struktur data graf itu sendiri,
isu utama yang dihadapi adalah bagaimana informasi itu disimpan dan dapat diakses dengan
baik, ini yang dapat disebut dengan representasi internal.

Secara umum terdapat dua macam representasi dari struktur data graf yang dapat
diimplementasi. Pertama, disebut adjacency list, dan diimplementasi dengan menampilkan
masing-masing simpul sebagai sebuah struktur data yang mengandung senarai dari semua
simpul yang saling berhubungan. Yang kedua adalah representasi berupa adjacency matrix
dimana baris dan kolom dari matriks (jika dalam konteks implementasi berupa senarai dua
dimensi) tersebut merepresentasikan simpul awal dan simpul tujuan dan sebuah entri di
dalam senarai yang menyatakan apakah terdapat sisi di antara kedua simpul tersebut.

Adjacency List
Dalam teori graf, adjacency list merupakan bentuk representasi dari seluruh sisi atau busur
dalam suatu graf sebagai suatu senarai. Simpul-simpul yang dihubungkan sisi atau busur
tersebut dinyatakan sebagai simpul yang saling terkait. Dalam implementasinya, hash table
digunakan untuk menghubungkan sebuah simpul dengan senarai berisi simpul-simpul yang
saling terkait tersebut.
Graf pada gambar diatas dapat dideskripsikan sebagai senarai {a,b},{a,c},{b,c}. Dan
representasi adjacency list dapat digambarkan melalui tabel di bawah ini.

Tabel 1. Representasi Adjacency List


Vertex Adjacency Array of Adjacent
a adjacent to b,c
b adjacent to a,c
c adjacent to a,b

Salah satu kekurangan dari teknik representasi ini adalah tidak adanya tempat untuk
menyimpan nilai yang melekat pada sisi. Contoh nilai ini antara lain berupa jarak simpul,
atau beban simpul.

Adjacency Matrix
Adjacency Matrix merupakan representasi matriks nxn yang menyatakan hubungan antar
simpul dalam suatu graf. Kolom dan baris dari matriks ini merepresentasikan simpul-simpul,
dan nilai entri dalam matriks ini menyatakan hubungan antar simpul, apakah terdapat sisi
yang menghubungkan kedua simpul tersebut. Pada sebuah matriks nxn, entri non-diagonal aij
merepresentasikan sisi dari simpul i dan simpul j. Sedangkan entri diagonal aii menyatakan
sisi kalang(loop) pada simpul i.

Gambar diatas merupakan adjacency matrix yang berkorelasi dengan graf tak berarah pada
gambar 4. Kolom dan baris pada matriks merupakan simpul- simpul berlabel 1-6. Kelebihan
dari adjacency matrix ini adalah elemen matriksnya dapat diakses langsung melalui indeks,
dengan begitu hubungan ketetanggan antara kedua simpul dapat ditentukan dengan langsung.
Sedangkan kekurangan pada representasi ini adalah bila graf memiliki jumlah sisi atau busur
yang relative sedikit, karena matriksnya bersifat jarang yaitu hanya mengandung elemen
bukan nol yang sedikit. Kasus seperti ini merugikan, karena kebutuhan ruang memori untuk
matriks menjadi boros dan tidak efisien karena komputer menyimpan elemen 0 yang tidak
perlu.
http://dinda-dinho.blogspot.co.id/2013/11
Sebuah graph mungkin hanya terdiri dari satu simpul
Sebuah graph belum tentu semua simpulnya terhubung dengan busur
Sebuah graph mungkin mempunyai simpul yang tak terhubung dengan simpul yang lain
Sebuah graph mungkin semua simpulnya saling berhubungan
Graph tak berarah (undirected graph atau non-directed graph) :
Urutan simpul dalam sebuah busur tidak dipentingkan. Mis busur e1 dapat disebut busur AB
atau BA

Graph berarah (directed graph) :

Urutan simpul mempunyai arti. Mis busur AB adalah e1 sedangkan busur BA adalah e8.
Graph Berbobot (Weighted Graph)
Jika setiap busur mempunyai nilai yang menyatakan hubungan antara 2 buah simpul, maka
busur tersebut dinyatakan memiliki bobot.
Bobot sebuah busur dapat menyatakan panjang sebuah jalan dari 2 buah titik, jumlah rata-rata
kendaraan perhari yang melalui sebuah jalan, dll.
Istilah pada graph

Contoh :
Jika e merupakan busur dengan simpul-simpulnya adalah v dan w yang ditulis e=(v,w), maka
v dan w disebut terletak pada e, dan e disebut incident dengan v dan w.
Degree (derajat), indegree dan outdegree
Degree sebuah simpul adalah jumlah busur yang incident dengan simpul tersebut.

https wordpress.com/2010/04/22://yulieee.

Graf memiliki banyak jenis, dalam tulisan ini akan dibahas beberapa jenis graf yang sering digunakan.
Berdasarkan ada tidaknya gelang atau sisi ganda pada suatu graf dan berdasarkan sisi pada graf yang
mempunyai orientasi arah.

Berdasarkan ada tidaknya gelang atau sisi ganda pada suatu graf maka graf digolongkan menjadi dua
jenis:

1. Graf sederhana (simple graph)


Graf yang tidak mengandung gelang maupun sisi ganda dinamakan graf sederhana.

2. Graf tak-sederhana (unsimple graph)


Graf yang mengandung sisi ganda atau gelang dinamakan graf tak sederhana (unsimple
graph). Ada dua macam graf tak sederhana, yaitugraf ganda (multigraph) atau graf
semu (pseudograph). Graf ganda adalah graf yang mengandung sisi ganda. Graf semu adalah
graf yang mengandung gelang (loop).

Jumlah simpul pada graf disebut sebagai kardinalitas graf, dan dinyatakan dengan n = |V|, dan jumlah
sisi kita nyatakan dengan m = |E|

Berdasarkan orientasi arah pada sisi, maka secara umum graf dibedakan atas 2 jenis :
1. Graf tak-berarah (undirected graph)
Graf yang sisinya tidak mempunyai orientasi arah disebut tak-berarah. Pada graf tak-berarah,
urutan pasangan simpul yang dihubungkan oleh sisi tidak diperhatikan. Jadi, (u, v) = (v, u)
adalah sisi yang sama.

2. Graf berarah (directed graph atau digraph)


Graf yang setiap sisinya diberikan orientasi arah disebut sebagai graf berarah. Pada graf
berarah, (u, v) dan (v, u) menyatakan dua buah busur yang berbeda, dengan kata lain (u, v)
(v, u). Untuk busur (u, v) simpul u dinamakan simpul asal (initial vertex) dan simpul v
dinamakan simpul terminal (terminal vertex).

Definisi graf dapat diperluas sehingga mencakup graf-ganda berarah(directed multigraph). Pada
graf-ganda berarah, gelang dan sisi ganda diperbolehkan ada

http://danysatriokintoko.blogspot.co.id/2013/02
KONSEP DASAR GRAPH
Definisi 1

Suatu graph G adalah pasangan (V,E) yang mana V adalah himpunan tak kosong yang anggotanya

disebut vertex dan E adalah himpunan yang anggotanya adalah pasangan pasangan tak berurut

dari vertex V dan disebut edge.

Secara umum graph diartikan sebagai diagram, yang mana vertex ditampilkan berupa titik dan

dinotasikan dengan vi, i = 1,2,3, , p dan edge ditampilkan berupa garis yang menghubungkan dua

vertex (vi,vj) dan dinotasikan dengan ek, k = 1,2,3, ,q. v i dan vj disebut vertex vertex ujung dari

edge ek. Contoh dari suatu graph dapat dilihat dari gambar 1.

Gambar 1 Graph dengan 6 vertex dan 6 edge

Definisi 2

Suatu edge yang menghubungkan pasangan vertex yang sama, yaitu (v i,vi) disebut loop. Dua

buah edge atau lebih yang mempunyai vertex ujung yang sama disebut paralel edge (multiple edge).

Pada Gambar 1 e4 adalah loop dan e1, e2 merupakan paralel edge.

Definisi 3

Suatu graph yang mengandung loop dan paralel edge seperti contoh pada gambar 1 disebut graph

semu ( pseudo graph ) dan graph yang mengandung paralel edge tanpa loop disebut multiple graph.

Gambar 1 merupakan multiple graph jika e 4 dihilangkan.


Definisi 4

Suatu graph yang tidak memuat loop dan paralel edge disebut simple graph. Contoh Simple

graph pada gambar 2.

Gambar 2 Simple graph dengan 4 vertex dan 4 edge

Definisi 5

Suatu graph dengan jumlah vertex dan jumlah edge yang berhingga disebut finite graph ( graph

berhingga ), sebaliknya jika jumlah vertex dan edge tak berhingga disebut infinite graph ( graph tak

berhingga ).

Definisi 6

Vertex vi dalam graph disebut insident terhadap edge e k jika dan hanya jika edge tersebut merupakan

penghubung dari vertex vi.

Dua buah vertex vi dan vj disebut saling adjacent jika kedua vertex tersebut dihubungkan oleh suatu

edge yang sama.

Dua buah edge ek dan el yang non paralel disebut adjacent jika kedua edge tersebut insident pada

suatu vertex persekutuan.


Definisi 7

Degree atau derajat dari vertex vi adalah banyaknya edge yang insident pada vertex v i dalam graph G

dan loop dihitung dua kali.Dinotasikan dengan d(v i).

Vertex yang berderajat 1 disebut end vertex ( pendant vertex ) sedangkan vertex yang berderajat nol

disebut dengan isolated vertex ( vertex terasing ).

Dari gambar 1 diperoleh bahwa :

d( v1 ) = d( v5 ) = 1, d ( v2 ) = 3, d ( v3 ) = 4, dan d ( v 4 ) = 2 , v1 dan v5 merupakan end vertex dan v6

merupakan isolated vertex dari graph pada gambar 1.

Teorema 1

Jumlah derajat pada seluruh vertex pada suatu graph adalah dua kali jumlah edgenya,

Bukti :

Karena edge e insident dengan dua vertex, sehingga jumlah derajat dari seluruh vertex sama dengan

2 kali jumlah edgenya.

Definisi 8

Suatu graph G yaitu (V,E) dengan E suatu himpunan kosong, sehingga graph tersebut tanpa edge,

disebut null graph. Dengan kata lain null graph adalah suatu graph dengan semua vertex nya

berderajat nol. Akibatnya setiap vertex pada null graph adalah isolated vertex.

Gambar 3 Null Graph dengan 4 vertex


Definisi 9

Suatu simple graph yang mana setiap dua vertex yang berlainan dihubungkan oleh suatu edge maka

graph itu disebut graph lengkap ( komplit graph ). Komplit graph dengan n vertex dinotasikan dengan

Kn. Pada bab selanjutnya karena keterbatasan penulis, perangkat lunak yang dirancang hanya mampu

menampilkan hingga K20 meskipun secara konsep dasar graph minimum spanning tree dapat

diperoleh hingga ke Kn dan komplit graph yang ditampilkan adalah komplit graph yang tak berarah

dan terboboti.

Gambar 4 Graph Lengkap ( Komplit Graph ) dengan 4 vertex

Definisi 10

Graph beraturan ( Regular Graph ) adalah suatu simple graph yang semua vertexnya mempunyai

derajat yang sama. Jika graph G adalah simple graph yang mana setiap vertexnya berderajat r, maka

graph tersebut dinamakan reguler graph berderajat r. Setiap komplit graph dengan n vertex

merupakan regular graph dengan derajat ( n 1 ).

Gambar 5 Regular graph dengan 3 vertex dan berderajat 2


Definisi 11

Graph S disebut subgraph dari graph G jika semua vertex dan edge di S termuat di dalam G, dan edge

dari S mempunyai vertex ujung yang sama dengan edge dari G.

(a) Gambar 6 (b)

Pada gambar 6 graph (b) merupakan subgraph dari graph (a) .

Definisi 12

Walk dalam suatu graph G adalah suatu deretan berhingga dari vertex dan edge secara bergantian

yang diawali dan diakhiri dengan vertex sedemikian hingga setiap edge yang insident dengan dua

vertex yang berdekatan.

Suatu walk dapat ditulis dengan atau tanpa mengikutsertakan edgenya. Apabila walk dengan vertex

awal dan vertex akhir yang sama maka walk tersebut disebut closed walk ( walk tertutup ). Bila vertex

awal dan vertex akhir berbeda maka disebut open walk ( walk terbuka ).
Pada gambar 6 (a) dapat diambil beberapa walk antara lain adalah :

v1 e1 v2 e5 v5 e6 v6 ( open walk )

v3 e3 v4 e4 v5 e5 v2 e2 v3 ( closed walk )

Walk di atas dapat juga ditulis tanpa mengikutsertakan edgenya menjadi :

v1 v2 v5 v6

v3 v4 v5 v2 v3

Defenisi 13

Path adalah suatu walk yang semua vertex yang dilaluinya berbeda, dan path dengan vertex awal

sama dengan vertex akhir disebut dengan circuit ( cycle ). Loop bukan merupakan path atau circuit

karena loop menghubungkan dua vertex yang sama. Banyaknya edge yang terdapat dalam suatu

path disebut lenght dari path.

Definisi 14

Distance antara 2 vertex v i dan vj diartikan sebagai panjang path yang terpendek dari v i dan vj.

Dinotasikan sebagai d ( vi,vj ).

Length atau panjang suatu graph adalah bilangan yang menyatakan banyaknya edge yang muncul

dalam suatu walk.

d(v3,v5) pada graph 6 (a) adalah 2 yaitu : v3 v2 v5

v3 v4 v5

Pada graph 6 ( a ) v3 v4 v5 v2 v3 adalah walk dengan length 4.

2.2 Connected Graph dan Undirected Graph

Suatu graph G disebut graph terhubung ( connected graph )jika untuk setiap pasangan vertex di

dalam G terdapat paling sedikit satu path, sebaliknya jika dalam graph G terdapat pasangan vertex

yang tidak mempunyai path penghubung maka graph itu disebut disconnected graph. Atau dengan

kata lain suatu connected graph adalah suatu graph yang tidak memiliki isolated vertex.

Dalam suatu disconnected graph memungkinkan terdapat dua atau lebih connected graph. Setiap

connected graph dari disconnected graph disebut komponen.


( a ) Connected graph ( b ) Disconnected graph dengan 2 komponen

Gambar 7

Definisi 15

Directed graph adalah suatu graph G yang terdiri dari himpunan vertex V = {v 1, v2, , vp } dan

himpunan edge E = {e1, e2, , eq }dan suatu pemetaan f yang memetakan setiap edge onto terhadap

pasangan berurut dari vertex ( vi,vj ), yang mana vertex disajikan dengan titik dan edge disajikan

dengan sepotong garis berarah dari vi ke vj. Garis berarah yang menghubungkan dua vertex disebut

arcus ( arc ) sehingga dari defenisi di atas dapat ditulis : f : e q ( vi,vj )


yang mana eq adalah arcus ke q G yang dipetakan oleh f ke pasangan vertex (v i,vj).

Gambar 8 Directed Graph

Dari gambar 8 diperoleh pemetaan sebagai berikut :

Definisi 16
Mixed graph adalah suatu graph G yang terdiri dari pasangan himpunan { V, E } yang mana V adalah

himpunan berhingga tak kosong yang anggotanya merupakan titik yang disebut vertex, dan E adalah

himpunan berhingga yang anggotanya merupakan potongan garis berarah dan tak berarah yang

menghubungkan pasangan vertex tersebut disebut edge.

Gambar 9 Mixed Graph

Definisi 17

Undirected graph adalah suatu graph G yang terdiri dari pasangan himpunan { V,E } yang mana V

adalah himpunan berhingga tak kosong yang anggotanya disebut vertex dan E adalah himpunan

berhingga yang anggotanya disebut edge, yang merupakan potongan garis tak berarah yang

menghubungkan pasangan vertex tersebut.

Definisi 18

Suatu graph G disebut weighted graph jika setiap edge dari graph G diberi bobot dengan suatu

bilangan real. Jika setiap edge nya dikaitkan dengan suatu simbol yang bukan bilangan real disebut

labeled graph.
( a ) Weighted Graph Gambar 10 ( b ) Labeled Graph

Definisi 19

Jika vi adalah suatu vertex dalam graph G, maka G v i merupakan suatu subgraph dari G yang

diperoleh dengan menghapus vertex vi beserta edge yang insident dengan vertex tersebut. Jika e j

adalah suatu edge dalam graph G, maka G e j merupakan suatu subgraph dari G yang diperoleh

dengan menghapus edge ej dari G.

( a ) Graph G
b ) Graph G v3 c ) Graph G e2

Gambar 11

https://dee83.wordpress.com/2008/08/16

Anda mungkin juga menyukai