• Tidak ada hasil yang ditemukan

APLIKASI WEB PENCARIAN RUTE ANGKUTAN UMUM YANG OPTIMAL DI KOTA BANDUNG IRFAN ARROFI KUSMARA

N/A
N/A
Protected

Academic year: 2021

Membagikan "APLIKASI WEB PENCARIAN RUTE ANGKUTAN UMUM YANG OPTIMAL DI KOTA BANDUNG IRFAN ARROFI KUSMARA"

Copied!
29
0
0

Teks penuh

(1)

APLIKASI WEB PENCARIAN RUTE ANGKUTAN UMUM

YANG OPTIMAL DI KOTA BANDUNG

IRFAN ARROFI KUSMARA

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

BOGOR 2016

(2)
(3)

PERNYATAAN MENGENAI SKRIPSI DAN

SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA

Dengan ini saya menyatakan bahwa skripsi berjudul Aplikasi Berbasis Web Pencarian Rute Angkutan Umum yang Optimal di Kota Bandung adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini.

Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor.

Bogor, Agustus 2016

Irfan Arrofi Kusmara

(4)

ABSTRAK

IRFAN ARROFI KUSMARA. Aplikasi Web Pencarian Rute Angkutan Umum yang Optimal di Kota Bandung. Dibimbing oleh AURIZA RAHMAD AKBAR.

Angkot merupakan moda transportasi yang banyak dimanfaatkan masyarakat dalam memenuhi kebutuhan mobilitasnya sehari-hari. Kota Bandung memiliki banyak angkot dengan rute yang berbeda, karena itu sulit untuk memilih angkot bagi seseorang yang tidak mengenal rute angkot di kota Bandung. Penelitian ini bertujuan untuk membangun aplikasi web angkutan kota Bandung dengan menggunakan algoritme Dijkstra untuk pencarian rute terpendeknya. Data yang digunakan merupakan informasi umum angkot resmi yang terdaftar di DLLAJ kota Bandung. Pembuatan sistem informasi geografis ini dengan menggunakan bahasa pemrograman PHP, PgRouting dan PostgresSQL untuk merancang sistem database sebagai penyimpanan data aplikasi. Hasil dari pengembangan aplikasi web ini menampilkan rute angkot berdasarkan tempat asal dan tujuan yang dimasukkan pengguna.

Kata kunci: angkot, Bandung, Dijkstra, pgRouting

ABSTRACT

IRFAN ARROFI KUSMARA. Web Application for Optimal Public Transportation Route in Bandung. Supervised by AURIZA RAHMAD AKBAR.

Angkot is a type of transportation that many people used for their everyday community needs. Bandung city has many angkot with different route. Therefore, it’s difficult to choose an angkot for someone who does not know the angkot route in Bandung. The purpose of this research was to develop a web-based angkot application in Bandung using Dijkstra algorithm to find the shortest route. This research used the official angkot data obtained from DLLAJ Bandung. This geographic information system was developed using PHP programming language, PgRouting, and PostgresSQL. This web application can show the angkot route based on the starting point and the destination point of user input.

(5)

Skripsi

sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer

pada

Departemen Ilmu Komputer

APLIKASI WEB PENCARIAN RUTE ANGKUTAN UMUM

YANG OPTIMAL DI KOTA BANDUNG

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

BOGOR 2016

(6)

Penguji:

1 Dr Ir Sri Wahjuni, MT

(7)

Judul Skripsi : Aplikasi Web Pencarian Rute Angkutan Umum yang Optimal di Kota Bandung

Nama : Irfan Arrofi Kusmara NIM : G64120016

Disetujui oleh

Auriza Rahmad Akbar, SKomp MKom Pembimbing

Diketahui oleh

Dr Ir Agus Buono, MSi MKom Ketua Departemen

(8)

PRAKATA

Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih dalam penelitian yang dilaksanakan sejak bulan Desember 2015 ini ialah sistem informasi dengan judul Aplikasi Web Pencarian Rute Angkutan Umum yang Optimal di Kota Bandung.

Penulis menyadari bahwa dalam menyelesaikan skripsi ini banyak kendala yang dihadapi. Oleh Karena itu, penulis ingin mengucapkan terima kasih kepada Bapak Agus Budiman selaku ayah dan Ibu Nina Marlina selaku ibu serta seluruh keluarga yang telah memberikan dukungan, doa, perhatian, kasih sayang selama penulis menyelesaikan skripsi ini. Terima kasih penulis ucapkan kepada Bapak Auriza Rahmad Akbar, SKomp MKom selaku pembimbing yang telah banyak memberi saran dan bimbingan serta meluangkan waktu untuk membantu penulis dalam penelitian dan penulisan skripsi serta kepada Ibu Dr Ir Sri Wahjuni, MT dan Ibu Dr Imas Sukaesih Sitanggang, SSi MKom selaku dosen penguji atas masukan dan arahannya dalam penyempurnaan karya ilmiah ini. Ucapan terima kasih juga penulis sampaikan kepada teman-teman terdekat saya yang telah memberikan semangat, menemani, dan membantu selama penyelesaian skripsi ini. Terima kasih tak lupa penulis sampaikan kepada seluruh teman-teman Ilmu Komputer IPB angkatan 49 yang telah bersama-sama menjalani perkuliahan selama 3 tahun. Semoga karya ilmiah ini bermanfaat.

