You are on page 1of 13

RANCANG BANGUN APLIKASI MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL

Naskah Publikasi

diajukan oleh:

Trisni jatiningsih 06.11.1016

kepada JURUSAN TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA 2010

Development of Minimum Spanning Tree (MST) Application using Kruskal Algoritm

Rancang Bangun Aplikasi Minimum Spanning Tree (MST) menggunakan Algoritma Kruskal

Trisni Jatiningsih (06.11.1016) Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA

ABSTRACT

Graph is the method of discrete problem solution searching that was in the real world. Graph has much of concepts. The ones is Tree concept. Tree concept is being the significant and the popular concept because support to applies graph for a lot of branch of science. The application that use tree concept such as road away built project and railway track built project, built a computer network, the salessman tavelling problem, etc. Presenting graph uses tree concept to solve the problem is build the graph to be a Minimum Spanning Tree (MST).

One of the algorithm that used to built MST is Kruskal algorithm, which uses Greedy strategy so solution resulted in every steps. Kruskal algorithm explores much of selection in every steps and product at least one MST.

Keywords : graph, discrete, tree, minimum spanning tree, Greedy, Kruskal

1. Pendahuluan Berbagai pertanyaan yang ditemui penulis ketika mendapatkan mata kuliah Matematika Diskrit (Matdis) terutama tentang graf, membuat penulis ingin lebih jauh mendalami permasalahan graf. Bila di Matdis penulis lebih ditekankan pada penerapan graf untuk memecahkan masalah, maka di sini penulis ingin membuka lebih jauh tentang graf dan konsep-konsepnya. Karena menurut penulis, graf merupakan ilmu yang sangat penting dan mampu menyelesaikan banyak permasalahan. Pemilihan konsep pohon sebagai salah satu konsep terapan graf disebabkan karena konsep pohon merupakan konsep yang sangat dekat dengan kehidupan nyata. Secara tidak disadari, manusia banyak yang menggunakan pohon sebagai pemodelan berbagai hal dalam kehidupan seharihari. Peran konsep pohon sangat besar ketika diterapkan pada aplikasi besar yang menyangkut hidup orang banyak. Konsep pohon yang sangat membantu manusia adalah pohon merentang minimum. Pembahasan tentang metode untuk mendapatkan pohon merentang minimum masih menjadi suatu hal yang asing dan kadang terabaikan begitu saja sehingga pemecahan masalah dengan pohon merentang minimum menjadi kurang optimal.

2. Dasar Teori Pohon merentang adalah suatu pohon T yang berasal dari sebuah graf G. Graf G adalah graf tak terhubung yang bukan merupakan pohon (graf yang memiliki sirkuit). Sedangkan pohon T adalah graf yang merupakan graf pohon yang didapat dengan cara memutuskan sirkuit-sirkuit yang terdapat pada graf G. Jadi, pohon merentang adalah graf pohon yang himpunan semua simpulnya merupakan improper subset dari himpunan simpul yang terdapat pada graf G, sedangkan himpunan semua sisi pada pohon merentang merupakan proper subset dari himpunan semua sisi pada graf G. Graf (Graph) didefinisikan sebagai: G = {V, E} Keterangan : V merupakan himpunan tidak kosong dari simpul-simpul (vertices / node) di gambarkan dalam titik-titik,dan

E adalah himpunan sisi-sisi (edges / arcs) digambarkan dalam garis-garis yang menghubungkan sepasang simpul. Dapat dikatakan graf adalah kumpulan dari simpul-simpul yang dihubungkan oleh sisi-sisi,

Gambar. 1 Graf G1

Pada G1 diatas, graf terdiri dari himpunan V dan E yaitu: V = {A, B, C, D} E = {e1, e2, e3, e4} ; bisa kita tulis = {(A,B),(B,C),(B,C),(A,C)}

Aplikasi graf sangat luas. Graf dipakai dalam berbagai disiplin ilmu maupun dalam kehidupan sehari-hari. Penggunaan graf di berbagai bidang tersebut adalah untuk memodelkan persoalan. Beberapa terminologi dasar yang harus diketahui:

1.1. Graf Berarah (Directed Graph/Digraph) Graf berarah adalah graf yang setiap sisinya diberi orientasi arah. Dalam hal ini sisi yang ditulis (v1,v2) berbeda dengan sisi (v2, v1)

