• 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!
69
0
0

Teks penuh

(1)

DAFTAR PUSTAKA

Asade, A. 2011. Sistem Pencarian Rute Terpendek Dinamis Menggunakan Algoritma A* Pada Jalan Protokol Di Kota Medan Berbasis WEB GIS. Skripsi. Universitas Sumatera Utara.

Awasthi, S., Chaurasia V. & Somkuwar A. 2013. Verilog Implementation of a System for Finding Shortest Path by Using Floyd-Warshall Algorithm. International Journal of Emerging Technologies in Computational and Applied Sciences (IJETCAS) (615-620).

Boffey, T.B. 1982. Graph Theory in Operation Research. London: University of Liverpool.

Cormen, T.H, Leiserson, C.E, & Riverst, R.L. Introduction to Algorithms. London: The MIT Press.

Fadhlia, N. 2015. Rekomendasi Rute SPBU Terdekat Menggunakan Algoritma Bellman-Ford Berbasis Android. Skripsi. Universitas Sumatera Utara.

Ginting, A. 2014. Aplikasi Rekomendasi Rute Angkutan Kota di Medan dan Pencarian Jarak Terpendek Dengan Algoritma A* Berbasis Android. Skripsi. Universitas Sumatera Utara.

Goodaire, Edgar G., and Parmeter, Michael M.. 1998. Discrete Mathematics With Graph Theory. Prentice Hall, USA.

Levitin, A. Introduction To The Design And Analysis Of Algorithms. Second Edition. Pearson Education.

Magzhan, K. & Jani, H. M. 2013. A Review and Evaluations Of Shorthest Path Algorithms. International Journal Of Scientific & Technology Research Vol: 6 (2).

(2)

Najam, A. 2014. Penentuan Rute Terpendek Untuk Distribusi Paket Pos Menggunakan Algoritma Floyd-Warshall. Skripsi. Universitas Sumatera Utara.

Pawitri, Yanti, K. A. & Purwadi, J. 2007. Implementasi Algoritma PHYSICAL-A* (PHA*) untuk menemukan Lintasan Terpendek, http://journal.amikom.ac.id/ index.php/SN/article/view/2075 (11 Maret 2014).

Purba, F. 2011. Aplikasi Pencari Rute Optimum Menggunakan Algoritma Di Kampus Universitas Sumatera Utara Dengan Dukungan Sistem Informasi Geografis. Skripsi. Universitas Sumatera Utara.

Pangerapan, S. 2014. Pengguna Internet Indonesia Tahun 2014 Sebanyak 88,1 Juta (34,9%). http://www.apjii.or.id/read/content/info-terkini/301/pengguna-internet-indonesia-tahun-2014-sebanyak-88.html. (15 Oktober 2015).

Sharma P. & Khurana N. 2013. Study Of Optimal Path Finding Options. International Journal Of Advancements Technology Vol 4(2).

Sirenden, B. & Dachi, E., 2012, Buat Sendiri Aplikasi Petamu menggunakan CodeIgniter dan Google Maps API, Yogyakarta, C.V ANDI OFFSET.

Sukmadria, S. 2014. Perancangan Aplikasi Pencarian Rute Terpendek Dengan Metode Floyd Pada Taksi. Skripsi. Universitas Sumatera Utara.

Supriadi, 2007. Sistem Informasi Geografi. Medan. UsuPress.

(3)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini, akan dibahas mengenai analisis perancangan sistem yang akan dibangun dan penerapan algoritma Floyd -Warshall dalam pencarian lintasan terpendek antara supir taksi dan calon penumpang.

3.1 Analisis Sistem

Pada bagian ini akan dilakukan analisis terhadap sistem yaitu bagaimana cara menemukan taksi terdekat dari calon penumpang yang mana merupakan pemesan taksi dengan menggunakan pencarian lintasan terpendek menggunakan algoritma Floyd-Warshall. Adapun sistem yang dibangun ini merupakan simulasi dari sistem pemesanan taksi secara online menggunakan perangkat android.

Pemesanan taksi di kota Medan cenderung masih menggunakan layanan telepon terkadang mengalami kesulitan seperti sambungan telepon yang sibuk. Oleh karenanya diberikan satu penyelesaian untuk mempermudah pemesan taksi yaitu selain menggunakan layanan telepon, juga menggunakan aplikasi yang mana dalam hal ini si pemesan taksi sendiri dapat memantau keberadaan taksi yang dipesannya.

3.2 Arsitektur Umum

(4)

Gambar 3.1 Arsitektur Umum

Agar dapat melakukan pemesanan, pemesan taksi yang merupakan pelanggan harus memiliki akun terlebih dahulu. Sama seperti pelanggan, supir taksi juga sudah memiliki akun sendiri agar dapat masuk ke aplikasi. Baik supir taksi maupun pelanggan memiliki username dan password agar dapat masuk ke dalam aplikasi. Bagi supir taksi, akun tersebut diperlukan agar dapat meng-update statusnya apakah sedang ada penumpang atau tidak, juga guna menerima pesanan taksi. Setelah melakukan proses login, pelanggan dapat melakukan pemesanan taksi. Kemudian server menyimpan ID pemesanan dan koordinat pelanggan tersebut, dilanjutkan

(5)

3.3 Perancangan Database

Perancangan database ini digunakan untuk menyimpan dan mengelola dan menampilkan seluruh data yang berhubungan dan digunakan dalam sistem ini. Untuk melakukan penyimpanan koordinat, dilakukan secara manual dengan menyimpan koordinat yang diambil dari Google Maps.

3.3.1 Perancangan Tabel pada Database

Setiap tabel yang ada pada database ini berisi data-data yang berhubungan dalam sistem ini.

1. Tabel titik

Tabel ini digunakan untuk menyimpan ID titik, nama jalan dan koordinat dari jalan tersebut. Struktur tabel titik dapat dilihat pada Tabel 3.1.

Tabel 3.1 Tabel titik

Nama Field Tipe Ekstra

id_titik int(11) Primary Key & AUTO_INCREMENT

nama_titik varchar(255) -

koordinat varchar(50) -

(6)

Adapun cara menyimpan koordinat tersebut dengan membuka Google Maps dan memasukkan kota Medan sebagai input daerah. Kemudian akan terlihat peta dari kota Medan lalu zoom in untuk melihat lebih jelas jalan yang ada di kota Medan. Cara pengambilan koordinat dapat dilihat melalui Gambar 3.2.

Gambar 3.2 Peta Kota Medan

Kemudian lihat setiap persimpangan jalan protokol yang ada, lalu klik pada jalan tersebut untuk melihat koordinat jalan tersebut, kemudian copy koordinat yang tertera seperti pada Gambar 3.3 Lakukan hal tersebut untuk seluruh persimpangan jalan protokol yang saling berhubungan.

(7)

2. Tabel relasi_titik