Bogor, Agustus 2016

(9)

DAFTAR ISI

DAFTAR TABEL vii

DAFTAR GAMBAR vii

DAFTAR LAMPIRAN vii

PENDAHULUAN 1

Latar Belakang 1

Perumusan Masalah 2

Tujuan Penelitian 2

Manfaat Penelitian 2

Ruang Lingkup Penelitian 2

TINJAUAN PUSTAKA 2 Algoritme Dijkstra 3 pgRouting 3 OpenLayers 3 GeoJSON 4 METODE PENELITIAN 4

Penentuan Wilayah Penelitian 5

Pengumpulan Data 5

Pembangunan Topologi Rute Jalan 5

Pencarian Rute Terpendek 5

Visualisasi Rute Terpendek 6

Peralatan Penelitian 6

HASIL DAN PEMBAHASAN 6

Penentuan Wilayah Penelitian 6

Pengumpulan Data 7

Pembangunan Topologi Rute Jalan 9

Pencarian Rute Terpendek 10

Visualisasi Rute Terpendek 11

SIMPULAN DAN SARAN 11

Simpulan 13

(10)

DAFTAR PUSTAKA 13

LAMPIRAN 15

(11)

DAFTAR TABEL

1 Atribut tabel tempat 9

2 Atribut tabel rutebandung 9

3 Atribut tabel rutebandung_vertices_pgr 9

4 Rute dari tempat id 132 ke 43 10

DAFTAR GAMBAR

1 Tahapan penelitian 4

2 Peta Kota Bandung 7

3 Peta jalan Kota Bandung 7

4 Peta rute angkot 8

5 Point of interest 8

6 Visualisasi pada web dengan menggunakan library OpenLayers 13

DAFTAR LAMPIRAN

1 Trayek angkutan kota yang ada di kota Bandung 15

(12)
(13)

PENDAHULUAN

Latar Belakang

Angkutan umum merupakan sarana angkutan untuk masyarakat kecil dan menengah supaya dapat melaksanakan kegiatannya sesuai dengan tugas dan fungsinya dalam masyarakat. Warpani (1990), menyatakan bahwa angkutan umum penumpang adalah angkutan penumpang yang dilakukan dengan sistem sewa atau membayar. Masalah yang ada pada area publik di Asia dan di negara berkembang lainnya adalah bagaimana menangani permintaan yang terus meningkat untuk transportasi publik (Munawar 2007).

Kota Bandung merupakan ibukota sekaligus kota metropolitan terbesar di Provinsi Jawa Barat. Namun dengan banyaknya predikat tersebut, informasi akan sarana transportasi yang ada di Kota Bandung masih terbatas. Hal ini pun menjadi kendala, khususnya bagi warga Bandung atau pendatang yang tidak memiliki kendaraan pribadi tetapi ingin menuju ke lokasi tertentu tanpa mengetahui rute transportasi umum seperti angkutan kota.

Saat ini pencarian jalur transportasi suatu lokasi dilakukan dengan cara berselancar di internet, yaitu membuka Google Maps, memasukkan lokasi asal, kemudian memasukkan lokasi tujuan. Google Maps telah menyediakan alternatif menuju lokasi pencarian menggunakan mobil, bus, berjalan kaki, dan menggunakan sepeda, tetapi untuk kondisi pengguna yang menggunakan transportasi umum seperti angkot, Google Maps belum dapat menampilkan jawaban dari kebutuhan pengguna tersebut karena hanya menampilkan lokasi halte angkot. Permasalahan ini seharusnya dapat diatasi agar waktu yang diperlukan pengguna dalam melakukan pencarian posisi serta rute angkutan Kota Bandung dapat lebih efisien.

Berdasarkan latar belakang di atas, pada tugas akhir ini dibuat sebuah aplikasi berbasis web untuk memberikan solusi yaitu pencarian rute angkutan umum. Dengan demikian aplikasi berbasis web ini akan menampilkan semua rute angkutan kota di Bandung. Pengguna juga dapat menvisualisasi dan menganalis suatu area studi berdasarkan lokasi-lokasi geografis tertentu, misalnya dalam menentukan lokasi rute angkutan kota dan menentukan angkutan kota apa yang harus mereka naiki. Lokasi ini dapat dianalis dengan memperhatikan dan memperhitungkan posisi rute angkutan kota yang berada di Bandung.

Perumusan Masalah

Permasalahan yang timbul pada pembuatan tugas akhir ini dirumuskan sebagai berikut:

1 Bagaimana membangun aplikasi yang berbasis web berdasarkan data yang di dapat sehingga dapat memberikan informasi mengenai rute angkutan kota, khususnya di Kota Bandung.

2 Bagaimana pengguna dapat memilih angkutan kota yang tepat untuk sampai ke tujuan

