Pengembangan Aplikasi Bergerak untuk Men

1

Pengembangan Aplikasi Bergerak untuk Mendeteksi
Tingkat Kemacetan Lalu Lintas dan Cuaca
Memanfaatkan Google Maps API, OpenWeatherMap
API, dan GPS
Taufiq El Rahman1, I Wayan Mustika2, Selo3
Laboratorium Sistem Elektronis, Jurusan Teknik Elektro dan Teknologi Informasi
Universitas Gadjah Mada, Yogyakarta
Jl. Grafika 2, Kampus UGM, Yogyakarta 55281
Email : taufiqelrahman65@gmail.com, {wmustika, selo}@ugm.ac.id

Abstract— Traffic jams are increasing year by year and smaller
cities started to get contaminated on their busy hours, especially
in Yogyakarta. Although there are a few apps that can solve the
problem, such as LewatMana, Waze, and Google Maps, but there
were not enough data available yet for Yogyakarta city. This
research intends to develop a mobile app that can provide the
traffic data of Yogyakarta. The proposed app is designed to show
the list of jam-potential traffics only. Therefore, users that are not
accustomed to advance map-browsing can retrieve the

information easily. Moreover, this app will be equipped with
weather notification feature which is also an important aspect in
providing the information to users. Using the resources provided,
this app will be able to get the information of the traffic, the
weather, and able to show the results on the map. An algorithm is
developed to decide whether a traffic is considered a jam or not.
The data used are the number of vehicles and their average speed.
This research is focused on helping users to get through their daily
traffic jams at Yogyakarta which has not been delivered by the
previous mobile applications.
Intisari— Jumlah kemacetan semakin meningkat dari tahun ke
tahun dan sudah merambat ke kota-kota kecil pada jam sibuknya,
khususnya di Yogyakarta. Memang sudah banyak diciptakan
aplikasi kemacetan lalu lintas, seperti LewatMana, Waze, dan
Google Maps. Namun, data kemacetan lalu lintas di Yogyakarta
belum tersedia. Penelitian ini bermaksud untuk mengembangkan
sebuah aplikasi bergerak yang dapat memberikan data lalu lintas
di Yogyakarta. Aplikasi ini akan didesain dengan menampilkan
daftar lokasi yang tergolong padat saja, sehingga dapat
memudahkan pengguna yang buta peta dalam mencari informasi

yang diinginkan saja. Selain itu, aplikasi ini akan diberikan fitur
notifikasi keadaan cuaca dimana hal ini juga merupakan aspek
yang penting dalam berlalu lintas. Dengan memanfaatkan sumber
yang ada, aplikasi ini dapat mengambil informasi pengguna lalu
lintas, cuaca, dan penyajiannya pada peta. Sebuah algoritma akan
dikembangkan untuk dapat mengkategorikan lalu lintas bagian
mana yang dapat diasumsikan mengalami kemacetan dan yang
tergolong lancar.
Kata Kunci— deteksi kemacetan, cuaca, Google Maps API, GPS,

OpenWeatherMap API

I. PENDAHULUAN
Jumlah kendaraan di Indonesia dari tahun ke tahun, semakin
meningkat. Menurut catatan BPS, pada akhir tahun 2011
jumlah kendaraan di Indonesia telah mencapai 85,601,351 yang
meliputi (mobil penumpang 9,548,866, bis 2,254,406, truk
4,958,738, dan motor 68,839,341) [1]. Sedangkan, pada akhir
tahun 2012 jumlah kendaraan di Indonesia telah mencapai
94,373,324 yang meliputi (mobil penumpang 10,432,259, bis

2,273,821, truk 5,286,061, dan motor 76,381,183) [1]. Dari
data di atas dapat disimpulkan bahwa angka jumlah kendaraan
terus meningkat dan tren ini akan terus meningkat pada tahuntahun yang akan datang.
Kemacetan sudah merambat ke kota-kota kecil pada jam
sibuknya khususnya di Yogyakarta. Memang sudah banyak
diciptakan aplikasi kemacetan lalu lintas, seperti LewatMana,
Waze, dan Google Maps. Namun, data kemacetan lalu lintas di
Yogyakarta belum tersedia (Gbr. 1). Salah satu fitur yang
penting dalam berlalu lintas adalah keadaan cuaca pada lalu
lintas tersebut dimana dalam ketiga aplikasi yang telah
disebutkan sebelumnya belum terdapat fitur cuaca yang
konsisten sumber datanya.

