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