109
LAPORAN OBSERVASI OPTIMALISASI RUTE YANG DITEMPUH TAKSI DI PT. CITRA PERDANA KENDEDES DENGAN MENGGUNAKAN ALGORITMA SHORTEST PATH Untuk memenuhi tugas matakuliah Penerapan Teori Graph yang dibimbing oleh Dra. Sapti Wahyuningsih,M.Si Anggota Kelompok : Enik Noviani (309312417515) Patma (409312417671) Erlina Tri Susianti (409312419801) UNIVERSITAS NEGERI MALANG FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM JURUSAN MATEMATIKA FEBRUARI 2012

Shortest Path

Embed Size (px)

DESCRIPTION

UNIVERSITAS NEGERI MALANGFAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAMPROGRAM STUDI MATEMATIKA

Citation preview

Page 1: Shortest Path

LAPORAN OBSERVASI

OPTIMALISASI RUTE YANG DITEMPUH TAKSI DI PT. CITRA

PERDANA KENDEDES DENGAN MENGGUNAKAN ALGORITMA

SHORTEST PATH

Untuk memenuhi tugas matakuliah Penerapan Teori Graph yang dibimbing

oleh Dra. Sapti Wahyuningsih,M.Si

Anggota Kelompok :

Enik Noviani (309312417515)

Patma (409312417671)

Erlina Tri Susianti (409312419801)

UNIVERSITAS NEGERI MALANG

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

JURUSAN MATEMATIKA

FEBRUARI 2012

Page 2: Shortest Path

ABSTRAK

Noviani, Enik; Patma; Tri S, Erlina. 2009. Optimalisasi Rute yang Ditempuh

Taksi di PT.Citra Perdana Kendedes dengan Menggunakan Algoritma

Shortest Path. Jurusan Matematika FMIPA Universitas Negeri Malang.

Dosen pembimbing Dra. Sapti Wahyuningsih, M.Si.

Kata kunci: Lintasan Terpendek, Algoritma Greedy , Algoritma Djikstra,

Algoritma Exhautis Search, Algoritma Perkalian Matriks , Algoritma

Floyd-Warshall.

Teori graph merupakan salah satu cabang dari ilmu matematika yang

sering digunakan dalam penyelesaian beberapa masalah dalam kehidupan sehari-

hari. Salah satunya adalah penyelesaian masalah lintasan terpendek. Lintasan

terpendek sangat aplikatif dalam berbagai hal, antara lain mencari rute

pendistribusian barang,rute taksi, rute sales, masalah tukang pos, dan lain-lain.

Makalah ini mengambil salah satu permasalahan yang telah disebutkan

yaitu mencari rute terpendek yang ditempuh oleh taksi Citra dalam mengantarkan

para konsumen dari suatu lokasi ke lokasi yang lain. Dalam menyelesaikan

masalah pencarian rute terpendek pada jalur yang ditempuh oleh taksi Citra dapat

digunakan beberapa algoritma pada shortest path yaitu Algoritma Djikstra,

Algoritma Floyd-Warshall, Algoritma Greedy, Algoritma Exhautis Search dan

Algoritma Perkalian Matrik. Untuk memahami algoritma-algoritma tersebut

diperlukan pemahaman tentang graph terhubung, graph berbobot, digraph

terhubung , matriks digraph, lintasan, dan lintasan terpendek.

Dalam laporan ini kami menentukan lintasan terpendek pada rute yang

dilalui taksi yaitu dari Terminal Arjosari ke Museum Brawijaya. Dengan

mengasumsikan bahwa terminal arjosari, museum brawijaya, dan setiap

persimpangan sebagai titik, jalur-jalur yang dapat dilalui sebagai sisi serta jarak

antar setiap lokasi/persimpangan sebagai bobot dan di buat suatu graph yang

diselesaikan menggunakan algoritma-algoritma pada shortest path serta alat bantu

Giden, Grin40 dan WINQSB diperoleh lintasan terpendek dari Terminal Arjosari

menuju Museum brawijaya yaitu dengan bobot 466 atau pada jarak sebenarnya

adalah 9,32 km.

Page 3: Shortest Path

BAB I

PENDAHULUAN

1.1. LATAR BELAKANG

Matematika merupakan suatu bidang ilmu yang banyak digunakan

untuk menyelesaikan berbagai permasalahan yang muncul dalam kehidupan

sehari-hari. Berbagai permasalahan tersebut ada yang dapat dimodelkan ke

dalam suatu model matematika namun ada pula beberapa permasalahan yang

tidak dapat dimodelkan ke dalam model matematika. Masalah di luar bidang

matematika biasanya akan dibawa ke dalam penyelesaian matematika, yaitu

dengan mencari model matematikanya. Suatu permasalahan akan semakin

mudah dipelajari, dipahami dan diselesaikan jika dapat dimodelkan ke dalam

suatu model matematika . Setelah diperoleh model matematika dari suatu

masalah, maka masalah tersebut akan dibawa ke dalam cabang-cabang ilmu

matematika untuk menentukan penyelesaiannya. Salah satu cabang ilmu

matematika yang dapat digunakan untuk menyelesaikan permasalahan tersebut

adalah teori graph.

Graph G terdiri dari himpunan tak kosong dari elemen-elemen yang

disebut titik (vertex) dan daftar pasangan berurutan dari elemen-elemen yang

disebut sisi (edge). Himpunan titik dari graph G disebut himpunan titik dari G

dinyatakan dengan V(G) dan daftar sisi dari G dinyatakan dengan E(G). Suatu

Graph G = (V,E) menyatakan graph G dengan himpunan titik-titik V(G) dan

himpunan sisi E(G).

Terdapat banyak konsep dalam graph, salah satunya adalah lintasan

terpendek (Shortest Path) yang merupakan salah satu topik yang mampu

mendukung penerapan graph dalam berbagai bidang ilmu. Definisi Shortest

Path antara dua verteks dari s ke t dalam jaringan adalah lintasan graph

berarah sederhana dari s ke t dengan sifat di mana tidak ada lintasan lain yang

memiliki nilai terendah.

Secara konkret, contoh penerapan lintasan terpendek (shortest path)

adalah sebagai berikut: Suatu perusahaan memproduksi suatu barang, barang

tersebut harus didistribusikan ke berbagai kota di Jawa Timur, diantaranya

Page 4: Shortest Path

dari kota Surabaya ke kota Malang. Dengan keterbatasan waktu yang ada

maka dibutuhkan jalur-jalur alternatif dalam hal ini jalur terpendek yang dapat

ditempuh untuk mendistribusikan barang tersebut dari kota Surabaya ke kota

Malang.Masalah yang harus dipecahkan adalah menentukan jalur terpendek

darikota Surabaya ke kota Malang.

Berdasarkan pada masalah konkret di atas, maka aplikasi lintasan

terpendek jelas sangat penting. Baik bagi instansi yang bersangkutan maupun

bagi para peneliti. Bagi peneliti merupakan kesempatan yang penting untuk

menerapkan ilmu atau keahlian yang telah diperoleh dari pendidikan formal.

Pihak yang paling diuntungkan dari pengembangan permasalahan lintasan

terpendek adalah instansi tersebut. Dengan memberikan kesempatan kepada

peneliti mengaplikasikan ilmunya serta memberikan kesempatan untuk belajar

maka instansi tersebut telah memberikan kesempatan kepada dirinya untuk

terus berkembang dan terus menambah profit.

Inilah yang melatarbelakangi penyusunan laporan kami yang berjudul

“Optimalisasi Rute yang Ditempuh Taksi di PT. Citra Perdana Kendedes

dengan Menggunakan Algoritma Shortest Path ”.

1.2. TUJUAN PENULISAN

Adapun tujuan dari pelaksanaan observasi adalah :

1. Mengidentifikasi permasalahan yang ada dalam penentuan jalur yang

dilalui untuk mengantar para pengguna jasa taksi dari suatu tempat ke

tempat yang lain.

2. Menerapkan algoritma-algoritma pada shortest path dalam

menentukan lintasan terpendek pada jalur yang dilalui oleh taksi.

3. Memberikan solusi alternatif dengan alat bantu Giden dan WinQSB

bagi penyedia jasa dalam hal ini PT.Citra Perdana Kendedes untuk

mengoptimalkan jalur yang dilalui oleh taksi.

4. Menganalisa hasil dari perhitungan alat bantu dan dan hasil lapangan.

Page 5: Shortest Path

1.3. BATASAN MASALAH

Perusahaan taksi PT Citra Perdana Kendedes memiliki banyak pangkalan

yang tersebar di wilayah Malang Raya. Dari sekian banyak permintaan para

pengguna jasa taksi, pada makalah ini, kami hanya membahas lintasan

terpendek rute taksi dari Terminal Arjosari Malang ke Museum Brawijaya

Malang.

Adapun batasan masalah dalam pembahasannya adalah semua jalan / jalur

yang dilalui dianggap bebas hambatan (bebas rambu-rambu lalu lintas) serta

tidak diperhitungkan jalan / jalur yang tidak layak untuk dilalui hal ini untuk

memberikan kenyamanan kepada para pengguna taksi.

Page 6: Shortest Path

BAB II

KAJIAN TEORI

2.1 Konsep Dasar Graph

Teori Graph merupakan salah satu cabang ilmu matematika yang sering

diterpakan dan di manfaatkan dalam kehidupan sehari-hari, ada beberapa

contoh permasalahan yang bisa di selesaikan dengan menggunakan teori

Graph. Contohnya Travelling Salesman Problem, pengaturan jadwal pegawai,

penggunaan traffic light, dll. Permasalahan di atas dapat dibentuk sevagai

graph yang digambarkan dengan titik dan garis. Garis yang menghubungkan

titik pada graph tersebut disebut titik.

Definisi Graph

Graph G terdiri dari himpunan tak kosong dari elemen-elemen yang

disebut titik (vertex) dan daftar pasangan berurutan dari elemen-

elemen yang disebut sisi (edge). Himpunan titik dari graph G disebut

himpunan titik dari G dinyatakan dengan V(G) dan daftar sisi dari G

dinyatakan dengan E(G). Suatu Graph G = (V,E) menyatakan graph

G dengan himpunan titik-titik V(G) dan himpunan sisi E(G).

Banyaknya titik pada Graph G dinotasikan dengan | | dan

banyaknya sisi pada graph G dinotasikan dengan | |.

