Perbandingan Kompleksitas Algoritma Prim, Algoritma Kruskal, Dan Algoritma Sollin Untuk Menyelesaikan Masalah Minimum Spanning Tree

dokumen-dokumen yang mirip
BAB 1 PENDAHULUAN. 1.1 Latar belakang

PENERAPAN TEORI GRAF UNTUK MENYELESAIKAN MASALAH MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Visualisasi Efek Perubahan Fungsi Lahan Menggunakan Maksimum Spanning Tree dengan Pembobot Korelasi

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. minimum secara langsung didasarkan pada algoritma MST (Minimum Spanning

BAB I PENDAHULUAN 1.1 Latar Belakang

UNNES Journal of Mathematics

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

BAB II TINJAUAN PUSTAKA

PERBANDINGAN ALGORTIMA PRIM DAN KRUSKAL DALAM MENENTUKAN POHON RENTANG MINIMUM

ANALISIS JARINGAN LISTRIK DI PERUMAHAN JEMBER PERMAI DENGAN MENGGUNAKAN ALGORITMA PRIM

ALGORITMA GREEDY : MINIMUM SPANNING TREE. Perbandingan Kruskal dan Prim

MEDIA PEMBELAJARAN STRATEGI ALGORTIMA PADA POKOK BAHASAN POHON MERENTANG MINIMUM DAN PENCARIAN LINTASAN TERPENDEK

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

Penyelesaian Traveling Salesman Problem dengan Algoritma Heuristik

Studi Algoritma Optimasi dalam Graf Berbobot

Permodelan Pohon Merentang Minimum Dengan Menggunakan Algoritma Prim dan Algoritma Kruskal

Penerapan Algoritma Greedy untuk Memecahkan Masalah Pohon Merentang Minimum

Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013

Penerapan Algoritma Prim dan Kruskal Acak dalam Pembuatan Labirin

SIMULASI MINIMUM SPANNING TREE GRAF BERBOBOT MENGGUNAKAN ALGORITMA PRIM DAN ALGORITMA KRUSKAL

ANALISIS JARINGAN LISTRIK DI PERUMAHAN JEMBER PERMAI DENGAN MENGGUNAKAN ALGORITMA PRIM

Dwiprima Elvanny Myori

ALGORITMA RUTE FUZZY TERPENDEK UNTUK KONEKSI SALURAN TELEPON

APLIKASI ALGORITMA KRUSKAL DALAM PENGOTIMALAN PANJANG PIPA Kruskal Algorithm Application on Optimlaizing Pipes Network

Algoritma Prim sebagai Maze Generation Algorithm

INTRODUCTION TO GRAPH THEORY LECTURE 2

PENERAPAN ALGORITMA KRUSKAL PADA JARINGAN LISTRIK PERUMAHAN KAMPOENG HARMONI DI UNGARAN BARAT

Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum

BAB II LANDASAN TEORI

STUDI PERBANDINGAN ALGORITMA PRIM, ALGORITMA KRUSKAL, DAN ALGORITMA SOLLIN DALAM MENENTUKAN POHON MERENTANG MAKSIMUM SKRIPSI IBNU HARIS LUBIS

Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer

I. PENDAHULUAN II. DASAR TEORI. Penggunaan Teori Graf banyak memberikan solusi untuk menyelesaikan permasalahan yang terjadi di dalam masyarakat.

PERBANDINGAN ALGORITMA PRIM DAN KRUSKAL UNTUK MENYELESAIKAN MASALAH MINIMUM SPANNING TREE NASKAH PUBLIKASI

Aplikasi Algoritma Dijkstra dalam Pencarian Lintasan Terpendek Graf

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

Gambar 6. Graf lengkap K n

STUDI OPTIMALISASI JUMLAH PELABUHAN TERBUKA DALAM RANGKA EFISIENSI PEREKONOMIAN NASIONAL

BAB I PENDAHULUAN. 1.1.Latar Belakang

PENDISTRIBUSIAN BARANG FARMASI MENGGUNAKAN ALGORITMA DIJKSTRA (STUDI KASUS : PT. AIR MAS CHEMICAL)

Jurnal MSA Vol. 3 No. 1 Ed. Juli-Desember Tree) dari graf hasil representasi jaringan listrik.

BAB I. Pendahuluan. Teori graf merupakan ilmu yang lahir pada tahun1763 dengan penyelesaian