Tabel ini merupakan tabel yang menyimpan relasi atau hubungan dari satu titik ke titik lainnya. Tabel titik yang sudah menyimpan ID dari nama jalan beserta koordinatnya dijadikan sebagai dasar dari tabel relasi_titik ini. Tabel ini berisi ID asal dan ID tujuan yang merupakan hubungan dari satu titik menuju titik lainnya dari simpang jalan protokol kota Medan (dapat lebih dari satu) berdasarkan ID yang sudah disimpan pada tabel titik. Struktur tabel relasi_titik dapat dilihat pada Tabel 3.2.

Tabel 3.2 Tabel relasi_titik

Nama Field Tipe Ekstra

id_relasi_titik int(10) Primary Key & AUTO_INCREMENT

id_asal varchar(10) -

id_tujuan varchar(10) -

jarak varchar(10) -

3. Tabel taksi

Tabel ini berisi tentang data-data yang berhubungan dengan taksi yang digunakan, seperti ID taksi, nomor plat dan koordinat. Struktur tabel taksi dapat dilihat pada Tabel 3.3.

Tabel 3.3 Tabel taksi

Nama Field Tipe Ekstra

id_taksi int(11) Primary Key & AUTO_INCREMENT

no_plat varchar(10) -

(8)

4. Tabel supir

Tabel ini berisi tentang data-data supir yang digunakan untuk login juga untuk mengetahui data diri supir, seperti ID supir, nama, alamat, nomor HP, username, password, ID taksi dan status. Struktur tabel supir dapat dilihat pada Tabel 3.4.

Tabel 3.4 Tabel supir

Nama Field Tipe Ekstra

id_supir int(11) Primary Key & AUTO_INCREMENT

nama varchar(50) -

foto varchar(255) -

alamat varchar(255) -

no_hp varchar(30) -

username varchar(10) Unique

password varchar(10) -

id_taksi int(11) -

status varchar(10) -

5. Tabel pesanan

(9)

Tabel 3.5 Tabel pesanan

Nama Field Tipe Ekstra

id_pesanan int(11) Primary Key & AUTO_INCREMENT

nama_pemesan varchar(50) -

no_telp varchar(20) -

id_unik_device varchar(255) -

id_supir int(11) -

koordinat_penumpang varchar(50) -

Alamat varchar(255) -

Status varchar(50) -

6. Tabel penumpang

Tabel ini berisi tentang data-data yang berasal dari pelanggan taksi atau penumpang. Struktur tabel penumpang dapat dilihat pada tabel 3.6 .

Tabel 3.6 Tabel penumpang

Nama Field Tipe Ekstra

id_penumpang int(11) Primary Key &

AUTO_INCREMENT

Username varchar(20) -

Password varchar(20) -

Nama varchar(30) -

(10)

3.4 Perancangan Relasi Antar Tabel

Rancangan relasi atau hubungan antar tabel berfungsi untuk menampilkan informasi relasi antara satu tabel dengan tabel yang lain dalam satu database. Rancangan antar tabel dapat dilihat pada Gambar 3.4.

Gambar 3.4 Relasi Antar Tabel

3.5 Kegiatan Supir Taksi dan Pemesan Taksi

Use Case Diagram mendeskripsikan sebuah interaksi antara satu atau lebih aktor

(11)

Gambar 3.5 Kegiatan Supir dan Pemesan Taksi

3.6Aktivitas Sistem

(12)

Gambar 3.6 Aktivitas Pada Sistem

(13)

mencari taksi manakah yang kosong, setelah didapatkan taksi mana sajakah yang kosong, dilanjutkan dengan menemukan taksi yang terdekat dari pelanggan menggunakan algoritma Floyd-Warshall. Setelah didapatkan satu taksi yang terdekat dari pelanggan, pesanan taksi dikirimkan dalam bentuk notifikasi kepada supir taksi. Supir menerima notifikasi dan mengkonfirmasi pesanan tersebut. Apabila supir menjemput pelanggan, output yang dihasilkan adalah peta dengan direction yang menghubungkan keberadaan antara taksi dan pelanggan. Server kemudian akan menyimpan ID taksi yang menjemput beserta koordinat taksi. Lalu server akan mengirimkan notifikasi penjemputan tersebut kepada pelanggan. Apabila notifikasi tesrebut dibuka, akan dihasilkan output yang berupa pemberitahuan mengenai ID taksi yang menjemput, nama supir taksi, jarak antara supir dan pelanggan, serta waktu yang dibutuhkan untuk sampai ke lokasi pelanggan. Jarak dan waktu yang ditampilkan akan di-update secara otomatis.

3.7 Analisis Algoritma Floyd-Warshall 3.7.1 Algoritma Floyd-Warshall

Dalam permasalahan lintasan terpendek, Algoritma Floyd-Warshall termasuk dalam lintasan terpendek antara semua pasangan simpul atau all pairs shortest. Algoritma ini dapat menghitung bobot positif atau negatif, tetapi tidak dapat menghitung siklus negatif. Algoritma Floyd-Warshall merupakan suatu algoritma dinamis yang mana merupakan algoritma yang menggunakan seluruh pasangan dalam satu waktu dan menghubungkannya dalam saat yang sama.

Gambar 3.7 Contoh Lintasan Terpendek

Berdasarkan Gambar 3.7, gunakan k sebagai intermediate path antara titik i dan titik j, yang mana k digunakan untuk menghubungkan antara titik i dan titik j.

Dij(k) : bobot dari lintasan terpendek antara titik i menuju titk j dengan seluruh titik

(14)

k ≥ 1

Dij(k) = Dij(k-1) + Dij(k-1)

Running time: O(n3)

Gambar 3.8 Contoh Graf

Adapun cara kerja algoritma Floyd-Warshall dalam pencarian lintasan terpendek dapat dilihat dari tahap-tahap berikut ini:

1. Pada algoritma Floyd-Warshall yang akan dicari adalah nilai minimum dari perhitungannya. Seperti yang sudah dijelaskan sebelumnya, k adalah intermediate path, oleh karenanya dituliskan Dk. Pada Gambar 3.8 terdapat 4 verteks yaitu: 1, 2,

3 dan 4. Sebagai kasus awal yaitu kasus pada Gambar 3.8 nilai k adalah 0 sehingga menjadi D0, berikutnya k bernilai 1 sampai 4 menjadi D1, D2, D3 dan D4.

Tabel 3.7 Tabel D0

1 2 3 4

1 0 8 ∞ 1

2 ∞ 0 1 ∞

3 4 ∞ 0 ∞

4 ∞ 2 9 0

2. Setelah D0, dilanjut dengan D1 yang mana intermediate path-nya adalah 1. Maka k

= 1. Dikarenakan intermediate path-nya adalah 1 maka carilah lintasan yang menjadikan 1 sebagai nilai tengah pada Gambar 3.8, seperti:

3 – 1 – 4 : 4 + 1 = 5 3 – 1 – 2 : 4 + 8 = 12

Sehingga pada tabel D1 nilainya ada yang berubah seperti yang tertulis pada Tabel

