Aplikasi Berbasis Android Pencarian Jarak Terpendek Dan Rekomendasi Rute Angkutan Kota Di Medan Menggunakan Algoritma A

BAB 2
LANDASAN TEORI

2.1 Pengertian Angkutan Kota dan Trayek
Angkutan kota merupakan salah satu bentuk dari angkutan umum yang mempunyai
fungsi sebagai sarana pergerakan manusia untuk berpindah dari suatu tempat ketempat
lain, yang juga merupakan sarana transportasi alternatif di dalam kota, terutama bagi
masyarakat yang tidak memiliki kendaraan pribadi (Andriariza, 2006). Di dalam
Undang-Undang Nomor 22 Tahun 2009 tentang Lalu Lintas dan Angkutan Jalan pada
Bab I Ketentuan Umum mendefinisikan Kendaraan Bermotor Umum, dimana setiap
kendaraan bermotor yang disediakan untuk dipergunakan oleh umum dengan dipungut
bayaran baik secara langsung maupun tidak langsung. Menurut Paul Addenbrooke
dalam (Zakky, 2005), masyarakat mempunyai tuntutan untuk mobilitas dan
memfungsikan angkutan umum pada dua hal, yaitu:
1. Memberikan kesempatan orang yang tidak menggunakan kendaraan pribadi
untuk kepuasan ekonomi dan keinginan sosial yang tidak terpenuhi dalam
melakukan pekerjaannya.
2. Memberikan alternatif kepada kendaraan pribadi, karena secara fisik ataupun
ekonomi tidak terbatas penggunaannya tidak tercukupi dan tidak layak secara
sosial atau alasan-alasan lingkungan.
Menurut Undang-Undang Republik Indonesia Nomor 22 Tahun 2009 Tentang

Lalu Lintas dan Angkutan Jalan Pasal 142, Angkutan Perkotaan adalah angkutan dari
satu tempat ke tempat lain dalam kawasan perkotaan yang terikat dalam trayek.
Kawasan perkotaan yang dimaksud berupa:

Universitas Sumatera Utara

7

a. Kota sebagai daerah otonom.
b. Bagian daerah kabupaten yang memiliki ciri perkotaan.
c. Kawasan yang berada dalam bagian dari dua atau lebih daerah yang berbatasan
langsung dan memiliki ciri perkotaan.
Angkutan orang dengan kendaraan umum dalam trayek, terdiri dari: angkutan
Lintas Batas Negara, angkutan Antar Kota Antar Provinsi, angkutan Kota, angkutan
Pedesaan, angkutan Perbatasan, dan angkutan Khusus. Menurut PP No.41 Tahun 1993
tentang Angkutan Jalan pada Bab I Ketentuan Umum mendefinisikan angkutan
perkotaan adalah angkutan dari suatu tempat ke tempat lain dalam wilayah kota
dengan mempergunakan mobil bus umum dan mobil penumpang umum yang terikat
dalam trayek tetap dan teratur yang mempunyai sifat perjalanan ulang-alik (komuter).
Berikut ini adalah penjelasan dari istilah-istilah dasar tentang angkutan perkotaaan:

1. Angkutan adalah pemindahan orang dan/atau barang dari satu tempat ke
tempat lain dengan menggunakan kendaraan.
2. Wilayah pengoperasian adalah wilayah atau daerah untuk pelayanan angkutan
kota yang dilaksanakan dalam jaringan trayek.
3. Wilayah pelayanan angkutan kota adalah yang di dalamnya bekerja satu sistem
pelayanan angkutan penumpang umum karena adanya kebutuhan pergerakan
penduduk dalam kota.
4. Armada adalah aset berupa kendaraan mobil bus yang dipertanggung jawabkan
perusahaan baik yang dalam keadaan siap guna maupun dalam konservasi.
5. Terminal adalah prasarana transportasi jalan untuk keperluan memuat dan
menurunkan orang dan/atau barang serta mengatur kedatangan dan
pemberangkatan kendaraan umum, yang merupakan salah satu wujud simpul
jaringan transportasi.
6. Trayek adalah lintasan kendaraan umum untuk pelayanan jasa angkutan orang
dengan mobil bus, yang mempunyai asal dan tujuan perjalanan tetap, lintasan
tetap dan jadwal tetap maupun tidak terjadwal.
2.2

Algoritma A* (A-star)


Algoritma A* adalah algoritma best-first Search yang paling banyak dikenal. Menurut
(Russel & Norvig, 2003) algoritma A* memiliki lima komponen utama, yaitu: node

Universitas Sumatera Utara

8

