Anda di halaman 1dari 3

Algoritma Greedy untuk Menentukan

Lintasan Terpendek

Irvan Prama Defindal¹, Boyke Ariesanda², Christoforus³

Laboratarium Ilmu dan Rekayasa Komputasi


Departemen Teknik Informatika, Institut Teknologi Bandung
Jl. Ganesha 10, Bandung

E-mail: if13018@students.if.itb.ac.id¹, if13036@students.if.itb.ac.id²,


If13094@students.if.itb.ac.id³

Abstrak

Kemacetan yang sering terjadi selama perjalanan, sering mengganggu kegiatan kita sehari-hari. Setiap manusia
ingin sampai ke tujuan dengan tepat waktu. Tetapi, sering kali kemacetan menyebabkan keinginan manusia
terganggu. Oleh karena itu, dibutuhkan suatu cara untuk menanggulangi gangguan tersebut. Untuk mencapai
suatu tempat dengan waktu yang lebih cepat, kita akan mencari lintasan terpendek dari tempat asal ke tempat
tujuan. Lintasan terpendek ini juga memperhitungkan waktu-waktu dimana kemacetan sering terjadi. Contoh
lintasan terpendek adalah: ketika kita ingin ke gedung olahraga (GOR) Trilomba di Jl. Padjajaran pukul 07.00
hari senin. Kita bisa melewati Cihampelas, menuju Jl. dr. Otten dan memotong ke Jl. Padjajaran tanpa harus
melewati kemacetan yang terjadi di Wastu Kencana. Tentu saja ini akan menghemat waktu kita. Pada makalah
ini akan dibahas pencarian lintasan terpendek berdasarkan jarak dan waktu-waktu terjadinya kemacetan.

Kata kunci: algoritma greedy, lintasan terpendek, graf berbobot

1. Pendahuluan 2.2 Skema Umum Algoritma Greedy

Kebutuhan akan informasi yang akurat dibutuhkan Persoalan optimasi dalam konteks algoritma greedy
saat ini. Perkembangan teknologi sangat pesat dalam disusun oleh elemen-elemen sebagai berikut:
beberapa tahun ini, sehingga kebutuhan manusia 1. Himpunan kandidat, C.
semakin meningkat. Sehingga dibutuhkan waktu Himpunan ini berisi elemen-elemen pembentuk
yang cepat untuk mencapai kebutuhan tersebut. solusi. Pada setiap langkah, satu buah kandidat
Algoritma Greedy merupakan suatu program yang diambil dari himpunannya.
tepat untuk meningkatkan efisiensi waktu.
2. Himpunan solusi, S.
2. Algoritma Greedy Merupakan himpunan dari kandidat-kandidat yang
terpilih sebagai solusi persoalan. Himpunan solusi
2.1 Definisi Algoritma Greedy adalah himpunan bagian dari himpunan kandidat.
3. Fungsi seleksi – dinyatakan sebagai predikat
Algoritma greedy adalah algoritma yang SELEKSI – merupakan fungsi yang pada setiap
memecahkan masalah langkah demi langkah, pada langkah memilih kandidat yang paling mungkin
setiap langkah: untuk mendapatkan solusi optimal. Kandidat yang
1. mengambil pilihan yang terbaik yang dapat sudah dipilih pada suatu langkah tidak pernah
diperoleh saat itu dipertimbangkan lagi pada langkah selanjutnya.
2. berharap bahwa dengan memilih optimum loklal
pada setiap langkah akan mencapai optimum global. 4. Fungsi kelayakan (feasible) – dinyatakan dengan
Algoritma greedy mengasumsikan bahwa optimum predikat LAYAK – merupakan fungsi yang
lokal merupakan bagian dari optimum global. memeriksa apakah suatu kandidat yang telah dipilih
dapat memberikan solusi yang layak, yakni kandidat
Prinsip algoritma greedy adalah: “take what you can tersebut bersama-sama dengan himpunan solusi
get now!”. Ambil apa yang anda peroleh sekarang! yang sudah terbentuk tidak melanggar kendaara
Prinsip ini juga dipakai dalam pemecahan masalah yang ada.
optimasi. Dalam kehidupan sehari-hari, kita juga
pernah menggunakan prinsip greedy, misalnya: 5. Fungsi obyektif, merupakan fungsi yang
a. Memilih jurusan di Perguruan Tinggi memaksimumkan atau meminimumkan nilai solusi.
b. Memilih jalur tersingkat dari Bandung ke Jakarta.
Kita berharap optimum global merupakan solusi
optimum dari persoalan. Namun, adakalanya

