Anda di halaman 1dari 14

MAKALAH

STRUKTUR DATA
“SHORTEST PATH”

Disusun oleh :
Malik Pajar Ramadhan (065118316)

Dosen :
Ema Kurnia, S.Kom., M.Sc

PROGRAM STUDI ILMU KOMPUTER


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS PAKUAN
BOGOR
2019
KATA PENGANTAR

Puji syukur kehadirat tuhan yang maha esa atas segala rahmatnya sehingga makalah ini dapat
tersusun hingga selesai . Tidak lupa kami juga mengucapkan banyak terimakasih atas bantuan
dari pihak yang telah berkontribusi dengan memberikan sumbangan baik materi maupun
pikirannya.

Dan harapan kami semoga makalah ini dapat menambah pengetahuan dan pengalaman bagi
para pembaca, untuk ke depannya dapat memperbaiki bentuk maupun menambah isi makalah
agar menjadi lebih baik lagi.

Karena keterbatasan pengetahuan maupun pengalaman kami, kami yakin masih banyak
kekurangan dalam makalah ini, oleh karena itu kami sangat mengharapkan saran dan kritik
yang membangun dari pembaca demi kesempurnaan makalah ini.

Bogor, 2 Desember 2019

penyusun
DAFTAR ISI

Halaman judul…………………………………………….………………i
kata pengantar ……………………………………………………...…… ii
daftar isi ………………………………………………………………… iii

BAB I PENDAHULUAN ………………………………………………...1

1.1 Pendahuluan…………………………………………………………1

1.2 Latar belakang ………………………………………….……..........1

1.3 Rumusan masalah…………………………………………………..1

BAB II PEMBAHASAN………………………………….……………….5

2.1 Pengertian Shorted List ………………………………………………...5

2.2 Pengertian Travelling Salesman…………………..……………...5

2.3 Pengertian Chinese Postman Problem …….……………………………………..5

2.3.1 Langkah-Langkah Flash Chinese Postman Problem………………………..5

BAB III PENUTUP …………………………………………………….6

6.1 Kesimpulan ……………………………………………………….6

DAFTAR PUSTAKA ……………………………………………………7


BAB I
PENDAHULUAN
1.1. Pendahuluan

Shortest path adalah pencarian rute atau path terpendek antara node yang ada pada
graph.biaya (cost) yang dihasilkan adalah minimum.

Lintasan terpendek merupakan salah satu masalah yang dapat diselesaikan dengan menggunakan graph. Jika
diberikan sebuah graph berbobot, masalah lintasan terpendek adalah bagaimana kita mencari
sebuah jalur pada graph yang meminimumkan jumlah bobot sisi pembentuk jalur tersebut.

Algoritma-Algoritma dalam Shortest Path ada beberapa macam yaitu :


 Algoritma Greddy
 Algoritma Dijkstra
 Algoritma Christofides

1.2. Latar Belakang

Jarak terpendek (Shortest Path) ini digunakan terhadap suatu jaringan pengarahan perjalanan
dimana seseorang pengarah jalan ingin menentukan jarak terpendek antara dua tempat tujuan
berdasarkan jalur alternatif yang tersedia, dimana tempat tujuan hanya satu.Pada aplikasi di
lapangan penulis menganalisis dan membandingkan algoritmaL-Deque dan algoritma
Bellman Ford dalam menentukan jarak terpendek.
Graf yang digunakan dalam mencari jarak terpendek adalah graf berbobot, dimana setiap
sisinya diberikan suatu nilai atau bobot.Mengingat graf berbobot diarahkan n-vertex and m-
arc dengan vertex sumber menuju ke vertex tujuan misalkan dari s ke v. Algoritma Bellman-
Ford hanya digunakan jika ada sisi berbobot negatif. Solusi yang paling efisien dari satu
sumber masalah jalan terpendek untuk topologi jaringan umum memberikan algoritma
Bellman - Ford pada konvensional komputer sekuensial, dibutuhkan O(n3) waktu untuk
grafik terhubung lengkap dan O(nm) waktu untuk grafik jarang.
Metode algoritma yang dapat menyelesaikan persoalan jarak terpendek diantaranya algoritma
L-Deque dan algoritma Bellman Ford.Algoritma L-Deque merupakan pilihan yang tepat
dalam mengimplementasikan Shortest Path.Deque fungsinya itu untuk mengambil sebuah
elemen dari queue. Hal tersebut dilakukan dengan cara memindahkan posisi head satu
langkah ke belakang. Algoritma Bellman Ford itu sendiri menghitung jarak terpendek (dari
satu sumber) pada graf berbobot.Dari satu sumber yang dimaksud yaitu bahwa menghitung
semua jarak terpendek yang berawal dari satu titik node.
1.3. Rumusan Masalah
Berdasarkan latar belakang di atas, maka rumusan masalah dalam penelitian ini adalah:

1. Bagaimana perbandingan dari sisi running time-nya antara algoritma L-Deque dan algoritma
Bellman Ford dalam pencarian jarakterpendek ?
2. Bagaimana cara kerja algoritma L-Deque dan algoritma Bellman Ford dalam pencarian
jarakterpendek ?
BAB II
PEMBAHASAN

3.1. Pengertian Shortest Path

Algoritme Dijkstra, (sesuai penemunya Edsger Dijkstra), adalah sebuah algoritma yang
dipakai dalam memecahkan permasalahan jarak terpendek (shortest path problem) untuk
sebuah graf berarah (directed graph).
Algoritma ini dioublikasikan pada tahun 1959 jurnal Numerische Mathematik yang berjudul
“A Note on Two Problems in Connexion with Graphs” dan dianggap sebagai algoritma greedy.
Permasalahan rute terpendek dari sebuah titik ke akhir titik lain adalah sebuah masalah klasik
optimasi yang banyak digunakan untuk menguji sebuah algoritma yang diusulkan.
Permasalahan rute terpendek dianggap cukup baik untuk mewakili masalah optimisasi, karena
permasalahannya mudah dimengerti (hanya menjumlahkan seluruh edge yang dilalui) namun
memiliki banyak pilihan solusi.
Menurut Andrew Goldberg peneliti Microsoft Research Silicon Valley, mengatakan ada
banyak alasan mengapa peneliti terus mempelajari masalah pencarian jalan terpendek. “Jalan
terpendek adalah masalah optimasi yang relevan untuk berbagai macam aplikasi, seperti
jaringan routing, game, desain sirkuit, dan pemetaan”.
Diskripsi matematis untuk grafik dapat diwakili G = {V. E}, yang berarti sebuah grafik (G)
didefenisikan oleh satu set simpul (Vertex = V) dan koleksi Edge (E).
Algoritma Dijkstra bekerja dengan membuat jalur ke satu simpul optimal pada setiap langkah.
Jadi pada langkah ke n, setidaknya ada n node yang sudah kita tahu jalur terpendek. Langkah-
langkah algoritma Dijkstra dapat dilakukan dengan langkah-langkah berikut:
Tentukan titik mana yang akan menjadi node awal, lalu beri bobot jarak pada node pertama ke
node terdekat satu per satu, Dijkstra akan melakukan pengembangan pencarian dari satu titik
ke titik lain dan ke titik selanjutnya tahap demi tahap.
Beri nilai bobot (jarak) untuk setiap titik ke titik lainnya, lalu set nilai 0 pada node awal dan
nilai tak hingga terhadap node lain (belum terisi) 2.
Set semua node yang belum dilalui dan set node awal sebagai “Node keberangkatan”
Dari node keberangkatan, pertimbangkan node tetangga yang belum dilalui dan hitung
jaraknya dari titik keberangkatan. Jika jarak ini lebih kecil dari jarak sebelumnya (yang telah
terekam sebelumnya) hapus data lama, simpan ulang data jarak dengan jarak yang baru
Saat kita selesai mempertimbangkan setiap jarak terhadap node tetangga, tandai node yang
telah dilalui sebagai “Node dilewati”. Node yang dilewati tidak akan pernah di cek kembali,
jarak yang disimpan adalah jarak terakhir dan yang paling minimal bobotnya.
Set “Node belum dilewati” dengan jarak terkecil (dari node keberangkatan) sebagai “Node
Keberangkatan” selanjutnya dan ulangi langkah e.
Sebagai contoh hitunglah Jarak terdekat dari V1 ke V7 pada gambar berikut ini.

Dengan demikian jarak terpendek dari V1 ke V7 adalah 16 dengan jalur V1->V2->V3->V5-


>V6->V7

3.2. Pengertian Travelling Salesman

Algoritma Christofides adalah algoritma untuk menemukan solusi perkiraan