3 Bagaimana mencari rute angkutan kota berdasarkan posisi awal dan tujuan si pengguna.

4 Bagaimana menampilkan rute angkutan kota terpendek berdasarkan jarak yang telah ditempuh.

(14)

2

Tujuan Penelitian

Adapun tujuan dari proyek akhir ini berdasarkan rumusan masalah yang telah dijabarkan:

1 Memberikan informasi rute angkutan kota Bandung dari trayek awal menuju trayek akhir dengan bantuan peta visual OpenLayers

2 Memberikan informasi rute angkutan kota Bandung yang akan dinaiki pengguna untuk sampai ke tujuan berdasarkan bobot jarak yang ditempuh dari posisi awal hingga posisi akhir.

Manfaat Penelitian

Hasil dari penelitian berupa aplikasi berbasis web ini dapat dikembangkan dan dimanfaatkan secara lebih lanjut oleh berbagai pihak untuk diterapkan di kota lainnya. Dari sisi pengguna diharapkan dapat memudahkan pengguna untuk melakukan perjalanan menuju ke tempat tujuan dengan menaiki angkutan kota yang tepat terutama pendatang atau wisatawan.

Ruang Lingkup Penelitian

Adapun batasan masalah dalam proyek akhir ini di antaranya adalah:  Daerah yang menjadi objek pembuatan tugas akhir ini adalah Kota Bandung.  Jenis angkutan yang digunakan adalah angkutan umum meliputi angkutan kota

dan tempat tujuan dibatasi hanya pada hotel, tempat belanja, terminal, bandara, dan rumah makan.

 Data angkutan kota yang dipakai adalah angkutan kota yang terdaftar di DLLAJ kota Bandung dan diasumsikan semua rute dua arah.

 Pembobotan yang dipakai hanya jarak dan pgRouting dipakai untuk implementasi algoritme Dijkstra.

TINJAUAN PUSTAKA

Algoritme Dijkstra

Algoritme Dijkstra merupakan salah satu varian dari algoritme greedy, yaitu salah satu algoritme yang popular dalam pemecahan permasalahan yang terkait dengan optimasi. Algoritme greedy sendiri memiliki prinsip mengambil apa saja yang bisa diambil saat ini dan keputusan yang telah diambil pada setiap langkah tidak akan bisa diulang kembali. Intinya algoritme greedy berupaya untuk mengambil pilihan nilai optimum lokal pada setiap langkah dan berharap agar nilai optimum lokal ini dapat membantu mendapatkan nilai optimum global (Cormen et al. 2009). Penggunaan strategi greedy pada algoritme Dijkstra terjadi pada setiap langkah, yaitu dengan cara memilih biaya paling minimum dari sebuah node awal atau node berlabel permanen ke node berlabel sementara. Ide dasar dari algoritma Dijkstra adalah fakta jika R adalah sebuah node yang

(15)

3 termasuk pada path terpendek dari node P menuju node Q, fakta tersebut juga berlaku untuk path terpendek dari node P menuju node R, terdapat sebuah node yang termasuk pada path terpendek dari node P menuju node R, fakta tersebut berlanjut sampai node yang terhubung langsung dengan node P. Sehingga solusi untuk pencarian path terpendek dari node P menuju node Q adalah menyambungkan node P dengan node-node lain menggunakan path yang terpendek dengan tujuan menambah jangkauan sampai terjangkaunya node Q (Dijkstra 1959). Berikut adalah algoritme Dijkstra dalam bentuk pseudocode (Cormen et al. 2009).

function Dijkstra(Graph, source): dist[source] := 0

for each vertex v in Graph: if v ≠ source dist[v] := infinity previous[v] := undefined end if add v to Q end for

while Q is not empty:

u := vertex in Q with min dist[u] for each neighbor v of u:

alt := dist[u] + length(u, v) if alt < dist[v]: dist[v] := alt previous[v] := u end if end for end while

return dist[], previous[] end function

pgRouting

pgRouting merupakan proyek open source dari PostLBS untuk menambahkan fungsi routing (perhitungan jarak terpendek dari data polyline) pada PostGIS berdasarkan bahasa prosedural PL/PGSQL. PostLBS memperkuat pgRouting ini dengan metode Dijkstra, A*, traveling salesman problem (TSP) dan

driving distance calculation (DDC) untuk membedakan jalur yang dapat ditempuh

oleh kendaraan maupun jalan kaki, sama seperti opsi yang terdapat pada routing Google Maps/Earth (Takubo et al. 2011).

OpenLayers

OpenLayers adalah library JavaScript untuk menampilkan data peta di berbagai web browser tanpa server side dependencies. Library yang ada memberikan integrasi data dari sumber dari beraneka ragam sumber dan menyediakan API yang friendly dengan hasil yang baik dan responsif. OpenLayers mengimplementasikan JavaScript API untuk membangun aplikasi geografis berbasis web yang mirip dengan Google Maps. OpenLayers bersifat free

(16)

4

GeoJSON

