• Tidak ada hasil yang ditemukan

Aplikasi Pencarian Taksi Terdekat Menggunakan Algoritma Floydwarshall

N/A
N/A
Protected

Academic year: 2017

Membagikan "Aplikasi Pencarian Taksi Terdekat Menggunakan Algoritma Floydwarshall"

Copied!
14
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1 Lintasan Terpendek

Lintasan terpendek merupakan lintasan minumum yang diperlukan untuk mencapai suatu titik dari titik tertentu (Pawitri, 2007) disebutkan bahwa. Dalam permasalahan pencarian lintasan terpendek, seorang pengarah jalan ingin menentukan lintasan terpendek antara dua tempat berdasarkan rute alternatif yang tersedia, dimana tempat tujuan hanya satu (Purba, 2011). Pencarian lintasan terpendek ini sendiri diperlukan untuk mengurangi waktu dan biaya (cost) yang dikeluarkan untuk menempuh jarak menuju suatu tempat.

Lintasan ini merupakan bagian dari graf. Pencarian lintasan terpendek termasuk dalam salah satu persoalan dalam teori graf yang berarti meminimalisasi bobot suatu lintasan dalam graf. Permasalahannya adalah bagaimana cara mengunjungi satu verteks pada graf dari verteks awal hingga verteks akhir dengan bobot minimum. Ada beberapa macam persoalan lintasan terpendek, antara lain:

1. Lintasan terpendek antara dua buah simpul tertentu (a pair shortets path) 2. Lintasan terpendek antara semua pasangan simpul (all pairs shortest path) 3. Lintasan terpendek dari simpul tertentu ke semua simpul yang lain

(single-source shortest path)

(2)

2.2 Graf

2.2.1 Definisi Graf

Biasanya, untuk menggambarkan permasalahan lintasan terpendek digunakan graf. Graf adalah objek abstrak matematis, yang mana mengandung verteks dan edge. Edge menghubungkan sepasang verteks. Di sepanjang edge yang ada pada graf, adalah memungkinkan bergerak dari satu verteks ke verteks lainnya. Tergantung pada apakah atau tidak seseorang dapat berjalan di sepanjang edge oleh kedua sisi atau hanya satu sisi tergantung graf tersebut merupakan directed graph atau undirected graph (Magzhan & Jani, 2013).

Graf G didefinisikan sebagai pasangan himpunan (V,E), ditulis dengan notasi G=(V,E), yang dalam hal ini V adalah himpunan tidak-kosong dari simpul-simpul (vertices atau simpul) dan E adalah himpunan sisi (edges atau arcs) yang menghubungkan sepasang simpul (Munir, 2005). Berikut graf G yang memuat himpunan titik V(G) dan himpunan sisi E(G).

V(G) = {a,b,c,d,e}

E(G) = {(a, b), (a, c), (a, d), (b, d), (b, c), (d, e)} Berikut graf tersebut digambarkan.

Gambar 2.1. Graf G (Munir, 2005)

Berdasarkan Gambar 2.1 graf G mempunyai 5 titik sehingga order G (Donny ,2014). Graf G dengan himpunan titik dan sisi masing-masing:

V(G) = {a, b, c, d, e}

(3)

Dapat juga ditulis dengan: V(G) = {a, b, c, d, e}

E(G) = {e1, e2, e3, e4, e5, e6}

Yaitu e1 = (a, b) e2 = (a, c) e3 = (a, d) e4 = (b, d) e5 = (b, c) e6 = (d, e)

2.2.2 Jenis – Jenis Graf

Graf dikelompokkan menurut ada tidaknya edges-nya yang paralel atau loop, jumlah vertexnya, berdasarkan ada tidaknya arah pada edgesnya, atau ada tidaknya bobot pada edges-nya (Zakaria & Teddy, 2005).

Berikut ini adalah jenis graf berdasarkan ada tidaknya edge yang paralel atau loop: 1. Graf Sederhana

Graf sederhana adalah graf yang tidak mempunyai paralel edges atau edges ganda dan atau loop. Loop adalah edge yang menghubungkan sebuah vertex dengan dirinya sendiri. Graf sederhana dapat dilihat pada Gambar 2.2.

(4)

2. Graf Tak-Sederhana

Graf tak-sederhana adalah graf yang memiliki edges ganda dan atau loops. Graf tak sederhana dapat dibagi dua yaitu:

a. Graf ganda (multi graph) adalah graf yang mengandung edge ganda. Sisi ganda yang menghubungkan sepasang verteks bisa lebih dari dua buah. Graf ganda dapat dilihat pada Gambar 2.3