untuk masalah salesman keliling , pada kasus di mana jarak membentuk ruang metrik (mereka
simetris dan mematuhi ketimpangan segitiga ). Ini adalah algoritme perkiraan yang menjamin
bahwa solusinya akan berada dalam faktor 3/2 dari panjang solusi optimal, dan dinamai
menurut Nicos Christofides , yang menerbitkannya pada tahun 1976. Pada 2019, ini
adalah rasio perkiraan terbaik yang telah terbukti untuk masalah salesman keliling pada ruang
metrik umum, meskipun perkiraan yang lebih baik dikenal untuk beberapa kasus khusus
Biarkan G = ( V , w ) menjadi contoh dari masalah salesman keliling. Yaitu, G adalah grafik
lengkap pada set V dari simpul, dan fungsi wmemberikan bobot nyata non-negatif ke setiap
tepi G. Menurut ketimpangan segitiga, untuk setiap tiga simpul u , v , dan x , harus menjadi
kasus yang w ( uv ) + w ( vx ) ≥ w ( ux ) .
Kemudian algoritma dapat dijelaskan dalam pseudocode sebagai berikut :
1. Buat pohon spanning minimum T dari G.
2. Misalkan O adalah himpunan simpul dengan derajat ganjil dalam T. Dengan lemma
handshaking , O memiliki sejumlah titik.
3. Temukan pencocokan sempurna minimum-berat M dalam subgraph terinduksi
yang diberikan oleh simpul dari O.
4. Gabungkan tepi M dan T untuk membentuk multigraf H yang terhubung di mana
setiap titik memiliki derajat genap.
5. Membentuk sirkuit Euler di H.
6. Buat sirkuit yang ditemukan pada langkah sebelumnya ke sirkuit Hamiltonian dengan
melewatkan simpul berulang ( pintas ).
Biaya solusi yang dihasilkan oleh algoritma adalah dalam 3/2 dari yang optimal. Untuk
membuktikan ini, biarkan C menjadi tur penjual keliling yang optimal. Menghapus tepi
dari C menghasilkan pohon spanning, yang harus memiliki berat setidaknya dari pohon
spanning minimum, menyiratkan bahwa w ( T ) ≤ w ( C ) . Selanjutnya, beri nomor
simpul O dalam urutan siklik di sekitar C , dan partisi C menjadi dua set jalur: yang mana
simpul jalur pertama dalam urutan siklik memiliki angka ganjil dan simpul di mana simpul
jalur pertama memiliki bilangan genap . Setiap set jalur sesuai dengan pencocokan
sempurna O yang cocok dengan dua titik akhir dari setiap jalur, dan berat pencocokan ini paling
banyak sama dengan berat jalur. Karena dua set jalur ini mempartisi tepi C , salah satu dari dua
set memiliki paling banyak setengah dari berat C , dan berkat ketimpangan segitiga,
pencocokan yang sesuai memiliki bobot yang juga paling banyak setengah dari
berat C. Pencocokan sempurna berbobot minimum tidak boleh memiliki bobot lebih besar,
jadi w ( M ) ≤ w ( C ) / 2 . Menambahkan bobot T dan M memberikan bobot tur Euler, paling
banyak 3 w ( C ) / 2 . Berkat ketimpangan segitiga, pintas tidak menambah bobot, sehingga
bobot output juga paling banyak 3 w ( C ) / 2 .
Ada input untuk masalah salesman keliling yang menyebabkan algoritme Christofides
menemukan solusi yang rasio perkiraannya mendekati 3/2. Satu kelas input tersebut dibentuk
oleh lintasan simpul, dengan tepi lintasan memiliki bobot 1 , bersama-sama dengan
seperangkat tepi yang menghubungkan simpul dua langkah terpisah di lintasan dengan bobot 1
+ ε untuk angka ε yang dipilih mendekati nol tetapi positif.Semua tepi yang tersisa dari grafik
lengkap memiliki jarak yang diberikan oleh jalur terpendek dalam subgraph ini. Maka pohon
spanning minimum akan diberikan oleh lintasan, dengan panjang n - 1 , dan hanya dua simpul
ganjil akan menjadi titik akhir lintasan, yang pencocokan sempurna terdiri dari satu tepi dengan
berat sekitar n / 2 . Penyatuan pohon dan pencocokan adalah siklus, tanpa pintasan yang
mungkin, dan dengan berat sekitar 3 n / 2 . Namun, solusi optimal menggunakan tepi bobot 1
+ ε bersama dengan dua sisi berat- 1 insiden ke titik akhir jalan, dan memiliki berat total (1
+ ε ) ( n - 2) + 2 , mendekati n untuk kecil nilai ε . Karenanya kami memperoleh rasio perkiraan
3/2.

Diberikan: grafik lengkap yang bobot ujungnya mematuhi


ketimpangan segitiga
Hitung pohon rentang minimum T

Hitung himpunan simpul O dengan derajat ganjil dalam T

Bentuk subgraf G hanya menggunakan simpul O

Bangun M minimum yang cocok dengan padanan sempurna


dalam subgraph ini
Menyatukan pencocokan dan merentang pohon T ∪ M untuk
membentuk multigraf Euler

Hitung tur Euler

