Aplikasi Minimum Spanning Tree Algoritma Kruskal

minimum mempunyai terapan yang luas dalam praktek. Misalkan Pemerintah akan membangun jalur kereta api yang menghubungkan sejumlah kota, membangun jalur rel kereta api biaya nya mahal, karena itu pembangunan jalur ini tidak perlu menghubungkan langsung dua buah kota, tetapi cukup membangun jalur kereta seperti pohon merentang. Karena di dalam graf mungkin saja terdapat lebih dari satu pohon merentang, harus dicari pohon merentang yang mempunyai jumlah jarak terpendek, dengan kata lain harus dicari pohon merentang minimum. d

2.8 Aplikasi Minimum Spanning Tree

Aplikasi yang sering dipakai dalam graf berlabel adalah mencari pohon rentang dengan total bobot seminimum mungkin atau disebut pohon merentang minimum. Jika semua jaringan listrik dibuat terlalu banyak maka biaya akan boros. Beberapa 15 20 30 55 5 35 10 50 5 40 20 10 15 b e f g h c c h e f g 25 25 30 a 45 Gambar 2.2 a Graf yang menyatakan jaringan jalur rel kereta api. Bobot pada tiap sisi menyatakan panjang rel kereta api x 100 km b Pohon merentang yang mempunyai jumlah jarak minimum Universitas Sumatera Utara jalur yang menghubungkan 2 kota secara langsung tidak perlu dibuat karena kota- kota tersebut tetap dapat teraliri listrik secara tidak langsung, yaitu dengan melalui kota lain sedemikian hingga total biaya pemasangan jaringan listrik seminimum mungkin. Atau dengan kata lain, mencari pohon rentang dengan total bobot seminimum mungkin. Cara yang paling sederhana adalah dengan mendaftarkan semua pohon rentang yang mungkin dibuat dan menghitung total bobot tiap-tiap pohon rentang. Selanjutnya dipilih pohon rentang dengan total bobot yang paling kecil. Metode itu tidak efisien, terutama pada graf yang cukup besar karena terdapat banyak sekali pohon rentang yang dapat dibuat.

2.9 Algoritma Kruskal

Algoritma Kruskal adalah algoritma dalam teori graph yang menemukan suatu pohon rentang minimum untuk terhubung dalam graf berbobot . Ini berarti menemukan subset dari tepi yang membentuk sebuah pohon yang mencakup setiap titik , di mana berat total dari semua tepi di atas pohon diminimalkan.. Jika grafik tidak terhubung, maka menemukan hutan rentang minimum pohon rentang minimum untuk setiap komponen terhubung . Algoritma Kruskal adalah contoh dari algoritma rakus . Algoritma ini pertama kali muncul dalam Prosiding American Mathematical Society , hal 1956. Algoritma lain untuk masalah ini termasuk Algoritma Prim , Reverse- Hapus algoritma , dan algoritma Borůvkas. Pada Algoritma Kruskal, sisi-sisi di dalam graf diurut terlebih dahulu berdasarkan bobotnya dari kecil ke besar. Sisi yang dimasukkan ke dalam himpunan Universitas Sumatera Utara T adalah sisi graf G sedemikian sehingga T adalah pohon. Pada keadaan awal, sisi- sisi sudah diurut berdasarkan bobot membentuk hutanforest, masing-masing pohon di hutan hanya berupa satu buah simpul. Hutan tersebut dinamakan hutan merentang spanning forest. Sisi dari graf G ditambahkan ke T jika ia tidak membentuk siklus di T. Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit. Sisi-sisi dari graf sudah diurut menaik berdasarkan bobotnya, yaitu : 1. T masih kosong 2. Pilih sisi e dengan bobot minimum yang tidak membentuk sirkuit di T. Masukkan e ke dalam T. 3. Ulangi langkah 2 sebanyak n-1 kali. Contoh 2.1 Carilah pohon merentang minimumnya dengan algoritma Kruskal. Penyelesaian: Sisi-sisi graf diurut menaik berdasarkan bobotnya: Langkah-langkah pembentukan pohon merentang minimum diperlihatkan pada Tabel 2.1. Bobot pohon merentang minimum ini adalah 10 + 25 + 15 + 20 + 25 = 105 Sisi 1,2 3,6 4,6 2,6 1,4 3,5 2,5 1,5 2,3 5,6 Bobot 10 15 20 25 30 35 40 45 50 55 Universitas Sumatera Utara Langkah Sisi Bobot Pohon Merentang 1 1,2 10 2 3,6 15 3 4,6 20 4 2,6 25 5 1,4 30 6 3,5 35 Tabel 2.1 Pembentukan pohon merentang minimum dengan algoritma Kruskal 1 2 3 4 5 6 1 2 1 2 3 4 5 6 1 2 3 4 5 6 1 3 2 5 4 6 1 2 3 5 4 6 ditolak Universitas Sumatera Utara Ada satu lagi algoritma yang membangun pohon merentang minimum yang hampir mirip dengan algoritma Kruskal yaitu algoritma Prim. Dibawah ini akan dijelaskan tentang algoritma Prim.

2.10 Algoritma Prim