10

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

Transcript of 10

Page 1: 10

Graph

12/10/2012 1Nurdiansah PTIK 09 UNM

Page 2: 10

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: 10

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: 10

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: 10

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: 10

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: 10

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: 10

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: 10

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: 10

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: 10

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: 10

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: 10

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: 10

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: 10

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: 10

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: 10

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: 10

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: 10

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: 10

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: 10

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: 10

12/10/2012 22Nurdiansah PTIK 09 UNM

Page 23: 10

12/10/2012 23Nurdiansah PTIK 09 UNM

Page 24: 10

12/10/2012 24Nurdiansah PTIK 09 UNM

Page 25: 10

Hasil :

12/10/2012 25Nurdiansah PTIK 09 UNM

Page 26: 10

To be continue…

12/10/2012 Nurdiansah PTIK 09 UNM 26