Gbr. 1. Informasi kemacetan di Yogyakarta (kiri) dan di Jakarta (kanan).

Diharapkan dengan adanya aplikasi piranti bergerak ini,
pengguna lalu lintas di Yogyakarta dapat mengetahui kondisi
tingkat kemacetan dan cuaca yang terjadi di lalu lintas yang
rawan mengalami kemacetan, sehingga mereka lebih mudah
dalam menghadapi kemacetan yang terjadi. Hal ini juga dapat

menghemat bensin yang terbuang sia-sia dan mengurangi
polusi yang mengakibatkan global warming. Aplikasi bergerak
ini akan diberikan halaman depan yang berupa daftar lokasi

2
yang rawan mengalami kemacetan, sehingga pengguna yang
buta akan peta tidak mengalami kebingungan dalam
menavigasikannya.

B. Landasan Teori

Dapat dilihat pada Gbr. 2 bahwa aplikasi pada penelitian ini
terdiri dari dua buah program dan satu basis data.

II. TINJAUAN PUSTAKA
A. Tinjauan Pustaka
Terdapat aplikasi kemacetan dari China yang bernama
Cennavi Traffic Eyes (http://www.cennavi.com.cn/) [2].
Distribusi data dilakukan melalui sinyal yang dikirim melalui
gelombang pembawa FM. Namun, dalam mendapatkan

datanya, aplikasi ini membutuhkan instalasi khusus pada
kumparan induksi pada ground, stasiun radio, GPS pada taxi,
atau secara manual. Sehingga untuk sementara, lokasi yang
dapat mendukung aplikasi ini hanya di Beijing dan Shanghai.
Google merilis aplikasinya yang bernama Google Maps
(http://maps.google.com/) [3]. Namun data lalu lintas yang
tersedia hanya menyediakan bagi kota-kota besar saja,
sedangkan Yogyakarta belum tersedia datanya. Terdapat
aplikasi lokal buatan Indonesia yang bernama LewatMana
(http://lewatmana.com/) yang mengandalkan CCTV dalam
menyediakan data lalu lintas [4]. Walaupun dengan adanya
CCTV maka koneksi yang dibutuhkan semakin berat, informasi
dapat tersampaikan lebih jelas dengan adanya visualisasi dari
kondisi kemacetan. Akan tetapi cakupan wilayah yang tersedia
hanyalah jabodetabek. Terdapat aplikasi jejaring sosial yang
berbasiskan lalu lintas buatan Israel yang bernama Waze [5].
Pengguna dapat menyampaikan informasi lalu lintas yang
terjadi di sekitarnya. Sehingga cakupan wilayah yang
terjangkau lebih luas daripada ketiga aplikasi yang telah
dibahas sebelumnya; beberapa lokasi di Yogyakarta pun dapat

dijangkau. Akan tetapi, ini masih terdapat ketergantungan
informasi pada inisiatif pengguna yang tidak konsisten ini. Dari
ketiga aplikasi di atas dapat dilihat bahwa, dalam menampilkan
informasi tingkat kemacetan, mereka merepresentasikannya
dengan warna.
Keadaan cuaca merupakan aspek yang penting dalam berlalu
lintas, khususnya pengguna kendaraan roda dua. Dari keempat
aplikasi yang disebutkan di atas, hanya dua diantaranya yang
dapat menyajikan informasi ini kepada pengguna dan informasi
tersebut tidak dapat tersedia secara konsisten karena
ketergantungannya pada inisiatif pengguna. Menanggapi hal
itu, OpenWeatherMap menyediakan pelayanan akses data
keadaan cuaca yang dapat diakses setiap saat.
Mengenai pengambilan data melalui perangkat GPS pada
piranti bergerak pengendara dapat dilihat dari penelitian Benny
Hardjono, Adi Nurhadiyatna, Petrus Mursanto and Wisnu
Jatmiko (2012) yang berjudul ” Development of Traffic sensor
system with Virtual Detection Zone” [6]. Dikatakan bahwa
pemanfaatan perangkat GPS dapat menghasilkan hasil yang
lebih akurat, dengan hanya memperoleh error rate sebesar 0.13% dalam menghitung jumlah kendaraan pada jalan raya.

Dalam penelitian Quang Tran Minh dan Eiji Kamioka yang
berjudul ”Granular Quantifying Traffic States Using Mobile
Probes”, dikatakan bahwa keadaan suatu lalu lintas ditentukan
oleh 2 faktor signifikan, yaitu: 1) kecepatan rata-rata kendaraan,
dan 2) jumlah kendaraan yang ikut serta (densitas alur lalu
lintas) [7].

ISSN xxxx - xxxx

Gbr. 2. Arsitektur aplikasi pada penelitian ini; a) Client mengirimkan data
aktivitas pengguna ke server untuk diolah. b) Server mengakses basis
data. c) Server mengirim data lalu lintas ke client sesuai permintaan.