GeoJSON adalah format untuk encoding berbagai struktur data geografis. Sebuah objek GeoJSON mungkin merupakan geometri, fitur, atau koleksi fitur. GeoJSON mendukung jenis geometri berikut: Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, dan GeometryCollection. Fitur di GeoJSON berisi objek geometri dan sifat tambahan, dan koleksi fitur mewakili daftar fitur (Butler et al. 2008).

METODE PENELITIAN

Metode yang digunakan diadopsi dari metode penelitian yang digunakan Aditama (2014) dalam pengimplementasian algoritme Dijkstra untuk menentukan jalur terpendek. Pada penelitian ini akan dilakukan penerapan algoritme Dijkstra untuk menentukan rute yang optimal berdasarkan total jarak tempuh terpendek dari berbagai lokasi yang mengaksesnya. Tahapan penelitian ini disajikan pada Gambar 1.

Gambar 1 Tahapan penelitian

Mulai Penentuan wilayah penelitian

Pengumpulan data

Pembangunan topologi rute jalan

Pencarian rute terpendek

Visualisasi rute terpendek

(17)

5

Penentuan Wilayah Penelitian

Wilayah penelitian merupakan area yang akan dijadikan untuk mengimplementasikan algoritme Dijkstra. Wilayah penelitian dipilih dengan pertimbangan seberapa besar hasil penelitian ini dapat dimanfaatkan. Dengan mempertimbangkan banyaknya angkutan kota di kota Bandung dan seringnya dikunjungi oleh wisatawan, maka wilayah penelotian dipilih di kota Bandung.

Pengumpulan Data

Jenis data jaringan jalan yang digunakan dalam penelitian ini berupa data sekunder. Data sekunder adalah data yang diperoleh melalui data yang telah diteliti dan dikumpulkan oleh pihak lain yang berkaitan dengan permasalahan penelitian. Data pada penelitian ini didapat dari OpenStreetMaps. Data berupa tempat dan jalur yang menghubungkan antar-titik yang terdapat di wilayah penelitian yang disediakan OpenStreetMaps dalam bentuk peta.

Pengumpulan data pada penelitian ini diambil dari OpenStreetMaps. Data yang diambil berupa tempat, jalur, dan panjang setiap jalur yang menghubungkan satu tempat ke tempat lain. Data panjang setiap jalur akan dijadikan sebagai bobot pada arc dengan menginisialisasi nilai panjang ke setiap arc di graf. Pengumpulan data tidak memperhitungkan waktu tempuh yang diperlukan untuk menempuh satu jalur. Data angkutan kota yang dipakai adalah angkot yang terdaftar di DLLAJ kota Bandung. Sedangkan data rute angkutan kota menggunakan data primer.

Pembangunan Topologi Rute Jalan

Proses pembangunan topologi rute jalan dilakukan dengan beberapa langkah untuk membangun topologi jaringan. Topologi jaringan yang dibangun berdasarkan informasi geometri digunakan fungsi pgr_createtopology dan untuk menghubungkan suatu edge dilakukan penentuan node awal dan node akhir. Informasi jarak dari node awal ke node akhir dilakukan dengan menambahkan kolom bobot (cost). Proses selanjutnya menentukan point of interest vertex terdekat sebagai titik utama terdekat dari sebuah tempat sebelum menentukan tujuan rute jalan.

Pencarian Rute Terpendek

Pencarian rute terpendek ini menggunakan algoritme Dijkstra dengan fungsi pgr_dijkstra. Pencarian rute terpendek dilakukan dengan menentukan node awal dan node akhir yang bobot jumlah nilai jarak tempuhnya memiliki nilai paling kecil. Setiap node akhir akan memiliki nilai jarak tempuh dalam satuan meter dari semua node awal.

(18)

6

Visualisasi Rute Terpendek

Pada tahap ini dilakukan implementasi hasil penelitian yang berupa fungsi rute terpendek. Tujuan dari tahapan ini adalah menghasilkan sistem yang dapat digunakan untuk memanfaatkan hasil penelitian. Implementasi sistem dilakukan dalam lingkungan pengembangan aplikasi menggunakan bahasa pemrograman PHP, format data GeoJSON, dan library OpenLayers.

Sistem yang dikembangkan berbentuk aplikasi web yang menyediakan peta wilayah penelitian dan fungsi untuk menentukan rute terpendek. Pengguna aplikasi dapat menentukan lokasi kandidat dan lokasi akses pada peta, kemudian sistem akan menentukan rute terpendek.

Peralatan Penelitian

Perangkat keras yang digunakan untuk mengembangkan sistem ini yaitu laptop dengan spesifikasi:

Processor Intel Core i5  RAM 4 GB

Hardisk 400 GB

Perangkat lunak yang digunakan yaitu:  Sistem operasi Windows 10

 PostgreSQL sebagai tempat penyimpanan data geografis  Library pgRouting untuk mencari rute terpendek pada graf

Bahasa pemrograman PHP menggunakan framework CodeIgniter Sublime sebagai text editor

 XAMPP  QuantumGIS

HASIL DAN PEMBAHASAN

Penentuan Wilayah Penelitian

