26
Graph 12/10/2012 1 Nurdiansah PTIK 09 UNM

Document10

Embed Size (px)

Citation preview

Page 1: Document10

Graph

12/10/2012 1Nurdiansah PTIK 09 UNM

Page 2: Document10

GRAPH

Graph adalah kumpulan dari simpul dan busur yang secara matematis dinyatakan sebagai :

G = (V, E)Dimana

G = Graph

V = Simpul atau Vertex, atau Node, atau Titik

E = Busur atau Edge, atau arc

12/10/2012 2Nurdiansah PTIK 09 UNM

Page 3: Document10

Contoh graph :

B

A C

D E

Undirected graph

vertex

edge

e1 e3e4

e7e5e2

e6

v1

v2

v4 v5

v3

V terdiri dari v1, v2, …, v5

E terdiri dari e1, e2, … , e7

12/10/2012 3Nurdiansah PTIK 09 UNM

Page 4: Document10

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

12/10/2012 4Nurdiansah PTIK 09 UNM

Page 5: Document10

Graph Berarah dan Graph Tak Berarah :

B

A C

D E

B

A C

D E

Directed graph Undirected graph

e1 e3

e4

e7e5e2

e6

v1

v2

v4 v5

v3v1

v2

v3

v5v4

e1

e2

e3

e4

e5

e6

e7

e8 e9

e10

Dapat dilihat dari bentuk busur yang artinya urutan

penyebutan pasangan 2 simpul.

12/10/2012 5Nurdiansah PTIK 09 UNM

Page 6: Document10

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.

12/10/2012 6Nurdiansah PTIK 09 UNM

Page 7: Document10

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.

12/10/2012 7Nurdiansah PTIK 09 UNM

Page 8: Document10

Graph Berbobot :

B

A C

D E

B

A C

D E

Directed graph Undirected graph

5 3

12

684

3

v1

v2

v4 v5

v3v1

v2

v3

v5v4

5

e2

3

12

8

3

6

4 7

10

Panjang busur (atau bobot) mungkin tidak digambarkan secara

panjang yang proposional dengan bobotnya. Misal bobot 5

digambarkan lebih panjang dari 7.

12/10/2012 8Nurdiansah PTIK 09 UNM

Page 9: Document10

Istilah pada graph

Incident 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 outdegreeDegree sebuah simpul adalah jumlah

busur yang incident dengan simpul tersebut.

12/10/2012 9Nurdiansah PTIK 09 UNM

Page 10: Document10

Indegree sebuah simpul pada graph berarah adalah jumlah busur yang kepalanya incident dengan simpultersebut, atau jumlah busur yang “masuk” atau menuju simpul tersebut.

Outdegree sebuah simpul pada graph berarah adalah jumlah busur yang ekornya incident dengan simpultersebut, atau jumlah busur yang “keluar” atau berasal dari simpul tersebut.

12/10/2012 10Nurdiansah PTIK 09 UNM

Page 11: Document10

3. Adjacent Pada graph tidah berarah, 2 buah simpul disebut adjacent bila ada busur yang menghubungkan kedua simpul tersebut. Simpul v dan w disebut adjacent.

Pada graph berarah, simpul v disebut adjacent dengan simpul w bila ada busur dari w ke v.

we

v

v

e w

12/10/2012 11Nurdiansah PTIK 09 UNM

Page 12: Document10

4. Successor dan Predecessor

Pada graph berarah, bila simpul v adjacent dengan simpul w, maka simpul v adalahsuccessor simpul w, dan simpul w adalahpredecessor dari simpul v.

5. Path

Sebuah path adalah serangkaian simpul-simpul yang berbeda, yang adjacent secaraberturut-turut dari simpul satu ke simpulberikutnya.

1

4

3

2

4

2

4

2

4

21

3

1

3

1

3

12/10/2012 12Nurdiansah PTIK 09 UNM

Page 13: Document10

Representasi Graph dalam bentuk matrix