Gambar 2.3 Contoh Graf Ganda (Zakaria & Teddy, 2005)

b. Graf semu (pseudograph) adalah graf yang mempunyi loop, termasuk juga graf yang mempunyai loop dan edge ganda karena itu graf semu lebih umum daripada graf ganda, karena graf semu edgenya dapat terhubung dengan dirinya sendiri. Graf semu dapat dilihat pada Gambar 2.4

Gambar 2.4 Contoh Graf Semu

(Zakaria & Teddy, 2005)

Selain berdasarkan ada tidaknya edge yang paralel atau loop, graf dapat juga dikelompokkan berdasarkan orientasi arah atau panah yaitu:

1. Graf Tak Berarah (undirected graph)

(5)

diperhatikan. Jadi (vj, vk) = (vk, vj) adalah edge yang sama. Graf tak berarah dapat dilihat pada Gambar 2.5.

Gambar 2.5 Contoh Graf Tak Berarah (Zakaria & Teddy, 2005)

2. Graf Berarah (directed graf atau digraf)

Graf berarah adalah graf yang setiap edgenya memiliki orientasi arah atau panah. Pada graf berarah (vj, vk) ≠ (vk, vj). Graf berarah dapat dilihat pada Gambar 2.6

Gambar 2.6 Contoh Graf Berarah (Zakaria & Teddy, 2005)

Berdasarkan jumlah vertex pada suatu graf, maka secara umum graf dapat digolongkan menjadi dua jenis:

1. Graf Berhingga (limited graph)

(6)

Gambar 2.7 Contoh Graf Berhingga (Zakaria & Teddy, 2005) 2. Graf Tak Berhingga (unlimited graph)

Graf tak berhingga adalah graf yang jumlah verteksnya, n tidak berhingga. Graf tak berhingga dapat dilihat pada Gambar 2.8.

Gambar 2.8 Contoh Graf Tak Berhingga (Zakaria & Teddy, 2005)

Graf juga ada yang mempunyai bobot atau nilai. Berdasarkan bobotnya, graf dibagi menjadi dua jenis, yaitu:

1. Graf tidak berbobot (unweighted graph) adalah graf yang tidak mempunyai bobot atau nilai. Graf tidak berbobot dapat dilihat pada Gambar 2.9.

(7)

2. Graf berbobot (weighted graf) adalah graf yang masing-masing busurnya mempunyai bobot atau nilai tertentu. Gambar berbobot dapat dilihat pada Gambar 2.10.

Gambar 2.10 Contoh Graf Berbobot (Zakaria & Teddy, 2005)

2.3 Sistem Informasi Geografis

Sistem Informasi Geografi (SIG) atau yang lebih dikenal dengan Geografic Information System (GIS) merupakan sistem yang dirancang untuk bekerja dengan data yang tereferensi secara spasial atau koordinat-koordinat geografi. SIG juga merupakan teknologi untuk mengelola, menganalisa dan menyebarkan informsi geografis (Asade, 2011).

SIG merupakan suatu rancangan sistem informasi untuk mengerjakan data koordinat geografis atau berunsur ruang. Teknologi SIG menyatu dengan operasi database seperti pencarian data dan analisa statistik serta analisis geografis yang disajikan dalam bentuk peta. Kemampuan SIG ini banyak digunakan secara luas misalnya untuk menjelaskan kejadian, memperkirakan hasil dan perencanaan strategis (Supriadi, 2007).

Sistem informasi geografis dapat dilengkapi dengan beberapa fitur, antara lain: a. Legenda

(8)

b. Skala

Skala adalah perbandingan ukuran yang terdapat pada layar tatap muka dengan ukuran yang sebenarnya.

c. Zoom in/out

Fitur ini digunakan untuk memperbesar (zoom in) dan memperkecil (zoom out) tampilan peta pada layar tatap muka.

d. Pan

Fitur ini digunakan untuk dapat menggeser peta sehingga menampilkan bagian yang diinginkan.

e. Pencarian

Fitur ini digunakan untuk dapat menampilkan bagian peta sesuai input yang dimasukkan.

f. Pengukuran

Fitur ini memberikan informasi mengenai jarak antar simpul ataupun luas suatu wilayah.

g. Informasi

Fitur ini dapat menampilkan informasi mengenai suatu tempat, jalan, wilayah dan sebagainya.

h. Link

Fitur ini digunakan untuk menghubungkan peta dengan data lain seperti gambar, video, halaman web, form baru, dan lain – lain.

2.4 Google Maps

(9)