Dari Gambar diatas dapat dilihat bahwa },,,,{)( 54321 vvvvvGV dan

},,,,,,,{)( 87654321 eeeeeeeeGE sehingga 5|)(| GV dan

8|)(| GE .

Page 7: Shortest Path

Definisi Graph Tak Berarah

Graph tak berarah adalah graph yang sisi-sisinya tidak mempunyai

orientasi arah.

Contoh :

Definisi Graf berarah (directed graf atau digraf)

Graf yang setiap sisinya diberikan orientasi arah disebut sebagai graf

berarah

Definisi Graph Terhubung

Misalkan G suatu Graph dan titik dan . Graph G dikatakan

terhubung jika untuk setiap dan dalam V(G) terdapat lintasan

lintasan dari ke dan sebaliknya dari dan .

Definisi Graph Berbobot

Graph Berbobot (weighted graph). Graph berbobot ),( EVG adalah

graph ),( EVG yang setiap sisinya diberi bobot atau nilai. Jika (vi

,vj). adalah sisi graph ),( EVG , maka bobot dilambangkan dengan

W(vi ,vj).

Contoh:

Gambar 3: Graph Terhubung

Gambar 2: Graph berbobot

Page 8: Shortest Path

a 5 b

7

d7c

9

8 10

Bobot-bobot dari sisi-sisi E(G) graph berbobot pada gambar 6

adalah:

W1(a,b) = 5 W2(c,d) = 7 W3(b,d) = 7

W4(b,c) = 10 W5(a,d) = 8 W6(a,c) = 9

Definisi Jalan (walk)

Jalan (walk) adalah suatu barisan titik dan sisi yang dilewati dimana

titik dan sisi boleh berulang. Panjang dari suatu jalan adalah

banyaknya sisi yang dilewati dari titik awal sampai titik akhir.

Definisi Path (Lintasan)

Misalkan u dan v adalah titik pada graph D=(V,E). Lintasan dari u dan

v adalah barisan (v1,v2,v3,….,vn) dan v0 =u , vn =v ,vi adalah titik, ei

adalah sisi berarah yang menghubungkan titik vi – 1 ke titik vi dan vi vj

jika ij, i,j=0,1,2,3,4,…,n.

Atau, lintasan adalah jalan yang semua titiknya berbeda.

Lintasan Terpendek (Shortest Path)

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. Terdapat bermacam persoalan lintasan

terpendek antara lain:

1. Lintasan terpendek antara dua buah simpul tertentu (a pair shortest

path).

2. Lintasan terpendek antara semua pasanggan simpul (all pairs shortest

path).

Gambar 4: Graph berbobot

Page 9: Shortest Path

3. Lintasan terpendek dari simpul tertentu ke semua simpul yang lain

(single-source shortest path).

4. Lintasan terpendek antara dua buah simpul yang melalui beberapa

simpul tertentu (intermediate shortest path).

Algoritma-Algoritma Shortest Path

1. Algoritma Greedy

Algoritma Greedy adalah algoritma yang memecahkan masalah langkah

demi langkah, pada setiap langkah dilakukan dengan cara:

o Mengambil pilihan yang terbaik yang dapat diperoleh saat itu

o Berharap bahwa dengan memilih optimum local pada setiap

langkah akan mencapai optimum global

Langkah-langkah algoritma greedy:

1. Menentukan titik awal dan titik tujuan, misalnya titik awal a.

2. Perikasa semua sisi yang langsung bersisian dengan titik a. Pilih

sisi yang bobotnya terkecil. Sisi ini menjadi lintasan terpendek

pertama, sebut saja L(1).

3. Tentukan lintasan terpendek kedua dengan cara berikut:

4. Hitung: d(i) = panjang L(1) + bobot sisi dari simpul akhir L(1) ke

simpul i yang lain.

5. Pilih d(i) yang terkecil.

6. Bandingkan d(i) dengan bobot sisi (a, i). Jika bobot sisi (a, i) lebih

kecil daripada d(i), maka L(2) = L(1) U (sisi dari simpul akhir L(i)

ke simpul i)

7. Dengan cara yang sama, ulangi langkah 2 untuk menentukan

lintasan terpendek berikutnya.

- Kelebihan algoritma Greedy:

Prinsip pencarian lintasan terpendek memakai fungsi ”Seleksi” dan itu

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

Page 10: Shortest Path

semakin banyak bobot yang diberikan, maka semakin akurat pula data

yang dihasilkan. Sehingga menghasilkan waktu yang efisien.

- Kekurangan algoritma Greedy:

o Algoritma greedy tidak beroperasi secara menyeluruh terhadap semua

alternatif solusi yang ada (sebagaimana pada metode exhaustive search).

o Pemilihan fungsi SELEKSI: Mungkin saja terdapat beberapa fungsi

SELEKSI yang berbeda, sehingga kita harus memilih fungsi yang tepat

jika kita ingin algoritma bekerja dengan benar dan menghasilkan solusi

yang benar-benar optimum. Karena itu, pada sebagian masalah algoritma

greedy tidak selalu berhasil memberikan solusi yang benar-benar

optimum.

Contoh :

Permasalahan :

“Carilah jalur terpendek dari titik kuning ke titik biru”

Pilihan awal yang dipilih algoritma adalah a karena a lebih pendek

daripada d. Pilihan selanjutnya hanya satu sehingga tidak ada pilihan lain

selain b. Lalu ke c dan ke tujuan akhir. Maka jaraknhya adalah 10,5

Padahal jika menggunakan jalur satu lagi sebesar 7. Begitu seterusnya Jika

jarak a ke b adalah 1000. Algoritma ini tidak bisa mundur, sehingga

memilih b. Padahal nilainya sangat besar. Disanalah kelemahan algoritma

ini. Tetapi dengan tidak pernah mundur ke tempat awal untuk mencari

jalan alternatif. Algoritma ini cepat dalam menyelesain pencarian lintasan

tercepat.

Page 11: Shortest Path

2. Algoritma Djikstra

Strategi ini merupakan strategi yang paling terkenal untuk mencari lintasan

terpendek. Algoritma Dijkstra diterapkan pada graf berarah, tetapi selalu

benar untuk graf tak-berarah. Strategi ini menggunakan strategi Greedy

sebagai berikut: “Pada setiap langkah, ambil sisi yang berbobot minimum

yang menghubungkan sebuah simpul yang sudah terpilih dengan sebuah

simpul lain yang belum terpilih. Lintasan dari simpul asal ke simpul yang

baru haruslah merupakan lintasan yang terpendek diantara semua

lintasannya ke simpul simpul yang belum terpilih.”

Langkah-langkah dalam menentukan lintasan terpendek pada algoritma

Dijkstra yaitu:

1. Pada awalnya pilih titik dengan bobot yang terendah dari titik yang

belum terpilih, diinisialisasikan dengan „0‟ dan yang sudah terpilih

diinisialisasikan dengan „1‟.

2. Bentuk tabel yang terdiri dari titik, status, bobot dan [redecessor.

Lengkapi kolom bobot yang diperoleh dari jarak titik sumber ke

semua titik yang langsung terhubung dengan titik sumber tersebut.

3. Jika titik sumber ditemukan maka tetapkan sebagai titik terpilih.

4. Tetapkan titik terpilih dengan label permanen dan perbarui titik

yang langsung terhubung.

5. Tentukan titik sementara yang terubung pada titik yang sudah

terpilih sebelumnya dan merupakan bobot terkecil dilihat dari tabel

dan tentukan sebagai titik terpilih berikutnya.

6. Apakah titik yang tepilih merupakan titik tujuan? Jika ya, maka

kumpulan titik terpilih atau predecessor merupakan rangkaian yang

menunjukkan lintasan terpendek.

7. Begitu seterusnya sampai semua titik terpilih.

Contoh :

Page 12: Shortest Path

Dari graph diatas tenetukan lintasan terpendek dari titik A ke titik F !

Dengan menggunakan program, diperoleh lintasan terpendek dari titk A ke

titik F sebagai berikut .

Diperoleh lintasan terpendek yaitu A-E-D-F dengan bobot total sebesar 22.

3. Algoritma Bellman-Ford

Algoritma Bellman-Ford merupakan algorima untuk mencari shortest path,

dengan menghitung jarak terpendek pada sebuah digraf berbobot, atau

menghitung semua jarak terpendek yang berawal dari satu titik node.

Langkah-langkah:

1. Tentukan vertex source dan daftar seluruh vertices maupun edges.

2. Assign nilai untuk distance dari vertex source = 0, dan yang lain

infinite

3. Mulailah iterasi terhadap semua vertices yang dimulai dari vertex

source,

4. Untuk menentukan distance dari semua vertices yang berhubungan

dengan vertex source dengan formula seperti berikut ini :

- U = vertex asal

- V = vertex tujuan

- UV = Edges yang menghubungkan U dan V

- Jika distance V, lebih kecil dari distance U + weight UV maka

distance V, diisi dengan distance U + weight UV

- Lakukan hingga semua vertices terjelajahi

Page 13: Shortest Path

5. Untuk mengecek apakah ada negative cycle dalam graf tersebut

lakukan iterasi untuk semua edges yang ada, kemudia lakukan penge-

cek-an seperti dibawah ini :

6. Untuk semua edges UV, jika ada distance vertex U + weight edges UV

kurang dari distance vertex V maka sudah jelas bahwa graf tersebut

memiliki negative cycle.

Contoh:

Dari graph di atas tentukan lintasan terpendek dari titik 1 ke titik 4.

Langkah-langkah:

1. Tahap pertama adalah tahap inisialisasi yaitu dengan melabeli titik

awal atau titik asal yaitu titik 1 dengan 0 dan titik-titik lainnya dengan

∞. d(1,1) 0 untuk masing-masing v anggota V – {s} maka d(s,v)

2. Tahap kedua yaitu tahap proses iterasi

Untuk masing-masing sisi (1,2) anggota E maka

Jika d(1,2) > d(1,2)+w(2,3) maka

d(1,2) diganti dengan d(1,2)+w(2,3)

Akhirnya diperoleh d(1,4)=5+4+4=13.

4. Algoritma Branch and Bound (B&B)

Algoritma Branch and Bound merupakan metode pencarian di dalam

ruang solusi secara sistematis. Ruang solusi diorganisasikan ke dalam

pohon ruang status.

Pohon ruang status tersebut dibangun dengan skema BFS. Untuk

mempercepat pencarian ke simpul solusi, maka setiap simpul diberi

sebuah nilai dalam hal ini kita sebut jarak yang berarti bobot. Simpul

berikutnya yang akan diekspansi adalah simpul yang memiliki ongkos

Page 14: Shortest Path

paling kecil diantara simpul-simpul hidup lainnya. Sedangkan simpul

lainnya dimatikan. bobot pada simpul i dinyatakan dengan :ĉ(i) = nilai

taksiran jarak terpendek dari I ke tujuan.

Pada pembahasan ini, penulis hanya akan mengambil sampel 5 buah kota

besar, 4 diantaranya yang ada di Propinsi Jawa Barat, sedangkan 1 lagi

adalah Kota Jakarta. Keempat kota tersebut yaitu Bandung, Tasikmalaya,

Sukabumi, dan Indramayu. Bandung dipilih karena merupakan ibukota

sekaligus pusat kota, disamping lokasinya yang strategis di tengahtengah

Propinsi Jawa Barat. Sedangkan Tasikmalaya, Sukabumi, dan Indramayu

dipilih karena lokasinya yang berada di tiga penjuru propinsi ini. Secara

kasar, kelima kota di atas dapat digambarkan posisinya dengan graf

sebagai berikut :

dengan simpul 1 adalah Kota Bandung, simpul 2 adalah Kota Jakarta,

simpul 3 adalah Kota Sukabumi, simpul 3 adalah Kabupaten Indramayu,

dan simpul 4 adalah Kota Tasikmalaya. Nilai pada sisi adalah cost yang

menyatakan jarak antar kota.

Selanjutnya, misal A adalah matriks tereduksi untuk simpul R. Misalkan S

adalah anak dari simpul R sehingga sisi (R,S) pada pohon ruang status

berkorespondensi

dengan sisi (i,j). Lakukan langkah-langkah berikut :

a. Ubah semua nilai pada baris I dan kolom j menjadi ∞.

b. Ubah A (j,1) menjadi ∞

c. Reduksi kembali matriks A

293

280

205

187

184

96 106

174

202

119

3

2 4

5

1

Page 15: Shortest Path

Reduksi matriks A akan menghasilkan matriks lain (misal, B) dan fungsi

pembatas. Secara umum, persamaan fungsi pembatas adalah:

ĉ(S) = ĉ(R) + A(i, j) + r

yang dalam hal ini,

ĉ(S) = bobot perjalanan minimum yang melalui simpul S (simpul di

pohon ruang status)

ĉ(R) = bobot perjalanan minimum yang melalui simpul R, yang dalam hal

ini R adalah orangtua dari S.

A(i, j) = bobot sisi (i, j) pada graf G yang berkoresponden dengan sisi (R,

S) pada pohon ruang status.

r = jumlah semua pengurang pada proses memperoleh matriks tereduksi

untuk simpul S.

Selanjutnya dihitung simpul-simpul lain pada pohon ruang status sebagai

berikut:

1. Simpul 2; lintasan 1,2 (Bandung-Jakarta)

ĉ(2)= 682 + 68 + 0 = 750

2. Simpul 3; lintasan 1,3 (Bandung-Sukabumi)

ĉ (3)= 682 + 0 + 18 = 700

3. Simpul 4; lintasan 1,4 (Bandung-Indramayu)

ĉ (4)= 682 + 20 + 0 = 702

4. Simpul 5; lintasan 1,5 (Bandung-Tasikmalaya)

ĉ(5)= 682 + 10 + 8 = 700

682

750 700 702 700

Dengan penomoran simpul sama seperti sebelumnya, yaitu : (1)Bandung,

(2)Jakarta, (3)Sukabumi, (4)Indramayu, dan (5)Tasikmalaya.

1

2 3 4 5

Page 16: Shortest Path

Selanjutnya, pilih simpul yang memiliki nilai batas terkecil, dalam hal ini

terdapat 2 simpul yaitu simpul 3 dan simpul 5. Pertama-tama, kita

ekspansi simpul 3 terlebih dahulu, selanjutnya ekspansi simpul 5 dan

simpul 6

Dari gambar di atas, dapat kita lihat bahwa daun yang masih hidup dengan

bobot minimum adalah simpul 12, sehingga kita akan mengekspansi

simpul tersebut. Karena tinggal tersisa satu simpul, maka dapat kita

langsung ambil simpul 14 dengan bobot : ĉ(10)= 718 + 0 + 0 = 718

Maka, gambar akhir pohon status yang kita peroleh adalah sebagai berikut:

1

2 3 4 5

6 7

8

8 9 10

00

11

13

00

12

00

14

1

2 3 4 5

6 7

8

8 9 10

00 11

13

00

12

00

Page 17: Shortest Path

Dari gambar di atas, maka kita dapat menyimpulkan bahwa rute dengan

cost minimum, dalam hal ini berarti rute terpendek, adalah melalui simpul

1-3-6-12-14-1 yang berarti melalui Bandung-Sukabumi-Jakarta-

Indramayu- Tasikmalaya-Bandung. Untuk kota yang lain, kita dapat

mencari rute terpendek dengan cara yang sama, sehingga dengan demikian

perjalanan yang dilakukan dapat lebih efektif dan efisien mengingat jarak

yang ditempuh adalah minimum.

5. Algoritma Koloni Semut

Algoritma semut diperkenalkan oleh Moyson dan Manderick dan secara

meluas dikembangkan oleh Marco Dorigo, merupakan teknik probabilistik

untuk menyelesaikan masalah komputasi dengan menemukan jalur terbaik

melalui grafik. Algoritma ini terinspirasi oleh perilaku semut dalam

menemukan jalur dari koloninya menuju makanan.

Pada dunia nyata, semut berkeliling secara acak, dan ketika menemukan

makanan mereka kembali ke koloninya sambil memberikan tanda dengan

jejak feromon. Jika semut-semut lain menemukan jalur tersebut, mereka

tidak akan bepergian dengan acak lagi, melainkan akan mengikuti jejak

tersebut, kembali dan menguatkannya jika pada akhirnya merekapun

menemukan makanan. Seiring waktu, bagaimanapun juga jejak feromon

akan menguap dan akan mengurangi kekuatan daya tariknya. Lebih lama

seekor semut pulang pergi melalui jalur tersebut, lebih lama jugalah

feromon menguap. Sebagai perbandingan, sebuah jalur yang pendek akan

berbaris lebih cepat, dan dengan demikian kerapatan feromon akan tetap

tinggi karena terletak pada jalur secepat penguapannya. Penguapan

feromon juga mempunyai keuntungan untuk mencegah konvergensi pada

penyelesaian optimal secara lokal. Jika tidak ada penguapan sama sekali,

jalur yang dipilih semut pertama akan cenderung menarik secara

berlebihan terhadap semut-semut yang mengikutinya. Pada kasus yang

demikian, eksplorasi ruang penyelesaian akan terbatasi.

Oleh karena itu, ketika seekor semut menemukan jalur yang bagus (jalur

yang pendek) dari koloni ke sumber makanan, semut lainnya akan

Page 18: Shortest Path

mengikuti jalur tersebut, dan akhirnya semua semut akan mengikuti

sebuah jalur tunggal. Ide algoritma koloni semut adalah untuk meniru

perilaku ini melalui 'semut tiruan' berjalan seputar grafik yang

menunjukkan masalah yang harus diselesaikan.

Algoritma optimisasi koloni semut telah digunakan untuk menghasilkan

penyelesaian yang mendekati optimal pada masalah salesman yang

melakukan perjalanan. Algoritma semut lebih menguntungkan daripada

pendekatan penguatan tiruan (simulaten annealing) dan algoritma genetik

saat grafik mungkin berubah secara dinamis; algoritma koloni semut dapat

berjalan secara kontinyu dan menyesuaikan dengan perubahan secara

waktu nyata (real time). Hal ini menarik dalam routing jaringan dan sistem

transportasi urban.

6. Algoritma Floyd-Warshall

Algoritma ini digunakan untuk mencari lintasan terpendek. Masukannya

adalah matrik terhubung langsung graph berarah yang berlabel dan

keluarannya adalah lintasan terpendek dari semua titik ke semua titik.

Caranya dengan cara iterasi dari titik awalnya kemudian memperpanjang

lintasan dengan melihat titik demi titik. Hingga mencapai titik tujuan

dengan jumlah bobot seminimum mungkin misal W0 adalah matrik

hubung graph berarah b erlabel mula – mula w* adalah matrik hubung

misal dengan Wi1 = lintasan terpendek dari Vi ke Vj.

Algoritmanya:

1. W=W0

2. K=1 hingga n

Untuk i=1 hingga n

Untuk j=1 hingga n

Jika w[i,j] > w[j,k]+w[i,k], maka tukar w[i, j] dengan w[i,k]+w[k,j]

3. W*=W

Contoh : matriks hubungan graph adalah w=w*= |

|

Page 19: Shortest Path

Wij dengan harga ∞ , berarti tidak ada lintasan dari vi ke vj,

langsung ataupun tidak. Cari lintasan terpendek dari titik vi ke

vj (i, j= 1, 2, 3, 4) graph berarah berlabel di atas.

Iterasi untuk k=1

Untuk setiap sel matrik w dicek apakah w[i, j]> w[i,k]+w[k,j].

Jika ya, maka w [i, j] dganti w[i,k]+w[k,j].

Sebagai contoh:

W[1,2]=7 sedangkan W[1,1]+ W[1,2] = ∞ + 7 = ∞ karena

W[1,2] tidak lebih besar dari W[1,1] + W[1,3], maka harga

W[1,3] tidak diubah. Diperoleh matriks

Wi = |

|

Iterasi untuk k=2

Iterasi untuk k=2 dilakukan dengan cara yang sama seperti

iterasi untuk k=1, hanya saja perantaranya adalah titik V2.

Sebagai contoh : w[1,3] =∞, sedangkan W[1, 2]+ W[2,3]=

7+1=8. Karena W[1,3] > W[1,2] + W[2,3], maka harga W[1,3]

diganti dengan 8 ddiperoleh matriks

W2 = |

| proses yang sama dilakukan untuk

semua i dan j didapatkan

W 3 = |

|

7. Algoritma Genetika

Algoritma Genetika adalah salah satu algoritma metaheuristic yang biasa

digunakan untuk melakukan pencarian solusi yang paling optimal

(maximize atau minimize). Cara kerja algoritma ini mensimulasikan

fenomena dari evolusi alam. Intinya adalah, spesies yang paling unggul

akan memiliki kesempatan untuk bertahan hidup yang lebih besar. Konsep

Page 20: Shortest Path

dasar algoritma ini sebenarnya sederhana. Kromoson merepresentasikan

sebuah solusi potensial terhadap sebuah masalah. Proses pencarian solusi

potensial berikutnya dapat dibayangkan sebagai sebuah proses evolusi

terhadap populasi dari kromosom.

Pada saat proses pencarian solusi potensial berikutnya, algoritma ini akan

menselaraskan dua tujuan:

Eksploitasi solusi-solusi terbaik

Eksplorasi ruang pencarian

Keromantisan algoritma genetika terletak pada dua tujuan tersebut.

Eksplorasi ruang pencarian ibaratnya seseorang yang sedang mencari

pasangan. Dia akan memperluas “ruang pencarian” ketika dalam proses

pencarian, tapi ketika sudah menemukan yang cocok, dia akan fokus

terhadap yang satu itu dan “mengeksploitasi” (dalam arti mencoba lebih

mengenal) pasangannya tersebut.

Tapi tentunya analogi tersebut tidak sepenuhnya cocok di dunia nyata.

Karena, algoritma genetika akan terus mencari pada ruang pencarian,

walau sudah menemukan solusi potensial, sampai menemukan kondisi

berhenti.

8. Algoritma SPF

Algoritma SPF itu sebenarnya sama dengan algoritma djikstra. Langkah-

langkah dari algoritma SPF akan dijelaskan sebagai berikut:

Tentukan simpul di mana kita mulai, biasa disebut node awal. Algoritma

SPF akan memberikan beberapa nilai jarak awal dan akan mencoba untuk

meningkatkan mereka langkah demi langkah.

1. Tetapkan untuk setiap node nilai jaraknya. Set nol untuk node awal dan

tak hingga untuk semua node lainnya.

2. Tandai semua node yang belum dikunjungi. Set node awal sekarang.

3. Untuk node saat ini, pertimbangkan semua tetangga belum dikunjungi dan

hitung jaraknya (dari node awal). Misalnya, jika saat ini node (A) memiliki

jarak 6, dan tepinya menghubungkan dengan node lain (B) yaitu 2, jarak

ke B melalui A akan berupa 6+2 = 8. Jika jarak ini lebih kecil dari jarak

Page 21: Shortest Path

yang disimpan sebelumnya (tak terbatas di awal, nol untuk node awal),

timpa jarak.

4. Ketika kita mengingat semua tetangga dari node sekarang, tandai sebagai

yang dikunjungi. Node yang dikunjungi tidak akan diperiksa lagi; jarak

yang dicatat sekarang adalah final dan minimal.

5. Jika semua node telah dikunjungi, maka selesai. Jika tidak, set node yang

belum dikunjungi dengan jarak terkecil (dari node awal) sebagai “node

sekarang” berikutnya dan lanjutkan dari langkah 3.

Sumber: http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm

9. Algoritma Moore

Langkah-langkah algoritma Moore:

1. Langkah awal

Diberikan:

Dengan

adalah jarak dari titik awal ke titik itu sendiri.

Jika titik adjacent dari titik maka:

, dengan

merupakan jarak antara titik awal ke titik titik

tujuan .

Sebaliknya jika titik bukan andjacent dari maka:

Page 22: Shortest Path

.

Setelah semua

diketahui, dilanjutkan ke langkah 2.

2. Langkah 2

Menghitung

dengan menggunakan rumus berikut ini:

{

[

]}

Untuk dan , dengan .

3. Ulangi langkah 2, untuk

4. Penghentian iterasi

Jika diperoleh

untuk semua , dengan

syarat , maka iterasi dihentikan. Jika belum kembali ke langkah

3.

Sebaliknya, jika

, ketika maka berarti jaringan

memuat sirkuit negatif, dan oterasi dihentikan.

Contoh:

1. S = 0

2. Setiap sisi terdekat = i +1

3. Setiap sisi terdekat dengan label 2 = i + 2

4. Setiap sisi terdekat dengan label 3 = i + 3

10. Algoritma A*

Berbeda dengan algoritma greedy. Algoritma ini menghitung semua

kemungkinan dan menyimpannya sehingga jika setiap memilih jalan. Ia

juga membandingkan dengan jalan lain yang disimpan. Sehingga hasil

pencarian lintasan tercapat dengan mengunakan algoritma ini akan

Page 23: Shortest Path

menghasilkan hasil yang optimum. Namun karena ia terus

membandingkan algoritma ini memakan waktu yang cukup lama.

Sehingga jika simpulnya sangat banyak akan memakan waktu yang sangat

lama.

Contoh:

- Carilah jalur tenpendek dari titik kuning ke titik biru”

- Pilihan awal yang dipilih algoritma adalah a karena a lebih pendek

daripada d.

Jarak1 (a )= 1,5

Jarak2 ( d )= 2

Dipilihlah jarak 1 karena lebih pendek

- Jarak1 (a b) = 3,5

Jarak2 (d) = 2

Dipilihlah jarak 2 karena lebih pendek

- Jarak1 (a b) = 3,5

Jarak2 (d e) = 5

Dipilihlan jarak 1 karena lebih pendek

- Jarak1 (a b c) = 6,5

Jarak2 (d e) = 5

Dipilihlan jarak 2 karena lebih pendek

- Jarak1 (a b c) = 6,5

Jarak2 (d e) = 7

Meskipun telah sampai tujuan tetapi jalur lain belum mencapai tujuan

sehingga pencarian masih dilanjutkan

- Jarak1 (a b c) = 10,5

Page 24: Shortest Path

Jarak2 (d e) = 7

Setelah seluruh jalur sampai pada tujuan barulah dibandingkan untuk

terakhir kalinya jalur mana yang paling optimum. Karena jalur 2 lebih

pendek maka dipilihlah jarak 2. Untuk melakukan pencarian pada graph

yang kecil seperti gambar 3 saja algoritma ini sudah membutuhkan waktu

yang sangat banyak. Padahal graph tersebut hanya memiliki 2 jalur.

Bayangkan jika graph tersebut dipersulit sedikit.

Jika diminta mencari jarak dari 2 ke 5 akan memakai banyak jalur. Dari

tempat awal saja sudah menjadi 3 jalur. Belum lagi di simpul – simpul

lainnya yang bercabang – cabang. Tetapi dari keseluruhan algoritma ini

menghasilkan hasil yang optimal tetapi mengunakan waktu yang maksimal

pula. Kompleksitas Waktu Asimptotik dari algoritma A* adalah

| h(x) − h * (x) | = O(logh * (x))

11. Algoritma PHA*

Algoritma PHA* merupakan pengembangan dari algoritma A* dengan

memodifikasi fungsi heuristiknya. Untuk memperluas verteks dengan

algoritma PHA*, verteks terlebih dahulu harus dieksplorasi oleh agent

dengan tujuan mendapatkan data-data relevan yang berhubungan dengan

verteks tersebut yaitu verteks tetangga (neighbouring nodes) dan edge

yang menghubungkannya (incident edge). Verteks dalam graf dapat

digolongkan menjadi 2, yaitu verteks yang sudah dieksplorasi dan verteks

yang belum dieksplorasi (explored and unexplored nodes).

Mengeksplorasi suatu verteks berarti agent secara fisik mengunjungi

verteks tersebut, mempelajari lokasinya, serta lokasi verteks tetangganya.

Page 25: Shortest Path

Algoritma ini membutuhkan dua antrian yang digunakan untuk

menyimpan verteks-verteks yang ada, yaitu:

1. Open, berisi verteks-verteks yang sudah dibangkitkan dan memiliki fungsi

heuristic namun belum dieksplorasi.

2. Closed, berisi verteks-verteks yang sudah dieksplorasi.

- Algoritma PHA* ditampilkan sebagai algoritma dua tingkat (two level

algorithm) yaitu level Atas (high-level) dan level bawah (low-level). Level

atas pada prinsipnya bekerja seperti algoritma A*. Level ini akan memilih

satu verteks di tiap-tiap lingkaran (cycle) yang berada pada Open untuk

diekspansi. Fungsi heuristic h(n) yang digunakan adalah jarak eucladian

diantara verteks n dan verteks tujuan.

- Jika verteks yang telah dipilih belum dieksplorasi oleh agent, maka level

bawahnya, yang berupa algoritma navigasi, akan diaktifkan untuk

mengarahkan agent menuju verteks tersebut dan mengeksplorasinya.

Setelah verteks dieksplorasi oleh level bawah maka verteks dapat diperluas

oleh level atas. Jika verteks yang dipilih telah dieksplorasi, atau verteks

tetangganya telah diketahui, maka verteks tersebut akan dengan mudah

dapat diperluas tanpa perlu mengirim agent untuk mengunjunginya.

- Urutan langkah yang digunakan untuk mencari lintasan terpendek dengan

menggunakan Physical A* adalah:

1. Mulai

2. Tentukan verteks awal dan verteks tujuan

3. Set: OPEN={S}, dan CLOSED={}, dengan S adalah verteks yang dipilih

sebagai keadaan awal.

4. Selama verteks tujuan belum berada dalam CLOSED (closed list),

kerjakan langkah 5-9

5. Pilih verteks n dari OPEN

Untuk iterasi pertama, n = S

Untuk iterasi selanjutnya, verteks yang diekspansi adalah verteks yang

memiliki nilai f(n) dan c(n) yang terkecil.

6. Bangkitkan semua cabang n.

7. Kerjakan untuk setiap anak n, yaitu n‟. Hitung nilai fungsi:

Page 26: Shortest Path

a. g(n’)

b. h(n’)

c. f(n’) = g(n’) + h(n’)

d. c(n’) = (g(n’) + h(n’)) . dist(curr,n’)

8. Masukkan n‟ ke antrian OPEN

9. Jika semua anak n sudah diekspansi, maka masukkan n yang memiliki

nilai f(n) terkecil ke CLOSED

10. Selesai.

12. Algoritma Johnson

Algoritma Johnson ini adalah dapat digunakan untuk digraph yang

berbobot negatif dan untuk menyelesaikan masalah lintasan terpendek dari

tiap titik ke semua titik lain. Langkah awal penyelesaian Algoritma

Johnson adalah mengkonstruksi digraph baru dengan menambahkan titik

baru pada digraph dan memberi bobot sisi yang keluar dari titik baru

tersebut dengan 0. Langkah selanjutnya adalah mencari lintasan terpendek

dari titik baru ke semua titik lain. Lintasan terpendek tersebut digunakan

untuk mengubah bobot semua sisi pada digraph baru agar bobot semua sisi

bernilai positif. Setelah itu mencari lintasan terpendek dari tiap titik ke

semua titik lain dan mengubah hasilnya dengan menggunakan lintasan

terpendek dari titik baru ke semua titik lain. Hasil dari perhitungan ini

berupa matriks. Dari matriks ini dapat diketahui panjang lintasan

terpendek dari tiap titik ke semua titik lain.

Langkah-langkah algoritma Johnson secara umum :

1. Mengkonstruksi digraph baru G, dengan cara

menambahkan titik baru sehingga

’ { } ’ { }

2. Setiap titik v di V

3. Menjalankan algoritma Bellman-Ford pada digraph baru

Jika terdapat sikel negatif maka selesai

Page 27: Shortest Path

Jika tidak terdapat sikel negatif maka hitung: d(s,v), v V

4. Setiap di E

w

5. Setiap di , jlankan algoritma Djikstra untuk menghitung

d

6. ’ d

7. Setiap di ; d

8.

Keterangan :

= bobot sisi dari s ke v

= panjang lintasan terpendek dari s ke v

w = bobot sisi baru dari u ke v

d = panjang lintasan terpendek dari u ke v dan yang dihitung

adalah bobot sisi baru ( w )

= panjang lintasan terpendek dari u ke v

’ = matriks hasil perhitungan lintasan terpendek dari tiap-tiap

pasangan titik dan bobot sisi yang digunakan adalah w

= matriks hasil akhir dari perhitungan

Contoh:

Misalkan diketahui graph berarah (digraf) ),( EVG

Penyelesaian:

Langkah 1:

Mengkontruksi digraph baru dengan menambahkan titik baru pada digraph

lama misal s

Page 28: Shortest Path

Langkah 2

Memberi bobot sisi yang kedua dari titik s ke semua titik lain dengan 0

dan tidak ada sisi yang masuk ke titik s tersebut

Langkah 3

Mengerjakan algoritma Bellman-ford untuk mengecek sikel yang berbobot

negative. Bila ada sikel berbobot negative maka algoritma johnson akan

berhenti dan tidak bisa dijalankan akan tetapi apabila tidak terdapat sikel

yang negative maka langkah selanjutnya akan mencari lintasan terpendek

dari titik baru ke setiap titik v pada digraph.

Langkah-langkahnya sebagai berikut:

1. memberi label titik awal s dengan 0 dan semua titik lain dengan

2. pada langkah ini akan dilakukan proses iterasi sehingga akan diperoleh

nilai baru untuk titik-titik yang lain

Iterasi 1:

Titik s bergerak menuju ke titik tang berhubungan langsung dengan titik s

tersebut, yaitu 4321 ,, vvvv lalu memberi label titik 4321 ,, vvvv dengan 0 di

peroleh lintasan 4321 ,,,,,,, vsvsvsvs

Iterasi 2:

Label titik 4321 ,, vvvv bernilai 0 sehingga keempat titik tersebut

mempunyai kesempatan yang sama menjadi titik awal untuk iterasi ini

Page 29: Shortest Path

Titik 1v berhubung langsung dengan titik4v maka titik 1v bergerak

menuju ke titrik4v karena 0),( 4 vsd 3),(),( 211 vvwvsd maka label

titik4v tetap 0

Titik 2v berhubungan langsung dengan 1v dan 3v ,maka titik 2v

bergerak menuju ke 1v dan 3v . Karena

3),(),(0),( 2121 vvwvsdvsd maka label 1v berubah menjadi -3

karena 0),( 3 vsd 2),(),( 322 vvwvsd maka label 3v tetap 0.

Diperoleh lintasan ),( 12 vv

Titik 3v berhubung langsung dengan 2v maka 3v bergerak menuju

2v karena 1),(),(0),( 2332 vvwvsdvsd maka label 2v berubah

menjadi -1 diperoleh lintasan ),( 23 vv

Titik 4v berhubungan langsung dengan 1v dan 3v maka 4v bergerak

menuju ke 1v dan 3v karena 4),(),(3),( 1441 vvwvsdvsd maka

1v berubah menjadi -4 karena 2),(),(0),( 3443 vvwvsdvsd maka

label 3v berubah menjadi -2 diperoleh lintasan ),(),,(),,( 142334 vvdanvvvv

Iterasi 3:

Titik awal dan 3v

Titik 1v berhubungan langsung dengan 4v ,maka 1v bergerak menuju ke 4v

.karena 0),( 4 vsd 3),(),( 411 vvwvsd maka label 4v tetap 0

Titik 3v berhubung langsung dengan 2v , maka 3v bergerak menuju ke 2v

.karena ,3),(),(0),( 2312 vvwvsdvsd maka label 2 berubah

menjadi -3 diperoleh lintasan ),( 23 vv

Iterasi 4:

Titik awal

Titik 2v berhubungan langsung dengan 1v dan 3v , maka 2v bergerak

menuju ke 1v dan 3v karena 6),(),(4),( 1441 vvwvsdvsd maka

Page 30: Shortest Path

label 1v berubah menjadi -6. karena 2),( 3 vsd

1),(),( 322 vvwvsd maka label 3v tetap -2 diperoleh lintasan ),( 12 vv

Iterasi 5:

Dari iterasi 4 diperoleh lintasan ),( 12 vv di titik awal pada iterasi ini adalah

1v . Titik 1v berhubung langsung dengan 4v maka 1v bergerak menuju 4v

karena 0),( 4 vsd 1),(),( 411 vvwvsd maka label 4v tetap 0.

Dari gambar di atas didapatkan panjang lintasan terpendek sari dari titik

awal s ke semua titik lain.

Panjang lintasan sebagai berikut:

0),(,2),(,3),(,6),( 4321 vsdvsdvsdvsd

Selain itu dapan disimpulkan tidak terdapat sikel negative karena tidak

terdapat lintasan dengan titik awal dan titik akhir sama yang bernilai

negative. Sebagai contoh untuk titik awal dan titik akhir 4v , panjang

lintasannya 1

Langkah 4

Mengubah bobot semua sisi pada digraph baru dengan menggunakan

lintasan terpendek dari baru ke setiap titik dengan cara

vsdusdvuwvuw

r,,,, agar bobot setiap sisi bernilai positif dan

dapat digunakan untuk mencari lintasan terpendek dengan menggunakan

algoritma Djikstra sehingga:

0)2(02,,,,

2)6(04,,,,

0)3()2(1,,,,

1)2()3(2,,,,

0)6()3(3,,,,

10)6(7,,,,

2)2(00,,,,

3)3(00,,,,

6)6(00,,,,

343434

141414

232323

323232

121212

414141

333

220

111

vsdvsdvvwvvw

r

vsdvsdvvwvvw

r

vsdvsdvvwvvw

r

vsdvsdvvwvvw

r

vsdvsdvvwvvw

r

vsdvsdvvwvvw

r

vsdssdvswvsw

r

vsdssdvswvsw

r

vsdssdvswvsw

r

Page 31: Shortest Path

Langkah 5

Setelah semua sisi tidak ada yang mempunyain bobot negative maka

langkah selanjutnya adalah menjalankan algoritma Djikstra untuk

menghitung lintasan terpendek dari satu titik ke semua titik lainya

Akan dicari lintasan terpendek dengan titik 1v sebagai titik awalnya

Iterasi 1

Tahap1:

32441 ,, vvvTTvvp

7

0

43

21

vLvL

vLvL

Tahap 2:

4321 , vvvTvp

34433

24421

,,min7)(

,,min0

vvdvLvLvL

vvdvLvLvL

Lalu pilih titik yang punya bobot terkecil yaitu 4v dan dimasukkan ke p,

hasil perhitungan akhir ini akan masuk ke dalam iterasi 2

Iterasi 2

Tahap 1:

57

)(0)(

,,

34

21

3241

vLvL

vLvL

vvTvvp

Tahap 2:

57

,,min0

,,

34

23321

23341

vLvL

vvdvLvLvL

vvTTvvvp

Karena tiik 3v mempunyai bobot terkecil maka titik 3v diberi tanda tetap,

dan hasil perhitungan akhir ini masuk ke dalam iterasi 3.

Iterasi 3

Tahap 1:

57

40

,,

34

21

2341

vLvL

vLvL

vTvvvp

Page 32: Shortest Path

Tahap 2:

47

50

,,

24

31

2341

vLvL

vLvL

Tvvvvp

Memilih titik 2v dan memberi tanda tetap pada titik 2v

Dari iterasi terakhir diperoleh lintasan terpendek dari tidak 1v ke semua

titik lain dan panjang lintasannya yaitu

0,ˆ11 vvd

Titik 1v berhubungan langsung dengan 4v dan diperoleh 1,ˆ41 vvd

Lintasan terpendek dari titik 1v ke tetik 3v melalui 4v ),,( 341 vvv dan

diperoleh 1,ˆ31 vvd

Lintasan terpendek dari titik 1v ke titik 2v melalui 3v 2341 ,,, vvvv dan

diperoleh 1,ˆ21 vvd

Akan dicari lintasan terpendek dengan titik 2v sebagai titik awalnya

Iterasi 1

Tahap 1

43

12

4312

2

30

,,

vLvL

vLvL

vvvTvp

Tahap 2

41141

31132

43112

,,min3

,,2min0

,,

vvdvLvLvL

vvdvLvLvL

vvvTTvvp

Lalu memilih titik yang mempunyai bobot terkecil yaitu 1v dan

dimasukkan ke p, hasil perhitungan akhir ini dimasukkan akan masuk ke

iterasi 2

Iterasi 2

Tahap 1

43

20

,,

41

32

4312

vLvL

vLvL

vvTvvp

Page 33: Shortest Path

Tahap 2

23

,,4min0

,,

31

43342

43312

vLvL

vvdvLvLvL

vvTTvvvp

Karena titik 3v punya bobot negatif, maka titik 3v diberi tanda tetap dan

hasil perhitungan akhir ini masuk iterasi 3

Iterasi 3

Tahap 1

23

40

,,

31

42

4312

vLvL

vLvL

vTvvvp

Tahap 2

43

20

,,,

41

32

4312

vLvL

vLvL

Tvvvvp

Memilih titik 4v dan memberi tanda pada 4v

Dari iterasi yang terakhir diperoleh lintasan tependek dari titik 2v ke semua

titik lain dan panjang lintasan terpendeknya yaitu:

0,ˆ22 vvd

Titik 2v berhubungan langsung dengan titik 1v ,diperoleh 0,ˆ12 vvd

Titik 2v berhubungan langsung dengan titik 3v diperoleh 1,ˆ32 vvd

Lintasan terpendek dari titik 2v ke titik 4v melalui ),,( 4121 vvvv dan

diperoleh 1,ˆ42 vvd

Akan dicari lintasan terpendek dengan titik 3v sebagai titik awal

Iterasi 1

Tahap 1

42

13

4213

1

0

,,

vLvL

vLvL

vvvTvp

Page 34: Shortest Path

Tahap 2

42242

12213

41223

,,min1

,,min0

,,

vvdvLvLvL

vvdvLvLvL

vvvTTvvp

Lalu memilih titik yang mempunyai bobot terkecil yaitu 2v dan

dimasukkan ke p, hasil perhitungan akhir ini akan masuk ke iterasi 2

Iterasi 2

Tahap 1

42

13

4123

1

40

,,

vLvL

vLvL

vvTvvp

Tahap 2

41

,,min0

,,

12

41143

41123

vLvL

vvdvLvLvL

vvTTvvvp

Karena titik 1v punya bobot negative, maka titik 1v diberi tanda tetap

Hasil perhitungn akhir ini masuk ke iterasi 3

Iterasi 3

Tahap 1

41

30

,,

12

43

4123

vLvL

vLvL

vTvvvp

Tahap 2

31

40

,,,

42

13

4123

vLvL

vLvL

Tvvvvp

Memilih titik 4v dan memberi tanda tetap pada titik 4v

Dari iterasi yang terakhir diperoleh lintasan tependek dari titik 3v ke

semua titik lain dan panjang lintasan terpendeknya yaitu:

0,ˆ33 vvd

Page 35: Shortest Path

Titik 3v berhubungan langsung dengan titik 2v ,diperoleh

0,ˆ23 vvd

Lintasan terpendek dari titik 3v ke titik 1v melalui ),,( 1232 vvvv

dan

diperoleh 0,ˆ13 vvd

Lintasan terpendek dari titik 3v ke titik 4v melalui ),,,( 41231 vvvvv

dan diperoleh 1,ˆ43 vvd

Akan dicari lintasan terpendek dengan titik 4v sebagai titik awal

Iterasi 1

Tahap 1

2

40

,,

32

14

3214

vLvL

vLvL

vvvTvp

Tahap 2

31131

21124

32114

,,min4

,,min0

,,

vvdvLvLvL

vvdvLvLvL

vvvTTvvp

Lalu memilih titik yang mempunyai bobot terkecil yaitu 1v dan

dimasukkan ke p, hasil perhitungan akhir ini akan masuk ke iterasi 2

Iterasi 2

Tahap 1

24

0

,,

31

24

3214

vLvL

vLvL

vvTvvp

Tahap 2

24

,,min0

,,

31

13324

23314

vLvL

vvdvLvLvL

vvTTvvvp

Karena titik 3v punya bobot negative maka titik 3v diberi tanda tetap,

Hasil perhitungn akhir ini masuk iterasi 3

Page 36: Shortest Path

Iterasi 3

Tahap 1

24

30

,,

31

24

2314

vLvL

vLvL

vTvvvp

Memilih titik 2v dan memberi tanda tetap pada titik 2v

Tahap 2

34

20

,,

21

34

2341

vLvL

vLvL

Tvvvvp

Karena ada lintasan dari v2 ke v1, maka

66,4min,,4min 1221 vvdvLvL

Sehingga dipilih

Dari iterasi yang terakhir ini diperoleh lintasan terpendek dari titik

4v ke semua titik lain dan panjang lintasan terpendeknya yaitu

0),(ˆ44 vvd

Titik 4v berhubungan lngsung dengan titik 3v dan diperoleh

0),(ˆ34 vvd

Lintasan terpendek dari titik 4v ke titik 2v melalui 3v ),,( 234 vvv

diperoleh 0),(ˆ24 vvd

Lintasan terpendek dari titik 4v ke 5v melalui 52341 ,,, vvvvv dan

diperoleh 0),(ˆ54 vvd

Langkah 6

Selelah mengetahui panjang lintasan terpendek dari setiap titik ke

semua titik lain maka selanjutnya adalah menyimpan hasil perhitungan

tersebut dalam bentuk matriks

0000

1000

1100

1110

D

Page 37: Shortest Path

Langkah 7

Karena sudah diketahui panjang lintasan terpendek dari setiap titik ke

titik lain hasil mengubah semua bobot sisimaka selanjutnya adalah

mengubah kembali nilai nilai bobot dari semua lintasan terpendek pada

matriks D‟ dengan menggunakan lintasan terpendek dari titik baru ke semua

titik yaitu, ),,(,),(ˆ, usdvsdvudvud sehingga diperoleh:

0000,,,ˆ),(

20)2(0,,,ˆ),(

30)3(0,,,ˆ),(

60)6(0,,,ˆ),(

3)2(01,,,ˆ),(

0)2()2(0,,,ˆ),(

1)2()3(0,,,ˆ),(

4)2()6(0,,,ˆ),(

4)3(01,,,ˆ),(

2)3()2(1,,,ˆ),(

0)63()3(0,,,ˆ),(

3)3()6(0,,,ˆ),(

7)6(01,,,ˆ),(

5)6()2(1,,,ˆ),(

4)6()3(1,,,ˆ),(

0)6()6(0,,,ˆ),(

444444

433434

422424

411414

344343

333333

322323

311313

244242

233232

222222

211212

144141

133131

122121

111111

vsdvsdvvdvvd

vsdvsdvvdvvd

vsdvsdvvdvvd

vsdvsdvvdvvd

vsdvsdvvdvvd

vsdvsdvvdvvd

vsdvsdvvdvvd

vsdvsdvvdvvd

vsdvsdvvdvvd

vsdvsdvvdvvd

vsdvsdvvdvvd

vsdvsdvvdvvd

vsdvsdvvdvvd

vsdvsdvvdvvd

vsdvsdvvdvvd

vsdvsdvvdvvd

Langkah 8

Langkah terakhir dari algoritma ini adalah menyimpan kembali

perhitungan perubahan nilai bobot lintasan terpendek dari tiap titik ke semua

titik lain dalam matriks

0236

3014

4203

7540

D

Page 38: Shortest Path

13. Algoritma Exhaustic Search

Mencari lintasan terpendek dengan exhaustive search yaitu dengan

mengenumerasi setiap lintasan yang mungkin dengan cara yang sistematis.

Dari setiap kemungkinan tersebut dievaluasi satu persatu, selanjutnya

bandingkan setiap lintasan yang telah dievaluasi, lintasan yang

memberikan nilai terkecil merupakan lintasan terpendek yang kita cari.

Contoh :

Misalkan akan dicari lintasan terpendek dari titik 1 ke 6. Banyaknya

kemungkinan lintasan dari titik 1 ke titik 6 adalah sebagai berikut.

14. Algoritma UCS ( Uniform Cost Search )

Uniform Cost Search (UCS) adalah pencarian yang digunakan untuk

melewati dan menemukan jalan terpendek di pohon berbobot dan grafik.

Uniform Cost Search (UCS) dimulai pada titik awal dan akan terus

memperluas titik, pengambilan titik dengan terkecil, dimana

adalah total jarak di titik awal sampai mencapai titik berikutnya. Algoritma

ini tidak peduli tentang berapa banyak langkah jalan yang dimiliki hanya

biaya total jalan(Sumber:Graham, 2001).

Langkah-langkah Uniform Cost Search (UCS) :

1. Tentukan titik awal

2. Ekspansi anak-anaknya(titik-titik yang terkait dengan titik awal),

kemudian hitung nilai dari masing-masing anak-anaknya yaitu total

jarak awal sampai titik anak.

Page 39: Shortest Path

3. Pilih titik dari titik anak dengan nilai terkecil, titik yang terpilih akan

mendapat prioritas utama untuk diekspansi anak-anaknya.

4. Bandingkan dengan nilai lain yang telah didapatkan, ulangi langkah

3 sampai titik tujuan.

5. Jika tidak ada lagi nilai terkecil selain nilai pada rute yang telah

menenmukan titik tujuan, maka proses dihentikan.

6. Urutan titik-titik yang terpilih adalah rute yang lintasan terpendek yang

dihasilkan.

15. Algoritma Wall-Follower

Algoritma Wall Follower adalah jenis yang paling sederhana dari teknik

maze solving lainnya. Prinsipnya adalah mengikuti dinding kanan atau kiri

secara terus menerus selama menjelajahi labirin. Ketika sensor pada robot

mendeteksi dinding yang terbuka (terdapat jalan) maka robot akan berhenti

dan belok pada arah yang bersangkutan, kemudian berjalan lurus dan

mengikuti dinding kembali. Algoritma ini cenderung berharap menemukan

jalan keluar dibanding mencoba menyelesaikan labirin tersebut.

Langkah-langkah yang dilakukan adalah sebagai berikut

(dalam pseudo-code):

Algoritma sederhana seperti mengikuti dinding kanan atau kiri terbukti

tidak dapat digunakan pada pola labirin seperti pada Gambar 1.2 yang

merupakan sebuah imperfect maze. Kebanyakan kompetisi saat ini secara

If ada jalan ke kanan

Belok ke kanan

Else if ada jalan ke depan

Do nothing

Else if ada jalan ke kiri

Belok ke kiri

Else

Balik badan

End if

Maju ke depan satu sel

Page 40: Shortest Path

sengaja membuat labirin dengan pola seperti ini, sehingga algoritma ini

sudah tidak sesuai untuk digunakan dalam kompetisi micromouse.

16. Algoritma Depth Frist Search

Algoritma Depth-First Search biasa digunakan untuk proses traversal atau

pencarian dalam struktur pohon atau graf. Aplikasi algoritma ini pada

pohon akan memberikan hasil seperti ini:

Gambar 2.2. Hasil traversal sebuah pohon dengan algoritma Depth-First

Search. Angka disini menunjukkan urutan simpul tersebut dikunjungi.

Algoritma ini juga dapat diadaptasi menjadi salah satu metode intuitif

untuk pencarian dalam labirin. Pertama-tama robot akan berjalan lurus,

ketika menemukan percabangan jalan maka robot akan memilih salah satu

dari jalan yang tersedia secara acak. Apabila jalan yang dipilih ternyata

merupakan jalan buntu, maka robot akan melakukan backtracking ke

percabangan tadi kemudian memilih jalan yang lain. Proses seperti ini

akan membuat robot mencoba semua kemungkinan jalan yang ada.

Dengan menjelajahi semua sel dalam labirin, pada akhirnya robot akan

dapat menemukan tempat yang dituju. Algoritma ini akan selalu berhasil

menyelesaikan labirin ketika pencarian jalur terpendek tidak dibutuhkan,

tetapi proses ini akan membutuhkan waktu yang cukup lama tergantung

kompleksitas dari labirin yang dihadapi.

17. Algoritma Exhaustic Combinatorial

Pada prinsipnya metode ini merupakan penggabungan antara depth first

search dengan pelacakan mundur (backtracking), yaitu pelacakan bergerak

ke belakang menuju pada suatu keadaan awal. Nilai dari pengujian yang

Page 41: Shortest Path

dilakukan adalah “ya” atau “tidak”. Dengan kata lain metode ini adalah

pencarian buta yang mencari semua kemungkinan yang ada dari

permasalahan yang diproses. (Kristanto, 2004).

Secara garis besar cara kerja algoritma ini adalah sebagai berikut:

1. Membandingkan semua kemungkinan solusi (membangkitkan suatu

titik tertentu atau lintasan tertentu dari keadaan awal ).

2. Melakukan pengujian untuk melihat apakah titik tersebut benar-benar

merupakan solusi yang diharapkan dengan cara membandingkan titik

tersebut atau titik akhir dari suatu lintasan yang dipilih dengan kumpulan

tujuan yang diharapkan.

3. Jika solusi tersebut memenuhi syarat yang diinginkan, keluar. Jika

tidak, ulangi kembali langkah yang pertama untuk mencari kemungkinan

yang lain.

18. Algoritma Neural-Network Hopfield

Algoritma Neural Network Hopfield pertama kali dikenalkan oleh John

Hopfield dari California Institute of Technology pada tahun 1982. John

Hopfield merancang sebuah jaringan syaraf tiruan yang kemudian dikenal

dengan nama jaringan Hopfield. Dalam jaringan Hopfield semua neuron

berhubungan penuh. Neuron yang satu mengeluarkan output dan

kemudian menjadi input untuk semua neuron yang lain. Proses

penerimaan sinyal antara neuron ini secara feedback tertutup terus

menerus sampai dicapai kondisi stabil (Kristanto

2004).

Dalam model diskritnya, jaringan Hopfield bobot sinaptiknya

menggunakan vektor biner berdimensi n atau { } . Model semacam ini

berisi n neuron dan jaringannya terdiri dari interkoneksi dua

jalur. Secara matematis konsep di atas dapat disajikan dalam matriks

simetris dengan diagonal utamanya bernilai 0. Dengan kata lain,

setiap neuron tidak memberi input kepada dirinya sendiri.

Page 42: Shortest Path

Kemampuan jaringan syaraf tiruan untuk mengenali pola ditentukan

dengan rumus . adalah banyaknya dimensi yang digunakan.

Misalkan dimensi yang digunakan

adalah 100 maka pola yang akan dikenali sebanyak 15 buah. Dimensi

adalah suatu vektor yang mewakili banyaknya baris dan kolom yang

digunakan. Dari contoh di atas berarti baris

yang digunakan berjumlah 100 dan kolom yang digunakan berjumlah 100

juga. Jaringan syaraf tiruan digunakan untuk mengenali berbagai input

atau masukan yang diberikan kepadanya. Misalnya, jaringan tersebut

dilatih untuk mengenali berbagai versi angka 2. Setelah mengalami cukup

latihan, maka jaringan itu dapat menghasilkan angka 2 secara sempurna

dari masukan angka 2 yang rusak atau kena distorsi.

Model atau arsitektur dari jaringan Hopfield ditunjukkan pada gambar 1,

dimana dalam gambar tersebut terdapat suatu jaringan yang terdiri dari N

buah simpul yang mengandung nonlinearitas hard limiter dan input serta

output biner yang dapat bernilai atau .

Dari gambar diatas, dapat dijelaskan bahwa output setiap simpul diumpan

balikkan kepada input dari simpul-simpul lainnya melalui bobot koneksi

yang tetap. Nilai mula-mula diinisialisasi menggunakan

algoritma Hopfield untuk sebuah pola yang masuk.

Pola yang tidak dikenal dimasukkan ke dalam jaringan sekali saja pada

waktu kondisi nol. Kemudian jaringan akan beriterasi sampai output yang

dihasilkan bersifat konvergen. Konvergen adalah pola output yang tidak

Page 43: Shortest Path

berubah sampai iterasi selesai. Pola yang dinyatakan oleh simpul-simpul

output setelah jaringan konvergen adalah output jaringan

syaraf tiruan.

Pada kasus Shortest Path dengan menggunakan jaringan syaraf tiruan

Hopfield, langkah pertama adalah melakukan pemetaan antara

permasalahan ke dalam struktur jaringan (Freeman and Skapura, 1991).

Hal ini dilakukan dengan merepresentasikan n node (neuron) jaringan

menjadi n kemungkinan urutan posisi yang dilalui pada sebuah kota.

Untuk n kota maka dibutuhkan n node.

Contoh:

terdapat 5 kota, maka lima node yang berisi : 0 0 0 1 0 menunjukkan

sebuah kota yang mempunyai urutan keempat untuk dikunjungi. Dengan

cara ini maka terdapat 5 group yang masing-masing berisi 5 node seperti

contoh di atas dimana masing-masing group merepresentasikan sebuah

kota. Untuk lebih jelas dapat dilihat pada gambar di bawah dimana pada

gambar tersebut terdapat matriks 5x5 yang menunjukkan urutan posisi

kota saat dilalui. Dari gambar tersebut dapat dilihat bahwa urutan kota

yang dilalui adalah B-A-E-C-D.

Untuk menentukan apakah sebuah rute merupakan rute terpendek pada

jaringan Hopfield ini digunakan sebuah fungsi energi, dimana jika nilai

energi yang dihasilkan kecil, menunjukkan bahwa rute tersebut minimum.

Berikut adalah formula yang digunakan dalam pendekatan untuk mecari

nilai fungsi energi E yang minimum:

∑ ∑ ∑

∑ ∑ ∑

∑ ∑

∑ ∑ ∑

Page 44: Shortest Path

Pada formula di atas, notasi X dan Y menunjukkan kota, sedangkan notasi

i dan j menunjukkan posisi kota tersebut pada rute. n adalah jumlah kota

dan adalah jarak antara

kota X dan Y. Konstanta A, B, C dan D adalah konstanta yang harus

ditentukan tergantung jumlah kota. Dari formula di atas dilakukan

perhitungan terhadap nilai fungsi energi E hingga

didapatkan nilai E yang minimum. Apabila telah didapatkan nilai fungsi

energi yang minumum, diharapkan hasil dari proses algoritma ini

memberikan hasil berupa rute yang

terpendek.

19. Algoritma Flood Fill

Algoritma Flood-Fill merupakan modifikasi dari algoritma Bellman–Ford

yang memetakan setiap sel dalam labirin dengan nilai tertentu berdasarkan

jaraknya terhadap tempat tujuan. Secara umum algoritma Flood-Fill akan

menentukan daerah-daerah yang terhubung dengan suatu simpul dalam

array multi-dimensi. Algoritma ini sering digunakan dalam program

editor gambar bitmap untuk mewarnai suatu daerah terbatas dengan warna

tertentu (boundary fill). Algoritma ini dapat diadaptasi untuk

menyelesaikan permasalahan labirin secara dinamis.

Langkah yang paling tepat untuk dapat mengerti algoritma flood fill

adalah dengan menggunakan analogi air yang ditumpahkan pada sebuah

maze. Berikut penjelasannya,

Proses penumpahan air terpusat hanya pada satu titik (center,

selanjutnya titik ini akan dikenal sebagai destination atau tujuan)

Air akan membanjiri titik center ini, kemudian mulai mengalir ke

area disekitarnya, yang tidak terhalang oleh dinding (dapat diakses

secara langsung)

Secara virtual, maze dibagi menjadi beberapa kotak kecil (array)

Kotak dimana titik center berada, diberi nilai ‗ 0 „

Kotak yang terisi air setelah center, akan diberi nilai

Kotak yang terisi air setelah golongan 1, akan diberi nilai 2

Kotak yang terisi air setelah golongan 2, akan diberi nilai 3

Page 45: Shortest Path

Dan begitu pula untuk kotak yang terisi air selanjutnya

Arti dari nilai di dalam masing-masing kotak adalah jumlah kotak

yang harus ditempuh dari kotak tersebut untuk mencapai center

(tujuan). Asumsikan kotak yang berada pada bagian bawah sebelah kiri

merupakan start, kemudian ikutilah kotak yang memiliki nilai lebih

kecil dari nilai kotak yang sedang ditempati. Rute yang akan

terbentuk adalah rute terpendek yang dapat ditempuh dari start menuju ke

center.

Penjelasan di atas adalah kondisi lapangan berupa wall-mazed

sedangkan pada penelitian ini akan digunakan lapangan berupa line-

mazed. Tujuaannya adalah agar memudahkan pemahaman tentang

algoritma flood fill.

Tahap - tahap Algoritma Flood Fill

Generate nilai awal untuk masing – masing cell

Nilai pembobot awal diasumsikan pada lapangan terdapat jalur yang

menghubungkan seluruh cell dengan seluruh cell tetangganya. cell

yang berjarak 1 cell dari goal akan bernilai 1, yang berjarak 2 cell akan

bernilai 2, dan seterusnya. Asumsi jarak disini dapat dicapai dengan arah

empat mata angin, sehingga tidak ada gerak serong atau diagonal.

update lapangan

menyimpsn kondisi lapangan pada tiap cell, informasi bentuk

lapangan (jalur) akan mempengaruhi besar nilai dari masing-masing

cell. Karena bentuk lapangan akan mempengaruhi jarak antar cell.

Berikut akan diberikan variasi kemungkinan bentuk jalur yang dapat

terjadi.

update nilai cell

yaitu merubah nilai dari cell, dengan tujuan menyesuaikan nilai cell

dengan kondisi nyata (lapangan /jalur) yang ada,. proses ini dilakukan

apabila,

1. Robot menemui jalan buntu.

2. Robot menemui cell tujuan yang nilainya lebih besar dari nilai cell

tempat robot sekarang.

Page 46: Shortest Path

menentukan cell tujuan

robot akan membaca kondisi lapangan, dengan begitu robot akan

mengetahui cell mana saja yang memungkinkan untuk dituju. Dari

cell - cell ini akan dicek, cell yang memiliki nilai terkecil akan

menjadi tujuan robot.

bergerak ke arah cell tujuan

setelah cell tujuan ditentukan, robot akan bergerak menuju ke cell

tersebut. Untuk kedua langkah terakhir, (menentukan cell tujuan, dan

bergerak ke a rah cell tujuan). Berikut diberikan ilustrasinya,

20. Algoritma Heuristic Hybrid

Algoritma Hybrid adalah algoritma yang memanfaatkan kelebihan

yang dimiliki oleh Supervised Multilayer Perceptron dengan

menggunakan algoritma Backpropagation Network dan algoritma Self

Organizing Maps Kohonen (SOM). Algoritma Hybrid menggunakan

algoritma SOM sebagai lapisan awal untuk memproses input, kemudian

algoritma Backpropagation Network akan memproses sinyal input hasil

dari proses pembelajaran algoritma SOM sebagai faktor pembimbing

untuk memprediksi nilai saham di masa yang akan datang. Penggunaan

algoritma SOM

dalam algoritma Hybrid memungkinkan sifat rangkaian data ditangkap,

kemudian digunakan pada pembelajaran algoritma Backpropagation

Network. Namun, pemrosesan data pembelajaran pada algoritma

pembelajaran untuk jaringan seperti algoritma Hybrid akan lebih rumit

dari algoritma

Backpropagation Network dan algoritma SOM secara individu, karena

melibatkan algoritma pembelajaran yang berbeda sifat satu sama lain.

Pada algoritma Hybrid, proses pembelajaran / pelatihan dilakukan secara

berurutan. Algoritma SOM melakukan pembelajaran terlebih dahulu,

tanpa perlu memperhatikan lapisan input pada algoritma

Backpropagation Network. Dengan dasar algoritma SOM, algoritma

Hybrid dilatih untuk mengklasifikasikan vektor data input ke dalam

Page 47: Shortest Path

kelas- kelas berbeda (dalam penelitian ini berjumlah 20 kelas vektor).

Algoritma Backpropagation Network memulai proses pembelajaran

setelah proses pembelajaran algoritma SOM selesai. Algoritma

Backpropagation Network menggunakan faktor pembimbing g(n) yang

dihasilkan oleh lapisan yang lebih rendah, kemudian membandingkannya

dengan output yang diinginkan.

21. Algoritma Heuristic Pintar Hybrid

Algoritmanya dapat dideskripsikan sebagai berikut:

Langkah 1: tandai kromosom pop-size

secara acak.

Langkah 2: hitung nilai pbjektif dari semua kromosom melalui stokastik

Langkah 3: komputasikan kecocokan setiap kromosom. Fungsi evaluasi

berdasarkan tingkatan didefinisikan sebagai berikut:

Dimana kromosom-kromosom tersebut diasumsikan telah disusun kembali

dari baik ke buruk menurut nilai objektifnya merupakan sebuah

parameter pada sistem genetik.

Langkah 4: pilih kromosom-kromosom untuk populasi baru.

Langkah 5: perbarui kromosom-kromosom

melalui operasi silang dan operasi mutasi disebutkan sebelumnya.

Langkah 6: ulangi langkah ke-2 hingga ke-5 sesuai dengan jumlah

kebutuhan yang diberikan

Langkah 7: laporkan kromosom terbaik .

Page 48: Shortest Path

2.2 Hasil Penelitian yang telah dilakukan

Hasil Penelitian yang berkaitan dengan Shortest Path, yang telah

dilakukan sebelumnya adalah sebagai berikut:

1. Judul : Optimalisasi Rute yang Ditempuh Mobil Box

PT.Pos Indonesia (Persero) untuk Wilayah Surabaya Malang

dengan Menggunakan Algoritma-Algoritma pada Shortest Path.

Penulis : Elli Purnamasari (305312479083) dan Tri Hariyati

Nur Indah Sari (405312479996)

Tahun : 2008

Kesimpulan :

Masalah shortest path dapat diaplikasikan dalam berbagai masalah

dalam kehidupan sehari-hari, diantaranya rute pengantaran barang

pos untuk tiap kantor pos daerah bagian Malang oleh sopir mobil

box.

Dalam penggunaan alat bantu terdapat kelebihan dan kelemahan

dari alat bantu tersebut yaitu:

Pada alat bantu Giden dan Grin terdapat kelebihan bisa

mengetahui panjang lintasan yang disertai lintasan atau rute

yang harus ditempuh sehingga ditemukan lintasan

terpendek yang minimal. Namun, pada Giden

kelemahannya yaitu harus menggambar dari graph yang

ingin dicari lintasannya sehingga membutuhkan waktu yang

cukup lama, dan pada Grin harus menggambar dari graph

yang ingin dicari lintasannya kemudian mengisi tabel

keterhubungan antar titik untuk mengetahui jarak antar titik

pada graph yang telah digambar sebelumnya sehingga

membutuhkan waktu yang lebih lama.

Pada alat bantu WinQSB terdapat kelebihan yaitu tidak

perlu menggambar grap, tetapi langsung saja mengisi tabel

keterhubungan antar titik sehingga membutuhkan waktu

yang singkat. Namun kelemahannya, output yang dihasilkan

tidak menunjukkan lintasan atau rute yang harus ditempuh

Page 49: Shortest Path

namun langsung menunjukkan panjang lintasannya saja.

Hal ini mempersulit pengguna untuk memilih jalan mana

yang harus ditempuh meskipun sudah mengetahui jarak

tempuhnya.

2. Judul : Penerapan Lintasan Terpendek (Shortest Path)

untuk Perancangan Model Jaringan

Penulis : Muttaqin Eko Wirawan

Tahun : 2004

Kesimpulan :

Permasalan jaringan jalan raya di sini adalah mencari suatu jalan

terpendek dari dua buah kota. Dengan bantuan matematika jaringan

jalan raya dimodelkan ke dalam bentuk graph. Seperti pada contoh

penerapannya, mencari suatu jarak terpendek pada jaringan jalan

raya kota-kota di Jepang yaitu kota Tokushima ke kota Tottori dan

ditemukan jarak terpendek dari kota Tokushima ke kota Tottori

adalah 212 km dan pada contoh penerapan mencari suatu jalan

terpendek pada jaringan jalan raya kota-kota di jawa timur yaitu

dari kota Malang ke kota Ngawi dan ditemukan jarak terpendeknya

adalah 232 km.

3. Judul : Penentuan Lintasan Terpendek (Shortest Path)

menggunakan Algoritma Warshall

Penulis : Muslimin Firmansyah (301312412304)

Tahun : 2005

Kesimpulan :

Hasil penentuan lintasan terpendek dengan program

warshall sama dengan hasil penentuan lintasan terpendek

dengan program giden yang merupakan aplikasi dari

algoritma djikstra

Algoritma Warshall adalah suatu algoritma yang digunakan

unutk menentukan lintasan terpendek dengan didasarkan

Page 50: Shortest Path

pada proses iterasi yang dilakukan sebanyak jumlah titik,

di mana proses iterasi adalah perubahan nilai bobot dari

setiap busur. Algoritma ini bekerja dalam penentuan

lintasan terpendek hanya pada graph berarah saja.

Pada algoritma Warshall setelah melalui proses iterasi bisa

mengetahui lintasan terpendek dari titik ke semua titik yang

lain.

4. Judul : Penentuan Lintasan Terpendek (Shotest Path)

dengan Algoritma Djikstra, Algoritma Floyd-Warshall dan

Algoritma Bellman-Ford

Penulis : Dwi Erna Novianti

Tahun : 2005

Alat bantu : Menggunakan program GIDEN

Kesimpulan :

Algoritma Djikstra memuat panjang lintasan terpendek dan

lintasan yang dilalui tetapi hanya untuk digraph yang bermuatan

negative. Algoritma Floyd-Warshall memuat jarak terpendek dari

semua pasangan titik tetapi tidak memuat pasangan yang dilalui.

Algoritma Bellman-Ford akan menunjukkan berapa jarak

terpendeknya, juga berlaku untuk digraph yang berbobot negative.

5. Judul : Penyelesaian Masalah Lintasan Terpendek

(Shortest Path) dengan menggunakan Algoritma Johnson

Penulis : Dewi Wahyuningsih

Tahun : 2007

Alat bantu : menggunakan program GIDEN

Kesimpulan :

Kelebihan dari Algoritma Johnson adalah dapat digunakan untuk

digraph yang berbobot negative dan untuk menyelesaikan lintasan

terpendek dari tiap titik ke semua titik lain. Tahap-tahap

pengerjakan Algoritma Johnson melibatkan Algoritma Djikstra.

Page 51: Shortest Path

Dengan menggunakan Algoritma Johnson dan Floyd-Warshall

diperoleh hasil yang sama. Hasil yang sama juga diperoleh dengan

menggunakan program bantu GIDEN. Sehingga Algoritma

Johnson dapat menjadi metode alternative dalam menyelesaikan

masalah lintasan terpendek.

6. Judul : Penerapan Teori Grap Dalam Menetukan Lintasan

Terpendek Dari Pasar Karangploso ke Pasar Gadang dengan

Algoritma Bellman-Ford

Penulis : Didik Nurdiansyah (302312417234)

Tahun : 2006

Kesimpulan :

Dengan menggunakan Algoritma Bellman-Ford kita mendapatkan

lintasan terpendek dari Pasar Karangploso ke Pasar Gadang yaitu

Pasar Karangploso-Pasar Dinoyo-Pasar Sukun-Pasar Gadang

dengan panjang lintasan 18km. Dan hasil yang sama diperoleh dari

alat bantu yang digunakan yaitu program Grin dan Giden.

Kelebihan dari algoritma Bellman-Ford ini adalah dapat digunakan

untuk menghitung grap berbobot negatif. Namun karena masalah

yang diambil dalam makalah ini mengenai jarak maka grap yang

digunakan adalah grap yang berbobot positif.

7. Judul : Optimalisasi Lintasan Terpendek Jalur Pariwisata di

Kabupaten Malang

Penulis : Arrohmawati (304312473201) dkk.

Tahun : 2006

Kesimpulan :

Permasalahan penentuan lintasan terpendek dalam makalah ini

adalah mencari jarak terpendek dari Hotel Kusuma ke beberapa

tempat objek wisata. Pada penentuan lintasan terpendek Hotel

Kusuma ke beberapa tempat objek wisata dengan menggunakan

algoritma djikstra diperoleh jarak terpendeknya sebagai berikut:

Page 52: Shortest Path

o Dari Hotel Kusuma ke Tirta Nirwana 5 km, dengan lintasan

Hotel Kusuma-Pemandian Tirta Nirwana.

o Dari Hotel Kusuma ke Jatim Park adalah 2 km, dengan

lintasan Hotel Kusuma – Jatim Park.

o Dari Hotel Kusuma ke Kebun Teh Lawang adalah 32 km,

dengan lintasan Hotel Kusuma – JatimPark – Kebun Teh

Lawang.

o Dari Hotel Kusuma ke Taman Rekreasi Sengkaling adalah 10

km, dengan lintasan Hotel Kusuma - Taman Rekreasi

Sengkaling.

o Dari Hotel Kusuma ke Candi Badut adalah 16 km, dengan

lintasan Hotel Kusuma – Candi Badut.

o Dari Hotel Kusuma ke Pemandian Wendit adalah 25 km,

dengan lintasan Hotel Kusuma – Jatim Park - Pemandian

Wendit.

o Dari Hotel Kusuma ke Wisata Pantai Bale Kambang adala 73

km, dengan lintasan Hotel Kusuma – Taman Rekreasi

Sengkaling – Wisata Pantai Bale Kambang.

Pada hasil akhirnya dapat diketahui jarak terpendek antar tempat

objek wisata dengan menggunakan software Giden didapat hasil

akhir lintasan terpendek yang sama dengan penggunaan

Algoritma Djikstra secara manual.

2.3 DAFTAR PUSTAKA

Aldous, Joan M. and Wilson, Robin J,(2004), GRAPH AND

APLICATIONS An Introductory Approach, Springer, Great

Britain.

Michael, J. D., Rosen, K.H. 1991. Application of Discrete Mathematics.

New York: McGraw Hill Inc.

https://diazscript.wordpress.com/tag/seperti-biasa-contoh-source-

algoritma-floyd-warshall-dalam-bentuk-php-dapat-di-minta-

dengan-kirim-email-ke-vendiaz_cossinyahoo-com/

Page 53: Shortest Path

http://www.google.co.id/url?sa=t&rct=j&q=algoritma%20djikstra&sourc

e=web&cd=3&ved=0CDUQFjAC&url=http%3A%2F%2Frep

ository.usu.ac.id%2Fbitstream%2F123456789%2F14038%2F1

%2F09E00633.pdf&ei=EFYvT6zAOMfnrAeyu5DsDA&usg=

AFQjCNEuzlBjmfDoCPJModd2GOX0M21bzw&cad=rja

Page 54: Shortest Path

BAB III

METODOLOGI

3.1 Data yang diperlukan

Dalam survey yang kami lakukan , kami membutuhkan beberapa data ,

dimana data tersebut dapat direpresentasikan sebagai bagian atau unsur-

unsur pada graph, yakni data yang diambil adalah sebagai berikut:

1. Nama persimpangan jalan, dan beberapa lokasi yang sering

dikunjungi

2. Jarak antara setiap persimpangan dan/atau jarak antara setiap

lokasi

3. Jalur yang dapat dilalui antar setiap persimpangan dan/atau setiap

lokasi

Data tersebut dimisalkan:

1. nama persimpangan dan lokasi sebagai titik (V)

2. jarak sebagai bobot(w)

3. jalur sebagai sisi(E).

Algoritma yang akan dipakai adalah algoritma djikstra, perkalian

matriks, greedy, Exhautis Search dan Floyd warshall dengan

menggunakan alat bantu Giden, Grin dan WinQsb. Kelima algoritma

tersebut merupakan algoritma yang mudah dipahami dalam kehidupan

bermasyarakat.

Misalkan kita mempunyai graf seperti di bawah ini :

Page 55: Shortest Path

1.2 Analisa data dengan algoritma

Contoh Persoalan: Suatu agen koran ”CENTER” akan mendistribusikan

koran pada 11 toko langganan yaitu:

Toko ”Makmur” : Jl Soekarno Hatta no. 2

Toko ”Abadi” : Jl Moch. Yamin no. 3

Toko ”Indah” : Jl Mawar no. 23

Toko ”Amin” : Jl Indramayu no. 21

Toko ”Sederhana” : Jl Melati no. 1

Toko ”Sejati” : Jl Bogor no. 20

Toko ”Citra” : Jl Toyib no. 18

Toko ”Sinar” : Jl Sumbersari no. 466

Toko ”Wijaya” : Jl Pahlawan no. 19

Toko ”Kembar” : Jl Terusan Ambarawa no. 40

Toko ”Amanda” : Jl Semarang no. 55

Agen koran ”CENTER” akan mendistribusikan korannya dari Toko

”Makmur” sampai ke Toko ”Amanda”. Agen koran ini ingin mencari jalur

terpendek dari toko ”Makmur” ke toko ”Citra” dengan melewati toko-toko

yang lain.

Penyelesaian :

Dimisalkan

A= Toko ”Makmur”

B=Toko ”Abadi”

C= Toko ”Indah”

D= Toko ”Amin”

E= Toko ”Sederhana”

F=Toko ”Sejati”

G= Toko ”Citra”

H= Toko ”Sinar”

I= Toko ”Wijaya”

Page 56: Shortest Path

J= Toko ”Kembar”

K= Toko ”Amanda”

Jalur toko-toko tersebut seperti dalam gambar berikut

Karena akan mencari lintasan tependek dari titik A ke titik G maka kita

akan menggunakan Algoritma-algoritma:

1. Algoritma floyd warshall

Diambil contoh subgraph dari graph tersebut,

Didapatkan penyelesaian sebagai berikut:

w*=w

∞ 4 ∞ ∞ ∞ 12

∞ ∞ 5 ∞ ∞ ∞

∞ ∞ ∞ 3 ∞ ∞

∞ ∞ ∞ ∞ 4 ∞

∞ ∞ ∞ 4 ∞ 7

∞ ∞ ∞ ∞ 7 ∞

Page 57: Shortest Path

Wij dengan harga ∞ , berarti tidak ada lintasan dari vi ke vj,

langsung ataupun tidak. Cari lintasan terpendek dari titik vi ke vj (i, j=

1, 2, 3, 4, 5, 6) graph berarah berlabel di atas.

Iterasi untuk k=1

Untuk setiap sel matrik w dicek apakah w[i, j]> w[i,1]+w[1,j]. Jika ya,

maka w [i, j] dganti w[i,1]+w[1,j].

Sehingga menjadi

i,j w[i,j] w[i,1]+w[1,j] Keterangan

I J

1 1 ∞ ∞ Tetap

1 2 4 ∞ Tetap

1 3 ∞ ∞ Tetap

1 4 ∞ ∞ Tetap

Page 58: Shortest Path

1 5 ∞ ∞ Tetap

1 6 12 ∞ Tetap

2 1 ∞ ∞ Tetap

2 2 ∞ ∞ Tetap

2 3 5 ∞ Tetap

2 4 ∞ ∞ Tetap

2 5 ∞ ∞ Tetap

2 6 ∞ ∞ Tetap

3 1 ∞ ∞ Tetap

3 2 ∞ ∞ Tetap

3 3 ∞ ∞ Tetap

3 4 3 ∞ Tetap

3 5 ∞ ∞ Tetap

3 6 ∞ ∞ Tetap

4 1 ∞ ∞ Tetap

4 2 ∞ ∞ Tetap

4 3 ∞ ∞ Tetap

4 4 ∞ ∞ Tetap

4 5 4 ∞ Tetap

4 6 ∞ ∞ Tetap

5 1 ∞ ∞ Tetap

5 2 ∞ ∞ Tetap

5 3 ∞ ∞ Tetap

5 4 4 ∞ Tetap

5 5 ∞ ∞ Tetap

5 6 7 ∞ Tetap

6 1 ∞ ∞ Tetap

6 2 ∞ ∞ Tetap

6 3 ∞ ∞ Tetap

6 4 ∞ ∞ Tetap

6 5 7 ∞ Tetap

6 6 ∞ ∞ Tetap

Page 59: Shortest Path

Diperoleh matriks

W1 =

Iterasi untuk k=2

Untuk setiap sel matrik w dicek apakah w[i, j]> w[i,2]+w[2,j]. Jika ya,

maka w [i, j] dganti w[i,2]+w[2,j].

Sehingga menjadi

i,j w[i,j] w[i,2]+w[2,j] Keterangan

I J

1 1 ∞ 4+ Tetap

1 2 4 ∞ Tetap

1 3 ∞ ∞ Tetap

1 4 ∞ ∞ Tetap

1 5 ∞ ∞ Tetap

1 6 12 ∞ Tetap

2 1 ∞ ∞ Tetap

2 2 ∞ ∞ Tetap

2 3 5 ∞ Tetap

2 4 ∞ ∞ Tetap

2 5 ∞ ∞ Tetap

2 6 ∞ ∞ Tetap

3 1 ∞ ∞ Tetap

3 2 ∞ ∞ Tetap

3 3 ∞ ∞ Tetap

∞ 4 ∞ ∞ ∞ 12

∞ ∞ 5 ∞ ∞ ∞

∞ ∞ ∞ 3 ∞ ∞

∞ ∞ ∞ ∞ 4 ∞

∞ ∞ ∞ 4 ∞ 7

∞ ∞ ∞ ∞ 7 ∞

Page 60: Shortest Path

3 4 3 ∞ Tetap

3 5 ∞ ∞ Tetap

3 6 ∞ ∞ Tetap

4 1 ∞ ∞ Tetap

4 2 ∞ ∞ Tetap

4 3 ∞ ∞ Tetap

4 4 ∞ ∞ Tetap

4 5 4 ∞ Tetap

4 6 ∞ ∞ Tetap

5 1 ∞ ∞ Tetap

5 2 ∞ ∞ Tetap

5 3 ∞ ∞ Tetap

5 4 4 ∞ Tetap

5 5 ∞ ∞ Tetap

5 6 7 ∞ Tetap

6 1 ∞ ∞ Tetap

6 2 ∞ ∞ Tetap

6 3 ∞ ∞ Tetap

6 4 ∞ ∞ Tetap

6 5 7 ∞ Tetap

6 6 ∞ ∞ Tetap

Diperoleh matriks

Wi =

∞ 4 ∞ ∞ ∞ 12

∞ ∞ 5 ∞ ∞ ∞

∞ ∞ ∞ 3 ∞ ∞

∞ ∞ ∞ ∞ 4 ∞

∞ ∞ ∞ 4 ∞ 7

∞ ∞ ∞ ∞ 7 ∞

Page 61: Shortest Path

2. Algoritma Djikstra

Tentukan titik awal dan beri label temporer 0. Lalu tentukan bobot titik

lain yang paling pendek dari jalur yang lain. Sampai pada titik tujuan.

Sehingga diperoleh graf berikut:

Jadi lintasan terpendek dari titik A ke titik G adalah 16. Dengan jalur

A – B – E – F – G.

3. Algoritma Greedy

Dari titik awal pilih bobot yang paling minimum, lalu pada titik

selanjutnya juga pilih bobot yang paling minimum, lakukan sampai titik

tujuan.

Pilih titik A sebagai titik awal, lalu pilih titik B karena bobotnya lebih

sedikit dari pada titik H yaitu 4 < 11. Lalu dari titik B pilihlah titik C

karena bobotnya lebih sedikit daripada titik E yaitu 3 < 5. Dari titik C

lanjutkan dengan memilih titik E karena bobotnya lebih sedikit daripada

titik D yaitu 8 < 9. Lalu dari titik E pilih titik F dengan bobot 3 karena

bobot lebih sedikit daripada titik I yang berbobot 12. Setelah itu pilih titik

G karena bobotnya lebih sedikit daripaa titik H yaitu 4 < 6. Karena telah

sampai pada titik tujuan, maka pemilihan titik selanjutnya berhenti.

Sehingga diperoleh jalur dari A ke G melewati A – B – C – E – F – G

dengan panjang jalan 4 + 3 + 8 + 3 + 4 =22

Page 62: Shortest Path

Alat bantu Program :

a. Grin

1. Membuka program Grin40, Ketik File New

2. Ketik File New

3. Untuk membuat titik klik Edit Add Add Point. Untuk

memberikan sisi klik Edit Add Add Edge

Page 63: Shortest Path

4. Untuk merubah nama titik klik Table Name Name. Untuk

memberikan sisi klik Table Name Weight

5. Untuk menyelesaikan Klik Property Shortest Path

Page 64: Shortest Path

6. Langkah selanjutnya adalah klik titik yang dijadikan titik awal,

kemudian klik titik yang dijadikan titik akhir. Didapatkan hasil sebagai

berikut :

Dengan alat bantu Grin didapatkan lintasan terpendek dari 1 – 2 – 3 – 9 –

14 dengan panjang lintasan 8.4

b. Giden

Input data untuk sisi dan titik sesuai petunjuk Giden yang telah

dibahas di halaman sebelumnya

Kemudian tambahkan sisi dan atur agar mudah dipahami

Page 65: Shortest Path

Kemudian beri bobot pada setiap sisi pada graph tersebut

pada kolom pilihan length pilih jarak kemudian klik accept

Klik Trace kemudian tentukan titik awal

klik trace berulang kali sampak mendapatkan shortest path

sehingga diperoleh shorthest pathnya adalah 1-3-5-9-11

Page 66: Shortest Path

c. WinQSB

1. Membuka Program WINQSB klik Network Modelling

2. Pilih shortest path problem

3. Isilah form berikut:

4. Kilik File New Problem, pada Problem Type isi Shortest Path

Problem lalu tulis judul permasalahan sesuai keinginan pada Problem

Title kemudian isi Number Of Nodes dengan jumlah titik pada

permasalahan anda kemudian klik OK

5. Setelah klik OK maka akan muncul table sebanyak n baris dan n kolom

kemudian isi table tersebut sesuai dengan matriks keterhubungan

langsung hingga titik yang ke n dengan n adalah banyak titik.

Page 67: Shortest Path

6. Setelah semua terisi maka langkah selanjutnya adalah mencari lintasan

terpendeknya yaitu dengan memilih “Solve and Analyze” pilih Solve the

Problem.

Dengan alat bantu WinQSB didapatkan lintasan terpendek dari titik

1(A)-2(B)-5(E)-9(I)-14(N) dengan panjang lintasan 8.44

Contoh kasus penggunaan alat bantu Giden, Grin dan WinQsb untuk

Optimalisasi Pendistribusian Roti Sari Roti di CV. Duta Mulya dengan

Menggunakan Algoritma-Algoritma Pada Lintasan Terpendek oleh Annisa

Masruroh, Nindy Sagita, Rachmadania Akbarita, Elvira Firdausi pada tahun

2011. Dari hasil survey yang dilakukan, diperoleh lintasan terpendek dari

CV Duta Mulya ke Toko Sardo yang diselesaikan dengan menggunakan

algoritma Greedy, Djikstra, Semut, A*, Floyd Warshall dan Bellman Ford

diperoleh hasil bahwa semua algortima dan alat bantu program yang

digunakan kecuali algoritma Greedy mendapatkan hasil lintasan terpendek

yang sama yakni 8,22 km.

1. Giden

Page 68: Shortest Path

Dengan menggunakan alat bantu giden-dijkstra, maka diperoleh hasil seperti

dibawah ini:

Penjelasan: Dari titik awal yaitu CV Duta Mulya (Sari Roti) dengan nomor

titik 28 yang diberi label 0 akan menuju Sardo. Sehingga diperoleh 28-29-

30-11-12-9-5-4-16 dengan jumlah bobot 8220.

Kelebihan : mengetahui panjang lintasan yang disertai lintasan yang dilalui,

mengetahui lintasan ke titik-titik yang lain.

Kekurangan: harus menggambar terlebih dahulu sehingga membutuhkan

waktu yang lebih lama.

Page 69: Shortest Path

2. Grin

Dengan langkah-langkah pengerjaan yang telah dijelaskan sebelumnya,

maka akan didapat graph seperti dibawah ini:

Sehingga diperoleh penyelesaian sebagai berikut:

Dengan gambar lintasan yang dilewati sebagai berikut:

Page 70: Shortest Path

Dari hasil alat bantu Grin, diperoleh lintasan dari CV.Duta Mulia ke Sardo

dengan panjang lintasan 8220 m dan melewati CV. Duta Mulia(Sari Roti)

– jl Aluminium – jl Sunandar Priyo Sudarmo – jl Ciliwung – jl Letjend.

Sutoyo – jl Kedawung – jl Kalpataru – jl Soekarno Hatta – Sardo.

Kelebihan : mengetahui panjang lintasan terpendek dan lintasan yang

dilalui secara langsung.

Kekurangan : harus menggambar terlebih dahulu, serta mengisi tabel

keterhubungan untuk mengisikan bobotnya.

3. WIN_QSB

Dengan mengisi bobot graph pada tabel yang telah disediakan

Sehingga muncul kotak dialog sebagai berikut, dan memilih titik

ke 28 sebagai titik awal dan 16 sebagai titik akhir

Maka hasilnya berupa grafik sebagai berikut :

Page 71: Shortest Path
Page 72: Shortest Path

BAB IV

PEMBAHASAN

4.1 Narasi Permasalahan

PT.Citra Perdana Kendedes merupakan salah satu perusahaan yang

bergerak di bidang jasa dalam mengantarkan para konsumennya dari suatu

lokasi ke lokasi yang lain. Biasanya dalam mengantarkan para konsumennya

para sopir taksi mempunyai banyak pilihan jalur yang dapat dilalui sehingga

diperlukan pemilihan jalur yang optimal agar waktu tempuh minimum serta

bahan bakar yang digunakan juga minimum.

Pada laporan ini kami membahas tentang jalur terpendek yang dapat

ditempuh oleh taksi Citra dalam mengantarkan para konsumennya di daerah

Kota Malang. Dengan menggunakan algoritma-algoritma pada shortest path

dapat ditentukan jalur terpendek dari suatu lokasi ke lokasi yang lain. Pada

shortest path ada 2 jenis permasalahan yaitu masalah single path dan masalah

all path. Dalam masalah single path kami menentukan lintasan terpendek

yang dapat di tempuh dari Terminal Arjosari ke Museum Brawijaya Malang.

Untuk menuju lokasi tersebut banyak pilihan jalur yang dapat ditempuh,

sehingga para sopir taksi harus menentukan lintasan terpendek mana yang

dapat ditempuh. Hal ini karena sebagian besar para konsumen menginginkan

waktu tempuh yang minimum sehingga pemilihan lintasan yang terpendek

sangat diperlukan.

Data yang diperoleh saat melakukan survey yakni dengan melakukan

wawancara dengan beberapa sopir taksi, dari hasil wawancara tersebut

diketahui bahwa lokasi-lokasi yang sering dikunjungi oleh para pengguna

taksi beserta jalur-jalur yang dapat dilaluinya. Adapun lokasi-lokasi tersebut

yaitu :

1. Terminal Arjosari

2. Persimpangan Taspen

3. Persimpangan A.Yani dan R.Intan

4. Persimpangan Laksda Adi Sucipto dan Panji Suroso

5. Persimpangan Ledjen Suparman dan Laksda Adi Sucipto

Page 73: Shortest Path

6. Pesimpangan Masjid Sabillillah

7. Persimpangan Pesawat

8. Persimpangan Kedawung dan Ledjend Sutoyo

9. Perempatan Kalpataru

10. Persimpangan Jl.Coklat dan Sukarno Hatta

11. Persimpangan Jempatan Sukarno hatta dan UB

12. Persimpangan jalan Mawar

13. Simpang Sarangan dan Ledjend Sutoyo

14. SMP 5

15. Persimpangan Gajayana dan Maijen Haryono

16. Bank Universal (BHS)

17. Persimpangan Dr.Cipto dan Pangsud

18. SMP 3

19. Bumi Putera

20. Bundaran Bandung (UNMER)

21. Perempatan ITN

22. Pesimpangan jalan Surabaya dan bendungan Sutami

23. Simpang jalan Surabaya dan Gede

24. Persimpangan jalan Pahlawan dan Ijen

25. Persimpangan jalan Pattimura dan Jaksa Agung Supriyadi

26. Simpang 4 pasar Klojen

27. Rampal

28. Simpang gajah Mada dan Pangsud

29. Stasiun Kota Malang

30. Tugu

31. Persimpangan Sarinah

32. Persimpangan Mojopahit dan Sugito

33. Bundaran Terusan Ijen

34. Pertigaan Dieng, Wilis dan Kawi

35. Perempatan Tidar

36. Persimpangan simpang wilis dan wilis

37. Persimpangan Simpang Wilis dan Betawu

Page 74: Shortest Path

38. Persimpangan BCA

39. Persimpangan Mc.Donald

40. Museum Brawijaya

Dalam masalah all pairs kami mengambil 12 persimpangan yang akan

digunakan sebagai titik, yaitu:

1. Terminal arjosari

2. Persimpangan taspen

3. Persimpangan A.Yani dan Raden Intan

4. Majid Sabilillah

5. Patung Pesawat

6. Jembatan sukarno Hatta

7. Perempatan ITN

8. Budaran Bandung dan UNMER

9. Lapangan Rampal

10. Stasiun Kota Malang

11. Persimpangan BCA

12. Museum Brawijaya

Dan model graph yang terbentuk adalah sebagai berikut:

Untuk Single Path:

Page 75: Shortest Path

Untuk All pairs:

Dalam hal ini akan ditentukan jarak terpendek dari masing-masing

persimpangan / lokasi.

4.2 Penyelesaian Masalah Dengan Algoritma

o Single Path

1) Algoritma Greedy

Berikut ini adalah langkah-langkah untuk menentukan lintasan

terpendek dari Terminal Arjosari ke Museum Brawijaya dengan

menggunakan algoritma greedy. Dengan merepresentasikan titik 1

sebagai terminal arjosari dan titik 40 sebagai museum brawijaya,

maka didapat hasil sebagai berikut:

1. (1,2) = 5,7 [pilih (1,2)]

2. (2,3) = 1,4 [pilih (2,3)]

(2,4) = 8,3

3. (3,5) = 8,1 [pilih (3,5)]

4. (5,6) = 0,8

(5,4) = 3,8 [pilih (5,6)]

5. (6,7) = 10,1

Page 76: Shortest Path

(6,8) = 7,1 [pilih (6,8)]

6. (8,13) = 5

(8,9) = 4,7 [pilih (8,9)]

7. (9,10) = 8,3

(9,12) = 5 [pilih (9,12)]

8. (12,13) = 2,8 [pilih (12,13)]

(12,16) = 5,1

9. (13,16) = 2,7 [pilih (13,16)]

10. (16,14) = 2,9

(16,19) = 1,7 [pilih (16,19)]

11. (19,18) = 2,2 [pilih (19,18)]

(19,25) = 2,4

12. (18,17) = 1,3 [pilih (18,17)]

(18,26) = 2,5

13. (17,27) = 3,8 [pilih (17,27)]

14. (27,26) = 1,2 [pilih (27,26)]

(27,28) = 4,6

15. (26,25) = 4

(26,29) = 2,4 [pilih (26,29)]

16. (29,28) =1,2 [pilih (29,28)]

17. (28,30) = 3,2 [pilih (28,30)]

18. (30,38) = 2,5

(30,32) = 2,3 [pilih (30,32)]

19. (32,38) = 2,7

(32,31) = 0,8 [pilih (32,31)]

20. (31,33) = 6,5 [pilih (31,33)]

21. (33,40) = 2 [pilih (33,40)]

(33,34) = 3,4

Dari hasil di atas didapatkan lintasan terpendeknya yaitu:1-2-3-5-6-8-9-12-

13-16-19-18-17-27- 26-29-28-30-32-31-33-40 dengan bobot total sebesar 13,38

km.

Page 77: Shortest Path

2) Algoritma Dijkstra