Gambar. 2 Graf Berarah

1.2. Graf berbobot / berlabel (Weight Graf) Graf berbobot adalah graf yang setiap sisinya diberi sebuah harga. Dalam aplikasinya, bobot suatu garis lebih tepat dibaca sebagai : jarak, biaya, panjang ,kapasitas, dan lain sebagainya. Label suatu garis dapat diberikan pada graf berarah maupun tidak berarah.

Gambar. 3 Graf Berbobot

1.3. Graf Lengkap (Complete Graph) Graf lengkap adalah graf sederhana, tidak mengandung gelang (sisi yang kedua simpulnya sama) maupun sisi ganda (dua sisi yang memiliki simpul asal dan simpul tujuan yang sama), serta setiap sisinya mempunyai sisi ke simpul lain.

1.4. Bertetangga (Adjacent) Dua buah simpul pada graf tak berarah ikatan bertetangga bila keduanya terhubung dengan sebuah sisi. Dapat dikatakan jika ada v1 dan v2 yang bertetangga, maka harus ada sisi (v1 ,v2)

1.5. Bersisian (Incident) Untuk sembarang sisi e = (v1,v2), sisi e dikatakan bersisian dengan simpul v1 dan simpul v2.

1.6. Simpul terpencil (Isolated Vertex) Simpul terpencil adalah simpul yang tidak mempunyai sisi yang bersisian dengannya. Dengan kata lain simpul ini ialah simpul yang tidak satupun bertetangga dengan simpul lain.

1.7. Lintasan (Path) Lintasan yang panjangnya n dari simpul awal v0 ke simpul akhir vn di dalam graf G ialah barisan berselang seling simpul simpul dan sisi-sisi yang berbentuk v0, e1, v1, e2 ,.., vn-1,en, vn sedemikian sehingga e1 = (v0, v1), e2 = (v1, v2 ) , n = (vn-1,vn ) adalah sisi sisi dari graf G.

1.8. Sirkuit (Circuit) atau siklus Siklus adalah lintasan yang berawal dan berakhir pada simpul yang sama.

1.9. Terhubung (Connected) Graf disebut graf terhubung jika untuk setiap pasang simpul v1 dan v2 di dalam himpunan V terdapat lintasan dari v1 ke v2, yang juga berarti ada lintasan dari v2 ke v1 (untuk graf berarah)

3. Pohon Rentang Minimum (PPM)

Jika G adalah graf berbobot, maka bobot dari pohon rentang T dari G didefinisikan sebagai jumlah bobot pada semua sisi di T. Pohon rentang yang berbeda memiliki bobot yang berbeda pula. Di antara pohon rentang di G, pohon yang memiliki bobot paling minimum dinamakan Pohon Rentang Minimum.

Pohon ini merupakan pohon rentang yang paling penting. Pohon rentang minimum memiliki terapan yang sangat luas dalam dunia nyata. Misalnya, pembangunan rel kereta api yang menghubungkan sejumlah kota.

Pembangunan jalur kreta ini tidak perlu menghubungkan langsung dua buah kota; tetapi cukup membangun jalur kereta seperti pohon rentang. Karena di dalam graf mungkin terdapat beberapa pohon rentang, maka harus dicari pohon rentang minimum.Terdapat dua buah algoritma untuk membangun pohon rentang minimum. Yaitu algoritma Prim dan algoritma Kruskal.

Untuk mencari pohon rentang minimum dari graf G dengan algoritma kruskal, mula mula semua garis dalam G diurutkan berdasarkan bobot dari yang kecil ke besar. Kemudian pilih garis dengan bobot terkecil, tetapi tidak membentuk loop dengan garis garis yang sudah dipilih terdahulu. Misalkan G adalah graf mula mula dengan n titik, T adalah Pohon Rentang Minimum, m adalah jumlah garis yang dipilih, E adalah himpunan semua garis G. secara formal algoritma yang ditemukan kruskal dapat dinyatakan sebagai berikut :

3.1.1. 3.1.2. 3.1.3.

Isi T dengan semua titik titik G tanpa garis. m=0 Selama m < (n-1) lakukan :