(15)

Tabel 3.8 Tabel D1

1 2 3 4

1 0 8 ∞ 1

2 ∞ 0 1 ∞

3 4 12 0 5

4 ∞ 2 9 0

3. Setelah selesai dengan perhitungan D1, masuk kepada D2. Dalam hal ini, yang

menjadi intermediate path bukan hanya 2 melainkan 1 dan 2. Kemudian carilah yang intermediate path-nya adalah 1 dan 2 pada Tabel 3.9, kemudian didapatkan: 1 – 2 – 3 : 9

4 – 2 – 3 : 3

Pada tabel 3.3 nilai 3 yang diwarnai kuning sebelumnya adalah 9, namun setelah dapatkan bahwa nilai dari matriks [4,3] adalah 3 yang mana 3 nilainya lebih kecil dari 9, sehingga 3 menggantikan posisi 9 pada Tabel 3.8.

Tabel 3.9 Tabel D2

1 2 3 4

1 0 8 9 1

2 ∞ 0 1 ∞

3 4 12 0 5

4 ∞ 2 3 0

4. Lalu masuk kepada perhitungan D3, yang mana pada hal ini yang dapat dijadikan

sebagai intermediate path nya adalah 1, 2 dan 3. Maka hubungan yang didapatkan melalui Tabel 3.9 adalah:

(16)

Tabel 3.10 Tabel D3

1 2 3 4

1 0 8 9 1

2 5 0 1 6

3 4 12 0 5

4 13 7 2 3 0

Pada Tabel 3.10 nilai dari matriks lintasan 4 – 3 – 1 bernilai 13, namun setelah dihitung lagi dengan menggunakan nilai k atau intermediate path nya 2 dan 3 didapatkan lintasan yang lain yang lebih pendek yaitu 4 – 2 – 3 – 1 dengan nilai 7, maka 7 menggantikan nilai 13 pada matriks [4,1].

5. Setelah itu masuk pada intermediate path terakhir yaitu D4 yang mana yang dapat

menjadi intermediate path adalah 1, 2, 3 dan 4 namun 4 haruslah tetap menjadi intermediate path. Setelah dilakukan perhitungan, berikut adalah lintasan yang

menjadikan 4 sebagai intermediate path: 1 – 4 – 2 : 3

1 – 4 – 3 : 10 1 – 4 – 2 – 3 : 4 3 – 1 – 4 – 2 : 7

Tabe 3.10 Tabel D4

1 2 3 4

1 0 3 9 4 1

2 5 0 1 6

3 4 7 0 5

4 7 2 3 0

Pada Tabel 3.10 nilai matriks [3,2] berubah menjadi 3, dikarenakan setelah di-update nilai sebelumnya yaitu 8 lebih besar daripada 3, oleh karenanya 3

(17)

matriks [1,3] menjadi 4. Yang terakhir adalah pada matriks [3,2] setelah dihitung pada lintasan 3 – 1 – 4 – 2 didapatkan nilai baru yaitu 7 yang adalah lebih kecil dibandingkan nilai sebelumnya yaitu 12, sehingga pada matriks [3,2] 7 menggantikan posisi 12.