Dengan menggunakan algoritma dijkstra di peroleh hasil

sebagai berikut :

Page 78: Shortest Path

Dari perhitungan secara manual dengan menggunakan algoritma dijkstra di

peroleh lintasan terpendek yakni 1-2-4-14-17-18-26-29-30-38-40 dengan bobot

total 466 atau 9,32 km.

3) Exhautis Search

Dengan menggunakan algoritma exhautis search akan

ditentukan semua kemungkinan lintasan yang dapat

dilalui, dalam pembahasan ini, kami hanya melaporkan

10 kemungkinan lintasan yang mungkin dapat dilalui oleh

taksi. Berikut ini adalah 10 kemungkinan lintasan yang

dimaksud :

No Lintasan yang Mungkin Bobot

1 1-2-4-14-17-27-26-29-30-38-40

478

2 1-2-4-14-16-19-18-26-29-30-38-40

508

3 1-2-4-14-17-18-26-29-30-38-40

466

Page 79: Shortest Path

4 1-2-4-14-17-27-28-29-30-38-40

500

5 1-2-4-14-17-27-28-30-38-40

507

6 1-2-3-5-6-8-13-16-19-18-26-29-30-38-40

486

7 1-2-3-5-6-8-13-16-19-25-26-29-30-38-40

503

