Nim : 1512619101
Kelas : PTIK B
Soal :
1. Sebutkan dan jelaskan pengertian beberapa algoritma di bawah ini dan berikan
Langkah langkah penyelesaiannya :
a. Algoritma Prim
b. Algoritma Kruskal
c. Algoritma Dynamic Programming
d. Algoritma Floyd Warshall
e. Algoritma Welch Powell
2. Sebutkan dan jelaskan penyelesaian minimal dua kasus yang sudah Anda kerjakan
bersama kelompok Anda menggunakan Algoritma diatas beserta dengan
tahapannya !
Jawab :
1. Pengertian
a. Algoritma Prim
Algoritma Prim adalah sebuah algoritma dalam teori graf untuk mencari rentang
minimum untuk sebuah graf berbobot yang saling terhubung. Ini berarti bahwa sebuah
himpunan bagian dari edge yang membentuk suatu pohon yang mengandung node, di
mana bobot keseluruhan dari semua edge dalam pohon diminimalisasikan. Bila graf
tersebut tidak terhubung, maka graf itu hanya memiliki satu pohon rentang minimum
untuk satu dari komponen yang terhubung.
Aplikasi dari algoritma prim sendiri banyak digunakan ketika ditemui masalah dalam
hal penentuan seperti panjang kabel, khususnya dalam dunia kelistrikan, Jaringan
(LAN), PDAM (penentuan panjangnya pipa) dan banyak lagi .
b. Algoritma Kruskal
Algoritma kruskal adalah sebuah algoritma dalam teori graf yang mencari sebuah
minimum spanning tree untuk sebuah graf berbobot yang terhubung. 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 juga tergolong algoritma Greedy
dalam teori graf yang digunakan untuk mencari minimum spanning tree.
• Graph : kumpulan dua himpunan yaitu himpunan titik ( vertex / simpul / node ) dan
kumpulan dari garis ( edge ).
• Tree : graph tak berarah yang terhubung dan tidak mengandung sirkuit. Sirkuit :
simpul awal = simpul akhir.
1. Ini memecah masalah yang kompleks menjadi submasalah yang lebih sederhana.
2. Ia menemukan solusi optimal untuk sub-masalah ini.
3. Ini menyimpan hasil submasalah (memoisasi). Proses menyimpan hasil dari
submasalah disebut dengan menghafal.
4. Ini menggunakan kembali mereka sehingga sub-masalah yang sama dihitung lebih
dari sekali.
5. Terakhir, hitung hasil dari masalah kompleks.
• Permasalahan / Kasus
• Penjelasan Algoritma
Konsep Algoritma Floyd Warshall
Algoritma Floyd Warshall merupakan salah satu varian dari pemrograman dinamis,
yaitu suatu metode algoritma yang melakukan pemecahan masalah dengan memandang
solusi yang akan diperoleh sebagai suatu keputusan yang saling terkait dan digunakan
secara luas pada metode pencarian jalur dan graf. Algoritma Floyd Warshall memulai
iterasi dari titik awalnya kemudian memperpanjang lintasan dengan mengevaluasi titik
demi titik hingga mencapai titik tujuan dengan jumlah bobot yang seminimal mungkin
artinya solusi yang diperoleh berasal dari tahap-tahap sebelumnya.
Algoritma Floyd Warshall juga membandingkan semua kemungkinan lintasan pada graf
untuk setiap sisi dari semua simpul. Algoritma Floyd Warshall menjamin keberhasilan
penemuan solusi optimum untuk kasus penemuan lintasan terpendek (single pair shortest
path). Algoritma Floyd Warshall untuk mencari lintasan terpendek adalah sebagai berikut:
1. W = W0
Untuk k = 1 hingga n, lakukan :
Untuk i = 1 hingga n, lakukan :
Untuk j = 1 hingga n, lakukan :
Jika W[i,j] > W[i,k] + W[k,j] maka tukar W[i,j] dengan W[i,k] + W[k,j].
2. W* = W.
Keterangan :
W0 = matriks keterhubungan graf berarah berbobot awal
W* = matriks keterhubungan minimal
Wi,j = lintasan terpendek dari titik vi ke vj
Dalam iterasinya untuk mencari lintasan terpendek, Algoritma Floyd Warshall
membentuk n matriks, sesuai dengan iterasi-k. Ini akan menyebabkan prosesnya
lambat, terutama untuk nilai n yang besar.
• Langkah Penyelesaian Kasus
● Langkah awal yang harus dilakukan untuk menentukan shortest path dengan
menggunakan Algoritma Floyd Warshall adalah dengan merepresentasikan suatu
graf sebagai suatu matriks berbobot. Format output berupa matriks
= 5000 m = 5 km
Waktu = 60 + 60 + 60 + 120 + 41
b. Jalur Kedua
= 5100 m = 5,1 km
c. Jalur Ketiga
Berikut perhitungan total jarak dan waktu tempuh :
Jarak = NA – N1 - N8 - N9 - N10 - N5 - N6
= 5500 m = 5,5 km
d. Jalur Keempat
Jarak = NA – N2 - N7 -N3 - N4 - N5 - N6
= 5500 m = 5,5 km
Waktu = 60 + 26 + 56 + 60 + 120 + 41
Setelah total jarak dan waktu dari keempat jalur dapat diketahui, maka tahap
selanjutnya adalah menyimpan total jarak dan waktu tempuh.
Dari tabel diatas, diketahui bahwa jalur terdekat yaitu jalur pertama yaitu
terminal panorama – simpang panorama – simpang padang harapan –
tanah patah – simpang skip – simpang 5 dengan jarak 5 km dan waktu
tempuh 5,6 menit.
Metode pengujian black box untuk menguji aplikasi yang telah dibuat dalam segi
tampilan user interface.
Kasus 2 :
• Permasalahan / Kasus
• Penjelasan Algoritma
Konsep Algoritma Prim
Algoritma Prim merupakan salah satu algoritma dalam teori graf untuk mencari
pohon rentang minimum untuk sebuah graf berbobot yang saling terhubung. Ini berarti
bahwa sebuah himpunan bagian dari edge yang membentuk suatu pohon yang
mengandung node, di mana bobot keseluruhan dari semua edge dalam pohon
diminimalisasikan. Bila graf tersebut tidak terhubung, maka graf itu hanya memiliki satu
pohon rentang minimum untuk satu dari komponen yang terhubung. Algoritma ini
ditemukan oleh Vojtěch Jarník pada tahun 1930 dikembangkan oleh Robert Clay Prim pada
tahun 1957 untuk menentukan pohon merentang minimum dari graf berbobot terhubung
Secara sederhananya Algoritma Prim terlebih dahulu akan memilih suatu sisi pada sebuah
graf berbobot dengan bobot yang paling kecil atau minimum, kemudian sisi pertama
tersebut akan dimasukkan kedalam sebuah himpunan tree (T), selanjutnya akan dilihat sisi
lainnya yang bertetanggaan dengan sisi awal tersebut dan memilih lagi sisi dengan bobot
yang paling minimum tetapi tidak membuat sirkuit dalam T, lalu mengulangi langkah yang
sama sampai semua sisi pada graf tidak ada lagi yang dapat dipilih dengan
mempertimbangkan ketentuan yang telah ditentukan. Untuk ilustrasi agar lebih jelas, dapat
dilihat pada gambar di bawah ini.
Penjelasan gambar di atas untuk mencari jarak terpendek dengan Algoritma Prim
adalah sebagai berikut:
● Menentukan sisi awal yaitu sisi e-c dengan bobot 5 karena bobot yang paling
minimum.
● Selanjutnya, memilih sisi yang bertetanggaan dengan sisi awal (e-c) tetapi dengan
bobot yang paling minimum juga. Maka akan dipilih sisi (e-d) dengan bobot 11.
● Kemudian, mengulangi langkah yang sama seperti sebelumnya maka akan
didapatkan solusi seperti di bawah ini.
● Untuk mencari pohon rentang minimum T dari graf G dengan algoritma Prim,
mula-mula dipilih satu titik sembarang (misal v1). Kemudian ditambahkan satu
garis yang berhubungan dengan v1 dengan bobot yang paling minimum (misal e1)
dan titik ujung lainnya ke T sehingga T terdiri dari sebuah garis e1 dan 2 buah titik-
titik ujung garis e1 (salah satunya adalah v1). Pada setiap langkah selanjutnya,
dipilih sebuah garis dalam E(G) yang bukan anggota E(T) dengan sifat: (a) Garis
tersebut berhubungan dengan salah satu titik anggota himpunan V(T). (b) Garis
tersebut memiliki bobot yang paling minimum
● Inisialisasi dengan membuat T menjadi graf kosong
● Ambil sembarang v anggota himpunan V(G). Masukkan v kedalam V(T)
● V(G) = V(G) – {v}
● Untuk i = 1, 2, ..., n-1, lakukan :
a. Pilihlah garis e anggota himpunan E(G) dan e bukan anggota himpunan E(T)
dengan syarat:
Jadi, T1 merupakan minimum spanning tree berbobot jarak tempuh dari graf G1
yang diperoleh dari langkah-langkah Algoritma Prim.
Jadi, T2 merupakan minimum spanning tree berbobot jarak tempuh dari graf G2
yang diperoleh dari langkah-langkah Algoritma Prim.