Wilayah yang ditentukan adalah Kota Bandung sebagai penerapan algoritme dijkstra. Wilayah penelitian dipilih pada level pemerintahan daerah tingkat 2 dan dapat dimanfaatkan dan dikembangkan untuk wilayah lainnya. Penentuan wilayah bisa dilihat pada Gambar 2.

(19)

7

Gambar 2 Peta Kota Bandung (sumber: OpenStreetMap)

Gambar 3 Peta jalan Kota Bandung (sumber: OpenStreetMap) Pengumpulan Data

Pengambilan data merupakan data primer dan sekunder. Data primer berupa trayek angkutan umum yang diambil secara langsung dengan menaiki angkutan kota satu per satu dan menanyakan rute yang dilewati kepada supir angkutan kota yang bersangkutan. Angkutan kota di Kota Bandung terdapat 35 trayek angkutan kota seperti dapat dilihat pada Lampiran 1. Sedangkan data sekunder berupa peta semua rute Kota Bandung yang diambil dari OpenStreetMap seperti terlihat pada Gambar 3. Setelah data peta didapat dari OpenStreetMap lalu dilakukan praproses data di QuantumGIS dengan menghapus rute yang tidak dilewati angkot sehingga data peta hanya menampilkan rute yang dilewati oleh angkot, bias dilihat pada Gambar 4. Untuk pengambilan data tempat-tempat yang berada di Kota Bandung seperti tempat makan, tempat berbelanja, rumah sakit, tempat bersejarah, dan lain-lain, didapat dari OpenStreetMap pada point of interest seperti pada Gambar 5 .

Batas kota Bandung

(20)

8

Gambar 4 Peta rute angkot

Gambar 5 Point of interest

Data peta rute angkot pada Gambar 4 yang didapat disimpan ke tabel rutebandung . Data point of interest pada Gambar 5 Kota Bandung disimpan ke tabel tempat yang berisi atribut gid, name, type, geom, dan id_vertex. Atribut tabel tempat bisa dilihat pada Tabel 1. Pada tabel rutebandung terdapat atribut gid, name, angkot, geom, source, target, dan cost. Untuk atribut angkot pada tabel rutebandung ditambahkan secara manual. Atribut rutebandung bisa dilihat pada Tabel 2.

Tabel 1 Atribut tabel tempat

Field Tipe data Keterangan

Gid Serial Id tempat

Name Character varying(80) Nama tempat Type Character varying(80) Jenis tempat Geom

Id_vertex

Geometry(POINT,4326) Integer

Geometri tempat

Titik jalan terdekat dari ruas jalan (foreign key dari rutebandung_vertices_pgr.id) Batas kota Bandung

(21)

9 Tabel 2 Atribut tabel rutebandung

Field Tipe data Keterangan

Gid Serial Id jalan

Name Character varying(80) Nama jalan Angkot Character varying(80) Nomor angkot

Geom Geometry Geometri jalan

Source Integer Titik asal

Target Integer Titik tujuan

Cost Double precision Jarak titik asal ke titik tujuan

Tabel 3 Atribut tabel rutebandung_vertices_pgr

Field Tipe data Keterangan

Id Bigserial Id vertex jalan

The_geom Geometry Geometri vertex jalan

Pembangunan Topologi Rute Jalan

Dengan menggunakan fungsi routing geospasial pada tabel rutebandung dibuat node awal dan node akhir. Fungsi node awal dan node akhir sebagai penghubung edge. Setelah itu membuat topologi jaringan berdasarkan informasi geometri dengan menggunakan fungsi pgr_createtopology. Node awal, node akhir, dan topologi pada tabel rutebandung di PostgresSQL dibuat dengan menggunakan query SQL berikut.

ALTER TABLE rutebandung ADD COLUMN source INTEGER; ALTER TABLE rutebandung ADD COLUMN target INTEGER;