awal, node goal, open list, closed list dan cost. Node awal merupakan titik awal dari
posisi saat ini, sedangkan node goal merupakan titik akhir atau dapat juga disebut titik
tempat tujuan. Cost merupakan nilai dari jarak yang telah ditempuh untuk sampai ke
tempat tujuan. Open list ini berupa sebuah priority queen, dimana setiap node yang
masuk pertama akan dikeluarkan pertama dengan syarat tertentu. Closed list ini
berupa sebuah stack, dimana node yang terakhir dimasukkan akan dikeluarkan
pertama kali. Selain sebagai penampung node yang telah dilewati, closed list ini juga
digunakan untuk mendapatkan rute terdekat saat node goal sudah dicapai.
Algoritma memeriksa node dengan menggabungkan g(n) yaitu cost yang
dibutuhkan untuk mencapai sebuah node dan h(n), yaitu cost yang di dapat dari node
ke tujuan. Sehingga didapatkan rumus dasar dari algoritma A* adalah:
f(n)= g(n) + h(n)


… …(1)

dimana:
h(n) = Nilai heuristik antar Koordinat
g(n) = Jarak Koordinat ke titik tujuan
Dalam notasi standar yang dipakai untuk algoritma A* pada rumus persamaan (1),
digunakan g(n) untuk mewakili cost rute dari node awal ke node n. Lalu h(n) mewakili
perkiraan cost dari node n ke node goal, yang dihitung dengan fungsi heuristik. A*
‘menyeimbangkan’ kedua nilai ini dalam mencari jalan dari node awal ke node goal
(Ilham, Soetedjo & Faisol, 2011).
Pencarian mengunakan algoritma A* mempunyai prinsip yang sama dengan
algoritma BFS (Breath-First Search), hanya saja dengan 2 faktor tambahan.
a. Setiap sisi mempunyai “cost” yang berbeda-beda, seberapa besar cost untuk
pergi dari satu simpul ke simpul yang lain.
b. Cost dari setiap simpul ke simpul tujuan bisa kita ingin mencari jalan dengan
waktu tercepat untuk dilalui.
Berikut terminologi dasar yang terdapat pada algoritma A* (Andysah, 2012):
1. Starting point sebagai posisi awal sebuah benda.
2. Current adalah simpul yang sedang dijalankan pada algoritma pencarian jarak
terpendek.


Universitas Sumatera Utara

9

3. Simpul adalah petak kecil atau pixel sebagai representasi dari arah path
finding. Bentuknya dapat berupa persegi, lingkaran, maupun segitiga.
4. Open list adalah tempat menyimpan data simpul yang mungkin diakses dari
starting point maupun simpul yang sedang dijalankan.
5. Closed list adalah tempat penyimpanan data simpul sebelum Current yang
juga merupakan bagian dari jalur terpendek yang telah berhasil diciptakan.
6. “f” adalah nilai yang diperoleh dari penjumlahan. ”g” merupakan jumlah nilai
tiap simpul dalam jalur terpendek dari titik awal ke Current dan “h”
merupakan jumlah nilai perkiraan dari sebuah simpul ke simpul tujuan.
Sehingga dapat diformulasikan dengan f(x) = g(x) + h(x).
7. Simpul tujuan adalah simpul yang dituju.
8. Halangan adalah sebuah atribut yang menyatakan bahwa sebuah simpul tidak
dapat dilalui oleh Current.
A* dapat juga dapat diimplementasikan, jika kebutuhan akan pencarian yang
membutuhkan perulangan. Prinsip algoritma A* yaitu, akan melintasi semua graf yang

berhubungan dengan starting point, mengurutkan cost terkecil dengan memperhatikan
cost (f) kedalam antrian graf yang dilalui (Pratama,2014). Jika, pada titik tertentu
segmen jalan yang dilalui memiliki biaya yang lebih tinggi dari segmen jalan yang
lain yang sedang dihadapi, maka A* akan meninggalkan jalan dengan cost yang lebih
tinggi.
Algoritma ini menggunakan dua antrian, yaitu Open dan Close. Dimulai dengan
titik awal dijadikan antrian prioritas titik untuk dilalui, dikenal sebagai Open set.
Semakin rendah cost untuk suatu simpul x, semakin tinggi prioritas. Pada setiap
langkah dari algoritma A* simpul dengan cost tertinggi maka akan dihapus dari
antrian, f dan h nilai-nilai tetangganya diperbarui sesuai dengan relasi pada graf dan
tetangga ini ditambahkan ke antrian . Algoritma A* akan terus mencari sampai titik
tujuan yang memiliki nilai f lebih rendah dengan menggunakan nilai heuristik untuk
mempersempit ruang pencarian yaitu dengan membatasi vertex yang akan diuji pada
setiap percabangan. Jika sudah sampai ke titik tujuan maka A* akan menjumlahkan
panjang path yang sebenarnya (Coppin, 2004).