8 1-2-3-5-6-7-10-11-20-24-40

520

9 1-2-3-5-6-7-10-11-15-21-20-24-40

676

10 1-2-3-5-6-7-10-11-15-21-22-35-37-40

632

Dll

Dari table di atas dapat dilihat bahwa lintasan terpendek yang total

bobotnya paling minimum adalah 1-2-4-14-17-18-26-29-30-38-40 dengan total

bobot adalah 466 atau pada jarak sebenarnya 9,32 km.

o All Pairs

4) Algoritma Perkalian Matriks

Langkah-langkah:

Mencari

Untuk semua titik i dan j:

1.

2. {

}

3. Jika tidak terdapat sikel negatif, maka

Di mana merupakan unaur pada baris ke dan kolom .

Page 80: Shortest Path
Page 81: Shortest Path

5) Algoritma Floyd Warshall

Langkah-langkah:

Mencari

Untuk semua i dan :

1.

2. min{ }

3. jika tidak terdapat sikel negatif, maka

dimana merupakan unsur pada baris ke kolom ke

MATRIKSNYA

Page 82: Shortest Path
Page 83: Shortest Path
Page 84: Shortest Path

4.3 Penyelesaian Masalah Dengan Alat Bantu

1) Giden

Masalah Single Pairs

Dengan langkah-langkah pengerjaan yang telah dijelaskan sebelumnya,

