• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI"

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)

4. Lintasan terpendek antara dua buah simpul yang melalui beberapa simpul tertentu (intermediate 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.

Gambar 2.2 Contoh Graf Sederhana (Zakaria & Teddy, 2005)

(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)

Graf tak berarah adalah graf yang edgenya tidak mempunyai orientasi arah atau panah. Pada graf ini, urutan pasangan verteks yang dihubungkan oleh edge tidak

(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)

Graf berhingga adalah graf yang jumlah vertexnya berhingga, n. Graf berhingga dapat dilihat pada Gambar 2.7.

(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.

Gambar 2.9 Contoh Graf Tidak Berbobot (Zakaria & Teddy, 2005)

(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

Legenda adalah keterangan mengenai objek-objek yang terdapat didalam petayang ditampilkan dengan bentuk-bentuk yang berbeda, seperti wilayah, jalan dan lain-lain.

(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

Google Maps merupakan layanan pemetaan berbais web untuk menunjukkan jalan-jalan di seluruh dunia sehingga dapat kita gunakan untuk melihat suatu jalan-jalan di lokasi manapun. Dengan kata lain, Google Maps merupakan suatu peta yang dapat dilihat dengan menggunakan suatu browser yang akan ditampilkan secara digital. Kegunaan Google Maps adalah untuk membantu seseorang untuk mencari jalan ke lokasi yang ingin dituju. Google Maps juga dilengkapi dengan fasilitas yang dapat menghitung jarak. Sehingga memudahkan kita untuk mengetahui seberapa jauh jalan yang akan dituju.

(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.

Algoritma Floyd-Warshall menyediakan lintasan terpendek antara semua pasangan simpul dengan hanya dijalankan sekali dan merupakan algoritma paling

(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.

Pencarian lintasan terpendek dengan menggunakan algoritma Floyd dapat dilihat dalam contoh kasus berikut. Diketahui sebuah graf seperti pada Gambar 2.11, permasalahannya adalah bagaimana menemukan lintasan terpendek antara semua pasangan simpul.

(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.

D(0) =                 0 7 7 6 5 0 2 3 0 11 2 0 ϴ ⃪             4 4 4 4 3 3 3 3 2 2 2 2 1 1 1 1 D(1) =                 0 7 7 6 5 0 2 3 0 11 2 0 ϴ ⃪             4 4 4 4 3 3 3 3 2 2 2 2 1 1 1 1 D(2) =                0 7 7 6 5 0 2 3 0 11 5 2 0 ϴ ⃪             4 4 4 4 3 3 3 3 2 2 2 2 1 1 1 1

(12)

D(3) =               0 7 7 6 5 0 2 8 3 0 10 5 2 0 ϴ ⃪             4 4 4 4 3 3 3 3 2 2 2 2 1 1 1 1 D(4) =             0 7 7 6 5 0 2 11 8 3 0 14 10 5 2 0 ϴ ⃪             4 4 4 4 3 3 3 3 2 2 2 2 1 1 1 1 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

Andre Asade (2011)

A* Sistem ini dapat menemukan rute terpendek menuju fasilitas-fasilitas umum, namun diakses pada web dan tidak real time.

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

Syarah Sukmadria S

(2014)

Floyd-Warshall Pada algoritma ini ditemukan hasil yang maksimal untuk pencarian rute terpendek.

(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):

Sistem ini tidak berlangsung secara real-time dan diakses pada web, juga menggunakan algoritma A*. Sedangkan pada penelitian ini sistem berlangsung secara real-time dan digunakan pada smartphone android.

(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):

Pada penelitian tersebut, aplikasi dapat menghasilkan rekomendasi SPBU terdekat berdasarkan urutan jarak terpendek menggunakan algoritma Bellman-Ford sedangkan pada penelitian ini diterapkan algoritma Floyd-Warshall dalam pencarian taksi terdekat dari lokasi pemesan taksi.

Gambar

Gambar 2.1. Graf G  (Munir, 2005)
Gambar 2.11 Contoh Graf  (Boffey, 1982)
Tabel 2.1 Penelitian Terdahulu
Tabel 2.1 Penelitian Terdahulu (Lanjutan)

Referensi

Dokumen terkait

Adapun sisanya sebesar 82,32% mmerupakan pengaruh faktor-faktor lain yaitu harga jual, kualitas produk (mutu) dan faktor lain yang tidak diteliti dalam penelitian

Tabel 3.3 Matriks Pembobotan Hirarki untuk semua kriteria yang dinormalkan 19 Tabel 3.4 Matriks Faktor Evaluasi untuk Kriteria Air Bersih 21 Tabel 3.5 Matriks Faktor Evaluasi

The performance test of mini combine rice harvesting machine for tidal swamp land is done on the tidal swampland rice field located in Batang River Village,

untuk proses aerasi (detention time) pada sistem lumpur aktif berkisar 6-30 jam, kolam stabilisasi 9-14 hari tergantung tipe limbah, mikroorganisme dan kemampuan mikroflora

Diluar sidang Pengadilan, penyelesaian sengketa dapat dilaksanakan baik oleh mereka sendiri (yang melakukan perdamaian) tanpa melibatkan pihak lain, atau meminta

Berdasarkan pengabdian yang telah dilakukan dapat disimpulkan bahwa, Kedua mitra pengabdian yaitu Kelompok Petambak Gumuk Mas dan Kelompok Petambak Udang Lestari

Beberapa penyempurnaan yang perlu dilakukan untuk kelembagaan P3A dan Ga- bungan P3A adalah : (1) Mengkonsolidasikan kelembagaan lokal yang beragam dalam satu wadah Koperasi,

Patient Monitor adalah alat yang digunakan untuk memantau kondisi berbagai kondisi sinyal tubuh pada pasien, di dalam Patient Monitor terdapat suatu parameter yaitu SPO2 dan BPM