TAPPDF.COM PDF DOWNLOAD PENERAPAN TEORI GRAF UNTUK MENYELESAIKAN MASALAH ... FKIP UM METRO 1 SM
PENERAPAN TEORI GRAF UNTUK MENYELESAIKAN
MASALAH MINIMUM SPANNING TREE (MST) MENGGUNAKAN
ALGORITMA KRUSKAL
Swaditya Rizki
Program Studi Pendidikan Matematika, Fakultas Keguruan dan Ilmu Pendidikan,
Universitas Muhammadiyah Metro, Lampung
Email: swaditya.rizki@gmail.com
ABSTRACT: One of useful graph theory to solve the real problems is Minimum
Spanning Tree (MST). MST is network optimization problems that can be applied in
many fields such as transportations problems and communication network design
(Gruber and Raidl, 2005). MST begins from tree namely a connected graph has no
circuits. From the graph, there is a sub-graph that has all the vertex or spanning tree. If
that graph has the weight/cost, then the spanning tree that has the smallest weight/cost
is called Minimum Spanning Tree. Basic algorithm used to determine the MST is
Kruskal’s algorithm. This algorithm is known as one of the best algorithms for the
optimization problems, especially for MST. In this paper is developed a source code
program to determine MST using Kruskal’s algorithm and then implemented on several
data representing a complete graph.
Keywords: Graph, Tree, Minimum Spanning Tree (MST), Kruskal’s Algorithm.
saat ini dapat memudahkan manusia
1. Latar Belakang dan Masalah
dalam
Perkembangan ilmu pengetahuan
dan teknologi sampai saat ini terus
mengalami peningkatan yang signifikan.
Para peneliti terus melakukan penelitian
untuk selalu memunculkan penemuanpenemuan baru yang dapat memberikan
sumbangan
ilmu
pengetahuannya
sebagai penunjang berkembangnya ilmu-
menyelesaikan
permasalahan
yang ada. Teknologi komputer sendiri
pembuatannya
sebagian
besar
menggunakan logika matematika yang
sampai saat ini terus berkembang pesat,
sehingga
digunakan
ilmu
matematika
untuk
dapat
menyelesaikan
berbagai permasalah-an dalam dunia
nyata.
ilmu lain. Salah satunya adalah ilmu
matematika yang sudah ditemukan oleh
Salah satu contoh bagian dari ilmu
ilmuan-ilmuan ratusan tahun yang lalu,
matematika adalah teori graf. Berawal
sekarang
dalam
dari permasalahan jembatan Konigsberg
perkembangan teknologi yang sampai
yang memiliki tujuh buah jembatan,
sangat
berguna
ISSN 2089 – 8703 Vol.1 No.2, Oktober 2012
142
Penelitian
penduduk kota tersebut ingin melewati
ini
berfokus
jembatan tersebut tepat satu kali dan
algoritma
kembali
Minimum Spanning Tree (MST) yang
lagi
ke
keberangkatan.
tempat
Dari
awal
permasalahan
terkait
Kruskal
tentang
untuk
pada
masalah
optimasi
dalam
tersebut, seorang matematikawan Swiss,
permasalahan
transportasi
Leonard Euler menemukan jawaban dari
pembuatan
jalan
permasalahan
menghubungkan lebih dari n kota dan
tersebut
yaitu
memodelkan masalah ini dengan cara
permasalahan
merepresentasikan
khususnya
raya
desain
yang
jaringan
dalam
graf.
komunikasi untuk kecepatan transfer
tersebut
dapat
data. Permasalahan ini direpresentasi-
menganalisis
dan
kan ke dalam suatu graf, kemudian dicari
suatu
pohon merentang minimum (Minimum
permasalahan yang sangat membutuhkan
Spanning Tree) menggunakan algoritma
dana besar dan waktu lama untuk
Kruskal.
Dengan
ke
representasi
mempermudah
menemukan
solusi
dari
membuktikannya secara langsung.
2. Tujuan Penelitian
Graf juga
manfaat
untuk
mempunyai
banyak
optimasi
dalam
membangun jalan raya, rel kereta api,
desain jaringan komunikasi, dll. Sebagai
contoh, untuk membangun sebuah jalan
raya yang menghubungkan beberapa
kota, sangat dibutuhkan suatu desain
dalam graf agar dapat mengoptimalkan
pembangunan
suatu
jalan
tersebut
dengan dana yang minimal. Masalah ini
dapat direpresentasikan ke dalam graf
yaitu
sebagai
dengan
menyatakan kota-kota
titik/node/vertex,
sebagai
garis/edge,
jalan
dan
raya
biaya
pembangunan jalan raya sebagai bobot
dalam graf.
ISSN 2089 – 8703 Vol.1 No.2, Oktober 2012
Tujuan
memberikan
penelitian
suatu
ini
adalah
solusi
untuk
mendeskripsikan
transportasi
komunikasi
permasalahan
dan
ke
desain
dalam
jaringan
suatu
graf
lengkap. Kemudian membentuk graf
tersebut menjadi Minimum Spanning
Tree
(MST)
dengan
menggunakan
algoritma Kruskal sehingga didapatkan
biaya
minimum
transportasi
dan
pada
permasalahan
desain
jaringan
komunikasi dengan titik/node 10, 20, 30,
40, 50, 60, 70, 80, 90, 100. Proses ini
kemudian diimplementasikan ke dalam
sebuah program komputasi sehingga
dengan
mudah
dan
cepat
untuk
143
mendapatkan solusi dari permasalahan
Graf lengkap adalah graf sederhana
tersebut.
yang setiap titiknya mempunyai sisi ke
3. Graf (Graph )
semua titik lainnya atau graf yang setiap
titiknya saling bertetangga. Graf dengan
Graf G adalah suatu struktur (V,E )
dimana V = {v1, v2, …} himpunan tak
kosong
dengan
elemen-elemennya
n buah titik dilambangkan dengan Kn.
Setiap titik pada Kn berderajat n-1. K1
sampai K5 adalah contoh graf lengkap.
disebut vertex (titik), sedangkan E = {e1,
e2 ,
…}
(mungkin
kosong)
adalah
himpunan pasangan tak terurut dari
elemen-elemen di V(G). Anggota dari
E(G) disebut edge (sisi). Secara geometri
graf digambarkan sebagai sekumpulan
noktah (simpul) di dalam bidang dua
dimensi
yang
dihubungkan
dengan
Gambar 2. Graf Lengkap K1 – K5.
Jumlah sisi pada graf lengkap yang
sekumpulan garis (sisi).
terdiri dari n buah titik adalah
v1
e3
v2
e1
n (n 1)
.
2
(Munir, 2001).
v5
e5
e4
e2
e7
v3
e6
v4
Definisi 2v5Graf Berbobot (Weighted
e7 )
Graph
Graf berbobot adalah graf yang
Gambar 1. Graf G dengan sebuah loop
setiap
sisinya
diberi
sebuah
harga
dan parallel edges.
(bobot). Bobot pada tiap sisi dapat
menyatakan jarak antar dua buah kota,
e4 dan e5 dinamakan sisi ganda (parallel
biaya perjalanan antar dua buah kota,
edges), sedangkan e1 dinamakan loop
waktu tempuh atau biaya instalasi dari
karena ia berawal dan berakhir pada titik
sebuah simpul komunikasi ke simpul
yang sama (Deo, 1989).
komunikasi
lainnya
dalam
jaringan
komputer, atau biaya pembangunan jalan
Definisi 1 Graf Lengkap (Complete
raya antar dua buah kota (Munir, 2001).
Graph )
ISSN 2089 – 8703 Vol.1 No.2, Oktober 2012
144
Definisi 3 Sirkuit (Cycle)
Lintasan yang berawal dan berakhir
pada simpul yang sama disebut sirkuit
atau siklus (Munir, 2001).
5.
G tidak mengandung sirkuit dan
penambahan satu sisi pada graf akan
membuat hanya satu sirkuit.
6. G terhubung dan semua sisinya adalah
jembatan (jembatan adalah sisi yang
a. Pohon (Tree)
bila
dihapus
menyebabkan
graf
terbagi menjadi dua komponen)
Definisi 4 Pohon
(Munir, 2001).
Tree adalah graf terhubung yang tidak
mengandung sirkuit (Deo, 1989).
b. Pohon Merentang (Spanning Tree)
Misalkan G graf terhubung. Tree T
dikatakan spanning tree dari G jika T
adalah subgraf dari G yang memuat
semua titiknya (Deo, 1989).
Misalkan G = (V,E) adalah graf tak-
Gambar 3. Pohon (Tree).
berarah terhubung yang bukan pohon,
artinya pada G terdapat sirkuit. G dapat
Sifat-sifat dari pohon (tree) adalah
diubah menjadi pohon T = (V,E) dengan
sebagai berikut:
cara memutuskan sirkuit-sirkuit yang
Misalkan G = (V, E ) adalah graf tak-
ada. Caranya yaitu dengan memutuskan
berarah sederhana dan jumlah simpulnya
salah satu sisi pada sirkuit hingga tidak
n. Semua pernyataan di bawah ini adalah
ada sirkuit pada G. Jika di G tidak ada
ekivalen:
lagi sirkuit maka pohon T ini disebut
1. G adalah pohon.
dengan pohon merentang (spanning
2. Setiap pasang simpul di dalam G
tree). Disebut merentang karena semua
terhubung dengan lintasan tunggal.
simpul pada pohon T sama dengan
3. G terhubung dan memiliki n – 1 buah
simpul pada graf G, dan sisi pada T
sisi.
sisi pada G, dengan kata lain V1 = V dan
4. G tidak mengandung sirkuit dan
E 1 E (Munir, 2001).
memiliki n – 1 buah sisi.
Contoh pembentukan spanning tree.
ISSN 2089 – 8703 Vol.1 No.2, Oktober 2012
145
digunakan adalah masalah transportasi
seperti pemodelan proyek pembangunan
jalan raya menggunakan graf. MST
digunakan untuk memilih jalur dengan
bobot terkecil yang akan meminimalkan
biaya pembangunan jalan.
Contoh graf dan pohon berbobot:
G
Gambar 4. Graf dan tiga buah spanning
T2
tree T1, T2, T3.
Gambar 5. G graf
berbobot, T1 danT2
T1
c. Minimum Spanning Tree (MST)
Jika G pada merupakan graf
rentang pohon
berbobot.
berbobot, maka bobot pohon merentang
T1 atau T2 didefinisikan sebagai jumlah
Dari graf berbobot G, akan ditentukan
bobot semua sisi di T1 atau T2. Di antara
pohon merentang mana yang paling
pohon merentang yang ada pada G, yang
minimum. Apakah T1 atau T2?. Hal
paling penting adalah pohon merentang
tersebut
dengan
membangun
bobot
minimum.
Pohon
merentang dengan bobot minimum ini
disebut
dengan
pohon
yang
akan
pohon
dicari
dengan
merentang
minimum.
merentang
minimum atau Minimum Spanning Tree
(MST). Contoh aplikasi MST yang sering
ISSN 2089 – 8703 Vol.1 No.2, Oktober 2012
146
4. Algoritma Kruskal
(Thomas, et.al, 2001)
Adapun langkah-langkah algoritma
Kruskal yaitu sebagai berikut:
1. Urutkan (sorting)
biaya/bobot
setiap edge dari biaya yang
terkecil ke biaya terbesar.
2. Kemudian pilih edge terkecil dan
pasang ke dalam tree.
3. Cek apakah jumlah E V 1 .
Jika tidak, ke Langkah 4. Jika ya,
stop.
4. Pilih
edge
berikutnya
dalam
sorting.
5. Cek apakah pemasangan edge
tersebut
sirkuit/cycle.
menyebabkan
Jika
tidak,
masukkan edge ke dalam tree
dan ke Langkah 6.
Jika ya, ke Langkah 7.
6. Kembali ke Langkah 3.
7. Buang edge pada Langkah 5 dan
kembali ke Langkah 4.
ISSN 2089 – 8703 Vol.1 No.2, Oktober 2012
147
Diagram alir Minimum Spanning Tree (MST) adalah sebagai berikut:
Mulai
Input Jumlah Vertex(v),
Diameter (D)
Random bobot nilai tiap edge
Sorting edge dari kecil
ke besar
Ambil edge terkecil, pasang ke dalam tree
Edge = vertex -1 ?
ya
tidak
Ambil edge berikutnya
ya
membentuk
sirkuit?
tidak
Pasang ke dalam
tree
Output MST
Selesai
Gambar 6. Diagram alir (flowchart) MST.
ISSN 2089 – 8703 Vol.1 No.2, Oktober 2012
148
acak dengan jumlah vertex 10, dari 10
5. Hasil dan Pembahasan
vertex tersebut dihubungkan sebagai
Input
program
berupa
jumlah
graf lengkap sehingga mempunyai edge
vertex/titik. Dari jumlah vertex tersebut
sebanyak 45. Untuk proses menentukan
dibangkitkan bobot/biaya tiap edge
graf lengkap dapat dilihat pada gambar
untuk suatu graf lengkap. Kemudian
2. Kemudian dari graf lengkap tersebut
data tersebut diurutkan berdasarkan
bobot/biaya
terkecil
dan
dibangkitkan biaya/bobot secara acak
kemudian
untuk masing-masing edge dengan nilai
diperoleh solusi optimal MST. Sebagai
yang
contoh, akan dibangkitkan data secara
bervariasi.
Berikut
ini
hasil
simulasi data untuk 10 vertex.
Tabel 1. Data graf lengkap dengan jumlah vertex 10.
Edge
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Dari
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
4
Ke
2
3
4
5
6
7
8
9
10
3
4
5
6
7
8
9
10
4
5
6
7
8
9
10
5
Biaya
10
57
44
43
35
41
64
92
47
10
38
32
27
77
79
49
24
33
92
21
44
78
2
73
86
Edge
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Dari
4
4
4
4
4
5
5
5
5
5
6
6
6
6
7
7
7
8
8
9
ISSN 2089 – 8703 Vol.1 No.2, Oktober 2012
Ke
6
7
8
9
10
6
7
8
9
10
7
8
9
10
8
9
10
9
10
10
Biaya
22
23
75
44
44
59
71
9
52
44
32
77
5
13
96
91
64
96
6
48
149
Tabel 2. Proses mengurutkan data berdasarkan bobot/biaya.
Edge
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Dari
3
6
8
5
1
2
6
3
4
4
2
2
2
6
3
1
2
1
1
1
3
4
4
5
1
Ke
9
9
10
8
2
3
10
6
6
7
10
6
5
7
4
6
4
7
5
4
7
9
10
10
10
Biaya
2
5
6
9
10
10
13
21
22
23
24
27
32
32
33
35
38
41
43
44
44
44
44
44
47
Edge
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Dari
9
2
5
1
5
1
7
5
3
4
2
6
3
2
4
7
1
3
7
8
Setelah proses pengurutan data,
Ke
10
9
9
3
6
8
10
7
10
8
7
8
8
8
5
9
9
5
8
9
Biaya
48
49
52
57
59
64
64
71
73
75
77
77
78
79
86
91
92
92
96
96
6. Pasang edge dari vertex 2 ke 3.
edge dipasang satu persatu ke dalam
7. Pasang edge dari vertex 6 ke 10.
tree dimulai dari bobot biaya yang
8. Edge dari vertex 3 ke 6 tidak boleh
terendah sampai memenuhi MST dan
dipasang karena akan membentuk
proses akan berhenti jika jumlah edge =
sirkuit.
Adapun langkah-langkah
9. Pasang edge dari vertex 4 ke 6.
dalam pemasangan edge ke dalam tree
10. Pasang edge dari vertex 4 ke 7.
adalah sebagai berikut:
11. Karena jumlah edge = vertex-1,
vertex -1.
1. Pasang edge dari vertex 3 ke 9.
maka proses pemasangan edge
2. Pasang edge dari vertex 6 ke 9.
selesai sehingga didapatkan nilai
3. Pasang edge dari vertex 8 ke 10.
minimum
4. Pasang edge dari vertex 5 ke 8.
sebagai berikut:
dari
spanning
tree
5. Pasang edge dari vertex 1 ke 2.
ISSN 2089 – 8703 Vol.1 No.2, Oktober 2012
150
Tabel 3. Solusi optimal MST
menggunakan algoritma Kruskal.
Edge
Dari
Ke
3
9
6
9
8
10
5
8
1
2
2
3
6
10
4
6
4
7
Total Biaya
minimum dibandingkan dengan solusi
yang tidak menggunakan algoritma.
Biaya
2
5
6
9
10
10
13
22
23
100
6. Kesimpulan
Data yang digunakan untuk contoh
simulasi diatas hanya data dengan
jumlah vertex 10, sedangkan untuk
jumlah vertex lebih dari 10 bisa
menggunakan program komputasi yang
disini
Tabel 4. Solusi MST tanpa
menggunakan algoritma.
Edge
Dari
Ke
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
1
10
Total Biaya
lebih
Biaya
mengefisienkan
waktu
perhitungan. Program komputasi ini
10
57
44
43
35
41
64
92
47
433
juga
nantinya dapat
dikembangkan
untuk MST dengan algoritma yang lain
ataupun dengan memodifikasi algoritma
Kruskal untuk aplikasi graf lainnya.
DAFTAR PUSTAKA
solusi optimal dari MST dengan total
bobot/ biaya yaitu 100. Sedangkan pada
Deo, N. 1989. Graph Theory with
Applications to Engineering and
Computer Science. Prentice Hall,
Inc. Englewood Cliffs, New
Jersey. 461 hlm.
yaitu solusi MST tanpa
menggunakan
bobot/biaya
tersebut
bahasa
pemrograman C/C++ sehingga akan
Dari Tabel 3 diatas tersebut didapat
Tabel 4
menggunakan
algoritma
yaitu
dapat
433.
didapatkan
Dari
disimpulkan
nilai
bahwa
algoritma Kruskal dapat digunakan
untuk mencari solusi optimal MST,
Gruber, M. and Raidl, G.R. 2005.
Variable Neighborhood Search
for the Bounded Diameter
Minimum Spanning Tree Problem.
Institute of Computer Graphics
and Algorithms, Vienna
University of Technology. 18th
Mini Euro Conference . Austria.
bahkan nilai yang didapatkan jauh lebih
ISSN 2089 – 8703 Vol.1 No.2, Oktober 2012
151
Munir, R. 2001. Matematika Diskrit.
Informatika, Bandung. Hlm 353456.
Thomas H. Cormen, Charles E.
Leiserson, Ronald L. Rivest, and
Clifford Stein. Introduction to
Algorithms, Second Edition., 2001.
ISBN 0-262-03293-7. Section 23.2:
The algorithms of Kruskal and
Prim, pp.567–574. MIT Press and
McGraw-Hill.
ISSN 2089 – 8703 Vol.1 No.2, Oktober 2012
152
MASALAH MINIMUM SPANNING TREE (MST) MENGGUNAKAN
ALGORITMA KRUSKAL
Swaditya Rizki
Program Studi Pendidikan Matematika, Fakultas Keguruan dan Ilmu Pendidikan,
Universitas Muhammadiyah Metro, Lampung
Email: swaditya.rizki@gmail.com
ABSTRACT: One of useful graph theory to solve the real problems is Minimum
Spanning Tree (MST). MST is network optimization problems that can be applied in
many fields such as transportations problems and communication network design
(Gruber and Raidl, 2005). MST begins from tree namely a connected graph has no
circuits. From the graph, there is a sub-graph that has all the vertex or spanning tree. If
that graph has the weight/cost, then the spanning tree that has the smallest weight/cost
is called Minimum Spanning Tree. Basic algorithm used to determine the MST is
Kruskal’s algorithm. This algorithm is known as one of the best algorithms for the
optimization problems, especially for MST. In this paper is developed a source code
program to determine MST using Kruskal’s algorithm and then implemented on several
data representing a complete graph.
Keywords: Graph, Tree, Minimum Spanning Tree (MST), Kruskal’s Algorithm.
saat ini dapat memudahkan manusia
1. Latar Belakang dan Masalah
dalam
Perkembangan ilmu pengetahuan
dan teknologi sampai saat ini terus
mengalami peningkatan yang signifikan.
Para peneliti terus melakukan penelitian
untuk selalu memunculkan penemuanpenemuan baru yang dapat memberikan
sumbangan
ilmu
pengetahuannya
sebagai penunjang berkembangnya ilmu-
menyelesaikan
permasalahan
yang ada. Teknologi komputer sendiri
pembuatannya
sebagian
besar
menggunakan logika matematika yang
sampai saat ini terus berkembang pesat,
sehingga
digunakan
ilmu
matematika
untuk
dapat
menyelesaikan
berbagai permasalah-an dalam dunia
nyata.
ilmu lain. Salah satunya adalah ilmu
matematika yang sudah ditemukan oleh
Salah satu contoh bagian dari ilmu
ilmuan-ilmuan ratusan tahun yang lalu,
matematika adalah teori graf. Berawal
sekarang
dalam
dari permasalahan jembatan Konigsberg
perkembangan teknologi yang sampai
yang memiliki tujuh buah jembatan,
sangat
berguna
ISSN 2089 – 8703 Vol.1 No.2, Oktober 2012
142
Penelitian
penduduk kota tersebut ingin melewati
ini
berfokus
jembatan tersebut tepat satu kali dan
algoritma
kembali
Minimum Spanning Tree (MST) yang
lagi
ke
keberangkatan.
tempat
Dari
awal
permasalahan
terkait
Kruskal
tentang
untuk
pada
masalah
optimasi
dalam
tersebut, seorang matematikawan Swiss,
permasalahan
transportasi
Leonard Euler menemukan jawaban dari
pembuatan
jalan
permasalahan
menghubungkan lebih dari n kota dan
tersebut
yaitu
memodelkan masalah ini dengan cara
permasalahan
merepresentasikan
khususnya
raya
desain
yang
jaringan
dalam
graf.
komunikasi untuk kecepatan transfer
tersebut
dapat
data. Permasalahan ini direpresentasi-
menganalisis
dan
kan ke dalam suatu graf, kemudian dicari
suatu
pohon merentang minimum (Minimum
permasalahan yang sangat membutuhkan
Spanning Tree) menggunakan algoritma
dana besar dan waktu lama untuk
Kruskal.
Dengan
ke
representasi
mempermudah
menemukan
solusi
dari
membuktikannya secara langsung.
2. Tujuan Penelitian
Graf juga
manfaat
untuk
mempunyai
banyak
optimasi
dalam
membangun jalan raya, rel kereta api,
desain jaringan komunikasi, dll. Sebagai
contoh, untuk membangun sebuah jalan
raya yang menghubungkan beberapa
kota, sangat dibutuhkan suatu desain
dalam graf agar dapat mengoptimalkan
pembangunan
suatu
jalan
tersebut
dengan dana yang minimal. Masalah ini
dapat direpresentasikan ke dalam graf
yaitu
sebagai
dengan
menyatakan kota-kota
titik/node/vertex,
sebagai
garis/edge,
jalan
dan
raya
biaya
pembangunan jalan raya sebagai bobot
dalam graf.
ISSN 2089 – 8703 Vol.1 No.2, Oktober 2012
Tujuan
memberikan
penelitian
suatu
ini
adalah
solusi
untuk
mendeskripsikan
transportasi
komunikasi
permasalahan
dan
ke
desain
dalam
jaringan
suatu
graf
lengkap. Kemudian membentuk graf
tersebut menjadi Minimum Spanning
Tree
(MST)
dengan
menggunakan
algoritma Kruskal sehingga didapatkan
biaya
minimum
transportasi
dan
pada
permasalahan
desain
jaringan
komunikasi dengan titik/node 10, 20, 30,
40, 50, 60, 70, 80, 90, 100. Proses ini
kemudian diimplementasikan ke dalam
sebuah program komputasi sehingga
dengan
mudah
dan
cepat
untuk
143
mendapatkan solusi dari permasalahan
Graf lengkap adalah graf sederhana
tersebut.
yang setiap titiknya mempunyai sisi ke
3. Graf (Graph )
semua titik lainnya atau graf yang setiap
titiknya saling bertetangga. Graf dengan
Graf G adalah suatu struktur (V,E )
dimana V = {v1, v2, …} himpunan tak
kosong
dengan
elemen-elemennya
n buah titik dilambangkan dengan Kn.
Setiap titik pada Kn berderajat n-1. K1
sampai K5 adalah contoh graf lengkap.
disebut vertex (titik), sedangkan E = {e1,
e2 ,
…}
(mungkin
kosong)
adalah
himpunan pasangan tak terurut dari
elemen-elemen di V(G). Anggota dari
E(G) disebut edge (sisi). Secara geometri
graf digambarkan sebagai sekumpulan
noktah (simpul) di dalam bidang dua
dimensi
yang
dihubungkan
dengan
Gambar 2. Graf Lengkap K1 – K5.
Jumlah sisi pada graf lengkap yang
sekumpulan garis (sisi).
terdiri dari n buah titik adalah
v1
e3
v2
e1
n (n 1)
.
2
(Munir, 2001).
v5
e5
e4
e2
e7
v3
e6
v4
Definisi 2v5Graf Berbobot (Weighted
e7 )
Graph
Graf berbobot adalah graf yang
Gambar 1. Graf G dengan sebuah loop
setiap
sisinya
diberi
sebuah
harga
dan parallel edges.
(bobot). Bobot pada tiap sisi dapat
menyatakan jarak antar dua buah kota,
e4 dan e5 dinamakan sisi ganda (parallel
biaya perjalanan antar dua buah kota,
edges), sedangkan e1 dinamakan loop
waktu tempuh atau biaya instalasi dari
karena ia berawal dan berakhir pada titik
sebuah simpul komunikasi ke simpul
yang sama (Deo, 1989).
komunikasi
lainnya
dalam
jaringan
komputer, atau biaya pembangunan jalan
Definisi 1 Graf Lengkap (Complete
raya antar dua buah kota (Munir, 2001).
Graph )
ISSN 2089 – 8703 Vol.1 No.2, Oktober 2012
144
Definisi 3 Sirkuit (Cycle)
Lintasan yang berawal dan berakhir
pada simpul yang sama disebut sirkuit
atau siklus (Munir, 2001).
5.
G tidak mengandung sirkuit dan
penambahan satu sisi pada graf akan
membuat hanya satu sirkuit.
6. G terhubung dan semua sisinya adalah
jembatan (jembatan adalah sisi yang
a. Pohon (Tree)
bila
dihapus
menyebabkan
graf
terbagi menjadi dua komponen)
Definisi 4 Pohon
(Munir, 2001).
Tree adalah graf terhubung yang tidak
mengandung sirkuit (Deo, 1989).
b. Pohon Merentang (Spanning Tree)
Misalkan G graf terhubung. Tree T
dikatakan spanning tree dari G jika T
adalah subgraf dari G yang memuat
semua titiknya (Deo, 1989).
Misalkan G = (V,E) adalah graf tak-
Gambar 3. Pohon (Tree).
berarah terhubung yang bukan pohon,
artinya pada G terdapat sirkuit. G dapat
Sifat-sifat dari pohon (tree) adalah
diubah menjadi pohon T = (V,E) dengan
sebagai berikut:
cara memutuskan sirkuit-sirkuit yang
Misalkan G = (V, E ) adalah graf tak-
ada. Caranya yaitu dengan memutuskan
berarah sederhana dan jumlah simpulnya
salah satu sisi pada sirkuit hingga tidak
n. Semua pernyataan di bawah ini adalah
ada sirkuit pada G. Jika di G tidak ada
ekivalen:
lagi sirkuit maka pohon T ini disebut
1. G adalah pohon.
dengan pohon merentang (spanning
2. Setiap pasang simpul di dalam G
tree). Disebut merentang karena semua
terhubung dengan lintasan tunggal.
simpul pada pohon T sama dengan
3. G terhubung dan memiliki n – 1 buah
simpul pada graf G, dan sisi pada T
sisi.
sisi pada G, dengan kata lain V1 = V dan
4. G tidak mengandung sirkuit dan
E 1 E (Munir, 2001).
memiliki n – 1 buah sisi.
Contoh pembentukan spanning tree.
ISSN 2089 – 8703 Vol.1 No.2, Oktober 2012
145
digunakan adalah masalah transportasi
seperti pemodelan proyek pembangunan
jalan raya menggunakan graf. MST
digunakan untuk memilih jalur dengan
bobot terkecil yang akan meminimalkan
biaya pembangunan jalan.
Contoh graf dan pohon berbobot:
G
Gambar 4. Graf dan tiga buah spanning
T2
tree T1, T2, T3.
Gambar 5. G graf
berbobot, T1 danT2
T1
c. Minimum Spanning Tree (MST)
Jika G pada merupakan graf
rentang pohon
berbobot.
berbobot, maka bobot pohon merentang
T1 atau T2 didefinisikan sebagai jumlah
Dari graf berbobot G, akan ditentukan
bobot semua sisi di T1 atau T2. Di antara
pohon merentang mana yang paling
pohon merentang yang ada pada G, yang
minimum. Apakah T1 atau T2?. Hal
paling penting adalah pohon merentang
tersebut
dengan
membangun
bobot
minimum.
Pohon
merentang dengan bobot minimum ini
disebut
dengan
pohon
yang
akan
pohon
dicari
dengan
merentang
minimum.
merentang
minimum atau Minimum Spanning Tree
(MST). Contoh aplikasi MST yang sering
ISSN 2089 – 8703 Vol.1 No.2, Oktober 2012
146
4. Algoritma Kruskal
(Thomas, et.al, 2001)
Adapun langkah-langkah algoritma
Kruskal yaitu sebagai berikut:
1. Urutkan (sorting)
biaya/bobot
setiap edge dari biaya yang
terkecil ke biaya terbesar.
2. Kemudian pilih edge terkecil dan
pasang ke dalam tree.
3. Cek apakah jumlah E V 1 .
Jika tidak, ke Langkah 4. Jika ya,
stop.
4. Pilih
edge
berikutnya
dalam
sorting.
5. Cek apakah pemasangan edge
tersebut
sirkuit/cycle.
menyebabkan
Jika
tidak,
masukkan edge ke dalam tree
dan ke Langkah 6.
Jika ya, ke Langkah 7.
6. Kembali ke Langkah 3.
7. Buang edge pada Langkah 5 dan
kembali ke Langkah 4.
ISSN 2089 – 8703 Vol.1 No.2, Oktober 2012
147
Diagram alir Minimum Spanning Tree (MST) adalah sebagai berikut:
Mulai
Input Jumlah Vertex(v),
Diameter (D)
Random bobot nilai tiap edge
Sorting edge dari kecil
ke besar
Ambil edge terkecil, pasang ke dalam tree
Edge = vertex -1 ?
ya
tidak
Ambil edge berikutnya
ya
membentuk
sirkuit?
tidak
Pasang ke dalam
tree
Output MST
Selesai
Gambar 6. Diagram alir (flowchart) MST.
ISSN 2089 – 8703 Vol.1 No.2, Oktober 2012
148
acak dengan jumlah vertex 10, dari 10
5. Hasil dan Pembahasan
vertex tersebut dihubungkan sebagai
Input
program
berupa
jumlah
graf lengkap sehingga mempunyai edge
vertex/titik. Dari jumlah vertex tersebut
sebanyak 45. Untuk proses menentukan
dibangkitkan bobot/biaya tiap edge
graf lengkap dapat dilihat pada gambar
untuk suatu graf lengkap. Kemudian
2. Kemudian dari graf lengkap tersebut
data tersebut diurutkan berdasarkan
bobot/biaya
terkecil
dan
dibangkitkan biaya/bobot secara acak
kemudian
untuk masing-masing edge dengan nilai
diperoleh solusi optimal MST. Sebagai
yang
contoh, akan dibangkitkan data secara
bervariasi.
Berikut
ini
hasil
simulasi data untuk 10 vertex.
Tabel 1. Data graf lengkap dengan jumlah vertex 10.
Edge
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Dari
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
4
Ke
2
3
4
5
6
7
8
9
10
3
4
5
6
7
8
9
10
4
5
6
7
8
9
10
5
Biaya
10
57
44
43
35
41
64
92
47
10
38
32
27
77
79
49
24
33
92
21
44
78
2
73
86
Edge
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Dari
4
4
4
4
4
5
5
5
5
5
6
6
6
6
7
7
7
8
8
9
ISSN 2089 – 8703 Vol.1 No.2, Oktober 2012
Ke
6
7
8
9
10
6
7
8
9
10
7
8
9
10
8
9
10
9
10
10
Biaya
22
23
75
44
44
59
71
9
52
44
32
77
5
13
96
91
64
96
6
48
149
Tabel 2. Proses mengurutkan data berdasarkan bobot/biaya.
Edge
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Dari
3
6
8
5
1
2
6
3
4
4
2
2
2
6
3
1
2
1
1
1
3
4
4
5
1
Ke
9
9
10
8
2
3
10
6
6
7
10
6
5
7
4
6
4
7
5
4
7
9
10
10
10
Biaya
2
5
6
9
10
10
13
21
22
23
24
27
32
32
33
35
38
41
43
44
44
44
44
44
47
Edge
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Dari
9
2
5
1
5
1
7
5
3
4
2
6
3
2
4
7
1
3
7
8
Setelah proses pengurutan data,
Ke
10
9
9
3
6
8
10
7
10
8
7
8
8
8
5
9
9
5
8
9
Biaya
48
49
52
57
59
64
64
71
73
75
77
77
78
79
86
91
92
92
96
96
6. Pasang edge dari vertex 2 ke 3.
edge dipasang satu persatu ke dalam
7. Pasang edge dari vertex 6 ke 10.
tree dimulai dari bobot biaya yang
8. Edge dari vertex 3 ke 6 tidak boleh
terendah sampai memenuhi MST dan
dipasang karena akan membentuk
proses akan berhenti jika jumlah edge =
sirkuit.
Adapun langkah-langkah
9. Pasang edge dari vertex 4 ke 6.
dalam pemasangan edge ke dalam tree
10. Pasang edge dari vertex 4 ke 7.
adalah sebagai berikut:
11. Karena jumlah edge = vertex-1,
vertex -1.
1. Pasang edge dari vertex 3 ke 9.
maka proses pemasangan edge
2. Pasang edge dari vertex 6 ke 9.
selesai sehingga didapatkan nilai
3. Pasang edge dari vertex 8 ke 10.
minimum
4. Pasang edge dari vertex 5 ke 8.
sebagai berikut:
dari
spanning
tree
5. Pasang edge dari vertex 1 ke 2.
ISSN 2089 – 8703 Vol.1 No.2, Oktober 2012
150
Tabel 3. Solusi optimal MST
menggunakan algoritma Kruskal.
Edge
Dari
Ke
3
9
6
9
8
10
5
8
1
2
2
3
6
10
4
6
4
7
Total Biaya
minimum dibandingkan dengan solusi
yang tidak menggunakan algoritma.
Biaya
2
5
6
9
10
10
13
22
23
100
6. Kesimpulan
Data yang digunakan untuk contoh
simulasi diatas hanya data dengan
jumlah vertex 10, sedangkan untuk
jumlah vertex lebih dari 10 bisa
menggunakan program komputasi yang
disini
Tabel 4. Solusi MST tanpa
menggunakan algoritma.
Edge
Dari
Ke
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
1
10
Total Biaya
lebih
Biaya
mengefisienkan
waktu
perhitungan. Program komputasi ini
10
57
44
43
35
41
64
92
47
433
juga
nantinya dapat
dikembangkan
untuk MST dengan algoritma yang lain
ataupun dengan memodifikasi algoritma
Kruskal untuk aplikasi graf lainnya.
DAFTAR PUSTAKA
solusi optimal dari MST dengan total
bobot/ biaya yaitu 100. Sedangkan pada
Deo, N. 1989. Graph Theory with
Applications to Engineering and
Computer Science. Prentice Hall,
Inc. Englewood Cliffs, New
Jersey. 461 hlm.
yaitu solusi MST tanpa
menggunakan
bobot/biaya
tersebut
bahasa
pemrograman C/C++ sehingga akan
Dari Tabel 3 diatas tersebut didapat
Tabel 4
menggunakan
algoritma
yaitu
dapat
433.
didapatkan
Dari
disimpulkan
nilai
bahwa
algoritma Kruskal dapat digunakan
untuk mencari solusi optimal MST,
Gruber, M. and Raidl, G.R. 2005.
Variable Neighborhood Search
for the Bounded Diameter
Minimum Spanning Tree Problem.
Institute of Computer Graphics
and Algorithms, Vienna
University of Technology. 18th
Mini Euro Conference . Austria.
bahkan nilai yang didapatkan jauh lebih
ISSN 2089 – 8703 Vol.1 No.2, Oktober 2012
151
Munir, R. 2001. Matematika Diskrit.
Informatika, Bandung. Hlm 353456.
Thomas H. Cormen, Charles E.
Leiserson, Ronald L. Rivest, and
Clifford Stein. Introduction to
Algorithms, Second Edition., 2001.
ISBN 0-262-03293-7. Section 23.2:
The algorithms of Kruskal and
Prim, pp.567–574. MIT Press and
McGraw-Hill.
ISSN 2089 – 8703 Vol.1 No.2, Oktober 2012
152