maka berdasarkan permasalahan akan didapat graph seperti dibawah ini:

Page 85: Shortest Path

Dengan menggunakan alat bantu giden-dijkstra, maka diperoleh :

Page 86: Shortest Path

Dengan menggunakan alat bantu giden-FIFO Label Correcting, maka

diperoleh :

Page 87: Shortest Path

Penjelasan: Dengan menggunakan program Giden baik dengan algoritma dijkstra

maupun FIFO Label Correcting diperoleh hasil lintasan terpendek dari Terminal

Arjosari ke Museum Brawijaya 1-2-4-14-17-18-26-29-30-38-40 dengan bobot

total 466 atau 9,32 km.

Masalah All Pairs

Gambar all pairs.

Page 88: Shortest Path

Dengan menggunakan algoritma dijkstra , diperoleh :

Dengan menggunakan algoritma FIFO Label Correcting, diperoleh :

2) Grin

Dengan alat bantu Grin 40, diperoleh penyelesaian untuk masalah all pairs

sebagai berikut:

Masalah Single Path

Page 89: Shortest Path
Page 90: Shortest Path

Dan diperoleh hasil sebagai berikut :

Masalah All Pairs

Page 91: Shortest Path
Page 92: Shortest Path

Dan diperoleh hasil sebagai berikut :