3.7.2 Pseudocode Algoritma Floyd – Warshall for ($k = 0; $k < $this->nodes; $k++) {

for ($i = 0; $i < $this->nodes; $i++) { for ($j = 0; $j < $this->nodes; $j++) {

if ($this->jarak[$i][$j] > ($this->jarak[$i][$k] + $this->jarak[$k][$j])) { $this->jarak[$i][$j] = $this->jarak[$i][$k] + $this->jarak[$k][$j]; $this->pred[$i][$j] = $this->pred[$k][$j];

}

3.8 Perancangan Sistem

Aplikasi yang dibangun dibedakan menjadi dua yaitu aplikasi untuk supir taksi dan pemesan taksi.

3.8.1 Rancangan Tampilan Home Untuk Supir

(18)

Gambar 3.9 Rancangan Tampilan Home Untuk Supir

3.8.2 Rancangan Tampilan Halaman Utama Untuk Supir

Setelah berhasil masuk ke dalam aplikasi, yang berikutnya adalah masuk ke halaman utama supir. Pada halaman ini, terdapat kolom status. Status diberikan dalam bentuk combo box yaitu berupa 2 pilihan, adapun pilihan tersebut adalah Kosong dan Penuh.

Supir taksi tersebut diwajibkan untuk memperbaharui statusnya setiap kali supir sedang ada penumpang dan tidak ada penumpang. Pesanan taksi akan sampai kepada supir yang sedang tidak ada penumpang, itu sebabnya status memegang peranan penting dalam proses pemesanan taksi. Rancangan tampilan utama supir dapat dilihat pada Gambar 3.10.

(19)

3.8.3 Rancangan Tampilan Konfirmasi Untuk Supir

Apabila supir menerima pemesanan dari calon penumpang, akan muncul notifikasi pada layar handphone android yang menyatakan ada pesanan taksi. Apabila notifikasi tersebut di klik, maka akan menuju pada suatu halaman konfirmasi. Halaman konfirmasi ini berisi tentang nama pemesan, alamat, nomor telepon pemesan dan koordinat dari keberadaan pemesan taksi tersebut. Rancangan tampilan konfirmasi supir dapat dilihat pada Gambar 3.11.

Gambar 3.11 Rancangan Tampilan Konfirmasi Supir

3.8.4 Rancangan Tampilan Peta Supir

(20)

Gambar 3.12 Rancangan Tampilan Peta Supir 3.8.5 Rancangan Tampilan Login Untuk Pemesan Taksi

Selain supir taksi, aplikasi ini juga digunakan oleh pemesan taksi yaitu pemesan taksi atau pelanggan. Aplikasi tersebut dipisah, baik bagi supir taksi juga bagi pelanggan. Pemesan taksi harus memasukkan username dan password agar dapat melakukan pemesanan. Berikut adalah rancangan tampilan login dari pemesan taksi. Rancangan tampilan login pemesan taksi dapat dilihat pada Gambar 3.13.

Gambar 3.13 Rancangan Tampilan Login Pemesan Taksi 3.8.6 Rancangan Tampilan Registrasi Pelanggan

(21)

Gambar 3.14 Rancangan Tampilan Registrasi Pelanggan 3.8.7 Rancangan Tampilan Pengiriman Pesanan

Apabila sudah melakukan registrasi, maka akan kembali ke halaman login untuk memasukkan username dan password pelanggan. Kemudian akan masuk ke halaman pengiriman pesanan, yang berisi nama dan nomor HP. Adapun halaman ini berguna apabila ingin mengganti nomor HP yang dimasukkan pelanggan pada saat registrasi. Apabila sudah melakukan perubahan, lalu klik ‘Pesan’ dan kemudian tunggu notifikasi penjemputan. Rancangan tampilan pengiriman pesan dapat dilihat pada Gambar 3.15.

(22)

3.8.8 Rancangan Tampilan Status Taksi Yang Dipesan

Setelah melakukan pemesanan, kemudian akan muncul notifikasi penjemputan. Apabila notifikasi tersebut diklik, maka akan masuk ke halaman status yang berisi keterangan mengenai nomor taksi yang menjemput, nama supir, jarak antara supir dan pemesan taksi dan waktu yang diperlukan untuk sampai ke lokasi pemesan taksi. Terdapat tombol ‘Batal’ yang berguna untuk membatalkan pesanan yang sudah dilakukan oleh pelanggan. Adapun jarak dan waktu yang tertera akan tertera akan ter-update secara otomatis setiap beberapa detik sekali.

(23)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi Sistem

Pada tahap ini akan dibahas proses implementasi yang merupakan lanjutan dari analisis dan perancangan. Proses pengimplementasian ini menggunakan hardware dan software untuk menjalankan aplikasi. Aplikasi pencarian taksi terdekat ini

menggunakan bahasa pemrograman Java dan PHP. 4.1.1 Spesifikasi Perangkat Lunak

Adapun perangkat lunak yang digunakan untuk menghasilkan aplikasi tersebut adalah: 1. Window 7 Ultimate

2. Eclipse Juno

3. Android versi 4.0 (JellyBean) 4. XAMPP versi 1.8.1

5. MySQL versi 5.5.27

6. Connectify Pro 3.4.0.23678

4.1.2 Spefisifikasi Perangkat Keras

Adapun perangkat keras yang digunakan untuk menghasilkan aplikasi tersebut adalah: 1. Processor: Intel Core i3 – 2310M, 2.1 GHz

(24)

4.2 Tampilan Interface Pemesan Taksi

Dikarenakan aplikasi yang digunakan ada dua yaitu aplikasi yang digunakan oleh pemesan taksi dan aplikasi untuk supir taksi, maka tampilan yang dihasilkan juga berbeda. Tampilan dibedakan dikarenakan kegiatan yang dilakukan oleh supir dan pemesan taksi berbeda.

4.2.1 Tampilan Home Untuk Pemesan Taksi

Tampilan awal bagi pemesan taksi adalah tampilan login yang digunakan untuk memasukkan username dan password oleh pemesan taksi. Apabila belum memiliki akun, pemesan taksi dapat melakukan registrasi untuk menjadi pelanggan. Interface pemesan taksi dapat dilihat pada Gambar 4.1.

Gambar 4.1 Interface Pemesan Taksi 4.2.2 Tampilan Registrasi Pelanggan

Tampilan registrasi pelanggan merupakan halaman untuk mendaftar agar memiliki username dan password untuk melakukan pemesanan taksi. Adapun data yang

(25)

Gambar 4.2 Tampilan Registras/i Pelanggan 4.2.3 Tampilan Pengiriman Pesanan

Tampilan pengiriman pesan merupakan halaman yang berisi nama dan nomor HP sesuai dengan username dan password yang dimasukkan pelanggan. Halaman ini berguna untuk mengubah nomor HP yang sebelumnya sudah dicantumkan pada halaman registrasi. Tampilan pengiriman pesanan dapat dilihat pada Gambar 4.3.

Gambar 4.3 Tampilan Pengiriman Pesanan 4.2.4 Tampilan Notifikasi Penjemputan Untuk Pemesan Taksi

(26)

pemesanan taksi sudah diterima dan akan dijemput. Tampilan notifikasi penjemputan untuk pemesan taksi dapat dilihat pada Gambar 4.4.

Gambar 4.4 Tampilan Notifikasi Penjemputan 4.2.5 Tampilan Status Taksi Yang Dipesan

Setelah melakukan pemesanan taksi, maka akan muncul halaman status yang berisi nomor taksi yang menjemput, nama supir taksi, jarak dan waktu. Adapun jarak yang tertera adalah jarak antara keberadaan supir taksi dan pemesan taksi yang akan update secara otomatis untuk beberapa detik sekali. Sama seperti jarak, waktu yang tertera adalah waktu yang digunakan untuk sampai dari lokasi taksi menuju pelanggan yang juga akan berubah secara otomatis untuk beberapa detik sekali. Terdapat tombol ‘Batal’ yang berguna untuk membatalkan pesanan taksi dan mengembalikan ke halaman pesanan. Tampilan status taksi yang dipesan dapat dilihat pada Gambar 4.5.

(27)

4.3 Tampilan Interface Supir Taksi 4.3.1 Tampilan Login Supir

Halaman login supir taksi merupakan halaman untuk mengisi username dan password agar dapat masuk ke dalam aplikasi. Tampilan interface login supir dapat dilihat pada Gambar 4.6.

Gambar 4.6 Tampilan Login Supir 4.3.2 Tampilan Main Activity Supir

Setelah berhasil login, supir akan masuk ke halaman baru yang berisi nama supir, status, dan radio tombol untuk melakukan pembaharuan status. Kemudian terdapat 3 tombol yaitu Update Status, Pesanan dan Peta. Tombol Update Status adalah tombol untuk memperbaharui status yang dalam bentuk radio tombol. Tombol Pesanan untuk melihat pesanan taksi yang masuk dan tombol Peta untuk masuk ke dalam peta yang berisi keberadaan taksi dan pemesan taksi yang dihubungkan melalu satu garis. Apabila sudah berhasil login maka akan muncul tampilan seperti pada Gambar 4.7.

(28)

Apabila ada pesanan, akan muncul notifikasi bahwa ada pesanan seperti pada Gambar 4.8.

Gambar 4.8 Tampilan Notifikasi Pesanan Taksi

Apabila tombol tersebut diklik akan masuk ke halaman konfirmasi penjemputan yang terdiri dari nama pemesan, alamat, nomor HP dan koordinat keberadaannya. Selain itu, tombol Pemesanan yang ada pada halaman main activity supir apabila diklik juga akan masuk halaman seperti pada Gambar 4.9. Namun apabila tidak terdapat pesanan maka halaman tersebut akan menampilkan data-data kosong.

Gambar 4.9 Tampilan Konfirmasi Pada Supir

(29)

suatu garis. Selain itu, tombol Peta yang ada pada main activity supir juga akan merujuk ke halaman seperti pada Gambar 4.10.

Gambar 4.10 Tampilan Peta Supir

Adapun tombol ‘Refresh’ pada bagian atas peta merupakan tombol yang berfungsi untuk memperbaharui perpindahan supir menuju lokasi pemesan taksi. Setiap tombol diklik akan muncul perpindahan posisi yang dilakukan oleh supir taksi tergantung dimanakah keberadaannya

4.3.3 Tampilan Log Out Supir

Untuk melengkapi aktivitas supir, juga tersedia menu log out yang terdapat pada menu bar perangkat android mereka. Tampilan log out dapat dilihat pada Gambar 4.11.

(30)

4.4 Tampilan Control Room

Selain dari aplikasi yang digunakan oleh pemesan taksi dan supir taksi, terdapat satu control room yang terdapat pada desktop yang berfungsi untuk memantau setiap taksi

[image:30.595.108.525.227.412.2]

yang beroperasi sesuai dengan koordinat keberadaannya. Keberadaan taksi-taksi tersebut ditampilkan dalam Google Maps beserta dengan nomor dari masing-masing taksi. Tampilan control room tersebut dapat dilihat pada Gambar 4.12.

Gambar 4.12 Tampilan Control Room

4.5 Pengujian

(31)

Keberadaan taksi terdapat di daerah Padang Bulan yang berdekatan dengan Universitas Sumatera Utara, sedangkan untuk keberadaan taksinya adalah sekitar wilayah Simpang Pos. Berikut adalah proses yang terjadi antara pemesan taksi dan supir taksi dalam proses pemesanan taksi:

[image:31.595.279.389.247.438.2]

1. Supir taksi login pada aplikasi. Supir memperbaharui statusnya menjadi Kosong agar dapat menerima notifikasi pesanan taksi. Dalam percobaan ini, supir yang akan menerima notifikasi adalah Rianto Manik.

Gambar 4.13 Tampilan Home Rianto Manik

2. Untuk melakukan pemesanan, pemesan taksi login pada aplikasi dengan memasukkan username dan password-nya yang sudah terdaftar. Dalam hal ini yang menjadi pemesan taksi bernama Nomik.

[image:31.595.265.382.551.741.2]
(32)
[image:32.595.276.393.154.347.2]

3. Setelah pemesan taksi berhasil masuk ke dalam aplikasi, maka dilanjutkan dengan melakukan pemesanan. Dalam hal ini field nomor HP dapat diganti apabila tidak sama dengan nomor HP yang digunakan untuk registrasi.

Gambar 4.15 Tampilan Untuk Melakukan Pemesanan

4. Setelah pemesan taksi melakukan pemesanan kepada Rianto Manik, akan muncul notifikasi tandanya ada pesanan. Saat pesanan tersebut dibuka, maka akan masuk ke halaman pemesanan yang berisi nama pemesan, alamat penjemputan, nomor HP dan koordinat keberadaannya.

Gambar 4.16 Tampilan Pesanan Yang Masuk

[image:32.595.266.378.479.667.2]
(33)

muncul pada pemesan taksi adalah jarak dan waktu yang dibutuhkan taksi agar sampai ke lokasi penjemputan.

[image:33.595.366.483.134.323.2]

Gambar 4.17 Tampilan Supir Gambar 4.18 Tampilan Pelanggan Gambar 4.17 adalah tampilan dari sisi pemesan taksi, sedangkan Gambar 4.18 lah tampilan dari sisi supir taksi.

[image:33.595.164.280.135.324.2] [image:33.595.367.479.509.707.2]

6. Untuk mengetahui posisi terbaru taksi, tampilan akan otomatis di-update dalam beberapa detik sekali sesuai dengan pergerakan taksi menuju lokasi pemesan taksi. klik tombol ‘Refresh’. Gambar 4.19 merupakan tampilan pada pemesan taksi dan Gambar 4.20 adalah tampilan pada supir taksi.

[image:33.595.151.268.519.709.2]
(34)
[image:34.595.140.254.153.332.2] [image:34.595.356.461.155.331.2]

7. Dalam beberapa menit akan terlihat perubahan jarak dan waktu yang berubah secara otomatis. Gambar 4.21 adalah tampilan pada pemesan taksi sedangkan Gambar 4.22 adalah tampilan pada supir taksi.

Gambar 4.21 Tampilan Pelanggan (3) Gambar 4.22 Tampilan Supir (3) 8. Ketika sudah sampai di lokasi pemesan taksi, maka keterangan waktu yang

terdapat pada Gambar 4.23 berubah kosong dikarenakan jarak yang tertera adalah 0 km. Begitupun pada Gambar 4.24 yang merupakan tampilan bagi supir taksi, akan terlihat kesamaan titik antara supir taksi dan pemesan taksi.

[image:34.595.172.467.470.648.2]

(35)
[image:35.595.106.532.238.312.2]

Pemesanan yang dilakukan oleh nomik dengan 083197249312 beserta dengan koordinat keberadaannya ketika melakukan pemesanan, sesuai dengan proses yang tersimpan pada server. Terdapat 6 buah taksi kosong, namun yang ditampilkan adalah 3 taksi yaitu Rianto Manik, Jose Sinulingga dan Benhard Martin. Dalam hal ini, Rianto Manik memiliki jarak terdekat terhadap pemesan taksi.

(36)

5.1 Kesimpulan

Berdasarkan hasil penelitian dan pengujian yang dilakukan oleh penulis, maka dapat disimpulkan bahwa:

1. Algoritma Floyd-Warshall dapat menghitung jarak taksi yang terdekat dari pemesan taksi.

2. Dalam satu kali eksekusi algoritma Floyd-Warshall didapatkan lintasan terpendek antar setiap pasang simpul.

3. Pada saat pengujian secara online, koneksi internet memegang peranan penting demi lancarnya penggunaan aplikasi.

5.2 Saran

Berdasarkan penelitian yang dilakukan, berikut saran-saran yang diharapkan penulis dapat dilakukan pada penelitian selanjutnya:

1. Pada penelitian berikutnya diharapkan dapat memperhitungkan titik-titik kemacetan.

2. Penitikan koordinat dilakukan lebih detail agar didapatkan hasil yang sama dengan peta sebenarnya.

(37)

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)

(38)

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}

[image:38.595.246.417.484.646.2]

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}