Universitas Sumatera Utara

10


Mulai

Inisialisasi list OPEN =
nil, CLOSED = nil

Masukkan node awal ke list
OPEN

Set CurrentNode =
Best_Node (OPEN)

Current_Node=
GOAL?

Ya

Tidak
Backtrack untuk
menampilkan Rute


Keluarkan Current_Node
dari OPEN, masukkan ke
CLOSED

For I; =1 to jumlah neighbor
Current_Node do

Tidak

Node (i) Dapat
Dilalui?

Ya
Ya

Tidak

Ada dalam
CLOSED?


Tidak
Tidak

Ada dalam
OPEN?

Masukkan node (i) dalam
OPEN, Set parent node (i)=
Current_Node,
Hitung dan simpan nilai f,g,h

Ya

Nilai g node (i) < g
node dalam OPEN?

Ya
Set parent node (i) = Current_Node
Kalkulasi ulang nilai
g dan f


i

Tidak

OPEN = nil?

Ya
Rute Tidak Ada

Stop

Gambar 2.1 Flowchart Pencarian Rute dengan algoritma A*

Universitas Sumatera Utara

11

2.3


Google Maps API (Application Programming Interface)

Google Maps adalah layanan pemetaan berbasis web service yang disediakan oleh
Google dan bersifat gratis, yang memiliki kemampuan terhadap banyak layanan
pemetaan berbasis web. Google Maps juga memiliki sifat server side, yaitu peta yang
tersimpan pada server Google dapat dimanfaatkan oleh pengguna. Google Maps API
adalah suatu library yang berbentuk javascript yang berguna untuk memodifikasi peta
yang ada di Google Maps sesuai kebutuhan. Untuk membangun aplikasi yang
memanfaatkan Google Maps di desktop dan mobile device maka akan digunakan
Google Maps Javascript API v3 yang memiliki keunggulan lebih cepat dari versi
sebelumnya (Google Developers, 2012).
2.4

GIS (Geographic Information System)

GIS (Geographic Information System) adalah sistem yang bekerja dengan data yang
tereferensi secara spasial atau koordinat-koordinat geografi (Ilham.R,Soetedjo.A&
Faisol.A, 2011). Sistem ini mampu untuk mengolah data dan melakukan operasi
tertentu dengan menampilan dan menganalisa data. Aplikasi GIS ini menjadi beragam
jenis aplikasinya. Selain jumlah aplikasinya yang juga bertambah, kedepannya
pengembangan aplikasi ini merambah ke aplikasi berbasis jaringan yang dikenal
dengan web GIS. Ini dikarenakan lingkungan jaringan merupakan tempat subur
berkembangnya geoinformasi. Contohnya adalah peta sebuah kota secara online yang
tidak mengenal batas geografi penggunaannya.
Tujuan

pokok

dari

pemanfaatan

GIS

adalah

untuk

mempermudah

mendapatkan informasi yang telah diolah dan tersimpan sebagai atribut suatu lokasi
atau obyek. Ciri utama data yang bisa dimanfaatkan dalam GIS adalah data yang telah
terikat dengan lokasi dan merupakan data dasar yang belum dispesifikasi
(Dulbahri, 1993). Data-data yang diolah dalam GIS pada dasarnya terdiri dari data
spasial dan data atribut dalam bentuk digital, dengan demikian analisis yang dapat
digunakan adalah analisis spasial dan analisis atribut. Data spasial merupakan data
yang berkaitan dengan lokasi keruangan yang umumnya berbentuk peta. Sedangkan
data atribut merupakan data tabel yang berfungsi menjelaskan keberadaan berbagai
objek sebagai data spasial.

Universitas Sumatera Utara

12