IMPLEMENTASI PENENTUAN MINIMUM SPANNING TREE (MST) DENGAN MENGGUNAKAN ALGORITMA PRIM

IMPLEMENTASI GRAF DENGAN MENGGUNAKAN STRATEGI GREEDY

Pengembangan Aplikasi Encoding dan Decoding Tree Menggunakan Kode Dandelion

x 6 x 5 x 3 x 2 x 4 V 3 x 1 V 1

MATEMATIKA DISKRIT II ( 2 SKS)

Pencarian Jalur Terpendek dengan Algoritma Dijkstra

IMPLEMENTASI GRAF DENGAN MENGGUNAKAN STRATEGI GREEDY

APLIKASI POHON DALAM PENCARIAN CELAH KEAMANAN SUATU JARINGAN

MEMBANDINGKAN KEMANGKUSAN ALGORITMA PRIM DAN ALGORITMA KRUSKAL DALAM PEMECAHAN MASALAH POHON MERENTANG MINIMUM

STUDI STRATEGI PENGGUNAAN ALGORITMA GREEDY UNTUK MEMBANGUN MINIMUM SPANNING TREE PADA GRAF BERBOBOT (WEIGHTED GRAPH) SKRIPSI

VISUALISASI POHON RENTANG MINIMUM MENGGUNAKAN ALGORITMA KRUSKAL DAN PRIM

MENENTUKAN MINIMUM SPANNING TREE MENGGUNAKAN ALGORITMA KRUSKAL DENGAN BAHASA PEMROGRAMAN C TUGAS AKHIR ASDITA RIZKI LUBIS

TERAPAN POHON BINER 1

PENDISTRIBUSIAN BARANG FARMASI MENGGUNAKAN ALGORITMA DIJKSTRA (STUDI KASUS : PT. AIR MAS CHEMICAL)

Algoritma Prim dengan Algoritma Greedy dalam Pohon Merentang Minimum

UNIVERSITAS GUNADARMA

FOURIER Juni 2014, Vol. 3, No. 1, 62 74

BAB 2 LANDASAN TEORI

Algoritma Brute-Force dan Greedy dalam Pemrosesan Graf

IF5110 Teori Komputasi. Teori Kompleksitas. (Bagian 1) Oleh: Rinaldi Munir. Program Studi Magister Informatika STEI-ITB

PENERAPAN KOMPLEKSITAS WAKTU ALGORITMA PRIM UNTUK MENGHITUNG KEMAMPUAN KOMPUTER DALAM MELAKSANAKAN PERINTAH

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

LANDASAN TEORI. Bab Konsep Dasar Graf. Definisi Graf

A30 PERBANDINGAN ALGORITMA KRUSKAL DENGAN ALGORITMA GENETIKA DALAM PENYELESAIAN MASALAH MINIMUM SPANNING TREE (MST)

Pengujian Optimalisasi Jaringan Kabel Fiber Optic di Universitas Islam Indonesia Menggunakan Minimum Spanning Tree

Pengembangan Aplikasi Encode dan Decode Tree Menggunakan Blob Code

BAB 2 LANDASAN TEORI

ALGORITMA KRUSKAL UNTUK MENENTUKAN RUTE TERPENDEK PADA JARINGAN KOMPUTER

BAB I PENDAHULUAN. adalah dengan menyatakan objek dinyatakan dengan sebuah titik (vertex),

PEMBENTUKAN POHON MERENTANG MINIMUM DENGAN ALGORIT MA KRUSKAL

Penerapan Teori Graf Pada Algoritma Routing

Penggunaan Algoritma Dijkstra dalam Penentuan Lintasan Terpendek Graf

UJM 2 (1) (2013) UNNES Journal of Mathematics.

Penerapan Algoritma Steiner Tree dalam Konstruksi Jaringan Pipa Gas

Aplikasi Pohon Merentang Minimum dalam Rute Jalur Kereta Api di Pulau Jawa

PENGGUNAAN ALGORITMA GENETIKA UNTUK MENENTUKAN LINTASAN TERPENDEK STUDI KASUS : LINTASAN BRT (BUS RAPID TRANSIT) MAKASSAR

PENGEMBANGAN ALGORITMA MODIFIED PRIM UNTUK MENYELESAIKAN MASALAH INSTALASI JARINGAN MULTI TAHAP