SELECT pgr_createtopology(‘rutebandung', 0.000001, 'geom', 'gid');

Node awal (source) dan node akhir (target) telah ditambahkan pada tabel

rutebandung. Kemudian, hasil dari pembuatan topologi jaringan jalan disimpan ke sebuah tabel baru yang bernama rutebandung_vertices_pgr yang bisa dilihat pada Tabel 3. Tahap selanjutnya menambahkan kolom bobot (cost) yaitu jarak dari node awal ke node akhir. Fungsi ST_Length digunakan untuk menghitung panjang jalan. Agar panjang yang dihasilkan memiliki satuan meter, sistem referensi geografis diubah dari WGS 84 menjadi UTM zona 48S dengan fungsi ST_Transform. Berikut query SQL untuk menambahkan kolom bobot dan memperbarui bobot di PostgreSQL.

ALTER TABLE rutebandung ADD COLUMN cost DOUBLE PRECISION;

UPDATE rutebandung SET cost = ST_Length(ST_Transform(geom,32748)); Pada tabel tempat ditambahkan kolom id_vertex yang berisi id node jalan terdekat dari tabel rutebandung_vertices_pgr. Kolom id_vertex merupakan titik jalan terdekat dari id tempat. Pada saat pengguna memasukan titik asal, maka pencarian rute dimulai dari titik awal/akhir jalan yang terdekat dengan titik asal tersebut. Berikut adalah query SQL untuk menambahkan kolom id_vertex yang mencari titik ruas jalan terdekat dari titik tabel tempat.

(22)

10

UPDATE tempat SET id_vertex = (

SELECT id FROM tempat as t, rutebandung_vertices_pgr as r

WHERE t.gid = tempat.gid

ORDER BY st_distance_sphere(p.geom, r.the_geom) LIMIT 1

);

Pencarian Rute Terpendek

Setelah topologi jaringan jalan terbentuk, barulah bisa diterapkan fungsi Dijkstra untuk mencari rute terpendek. Pencarian rute terpendek ini menggunakan fungsi pgr_dijkstra dari pgRouting. Fungsi pgr_dijkstra memiliki 3 parameter, yaitu SQL untuk tabel edge, id titik awal, dan dan id titik akhir. Berikut contoh

query SQL untuk mencari rute terpendek dari tempat id 132 ke 43. Di sini

ditampilkan juga jarak dan nomor angkot yang melewati setiap ruas rute jalan. SELECT seq, id2 as id, name, rutebandung.cost as dist_m, angkot FROM pgr_dijkstra(

'SELECT gid AS id, source, target, cost FROM rutebandung', (SELECT id_vertex FROM tempat WHERE gid = 132),

(SELECT id_vertex FROM tempat WHERE gid = 43) ) LEFT JOIN rutebandung ON gid = id2;

Hasil pencarian di atas ditampilkan pada Tabel 4. Kolom id merupakan id ruas jalan yang akan dilewati untuk sampai ke node akhir. Kolom dist_m merupakan jarak ruas jalan dalam satuan meter. Kolom angkot merupakan angkutan kota apa saja yang melewati ruas jalan tersebut. Jika sudah sampai tujuan, maka id ruas jalan bernilai -1.

Tabel 4 Rute dari tempat id 132 ke 43

Seq Nama Id Dist_m Angkot

0 Jalan Aceh 1164 245 11 1 Jalan Lombok 1166 298 11,24 2 Jalan Belitung 1071 91 13,28 3 Jalan Belitung 1045 155 27,28 4 Jalan Belitung 671 196 5,7,27,28 5 Jalan Belitung 593 159 5,7,9,27,28 6 Jalan Sumatra 1040 25 5,9 7 Jalan Sumatra 592 252 5,9,27 8 Jalan Sumatra 568 384 5,9,27 9 Jalan Tamblong 562 39 5,9 10 Jalan Tamblong 566 12 5,9 11 Jalan Tamblong 12 391 5,9,20

12 Jalan Lengkong Besar 572 144 5,9,20

13 Jalan Dalem Kaum 570 349 3,12

14 Jalan Dalem Kaum 510 29 3,12

15 Jalan Dalem Kaum 1313 93 3,12

16 Jalan Kapatihan 245 156 7

(23)

11 Visualisasi Rute Terpendek

Rute hasil query divisualisasikan pada web dengan menggunakan library OpenLayers dengan format masukan GeoJSON. OpenLayers berfungsi untuk menampilkan peta Kota Bandung pada web, bisa dilihat pada Lampiran 2 kode PHP OpenLayers. Sebuah objek GeoJSON dengan tipe FeatureCollection memiliki satu anggota yaitu features yang mempunyai dua parameter properties dan geometry. Sebuah objek GeoJSON dengan tipe GeometryCollection merupakan objek geometri yang berfungsi menyimpan objek-objek geometri berupa sebuah array. Berikut adalah request GeoJSON yang digunakan untuk menampilkan hasil GeoJSON dari 90 Gourmet (id: 132) menuju Alun-alun (id: 43).

http://localhost/angkot/geojson.php?from=132&to=43

Untuk melayani request data GeoJSON seperti di atas, pada server dibuat skrip PHP dengan nama geojson.php. Skrip ini bertugas memanggil query

database PostgreSQL yang berisi rute terpendek dari parameter id tempat asal

(from) dan tujuan (to) yang diberikan. Hasil query dikembalikan dalam format GeoJSON dengan bantuan fungsi ST_AsGeoJSON dari PostGIS. Namun, format tersebut belum lengkap, sehingga harus ditambah header dan footer agar menjadi

file GeoJSON yang valid. Untuk menguji kevalidan file GeoJSON yang

dihasilkan, digunakan aplikasi web GeoJSONLint. Kode PHP untuk skrip ini dapat dilihat sebagai berikut.

$result = pg_query(

"SELECT ST_AsGeoJSON(geom, 15, 0) FROM pgr_dijkstra(

'SELECT gid AS id, source, target, cost FROM rutebandung',

(SELECT id_vertex FROM ujicoba WHERE gid = '".$_GET['from']."'), (SELECT id_vertex FROM ujicoba WHERE gid = '".$_GET['to']."') ) LEFT JOIN rutebandung ON gid = id2;");

echo '{ "type": "FeatureCollection", "features": [ {"geometry": { "type": "GeometryCollection", "geometries": ['; $row = pg_fetch_array($result); if ($row[0]) echo $row[0];

while ($row = pg_fetch_array($result)) if ($row[0]) echo ",\n" . $row[0]; echo '] }, "type": "Feature", "properties": {}} ] }' ?>

(24)

12

Hasil request berupa file dalam format GeoJSON berupa objek FeatureCollection yang terdiri atas rangkaian rute ruas jalan dengan tipe data MultiLineString. Berikut adalah hasil rute terpendek dari 90 Gourmet (id: 132) menuju Alun-alun (id: 43) dalam format GeoJSON.

{ "type": "FeatureCollection", "features": [ { "geometry": { "type": "GeometryCollection", "geometries": [ { "type": "MultiLineString", "coordinates": [[[107.6190307,6.9088786], [107.6209519,-6.9093262], [107.6210714,-6.9093075], [107.6211611,-6.9092182]]]}, { "type": "MultiLineString", "coordinates":[[[107.6183985,-6.9115056], [107.6190307,-6.9088786]]]}, ... ] }, "type": "Feature", "properties": {} } ] }

Berikut adalah potongan kode JavaScript dengan menggunakan library OpenLayers untuk menambahkan layer vektor berupa rute terpendek dalam format GeoJSON. Hasil visualisasinya, misal dari 90 Gourmet (id:132) menuju Alun-alun (id: 43) dapat dilihat pada Gambar 6.

map.addLayer(new OpenLayers.Layer.Vector( "Rute angkot",

{ projection: new OpenLayers.Projection("EPSG:4326"), strategies: [new OpenLayers.Strategy.Fixed()], protocol: new OpenLayers.Protocol.HTTP({

url: "http://localhost/geojson.php?from=" + from + "&to=" + to, format: new OpenLayers.Format.GeoJSON()})}));

(25)

13

Gambar 6 Visualisasi pada web dengan menggunakan library OpenLayers

SIMPULAN DAN SARAN

Simpulan

Penelitian ini menghasilkan sistem navigasi angkot kota Bandung dengan hasil berupa peta dengan rute terpendek dan informasi angkutan kota yang dapat dinaiki pengguna untuk sampai tujuannya. Hasil tersebut menunjukkan bahwa algoritme Dijkstra pada pgRouting berhasil dimanfaatkan dengan baik untuk membuat sistem navigasi yang mudah digunakan oleh pengguna.

Saran

Terdapat beberapa hal yang perlu diperbaiki pada penelitian ini yaitu:

1 Desain antarmuka untuk pengguna smartphone dan menambahkan fitur posisi saat ini menggunakan bantuan GPS.

2 Memperhatikan kondisi real jalan, terutama jalan searah.

3 Memberikan rekomendasi rangkaian angkot yang harus dinaiki sampai tujuan.

DAFTAR PUSTAKA

Aditama R. 2014. Penentuan lokasi ideal berdasarkan total jarak tempuh terpendek dari berbagai lokasi menggunakan algoritme Dijkstra [skripsi]. Bogor (ID): IPB.

Butler H, Daly M, Doyle A, Gillies S, Schaub, Schmidt C. 2008. The GeoJSON format specification [internet]. [diunduh 2016 Jul 6]. Tersedia pada http://geojson.org/geojson-spec.html

(26)

14

Ed ke-3. Massachusetts (US): MIT Press.

Dijkstra EW. 1959. A note on two problems in connexion with graphs.

Numerische Mathematik. 1 : 269–271

Munawar A. 2007. Public transport reform in Indonesia, a case study in the city of Yogyakarta. International Journal of Social, Behavioral, Educational,

Economic, Business and Industrial Engineering. 1:77-82.

OpenLayers. 2016. A high-performance, feature-packed library for all your mapping needs [internet]. [diunduh 2016 Mei 19]. Tersedia pada http://dev.openlayers.org/docs/files/OpenLayers/Format/GeoJSON-js.html OpenStreetMap. 2016. OpenStreetMap relation Indonesia [internet]. [diunduh

2016 Mei 19]. Tersedia pada https://www.openstreetmap.org/relation/ 304751