Penyajian data spasial mempunyai tiga cara dasar yaitu dalam bentuk titik,
bentuk garis dan bentuk area (polygon). Titik merupakan kenampakan tunggal dari
sepasang koordinat x,y yang menunjukkan lokasi suatu obyek berupa ketinggian,
lokasi kota, lokasi pengambilan sampel dan lain-lain. Garis merupakan sekumpulan
titik-titik yang membentuk suatu kenampakan memanjang seperti sungai, jalan, kontus
dan lain-lain. Sedangkan area adalah kenampakan yang dibatasi oleh suatu garis yang
membentuk suatu ruang homogen, misalnya: batas daerah, batas penggunaan lahan,
pulau dan lain sebagainya. Struktur data spasial dibagi dua yaitu model data raster dan
model data vektor. Data raster adalah data yang disimpan dalam bentuk kotak segi
empat (grid)/sel sehingga terbentuk suatu ruang yang teratur. Data vektor adalah data
yang direkam dalam bentuk koordinat titik yang menampilkan, menempatkan dan
menyimpan data spasial dengan menggunakan titik, garis atau area (polygon) (Barus
dan Wiradisastra, 2000). Bentuk produk suatu GIS dapat bervariasi baik dalam hal
kualitas, keakuratan dan kemudahan pemakainya. Hasil ini dapat dibuat dalam bentuk
peta-peta, tabel angka-angka: teks di atas kertas atau media lain (hard copy), atau
dalam cetak lunak (seperti file elektronik).
Barus dan Wiradisastra (2000) juga mengungkapkan bahwa GIS adalah alat
yang handal untuk menangani data spasial, dimana dalam GIS data dipelihara dalam
bentuk digital sehingga data ini lebih padat dibanding dalam bentuk peta cetak, tabel
atau dalam bentuk konvensional lainnya yang akhirnya akan mempercepat pekerjaan
dan meringankan biaya yang diperlukan.
Sarana utama untuk penanganan data spasial adalah GIS. GIS didesain untuk
menerima

data

spasial

dalam

jumlah

besar

dari

berbagai

sumber

dan

mengintergrasikannya menjadi sebuah informasi, salah satu jenis data ini adalah data
pengindraan jauh. Pengindraan jauh mempunyai kemampuan menghasilkan data
spasial yang susunan geometrinya mendekati keadaan sebenarnya dengan cepat dan
dalam jumlah besar. Barus dan Wiradisastra (2000) mengatakan bahwa GIS akan
memberi nilai tambah pada kemampuan pengindraan jauh dalam menghasilkan data
spasial yang besar dimana pemanfaatan data pengindraan jauh tersebut tergantung
pada cara penanganan dan pengolahan data yang akan mengubahnya menjadi
informasi yang berguna.

Universitas Sumatera Utara

13

2.5

Android

Android sudah tidak asing lagi dalam dunia teknologi. (Nazrudin dan Safaat H ,2011)
Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang
mencakup sistem operasi, middleware, dan aplikasi. Android adalah sistem operasi
untuk telepon seluler yang berbasis Linux. Android menyediakan platform terbuka
bagi para pengembang untuk membuat aplikasi mereka sendiri. Pada awalnya
dikembangkan oleh Android Inc, sebuah perusahaan pendatang baru yang membuat
perangkat lunak untuk ponsel yang kemudian dibeli oleh Google Inc. Untuk
pengembangannya, dibentuklah Open Handset Alliance (OHA), konsorsium dari 34
perusahaan perangkat keras, perangkat lunak, dan telekomunikasi termasuk Google,
HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. Tidak hanya itu saja,
Google juga merilis kode-kode Android di bawah lisensi Apache, sebuah lisensi
perangkat lunak dan standar terbuka perangkat seluler. Android merupakan sistem
operasi ponsel yang tumbuh di tengan sistem operasi

lainnya yang berkembang

dewasa ini. Sistem operasi lainnya seperti Windows Mobile, IOS, Symbian, dan
masih banyak lagi juga menawarkan kekayaan isi dan keoptimalan berjalan di atas
perangkat keras (hardware) yang ada. Akan tetapi, sistem operasi yang

ada ini

berjalan dengan memprioritaskan aplikasi inti yang dibangun sendiri tanpa melihat
potensi yang cukup besar dari aplikasi pihak ketiga.
Oleh karena itu, adanya
mendapatkan data asli ponsel,

keterbatasan dari aplikasi pihak ketiga untuk
berkomunikasi antar proses serta keterbatasan

distribusi aplikasi pihak ketiga untuk platform mereka. Android menawarkan sebuah
lingkungan yang berbeda untuk pengembang. Setiap aplikasi memiliki tingkatan yang
sama. Android tidak membedakan antara aplikasi inti dengan aplikasi pihak ketiga
(Safaat H, 2011). API yang disediakan menawarkan akses ke hardware, maupun datadata ponsel sekalipun, atau data sistem itu sendiri. Bahkan pengguna dapat menghapus
aplikasi inti dan menggantikannya dengan aplikasi pihak ketiga. Sedangkan Android
SDK (Software Development Kit) menyediakan Tools dan API yang diperlukan untuk
mengembangkan aplikasi pada platform Android dengan menggunakan bahasa
pemrograman Java. Untuk pengembang hal yang perlu diperhatikan bahwa tidak
membutuhkan sertifikasi untuk menjadi pengembang Android. Android juga telah
menyediakan Android