1) Client, Server, dan Basis data: Client merupakan program
yang berada pada piranti bergerak dengan sistem operasi
berbasis Android yang akan digunakan secara langsung oleh
pengendara lalu lintas. Server merupakan program yang berada
pada personal computer yang berguna untuk melayani koneksi
semua client yang akan membutuhkan akses. Server juga
menjembatani antara client dan basis data yang digunakan

dalam aplikasi ini. Dalam bahasa pemrograman Java,
dibutuhkan instalasi socket untuk mengizinkan komunikasi
antara dua program tersebut menggunakan TCP (Transmission
Control Protocol) [8]. Basis data pada aplikasi ini
menggunakan
bahasa
MySQL
yang
dioperasikan
menggunakan fitur phpMyAdmin dari Xampp [9]. Ini berfungsi
untuk menyimpan semua data aktivitas dari client.
2) Global Positioning System: Aplikasi yang dikembangkan
pada penelitian ini akan memanfaatkan fitur GPS pada piranti
bergerak yang pengguna gunakan. Dalam pengoperasiannya
akan diatur menggunakan Google Maps API.
3) Google Maps API: Google Maps menyediakan fitur peta
jalanan dan perencanaan rute atau trayek dengan opsi
perjalanan untuk pejalan kaki, mobil pribadi, sepeda, dan
kendaraan umum [3]. Aplikasi ini juga menyediakan lokasi dari
tempat-tempat yang terkenal dan data aktivitas GPS

pengendara seperti kecepatan dan lokasinya. Dimana fitur
Google Maps API yang digunakan dalam penelitian ini adalah
Location API, map objects, dan polylines.
4) OpenWeatherMap API: Ini adalah sebuah pelayanan yang
menyediakan data mengenai kondisi cuaca sekarang, perkiraan
cuaca, dan data historis cuaca kepada pengembang aplikasi
berbasis web dan aplikasi bergerak. Data yang diperoleh dari
OpenWeatherMap berupa informasi mengenai lokasi, cuaca,
deskripsi cuaca, ikon, humidity, tekanan angin, suhu udara,
kecepatan angin, arah angin, dan awan yang tersimpan dalam
format JSON [10].

III. METODOLOGI PENELITIAN
Pada penelitian ini akan dikembangkan dua buah program,
yakni server dan client. Hal ini disebabkan karena
dibutuhkannya basis data yang terintegrasi antar client dan agar
kinerja pada client tidak terlalu berat. Pengembangan aplikasi
ini digunakan metode model prototype. Aplikasi pada sisi client
akan mengirimkan data akan posisi dan kecepatan pengendara
ke server dan disimpan pada basis data, sehingga dapat diproses

dan diketahui bagian mana yang mengalami kemacetan pada

3
lalu lintas. Dengan memanfaatkan fitur GPS pada piranti
bergerak, aplikasi yang dikembangkan ini dapat mengetahui
letak dan aktivitas pengendara lalu lintas.
Penelitian ini diawali dengan menyiapkan environment dan
ruang kerja yang digunakan, sekaligus instalasi sistem basis
data. Tahap berikutnya adalah pematangan konsep supaya
tahap selanjutnya lebih terarah dan efisien. Pada tahap ini,
dipikirkan output apa saja yang dibutuhkan agar menjadi
aplikasi yang sesuai harapan. Kemudian dipikirkan input apa
saja yang diperlukan dalam proses pengembangan aplikasi ini.

Gbr. 3. Relational diagram dari tabel dan view pada basis data.