Takubo A, Patrushev A, Hossain A, Gonzalez C, Kastl D, Potts D, Techer D, Miyawaki E, Thurkow F, Junod F, et al. 2011. Create a network topology [internet]. [diunduh 2015 Des 19]. Tersedia pada http://workshop. pgrouting.org /chapters/topology.html.

(27)

15 Lampiran 1 Trayek angkutan kota yang ada di Kota Bandung

Nomor angkot Trayek angkot

1 Ledeng – Cicaheum

2 Cisitu – Tegalega

3 Dago – Stasiun Hall

4 Dago – Abdul Muis

5 Ciheumbelit – Stasiun Hall

6 Stasiun Hall – Gede Bage

7 Stasiun Hall – Sarijadi

8 Ledeng – Abdul Muis

9 Ledeng – Margahayu

10 Abdul Muis – Cicaheum

11 Elang – Cicadas

12 Riung Bandung – Dago

13 Abdul Muis – Elang

14 Karang Sentra – Cibaduyut via Abdul Muis 15 Cibaduyut – Karang Sentra via Abdul Muis

16 Cikudapateuh – Ciroyom

17 Cicaheum – Ciroyom

18 Sadang Serang – Caringin

19 Sederhana – Cipagalo via Abdul Muis 20 Sederhana via Abdul Muis - Cipagalo