(39)

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.

(40)

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)

(41)
[image:41.595.270.367.142.275.2]

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)

[image:41.595.250.386.418.537.2]
(42)
[image:42.595.250.386.84.199.2]

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:

[image:42.595.289.379.568.685.2]

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

(43)

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

(44)

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

(45)

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.

(46)

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.

(47)
[image:47.595.223.409.83.219.2]

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

(48)

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

[image:48.595.122.433.79.292.2]

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)

(49)
[image:49.595.97.534.112.628.2]

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

(50)

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

(51)

1.1 Latar Belakang

Taksi merupakan salah satu kendaraan umum yang cukup banyak digunakan oleh masyarakat. Keberadaan taksi belakangan ini juga bukanlah suatu hal yang sulit ditemukan. Dalam kasus lain, penggunaan internet di Indonesia sendiri sudah mengalami perkembangan pesat. Pengguna internet di Indonesia mencapai angka 88,1 juta jiwa pada tahun 2014 (APJII, 2014). Dikarenakan akan hal itu, pemesanan taksi pun dapat dilakukan menggunakan smartphone android yaitu dengan menemukan keberadaan taksi terdekat melalui pencarian lintasan terpendek menggunakan algoritma Floyd–Warshall.

Pencarian lintasan terpendek dalam hal ini digunakan untuk mencari keberadaan taksi terdekat dari lokasi pemesan taksi. Selain itu, pencarian lintasan terpendek merupakan salah satu solusi untuk menghemat waktu dan juga biaya dalam penggunaan taksi bagi supir taksi maupun penumpangnya. Untuk menemukan rute terpendek tersebut diperlukan suatu metode, salah satunya dengan menggunakan metode Floyd-Warshall. Metode Floyd-Warshall yang juga dikenal dengan nama Roy-Floyd ini merupakan penerapan strategi dynamic programming. Demikianlah peranan pemrograman dinamis yang mencoba untuk memberikan solusi yang memiliki pemikiran terhadap konsekuensi yang ditimbulkan dari pengambilan keputusan pada suatu tahap.