Google Maps API merupakan aplikasi antarmuka yang dapat diakses lewat javascript agar Google Maps dapat ditampilkan pada halaman web yang sedang dibangun. Dengan menggunakan Google Maps API dapat menghemat waktu dan biaya untuk membangun aplikasi peta digital yang handal, karena pengguna hanya fokus pada data-data yang ingin dikostumisasi saja, untuk data peta sudah disediakan oleh Google Maps. Ada 2 cara untuk mengakses data Google Maps, tergantung dari data yang ingin diambil dan diuraikan dari Google Maps (Sirenden & Dachi, 2012), yaitu:

1. Mengakses data Google Maps tanpa menggunakan API key. 2. Mengakses data Google Maps menggunakan API key.

3.Pendaftaran API key dilakukan dengan data pendaftaran berupa nama domain web yang kita bangun.

2.5 Algoritma Floyd-Warshall

Algoritma Warshall dikembangkan oleh R.W. Floyd sehingga matriks merupakan graf berbobot dan bukan lagi matriks Boolean (Goodaire, 1998). Algoritma Floyd-Warshall adalah sebuah algoritma analisis graf untuk mencari bobot minimum dari graf berarah. Dari 4 jenis permasalahan lintasan terpendek, Algoritma Floyd-Warshall termasuk dalam lintasan terpendek antara semua pasangan simpul atau all pairs shortest path (Levitin, 2009). Algoritma ini dapat menghitung bobot positif atau negatif, tetapi tidak dapat menghitung siklus negatif (Sharma & Kurana, 2013).

Dalam satu kali eksekusi algoritma, akan didapatkan jarak sebagai jumlah bobot dari lintasan terpendek antar setiap pasang simpul tanpa memperhitungkan informasi mengenai simpul-simpul yang dilaluinya. Algoritma yang juga dikenal dengan nama Roy-Floyd ini merupakan penerapan strategi dynamic programming. Di sinilah peran pemrograman dinamis yang mencoba untuk memberikan solusi yang memiliki pemikiran terhadap konsekuensi yang ditimbulkan dari pengambilan keputusan pada suatu tahap. Pemrograman dinamis mampu mengurangi penumerasian keputusan yang tidak mengarah ke solusi. Prinsip yang dipegang oleh pemrograman dinamis adalah prinsip optimalitas, yaitu jika solusi total optimal, maka bagian solusi sampai suatu tahap (misalnya tahap ke-i) juga optimal.

(10)

cepat (Awasthi et al, 2013). Algoritma Floyd-Warshall dapat digunakan secara efektif pada sistem dengan jumlah node yang besar dan mengarahkan pada perbaikan yang signifikan dalan keefisiensian pada saat dijalankan. Tahapan Algoritma Floyd:

1. Bentuklah sebuat matriks dari graf yang memiliki bobot. 2. Isi sesuai hubungan antara vertex satu ke vertex lainnya.

3. Bandingkan semua vertex dengan rumus ik + kj < ij, maka nilai ij diganti dengan nilai ik + kj.

4. Setelah dibandingkan terhadap semua vertex, maka didapatkan hasil terkecil.

Algoritma Floyd: 1. n ⃪ rows(F) 2. D(0 )⃪ F 3. for k ⃪ 1 to n 4. do for i ⃪ to n 5. do for j ⃪ to n

6. � ( ) ⃪ � ( −�), � ( −�) + � ( −�)) 7. return D(n)

Running time dari algoritma Floyd ditentukan oleh perulangan for bersarang rangkap tiga pada baris 3-6. Setiap eksekusi dari baris ke-6 mengambil O(1) kali. Sehingga algoritma ini berjalan dalam waktu Θ (n3) (Cormen et al, 1990).

Algoritma Floyd membandingkan semua kemungkinan lintasan pada graf untuk setiap sisi dari semua simpul. Algoritma ini mampu mengerjakan proses

perbandingkan ini sebanyak Θ(n3) kali (bandingkan dengan kemungkinan jumlah sisi

sebanyak Ω(n2

) (kuadrat jumlah simpul) pada graf, dan setiap kombinasi sisi diujikan). Hal tersebut bisa terjadi karena adanya perkiraan pengambilan keputusan (pemilihan lintasan terpendek) pada setiap tahap antara dua simpul, hingga perkiraan tersebut diketahui sebagai nilai optimal.

(11)

Gambar 2.11 Contoh Graf (Boffey, 1982)

Langkah-langkah untuk mendapatkan lintasan terpendek antara semua pasangan simpul dengan menggunakan algoritma Floyd:

1. Representasi graf dalam matriks ketetanggaan.

2. Matriks n x n untuk graf dimana n adalah jumlah simpul.

