xxxxxx VV - eLisa UGM

advertisement
7. PENGANTAR TEORI GRAF
Definisi : Secara umum merupakan kumpulan titik dan garis.
NET terdiri atas :
1.
Himpunan titik (tidak boleh kosong)
2.
Himpunan garis (directed line)
3.
Setiap directed line menentukan dengan tunggal titik awal (source) dan titik
akhir (target).
g1
g2
Gambar 7.1
7.1
Aksioma untuk NET
Suatu kondisi yang selalu benar  aksioma (tidak perlu dibuktikan).
1.
Himpunan titik (V) = finite (terbatas, berhingga dan bukan himpunan kosong)
2.
Himpunan (x) = finite
Paralel  jika sourcenya sama dan targetnya sama
x3 paralel x4
x6
Source (x1) = source (xj)
Target (v1) = target (xj)
x5
x3
x4
x2
V1
V3
x1
Gambar 7.2
Loop  jika source dari x = target dari x
Relasi ekuivalensi (refleksif, simetris, transitif)
Gambar 7.3
Pusat Pengembangan Pendidikan - Universitas Gadjah Mada 1
3.
Tidak ada garis parallel yang relasi
4.
Tidak ada loop/ digraph/ directed graph/ graph berarah.
7.2
Graph (Simple Graph)
-
Tidak ada multiple line
-
Tidak ada arah
-
Tidak ada loop
Definisi-definisi :
1.
Walk  Urutan titik dan garis (diawali dengan titik dan diakhiri titik). Garis
boleh berulang.
2.
Trail  Walk yang khusus tapi garisnya berlainan.
3.
Path  adalah Trail yang tidak mengulangi titik. Kecuali path tertutup (karena
awal dan akhirnya sama).
4.
Cycle  path yang tertutup (titik dan garisnya tidak boelh berulang). Minimal
terdiri dari 3 garis.
5.
Panjang (x)  banyaknya garis yang terdapat pada walk, trail, path, cycle.
6.
Jarak  panjang path terpendek dari 2 titik.
x4
V4
x3
V1
V3
x5
x6
x1
V2
x2
V5
Path = V1 V2 V4 V3
Cycle = ada 3 cycle, yaitu :
Cycle 1 =V2, V4, V3, V5
Cycle 2 = V2, V4, V3
Cycle 3 = V2, V5, V3
Jarak = V1 ke V3 adalah 2
Gambar 7.4
7.3
Connected Graph (Graph yang Terhubung)
Connected Graph
Gambar 7.5
7.4
Totally not Connected Graph
Gambar 7.6
Graph Lengkap
(Complete Graph)
Gambar 7.7
Sub Graph
Definisi  Suatu graph, misal S = Subgraph dari G. Artinya semua titik di G ada
di S dan semua garis di S ada di G.
Pusat Pengembangan Pendidikan - Universitas Gadjah Mada 2
S=
G=
Gambar 7.8
7.5
Gambar 7.9
Tree atau Pohon
Tree  Sebuah Connected Graph yang Acyclic. Acyclic adalah graph terhubung yang
tidak ada cyclenya.
Gambar 7.10
7.6
Graph Berbobot
Definisi  Sebuah graph dimana setiap garisnya mempunyai nilai. Pada setiap connected
graph selalu dapat ditemukan sub graph yang tree.
Misal :
Gambar 7.11
7.7
Minimum Spanning Tree
Definisi  Tree yang total bobotnya terkecil.
Contoh :
Minimum spanning tree dari gambar dibawah adalah :
5
5
7
7
10
6
9
6
6
Gambar 7.12
7.8
Algoritma Kruskal
Pusat Pengembangan Pendidikan - Universitas Gadjah Mada 3
Algoritma :
T:=Ø;
Vs : = Ø ;
Buat semua urutan edge yang mungkin (Q)
For setiap v V tambahkan Vs
While Vs  i do
Begin
Pilih (v, w) dari a dengan bobot terkecil
Hapus (v, v) dari Q
If v dan w pada himpunan yang berbeda w1 dan w2 dalam Vs then
Begin
Tempatkan w1, w2 dalam Vs dengan w1  w2
Tambahkan (v, w) ke T
Contoh :
v5
2
12
11
v8
9
v4
8
4
v1
v3
10
1
v2
3
v6
5
7
6
v7
Gambar 7.13
Dengan menggunakan algoritma kruskal diatas, maka dapat dihasilkan :
Q
bobot aksi
Vs
{{v1}, {v2}, {v3}, {v4}, {v5}, {v6}, {v7}, {v8}}
(v1, v2) 1
Pilih {{v1, v2}, {v3}, {v4}, {v5}, {v6}, {v7}, {v8}}
(v1, v5) 2
Pilih {{v1, v2, v5}, {v3}, {v4}, {v6}, {v7}, {v8}}
(v2, v6) 2
Pilih {{v1, v2, v5, v6}, {v3}, {v4}, {v7}, {v8}}
(v5, v6) 4
Tolak {{v1, v2, v5, v6}, {v3}, {v4}, {v7}, {v8}}
(v2, v3) 5
Pilih {{v1, v2, v3, v5, v6}, {v4}, {v7}, {v8}}
(v6, v7) 6
Pilih {{v1, v2, v3, v5, v6, v7}, {v4},{v8}}
(v3, v7) 7
Tolak {{v1, v2, v3, v5, v6, v7}, {v4},{v8}}
(v3, v4) 8
Pilih {{v1, v2, v3, v4, v5, v6, v7}, {v8}}
(v4, v8) 9
Pilih {{v1, v2, v3, v4, v5, v6, v7, v8}}
(v7, v8) 10
(v1, v4) 11
(v5, v8) 12
Dari hasil penjabaran algoritma diatas, maka dapat digambarkan :
Pusat Pengembangan Pendidikan - Universitas Gadjah Mada 4
v5
2
v1
v8
9
v4
8
v3
1
v2
v6
5
6
7
v7
Gambar 7.14
7.9
Cycle Breaking Methode
Alur algoritma ini adalah dengan mencari bobot terbesar dalam cycle, untuk
kemudian garisnyanya dihilangkan atau dipatahkan dan cari lagi bobot terbesar dari cycle
yang masih ada sampai akhirnya tidak ada cycle lagi.
Dari Gambar 7.13, maka langkah-langkahnya adalah :
-
Bobot yang terbesar adalah 12 dari titik v8 ke v5. Path ini dihilangkan.
-
Pindah ke cycle berikutnya, dan ditemukan bobot yang terbesar adalah 4 dari titik v5
ke v6. Path ini dihilangkan lagi, begitu seterusnya sampai tidak ada cycle yang
tersisa.
-
Maka akan terbentuk graph seperti pada Gambar 7.14.
7.10
Algoritma Prim
Ditemukan oleh Robert C. Prim. Cara kerja algoritma ini adalah dengan
mengambil sembarang titik. Misalkan diambil titik v8. Garis – garis yang
menghubungkan dari titik v8 adalah titik v5, v4, dan v7. Dari ketiga garis itu, cari bobot
yang terkecil. Bobot yang terkecil dari ke 3 garis itu adalah itu adalah bobot yang
menghubungkan titik v8 ke v4. Pertahankan garis tersebut, begitu seterusnya. Sampai
akhirnya nanti terbentuk graph seperti pada Gambar 7.14.
Pusat Pengembangan Pendidikan - Universitas Gadjah Mada 5
Download