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