Setelah itu, maka langkah selanjutnya adalah untuk
mempelajari library apa saja yang dibutuhkan dalam
membangun aplikasi ini dan aplikasi yang sejenis. Library
yang digunakan adalah dari Google dan Android. Semua kelas

dan fungsi yang dibutuhkan dikumpulkan untuk dipelajari dan
diimplementasikan. Selanjutnya, dibangun sistem basis data
yang selanjutnya dapat diakses oleh sisi server . Pada sistem
basis data ini akan dibangun dua buah tabel dan satu buah view
(Gbr. 3). Tabel pertama adalah tabel bernama location yang
berisikan daftar nama lalu lintas. Tabel kedua adalah tabel
bernama rawdata yang berisikan data yang didapat dari GPS.
Tabel ini terhubung dengan tabel location dengan kolom
locationID sebagai foreign key. View yang dibangun pada
sistem basis data ini bernama grouppeddata yang didapat dari
menggabungkan kedua tabel sebelumnya dengan ketentuan
grouped by pada kolom “nama”. Untuk kolom total dan
avespeed merupakan hasil komputasi dari total jumlah
kendaraan dan kecepatan rata-rata.
Tahapan selanjutnya adalah pengembangan perangkat lunak
sisi client pada telepon cerdas Android. Kemudian dilanjutkan
dengan pengembangan perangkat lunak pada sisi server pada
personal computer . Tahap selanjutnya adalah melakukan
beberapa pengujian, yakni pengiriman data GPS dari beberapa
lokasi dan pengaksesan data kemacetan lalu lintas di beberapa
lokasi. Tahap terakhir dalam penelitian ini adalah penulisan
laporan hasil analisa terhadap perangkat lunak yang
dikembangkan dan beberapa revisi yang dianggap penting. Ini
didokumentasikan agar dapat dikembangkan pada penelitian
selanjutnya yang sejenis.

Gbr. 4. Diagram use case pada kebutuhan sistem aplikasi.

mengambil data lalu lintas dari basis data dan kemudian
mengirimkannya balik ke client.
B. Perancangan

Perancangan dari aplikasi ini dapat dilihat pada flowchart
pada Gbr. 5.

IV. HASIL DAN PEMBAHASAN
A. Kebutuhan Sistem
Kebutuhan sistem pada penelitian ini dapat terlihat pada Gbr.
4. Pada diagram use case tersebut terdapat tiga aktor yaitu client,
server, dan basis data. Client yang merupakan pengguna
aplikasi dapat melakukan empat hal, yakni mengirim lokasi
GPS dan kecepatan GPS ke server, meminta data lalu lintas dari
server, dan mengambil data cuaca dari OpenWeatherMap.
Sedangkan server dapat melakukan empat hal yakni,
menyimpan lokasi GPS dan kecepatan GPS pada basis data,

Gbr. 5 Flowchart aplikasi.

C. Implementasi
1) Inisiasi Environment dan Socket: Sistem yang
dikembangkan merupakan sistem yang berjalan pada telepon
cerdas berbasis Android dan pada desktop menggunakan

4
Eclipse IDE yang dilengkapi dengan ADT (Android Developer
Tools) plugin. Oleh karena aplikasi yang dikembangkan pada
penelitian ini berbasis pada fungsionalitasnya peta dan GPS,
peneliti menggunakan Google Maps API.
Aplikasi yang dikembangkan pada penelitian ini
mengangkat konsep client-server dimana terdapat dua sisi yang
saling berkomunikasi, yakni sisi client dan sisi server . Untuk
sisi server , dibuat sebuah aplikasi Java berbasis desktop. Pada
aplikasi ini, dilakukan inisiasi kelas serversocket dengan
parameter nomor port yang akan digunakan. Kemudian, server
menunggu client untuk menghubungi dan mengirimkan request
dengan menginvokasi metode accept(). Untuk sisi client, dibuat
sebuah aplikasi berbasis Android. Pada aplikasi ini, dilakukan
inisiasi kelas socket dengan mencantumkan hostname dan port
number dari server .

Gbr. 6. Diagram deployment dari tahap pengiriman data GPS piranti bergerak;
1. Perolehan data GPS. 2. Pengiriman data GPS. 3. Penyimpanan data
GPS.