1
optimum global belum tentu merupakan solusi Sisi ini menjadi lintasan terpendek pertama, sebut
optimum (terbaik), tetapi dapat merupakan solusi saja L(1).
sub-optimum atau pseudo-optimum. Hal ini dapat 2. Tentukan lintasan terpendek kedua dengan cara
dijelaskan dari dua faktor berikut: berikut:
1. algoritma greedy tidak beroperasi secara (i) hitung: d(i) = panjang L(1) + bobot sisi
menyeluruh terhadap semua alternatif solusi yang dari simpul akhir L(1) ke simpul i yang lain
ada. (ii) pilih d(i) yang terkecil
2. pemilihan fungsi SELEKSI: fungsi SELEKSI Bandingkan d(i) dengan bobot sisi (a, i).
biasanya didasarkan pada fungsi obyektif (fungsi Jika bobot sisi (a, i) lebih kecil daripada
SELEKSI bisa saja identik dengan fungsi obyektif). d(i), maka
Jika fungsi SELEKSI tidak identik dengan fungsi L(2) = L(1) U (sisi dari simpul akhir L(i) ke
obyektif, kita harus memilih fungsi yang tepat untuk simpul i)
menghasilkan nilai yang optimum. 3. Dengan cara yang sama, ulangi langkah 2 untuk
menentukan lintasan terpendek berikutnya.
Karena itu, pada sebagian masalah algoritma greedy
tidak selalu berhasil memberikan solusi yang benar- 4. Strategi Greedy pada Algoritma Dijkstra
benar optimum. Tetapi, algoritma greedy pasti
memberikan solusi yang mendekati (approximation) 4.1 Algoritma Dijkstra
nilai optimum.
Algoritma Dijkstra ditemukan oleh Edger Wybe
3. Lintasan Terpendek (Shortest Path) Dijkstra. Algoritma ini merupakan algoritma yang
paling terkenal untuk mencari lintasan terpendek.
3.1 Definisi Lintasan Terpendek Algoritma Dijkstra diterapkan pada graf berarah,
tetapi selalu benar untuk graf tak-berarah.
Lintasan terperndek adalah lintasan minimum yang
diperlukan untuk mencapai suatu tempat dari tempat Algoritma ini menggunakan strategi Greedy sebagai
tertentu. Lintasan minimum yang dimaksud dapat berikut:
dicari dengan menggunakan graf. Graf yang
digunakan adalah graf yang berbobot, yaitu graf “Pada setiap langkah, ambil sisi yang
yang setiap sisinya diberikan suatu nilai atau bobot. berbobot minimum yang menghubungkan
Dalam kasus ini, bobot yang dimaksud berupa jarak sebuah simpul yang sudah terpilih dengan
dan waktu kemacetan terjadi. sebuah simpul lain yang belum terpilih.
Lintasan dari simpul asal ke simpul yang
3.2 Single-source shortest path baru haruslah merupakan lintasan yang
terpendek diantara semua lintasannya ke
Ada beberapa macam persoalan lintasan terpendek, simpul-simpul yang belum terpilih.”
antara lain:
a. Lintasan terpendek antara dua buah simpul Langkah-langkah algoritma Dijkstra yang lebih jelas
tertentu (a pair shortets path). dapat dilihat di:
b. Lintasan terpendek antara semua pasangan simpul http://kur2003.if.itb.ac.id/strategialgoritmik/rencana/
(all pairs shortest path). algoritmagreedy.
c. Lintasan terpendek dari simpul tertentu ke semua
simpul yang lain (single-source shoertest path). 5. Analisis Algoritma Dijkstra untuk Mencari
d. Lintasan terpendek antara dua buah simpul yang Lintasan Terpendek.
melalui beberapa simpul tertentu (intermediate
shortest path). Analisis yang dilakukan meliputi 2 aspek, yaitu:
1. berdasarkan graf berbobot yang bobotnya
Dalam makalah ini, persoalan yang digunakan merupakan panjang lintasan
adalah single-source shortest path. Diberikan sebuah 2. berdasarkan graf berbobot yang bobotnya
persoalan: merupakan waktu terjadinya kemacetan.
“Diberikan sebuah graf berbobot G(V, E). Tentukan
lintasan terpendek dari simpul awal, a, ke setiap Tabel 1. Panjang lintasan dari satu tempat ke tempat
simpul lainnya di G. Asumsi bahwa bobot semua sisi yang lainnya.
bernilai positif.”
1 2 3 4
Algoritma greedy untuk mencari lintasan terpendek 1 0 ∞ 3500 m 500 m
dapat dirumuskan sebagai berikut: 2 7000 m 0 4000 m ∞
1. Perikasa semua sisi yang langsung bersisian 3 ∞ 4000 m 0 3000 m
dengan simpul a. Pilih sisi yang bobotnya terkecil. 4 500 m ∞ 4500 m 0