Adjacency Matrix Graph tak berarah

0 1 0 1 0

1 0 1 0 1

0 1 0 1 1

1 0 1 0 1

0 1 1 1 0

B

A C

D E

Graph

A B

A

0

B

C

1 2 43

C D E

D

E

0

1

2

4

3

Urut abjad

Degree simpul : 3

12/10/2012 13Nurdiansah PTIK 09 UNM

Page 14: Document10

Representasi Graph dalam bentuk matrix

Adjacency Matrix Graph berarah

0 1 0 1 0

1 0 1 0 1

0 1 0 1 1

0 0 1 0 1

0 0 0 0 0Graph

A B

A

0

B

C

1 2 43

C D E

D

E

0

1

2

4

3

B

A C

D E

ke

dari

out

in12/10/2012 14Nurdiansah PTIK 09 UNM

Page 15: Document10

Representasi Graph dalam bentukLinked List

Adjency List graph tak berarah

Digambarkan sebagai sebuah simpul yang memiliki 2 pointer.

Simpul vertex : Simpul edge :

info info

Menunjuk ke simpul

vertex

berikutnya, dalam

untaian simpul yang

ada.

Menunjuk ke simpul

edge pertama Menunjuk ke

simpul edge

berikutnya, bila

masih ada.Menunjuk ke simpul

vertex tujuan yang

berhubungan dengan

simpul vertex asal.

left right left right

12/10/2012 15Nurdiansah PTIK 09 UNM

Page 16: Document10

Define struct untuk sebuah simpul yang dapat digunakan sebagai vertex maupun edge.

typedef struct tipeS {

tipeS *Left;

int INFO;

tipeS *Right;

};

tipeS *FIRST, *PVertex, *PEdge;

12/10/2012 16Nurdiansah PTIK 09 UNM

Page 17: Document10

Contoh : untuk vertex A, memiliki 2 edge yang terhubung yaitu e1 dan e2.

A

C

D

B

E

e2

Graph

e1B

A C

D E

e1e3

e4

e7e5e2

e6

Urut abjad

12/10/2012 17Nurdiansah PTIK 09 UNM

Page 18: Document10

Gambar di atas dapat disusun denganlebih sederhana, sbb :

A

C

D

B

E

D

A

B

A

B

C E

D E

C

C D

B

A C

D E

Graph

B

E

12/10/2012 18Nurdiansah PTIK 09 UNM

Page 19: Document10

Adjency List graph berarah

A

C

D

B

E

D

A

B

C

E

C

B

E

B

A C

D E

12/10/2012 19Nurdiansah PTIK 09 UNM

Page 20: Document10

Graph berarah dan berbobot

B

A C

D E

53

2

14

12

6

7

12

0 5 0 2 0

6 0 3 0 0

0 0 0 0 9

0 0 12 0 7

0 14 0 0 0

A

A

0

B

C

1 2 43

D

E

0

1

2

4

3

B C D E

Perhatikan pemilihan nilai 0.

12/10/2012 20Nurdiansah PTIK 09 UNM

Page 21: Document10

Penyelesaian kasus Graph halaman sebelumnya :

Define simpul untuk vertex dan edge Mengidentifikasi Simpul pertama sebagai

vertex yang pertama Tambahkan vertex sisanya Tambahkan edge pada masing-masing

vertex yang telah terbentuk Tampilkan representasi graph berikut

bobotnya

12/10/2012 21Nurdiansah PTIK 09 UNM

Page 22: Document10

12/10/2012 22Nurdiansah PTIK 09 UNM

Page 23: Document10

12/10/2012 23Nurdiansah PTIK 09 UNM

Page 24: Document10

12/10/2012 24Nurdiansah PTIK 09 UNM

Page 25: Document10

Hasil :

12/10/2012 25Nurdiansah PTIK 09 UNM

Page 26: Document10

To be continue…

12/10/2012 Nurdiansah PTIK 09 UNM 26