2) Pengiriman Data GPS Piranti Bergerak: Untuk sebuah
aplikasi berbasis crowd-sourcing dapat berjalan dengan baik,
maka dibutuhkan data yang lengkap (semakin lengkap semakin
presisi). Proses ini dapat berlangsung dalam tiga langkah, yakni
perolehan, pengiriman, dan penyimpanan data GPS (Gbr. 6).
Proses pengambilan data GPS dapat berlangsung dengan
menginisiasi kelas LocationManager terlebih dahulu.
Selanjutnya, digunakan metode getLastKnownLocation()
dengan parameter GPS_PROVIDER sebagai parameternya
yang berarti sumber akan diambil dari GPS piranti bergerak.
Untuk data latitude, digunakan metode getLatitude(). Untuk
data longitude, digunakan metode getLongitude(). Untuk data
kecepatan, digunakan metode getSpeed() dengan satuan meter
per second. Karena dalam aplikasi ini digunakan satuan
kilometer per hour , maka data harus dikalikan dengan 3.6
terlebih dahulu. Untuk data waktu, digunakan metode
getTime(). Data-data yang diperoleh berikut merupakan data
berbentuk double. Supaya penyimpan pada basis data di
langkah selanjutnya dapat berjalan dengan halus, maka
dibutuhkan untuk dibuat sebuah ID pada tiap set data yang akan
dikirimkan. ID ini dibentuk dari gabungan antara latitude,
longitude, dan waktu. ID berikut kemudian disimpan pada
memory piranti bergerak sebagai ID lama atau ID sebelumnya
agar dapat diakses lagi pada pengiriman data GPS selanjutnya.
Hal ini bertujuan supaya pada data pengiriman selanjutnya, ID
lama ini juga dapat ikut dikirimkan ke basis data untuk
menghapus data lama yang sebelumnya dikirim supaya tidak
terjadinya data yang redundan.
Proses penyimpanan pada memory piranti bergerak adalah
dengan mengakses memory dengan memanggil metode
getPreferences()
dengan
parameter
MODE_WORLD_WRITEABLE supaya dapat ditulis oleh
pengguna. Setelah itu, metode edit() dipanggil untuk
melakukan perubahan pada memory tersebut.
Setelah data aktivitas GPS telah didapatkan, langkah
selanjutnya dalah untuk mengirimkannya kepada server . Proses
pengiriman ini digunakan OutputStream yang telah disebutkan
sebelumnya. Data yang diperoleh tadi diubah kedalam bentuk
string terlebih dahulu, kemudian di kirimkan ke server melalui

ISSN xxxx - xxxx

OutputStream. Sehingga setelah terkirimnya data tersebut,
maka server mendapat notifikasi bahwa terdapat kiriman data
pada InputStreamnya . Data yang diterima tersebut kemudian
disimpan pada variabel.
Langkah terakhir dari crowd-sourcing ini adalah untuk
menyimpan data yang didapat dari crowd tadi kedalam sistem
basis data. Program di sisi server ini bertanggungjawab dalam
menyimpan data baru, menghapus data lama, melakukan
update pada locationID dan view. Data GPS yang diterima dari
client merupakan data baru yang akan disimpan pada basis data.
Sedangkan data lama merupakan data dengan ID yang sama
dengan ID lama yang ikut dikirimkan dari client. ID lama yang
ikut dikirimkan ini merupakan ID yang tersimpan pada memory
piranti bergerak. Namun, jika tidak ada ID yang tersimpan,
maka dapat dibilang bahwa pengguna belum pernah melakukan
pengiriman sebelumnya, jadi tidak terdapat data lama.
Setelah data lama dihapuskan, dilakukan update pada tabel
rawdata di kolom locationID. Update ini bermaksud untuk
mengalokasikan ID dari lokasi yang sesuai dengan latitude dan
longitude dari data tersebut. Proses asosiasi antara latitude dan
longitude dengan ID yang sesuai dilakukan dengan suatu
algoritma pengelompokan berdasarkan area lokasi. Dapat
dilihat pada Gbr. 7 dan Gbr. 8, bahwa pada tiap persimpangan
terbagi menjadi 4 area yakni bagian pertama (warna merah),
kedua (warna hijau), ketiga (warna biru), dan keempat (warna
kuning).

Gbr. 7. Pengelompokan pada persimpangan berbentuk X.

Gbr. 8. Pengelompokan pada persimpangan berbentuk +.