Beberapa penelitian sebelumnya telah dilakukan untuk menyelesaikan permasalahan pencarian rute terpendek. Telah dilakukan penelitian dengan judul Penentuan Rute Terpendek Untuk Distribusi Paket Pos Menggunakan Algoritma Floyd-Warshall (Nazam, 2014) yang mana algoritma Floyd-Warshall efisien

(52)

yang menjemput penumpang. Dan hasilnya, algoritma Floyd-Warshall dapat bekerja untuk menemukan rute terpendek menuju lokasi tujuan. Begitu juga pada penelitian untuk menemukan SPBU terdekat berdasarkan urutan jarak terpendek menggunakan algoritma Bellman-Ford (Fadhlia, 2015) rekomendasi SPBU yang terdekat dengan menampilkan jarak asal ke SPBU dan jarak SPBU ke tujuan serta jarak total.

Pada penelitian ini, penulis menghasilkan aplikasi dengan menggunakan algoritma Floyd-Warshall yang mana aplikasi ini melibatkan supir taksi dan pemesan taksi. Taksi yang biasanya dipesan menggunakan telepon, sekarang dapat dipesan menggunakan smartphone oleh calon penumpang.

Aplikasi ini harus digunakan baik oleh supir taksi maupun pemesan taksi. Supir taksi harus menghidupkan GPS-nya untuk mencatat koordinat keberadaan taksi dan untuk memberi status apakah sedang kosong atau sedang ada penumpang. Bagi pemesan taksi, agar dapat menggunakan aplikasi tersebut diharuskan untuk melakukan registrasi terlebih dahulu agar terdaftar sebagai pelanggan. Setelah pelanggan melakukan pemesanan, pesan akan dikirimkan kepada server lalu kemudian server akan mengecek taksi manakah yang kosong. Setelah itu, akan masuk pada proses pencarian taksi manakah yang akan menjemput, yang merupakan taksi yang terdekat dari pelanggan. Dalam hal inilah algoritma Floyd-Warshall bekerja. Algoritma ini akan menghitung lintasan yang dilalui antara setiap supir taksi yang kosong dan pelanggan dan akan menemukan taksi manakah yang terdekat dengan pemesan taksi. Pelanggan taksi yang sudah melakukan pemesanan akan menerima notifikasi mengenai taksi manakah yang akan menjemputnya. Kemudian notifikasi pemesanan dikirimkan kepada supir taksi yang bersangkutan dan supir memberikan respon atas pesan tersebut. Supir akan menjemput penumpang. Output yang dihasilkan bagi pemesan taksi adalah ID taksi, nama supir yang menjemput, jarak antara keberadaan pemesan taksi dan taksi, juga perkiraan waktu menuju lokasi penjemputan. Baik jarak dan waktu yang ditampilkan akan berubah secara otomatis setiap beberapa detik sekali. Sedangkan untuk output bagi supir taksi adalah Google Maps beserta garis yang menghubungkan antara supir taksi dan pemesan taksi.

Pemesanan taksi di kota Medan yang sekarang ini masih lebih banyak menggunakan layanan telepon menjadi salah satu alasan mengapa aplikasi ini ingin dibangun oleh penulis. Oleh karenanya, penulis mengajukan penelitian dengan judul

(53)

1.2Rumusan Masalah

Taksi merupakan salah satu kendaraan umum yang cukup banyak digunakan oleh masyarakat. Dalam pemesanan taksi terkadang terdapat masalah seperti sambungan telepon yang sibuk. Hal ini merupakan salah satu alasan mengapa aplikasi ini dibangun, yaitu bagaimana cara mempermudah pemesanan taksi menjadi lebih efektif dibandingkan melakukan pemesanan menggunakan layanan telepon.

1.3 Batasan Masalah

Adapun batasan masalah yang diberikan dalam penelitian adalah:

1. Daerah yang diambil untuk pemantauan dan pemesanan taksi adalah kota Medan.

2. Koordinat yang diambil adalah persimpangan jalan protokol kota Medan.

1.4 Tujuan Penelitian

Tujuan dari penelitian ini adalah mempermudah pemesanan taksi menjadi lebih efektif dengan menghitung lintasan lintasaan terpendek menggunakan algoritma Floyd-Warshall dan pemantauan keberadaan taksi.

1.5 Manfaat Penelitian

Manfaat yang diharapkan dari penelitian ini adalah mempermudah proses pemesanan taksi yang masih menggunakan layanan telepon sehingga dapat dipesan menggunakan smartphone android dan dapat memantau keberadaan taksi.

1.6 Metode Penelitian

Metode penelitian yang akan digunakan adalah: 1. Studi Literatur

(54)

maupun referensi-referensi lain mengenai algoritma Floyd-Warshall dan Sistem Informasi Geografis.

2. Analisis dan Pengumpulan Data

Pada tahap ini peneliti menganalisis kebutuhan dari aplikasi yang dibuat, seperti mengumpulkan koordinat-koordinat jalan di kota Medan.

3. Perancangan Sistem

Pada tahap ini, peneliti merancang sistem yang akan dibuat berdasarkan hasil analisis data. Rancangan dibuat menggunakan flowchart dan use case diagram. 4. Implementasi Sistem

Setelah melakukan perancangan sistem, peneliti melakukan pengimplementasian dengan menggunakan bahasa pemrograman Java Android (Eclipse), PHP dan database MySQL.

5. Pengujian Sistem

Pada tahap ini dilakukan pengujian apakah algoritma Floyd-Warshall berhasil diterapkan atau tidak terhadap aplikasi yang dibangun.

6. Dokumentasi

Pada tahap ini akan dilakukan laporan mengenai aplikasi yang dibangun yang bertujuan untuk menunjukkan hasil penelitian ini.

1.7 Sistematika Penulisan

Sistematika penulisan dari skripsi ini terdiri dari beberapa bagian, yaitu:

BAB 1. PENDAHULUAN

Bab ini berisi latar belakang diangkatnya judul skripsi, perumusan masalah yang diambil, batasan-batasan masalahnya, tujuan, manfaat penelitian, metode penelitian, dan sistematika penulisan dari penyusunan skripsi ini.

BAB 2. LANDASAN TEORI

(55)

BAB 3. ANALISIS DAN PERANCANGAN

