Dokumen tersebut membahas tentang algoritma spanning tree greedy dan cara kerjanya untuk mencari pohon rentang minimum dalam suatu graf. Algoritma yang digunakan antara lain algoritma Kruskal, Prim, dan Solin dengan langkah-langkah tertentu seperti memilih sisi terkecil, menghubungkan simpul, hingga mendapatkan pohon rentang minimum. Diberikan juga contoh penerapannya dalam jaringan listrik, pipa, dan telekomunikasi.
2. Ali Akbar Hamdani 19416255201087
Chepy Bagustian Sonjaya19416255201096
Fifi Pikriyati 19416255201103
Rizki Nur Annisa 19416255201087
Windyani Eka Putri 19416255201099
ANGGOTA
3. Algoritma Greedy
Algoritma greedy merupakan jenis algoritma yang menggunakan
pendekataan penyelesaian masalah dengan mencari nilai maksimum
sementara pada setiap langkahnya. Pada kebayakan kasus, algoritma
greedy tidak akan menghasilkan solusi paling optimal, namun biasanya
memberikan solusi yang paling mendekati nilai optimum dalam waktu
yang cukup cepat.
4. Algoritma Greedy
Algoritma ini mencari nilai maksimal sementara dengan harapan akan
mendapatkan solusi yang cukup baik. Meskipun tidak selalu mendapatkan
solusi terbaik (optimum), algoritma greedy umumnya memiliki kompleksitas
waktu yang cukup baik sehingga sering digunakan untuk kasus yang
memerlukan solusi cepat. Algoritma greedy memecahkan masalah dengan
step by step, yaitu sebagai berikut :
• Memiliki langkah yang terbaik pada saat itu tanpa memprediksi
kedepannya
• Memilih optimum lokal dan berakhir pada optimum global
Secara umum algoritma greedy disusun oleh elemen-elemen berikut :
• Himpunan Kandidat
• Himpunan Solusi
• Fungsi Seleksi ( Selection Function )
• Fungsi Kelayakan ( feasible )
5. Masalah pohon rentang minimum serupa dengan masalah rute terpendek ( shortest route ), kecuali bahwa tujuannya adalah untuk
menghubungkan seluruh simpul dalam jaringan sehingga total panjang cabang tersebut diminimasikan.
Spanning Tree
Minimum spanning tree adalah suatu pohon yang dapat
didefinisikan dengan sebuah graf. Graf berarah dan graf tidak
berarah adalah subgraf yang setiap node/simpulnya
terkoneksi satu sama lain.
Minimal spanning tree adalah teknik mencari jalan
penghubung yang dapat menghubungkan semua
titik dalam jaringan secara bersamaan sampai
diperoleh jarak minimum.
6. Syarat Graph yang dapat dicari minimum
spanning treenya
Graph harus terhubung
Ruasnya punya bobot
Graph tidak berarah
7. Algoritma yang dipakai untuk menentukan spanning tree
Algoritma
Prima
Algoritma
Solin
Algoritma
Kruskal
Algoritma Kruskal adalah algoritma
dalam teori graph yang menentukkan
suatu pohon rentang minimum untuk
terhubung dalam graf berbobot.
Sebuah algoritma dalam teori graf untuk
mencari pohon rentang minimum untuk sebuah
graf berbobot yang saling terhubung.
Algoritma solin untuk MST, adalah kebalikan
dari algoritma kruskal, yaitu membuat tree
didahului dengan melakukan pengurutan
garis yang mempunya bobot terbesar.
8. Contoh Minimum Spanning Tree
Terdapat sebuah gedung Istec Corporation yang baru
memiliki beberapa ruangan dan tiap ruangan membutuhkan 1
lubang aliran listrik. Teknisi listrik akan menyalurkan listrik dari
ruang bagian depan sampai keseluruh ruangan dengan total
panjang kabel yang seefisien mungkin. Adapun jarak antar
ruangan dapat digambarkan dalam gambar jaringan di
samping ini, sedangkan ruang bagian depan digambarkan
sebagai node-1.
9. node-1 adalah ruangan terdepan yang menjadi
sumber aliran listrik utama dan akan dijadikan
sebagai patokan dalam jaringan. Node 1 akan
dihubungkan dengan node 3 karena memiliki
rentang jarak terdekat yaitu dengan jarak 2 meter.
Kemudian lihat node-node terdekat yang belum
terhubung dengan node 1 dan 3, yaitu node 7, 6
dan 2. Yang terdekat dengan node 3 adalah node 7
dengan jarak 3 meter. Kemudian node 3 dan node 7
dapat dihubungkan.
Lanjutan Contoh Minimum Spanning Tree
10. Node yang belum terhubung terdekat dengan node
1, 3 dan 7 adalah node 6 dengan panjang 2 meter.
Node yang belum terhubung dan dekat dengan
node 1, 3, 7 dan 6 adalah 5 dan 2. Node 5 dapat
terhubung dengan node 6 dengan jarak 3 meter,
sedangkan node 2 dapat dihubungkan dengan node
1 dengan jarak 3 meter.
Lanjutan Contoh Minimum Spanning Tree
11. Node yang belum terhubung dan dekat
dengan node 1, 3, 7, 6, 5, 2 adalah node 4,
8, dan 9. Node 4 dapat terhubung dengan
node 5 dengan jarak 3 meter, node 8 dapat
terhubung dengan node 6 dengan jarak 4
meter serta node 9 dihubungkan dengan
node 8 dengan jarak 1 meter.
Karena seluruh node telah terhubung atau telah terkait
dalam satu jaringan, maka solusi di atas telah
optimum. Jadi teknisi listrik dapat memulai
merentangkan kabelnya dengan menghubungkan
node 1 – 2, 1 – 3, 3 – 7, 6 – 7, 5 – 6, 4 – 5, 6 – 8, 8 – 9
Panjang kabel yang dibutuhkan adalah : 21 meter.
Lanjutan Contoh Minimum Spanning Tree
12. Contoh lainnya
Cara membuat minimum spanning tree
pada jaringan di samping
Langkah-langkah dalam membuat spanning tree adalah sebagai
berikut:
Mencari nilai cost yang terkecil pada gambar disamping.
Mencari nilai cost yang terkecil pula diantara 3 edge CE, DE,
dan AF.
Mencari nilai edge antara CE dan AF spanning tree untuk
membentuk cabang/pohon.
Mencari nilai cost yang lebih murah secara sembarang pada
edge BC, BE, dan FE.
Hasil akhir dari spanning tree sudah terlihat, tinggal
menghubungkan edge FE.
Kesimpulan, jika ingin membuat route spanning tree yang harus
dilakukan adalah mencari nlai cost yang terkecil, lalu jangan
membuat suatu loop karena akan terjadi pemborosan.
13. Contoh Penerapan
Pemodelan jaringan listrik
dengan bobot ( panjnag
kabel ) minimum.
01
Pemodelan jaringan pipa
PDAM ( Perusahaan daerah
air minum ).
03
Pemodelan gardu sinyal
( Tower ) pada perusahaan
telekomunikasi.
02
Pemodelan pembangunan jalan
raya, digunakan untuk memiliki
jalur dengan bobot terkecil,
untuk meminimalkan biaya
pembangunan jalan.
04
14.
15. Pseudocode Algoritma Kruskal
pseudocodeKruskal(inputG : graph. Output T :
pohon);
{
membentuk MST T dari graph terubung G
}
Deklarasi
I,p,q,u,v : integer
Algoritma
{Asumsi : sisi-sisi graph sudah diurut
ascending berdasarkan bobotnya}
T←{ }
While jumlah sisi T < n-1 do
pilih sisi E yang bobotnya terkecil
if (u,v) tidak membentuk siklus di T
then
T← T u {(u,v) }
Endfor
enhwhile
Pseudocode Algoritma Prim
pseudocodePrim(inputG : graph. Output T : pohon);
{
1. membentuk MST T dari graph terubung G
2. Masukkan: graf-berbobot terhubung G=
(V,E), yang sama |V|=n
3. Keluaran: MST T= (V,E)
}
Deklarasi
I,p,q,u,v : integer
Algoritma
Cari sisi (p,q) dari E yang berbobot terkecil
T←{ }
For i ← 1 to n-2 do
pilih sisi (u,v) dari E yang bobotnya
terkecil namun bersisian dengan suatu
simpul T
T← T u {(u,v) }
endfor
19. KESIMPULAN
Spanning Tree merupakan salah satu jenis algoritma greedy yaitu sebuah graf berbentuk
pohon yang dalam penyeselesaian masalah dengan menghubungkan jarak bobot minimum
dan algoritma yang membantu dalam spanning tree yaitu Algoritma Kruskal, Algoritma
Solin, dan Algoritma Prim.