PENGGUNAAN ALGORITMA KRUSKAL DALAM JARINGAN PIPA AIR MINUM KECAMATAN NGANJUK KABUPATEN NGANJUK

BAB 2 LANDASAN TEORI

Implementation Of Prim s Algorithm In Primary Electrical Distribution Network Kustanto 4)

8/29/2014. Kode MK/ Nama MK. Matematika Diskrit 2 8/29/2014

NASKAH UJIAN UTAMA. JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

IMPLEMENTASI HIERARCHICAL CLUSTERING DAN BRANCH AND BOUND PADA SIMULASI PENDISTRIBUSIAN PAKET POS

Aplikasi Graf dalam Rute Pengiriman Barang

OPTIMASI ALGORITMA POHON MERENTANG MINIMUM KRUSKAL

TEOREMA CAYLEY DAN PEMBUKTIANNYA

BAB 2 LANDASAN TEORI

Graf untuk soal nomor 7

IKI 20100: Struktur Data & Algoritma

PENYELESAIAN MINIMUM SPANNING TREE (MST) PADA GRAF LENGKAP DENGAN ALGORITMA GENETIKA MENGGUNAKAN TEKNIK PRUFER SEQUENCES

Pohon Biner Sebagai Struktur Data Heap dan Aplikasinya

Aplikasi Shortest Path dengan Menggunakan Graf dalam Kehidupan Sehari-hari

Termilogi Pada Pohon Berakar 10 Pohon Berakar Terurut

Oleh Lukman Hariadi

BAB II LANDASAN TEORI. Teori graf dikenal sejak abad ke-18 Masehi. Saat ini teori graf telah

Transkripsi:

Perbandingan Kompleksitas Algoritma Prim, Algoritma Kruskal, Dan Algoritma Sollin Untuk Menyelesaikan Masalah Minimum Spanning Tree 1 Wamiliana, 2 Didik Kurniawan, 3 Cut Shavitri N.F. 1 Jurusan Matematika FMIPA Unila 2 Jurusan Ilmu Komputer FMIPA Unila 3 Jurusan Ilmu Komputer FMIPA Unila Abstract This study discusses about the complexity comparison among 3 algorithms, those are: Prim Algorithm, Kruskal Algorithm and Sollin Algorithm. The graphs that used for implementation are complete graphs of order n, where n is 10 to 100 with increment of 10 and the data used are generated randomly with weight ranging from 1 to 1000. C++ programming language is used to develop source code for the data implementation and from the result we found that each algorithm has complexity O(n 2 ). Keywords: Complexity, Kruskal s Algorithm, Prim s Algorithm, Sollin s Algorithm. 1 Pendahuluan Algoritma merupakan suatu metode langkah demi langkah dari pemecahan suatu masalah. Kata algoritma berasal dari nama matematikawan Arab abad kesembilan Al- Khowarizmi. Algoritma didasarkan pada prinsip-prinsip matematika yang memainkan peranan penting dalam matematika dan ilmu komputer [1]. Pengembangan algoritma dan berbagai bidang kajian matematika telah banyak dilakukan guna membantu penyelesaian masalah dalam kehidupan sehari-hari. Pengembangan algoritma tersebut salah satunya adalah yang bertujuan untuk memecahkan masalah optimalisasi sumber daya. Misalnya, pada pelaksanaan pembangunan infrastruktur suatu daerah yang meliputi: pembangunan jaringan listrik, jaringan telepon, jaringan air bersih, jaringan transportasi, dan lain sebagainya. Pembangunan ini tentunya sangat membutuhkan faktor pendukung yaitu antara lain biaya, waktu, dan tenaga. Hal tersebut sebenarnya dapat diatasi dengan menggunakan pemodelan tree dalam graf. Pemodelan masalah dengan menggunakan tree mempertimbangkan berbagai faktor, misalnya faktor biaya, jarak, waktu maupun tenaga yang diperlukan. Untuk penyelesaian pemodelan masalah tree tersebut biasanya menggunakan konsep pohon merentang minimum (minimum spanning tree) atau MST. Suatu algoritma tidak saja harus menghasilkan keluaran yang benar, tetapi juga harus efisien. Kebenaran suatu algoritma harus diuji dengan jumlah masukan tertentu untuk melihat kinerja algoritma berupa waktu yang diperlukan untuk menjalankan algoritmanya dan ruang memori yang diperlukan untuk struktur datanya [2]. Saat ini telah ada beberapa algoritma untuk menyelesaikan masalah minimum spanning tree, diantaranya yaitu Algoritma Prim, Algoritma Kruskal, dan Algoritma Sollin. Algoritma Sollin sejauh ini sangat jarang didiskusikan oleh para peneliti. Untuk penentuan penyelesaian minimum spanning tree umumnya para peneliti menggunakan Algoritma Prim dan Kruskal. Oleh karena itu pada penelitian ini penulis tertarik untuk mendiskusikan Algoritma Sollin dan membandingkannya dengan Algoritma Prim dan Kruskal berdasarkan atas kompleksitas waktu dari algoritma tersebut. http://jurnal.fmipa.unila.ac.id/index.php/komputasi Hal 60 dari 74