3. Jika i=j maka sisinya bernilai 0, dan jika tidak ada jarak antara i ke j maka

sisinya bernilai ∞.

4. Jarak terpendek dari A ke B adalah perpotongan antara baris dan kolom.

(12)

D(3) =

2.6 Penelitian Terdahulu

Beberapa penelitian terdahulu mengenai pencarian lintasan terpendek dapat dilihat pada Tabel 2.1.

Tabel 2.1 Penelitian Terdahulu

No. Judul Peneliti Metode Keterangan

1. Sistem Pencarian Rute Terpendek Dinamis Menggunakan Algoritma A* Pada Jalan Protokol Di Kota Medan Berbasis Web GIS diakses pada web dan tidak real time.

2. Perancangan Aplikasi Pencarian Rute Terpendek Dengan Metode Floyd Pada Taksi

Syarah Sukmadria S

(2014)

(13)

Tabel 2.1 Penelitian Terdahulu (Lanjutan)

No. Judul Peneliti Metode Keterangan

3. Aplikasi Rekomendasi Rute Angkutan Kota di Medan dan Pencarian Jarak Terpendek Dengan Algoritma A* Berbasis Android

Anggreiny Ginting

(2014)

A* Algoritma A* berhasil

diimplementasikan dalam

rekomendasi pemilihan angkutan kota. 4. Penentuan Rute

Terpendek Untuk Distribusi Paket Pos Menggunakan Algoritma Floyd-Warshall

Ahmad Najam (2014)

Floyd-Warshall Algoritma Floyd-Warshall efisien diterapkan dalam permasalahan penentuan rute dalam pengiriman paket pos di Kecamatan Medan Petisah.

5. Rekomendasi Rute SPBU Terdekat Menggunakan Algoritma Bellman-Ford Berbasis Android

Nurul Fadhlia (2015)

Bellman-Ford Aplikasi ini dapat menghasilkan

rekomendasi SPBU

yang terdekat

berdasarkan urutan

jarak terpendek.

Adapun perbedaan yang dimiliki oleh penulis dengan penelitian terdahulu adalah: 1. Andre Asade (2011):

(14)

2. Syarah Sukmadira (2014):

Pada sistem ini, peta yang digunakan adalah peta yang di capture, bukan peta sebenarnya. Sedangkan pada penelitian ini peta yang digunakan adalah peta yang berasal dari Google Maps.

3. Anggreiny Ginting (2014):

Sistem ini menggunakan algoritma A* dan diterapkan dalam rekmomendasi pemilihan angkutan kota, sedangkan penelitian ini diterapkan dalam pencarian taksi terdekat dengan menggunakan algoritma Floyd-Warshall.

4. Ahmad Najam (2014):

Penerapan algoritma Floyd-Warshall diterapkan dalam penentuan rute dalam pengiriman paket pos, sedangkan penelitian ini diterapkan dalam pencarian taksi terdekat.

5. Nurul Fadhlia (2015):

Gambar

Gambar 2.1. Graf G
Gambar 2.5 Contoh Graf Tak Berarah
Gambar 2.7 Contoh Graf Berhingga
Gambar 2.11 Contoh Graf
+3

Referensi

Dokumen terkait

Bahwa hak-hak yang dijamin oleh konstitusi dan hukum tersebut di atas belum dapat dinikmati oleh Pemohon karena kepergian suami Pemohon dari Indonesia disebabkan oleh penegakan

If there is a change in the ownership of shares, the original owner who is registered in the list of holders of securities accounts or the Company’s Shareholder Register shall

Tugas anda sebagai seorang teknisi Jaringan adalah merancang bangun dan mengkonfigurasi sebuah Wifi Router berfungsi sebagai Gateway Internet, Hotspot,

Berdasarkan hasil penelitian didapatkan bahwa pengunaan FreeRADIUS, MySQL dan EAP-TLS memberikan keamanan yang baik untuk client melalui proses otentikasi,

Data hasil prestasi belajar dilihat dari kondisi awal atau pra siklus nilai ulangan siswa yang mencapai (KKM) sebanyak lima siswa atau sebesar 27.78%, Pada

Sepanjang bisnis mampu bertahan, konsumen telah mencoba untuk melindungi sendiri keinginan mereka ketika mereka berkunjung ke pasar untuk, membeli barang dan jasa yaitu dengan

active exercise (cervical stabilization) dan contract relax stretching terhadap peningkatan kemampuan fungsional leher pada myofascial upper trapezius syndrome

Komputer ini dirancang untuk menyelesaikan suatu masalah khusus atau satu masalah saja. Komputernya dapat berupa digital maupun analog. Sekali special purpose computer