Bab ini membahas mengenai analisis dan perancangan aplikasi dengan menggunakan flowchart dan pembangunan aplikasi menggunakan bahasa pemrograman Java

Android (Eclipse) dan PHP.

BAB 4. IMPLEMENTASI DAN PENGUJIAN APLIKASI

Bab ini menjelaskan implementasi dari analisis yang dilakukan sebelumnya, serta pengujian terhadap sistem yang dibangun.

BAB 5. KESIMPULAN DAN SARAN

Bab ini menguraikan rangkuman dari keseluruhan uraian bab yang ada, serta saran-saran dari hasil yang diperoleh agar bermanfaat untuk pengembangan dari sistem ini selanjutnya.

(56)

Taksi merupakan salah satu kendaraan umum yang cukup banyak digunakan oleh masyarakat. Dalam kasus lain, penggunaan internet di Indonesia sendiri sudah mengalami perkembangan pesat. Dikarenakan akan hal itu, pemesanan taksi pun dapat dilakukan menggunakan smartphone android yaitu dengan menemukan keberadaan taksi terdekat melalui pencarian lintasan terpendek menggunakan algoritma Floyd– Warshall. Algoritma Floyd-Warshall diterapkan untuk menemukan keberadaan taksi terdekat dari pemesan taksi dengan menggunakan perhitungan lintasan terpendek antara taksi dan pemesan taksi. Perhitungan lintasan terpendek berdasarkan koordinat-koordinat persimpangan jalan protokol. Aplikasi tersebut digunakan baik oleh supir taksi juga oleh pemesan taksi. Hasil yang diperoleh oleh pemesan taksi adalah jarak antara taksi yang menjemput dan pemesan taksi dan perkiraan waktu tibanya taksi ke lokasi penjemputan. Titik keberadaan taksi terdekat tersebut didapatkan dari pengeksekusian algoritma Floyd-Warshall antar setiap pasang simpul.

(57)

Taxi is one of the public transportation which quite widely used by the society. In another cas, the internet user in Indonesia has increased rapidly. In other cases, the using of the internet in Indonesia has undergone rapidly. Due to it, a taxi booking also can be made by using android smartphone by finding the nearest taxi existence through a search of the shortest path using Floyd-Warshall algorithm and monitoring the taxi. Floyd-Warshall algorithm applied in finding whereabouts the nearest taxi by using the calculation of the shortest path between the taxi and the passenger. The shortest path calculation is based on the coordinates of the intersection of the main streets. This application is used by both the taxi driver and the customer. The results obtained by the customer is the total distance between the pick up location and taxi location and also the estimated time of arrival of a taxi to the pick-up location

(58)

SKRIPSI

NAOMI CHRISENTYA HUTABARAT 111402047

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(59)

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

NAOMI CHRISENTYA HUTABARAT 111402047

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(60)

Judul :

Kategori : SKRIPSI

Nama : NAOMI CHRISENTYA HUTABARAT

Nomor Induk Mahasiswa : 111402047

Program Studi : S1 TEKNOLOGI INFORMASI

Fakultas :

Komisi Pembimbing :

Diketahui/ disetujui oleh

Program Studi S1 Teknologi Informasi Ketua,

Muhammad Anggia Muchtar, ST., MM.IT NIP. 19800110 200801 1 010

APLIKASI PENCARIAN TAKSI TERDEKAT

MENGGUNAKAN ALGORITMA

FLOYD-WARSHALL

ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

Pembimbing 2

Sarah Purnamawati, S.T., M.Sc NIP. 19830226 201012 2 003

Pembimbing 1

(61)

APLIKASI PENCARIAN TAKSI TERDEKAT MENGGUNAKAN ALGORITMA FLOYD-WARSHALL

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 17 Desember 2015

(62)

Puji dan syukur penulis sampaikan ke hadirat Tuhan Yesus Kristus atas segala berkat dan pengasihan-Nya yang berlimpah sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Komputer di Universitas Sumatera Utara.

Penyelesaian skripsi ini tidak terlepas dari bantuan dan motivasi berbagai pihak. Untuk itu penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada:

1. Bapak Dani Gunawan S.T., M.T selaku pembimbing pertama dan Ibu Sarah Purnamawati S.T., M.Sc selaku pembimbing kedua saya yang telah meluangkan waktu dan tenaganya untuk membimbing penulis dalam penelitian serta penulisan skripsi ini.

2. Bapak Prof. Opim Salim Sitompul selaku dosen pembanding pertama dan Bapak Muhammad Anggia Muchtar ST., MM.IT selaku dosen pembanding kedua yang telah memberikan masukan serta kritik yang bermanfaat dalam penulisan skripsi ini.

3. Ketua dan Sekretaris Program Studi Teknologi Informasi, Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi, juga semua dosen serta pegawai di lingkungan program studi Teknologi Informasi, yang telah membantu serta membimbing penulis selama proses perkuliahan.

4. Bapak Henry Hutabarat dan Antetti Tampubolon selaku orang tua penulis yang telah membesarkan penulis dengan penuh cinta kasih, adik Paulus Hutabarat beserta seluruh keluarga besar yang selalu memberikan dukungan, motivasi, serta doa kepada penulis sehingga dapat menyelesaikan skripsi ini.

5. Robert Simanjuntak atas segala bantuan, motivasi dan doa yang diberikan kepada penulis.

(63)

8. Veby, Monica, Yessi, Leona, Dira, Juju, Bulek, Obed, Fos, Raynaldo, Gandhi, Hendra selaku teman seperjuangan sejak SMA yang terus memberikan dukungan dan doa dalam penyelesaian skripsi ini.

9. Kak Meme dan Febri selaku sepupu yang selalu memberikan dukungan dan doa selama proses penulisan skripsi.

10. Yanti, Debi dan Sarah yang merupakan teman-teman dari kecil yang terus memberikan dukungan dalam proses penyelesaian skripsi.

(64)

Halaman

PERSETUJUAN ii

PERNYATAAN iii

UCAPAN TERIMA KASIH iv

ABSTRAK vi

DAFTAR ISI viii

DAFTAR TABEL xi

DAFTAR GAMBAR xii

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 3

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Metode Penelitian 3

1.7 Sistematika Penulisan 4

BAB 2 LANDASAN TEORI 6

2.1 Lintasan Terpendek 6

2.2 Graf 7

2.2.1 Definisi Graf 7

2.2.2 Jenis - Jenis 7

2.3 Sistem Informasi Geografis 12

2.4 Google Maps 13

2.5 Algoritma Floyd-Warshall 14

2.6 Penelitian Terdahulu 17

BAB 3 ANALISIS DAN PERANCANGAN SISTEM 20

3.1 Analisis Sistem 20

3.2 Arsitektur Umum 20

(65)

3.5 Kegiatan Supir Taksi dan Pemesan Taksi 27

3.6 Aktivitas Pada Sistem 28

3.7 Analisis Algoritma Floyd-Warshall 30

3.7.1 Algoritma Floyd-Warshall 30