2 Metode Penelitian Pada penelitian ini ada beberapa tahapan yang diterapkan. Tahapan-tahapan tersebut adalah: 2.1 Analisis kebutuhan Tahapan pada penelitian ini adalah studi literatur, yakni mengumpulkan informasi sebanyak mungkin mengenai Algoritma penyelesaian MST. Informasi tersebut didapatkan dari berbagai sumber baik dari buku, jurnal dan karya tulis ilmiah, serta dari halaman-halaman website. 2.2 Desain Perancangan desain ini dibuat berdasarkan hasil dari analisis kebutuhan yang telah diperoleh. 2.3 Pemrograman Tahap ini adalah pembuatan program penerapan algoritma dengan menggunakan bahasa pemrograman C++ serta membuat visualisasi hasil yang telah didapat dengan menggunakan pemrograman Visual Basic. 2.4 Pengujian Tahap pengujian ini mencari kesalahan-kesalahan yang telah terlewati dari tahap sebelumnya. 2.5 Implementasi Implementasi merupakan tahap dimana program yang telah dibuat bisa dipergunakan oleh pihakpihak yang membutuhkan. 3 Pembahasan 3.1 Analisis Kebutuhan Sistem Perbandingan Kompleksitas Algoritma Prim, Algoritma Kruskal, dan Algoritma Sollin dalam menyelesaikan masalah Minimum Spanning Tree ini dibangun dengan menggunakan bahasa pemrograman C++ dan juga dibuat visual dari hasil penyelesaian masalah MST tersebut dengan menggunakan pemrograman Visual Basic. Dalam penelitian ini, algoritma yang telah dibangun akan dibandingkan dan dianalisis guna melihat algoritma mana yang paling efisien berdasarkan pada komplestitas dari masing-masing algoritma tersebut. Data yang digunakan dalam penelitian ini merupakan graf lengkap dengan titik dimulai dari 5, 10 dan kelipatan dari 10 hingga mencapai 100 titik. Data tersebut merupakan data acak dengan nilai dari masing-masing titik dimulai dari nilai 1-1000. 3.2 Implementasi Program Tahapan implementasi ini merupakan tahapan implementasi pembuatan kode program (source code) dari masing-masing algoritma yaitu Algoritma Prim, Algoritma Kruskal, dan Algoritma Sollin dengan menggunakan bahasa pemrograman C++. Pembuatan kode program ini untuk membandingkan dari masing-masing algoritma tersebut yang manakah yang merupakan algoritma yang paling efisien dengan menganalisis masing-masing algoritma. http://jurnal.fmipa.unila.ac.id/index.php/komputasi Hal 61 dari 74