3.1.3.1. Tentukan garis e E dengan bobot minimum. Jika ada beberapa e dengansifat tersebut, pilih salah satu secara sembarang 3.1.3.2. Hapus e dari E 3.1.3.3. Jika e ditambahkan ke T tidak menghasilkan sirkuit, maka : 3.1.3.3.1. 3.1.3.3.2. Tambahkan e ke T m=m+1

Gambar. 4 Flowchat Proses Kruskal

Algoritma kruskal dalam pseucode procedure Kruskal (input G: graf, output T: pohon) {Membentuk pohon merentang minimum T dari graf terhubung G } Deklarasi: i, p, q, u, v: integer Algoritma: {Asumsi: sisi-sisi graf sudah diurut menaik berdasarkan bobotnya} T <- {} while jumlah sisi T < n-1 do Pilih sisi dari E yang bobotnya terkecil if (u, v) tidak membentuk siklus di T then T <- T U {(u, v)} endif endwhile

4. Studi Kasus dan Pembahasan Dalam sebuah proyek baru, Pemerintah ingin membangun jaringan listrik yang akan menghubungkan antara 11 kota, namun karena ini baru awal pemerintah tidak mau mengambil resiko mengganti semua kabel yang menghubungkan kota satu dengan kota yang lain. Biaya pemasangan jaringan listrik yang mungkin dibuat antar kota adalah sebagai berikut : Kota awal 1 2 3 1 5 6 7 4 5 9 2 3 Kota akhir 2 3 4 5 6 7 8 8 9 10 6 7 Jarak antar kota 2 3 1 3 4 3 3 5 4 3 1 3

10

10 10 7 11 8

6 11 11 12 12

2 3 4 1 3

Soal : Bantulah pemerintah dalam menghubungkan jaringan listrik kota kota tersebut diatas dengan asumsi semakin panjang kabel yang dipasang semakin mahal biaya yang dikeluarkan buatlah jaringan yang dibangun ini memakan biaya sesedikit mungkin.

Jawaban :

3
2 3 2 3 1

4
5

7
3

2 5
4 2 10 4 3 3

6
4 3

8
3

12 11 1

Gambar. 5 Graf Sistem Jaringan Listrik

11

Tabel. 1 Penyelesaian dengan Algoritma Kruskal

sisi minim um {} {1,2} {1,5} {2,3} {3,4} {3,7} {7,8} {2,6} {10,6} {9,10} {10,11 } {11,12 } Total Bobot

bobot

hasil sisi pada T

{} 2 3 3 1 2 3 1 2 3 3 {(1,2)} {(1,2),(1,5)} {(1,2),(1,5),(2,3)} {(1,2),(1,5),(2,3),(3,4)} {(1,2),(1,5),(2,3),(3,4),(3,7)} {(1,2),(1,5),(2,3),(3,4),(3,7),(7,8)} {(1,2),(1,5),(2,3),(3,4),(3,7),(7,8),(2,6)} {(1,2),(1,5),(2,3),(3,4),(3,7),(7,8),(2,6),(10,6)} {(1,2),(1,5),(2,3),(3,4),(3,7),(7,8),(2,6),(10,6),(9,10)} {(1,2),(1,5),(2,3),(3,4),(3,7),(7,8),(2,6),(10,6),(9,10),(10,11)}

{(1,2),(1,5),(2,3),(3,4),(3,7),(7,8),(2,6),(10,6),(9,10),(10,11),(11,1 2)}

24

5. Kesimpulan

5.1. Algoritma Kruskal merupakan salah satu Algoritma pembentuk MST yang dapat digunakan untuk menghitung MST dari sebuah graf. 5.2. Pada algoritma Kruskal lebih berorientasi pada pencarian sisi-sisi yang memiliki bobot minimum lalu mengurutkannya. 5.3. Aplikasi minimum spanning tree ini sangat mungkin dikembangkan lagi dengan menggunakan objek yang lebih luas sehingga akan memberikan manfaat untuk khalayak ramai.

12

Daftar pustaka Jek Siang Jong, Matematika Diskrit dan Aplikasinya Pada Ilmu Komputer, Andi, Yogyakarta, 2002 Munir Rinaldi, Bahan Kuliah IF2151 Matematika Diskrit, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung, 2005 http://eecchhoo.wordpress.com/. Diakses tanggal 2 september 2009

13

You might also like