Langkah terakhir adalah untuk melakukan update pada view.
Update ini bermaksud untuk memasukkan data yang baru ke
dalam kelompoknya dalam view ini. Dalam view ini, dilakukan
sebuah komputasi yang menjumlahkan total kendaraan dan
kecepatan rata-rata di lokasi tersebut. Sintaks yang digunakan
adalah COUNT(rawdata .id) untuk menjumlahkan total
kendaraan dan AVG(rawdata .speed) untuk mengkomputasikan
kecepatan rata-rata kendaraan. Dengan dieksekusinya
komputasi ini, tiap bagian dari persimpangan yang diperlukan
dapat diketahui jumlah kendaraan yang ada dan kecepatan rataratanya saat itu.

5
dan batas bawah yang berbeda, pengguna dapat mengubah
nilainya pada pengaturan.
Pada tahap selanjutnya akan dilakukan proses pengambilan
data cuaca dari OpenWeatherMap sesuai dengan pilihan
pengguna akan lokasi yang dinginkan. Data cuaca ini kemudian
Gbr. 9. Diagram deployment dari tahap pengambilan data GPS piranti
disimpan variabel yang dapat dimanfaatkan pada langkah
bergerak; 1. Pengiriman request. 2. Pelayanan request. 3. Penampilan
selanjutnya. Langkah terakhir adalah proses penampilan hasil
pada peta.
dari algoritma tadi beserta kondisi cuacanya pada peta supaya
3) Pengambilan Data GPS Piranti Bergerak: Proses ini informasi dapat tersampaikan pada pengguna. Tersimpan data
dapat berlangsung dalam tiga langkah, yakni pengiriman dan mengenai latitude dan longitude masing-masing lokasi yang
pelayanan request dan penampilan pada peta (Gbr. 9). Proses ditawarkan. Data tersebut kemudian digunakan untuk membuat
ini berawal dari pengiriman request kepada bagian server . garis indikator kemacetan pada peta, dan data ini juga
Aplikasi sisi client menampilkan daftar lokasi lalu lintas yang digunakan untuk menentukan letak fokus peta yang digunakan.
rawan mengalami kemacetan yang kemudian dapat dipilih oleh
Pilihan pengguna yang sebelumnya masih tersimpan
pengguna. Pilihan ini dianggap sebagai request dan kemudian digunakan untuk menentukan lokasi yang ditampilkan. Data
dikirimkan ke server melalui OutputStream. Pilihan pengguna hasil algoritma dalam langkah sebelumnya digunakan dalam
tetap disimpan pada sisi client untuk digunakan pada waktu pembentukan garis indikator kemacetan. Jika hasil tersebut
penampilan peta pada aplikasi. Sisi server menerima request adalah macet, maka garis akan berwarna merah. Jika hasil
melalui InputStream-nya dan kemudian disimpan pada variabel. tersebut adalah sedang atau cukup lancar, maka garis akan
Server akan mengeksekusi query MySQL yang sesuai dengan berwarna kuning. Jika hasil tersebut adalah lancar, maka garis
pilihan dari client tersebut pada basis data. Hasil dari query akan berwarna hijau. Peta dan fitur garis pada peta yang
tersebut berupa data lalu lintas yang dibutuhkan oleh sisi client menunjukkan tingkat kemacetan suatu lalu lintas merupakan
dalam menampilkan peta. Kemudian hasil ini dikirimkan balik salah satu fitur yang disediakan oleh Google Maps API.
Pada peta ini juga ditampilkan teks yang menunjukkan status
ke client untuk diproses selanjutnya dengan algoritma tertentu.
Algoritma ini dibangun dengan memanfaatkan sintaks lalu lintas ini dalam bentuk kata-kata agar pengguna dapat lebih
persyaratan IF ELSE dari flowchart pada Gbr. 10 yang mudah dalam mengidentifikasi status. Tahap pemrosesan
membutuhkan masukan berupa jumlah total kendaraan dan informasi tingkat kemacetan ini diatur supaya dapat dilakukan
kecepatan rata-rata kendaraan.
berulang tiap 15 detik secara otomatis. Jadi tiap jeda waktu 15
detik, aplikasi ini akan mengambil data lalu lintas dari sistem
basis data dan diolah supaya dihasilkan garis indikator
kemacetan lagi. Waktu jeda penyegaran data kemacetan
ditetapkan 15 detik dengan asumsi kondisi lalu lintas tidak akan
berubah secara signifikan dalam jangka waktu di bawah 15
detik. Jika hasil yang terbaru tersebut memiliki kondisi yang
lebih macet daripada hasil sebelumnya, aplikasi ini diatur untuk
dapat memberikan pesan genting pada pengguna dengan
membunyikan suara dan menampilkan pesan pada layar.
D. Pengujian dan Analisis Hasil Pengembangan Perangkat
Lunak
Gbr. 10. Flowchart algoritma penentuan tingkat kemacetan.