3.7.2 Pseudo-code Floyd-Warshall 34

3.8 Perancangan Sistem 34

3.8.1 Rancangan Tampilan Home Untuk Supir 34

3.8.2 Rancangan Tampilan Halaman Utama Untuk Supir 35

3.8.3 Rancangan Tampilan Konfirmasi Supir 36

3.8.4 Rancangan Tampilan Peta Supir 36

3.8.5 Rancangan Tampilan Login Untuk Pemesan Taksi 37 3.8.6 Rancangan Tampilan Registrasi Pelanggan 37 3.8.7 Rancangan Tampilan Pengiriman Pesanan 38 3.8.8 Rancangan Tampilan Status Taksi Yang Dipesan 39

BAB 4 IMPLEMENTASI DAN PENGUJIAN 38

4.1 Implementasi Sistem 39

4.1.1 Spesifikasi Perangkat Keras 39

4.1.2 Spesifikasi Perangkat Lunak 39

4.2 Tampilan Interface Pemesan Taksi 41

4.2.1 Tampilan Home Untuk Pemesan Taksi 41

4.2.2 Tampilan Home Pemesanan 41

4.2.3 Tampilan Pengiriman Pesan 42

4.2.4 Tampilan Notifikasi Penjemputan Untuk Pemesan Taksi 42

4.2.5 Tampilan Status Taksi Yang Dipesan 43

4.3 Tampilan Interface Supir Taksi 44

4.3.1 Tampilan Login Supir 44

4.3.2 Tampilan Main Activity Supir 44

4.3.3 Tampilan Logout Supir 46

4.4 Tampilan Control Room 47

4.5 Pengujian 47

(66)
(67)

DAFTAR TABEL

Halaman

Tabel 2.1 Penelitian Terdahulu 18

Tabel 3.1 Tabel titik 22

Tabel 3.2 Tabel relasi_titik 24

Tabel 3.3 Tabel taksi 24

Tabel 3.4 Tabel supir 25

Tabel 3.5 Tabel pesanan 26

Tabel 3.6 Tabel penumpang 26

Tabel 3.7 Tabel D0 31

Tabel 3.8 Tabel D1 32

Tabel 3.9 Tabel D2 32

Tabel 3.10 Tabel D3 33

(68)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Graf G 7

Gambar 2.2 Contoh Graf Sederhana 8

Gambar 2.3 Contoh Graf Ganda 9

Gambar 2.4 Contoh Graf Semu 9

Gambar 2.5 Contoh Graf Tak Berarah 10

Gambar 2.6 Contoh Graf Berarah 10

Gambar 2.7 Contoh Graf Berhingga 11

Gambar 2.8 Contoh Graf Tak Berhingga 11

Gambar 2.9 Contoh Graf Tidak Berbobot 11

Gambar 2.10 Contoh Graf Berbobot 12

Gambar 2.11 Contoh Graf 16

Gambar 3.1 Arsitektur Umum 21

Gambar 3.2 Peta Kota Medan 23

Gambar 3.3 Proses Mengambil Koordinat 23

Gambar 3.4 Relasi Antar Tabel 27

Gambar 3.5 Kegiatan Supir dan Pemesan Taksi 28

Gambar 3.6 Aktivitas Pada Sistem 29

Gambar 3.7 Contoh Lintasan Terpendek 30

Gambar 3.8 Contoh Graf 31

Gambar 3.9 Rancangan Tampilan Home Untuk Supir 35

Gambar 3.10 Rancangan Tampilan Halaman Utama Untuk Supir 35

Gambar 3.11 Rancangan Tampilan Konfirmasi Supir 36

Gambar 3.12 Rancangan Tampilan Peta Supir 37

Gambar 3.13 Rancangan Tampilan Login Pemesan Taksi 37 Gambar 3.14 Rancangan Tampilan Registrasi Pelanggan 38 Gambar 3.15 Rancangan Tampilan Pengiriman Pesanan 38 Gambar 3.16 Rancangan Tampilan Status Taksi Yang Dipesan 39

Gambar 4.1 Interface Pemesan Taksi 41

(69)

Gambar 4.3 Tampilan Pengiriman Pesanan 42

Gambar 4.4 Tampilan Notifikasi Penjemputan 43

Gambar 4.5 Tampilan Status Taksi Yang Dipesan 43

Gambar 4.6 Tampilan Login Supir 44

Gambar 4.7 Tampilan Main Activity Supir 44

Gambar 4.8 Tampilan Notifikasi Pesanan Taksi 45

Gambar 4.9 Tampilan Konfirmasi Pada Supir 45

Gambar 4.10 Tampilan Peta Supir 46

Gambar 4.11 Tampilan Menu Log Out Supir 46

Gambar 4.12 Tampilan Control Room 47

Gambar 4.13 Tampilan Home Rianto Manik 48

Gambar 4.14 Tampilan Login Pelanggan Taksi 48

Gambar 4.15 Tampilan Untuk Melakukan Pemesanan 49

Gambar 4.16 Tampilan Pesanan Yang Masuk 49

Gambar 4.17 Tampilan Supir 50

Gambar 4.18 Tampilan Pada Pelanggan 50

Gambar 4.19 Tampilan Pelanggan (2) 50

Gambar 4.20 Tampilan Supir (2) 50

Gambar 4.21 Tampilan Pelanggan (3) 51

Gambar 4.22 Tampilan Supir (3) 51

Gambar 4.23 Tampilan Pelanggan (4) 51

Gambar 4.24 Tampilan Supir (4) 51

Gambar

Gambar 3.5 Kegiatan Supir dan Pemesan Taksi
Gambar 3.6 Aktivitas Pada Sistem
Tabel 3.7 Tabel D0
Gambar 3.14 Rancangan Tampilan Registrasi Pelanggan
+7

Referensi

Dokumen terkait

SUDIYA TRILIDARSA, D0213090, STRATEGI KOMUNIKASI INTERPERSONAL GURU TERHADAP ANAK BERKEBUTUHAN KHUSUS (Studi Deskriptif Kualitatif Strategi Komunikasi Interpersonal

Ada pula kegiatan yang dilakukan oleh Masjid Jogokariyan untuk memberdayakan masyarakat sekitar yaitu salah satunya dengan memberikan modal usaha untuk para

Uraian Tugas dan Fungsi KPP (Kantor Pelayanan Pajak) Pratama Medan Petisahb. Kantor Pelayanan Pajak Pratama Medan Petisah yang terletak

Tesis Sikap Alumni Fakultas Hukum Universitas .... Yayuk

Among undergraduates, females (9 percent) were more likely than males (7 percent) to participate in distance education, as were stu- dents over age 24 than younger students and

3D regional geological modelling containing typical structures (folds, faults) from the 2D geological map; (a) 2D geological map; (b) geological framework

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

Dengan demikian berdasarkan hasil wawancara dan observasi yang peneliti lakukan, wanita karier di komplek Hadrah 3, ada 7 KK ditemukan tetap memiliki rasa