Page 93: Shortest Path
Page 94: Shortest Path

3) WinQsb

Masalah Single Pairs

Dengan langkah-langkah pengerjaan yang telah dijelaskan sebelumnya,

- Buka aplikasi WIN_QSB

- Klik file, lalu pilih new problem

Page 95: Shortest Path

- Pilih shortest path problem

- Isilah form berikut:

- Kemudian mengisi bobot graph pada tabel yang telah

disediakan

- Setelah selesai mengisi tabel, maka pilih Solve and Analyze

Solve the Problem

- Sehingga muncul kotak dialog sebagai berikut, dan memilih

titik ke 1 sebagai titik awal dan 40 sebagai titik akhir

Page 96: Shortest Path

Maka diperoleh hasil berikut :

Dan grafiknya sebagai berikut:

Page 97: Shortest Path

Penjelasan : Dengan menggunakan program WinQsb, diperoleh hasil lintasan

terpendek dari Terminal Arjosari ke Museum Brawijaya adalah 1-2-4-14-17-18-

26-29-30-38-40 dengan bobot total 466 atau 9,32 km.

Masalah All Pairs

Dengan mengisikan bobot masing-masing sisi pada Tabel, diperoleh:

Page 98: Shortest Path

Dan hasilnya sebagai berikut :