1. Algoritma Prim Algoritma Prim merupakan algoritma paling sederhana dalam menyelesaikam masalah minimum spanning tree. Dalam algoritma ini langkah awal yang dilakukan adalah memilih salah satu titik secara acak yang akan dijadikan sebagai root. Setelah titik root tersebut terpilih, maka pilih titik selanjutnya yang berhubungan dengan root tersebut yang memiliki jarak atau nilai edge terkecil. Selanjutnya pilih lagi titik yang memiliki nilai edge terkecil yang berhubungan dengan dua titik yang telah terpilih sebelumnya. Lakukan langkah ini hingga n-1 sampai terbentuk suatu penyelesaian minimum spanning tree. Pada langkah pemilihan titik selanjutnya memungkinkan terjadinya suatu sirkuit jika saat nilai edge yang terkecil selanjutnya merupakan titik yang telah terpilih sebelumnya, tetapi jika terjadi kondisi tersebut maka algoritma ini secara otomatis menghindari dan tidak memilih titik tersebut serta memilih titik dengan nilai edge terkecil selanjutnya yang belum terhubung dengan titik-titik yang telah terpilih. Langkah-langkah penyelesaian minimum spanning tree dari Algoritma Prim yang telah dibuat dengan menggunakan bahasa pemrograman C++ adalah sebagai berikut [3]: 1. Menginisilisasi bahwa nilai dari graf T masih berupa graf kosong. 2. Memilih titik vertek v 1 sebagai titik awal dari Graf T. Variabel telah_dikunjungi[i] dalam algoritma ini berfungsi sebagai pencegah terjadinya suatu sirkuit. Pada awal program variabel tersebut diberi nilai 0, maka pada saat program dijalankan akan terdapat kondisi dimana nilai variabel tersebut menjadi 1 dan ini yang akan menjadi pencegah terjadinya suatu sirkuit. 3. Memilih wakil edge dari titik tersebut yang memiliki bobot paling minimum. Pilih titik v 1 sebagai langkah awal. Masukkan v 1 ke dalam V(T). Untuk i=1, 2, 3,.., n-1 lakukan: 1. Pilih e E(G) dan e E(T) dengan syarat: i. e berhubungan dengan satu titik dalam T dan tidak membentuk sirkuit. Dalam menghindari sirkuit pada potongan program ini juga dengan menggunakan variabel telah_dikunjungi[i] sama seperti pada bagian langkah 2.. ii. e mempunyai bobot terkecil dibandingkan dengan semua garis yang berhubungan dengan titik-titik dalam T. 2. Tambahkan e ke E(T) dan w ke V(T). 2. Algoritma Kruskal Algoritma kedua yang akan dianalisis adalah Algortima Kruskal. Algoritma ini lebih rumit bila dibandingkan dengan Algoritma Prim karena pada Algoritma Kruskal data harus diurutkan dulu berdasarkan dari data edge terkecil ke data edge terbesar, dan proses penyelesaian masalah minimum spanning tree pun lebih rumit karena edge yang dipilih bisa sembarang edge dengan syarat edge tersebut memiliki nilai bobot terkecil dan tidak terjadi sirkuit diantara edge-edge yang dipilih tersebut. Dalam Algoritma Kruskal pada proses pembentukannya mungkin saja terjadi forest, tetapi hasil akhir tetap berupa tree. Langkah-langkah penyelesaian masalah minimum spanning tree dengan menggunakan Algoritma Kruskal adalah sebagai berikut [3]: 1. Inisialisasi bahwa graf T masih berupa graf kosong. 2. Inisialisasi data yang akan diurutkan lalu data diurutkan dari bobot terkecil ke bobot terbesar. 3. Pilih sisi atau edge (u, v) dengan bobot minimum yang tidak membentuk sirkuit di T dari data yang telah diurutkan. Tambahkan (u, v) ke dalam T. Lakukan langkah ini hingga n-1 dan terbentuk penyelesaian minimum spanning tree. http://jurnal.fmipa.unila.ac.id/index.php/komputasi Hal 62 dari 74