Pada tahap pertama akan difilter berdasarkan variabel
jumlah total kendaraan. Jika total kendaraan tersebut lebih kecil
atau sama dari batas kemacetan yang telah ditentukan sebagai
contoh, yakni 4, maka lalu lintas ini dikatakan lancar. Akan
tetapi, jika lebih besar dari 4, maka akan dilanjutkan ke tahap
kedua. Pada tahap kedua, akan difilter berdasarkan variabel
kecepatan rata-rata- kendaraan. Terdapat dua batas kecepataan
pada filterisasi ini sebagai contoh, yakni batas bawah (20km/h)
dan batas atas (50km/h). Jika nilai kecepatan rata-rata tersebut
berada di atas batas atas, maka lalu lintas tersebut dikatakan
lancar. Namun jika nilai kecepatan rata-rata tersebut berada di
bawah batas bawah, maka lalu lintas tersebut dikatakan macet.
Sedangkan jika nilainya berada di antara batas atas dan batas
bawah, maka lalu lintas dikatakan sedang atau cukup lancar.
Nilai-nilai tersebut hanya contoh dikarenakan belum ada data
yang handal yang dapat digunakan sebagai referensi. Namun,
jika pengguna menginginkan nilai dari threshold, batas atas,

Gbr. 11. Hasil pengujian pengiriman data dari tiga tempat yang berbeda.

1) Pengiriman Data GPS dari Beberapa Lokasi: Ini
Pengujian ini dilakukan dengan mengirimkan data GPS pada
perangkat lunak sisi client ke server dari tiga lokasi yang
berbeda, yakni persimpangan Mirota Kampus (bergerak),
depan Perpustakaan Pusat UGM (bergerak), dan rumah peneliti
(diam). Terlihat pada Gbr. 11, pengujian pertama dilakukan di
persimpangan Mirota Kampus, pengujian kedua dilakukan di
depan Perpustakaan Pusat UGM, dan pengujian terakhir
dilakukan di rumah peneliti dalam keadaan diam.
Pada pengujian pertama dengan ID 434474, didapat latitude
sebesar -7.775824, longitude sebesar 110.374431, dan
kecepatan sebesar 32.5 km/h. Pada pengujian kedua, didapat
latitude sebesar -7.770519, longitude sebesar 110.377712, dan

6
kecepatan sebesar 21.2 km/h. Pada pengujian ketiga, didapat
latitude sebesar -7.745644, longitude sebesar 110.410888, dan
kecepatan sebesar 0.0 km/h. Dengan mencocokkan data
mengenai latitude dan longitude dari lokasi di atas pada Google
Maps, dapat disimpulkan bahwa pengambilan data aktivitas
dari GPS dapat dikatakan cukup akurat. Dengan hasil pengujian
di atas, terbukti bahwa fitur GPS pada piranti bergerak
pengguna dapat dimanfaatkan untuk kepentingan aplikasi pada
penelitian ini.
2) Pengaksesan Data Kemacetan Lalu Lintas di Beberapa
Lokasi: Pada pengujian ini akan dilakukan pengaksesan data
kemacetan lalu lintas di persimpangan Jl. Kaliurang dan Ring
Road (Gbr. 12). Terlihat bahwa jalan di utara persimpangan
tergolong lancar (hijau), jalan di timur persimpangan tergolong
cukup lancar (kuning), jalan di selatan persimpangan tergolong
macet (merah), dan jalan di barat persimpangan tergolong
macet (merah).
Data dummy yang telah diolah dalam sistem basis data dapat
dilihat, bahwa untuk jakalN (utara persimpangan) terdapat 2
kendaraan dengan kecepatan rata-rata sebesar 42.5 km/h. Pada
algoritma, jika jumlah kendaraan kurang dari atau sama dengan
4, maka lalu lintas dikategorikan sebagai lancar dan berwarna
hijau. Untuk data jakalE, jakalS, dan jakalW dapat dibaca
seperti dengan ketentuan pada jakalN.