Page 99: Shortest Path
Page 100: Shortest Path
Page 101: Shortest Path

4.4 Analisa Hasil

Dari hasil survey yang kami lakukan, diperoleh lintasan terpendek dari Terminal

Arjosari ke Museum Brawijaya adalah

Dengan Algoritma

1. Algoritma Greedy

Total bobot sebesar 13,38 km

Kekurangan : Tetapi hasil ini tidak optimal karena lintasan yang diperoleh

bukan merupakan lintasan terpendek dan ada kemungkinan gagal dalam

pencarian.

Kelebihan : Prosesnya cepat, mudah dibandingkan dengan algoritma yang

lainnya.

2. Algoritma Dijkstra

Total Bobot 9,32 km

Kekurangan : Prosesnya agak lama

Kelebihan : Hasil yang diperoleh optimum

Page 102: Shortest Path

3. Algoritma Floyd-Warshall

Total Bobot sebesar 9,32 km.

Kekurangan : Harus membuat matrik sebanyak titik pada graph

Kelebihan : Hasilnya Optimum, dan perhitungannya lebih mudah dari

pada perkalian matriks.

4. Algoritma Exhautis Search

Total Bobot sebesar 9,32 km.

Kekurangan : Prosesnya terlalu lama karena harus menentukan lintasan

