Upload
ical-militanmannojack
View
167
Download
0
Embed Size (px)
Citation preview
Graph
12/10/2012 1Nurdiansah PTIK 09 UNM
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
12/10/2012 22Nurdiansah PTIK 09 UNM
12/10/2012 23Nurdiansah PTIK 09 UNM
12/10/2012 24Nurdiansah PTIK 09 UNM
Hasil :
12/10/2012 25Nurdiansah PTIK 09 UNM
To be continue…
12/10/2012 Nurdiansah PTIK 09 UNM 26