penambahan basis data lokasi, hal ini tidak akan menyita
tempat yang besar.
Sedangkan keterbatasan dari perangkat lunak ini adalah:
Daftar lalu lintas yang dapat ditampilkan masih terbatas
dan masih hanya untuk wilayah Yogyakarta.
Penambahan daftar lalu lintas masih harus dilakukan
secara pemrograman pada file-nya.
Karena aplikasi ini berbasis crowd-sourcing dan jumlah
pengguna aplikasi ini belum ada, maka data kemacetan
yang dimiliki belum dapat digunakan dan masih berupa
data dummy.
Server belum disiapkan untuk melayani client dalam
jumlah banyak.

V. KESIMPULAN
Berdasarkan penelitian yang telah dilakukan, didapatkan
beberapa kesimpulan sebagai berikut:
1. Dengan nilai asumsi threshold sebesar 4, batas atas
sebesar 50 km/h, dan batas bawah sebesar 20 km/h,
algoritma dan konsep yang telah peneliti kembangkan pada
penelitian ini dapat menentukan tingkat kemacetan pada
lalu lintas.
2. Dengan dukungan Google Maps API, aplikasi ini dapat
menampilkan hasil komputasi yang telah dikembangkan
pada peta.
3. Dengan dukungan OpenWeatherMap API, aplikasi ini
dapat mengintegrasikan informasi cuaca dengan aplikasi
yang dikembangkan pada penelitian ini.
4. Fitur GPS pada piranti bergerak berhasil dimanfaatkan
menggunakan location API untuk kepentingan
pengambilan data lokasi dan kecepatan rata-rata kendaraan
pengguna.
REFERENSI
[1]

Badan Pusat Statistik, [Online]. Available: http://bps.go.id/. [Accessed
11 March 2014].

[2]

Cennavi Traffic Eyes, "Common Problems," [Online]. Available:
http://www.cennavi.com.cn/en/Product/msg.php. [Accessed 11 March
2014].

[3]

Google, "Google Maps," [Online]. Available: http://maps.google.com/.
[Accessed 1 August 2014].

Gbr. 12. Tampilan peta pada persimpangan Jl. Kaliurang dan Ring Road (kiri).
Hasil olahan data dummy pada view grouppeddata pada basis data
(kanan).

[4]

LewatMana, [Online]. Available: http://lewatmana.com/. [Accessed 1
August 2014].

[5]

Waze, [Online]. Available: https://www.waze.com/. [Accessed 1
August 2014].

E. Rangkuman Kelebihan dan Keterbatasan

[6]

Benny H., Adi N., Petrus M. and Wisnu J., "Development of Traffic
sensor system with Virtual Detection Zone," Universitas Indonesia,
Jakarta, 2012.

[7]

Q. T. Minh and E. Kamioka, "Granular Quantifying Traffic States
Using Mobile," Shibaura Institute of Technology, Tokyo, 2010.

[8]

Tutorial’s Point, "Java - Networking (Socket Programming),"
[Online]. Available:
http://www.tutorialspoint.com/java/java_networking.htm. [Accessed
12 June 2014].

[9]

Phpmyadmin, "Bringing MySQL to the web," [Online]. Available:
http://www.phpmyadmin.net/home_page/index.php. [Accessed 9 June
2014].

[10]

OpenWeatherMap, [Online]. Available: http://openweathermap.org/.
[Accessed 1 August 2014].

Dari analisis penelitian yang telah dilakukan, dapat ditarik
beberapa kesimpulan mengenai kelebihan dan keterbatasan
metode yang diajukan, kelebihannya yaitu:
 Pengguna dapat mengetahui tingkat kemacetan yang
terjadi pada lalu lintas di Yogyakarta yang dimana belum
terjangkau oleh aplikasi sebelumnya.
 Pengguna yang buta dengan peta dapat memilih lalu lintas
hanya dengan membaca daftar yang telah disiapkan tanpa
harus mencari lokasi dari peta secara manual.
 Ukuran file dari perangkat lunak tergolong cukup kecil
yaitu sebesar 2 MB sehingga tidak memberatkan piranti
bergerak yang low-end sekalipun. Jika akan dilakukan

ISSN xxxx - xxxx