3. Algoritma Sollin Algoritma ketiga yang akan dianalisis adalah Algoritma Sollin. Konsep dari algoritma ini adalah memilih wakil edge dari masing-masing titik/vertex dengan nilai bobot terkecil. Edge yang telah terpilih tersebut lalu dihubungkan untuk menemukan solusi dari minimum spanning tree. Tetapi ada kemungkinan edge yang terpilih dari masing-masing titik akan sama atau duplikat, maka akan ada proses penghapusan duplikat. Pada Algoritma Sollin juga memungkinkan terjadinya suatu forest. Langkah-langkah dalam menentukan hasil dari Algoritma Sollin ini adalah: 1. Menginisialisasi bahwa graf T masih berupa graf kosong. 2. Memilih edge dengan nilai bobot terendah dari masing-masing titik/vertex yang saling berhubungan. 3. Mengeliminasi edge duplikat jika pada edge yang telah terpilih terdapat edge dengan titik yang sama. 4. mengelompokkan edge yang telah terpilih kedalam tree-nya masing-masing. Pada langkah ini pengecekan jika terbentuk sirkuit pada data hasil pemilihan wakil edge yang terpilih, dan dilakukan penghapusan jika terjadi duplikat. Jika pada data yang akan ditemukan solusi dari minimum spanning tree telah terbentuk pada langkah ini, maka langkah selanjutnya tidak perlu dilakukan. 5. Menghubungkan masing-masing tree yang telah terbentuk di dalam graf T agar menjadi suatu penyelesaian minimum spanning tree. Penghubungan ini diawali dengan sorting titik-titik yang belum terhubung diurutkan dari paling kecil ke besar. Pada langkah ini data sebelum diurutkan diberi label terlebih dahulu agar pada saat setelah data diurutkan data tersebut masih merupakan nilai edge dari vertex yang sama. 3.3 User Interface Program Pada tahap ini dilakukan pengujian dari program yang telah dibuat berdasarkan dari algoritma masing-masing. Pengujian ini bertujuan untuk mencari kesalahan-kesalahan yang telah terlewati pada tahap sebelumnya. Pengujian ini dilakukan untuk melihat apakah dari program yang telah dibuat terdapat kesalahan dan untuk membuktikan bahwa tidak terjadi sirkuit didalam program penyelesaian minimum spanning tree dari masing-masing algoritma. Pengujian pada masing-masing algoritma dilakukan dengan menggunakan perlakuan yang sama yaitu dengan menggunakan data yang sama berupa graf lengkap dengan jumlah node 10 titik. Dari hasil pengujian ini akan diketahui waktu running yang dibutuhkan oleh masing-masing algoritma dan juga titik-titik mana yang terhubung yang berupa penyelesaian dari masalah penyelesaian minimum spanning tree dari graf lengkap yang digunakan. Contoh user interface : Nama file yang di uji adalah file 10/1.txt, dan nilai dari file tersebut dapat dilihat pada Tabel 1. Tabel 1 Data bobot graf lengkap dengan jumlah vertex n=10 NO EDGE I J BOBOT 1 1 2 904 2 1 3 785 3 1 4 10 4 1 5 263 5 1 6 51 6 1 7 693 7 1 8 507 8 1 9 633 9 1 10 661 10 2 3 587 11 2 4 695 12 2 5 890 13 2 6 530 14 2 7 206 15 2 8 355 16 2 9 605 17 2 10 905 18 3 4 61 19 3 5 822 20 3 6 590 21 3 7 454 22 3 8 544 23 3 9 180 24 3 10 705 25 4 5 152 http://jurnal.fmipa.unila.ac.id/index.php/komputasi Hal 63 dari 74

26 4 6 297 27 4 7 275 28 4 8 107 29 4 9 720 30 4 10 678 31 5 6 263 32 5 7 805 33 5 8 956 34 5 9 76 35 5 10 193 36 6 7 672 37 6 8 451 38 6 9 54 39 6 10 176 40 7 8 917 41 7 9 690 42 7 10 878 43 8 9 550 44 8 10 796 45 9 10 734 Berikut ini merupakan hasil dari pengujian program: 1. User Interface program Algoritma Prim. Gambar 1 User interface program Algoritma Prim. Gambar 2 Gambar tree yang terbentuk dari Algoritma Prim 2. User Interface program Algoritma Kruskal. Gambar 3 User interface program Algoritma Kruskal. http://jurnal.fmipa.unila.ac.id/index.php/komputasi Hal 64 dari 74

Gambar 4 Gambar tree yang terbentuk dari Algoritma Kruskal 3. User Interface program Algoritma Sollin. Gambar 5 User interface program Algoritma Sollin. Gambar 6 Gambar tree yang terbentuk dari Algoritma Sollin 3.4 Perbandingan Algoritma Prim, Algoritma Kruskal, dan Algoritma Sollin. Dari hasil analisis dan pengujian di atas dapat dikatakan bahwa penggunaan Algoritma Prim, Algoritma Kruskal, dan Algoritma Sollin mempunyai perbedaan yang mendasar, yaitu: 1. Pada Algoritma Prim langkah pertama yang dilakukan adalah memilih titik awal yang akan dimasukkan kedalam graf T, kemudian dari titik yang telah dipilih tersebut dipilih sisi/edge dengan bobot minimum. Sisi yang dimasukkan ke dalam T selain berbobot minimum juga harus http://jurnal.fmipa.unila.ac.id/index.php/komputasi Hal 65 dari 74