terpendek yang mungkin.

Kelebihan : Hasil yang diperoleh optimum

5. Algoritma Perkalian Matriks

Total Bobot 9,32 km.

Kekurangan : Perhitungannya sulit , dan dibutuhkan ketelitian yang tinggi.

Kelebihan : Hasilnya optimum, tidak harus membuat matriks sebanyak

titik yang ada pada graph.

Dengan Alat bantu Program

1. Giden

Kelebihan : Grap yang dibuat dapat di gunakan untuk graph berarah.

Kekurangan : Masih harus menggambar graphnya terlebih dahulu, serta

dalam pengisian bobotnya masih harus diisi secara satu per satu, sehingga

membutuhkan waktu yang agak lama.

2. Grin

Kelebihan : Pada saat mengisi tabel, jika memasukkan bobot dari titik i ke

titik j secara otomatis dari titik j ke titik i bobotnya juga berubah.

Di hasil akhir langsung dapat di lihat bobot total, sehingga bisa

mempermudah.

Kekurangan : Graph yang di hasilkan di anggap 2 arah, sehingga jika ada

jalan yang searah akan sulit jika menggunakan alat bantu ini.

Page 103: Shortest Path

3. WinQsb

Kelebihan : Di hasil akhir langsung keluar graphnya beserta tabel yang

berisi total bobot lintasan terpendek yang diperoleh.

Kekurangan : Dalam menginputkan bobot pada tabel, tidak dapat secara

otomatis terisi bolak balik, sehingga membutuhkan waktu yang agak

lama.

Page 104: Shortest Path

BAB V

KESIMPULAN DAN SARAN

5.1 KESIMPULAN

Dari hasil survey yang kami lakukan, diperoleh lintasan terpendek dari Terminal

Arjosari ke Museum Brawijaya adalah

Dengan Algoritma

1. Algoritma Greedy

Dengan menggunakan algoritma greedy didapatkan bobot total sebesar

13,38 km, tetapi hasil ini tidak optimal karena dengan menggunakan

algoritma yang lain didapatkan hasil dengan jarak yang lebih pendek.

Algoritma ini memiliki kelebihan yaitu cepat dalam proses pencarian

lintasan terpendeknya. Sedangkan kekurangannya yaitu tidak optimal dan

ada kemungkinan gagal dalam pencarian dan mungkin lintasan yang

diperoleh bukanlah yang terpendek.

2. Algoritma Floyd-Warshall

Dengan menggunakan algoritma ini didapatkan bobot antar titik dan

lintasan terpendek dari Terminal Arjosari ke museum brawijaya bobotnya

adalah 466 atau pada jarak sebenarnya 9,32 km. Perhitungan pada

algoritma ini harus membuat matrik sebanyak titik pada graph. Namun,

hasilnya optimum, dan perhitungannya lebih mudah dari pada perkalian

matriks.

3. Algoritma Perkalian Matriks

Dengan menggunakan algoritma ini didapatkan bobot antar titik dan

lintasan terpendek dari Terminal Arjosari ke museum brawijaya bobotnya

adalah 466 atau pada jarak sebenarnya 9,32 km. Pada algoritma ini,

kekurangannya adalah perhitungannya sulit , dan dibutuhkan ketelitian

yang tinggi. Namun hasil yang diperoleh optimum, tidak harus membuat

matriks sebanyak titik yang ada pada graph.

Page 105: Shortest Path

Dengan Alat bantu Program

1. Giden

Dengan menggunakan alat bantu giden, baik dengan menggunakan

algoritma Djikstra maupun FIFO Label Correcting diperoleh lintasan

terpendek dengan total bobot 466 atau 9,32 km

2. Grin

Dengan menggunakan alat bantu grin, diperoleh lintasan terpendek dengan

jumlah bobot 447 atau pada jarak sebenarnya adalah 8,94 km.

3. WinQsb

Dengan menggunakan alat bantu WinQsb,diperoleh lintasan terpendek

dengan jumlah bobot 466 atau pada jarak sebenarnya adalah 9,32 km.

Jadi dapat disimpulkan bahwa lintasan terpendek dari Terminal Arjosari

menuju Museum brawijaya yaitu dengan bobot 466 atau pada jarak

sebenarnya adalah 9,32 km.

5.2 SARAN

Dari data hasil survai yang diperoleh, jalur atau rute yang digunakan oleh

PT Citra Perdana Kendedes untuk mengantarkan penumpang dari terminal

Arjosari menuju ke Museum brawijaya dengan panjang lintasan dengan jumlah

bobot 466 atau pada jarak sebenarnya adalah 9,32 km. Sedangkan berdasarkan

hasil perhitungan dengan menggunakan algoritma-algoritma Shortest path dan alat

bantu program yaitu Giden, Grin40, dan WinQsb diperoleh jalur atau rute yang

sama yaitu dengan bobot 466 atau pada jarak sebenarnya 9,32 km. Oleh karena

terdapat lintasan yang lebih pendek dari jalur yang biasanya ditempuh oleh supir

taksi, mungkin jalur yang telah kami berikan dapat dijadikan sebagai jalur

alternatif.

Page 106: Shortest Path

PENGALAMAN SURVEY

Pada tanggal 13 Februari 2012 sekitar pukul 9.30 WIB kami melakukan

survey yang pertama di PT.Citra Perdana Kendedes yang berlokasi di Jl.

Bunga Merak No.2 Malang. Sesampainya di kantor kami menemui Bapak

Cholil selaku Asisiten Manager di PT.Citra Perdana Kendedes. Disana kami

diberikan beberapa gambaran tentang bagaimana permasalahan yang terjadi

di lapangan serta lokasi-lokasi pangkalan yang terdapat didaerah Kota

Malang. Setelah kurang lebih 45 menit kami memutuskan untuk ke kampus

tercinta untuk mengikuti kuliah selanjutnya.

Pada tanggal 15 Februari 2012 kami melakukan survey kembali ke salah satu

pangkalan didaerah Soekarno-Hatta. Disana kami bertemu dengan para sopir

taksi, kami melakukan wawancara dengan para sopir taksi yang sedang

menunggu penumpang di pangkalan tersebut. Dari hasil wawancara yang

kami lakukan kami memperoleh informasi tentang lokasi-lokasi yang sering

dikunjungi oleh para konsumen taksi di daerah Malang Kota serta jalur mana

saja yang dapat dilalui untuk menempuh lokasi tersebut.

Setelah mendapat informasi, kami mampir sejenak di warung gorengan yang

lokasinya berada di pangkalan tersebut. Selanjutnya kami memutuskan untuk

kembali ke kampus.

Dari dua kali survey kami mulai untuk mengolah data yang kami peroleh,

namun ditengah-tengah kami menyusun laporan, ternyata ada satu hal

penting yang kami lupakan yaitu dokumentasi. Akhirnya kami memutuskan

untuk kembali ke kantor taksi Citra untuk menemui Bapak Cholil. Setibanya

di lokasi ternyata beliau tidak berada di tempat akhirnya kami memutuskan

untuk ke pangkalan taksi yang berada didaerah Soekarno-Hatta. Disana

hanya ada satu taksi yang sedang menunggu penumpang. Akhirnya kami

mewawancarai sopir taksi itu, namun kami lupa untuk menanyakan identitas

beliau, setelah wawancara kami mengajak beliau untuk foto bersama kami

sebagai dokumentasi, ternyata beliau tidak keberatan untuk di ajak foto

bersama.

Page 107: Shortest Path

Setelah berfoto-foto kami mohon pamit kepada beliau dan tidak lupa

mengucapkan terima kasih.

DOKUMENTASI

Page 108: Shortest Path
Page 109: Shortest Path