21 Ciroyom – Sarijadi

22 Stasiun Hall – Gunung Batu

23 Abdul Muis – Cicaheum via Binong 24 Stasiun Hall – Sadang Serang

25 Cijerah – Sederhana

26 Dago – Caringin

27 Dipatiukur – Panghegar

28 Antapani – Coroyom

29 Cibaduyut – Cicaheum

30 Bumi Panyileukan – RS Boro

31 Abdul Muis –Mengger

32 Gasibu – Ciwastra

33 Ciroyom – Bumiasri

34 Cijerah – Ciwastra

(28)

16

Lampiran 2 Kode OpenLayer peta Kota Bandung <script>

var map, layer;

var from = <?php echo $from; ?>; var to = <?php echo $to; ?>;

var geog = new OpenLayers.Projection("EPSG:4326"); var merc = new OpenLayers.Projection("EPSG:900913"); var style = new OpenLayers.StyleMap({

"default": new OpenLayers.Style({

fillColor: "#FF0000", strokeColor: "#FF0000"})});

map = new OpenLayers.Map('mapdiv', { controls: [ new OpenLayers.Control.Navigation(), new OpenLayers.Control.PanZoomBar(), new OpenLayers.Control.LayerSwitcher(), new OpenLayers.Control.MousePosition()], projection: merc}); map.addLayer(new OpenLayers.Layer.OSM());

map.addLayer(new OpenLayers.Layer.Vector("Rute angkot", { projection: geog,

protocol: new OpenLayers.Protocol.HTTP({

url: "http://localhost/geojson.php?from=" + from +"&to=" + to, format: new OpenLayers.Format.GeoJSON()}),

strategies: [new OpenLayers.Strategy.Fixed()], styleMap: style}));

var center = new OpenLayers.LonLat( 107.609810 ,-6.914744); var zoom = 13;

(29)

17

RIWAYAT HIDUP

Penulis dilahirkan di kota Bogor Provinsi Jawa Barat pada tanggal 26 Juni 1994. Penulis adalah anak tunggal, anak dari pasangan Agus Kusmara dan Nina Marlina. Penulis menempuh pendidikan Sekolah Menengah Atas di SMA Negeri 109 Jakarta pada tahun 2009 hingga 2012. Kemudian penulis melanjutkan pendidikan perguruan tinggi di Institut Pertanian Bogor, Fakultas Matematika dan Ilmu Pengetahuan Alam, Departemen Ilmu Komputer dari tahun 2012 hingga 2016. Selama mengikuti perkuliahan, penulis pernah aktif menjadi panitia divisi

liaison officer Pesta Sains Nasional 2014 dan 2015 dan kepanitian lain di lingkup

Fakultas MIPA dan Departemen Ilmu Komputer. Penulis melaksanakan praktik kerja lapangan (PKL) di Pusdatin Kementiran Pertanian.

Gambar

Gambar 1  Tahapan penelitian
Gambar 2  Peta Kota Bandung (sumber: OpenStreetMap)
Gambar 5  Point of interest
Gambar 6  Visualisasi pada web dengan menggunakan library OpenLayers

Referensi

Dokumen terkait

Tujuan dari aplikasi ini yaitu membantu pengguna dalam mencari tempat dan jalan di Kota Bandung serta informasi rute jalan yang dapat ditempuh. Penggunaan PDA

Hal ini sebenarnya telah dilakukan pada penelitian sebelumnya dimana penelitian tersebut memberikan informasi mengenai rute setiap line angkutan umum kota pada

Tujuan dari penelitian ini adalah menghasilkan suatu sistem berbasis Web yang dapat memberikan informasi terhadap pengguna angkutan umum yang awam dengan wilayah Kota Kupang..

Pada kasus pencarian jalur tercepat untuk menentukan jalur atau rute trayek angkutan kota atau mikrolet terpendek dengan mempresentasikan dua node dengan bobot

Daerah Dago bagian utara kota Bandung terdapat sebuah Terminal angkutan dalam kota yang dilintasi setidaknya beberapa rute angkutan, salah satu rute angkutan kota

Berdasarkan hasil penelitian yang telah dilakukan oleh penulis mengenai Aplikasi Informasi Pencarian Rute Terpendek Untuk Menemukan Masjid Terdekat di Kota Malang

Adapun parameter yang digunakan untuk mengevaluasi kembali efisiensi pelayanan angkutan umum di Kota Pontianak (Angkutan Oplet rute Nipah Kuning- Seroja) tersebut dengan

Adapun parameter yang digunakan untuk mengevaluasi kembali efisiensi pelayanan angkutan umum di Kota Pontianak (Angkutan Oplet rute Nipah Kuning- Seroja) tersebut dengan