Hapus simpul berulang, berikan output algoritma

3.3. Pengertian Chineseman Problem

sebelumnya, mari kita tahu apa sih “Chinese Postman Problem” itu?
Problemnya adalah sebagai berikut: Seorang tukang pos akan mengantar surat ke alamat
sepanjang jalan di suatu daerah. Bagaimana supaya ia menempuh jarak seminimal mungkin,
melewati setiap jalan paling sedikit satu kali, dan kembali lagi ke tempat awal
keberangkatannya.
Chinese Postman Problem ini menggunakan prinsip Euler Cycle.
Euler Cycle : apabila tiap vertex memiliki derajat genap.
Semi-Euler Cycle : apabila ada dua vertex yang berderajat ganjil.
Jadi apabila graf tersebut adalah Euler cycle, maka dengan mudah akan dapat ditemukan rute
yang dimaksud dari vertex mana pun.
Apabila diluar ciri tersebut, dapat juga diselesaikan dengan algoritma berikut.
Algoritma penyelesaian:
Hitung ada berapa vertex berderajat ganjil
Catat semua kemungkinan pasangan antara dua vertex berderajat ganjil, lalu cari rute terpendek
yang menghubungkannya.
Cari pasangan dari beberapa rute yang jumlah panjang rutenya minimal.
Jarak optimal penyelesaian problem ini adalah jumlah seluruh panjang jalan ditambah hasil
yang didapat dari poin sebelumnya.
Graf dengan vertex ganjil yang dapat diselesaikan adalah yang jumlah vertex ganjilnya ada
sejumlah genap. Jika ada 3 vertex ganjil misalnya, maka graf tersebut tidak dapat diselesaikan
untuk masalah Postman ini.

2.3.1 Langkah-Langkah Flash Chinese Postman Problem

 Langkah pertama:

maksud dari “berderajat” adalah banyak edge / garis yang berhubungan dengan vertex itu.
Pertama-tama kita hitung ada berapa banyak vertex berderajat ganjil.
 Langkah kedua:

Hal ini dilakukan untuk kemudian dibuat jalur tambahan antara edge tsb. Pencarian jarak
terpendek antar vertex ini dapat menggunakan algoritma dijkstra, Bellman-Ford atau Floyd-
Warshall.

 Langkah Ketiga:

“pasangan” ini bertujuan supaya tidak ada vertex berderajat ganjil lagi (dalam satu langkah).

 Langkah keempat:

Berikut kira-kira jalur yang akan dilewati bila dimulai dari vertex A bisa dilihat dalam
slideshow dibawah ini. boleh dicoba sendiri untuk jalur lain.
BAB III
PENUTUP
3.1. KESIMPULAN
 Shortest patah adalah pencarian rute atau path terpendek antara node yang ada
pada graph biaya (cost) yang dihasilkan adalah minimum, sedangkan menurut
Dublin 2009) menemukan jalan terpendek dari total panjang jalan antara dua
node grafik diarahkan dengan panjang berkaitan dengan tepi masing-masing.
Dalam pencarian lintas terpendek masalah dihadapi adalah mencari lintasan
mana yang akan dilalui sehinggadidapat lintasan yangpaling pendek dan satu
vertex ke vertex lain.

 Travellin salesman Problem (TSP) adalah pencarian rute terpendek atau jarak
minimum oleh seorang salesman dari suatu kota ke tempat lainnya dan kembali
ke kota awal keberangkatan. Dalam artificial bee colony ada beberapa tahapan
yang harus dilakukan untuk memperoleh solusi dari permasalahan TSP. Tahapan
evaluasi, tahapan lebah penjaga(Onlooker Bee Pharse), tahap lebah pengintai
(scout Bee Pharse)

 Chinese Postman Problem pertama kali dikemukakan oleh Mei Gan yang berasal
dari Cina pada tahun 1962. Ia mengemukakan masalah yang disebut persoalan
tuakang pos. Masalahnya adalah sebagai berikut, seorang tukang pos akan
mengantarkan surat ke alamat-alamat sepanjang jalan disuatu daerah. Untuk
menghemat energi tukang pos ingin menelusuri daerahnya dengan sedikit
mungkin jarak yang ditempuh , pada intinya masalah tukang pos adalah
bagaimana menelusuri semua jalan yang ada pada rutenya dan kembali ke asal
dengan jarak yang paling sedikit
DAFTAR PUSTAKA

 http://kreasisaya07.blogspot.com/2013/05/shortest-path-lintasan-terpendek.html
 https://icomit.wordpress.com/2012/06/02/traveling-salesman-problem-tsp-dalam-definisi/

Anda mungkin juga menyukai