2
Keterangan: Daftar Pustaka
1 = Dago
2 = Pasteur 1. Algoritma Greedy.
3 = Cihampelas http://kur2003.if.itb.ac.id/strategialgoritmik.
4 = ITB Diakses tanggal 16 Mei 2005 pukul 19.00 WIB.

Contoh persoalan: carilah lintasan terpendek dari 2. R. Munir. , Diktat Kuliah IF2251 Strategi
ITB menuju Pasteur! Algoritmik, Bandung, 2005.

Jadi, lintasan terpendek dari ITB menuju Pasteur 3. Mehran S. , Exhaustive Recursion and
adalah: 4 – 3 – 2, yaitu sepanjang: Backtracking, April 2005.

3000 m + 4000 m = 7000 m

Tabel 2. Waktu kemacetan sering terjadi.

1 2 3 4
siang,
1 0 siang ∞
sore
pagi,
2 0 sore sore
sore
sore, siang,
3 sore 0
malam sore
pagi,
4 ∞ sore 0
sore

Keterangan sama dengan tabel 1.

Jarak yang digunakan dari satu tempat ke tempat


yang lainnya sama dengan jarak yang digunakan
pada tabel 1.

Contoh persoalan: carilah lintasan terpendek dari


ITB menuju Pasteur pada siang hari!

Jadi, lintasan terpendek dari ITB menuju Pasteur


adalah: 4 – 1 – 2, yaitu sepanjang:

500 m + 7000 m = 7500 m

Seharusnya, lintasan terpendek dari ITB menuju


Pasteur adalah 7000 m, tetapi pada siang hari terjadi
kemacetan di Cihampelas, maka mengambil jalan
yang tidak macet, yaitu melewati Dago.

6. Kesimpulan

Pencarian lintasan terpendek sangat berguna untuk


menentukan jalan tersingkat untuk menuju suatu
tempat. Sehingga, kita dapat sampai tepat waktu
menuju tempat tujuan.
Hasil analisis berdasarkan bobot-bobot yang
berbeda, menunjukkan bahwa semakin banyak bobot
yang diberikan, maka semakin akurat pula data yang
dihasilkan. Sehingga menghasilkan waktu yang
efisien.

Anda mungkin juga menyukai