Market bagi para pengembang untuk menempatkan dan

Universitas Sumatera Utara

14

menjual aplikasi yang telah dibuatnya. Hal menarik lainnya yang menjadi pembeda
Android dengan yang lain adalah:
1. Pertukaran data dan komunikasi antar proses
2. Aplikasi servis yang berjalan di background
3. Dukungan Google Map
Untuk membangun atau membuat aplikasi berbasis Android, terdapat dua cara.
Pertama, memiliki perangkat telepon seluler yang berbasis Android langsung. Kedua,
menggunakan emulator yang sudah disediakan oleh Google. Sebelum memulai
membangun aplikasi berbasis Android, diperlukan beberapa perangkat, antara lain :
1) The Eclipse IDE.
2) Sun’s Java Development Kit (JDK).
3) The Android Software Developer’s Kit (SDK).
4) The Android Developer Tool (ADT).
5) Plug-in Eclipse.
Windows (XP, Vista dan 7), Linux dan Mac OS X merupakan sistem operasi
yang dapat digunakan untuk pengembangan pembuatan aplikasi berbasis Android
dengan memanfaatkan Android SDK (Elian & Mazharuddin, 2012).
2.6 PHP (Hypertext Preprocessor)
PHP adalah bahasa pemrograman berbasis web yang memiliki kemampuan untuk
memproses data dinamis. PHP dikatakan sebagai sebuah server-side embedded script
language artinya sintaks-sintaks dan perintah yang kita berikan akan sepenuhnya
dijalankan oleh server tetapi disertakan pada halaman HTML biasa. Aplikasi-aplikasi
yang dibangun oleh PHP pada umumnya akan memberikan hasil web browser, tetapi
prosesnya secara keseluruhan dijalankan di server.
Pada prinsipnya server akan bekerja apabila ada permintaan dari client. Dalam
hal ini client menggunakan kode-kode PHP untuk mengirimkan permintaan ke server.
Ketika menggunakan PHP sebagai server-side embedded script language maka server
akan melakukan hal-hal sebagai berikut:
1) Membaca permintaan dari client/browser
2) Mencari halaman/page di server

Universitas Sumatera Utara

15

3) Melakukan instruksi yang diberikan oleh PHP untuk melakukan modifikasi
pada halaman (page).
4) Mengirim kembali halaman tersebut kepada client melalui internet atau
intranet.
2.7

Penelitian Terdahulu

Berbagai penelitian terdahulu tentang pencarian jarak terpendek menggunakan
algoritma A* dan algoritma pencarian jarak terpendek lainnya.Selain itu penelitian
terdahulu juga membahas tentang angkutan umum dan aplikasi berbasis android.
Adapun penelitian terdahulu dapat dilihat pada Tabel 2.1 berikut ini:
Tabel 2.1 Penelitian Terdahulu
No

Judul

Tahun

Metode

Keterangan

1.

Aplikasi Mobile
Pencarian Rute
Transportasi Umum
Pada Platform
Android

2013

Best_Path
Planning

Berhasil
mengimplementasikan
algoritma Best-Path
Planning dalam pencarian
rute transportasi umum di
kota Surabaya. Pada hasil
uji coba, load data
membutuhkan waktu ratarata 1 menit 15 detik.
pencarian. membutuhkan
waktu yang cukup lama.

2.

Sistem Pendukung

2012

Floyd

Sistem pendukung

Warshall

keputusan ini dapat

Keputusan Pemilihan
Alat Transportasi

dijadikan sumber informasi,

Umum Kota Malang

namun waktu eksekusi yang
sedikit lama dalam
memberikan rekomendasi.
Semakin banyak verteks,
semakin lama proses
pencarian.

Universitas Sumatera Utara

16

Tabel 2.1 Penelitian Terdahulu (lanjutan)
No
4.

Judul
Pencarian Lokasi

Tahun
2012

Fasilitas Umum

3.

Metode

Keterangan

Algoritma

Menampilkan

A*

untuk

informasi

mencapai

lokasi.

Terdekat dilengkapi

Jalan yang dilalui tidak di

dengan Rute

tampilkan

Kendaraan Umum

memiliki kesulitan untuk

Lyn

mencapai lokasi.

Sistem pencarian
Trayek Bis Antar
kota

2013

sehingga

user

Algoritma

Mampu menangani proses

A*

pencarian data trayek bis
dengan dua jenis data yang
berbeda. Tetapi Tidak
memanfaatkan API Google
Map untuk memberikan rute
yang dilalui.

Universitas Sumatera Utara