bersisian dengan sebuah titik di T. Di awal penentuan titik yang dipilih, perlu diketahui bahwa titik manapun yang dipilih, banyak bobot dan bentuk pohon merentang minimum tetaplah sama. 2. Pada Algoritma Kruskal pencarian minimum spanning tree didasarkan pada pemilihan sisi yang mempunyai bobot minimum dan sisi tersebut tidak membentuk sirkuit dengan sisi-sisi yang telah dipilih sebagai tree. 3. Pada Algoritma Sollin pencarian pohon merentang minimum didasarkan pada pemilihan wakil sisi dari masing-masing titik yang mempunyai bobot minimum, lalu sisi tersebut dilakukan penghapusan jika terdapat duplikat atau sisi yang memiliki titik yang sama didalamnya. Setelah penghapusan sisi duplikat maka sisi yang telah dipilih dihubungkan dengan syarat tidak terjadi sirkuit. Jika saat semua titik telah dihubungkan dan terjadi forest maka dilakukan pemilihan titik yang belum terhubung dengan bobot minimum dan tidak terbentuk sirkuit. Berdasarkan langkah-langkah yang digunakan setiap algoritma dalam menyelesaikan permasalahan minimum spanning tree dapat dilihat perbandingan antara Algoritma Prim, Algoritma Kruskal, dan Algoritma Sollin, yaitu: 1. Jumlah bobot minimum yang dihasilkan sebagai penyelesaian minimum spanning tree untuk setiap graf lengkap pada Algoritma Prim, Algoritma Kruskal, dan Algoritma Sollin adalah sama. 2. Banyaknya sisi yang terbentuk setelah diperoleh pohon merentang untuk setiap graf pada algoritma Prim, algoritma Kruskal, dan algoritma Sollin adalah sama. 3. Banyaknya langkah yang ditempuh oleh setiap graf pada algoritma Prim, algoritma Kruskal, dan algoritma Sollin hingga terbentuk pohon merentang minimum adalah berbeda-beda. 4. Waktu yang dibutuhkan oleh masing-masing algoritma untuk menyelesaikan masalah minimum spanning tree berbeda-beda. 5. Kompleksitas dari ketiga algoritma tersebut adalah sama yaitu O(n 2 ). 4 Kesimpulan Berdasarkan hasil penelitian yang dilakukan maka dapat diambil beberapa kesimpulan sebagai berikut: 1. Algoritma Prim, Algortima Kruskal, dan Algoritma Sollin merupakan algoritma yang dapat digunakan dalam membantu penyelesaian masalah minimum spanning tree. 2. Algoritma Prim, Algoritma kruskal, dan Algoritma Sollin memiliki langkah yang berbeda-beda meskipun hasil akhir berupa nilai bobot yang diperoleh dalam mencapai penyelesaian minimum spanning tree adalah sama. 3. Running time yang dibutuhkan Algoritma Prim, Algoritma Kruskal, dan Algoritma Sollin dalam menyelesaikan masalah minimum spanning tree berbeda-beda dan bergantung pada jumlah n yang digunakan. 4. Kompleksitas dari masing-masing algoritma Prim, Algoritma Kruskal, dan Algoritma Sollin sama yaitu O(n 2 ). 5. Bahasa Pemrograman C++ merupakan bahasa pemrograman yang handal yang dapat digunakan dalam menyelesaikan masalah minimum spanning tree. 5 Refferences [1] Johnsonbaugh, Richard. 1997. Matematika Diskrit. Diterjemahkan oleh Didik Djunaedi.Yogyakarta : PT Aditya Media. [2] Nugraha, Deni Wiria. Penerapan Kompleksitas Waktu Algoritma Prim Untuk Menghitung Kemampuan Komputer Dalam Melaksanakan Perintah. Jurnal Ilmiah Foristek Vol. 2, No. 2, September 2012 hal.195-207 http://jurnal.fmipa.unila.ac.id/index.php/komputasi Hal 66 dari 74

[3] Wibisono, Samuel. 2004. Matematika Diskrit. Yogyakarta : Penerbit Graha Ilmu. [4] Munir, R. 2005. Matematika Diskrit. Bandung: Informatika. http://jurnal.fmipa.unila.ac.id/index.php/komputasi Hal 67 dari 74