1 IMPLEMENTASI ALGORITMA Z-THRESH PADA TELEPON PINTAR BERBASIS ANDROID DALAM MEMANTAU KONDISI JALAN RAYA Oleh Subur Eko Wardoyo PROGRAM PASCA SARJANA ...
IMPLEMENTASI ALGORITMA Z-THRESH PADA TELEPON PINTAR BERBASIS ANDROID DALAM MEMANTAU KONDISI JALAN RAYA
Oleh Subur Eko Wardoyo
PROGRAM PASCA SARJANA UNIVERSITAS GUNADARMA JAKARTA 2015
IMPLEMENTASI ALGORITMA Z-THRESH PADA TELEPON PINTAR BERBASIS ANDROID DALAM MEMANTAU KONDISI JALAN RAYA
Oleh Subur Eko Wardoyo 92313015
TESIS
untuk memenuhi salah satu syarat guna memperoleh gelar Magister Manajemen Sistem Informasi Program Pasca Sarjana Universitas Gunadarma
PROGRAM PASCA SARJANA UNIVERSITAS GUNADARMA JAKARTA 2015
HALAMAN PENGESAHAN
Judul Penelitian
Implementasi Algoritma Z-THRESH Pada Telepon Pintar Berbasis Android Dalam Memantau Kondisi Jalan Raya
Nama Mahasiswa
Subur Eko Wardoyo
NIM/NIRM
92313015
Tanggal Lulus
November 2015
Menyetujui, Komisi Pembimbing
Dr. Ernastuti, SSi, M.Kom :et
Prof. Dr. Yuhara Sukra, MSc (Anggota)
Dr. Tubagus Maulana Kusuma, SKom., Meng.Sc (Direktur Program Pasca Sarjana Magister Teknoiogi Dan Rekayasa)
ABSTRAK
Subur Eko Wardoyo, Penulisan Tesis, Perangkat Lunak Sistem Informasi, 2015 Implementasi Algoritma Z-THRESH Pada Telepon Pintar Berbasis Android Dalam Memantau Kondisi Jalan Raya.
Penggunaan telepon pintar berbasis android dalam pemantauan kondisi jalan raya sudah banyak dibahas pada jurnal-jurnal ilmiah. Pemanfaatan tersebut dapat dilakukan dengan menggunakan sensor-sensor yang ada pada perangkat telepon pintar android. Sensor-sensor tersebut antara lain adalah GPS {Global Positioning System) dan Accelerometer. Sensor GPS bekerja untuk mengetahui posisi koordinat perangkat telepon pintar tersebut berada dimuka bumi. Sensor accelerometer dipergunakan untuk mendapatkan nilai percepatan terhadap 3 (tiga) sumbu koordinat yaitu X, Y dan Z Analisa nilai yang dihasilkan accelerometer ketika berkendara telah dilakukan oleh beberapa peneliti serta dituliskan dalam jurnal ilmiah. Nilai-nilai luaran accelerometer yang dihasilkan pada ketiga sumbu koordinat ketika berkendara memiliki pola-pola tertentu. Pola tersebut antara lain adalah: percepatan, perlambatan, belok kanan-kiri, melewati jalan halus, melewati jalan rusak, melewati polisi tidur, dan lubang.
in
Untuk memantau kondisi jalan raya terhadap kerusakan yang terjadi, dikembangkan algoritma pendeteksian kondisi jalan raya. Algoritma tersebut antara lain adalah Z-THRESH, Z-DIFF dan STDEV(Z) dan G-ZERO. Masingmasing algoritma tersebut memiliki cara perhitungan yang berbeda untuk menghasilkan perhitungan dari luaran nilai accelerometer sesungguhnya. Implementasi yang dilakukan dalam tesis ini adalah penggunaan algoritma Z-THRESH dalam mengamati kondisi jalan raya yang berada dalam 2(dua) komplek perumahan yang memiliki kondisi yang berbeda. Dalam implementasi ini akan didapatkan data kondisi jalan raya sehingga analisa perbaikan jalan raya selanjutnya dapat dilakukan lebih cepat dan tepat.
Kata Kunci: Telepon, Android, GPS, Accelerometer, Z-THRESH, monitoring jalan raya
ABSTRACT
Subur Eko Wardoyo, Thesis Writing, Information System Software, 2015 Implementation of Algorithms Z - thresh Using Smart Phone Android To Monitoring highway Conditions.
Android based smartphone use in monitoring the condition of the highway has been much discussed in scientific journals. The utilization can be done by using existing sensors on the android smartphone devices . The sensors include GPS (Global Positioning System) and Accelerometer. GPS sensors function is to determine position coordinates of smartphone devices on earth. The accelerometer sensor is used to get the value of the acceleration of the three coordinate axes , namely X , Y and Z. Analysis of the resulting value accelerometer when driving has been done by some researchers as well be written in scientific journals . The values of the accelerometer output is generated in the third coordinate axis when the drive has certain patterns . The patterns include: acceleration , deceleration , turn right and left , driving on smooth road , driving on damaged road , driving on bumps and holes. To monitor the condition of the highway, the detection algorithm is developed. The algorithms include the Z-thresh , Z-DIFF and STDEV ( Z ) and G-ZERO. Each algorithm has different mathematics method to produce the calculation of the output value of the actual accelerometer. Implementation in this thesis is used algorithm Z-thresh in observing the condition of the highway. Location observed is within two residential place which has different
conditions. Implementation is proposed to gather the data, so that analysis of the repairing condition of the highway improvements which can be done more quickly and precisely .
Penulis dilahirkan di Jakarta, 1 Juli 1978, dari pasangan Wasimun dan Sukarti yang berasal dari Magetan Jawa Timur. Sebagai anak pertama dalam keluarga penulis memasuki jenjang pendidikan tingkat dasar di Sekolah Dasar Negeri (SDN) 24 Pagi Kramat Jati Jakarta Timur. Kemudian melanjutkan jenjang pendidikan di Sekolah Menengah Pertama Negeri (SMPN) 49 Kramat Jati Jakarta Timur. Di sekolah SMP inilah penulis mulai menemukan bidang dan minat yang hingga saat ini masih ditekuninya yaitu elektronika. Pada Tahun 1993 penulis melanjutkan ke jejang Sekolah Menengah Atas Negeri (SMAN) 14 Cililitan Jakarta Timur dengan penjurusan Fisika. Lulus dari SMA penulis memasuki jenjang strata 1 di Universitas Indonesia di Fakultas Teknis dengan Jurusan Elektro pada tahun 1996. Konsentrasi yang diambil pada jurusan Elektro adalah teknik kendali. Lulus di tahun 2000 penulis bekerja di perusahaan TI yang bergerak di bidang konsultan, PT Quadra Solution. Membuat program dan melakukan instalasi berbagai software seperti Oracle, PHP, Java serta software-software lainnya menjadi pekerjaan sehari-hari. Perusahaan yang sudah dikunjungi antara lain Pelindo III, Yamaha Water Purifier, Vico, Bappenas, Deperindag dan lain sebagainya dalam rangka mengimplementasikan software yang digunakan untuk perusahaan/instansi yang disebutkan tersebut.
v
Karir penulis berlanjut di tahun 2003 di Kementerian Keuangan RI setelah lulus test CPNS yang diadakan pada tahun 2012, penulis ditempatkan di Unit TI yaitu Bintek. Penulis sudah pindah sebanyak 2(dua) kali yaitu di Sekretanat Pengadilan Pajak tahun 2007 dan terakhir di Biro Sumber Daya Manusia (SDM) pada tahun 2014. Tidak puas dengan belajar, penulis kembali melanjutkan pendidikannya di Universitas Gunadarma pada tahun 2014. Magister Manajemen Si stem informasi adalah gelar yang ingin di raih di kampus ini dengan konsentrasi Perangkat Lunak Sistem Informasi (PLSI)
KATA PENGANTAR
Syukur Alhamdulillah
segala puji
bagi Allah
SWT yang telah
melimpahkan rahmat dan hidayah-Nya, memberikan inspiransi dan kemudahan bagi penulis untuk dapat menyelesaikan tesis ini. Penulis mengakui bahwa tesis ini jauh dari arti kata sempurna. Dengan rendah hati penulis membuka diri untuk saran dan kritik membangun guna menunjang kesempurnaan tulisan ini dimasa yang akan dating. Penulis mengucapkan terima kasih atas bantuan dan dorongan yang telah diberikan oleh semua pihak berikut ini: 1. Prof DR. E. S. Margianti, SE, MM selaku Rektor Universitas Gunadarma 2.
Prof. Suryadi Harmanto, Ssi, MMSI, selaku Pembantu Rektor II Universitas Gunadarma
3.
Prof. Dr. Yuhara Sukra, MSc, selaku Koordinator Program Magister Manajemen Universitas Gunadarma
4.
Dr. Tb. Maulana Kusuma, SKom., MEngSc, selaku Direktur Program Magister Manajemen Universitas Gunadarma
5.
Dr. Yuhilza Hanum, SSi., MEng., selaku Ketua Program Magister Sistem Informasi
6.
Ibu Dr. Ernastuti, SSi, M.Kom, selaku pembimbing penulis yang telah memberikan bimbingan dan arahan dalam menyelesaikan tesis ini
7.
Ibu Humaniati, selaku Kepala Biro SDM Kementerian Keuangan yang telah memberikan ijin belajar
8.
Seluruh civitas academika Universitas Gunadarma yang telah memberikan perkuliahan selama penulis kuliah di Universitas ini.
9.
Kedua orang tua saya, yang selalu mendoakan saya
10. Istri saya, Agustin Catur Yanti yang mendampingi selalu 11. Ananda Adli Wistara dan ananda Galuh Dwi Nurafah, yang menghibur dan memberikan semangat 12. Teman-teman MMSI angkatan 44 yang ceria dan memberikan semangat 13. Teman-teman di Bagian MISDM, Biro SDM Kementerian keuangan yang memberikan dorongan dan Support 14. Pihak-pihak yang terlibat dalam pengembangan aplikasi Monitoring Jalan Raya. Penulis mengucapkan terima kasih atas kebaikan semua pihak tersebut dan pihak-pihak lainnya yang tidak bisa penulis sebutkan satu-persatu yang dengan tulus dan ikhlas memberikan do'a semangat, dorongan dan keyakinan agar penulis dapat menyelesaikan kuliah dan bekerja. Akhir kata, penulis berharap semoga penulisan ini
dapat memberikan
manfaat dan menambah pengetahuan bagi kita semua. Penulis mohon maaf jika ada kesalahan-kesalahan didalam penulisan ini. Terima Kasih
Penulis, November 2015
DAFTAR GAMBAR
Gambar 2.1. Konstilasi Satelit GPS
10
Gambar 2.2. Layar Konfirmasi Google Location Service
15
Gambar 2.3. Contoh Plot Data Accelerometer
20
Gambar 2.4. Orientasi Sumbu dan Aplikasi Data Kolektor
21
Gambar 2.5. Pola untuk Berkendara Luruh di Jalan yang baik
23
Gambar 2.6. Pola untuk Berkendara Belok Kiri
24
Gambar 2.7. Pola untuk Berkendara Belok Kanan
25
Gambar 2.8. Pola untuk Berkendara Pengereman Normal
26
Gambar 2.9. Pola untuk Berkendaraan pengereman Tiba-tiba
26
Gambar 2.10. Pola untuk Berkendara Akselerasi dengan Cepat.
27
Gambar 2.11. Pola untuk Berkendara di Jalan Berlubang
28
Gambar 2.12. Pola untuk Berkendara Pada Gundukan
29
Gambar 2.13. Pola utuk Berkendara di Jalan yang Rusak
30
Gambar 2.14. Deteksi Lubang dengan Algoritma Z-THRESH
31
xii
xiii
Gambar 2.15. Deteksi Lubang dengan Algoritma Z-DIFF
31
Gambar 2.16. Deteksi Lubang dengan Algoritma STDEV(Z)
32
Gambar 2.17. Deteksi Lubang dengan Algoritma G-ZERO
33
Gambar 3.1. Use Case Pengelolaan jalan Raya
35
Gambar 3.2. Regulator LM7805
36
Gambar 3.3. Rangkaian Regulator 7805
37
Gambar 3.4. Fisik Regulator yang dibuat
37
Gambar 3.5. Telepon Pintar Galaxy Y
38
Gambar 3.6. Susunan Rangkaian Pencatu daya Telepon Pintar....
42
Gambar 3.7. Login Console Admin Via Peramban
43
Gambar 3.8. Menu Administrator
44
Gambar 3.9. Menu File Manager
45
Gambar 3.10 Aplikasi Text Editor
45
Gambar 3.11. Aplikasi PhpMyAdmin
46
Gambar 3.12. Logi Startup Aplikasi Eclipse
47
Gambar 3.13. Jendela IDE Eclipse
48
xiv
Gambar 3.14. Listing Program GPSTracker.java
49
Gambar 3.15. Listing Program GPSLockReceiver.java
49
Gambar 3.16. Metode Agile
50
Gambar 3.17 Proses Pengembangan Menggunakan SCRUM
51
Gambar 4.1. Aplikasi bekerja Ketika Dalam Kondisi Diisi daya
55
Gambar 4.2. Parameter Aplikasi Road Monitoring I
57
Gambar 4.3. Parameter Aplikasi Road Monitoring II
57
Gambar 4.4. Peta Lokasi Uji Coba
59
Gambar 4.5. Grafik Jumlah Kejadian VS Nilai Accelerometer ...
61
Gambar 4.6. Hasil Proyeksi Data dengan Nilai Batasan 2 m/s2
61
Gambar 4.7. Hasil Proyeksi Data dengan Nilai Batasan 1.5 m/s2
62
Gambar 4.8. Titik 1# Terlihat Adanya Polisi Tidur/Gundukan ....
63
Gambar 4.9. Titik 2# Terlihat Adanya Polisi Tidur/Gundukan ....
63
Gambar 4.10 Titik 3# Terlihat Adanya Polisi Tidur/Gundukan ....
64
Gambar 4.11 Titik 4# Terlihat Adanya Jalanan yang Rusak
64
Gambar 4.12. hasil Proyeksi Data Dengan Nilai Batasan 1 m/s2
65
XV
Gambar 4.13. Tampilan Menu Home
74
Gambar 4.14. Legend Penanda(marker)
74
Gambar 4.15. Tampilan Menu Raw Data
75
Gambar 4.16. Tampilan Menu Inspeksi
75
DAFTAR ISI
HALAMAN JUDUL
i
HALAMAN PENGESAHAN
ii
ABSTRAK
Hi
RIWAYAT HIDUP
v
KATA PENGANTAR
vii
DAFTAR ISI
ix
DAFTAR GAMBAR
xii
DAFTAR TABEL
xvi
BAB 1. PENDAHULUAN
1
1.1. Latar Belakang Masalah
1
1.2. Identifikasi Masalah
3
1.3. Batasan Masalah
4
1.4. Tujuan Pengembangan
5
1.5. Kegunaan Peneliltian
5
ix
X
BAB 2. TELAAH PUSTAKA
6
2.1. Ponsel Pintar Android
7
2.2. Global Positioning System (GPS)
8
2.2.1. GPS Provider
9
2.2.2. Penyempurnaan GPS
12
2.2.3. Batasan GPS
13
2.2.4. Network Provider
14
2.3. Accelerometer
19
2.4. Pengumpulan Data
21
2.5. Jenis Pola Mengemudi
22
2.5.1. Pola Mengemudi Jalan Lurus dan Halus
23
2.5.2. Pola Belok Kiri
24
2.5.3. Pola Belok Kanan
25
2.5.4. Pola pengereman normal
25
2.5.5. Pola Pengereman Mendadak
26
2.5.6. Pola Percepatan Kedepan Mendadak
27
2.5.7. Pola Lubang
27
xi
2.5.8. Pola Gundukan/Polisi Tidur
29
2.5.9. Pola Jalan Tidak Rata
29
2.6. Algoritma Prediksi Lubang (Patholes)
30
BAB 3. METODE PENELITIAN
34
3.1. Sistem Informasi Monitoring Jalan Raya
34
3.2. Perangkat Keras
36
3.3. Perangkat Lunak dan Hosting Aplikasi
42
3.4. Manaj emen Pengembangan Perangkat Lunak
50
BAB 4. HASIL PENELITIAN DAN PEMBAHASAN
54
4.1. Pengujian Perangkat Android
54
4.2. Pengujian Aplikasi Android Data Feeder
58
4.3. Pengujian Jalan Raya
59
4.4. Simulasi Implementasi
66
BAB 5. KESIMPULAN DAN SARAN
77
DAFTAR PUSTAKA
80
DAFTAR TABEL
Tabel 2.1. Tabel Stae of The Art
6
Tabel 2.2. Batasan Deteksi Anomali Berkendaraan
23
Tabel 3.1. Spesifikasi Telepon Pintar Galaxy Y
39
XVI
BAB1 PENDAHULUAN
1.1.
Latar Belakang Masalah Informasi layanan publik yang tersedia saat ini semakin beragam dan
memiliki berbagai macam fungsi interaktif berbasis teknologi informasi. Layanan publik yang dibangun adalah bentuk pertanggungan jawaban (akuntabilitas) instansi pemerintah yang diamanahkan untuk mengelola infrastruktur dan sarana publik. Semakin baik layanan publik yang diberikan semakin baik instansi pemerintah tersebut dipandang oleh masyarakat. Salah satu layanan publik yang menjadi urat nadi perkonomian adalah jalan raya. Pengelolaan jalan raya merupakan salah satu prioritas pembangunan. Jumlah dan panjang jalan raya tiap tahun bertambah, mengingat jumlah dan macam moda transportasi yang ada dan dipergunakan dalam kehidupan sehari-hari juga ikut bertambah. Permasalahan jalan raya semakin lama semakin komplek. Jumlah pengguna yang semakin banyak, kerusakan jalan, ketertiban pengguna, rambu dan marka yang tidak memadai, kejahatan jalan raya dan lain sebagainya. Permasalahan tersebut diatas diupayakan penyelesaiannya dengan di pecah-pecah berdasarkan sifat, jenis permasalahan yang ada serta instansi penanggung jawabnya. Khusus untuk kerusakan jalan raya, pengelolaan dan perawatan dilakukan berdasarkan pembagian menurut ketentuan yang berlaku secara administrasi.
1
2
Secara administrasi jalan dibagi berdarakan jalan nasional, jalan provinsi, jalan kabupaten, jalan kota dan jalan desa. Pembagian pengelolaan tersebut terkait dana perawatan yang tidak tersentral kepada salah satu instansi saja yang tentunya berpengaruh pada kecepatan dalam pengelolaan jalan raya. Internet sebagai sarana penunjang layanan publik menjadi trend saat ini. Kecepatan dan kemudahan akses yang diberikan membuat penggunaan internet semakin banyak. Internet tidaklah menjadi barang yang eksklusif lagi. Hampir setiap orang mampu memiliki dan menggunakan koneksi internet. Hal tersebut mendorong meningkatnya jumlah partisipasi
yang disampaikan oleh publik
melalui media internet. Penggunaan website, media sosial menjadi bagian dari layanan publik saat ini. Layanan keluhan kondisi jalan raya yang dibangun oleh instansi pemerintah saat ini banyak yang hanya bersifat reaktif. Sifat reaktif tersebut terlihat dari beberapa website pengaduan masyarakat seperti Kementeria PU dan Perumahan Rakyat, UKP4, Pemda Bogor, Pemda Bali dan lain sebagainya. Sifat reaktif yang dimaksud, terlihat dari proses pengelolaan keluhan yang ada. Keluhan masyarakan yang diinput kedalam sistem menjadi pemicu awal dari proses perbaikan yang ada. Partisipasi pengguna jalan menjadi utama dalam sistem yang bersifat reaktif tersebut. Tanpa partisipasi pengelola tidak akan tahu adanya kerusakan jalan yang menjadi yuridiksinya. Konvergensi dalam perangkat TI mendorong perangkat teknologi saat ini memiliki banyak fitur dengan berbagai macam sensor didalamnya. Salah satu
3
perangkat TI yang cukup popular adalah telepon pintar. Telepon pintar dalam moda transpotasi jalan kendaraan bermotor menjadi bahan pembahasan dalam berbagai jurnal ilmiah. Penerapan konvergensi akan terus berlanjut hingga suatu saat moda transpotasi jalan kendaraan bermotor tersebut dilengkapi sistem benam/embedded system. Sistem benam yang dimaksud dilengkapi dengan berbagai fitur akan membantu pengemudi, pemilik kendaraan dan pengelolajalan raya menciptakan kondisi yang kondusif dalam berkendara di jalan raya secara aktif.
1.2.
Identifikasi Masalah Berdasarkan survey tahun 2014 yang dilakukan oleh Gujan Chugh, Divya
Bansal dan Sanjeev Sofat yang disampaikan dalam sebuah jurnal "Road Condition Detection using Smartphone Sensors: A Survey" disampaikan beberapa cara mendeteksi menggunakan sistem serta pengembangan kedepannya. Salah satu yang disampaikan adalah pengembangan sistem pendeteksian kondisi jalan raya menggunakan telepon pintar. Berbekal fitur yang terdapat dalam telepon pintar android, serta belum adanya source code pemrograman yang digunakan, penelitian pada tesis ini adalah pengembangan aplikasi android dalam mengamati kondisi jalan raya dengan menggunakan telepon pintar android.
4
1.3.
Batasan Masalah Aplikasi yang akan dibuat adalah aplikasi pada telepon pintar berbasis
si stem operasi Android yang menggunakan sensor accelerometer dan Positioning System (GPS).
Global
Aplikasi tersebut diinstalasi pada kendaraan
operasional yang disebut kendaraan feeder data. Kendaraan feeder data bertugas mengumpulkan informasi kondisi jalan raya. Kendaraan feeder data akan melalui jalan-jalan yang sudah ditentukan sebelumnya. Kondisi jalan raya yang dapat dikenali oleh sistem antara lain lubang besar {large potholes), lubang kecil {small potholes), kumpulan lubang (potholes cluster), Celah {gaps) dan lubang pembuangan air {drain pits). Kondisi dengan parameter lainya seperti kedalaman lubang, dimensi lubang, tingginya lubang pembuangan air terhadap jalan raya tidak dianalisa lebih lanjut oleh sistem. Pemasangan komponen yang digunakan dalam pengembangan aplikasi dimulai dari pembuatan rangkaian elektronik pencatu daya, pemasangan alat (telepon pintar dan catu daya), pemasangan sim card dan koneksi internet serta konfigurasi parameter pada aplikasi (kode identifikasi alat dan pengaturan waktu perangkat). Informasi pertama kali disimpan didalam basis data telepon pintar. Informasi tersebut selanjutnya dikirimkan melalui jaringan internet telepon pintar kedalam server database aplikasi. Pengiriman dilakukan hanya satu kali dengan tujuan mengurangi duplikasi data. Implementasi hal tersebut dilakukan dengan
memberikan penanda pada data yang sudah terkirim didalam tabel telepon pintar tersebut. Aplikasi telepon pintar ini menggunakan algoritma Z-THRESH dalam menentukan kondisi jalan raya. Algoritma yang digunakan sebenarnya cukup beragam serta memiliki kelebihan dan keunggulan masing-masing. Algoritma tersebut akan menghasilkan data lokasi dan suatu nilai yang merepresentasi kondisi jalan raya.
1.4.
Tujuan Pengembangan Tujuan pengembangan Sistem informasi ini adalah mengimplementasikan
perangkat telepon pintar berbasis Android dalam melakukan analisa kondisi jalan raya dengan menggunakan algoritma Z-THRESH.
1.5.
Kegunaan Penelitian Kegunaan dari penelitian ini adalah menjadi salah satu solusi pembuatan
sistem informasi monitoring kondisi jalan raya dengan menggunakan teknologi telepon pintar android.
BAB 2 TELAAH PUSTAKA
Pada bab ini dibahas tentang telepon pintar android beserta fitur-fitur yang ada didalamnya. Fitur-fitur yang berupa sensor tersebut, saat ini menjadi perangkat pelengkap telepon selular yang sangat berguna dalam kehidupan seharihari. Bermain game, mencari lokasi, melihat arah mata angin dan menghitung akselerasi adalah beberapa contoh yang dapat dilakukan dengan menggunakan perangkat telepon pintar Android. Berdasarkan
sejumlah jurnal
internasional yang membahas tentang
penggunaan telepon pintar yang digunakan untuk mendeteksi kondisi jalan raya diperoleh literatur sebagaimana terlihat dalam tabel state of the art dibawah ini Tabel 2.1. Tabel State of the art Source No
Judul Paper
Metodelogi
Hasil Code
1
Real time pothole
Mel akukan uj i cob a
Menampilkan
Tidak
detection using
penerapan algoritma
kehandalan algoritma
ada
android
potholes detection
potholes detection
smartphones with
dan kehandalannya
dalam berbagai macam parameter
accelerometers 2
Analyzing driving
Mel akukan uj i cob a
Grafik terkait fungsi
Tidak
and road event via
pembacaan
waktu terhadap
ada
6
7
accelerometer
pembacaan
terhadap kegiatan
accelerometer pada
berkendara dan
kegiatan berkendara
kondisi jalan ray a
dan kondisi jalan ray a
Safe driving and
Penggunaan GPS
Konsep layanan
Tidak
accidental
dan accelerometer
informasi terkait
ada
monitoring using
dalam medeteksi
kecelakaan kedaraan
GPS system and
dan memonitor
three axis
pengemudi
accelerometer
kendaraan
Road condition
Perbandingan
Membandingkan
Tidak
detection using
penggunaan
akurasi dari berbagai
ada
smartphone
beberapa metode
metode dalam
sensors: a survey
dalam melakukan
pendeteksian kondisi
smartphone
3
4
pendeteksian kondisi jalan ray a jalan serta tantangan kedepannya
2.1.
Ponsel Pintar Android Perangkat Android dapat memiliki berbagai macam sensor. Berdasarkan
Milette, Greg dan Adam Stroud dalam bukunya "Professional Android Sensor Programming" yang diterbitkan pada tahun 2012 disebutkan bahwa Sensor adalah
8
sebuah kemampuan untuk dapat menangkap pengukuran fisik yang berasal dari dalam dan luar perangkat. Kemampuan penginderaan berasal dari perangkat sensor yang tersedia pada Android serta bagaimana penggunaan sensor tersebut secara kreatif. Hasil penginderaan berupa pengukuran-pengukuran fisik seperti medan magnet dapat diperoleh dari perangkat Android. Selain hasil pengukuran dapat juga diperoleh hasil interaksi dengan pengguna seperti kamera dan mikrofon.
Kemampuan lainnya juga dapat diperoleh dengan menggunakan
kombinasi dari hardware dan pengolahan informasi berbasis server. Sebagai contoh dalam hal teknik pengenalan suara. Data dari berbagai macam sumber tersebut menginformasikan aplikasi perihal keadaan perangkat dan kondisi lingkungan dimana perangkat Android tersebut berada.
2.2.
Global Positioning System (GPS) Informasi
lokasi
menjadi
adalah
informasi
penting
dalam
dunia
pengembangan aplikasi mobile. Aplikasi GPS yang dulunya hanya digunakan untuk mengetahui lokasi sekarang semakin berkembang dan menambah kekayaan informasi serta meningkatkan pengalaman pengguna. Penggabungkan antara mesin pencari sederhana dengan informasi lokasi tiap menit memungkinkan perangkat Android untuk memberikan banyak fungsionalitas bagi pengguna yang sebelumnya tidak ada. Kemampuan mengambil dan memberikan data lokasi bagi aplikasi saat ini menjadi fitur utama dari platform mobile.
Layanan location service menyediakan akses ke perangkat satelit yang dapat digunakan untuk menentukan lokasi kekinian. Informasi ini dapat digunakan untuk berbagai fungsi serta membuat
perangkat keras dan perangkat lunak
Android untuk mengerti kondisi lingkungannya. Android menggunakan beberapa metode untuk memberikan informasi lokasi ke sebuah aplikasi. Metode ini disebut location providers. Masing-masing metode memiliki kekuatan dan kelemahan. Location providers
memiliki
karakteristik yang unik.
2.2.1.
GPS Provider Global Positioning System ( GPS ) menggunakan sistem satelit yang
mengorbit di bumi dalam membantu penerima (handset Android dalam hal ini ) menentukan lokasi kekinian. Istilah sistem GPS adalah sistem yang terdiri dari satelit, receiver , dan stasiun kendali. Stasiun kendali melakukan pemantauan dan penyesuaian sistem GPS yang ada. Penerima yang salah satunya telepon pintar Android tidak bisa bekerja tanpa adanya sistem GPS tersebut secara keseluruhan. Secara umum , penerima GPS menggunakan informasi yang berasal dari satelit GPS yang mengorbit dalam melakukan perhitungan lokasi. Sistem GPS terdiri dari 27 satelit yang terus mengorbit bumi yang mentransmisikan informasi kepada penerima. Setiap satelit mengorbit sesuai dengan jalurnya sehingga dapat dipastikan bahwa setidaknya ada 4 (empat) satelit yang "terlihat" dari setiap titik
10
di bumi pada waktu tertentu. Gambar berikut menunjukkan penggambaran konstelasi satelit GPS .
SOURCE: HTTP://GPS.GOV/MULTIMEDIA/IMAGES
Gambar 2.1 Konstilasi Satelit GPS
Setiap satelit GPS dalam konstelasi akan terus mentransmisikan informasi berupa data ephemeris dan data almanak. Data almanak terdiri dari informasi setiap satelit di dalam konstelasi, termasuk orbital data serta informasi tentang keadaan keseluruhan dari sistem. Data ephemeris adalah informasi mengenai sebuah satelit saja. Setiap satelit mentransmisikan kedua jenis data tersebut. Kedua jenis data tersebut digunakan untuk perhitungan lokasi yang diberikan. Khusus untuk data ephemeris digunakan untuk menentukan akurasi perhitungan lokasi yang dihasilkan. Untuk menghitung lokasi , penerima GPS harus mampu menghitung jarak dari beberapa satelit. Perhitungan jarak tersebut dilakukan dengan menggunakan
data ephemeris. Data yang ditransmisikan dari satelit selain data posisi adalah informasi waktu transmisi dimulai. Setiap satelit GPS memiliki mekanisme untuk menjaga ketepatan waktu yang sangat akurat dengan satelit lainnya. Perbedaan sekecil apapun dalam waktu antar satelit dapat menyebabkan kesalahan ketika melakukan perhitungan lokasi. Menggunakan waktu awal transmisi, penerima GPS dapat menghitung waktu yang dibutuhkan untuk setiap transmisi yang akan diterima. Perhitungan ini dibuat dengan asumsi bahwa gelombang radio yang dikirimkan bergerak dengan kecepatan cahaya dalam ruang hampa. Menggunakan waktu awal, waktu akhir, dan konstanta kecepatan cahaya, penerima GPS dapat menghitung jarak dari satelit ke penerima. Berdasarkan jarak dari beberapa satelit, penerima GPS dapat melakukan pelacakan lokasi saat ini. Pada dasarnya, titik di mana semua bidang berpotongan adalah titik lokasi penerima berada. Membutuhkan minimal tiga satelit dalam menentukan lokasi secara dua dimensi. Komunikasi tambahan dari satelit memungkinkan penerima GPS untuk menentukan informasi ketinggian. Sebuah penerima GPS tidak membatasi diri untuk hanya berkomunikasi dengan sejumlah empat satelit. Semakin banyak jumlah satelit yang terhubung jumlah data semakin bertambah, demikian dengan tingkat keakuratan lokasi. GPS memiliki beberapa kelemahan (terutama untuk platform mobile), salah satunya adalah waktu yang dapat dilakukan untuk menghitung posisi saat ini. Sebelum lokasi dapat dihitung, beberapa satelit harus ditemukan . Banyak satelit
yang mengorbit bumi, namun hanya beberapa yang "terlihat" pada waktu tertentu karena sebagian besar berada di bawah cakrawala dan diblokir oleh bumi. Almanak digunakan oleh sistem GPS memberikan bantuan dalam menentukan satelit yang digunakan untuk lokasi tertentu pada waktu tertentu. Namun, jika GPS tidak memiliki almanak yang terbaru, maka proses pengambilan data yang ditransmisikan oleh satelit GPS dapat menjadi proses yang lambat.
2.2.2.
Penyempurnaan GPS Dalam sebuah jurnal ilmiah "Implementation of Location based Services in
Android using GPS and Web Services" yang ditulis oleh Manav Sighal dan Anupam Shukla implementasi GPS diperuntukan untuk menampilkan informasi terkait status saat ini serta informasi yang berguna yang terkait dengan lokasi tempat berada saat ini. Informasi tersebut nantinya dapat dimanfaatkan oleh pemilik telepon pintar dalam melakukan kegiatannya sehari-hari Meskipun GPS standar dapat memberikan data lokasi yang akurat, keterbatasan fitur GPS standar ini akan membuat sulit implementasi dalam perangkat mobile. Untuk membantu menghindari beberapa keterbatasan GPS standar, perangkat mobile yang modern memanfaatkan Assisted GPS (A-GPS) dan simultaneous GPS (S-GPS). A-GPS menggunakan jaringan seluler untuk mengirimkan almanak GPS bersama dengan informasi lainnya ke perangkat mobile. Penggunaan jaringan seluler memungkinkan transmisi data almanak lebih cepat. Transmisi yang cepat dapat
mengurangi waktu penentuan lokasi perangkat. Selain itu, karena almanak berisi informasi tentang semua satelit GPS, perangkat akan mengetahui perkiraan lokasi satelit GPS dilebih dahulu. Hal tersebut juga mengurangi waktu yang diperlukan untuk memperoleh lokasi GPS. Perangkat yang menggunakan GPS standar menggunakan hardware yang sama dalam berkomunikasi dengan satelit GPS dan membuat panggilan telepon. Hanya satu dari dua tindakan ini yang dapat dilakukan pada suatu waktu. S-GPS memberikan solusi dalam masalah ini dengan menambahkan hardware yang memungkinkan radio GPS dan jaringan radio selular beroperasi secara bersamaan. Kemampuan untuk mengaktifkan dua fungsi radio tersebut dapat mempercepat mendapatkan data lokasi GPS.
2.2.3.
Batasan GPS Meskipun GPS dapat memberikan data lokasi yang akurat, tetapi GPS juga
memiliki keterbatasan. Kelemahan pertama adalah penerima GPS membutuhkan medium yang bebas dari penghalang ke satelit GPS. Hal ini menyebabkan GPS tidak dapat bekerja di dalam ruangan tertutup, bahkan disituasi ketika angkasa tidak terlihat (seperti hutan lebat). Selain itu, untuk menghasilkan informasi lokasi, beberapa satelit GPS digunakan. Hal tersebut memerlukan banyak waktu dalam pemrosesan. Hal diatas dapat lebih diperburuk jika perangkat radio GPS tersebut memiliki tenaga rendah. Untuk alasan ini, sumber-sumber informasi lokasi kadang-kadang diperlukan.
14
Benda
yang
menghambat
sinyal
GPS
menyebabkan
sinyal
terefleksi/terpantul sebelum mencapai GPS receiver. Waktu yang dibutuhkan sinyal untuk mencapai penerima GPS digunakan untuk menghitung jarak antara satelit GPS dan penerima GPS. Sinyal GPS yang terpantul tersebut memiliki jalan yang berbeda (karena tidak langsung) dan menyebabkan perhitungan jarak menjadi tidak tepat. Jenis kesalahan ini disebut kesalahan multipath dan menyebabkan lokasi yang muncul akan melompat dari satu tempat ke tempat lain. Kejadian ini sering terlihat di daerah perkotaan di mana sinyal GPS sering terpantul oleh gedung-gedung tinggi
2.2.4.
Network Provider
Pada Android, lokasi berbasis jaringan menggunakan beberapa metode dalam menentukan lokasi dari perangkat. Penyedia lokasi jaringan dapat memberikan informasi lokasi
menggunakan menara seluler, atau berdasarkan informasi
jaringan nirkabel. Penggunaan Wireless Network Access Points Informasi lokasi berdasarkan titik akses jaringan nirkabel adalah salah satu cara Android mendukung pencarian lokasi dengan penyedia jaringan. Secara default, radio Wi-Fi tidak aktif pada telepon pintar android, radio Wi-Fi mengkonsumsi daya baterai yang lebih kecil dari perangkat keras GPS itu sendiri. Hal ini tentunya sangat efisien membantu GPS untuk menetapkan lokasi.
15
Lokasi deteksi berbasis Wi-Fi bekerja dengan tracking perangkat yang menggunakan layanan akses Wi-Fi pada titik akses yang sudah tersedia. Perangkat kemudian membuat query ke layanan Google location, yang menyediakan data lokasi berdasarkan informasi Wi-Fi. Informasi Wi-Fi yang dikumpulkan oleh perangkat antara lain adalah alamat MAC dari access point Wi-Fi. Untuk memberikan informasi lokasi berdasarkan Wi-Fi, layanan lokasi Google mendapatkan informasi tentang titik akses Wi-Fi dan lokasi mereka. informasi
ini
dikumpulkan
oleh
perangkat
Android
ketika
pengguna
menggunakan layanan Google location services di layar Setelan Lokasi. Gambar 2.2 menunjukkan tampilan yang disajikan untuk pengguna ketika akan mengaktifkan layanan lokasi Google sebagai sumber data lokasi.
*_.| Location services Google's location service Let apps use data front sources s
GPS satellites
%} Location consent Allow Google's location service to collect anonymous location data. Some data may be stored on your device. Collection may occur even when no apps are running.
Gambar 2.2. Layar Konfirmasi Google Location Service
Gambar 2.2 menunjukkan layar konfirmasi yang disampaikan kepada pengguna saat layanan lokasi Google digunakan sebagai sumber data lokasi. Konfirmasi Setuju pada layar akan mengijinkan perangkat merekam informasi Wi-Fi serta informasi lokasi saat ini dan mengirimkan informasi ini ke Google. Google menggunakan setiap perangkat Android sebagai alat dalam memperbarui informasi lokasi Wi-Fi dan secara kontinyu menjaga data kekinian. Salah satu keuntungan sumber lokasi Wi-Fi adalah bahwa memungkinkan perangkat untuk memperoleh informasi lokasi di daerah di mana GPS tidak dapat memberikan data lokasi. GPS tidak bisa digunakan di dalam mangan atau bahkan di lingkungan perkotaan dengan gedung-gedung tinggi yang menyebabkan masalah sinyal. Sebaliknya, lingkungan perkotaan dapat meningkatkan akurasi berbasis lokasi Wi-Fi karena banyaknya jaringan Wi-Fi yang tersedia untuk menentukan lokasi perangkat saat ini. Seperti GPS, menggunakan jaringan Wi-Fi sebagai sumber informasi lokasi memang memiliki keterbatasan. Pertama, untuk menentukan lokasi, jaringan Wi-Fi hams dalam jangkauan. Selain itu, jaringan hams memiliki layanan yang terbuka dalam mengatur identifikasi (SSID). Jalur akses yang memiliki SSID yang berakhiran
nomap tidak akan dikirim ke layanan lokasi
Google. Selain itu, perubahan ke lokasi titik akses Wi-Fi dapat menyebabkan ketidakakuratan data lokasi yang dihasilkan. Misalnya, banyak individu masyarakat yang memiliki jaringan nirkabel di mmah mereka untuk sehari-hari. Dengan asumsi perangkat Android telah disetting untuk menggunakan layanan
lokasi Google, Android akan mnginformasikan bahwa jalur akses tersebut memiliki alamat MAC dan lokasi kepada layanan lokasi Google Jika pengguna mengubah lokasi titik akses (bawa ke sebuah rumah, misalnya), layanan lokasi akan memberikan lokasi keberadaan perangkat yang salah ketika sumber lokasi Wi-Fi digunakan. Meskipun layanan lokasi tidak mengijinkan jalur akses lokasi diperbarui melalui perangkat Android, Google juga tidak mengizinkan pengguna secara eksplisit mengatur lokasi jalur akses. Perangkat Android memastikan informasi ke layanan lokasi dengan cara
menunggu perangkat lain dapat mengkonfirmasi
perubahan sebelum layanan lokasi diperbarui. Penggunaan Menggunakan Cell IDs Selain menggunakan informasi Wi-Fi untuk mengetahui lokasi perangkat, Android juga dapat menggunakan jaringan seluler. Jaringan selular dipergunakan dengan cara yang serupa sebagai titik lokasi akses Wi-Fi dalam menentukan lokasi perangkat. Untuk berfungsi dengan baik, perangkat selular harus berada dalam jangkauan menara BTS. Sebagai perangkat bergerak tentu akan terhubung ke sebuah menara sel yang selalu berganti-ganti. Dengan berbekal ID menara saat ini terhubung dan menara yang perangkat sebelumnya dapat memberikan informasi keberadaan perangkat. Android dan Google bekerja sama dalam layanan lokasi memetakan menara seluler dalam menghasilkan data lokasi dengan cara yang sama dengan
data Wi-Fi. Perangkat dikonfigurasi untuk menggunakan penyedia jaringan, mengumpulkan data pada saat menara cell ID terdeteksi. Data termasuk ID Cell menara sel perangkat saat ini terhubung ke dan lokasi GPS. Dengan informasi ini, layanan lokasi Google dapat mengembangkan "peta" menara sel yang dari lokasi tempat menara cell tersebut berada. Perangkat Android dalam memperbarui informasi ID sel, layanan lokasi Google menjaga
kumpulan
informasi
yang disimpan tersebut
sehingga
meningkatkan akurasi seiring dengan jumlah entri meningkat. Ketika perangkat menemukan lokasi saat ini, perangkat tsb akan mengirimkan ID dari menara seluler yang saat ini terhubung serta informasi sejarah tentang menara sel terakhir telah digunakan. Dengan informasi ini, layanan lokasi Google dapat memberikan informasi tentang lokasi perangkat saat ini berdasarkan data yang memiliki sekitar jaringan menara sel. Jika ID dari beberapa menara sel dikirim ke layanan lokasi Google, dapat menggunakan triangulasi untuk memberikan peningkatan akurasi lokasi. Layanan lokasi Google tidak dapat melakukan ini jika perangkat mengajukan hanya ID menara sel tunggal. Keterbatasan untuk menggunakan menara seluler ID hampir sama dengan keterbatasan yang ada saat menggunakan jaringan Wi-Fi. Lokasi menara sel hamper tidak mungkin berubah dibanding lokasi titik akses WIFI, beberapa permasalahan yang ada ketika menggunakan titik akses Wi-Fi dapat dihindari. Seperti pada data titik akses Wi-Fi, Google layanan lokasi harus diaktifkan agara
19
layanan tersebut memiliki data pada ID menara sel yang dikirim oleh perangkat dalam rangka memberikan data lokasi.
2.3.
Accelerometer Penggunaan GPS selama ini bila dipadukan dengan accelerometer dapat
menjadi sebuah perpaduan yang sangat bermanfaat dalam berkendara yang aman {safe driving). Dalam jurnal yang ditulis oleh Roma Goregaronkar dan Prof. Snehal Bhosale "Safe Driving and Accidental Monitoring Using GPS System and Three Axis Accelerometer" dijelaskan penggunaan telepon pintar dan aplikasinya yang terintegrasi didalam kendaraan akan dapat mengevaluasi kondisi jalan raya. Selain sebagai evaluator kondisi jalan raya, penggunaannya dapat diperluas menjadi monitoring kecelakaan terhadap pengemudi kendaraan. Laporan kecelakaan dapat dikirimkan melalui telepon pintar menggunakan jalur GSM menuju kepada keluarga pengemudi yang sudah ditentukan sebelumnya Sensor Accelerometer dan sensor linear acceleration menghasilkan data percepatan dalam sumbu kartesian X, Y, dan sumbu Z. Data akselerasi tidak hanya menyediakan besarnya percepatan (dalam m/det2), tetapi juga arah percepatan. Setiap sumbu, akselerasi positif menunjukkan akselerasi dalam satu arah dan nilai negatif menunjukkan percepatan dalam arah yang berlawanan. Lihat Gambar 2.3 untuk melihat bagaimana sumbu didefmikan dalam perangkat accelerometer.
20
Sebagai ilustrasi, jika perangkat diletakan di permukaan yang datar dan digerakan dari kiri ke kanan, percepatan positif untuk sumbu X akan dihasilkan. Sebaliknya, jika perangkat tersebut digerakan dari kanan ke kiri, nilai percepatan negatif akan dihasilkan. Logika yang sama juga diterapkan pada sumbu Y dan Z.
^•^@B:38^ Determine Movement
Accelerometer i jneai Acceleral
Sansoi
Speak Movement Detected Enable High-Pass Filter
Gambar 2.3. Contoh Plot Data Accelerometer
Accelerometer dan linear acceleration menghasilkan data akselerasi, perbedaan utama antara keduanya adalah nilai percepatan gravitasi yang mempengaruhi pengukuran. Accelerometer menghasilkan data percepatan yang dipengaruhi oleh gaya gravitasi,
sedangkan sensor
linear accelerometer
menghilangkan nilai percepatan gravitasi pada pengukurannya.
21
2.4.
Pengumpulan data Data yang berasal dari sensor accelerometer dalam Smartphone disimpan
menggunakan aplikasi "DataCollection. Semua nilai accelerometer sensor yaitu x, y dan z diambil dari layanan internal Smartphone serta ditampilkan kepada pengguna melalui layar . Data diambil dengan interval waktu 200ms (5 pembacaan per detik). Pada saat mengumpulkan data, telepon diletakkan di suatu tempat yang tetap di dashboard kendaraan dalam kondisi tegak seperti ditunjukkan pada Gambar 2.4.
V a l u e s from a c c e l e r o m e t e r X:-0.306457B2 V: O 3 0 G 4 5 7 8 2 Z- O . B 4 5 2 6 7 9 3
Gambar 2.4. Orientasi Sumbu dan Aplikasi Data kolektor Sumbu X menunjuk kearah kanan sepanjang lebar telepon, Sumbu Y menunjuk kearah atas sepanjang pangjang telepon dan Sumbu Z menunjuk kearah atas tegak lurus dengan layar bidang telepon. Semua nilai disimpan didalam memori telepon dalam format txt. Luaran dari segmen pengumpulan data merupakan nilai-nilai baku x, y dan z sumbu sensor accelerometer.
Data Pre-prosessing Luaran dari modul pengumpulan data tersebut dimasukkan ke dalam modul preprocessing. Beberapa masalah dalam bentuk data mentah adalah: Cakupan nilai observasi yang cukup besar Data masih kotor (raw data) -
Nilai data yang diberikan masih menunjukan negative dan positif false (masih ada kesalahan).
-
Data tidak dalam bentuk ternormalisasi
-
Data bergantung pada perangkat yang memiliki berbagai macam tingkat sensitivitas. Selain itu perangkat selalu menampilkan pembacaan yang berbeda, sehingga sulit untuk menetapkan standarisasi setiap telepon.
2.5.
Jenis Pola Mengemudi Setelah menganalisis data gradien dan melakukan berbagai eksperimen
Nidhi Kalra, Gunjan Chugh,Divya Bansal
dalam jurnal ilmiah berjudul
"Analyzing Driving and Road Events via Smartphone" pada tahun 2014 mempublikasikan analisi pola berbagai cara mengemudi dan anomali jalan. Selain itu ditentukan juga nilai ambang batas. Tabel 2.2. menunjukkan nilai ambang berbagai pola.
z-axis (change iu value from positive to negative)
=1.5
Bump
z-axis (change in value from negative to positive)
=1.5
Rough Road
z-axis (continuous occurrence of potholes)
=1.5
-1
The following pattern? were observed:
2.5.1.
Pola mengemudi jalan lurus dan halus
•x axis •y axis z axis
Time (ins)
Gambar 2.5. Pola untuk berkendara lurus di jalan yang baik
24
Ketika kendaraan diam atau bergerak lurus di jalan yang mulus, akan ada sedikit defleksi nilai accelerometer. Oleh sebab itu nilai-nilai x, y dan z sumbu accelerometer dalam rentang dari -lg ke lg dianggap stabil karena tidak ada pola tindakan terdeteksi dalam kisaran ini. Hal ini ditunjukkan pada Gambar 2.5.
2.5.2.
Pola Belok Kiri Deteksi belok kiri ditentukan oleh perubahan percepatan dalam sumbu x.
Jika ada penurunan mendadak untuk besarnya nilai sumbu x di arah negatif, hal ini menunjukkan pola belok kiri seperti ditunjukkan pada Gambar 2.6.
Gambar 2.6. Pola untuk berkendara Belok Kiri
25
2.5.3.
Pola Belok Kanan Pola belok kanan ditentukan oleh perubahan percepatan dalam sumbu x.
Jika ada peningkatan mendadak untuk besarnya nilai sumbu x di arah yang positif, hal ini menunjukkan pola belok kanan seperti ditunjukkan pada Gambar 2.7.
Gambar 2.7. Pola untuk berkendara belok kanan
2.5.4.
Pola Pengereman Normal Pola Pengereman/perlambatan ditentukan oleh perubahan percepatan y-axis.
Penurunan mendadak nilai besarnya sumbu y di arah negatif dan juga ada sedikit defleksi pada poros x dan sumbu z. Sering pengereman dapat disebabkan oleh berbagai alas an, misalnya kemacetan, jalan bergelombang atau faktor lingkungan seperti hujan dll. Pola pengereman tersebut ditunjukkan pada Gambar 2.8.
26
Gambar 2.8. Pola untuk berkendara pengereman normal
2.5.5.
Pola Pengereman Mendadak Pola pengereman tiba-tiba ditentukan oleh perubahan percepatan pada
sumbu y-axis.
•x value •y value z value
Time (ms)
Gambar 2.9. Pola untuk berkendara pengereman tiba-tiba
27
Dalam hal ini ada penurunan yang sangat besar dalam y-sumbu ke arah negative. Kita dapat mendugajuga ketika ada defleksi di sumbu y di arah negatif dengan nilai <-3, pola pengereman mendadak terjadi, seperti ditunjukkan pada Gambar 2.9.
2.5.6.
Pola Percepatan Kedepan Mendadak Pola percepatan kedapan mendadak ditentukan oleh perubahan nilai
percepatan y-axis. Dalam hal ini ada peningkatan mendadak dalam nilai besarnya sumbu y dalam arah positif dan ada beberapa defleksi pada sumbu x dan sumbu z seperti yang ditunjukkan pada Gambar 2.10. 4 -|
Acceleration (m/sA2)
3.5 3 2.5 2 -
^ ^ — x value
1.5
^ ^ H y value
1 -
^ z value
0.5 0 -0.5 - l | P f -1 -
5
7
9
11
Time (ms)
Gambar 2.10. Pola untuk berkendara Akselerasi dengan Cepat
2.5.7.
Pola Lubang Pola lubang ditunjukkan dengan perubahan nilai pada sumbu z. Jika tidak
ada (atau sedikit) defleksi dalam nilai sumbu z, menunjukan jalanan yang dilewati
28
mulus (tidak ada gundukan atau lubang) dan jika ada penyimpangan, maka disimpulkan ada polisi tidur atau lubang yang terdeteksi. Jika besarnya nilai sumbu z yang pertama di arah yang positif dan kemudian menuju arah negatif, dengan sedikit defleksi di x dan y nilai, maka akan menunjukkan lubang seperti yang ditunjukkan pada Gambar 2.11. Pola ini adalah pola yang digunakan dalam melakukan pendeteksian kondisi jalan raya. Kondisi jalan raya tergantung dari keadaan permukaan yang dilewati oleh kendaraan. Semakin buruk keadaan permukaan jalan raya semakin besar nilai penyimpangan yang terjadi pada sumbu Z. Kondisi ini juga akan mempengaruhi nilai luaran sumbu-sumbu lainnya mengingat kendaraan juga memiliki sistem suspensi. Sistem suspensi akan melakukan pengkondisian terhadap getaran yang dialami dengan menggunakan pegas yang dapat bergerak bebas dalam sumbu x dan y.
Pothole
x-value y-value z-value
Time(ms)
Gambar 2.11. Pola untuk berkendara dijalan berlubang
29
2.5.8.
Pola Gundukan/Polisi tidur Pola gundukan(pengurang kecepatan) ditunjukkan dengan perubahan nilai
sumbu z. Jika tidak ada (atau sedikit) defleksi dalam nilai sumbu z, menunjukan jalanan yang dilewati mulus (tidak ada gundukan atau lubang) dan jika ada penyimpangan, benjolan atau lubang terdeteksi. Jika besarnya nilai sumbu z yang pertama di arah negatif dan menuju ke arah yang positif, dengan sedikit defleksi di x dan y nilai, maka akan menunjukkan adanya gundukan seperti ditunjukkan padaGambar 2.12.
Bump
x-value y-value z-value
Time(ms)
Gambar 2.12. Pola untuk berkendara pada gundukan
2.5.9.
PolaJalan Tidak Rata Jalan tidak rata ditunjukkan dengan terdeteksinya lubang secara kontinu.
Jika ada gerakan zigzag secara terus menerus dalam sumbu z, maka maka dideteksi sebagai jalan tidak rata, seperti ditunjukkan pada Gambar 2.13.
30
Rough Road
»x-value •y-value
| -2^ 8 -4
t^Afi*
z-value
-6 Time(ms)
Gambar 2.13. Pola untuk berkendara di jalan yang rusak
2.6.
Algoritma Prediksi Lubang(Potholes) Sudah ada beberapa sistem penginderaan kendaraan dalam rangka deteksi
lubang. Beberapa sistem menggunakan accelerometers untuk mendapatkan data. Dalam subbagian ini berisi ulasan tentang algoritma deteksi lubang yang diimplementasikan dalam sistem berbasis accelerometer. Kajian kelayakan implementasi sistem ini dilakukan pada platform dengan hardware dan software bersumber daya terbatas, yakni
berbasis telepon pintar Android oleh Artis
Mednis, Girts Starzdins, Reinholds Zviedris, Georgijs Kanonirs, Leo Selavo dalam tulisan ilmiah mereka "Real Time Pothole Detection ,Using Android Smartphones with Accelerometers" pada tahun 2011. Dalam jurnal ilmiah mereka disampaikan kajian terkait algoritma deteksi Z-THRESH, Z-DIFF, STDEV dan G-ZERO
31
Ketersediaan sumber daya perangkat keras dan perangkat lunak pada platform ini mampu untuk diimplementasikan algoritma yang lebih kompleks dengan parameter deteksi lubang yang lebih baik serta melakukan deteksi secara realtime.
Gambar 2.14. Deteksi lubang dengan algoritma Z-THRESH
Gambar 2.15. Deteksi lubang dengan algoritma Z-DIFF
Algoritma pertama dan paling sederhana algoritma deteksi metode ZTHRESH (Gbr. 2.14) yang diuji pada suatu kumpulan data. Metode ini menggunakan amplitudo batasan yang telah ditentukan pada sumbu Z. Metode ini mengklasifikasikan pengukuran berdasarkan nilai yang melebihi batas yang telah ditetapkan dalam mengidentifikasi kondisi jalan raya. Algoritma ini menggunakan informasi tentang posisi sumbu Z di accelerometer. Reorientasi virtual tambahan
32
dari accelerometer dapat diterapkan. Reorientasi ini terkait dengan posisi meletakan telepon pintar dalan melakukan ujicoba. Berikutnya, algoritma Z-Diff (Gbr. 2.15). Algoritma ini diuji pada kumpulan data berbentuk fungsi waktu yang diperoleh dari accelerometer. Berbeda dengan Z-THRESH, algoritma ini menghitung dengan menggunakan dua pengukuran berturutan. Hasil selisih antara 2 nilai tersebut dihitung dan dilanjutkan dengan membandingkan dengan nilai ambang batas tertentu. Jadi algoritma mendeteksi perubahan percepatan dalam arah vertical sehingga algoritma ini juga memerlukan penentuan posisi Z-sumbu (reorientasi) sama dengan pendekatan algoritma sebelumnya. Algoritma berikut ini adalah algoritma yang menggunakan teknik paska pemrosesan data. Salah satu teknik untuk implementasi pada perangkat dengan sumber daya terbatas adalah menggunakan standar deviasi akselerasi sumbu vertikal. Algoritma ini dinamakan algoritma STDEV (Z) (Gambar 2.16). Untuk menggunakan algoritma ini, ukuran jendela waktu dan ambang batas harus ditentukan terlebih dahulu.
Gambar 2.16. Deteksi lubang dengan algoritma STDEV(Z)
33
Selain itu perlu dilakukan penyesuaian/tuning algoritma terutama untuk mendeteksi lubang.
Gambar 2.17. Deteksi lubang dengan algoritma G-ZERO
Penggunaan alat analisis data visual dalam mencari pola data tertentu menemukan bahwa terdapat peristiwa-peristiwa yang ditandai dengan pengukuran data set dengan suatu kondisi. Tiga buah sumbu dalam data set ini memiliki nilai mendekati Og pada suatu waktu tertentu. Dari hasil analisis empiris data set ini dapat diperoleh dua kesimpulan terhadap peristiwa ini: 1.
Set data tersebut diperoleh ketika kendaraan dalam keadaan sesaat terjun bebas, sebagai contoh ketika masuk atau keluar dari lubang;
2.
Tupel data dapat dianalisis tanpa menggunakan informasi posisi sumbu-Z dari accelerometer.
Algoritma ini diberi nama G-ZERO (Gambar 2.17). Algoritma ini menunjukan bahwa 3(tiga) buah sumbu dalam accelerometer dapat juga menunjukan kondisi dimana kendaraan sedang mengalami gangguan di jalan raya tanpa perlu menentukan sumbu tertentu sebagai acuan. Algoritma ini meniadakan reorientasi.
BAB 3 METODE PENELITIAN
Metode penelitian yang digunakan adalah melakukan implementasi terhadap algoritma pendeteksian halangan pada jalan raya. Algoritma yang disampaikan diterjemahkan dari bentuk narasi dan grafik menjadi program dalam bahasa Java yang diimplementasikan pada telepon pintar berbasis android. Dalam implementasi dibutuhkan perangkat pendukung lainnya seperti pencatu daya, webhosting, IDE programming dan lain sebagainya. Penggunaan perangkat pendukung tersebut mutlak adanya, mengingat implementasi telepon pintar ini tidak dapat berdiri sendiri maka manajemen pembuatan aplikasi pun perlu digunakan.
3.1.
Sistem Informasi Monitoring Jalan Raya Sistem Informasi merupakan salah satu pemanfaatanr teknologi berbasis
komputer yang sedang berkembang saat ini. Hampir semua bidang yang terkait dengan pengolahan data dan pengambilan data tidak bisa terlepas dari Sistem Informasi. Berkat Sistem Informasi pengambilan data dan pengolahannya dapat dilakukan secara cepat, tepat dan akurat. Secara umum Sistem informasi pengelolaan jalan raya dapat digambarkan dalam use-case berikut
34
35
Gambar 3.1. Use case pengelolaan jalan raya
Dalam use case tersebut digambarkan pengguna mempunyai spesialisasi pengguna dengan smartphone terinstall dan pengguna mobile phone. Pengguna dengan smartphone terinstal adalah pengguna yang menggunakan telepon pintar yang sudah terinstal di kendaraannya. Sedangkan pengguna mobile phone adalah pengguna yang mengirimkan informasi kerusakan/gangguan di jalan raya dengan menggunakan aplikasi yang diinput langsung oleh pengguna Laporan kerusakan tersebut secara otomatis akan dikirimkan kepada pengelola jalan raya. Pengelola jalan raya akan melakukan analisis kerusakan jalan raya. Hasil analisis akan menentukan apakah perbaikanjalan raya diperlukan segera, dengan waktu tertentu atau tidak sama sekali. Bila hasil analisis dinyatakan perlu dilakukan perbaikanjalan raya maka vendor akan melakukan pekerjaan tersebut. Perbaikan jalan raya tentunya akan dibuatkan berita acara bila sudah selesai dan akan dicatatkan kedalam sistem.
36
Sistem Informasi Monitoring Jalan Raya yang akan dijelaskan dibawah ini adalah Sistem Informasi yang dibangun dengan mempergunakan telepon pintar sebagai sumber informasi utama dalam implementasinya. Telepon pintar tersebut akan dipasangkan pada kendaraan yang digunakan dalam operasional perawatan jalan.
3.2.
Perangkat Keras Dalam menunjang pembuatan Sistem Informasi ini, peranan perangkat keras
berupa komponen elektronika dalam memasok listrik kedalam perangkat telepon pintar. Tanpa ada rangkaian pencatu daya tersebut telepon pintar tentu saja tidak dapatbekerja. Inti dari pencatu daya dalam pengembangan aplikasi ini adalah adalah IC regulator tegangan LM 7805. IC ini akan memberikan tegangan luaran sebesar 5 volt dari tegangan masukan sebesar 12 volt. Tegangan 12 volt tersebut didapatkan dari Aki mobil yang dipergunakan oleh sistem kelistrikan kendaraan. Perangkat Telepon pintar tidak dapat menerima langsung tegangan 12 volt yang diberikan oleh sistem kelistrikan dikarenakan terlalu besar sehingga dapat merusak perangkat telepon pintar yang ada.
Gambar 3.2. IC Regulator LM 7805
37
Untuk dapat membuat rangkaian pencatu daya dipergunakan rangkaian sederhana yang terdiri dari 2 kapasitor dan 1 buah IC LM7805. Tegangan masukan akan berfluktuasi mengingat didalam sistem kelistrikan kendaraan, sumber penghasil listrik adalah alternator yang digerakan oleh mesin. Kecepatan putaran alternator bergantung puturan mesin sehingga tengangan yang dihasilkan juga bervariasi mengikuti kecepatan putaran mesin yang dikemudikan
vout
Vin /ROS
Input DC (8V-15V)
o
Regulated Voltage
Gnd f
< k<2 0.i!ul-
0.33uF i
0
Gambar 3.3. Rangkaian Regulator 7805
Bila rangkaian sudah di patri dan sesuai dengan skema yang diberikan maka untuk melindungi dan menjaga estetika pemasangan rankaian elektronika tersebut diletakan disebuah box plastik hitam dan dapat dipasangkan didalam kendaraan.
Gambar 3.4. Fisik Regulator yang dibuat
38
Untuk keamanan rangkaian tersebut dapat diberikan sekring untuk menjadi terjadinya hubungan singkat bila ada kesalahan pemasangan kabel setelah rangkaian pencatu daya. Perangkat utama lainnya adalah telepon pintar. Telepon pintar yang dipergunakan dalam pengembangan ini adalah Samsung Galaxy Young S5360. Salah satu alasan menggunakan telepon ini adalah fitur pengenalan lokasi yang sudah dilengkapi komponen A-GPS sensor didalamnya. Selain GPS telepon ini juga dilengkapi dengan sensor accelerometer yang nantinya dipergunakan sebagai fitur utama dalam si stem informasi ini.
Gambar 3.5. Telepon Pintar Galaxy Y
39
Tabel 3.1. Spesifikasi Telepon pintar galaxy Y NETWORK
Technology
GSM / HSPA
LAUNCH
Announced
2011, August
Status
Available. Released 2011, October
Dimensions
104x58x 11.5 mm (4.09x2.28x0.45
BODY
in)
DISPLAY
Weight
97.5 g (3.42 oz)
SIM
Mini-SFM
Type
TFT capacitive touchscreen, 256K colors
Size
3.0 inches (-46.2% screen-to-body ratio)
Resolution
240 x 320 pixels (-133 ppi pixel density)
Multitouch
Yes - TouchWiz UI - Touch sensitive controls
PLATFORM OS
MEMORY
Android OS, v2.3.5 (Gingerbread)
CPU
830 MHz ARMv6
Card slot
microSD, up to 32 GB
Internal
180 MB, 290 MB RAM
40
CAMERA
SOUND
COMMS
Primary
2 MP, 1600 x 1200 pixels
Features
Geo-tagging
Video
320p@15fps
Secondary
No
Alert types
Vibration; MP3, WAV ringtones
Loudspeaker
Yes
3.5mm jack
Yes
WLAN
Wi-Fi 802.11 b/g/n, Hotspot functionality
FEATURES
Bluetooth
v3.0, A2DP
GPS
Yes, with A-GPS
Radio
Stereo FM radio with RDS
USB
microUSB v2.0
Sensors
Accel erometer, proximity, compass
Messaging
SMS(threaded view), MMS, Email, Push Email, IM
Browser
WAP 2.0/xHTML, HTML
Java
Yes, via Java MJDP emulator - MP4/WMV/H.264 player - MP3/WAV/eAAC+ player - Photo/video editor
41
- Quickoffice document viewer BATTERY
MISC
Li-Ion 1200 mAh battery Stand-by
Up to 850 h (2G) / Up to 540 h (3G)
Talk time
Up to 17 h (2G) / Up to 6 h 20 min (3G)
Colors
Metallic gray, white / changeable back covers in pearly white, dark black, fruity orange, bubblegum pink and silver platter
SARUS
0.57 W/kg (head)
0.64 W/kg
(body)
TESTS
SAREU
0.66 W/kg (head)
Display
Contrast ratio: 625:1 (nominal)
Loudspeaker
Voice 66dB / Noise 65dB / Ring 66dB
Audio quality
Noise -87.0dB / Crosstalk -76.9dB
Bila rangkaian, telepon pintar sudah siap, pemasangan dilanjutkan didalam dikendaraan. Ada 4(empat) buah komponen yang harus dihubungkan. Aki, kunci kontak, Pencatu daya dan Telepon pintar adalah urutan yang terhubung dalam si stem ini. Urutan tersebut menunjukan arah aliran arus listrik.
42
Gambar 3.6. Susunan rangkaian pencatu daya telepon pintar
Fungsi kontak dalam diagram tersebut adalah untuk memutus arus ketika kendaraan tidak sedang digunakan. Bila kendaraan lama tidak digunakan telepon pintar tersebut akan mati. Ketika kontak dinyalakan telepon pintar tentunya akan mengisi battery terlebih dahulu dan belum bisa dinyalakan tanpa menekan tombol power. Untuk mengatasi hal tersebut telepon pintar tersebut dilakukan root. Guna root adalah memastikan fungsi-fungsi admin dapat diakses oleh pengguna telepon. Fungsi menghidupkan otomatis dapat dilakukan dengan melakukan rooting pada telepon pintar android karena folder yang didalamnya terdapat script autorun bisa di manipulasi pengguna.
3.3.
Perangkat Lunak dan Hosting Aplikasi Untuk menjalankan aplikasi, diperlukan suatu server web yang dapat diakses
melalui internet menggunakan paket data provider telekomunikasi. Data yang ditangkap oleh sensor di telepon pintar akan dikirimkan melalui jalur internet
43
menuju server yang telah ditentukan sebelumnya. Server ini nantinya digunakan untuk menyimpan seluruh data yang dihasilkan oleh telepon pintar Dalam pengembangan aplikasi ini digunakan web hosting di penyedia jasa hosting bernama Jagoan Hosting. Jasa hosting akan memberikan halaman admin web yang dilengkapi pengaman berupa username dan password. Selain itu halaman ini juga menggunakan pengaman Secure Socket Layer (SSL)
Gambar 3.7. Login console admin via peramban
Bila sudah melewati menu login maka tahap selanjutnya akan masuk dalam menu utama pengguna. Dalam menu utama ini akan ditampilkan fungsi-fungsi yang berkaitan dengan fungsionalitas hosting suatu web. Fungsionalitas tersebut mulai dari tutorial hingga melihat log akses aplikasi.
44
•\
N
Notice* Find
I
l rrequHitk
A t i « i » H
Area?.
File H a n g e r p n p MvAd m m -•37ft." Verjj
- ::<" ::••
Stats • M I t o *
-
•i- ;:
1 - W h ™ ,
-
»
SUtHI(B*IOCO(n
^ - a ^ ,
:_r.\:-.r
iaa.2M.ZE.a3
'
W
n U M n i Y
f
I Tipud r h l U Y
a.g / KW us
-"—
0/30
rtirterf
0 / 3
1
1
= 1
L.r,,t_|r
Q/97.7HE/S
«*_«.
7i.SSMS/2MH&
ta-»
.-i-.J.-:";
T
,W
—*— f -— "'~
:•.
™
la
*1U.-Ur«
0/3
,.-__«.
»>°
.:-..,..,.„ —
» » 1
H Y S O L Ukfc 3 f K >
.->.« ***» a ™
?
*™
d M M « .
•X T .
2 24.12 K B I B COFTBI
Dumv 11*3.3 ibuiHa)
&
* — l - v ™ .
3JJ7 5.4J1
M - U H .
V,.-.
J / o
tou
S.3.i2-I
* * • —
»S6_(H|
opBAaav^m
b i n
A n l l ' U h u ™ , u « ™ nfeu-rM
103.27.206.202 /is/aaiVsiiamM ^ • - :• -i 5.T
I M M H .
s.ia.i
—~
2&J2-
.:*„ *,
ljaimci)
• — * * -
M "
|
Gambar 3.8. Menu administrator
Salah satu yang dipergunakan adalah File Manager. File manager adalah fitur untuk mengakses file-file program yang dipergunakan sistem untuk melakukan proses terhadap data yang dikirim kedalam server.
45
A )$ si J?* St JL M. Si, £ & „# i t is s£ JL JWpJjll I _html^p 5 lrad.er
Gd
) • - «
upcrsli.d + . B«k =f R ™ J
g
Be l M J
{ £ s * „ til | u n « « l »
8
"»«
b=
ajipfcalBiiii-riltpa-php
06JJ
» •
Gambar 3.9. Menu File manager
Untuk memudahkan editing program, pada jendela file manager dilengkapi dengan program text editor. Dengan text editor maka coding dapat dengan mudah untuk diedit dan disesuaikan
Currently editing:
/hoirVsubureko/publlc_html/gp5traeker/mobMaps.php
ft O
1
'php.
ie(mysol_error ( ) ) ;
my sq l_c onn e c t ( " l o c a l h o s t " , " s n b u r e k : o _ g p s " , " g p s t r a c k e mysql_s*leqt_qb|"£ubiji-ska_gpstr'ackei-'") « r die(»iysqJ_e tilsta • rcysql_qusryC"'5&^CT •,eoncat(£ubstring( 8 " .
N
' o r d e r by s y a d a t e de5c LIMIT 6 , 1 " ) or di.e^myEql_error()); w h i l e - ( i i n ^ o = n y s q l -fetch arpayf J d a t a ) ) print SinfO['Ln6,].l,,l,.iinf0['Lst,].-,-.iirf print Sirrfo['Lng"]; Bii'fql_«losa(mys(il_eon!iaeti(' l o c a l h o s t " ,
118. O i l
Total:
D
rcwid'i.
I
..
.".-.iinM'Alt'].-
".ilnf.
spd'];
"SLltlurel<e_gps•
Lr1B. Ch 7E
Gambar 3.10. Aplikasi text editor
46
Selain itu untuk mengakses database dipergunakan fungsi phpMyAdmin. Dengan
fungsi
ini
pengguna
mengadministrasikannya.
dapat
Pengguna
dapat
mengakses melihat
isi
database table
dan
yang
ada,
memanipulasi (insert, update dan delete) data tersebut. phpMyAdmin >S*C*lttlHM>
Pengembangan perangkat lunak yang digunakan dalam telepon pintar android
dapat
mempergunakan
tool
yang
bermacam-macam.
Karena
pemrograman android merupakan pemrograman dengan platform terbuka maka pengguna android dapat mengembangkan aplikasi sesuai dengan kebutuhan dan keinginannya masing-masing.
47
Karena android berbasis Java maka instalasi Java runtime menjadi suatu keharusan pemrogram. Java yang diinstalkan dapat diperoleh secara bebas melalui situs Oracle (karena saat ini Java sudah diakuisisi oleh Oracle). Untuk penggunaan java dalam PC maka diperlukan spesifikasi hardware yang memiliki spesifikasi yang cukup tinggi karena mengingat Java merupakan salah satu pemrograman yang membutuhkan banyak sumber daya Selain
Java
diperlukan juga
IDE
dalam
pemrograman.
Dalam
pengembangan aplikasi ini digunakan Eclipse sebagai IDE. Eclipse yang digunakan mengunakan versi Indigo. Versi terakhir dari eclipse sendiri saat ini dinamakan Luna yang dirilis 2014
ipse
INDIGO
tutors and others, 2 0 0 0 , 2 0 1 1 . All rights ! Fo.undationjnc, Oracle and Java are reg tes may be trademarks of their
Gambar 3.12. Logo startup aplikasi Eclipse
Untuk dapat melakukan pemrograman Android eclipse perlu ditambahkan plugin tambahan yang berasal dari pengembang Android. Berupa ADT(Android Development Tools) dan SDK (Software Development Kit). Bila sudah semua
48
terinstall lakukan updating seperlunya pada SDK yang telah didownload oleh Eclipse melalui internet. . File
Bila semua sudah terinstall maka pemrogram android bisa dilakukan melalui IDE Eclipse. Eclipse dapat langsung melakukan instalasi program android yang sedang dikembangkan kedalam perangkat yang terhubung dengan kabel data. Fitur ini bisa bekerja bila driver Android sudah terinstal didalam PC. Fitur ini akan mengurangi penggunakan resource didalam PC pengembangan sehingga pemrograman bisa dilakukan lebih cepat. Listing program pada gambar 3.14 menunjukan penggunaan accelerometer dalam android. Diawali dengan inisialisasi variable x,y dan z dengan tipe float. Variable x, y dan z tersebut akan dimasukan nilai accelerometer x, y dan z sebagai fiingsi waktu. Karena terdapat 3 variabel, ketiganya di akar kuadratkan sehinggan
49
menghasilkan 1 (satu) nilai dan dimasukan kedalam variable totAcc yang bertipe double. p u b l i c v o i d onSensorChangedi; Sense-=vent e v e n t ) { if(event.sensor.getType()==Sensor.JYPE_LINEAR_ACCELERATION f l o a t x=event.values[&]; float y=event.values[l]; f l o a t z=event.values[2]; double totAcc = M a t h . s ^ r t f Double.vaLueOf(x)*Qouble.vaLueOf(x)+ Double . vaLueOf{y)*OBtible . vaLueGf(y) + Double.vatueOf(z)*Double.value0f{z));
){
SharedPreferences sp=PreferenceManager.getDefauttSharedPreferencEs^tJPSTracker.this); double max = Double . vaLueOf^sp . g e t S t r i n g ( "iriax", " 0 " ) ) j double sum = D o u b l e . v c i u e O f ( s p , g e t S t r i n g ( " s u m ' \ " 6 " ) ) j i n t cnt = Integer .pcirselnt^sp , g e t 5 t r i n g ( " c n t ' V ' 9 " ) ) ; if
(max
} s u m=s u m+t otAc c; cnt=cnt+l; SharedPreferences.Editor e d i t o r = s p . e d i t ( ) j e d i t o r . p u t S t r i n g C ' m a x " ^ Double . t c S t r l n t ^ m a x ) ) ; e d i t o r . put S t r i n g ( "surn" t Double . toStr ing{ s u m ) ) ; editor . put5tring( " c n t " , Integer . toString(cnt)); editor,commit(); / / t v 4 . s e t T e x t (Ccuble , t c S t - i n g i sun/c.nt.));, / / t v 5 . setText(Double. toString(fnax));
Gambar 3.14. Listing program GPSTracker.java
Calendar d = Calendar .§etlnsta.nce( ) j i f (month==l) { d.set(year--lJ12J,dayJbaur'JininJsec)j }else{ d . set (yea-, rcntVi-1, day, hcur,min_,sec )j } tiire=i;sy i t eir, current Time,-''!iLLiji;)-d,getTin-eIn.v,illiii:))/IseS; speed=(float) ((float) distance/time*3.6); i f [ChkSha*}{ Toast. mcrheTextl context., "HasMcCata", Toast. L&V&m_H?NG) ,show();
SbaredPreferences.Editc- editor - sp.editQ; double vox = Double ,vfiLu'c0.fCsp.get5t'ing("iriax'"j"0")); double suns = Double . vaia^Ofiip . getStringf "sum", 11 "0")) ; int cnt = Integer.parselnt^p.getStringC'cnt'Ve )^ i f (ent==9){ cnb-ls
>
Toast, make Text (context. Integer .toString(cjn,k), Toast. LEN5TH_LQNG) .sbow(); db. insert Logs (lot. getLatitude*), lot. get _cngitudeQ, lcc. getAltitudei;),( int) speed, i db.closeQ; editor , putStringC'iriax", Double. to,Jtring(&)J.l editor . put5tring( "SUIT;", Double. toString(&) ); editor. put5tr£ng("cnt" , Integer, toStringi, B)) i editar-conmit()j i f (ChkShow){ for (int i=ej 1 < 5; i+i-)
Informasiyang diterima tersebut akan disimpan kedalam 2 variabel max dan sum serta dihitung jumlah data dalam variable cnt. Variable max merupakan variable yang menyimpan nilai maksimum akar kuadrat accelerometer dalam 1 (satu) menit, sedangkan sum adalah jumlah akar kuadrat accelerometer. Data dalam variable sum dan max tersebut akan tersimpan dalam waktu 1 menit.. Bila sudah mencapai satu menit dan GPS telah memperoleh informasi lokasi (langitute dan longitude) maka nilai max yang diperoleh akan dimasukan kedalam database berikut nilai rata-rata yang merupakan pembagian antara variable sum dan cnt (seperti terlihat pada listing program pada gambar 3.15). 3.4.
Manajemen Pengembangan Perangkat Lunak Scrum merupakan framework untuk manajemen pengembangan software
dengan karakteristik cekatan dan bersifat iteratif dan incremental. Pertama kali diperkenalkan oleh Jeff Sutherland tahun awal tahun 1990an, dan dikembangkan selanjutnya dilakukan oleh Schwaber dan Beedle.
'**«*TION^
Gambar 3.16. Metode Agile
51
Pada dasarnya Scrum merupakan salah satu komponen dari metodologi pengembangan. Scrum menguraikan proses untuk mengidentifikasi pekerjaan
yang perlu
dilakukan, memprioritaskan
dan katalogisasi
yang bekerja
dengan
berkomunikasi dengan pelanggan atau wakil pelanggan, dan pelaksanaan yang bekerja menggunakan rilis iterative serta memiliki tujuan utama untuk mendapatkan perkiraan berapa lama waktu yang dibutuhkan.
Gambar 3.17. Proses pengembangan menggunakan SCRUM
Ada 3 elemen organisasi utama pada scrum yaitu product owner, Scrum master, dan the Scrum team. Scrum Master dapat dianggap sebagai pelatih bagi tim, membantu anggota tim menggunakan kerangka Scrum untuk tampil di tingkat tertinggi. Product
Owner mewakili
bisnis, pelanggan
atau pengguna dan
memandu tim ke arah pegembangan produk yang tepat. Sedangkan The Scrum Team merupakan grup pengembang kecil biasanya terdiri dari 5-9 orang. Untuk projek yang sangat besar, pekerjaan biasanya dibagi dan didelegasikan ke grup-
grup kecil. Jika sangat dibutuhkan the scrum master juga dapat ikut membantu dalam koordinasi team. Scrum tepat digunakan saat kondisi: Keperluan berubah dengan cepat Tim programmer sedikit, yaitu 5-9 orang Pelanggan tidak terlalu paham dengan apa yang diinginkan Scrum memiliki prinsip yaitu: Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan satu sama lainProses dapat beradaptasi terhadap perubahan teknis dan bisnis Proses menghasilkan beberapa versi software yang bersifat increment Personel yang membangun dibagi dalam tim yang kecil Dokumentasi dan pengujian akan terus menerus dilakukan setelah software mulai dibangun Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan Kelebihan Scrum antara lain: Keperluan berubah dengan cepat dan dapat disesuaikan segera Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi biaya dan memberdayakan satu sama lain Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
Proses Scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan Kelemahan Scrum adalah Pengembang harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
BAB 4 HASIL PENELITIAN DAN PEMBAHASAN
Pengujian menggunakan telepon pintar android dalam mendeteksi kondisi jalan raya menjadi bagian yang terpenting dalam penelitian ini. Penelitian dilakukan dengan mengambil data-data perjalanan sebuah kendaraandari suatu perumahan ke perumahan lainnya dengan kondisi jalan yang berbeda. Data yang dikumpulkan ditampilkan dalam bentuk grafik dan juga dipetakan dalam google map serta diberikan gambaran ril kondisi jalan raya yang dilewati yang terdeteksi adanya gangguan jalan raya. Hasil akhirnya adalah suatu nilai batasan yang cukup tepat digunakan dalam mendeteksi adanya ganggunan jalan raya dengan menggunakan algoritma z-thresh
4.1.
Pengujian Perangkat Android Perangkat telepon pintar Android yang digunakan dalam uji coba ini seperti
yang dijelaskan sebelumnya adalah Samsung Galaxy Y (S5360) yang didalamnya sudah dilengkapi dengan SIM Card lengkap dengan paket data Internet. Galaxy Y memiliki dimensi yang cukup kecil sehingga memudahkan dalam implementasi pada kendaraan feeder. Langkah pertama yang dilakukan adalah menambahkan kartu memori kedalam Samsung Galaxy Y yang hendak digunakan sebagai perangkat input data
54
55
kedalam sistem. Kegunaan memory card tersebut adalah untuk menyimpan sementara data yang dihasilkan oleh sensor Accelerometer dan GPS. Data tersebut kemudian akan dikirimkan melalui jaringan internet menuju server pengolahan. Bila instalasi sukses dilakukan maka perangkat secara otomatis akan menghidupkan program bila dalam telepon pintar tersebut dalam kondisi di charge (disi daya). Secara otomatis pula program akan mati bila telepon pintar tersebut diputuskan dayanya. Aplikasi akan menampilkan informasi percepatan terhadap 3 (tiga) sumbu koordinat yaitu X, Y dan Z. Nilai tersebut akan tampil pada layar aplikasi secara cepat dengan kecepatan update sebesar 50 Hz. Dengan kecepatan tersebut maka nilai accelerometer akan terupdate sebanya 50 kali dalam 1 (satu) detik.
Gambar 4.1. Aplikasi bekerja ketika dalam kondisi diisi daya
Guna penggunaan operasional beberapa parameter harus dimasukan kedalam aplikasi yang telah dibuat. Parameter tersebut antara lain : 1. Device Code Adalah parameter yang digunakan untuk membedakan suatu telepon pintar dengan telepon pintar lainnya. Parameter ini berisi number sepanjang 10 digit 2. AutoStart. Adalah fitur yang digunakan untuk mengaktifkan telepon pintar untuk bekerja secara otomatis bersamaan dengan menyalanya mesin kendaraan 3. Loging Method. Adalah pemilihan penggunaan algoritma pendeteksian (Z-Thresh dan Z-Diff) 4. Select Axis(X,Y or Z). Pemilihan sumbu yang digunakan sebagai pendeteksian kondisi jalan raya. Pemilihan ini tergantung dari peletakan posisi telepon pintar didalah kendaraan. 5. Threshold Value Threshold adalah parameter yang ditentukan untuk menentukan batasan percepatan yang akan direspon oleh telepon pintar (0.1 - 10 g) 6. Send HTTP Fitur ini adalah fitur untuk mengirimkan data yang telah dikumpulkan oleh sistem dalam database lokal menuju server 7. HTTP Period Adalah besarnya jeda waktu pengiriman melalui HTTP menuju server
57
B 1139
Device Code Your Device Code
Auto start Start With Wagon
Logging Method Select Method
Select Axis (X,Y or 2) Select Axis
Threshhold Value Gambar 4.2. Parameter Aplikasi Road Monitoring I
i •. i
ft 1139
Logging Method Select Method
Select Axis (X,Y or Z) Select Ax is
Threshhold Value Select g Value (mM2)
Send HTTP Checkit if you wantto send your location with HTTP
HTTP period Select time period
Gambar 4.3. Parameter Aplikasi Road Monitoring II
58
4.2.
Pengujian Aplikasi Android Data Feeder Bila perangkat telepon pintar sudah dipasangkan pada kendaraan maka
untuk mengamati apakah algoritma ini bekerja maka dilakukan pengujian. Pengujian disini digunakan untuk memastikan apakah setiap pergerakan yang diperoleh oleh kendaraan feeder yang sudah ditentukan batasannya percepatannya maka akan direkam dan disimpan oleh sistem. Lokasi uji coba ditentukan pada perumahan Citra Indah Jonggol Bogor dan Perumahan Dinas TNI-AL Sukamanah. Penentuan lokasi tersebut mengingat bahwa kendaraan uji coba merupakan kendaraan operasional antar-jemput SD plus Hangtuah 02 Sukamanah yang menjemput anak didik dari perumahan Citra Indah ke Perumahan Dinas TNI-AL Sukamanah. Kendaraan operasional tersebut akan melalui rute tersebut sebanyak 3 kali sehari. Selama dilakukan pengumpulan data tidak dilakukan perubahan rute ataupun perubahan lainnya terkait spesifikasi kendaraan ataupun penumpang. Supir dan kendaraan tetap bekerja seperti biasa seakan-akan tidak mengetahui adanya pemasangan perangkat tambahan telepon pintar yang sudah ditanam aplikasi monitoring jalan raya didalamnya. Data pendeteksian yang terkumpul nantinya akan diproyeksikan kedalam peta (dalam ini Google Maps) sehingga lebih terlihat visualisasinya. Titik-titik yang dihasilkan akan diproyeksikan sesuai dengan koordinat latitude dan longitude yang direkam oleh telepon pintar.
59
bru
v^
»<•
^~b
Peramahan Citra Indah
/
Peramahan Dinas TNIAL Sukamanah
'If , Gambar 4.4. Peta Lokasi Uji Coba
4.3.
Pengujian Jalan Raya Dalam memastikan apakah aplikasi dalam telepon pintar tersebut bekerja
sesuai dengan yang diharapkan maka proyeksi yang dilakukan berdasarkan parameter accelerometer yang telah ditentukan. Dalam uji coba ini akan digunakan nilai accelerometer sebesar 2, 1,5 dan 1 (m/s2)
yang dilakukan
sepanjang bulan September 2015. Hasil ujicoba yang dilakukan merupakan kumpulan data dalam bentuk tabel yang berisi koordinat (Latitude dan Longitude) serta besaran nilai accelerometer. Untuk dapat memperlihatkan data tersebut digunakan 2 (dua) sudut pandang yaitu dibagi berdasarkan jumlah kejadian vs Nilai accelerometer dan dipetakan dalam sebuah peta (google map). Dibawah ini adalah listing sql query untuk menhasilkan grafik jumlah kejadian vs Nilai Accelerometer pada bulan September 2015
60
select measure.min+l*(measure.max-measure.min)/10 as lvl,count(*) jml from (SELECT max(cast(avg AS decimal(10,6))) as max,min(cast(avg AS decimal(10,6))) as min FROM "location" where DATE_FORMAT( Dvcdate, , %Y%m' )='201509' and Usrld='6927026231' and flag=0) measure, location where cast(location.avg AS decimal(10,6))=0+measure.min and location.flag=0 and DATE_FORMAT(location.Dvcdate, , %Y%m , )= , 201509' and location.UsrId=,6927026231' union select measure.min+2*(measure.max-measure.min)/10 as lvl,count(*) jml from (SELECT max(cast(avg AS decimal(10,6))) as max,min(cast(avg AS decimal(10,6)» as min FROM "location" where DATE_FORMAT( DvcDate, , %Y%m' )='201509' and Usrld='6927026231' and flag=0) measure, location where cast(location.avg AS decimal(10,6))<2*(measure.maxmeasure.min)/10+measure.min and cast(location.avg AS decimal(10,6))>=l*(measure.max-measure.min)/10+measure.min and location.flag=0 and DATE_FORMAT(location.DvcDate, , %Y%m , )= , 201509 , and location.UsrId=,6927026231' union select measure.min+3*(measure.max-measure.min)/10 as lvl,count(*) jml from (SELECT max(cast(avg AS decimal(10,6))) as max,min(cast(avg AS decimal(10,6)» as min FROM "location" where DATE_FORMAT( DvcDate, , %Y%m' )='201509' and Usrld='6927026231' and flag=0) measure, location where cast(location.avg AS decimal(10,6))<3*(measure.maxmeasure.min)/10+measure.min and cast(location.avg AS decimal(10,6))>=2*(measure.max-measure.min)/10+measure.min and , , , location.flag=0 and DATE_FORMAT(location.DvcDate, %Y%m )= 201509' and location.UsrId='6927026231' union select measure.min+4*(measure.max-measure.min)/10 as lvl,count(*) jml from (SELECT max(cast(avg AS decimal(10,6))) as max,min(cast(avg AS decimal(10,6)» as min FROM "location" where DATE_FORMAT( DvcDate, , %Y%m' )='201509' and Usrld='6927026231' and flag=0) measure, location where cast(location.avg AS decimal(10,6))<4*(measure.maxmeasure.min)/10+measure.min and cast(location.avg AS decimal(10,6))>=3*(measure.max-measure.min)/10+measure.min and , , , , location.flag=0 and DATE_FORMAT(location.DvcDate, %Y%m )= 201509 and location.UsrId='6927026231' union select measure.min+5*(measure.max-measure.min)/10 as lvl,count(*) jml from (SELECT max(cast(avg AS decimal(10,6))) as max,min(cast(avg AS decimal(10,6)» as min FROM "location" where DATE_FORMAT( DvcDate, , %Y%m' )='201509' and Usrld='6927026231' and flag=0) measure, location where cast(location.avg AS decimal(10,6))<5*(measure.maxmeasure.min)/10+measure.min and cast(location.avg AS decimal(10,6))>=4*(measure.max-measure.min)/10+measure.min and , , , , location.flag=0 and DATE_FORMAT(location.DvcDate, %Y%m )= 201509 and location.UsrId='6927026231' union select measure.min+6*(measure.max-measure.min)/10 as lvl,count(*) jml from (SELECT max(cast(avg AS decimal(10,6))) as max,min(cast(avg AS decimal(10,6)» as min FROM "location" where DATE_FORMAT( DvcDate, , %Y%m' )='201509' and Usrld='6927026231' and flag=0) measure, location where cast(location.avg AS decimal(10,6))<6*(measure.maxmeasure.min)/10+measure.min and cast(location.avg AS decimal(10,6))>=5*(measure.max-measure.min)/10+measure.min and , , , , location.flag=0 and DATE_FORMAT(location.DvcDate, %Y%m )= 201509 and location.UsrId='6927026231' union select measure.min+7*(measure.max-measure.min)/10 as lvl,count(*) jml from (SELECT max(cast(avg AS decimal(10,6))) as max,min(cast(avg AS decimal(10,6)» as min FROM "location" where DATE_FORMAT( DvcDate, , %Y%m' )='201509' and Usrld='6927026231' and flag=0) measure, location where cast(location.avg AS decimal(10,6))<7*(measure.maxmeasure.min)/10+measure.min and cast(location.avg AS decimal(10,6))>=6*(measure.max-measure.min)/10+measure.min and , , , , location.flag=0 and DATE_FORMAT(location.DvcDate, %Y%m )= 201509 and location.UsrId='6927026231' union select measure.min+8*(measure.max-measure.min)/10 as lvl,count(*) jml from (SELECT max(cast(avg AS decimal(10,6))) as max,min(cast(avg AS decimal(10,6)» as min FROM "location" where DATE_FORMAT( DvcDate, , %Y%m' )='201509' and Usrld='6927026231' and flag=0) measure, location where cast(location.avg AS decimal(10,6))<8*(measure.maxmeasure.min)/10+measure.min and cast(location.avg AS decimal(10,6))>=7*(measure.max-measure.min)/10+measure.min and , , , , location.flag=0 and DATE_FORMAT(location.DvcDate, %Y%m )= 201509 and location.UsrId='6927026231' union select measure.min+9*(measure.max-measure.min)/10 as lvl,count(*) jml from (SELECT max(cast(avg AS decimal(10,6))) as max,min(cast(avg AS decimal(10,6)» as min FROM "location" where DATE_FORMAT( DvcDate, , %Y%m' )='201509' and Usrld='6927026231' and flag=0) measure, location where cast(location.avg AS decimal(10,6))<9*(measure.maxmeasure.min)/10+measure.min and cast(location.avg AS decimal(10,6))>=8*(measure.max-measure.min)/10+measure.min and , , , location.flag=0 and DATE_FORMAT(location.DvcDate, %Y%m )= 201509' and location.UsrId='6927026231' union select measure.min+10*(measure.max-measure.min)/10 as lvl,count(*) jml from (SELECT max(cast(avg AS decimal(10,6))) as max,min(cast(avg AS decimal(10,6)» as min FROM "location" where DATE_FORMAT( DvcDate, , %Y%m' )='201509' and Usrld='6927026231' and flag=0) measure, location where cast(location.avg AS decimal(10,6))<=10*(measure.maxmeasure.min)/10+measure.min and cast(location.avg AS decimal(10,6))>=9*(measure.max-measure.min)/10+measure.min and location.flag=0 and DATE_FORMAT(location.DvcDate, , %Y%m , )= , 201509 , and location.UsrId='6927026231'
61
IM
,1,1
HJI7H
0.HH2I
0.K51U
limb
1.60857
I.HKM
7.2SI991
I.S7WU
U1H1S
UIM
• lint of «g
Gambar 4.5. Grafik Jumlah Kejadian VS Nilai Accelerometer
Untuk melihat titik-titik yang terdapat gangguan jalan dilakukan dengan memetakan koordinat kedalam peta (google map) yang dibatasi oleh suatu nilai ambang accelerometer. Nilai ambang yang digunakan adalah 1, 1.5 dan 2 m/s2.
Gambar 4.6. Hasil Proyeksi Data Dengan Nilai Batasan 2 m/s z
62
Dengan menggunakan parameter batasan sebesar 2 m/s2
didapatkan titik-
titik koordinat yang menunjukan tingkat guncangan pada kendaraan yang lebih besar dari 2 m/s2
ada pada perumahan TNI-AL Sukamanah. Kondisi ini bisa
diprediksi karena jalanan diperumahan belum dilakukan betonisasi dan juga belum diaspal / rusak. Akibat dari hal ini tentu saja kenyamanan berkendaraan di lokasi tersebut sangatlah kurang.
Go qle
J o Map data £2015 Google
Terms of Use
Report a map error
Gambar 4.7. Hasil Proyeksi Data Dengan Nilai Batasan 1.5 m/s2
Pada gambar 4.7 ditentukan titik-titik yang
akan diamati secara fisik
apakah gangguan yang dialami oleh pengendara pada tempat-tempat tersebut.
63
Gambar 4.8. Titik 1# terlihat adanya polisi tidur/Gundukan
Gambar 4.9. Titik 2# terlihat adanya polisi tidur/Gundukan
64
Gambar 4.10. Titik 3# terlihat adanya polisi tidur
Gambar 4.11. Titik 4# terlihat adanya jalanan yang rusak
65
Bila nilai batasan dikurangi hingga 1.5 m/s2
maka didapatkan titik-titik
proyeksi yang masih banyak di perumahan TNI-AL Sukamanah. Hanya 3 (tiga) kumpulan titik yang diproyeksikan yang memiliki nilai akselerasi lebih dari 1.5 di perumahan Citra Indah.
Secara faktual bahwa titik yang diidentifikasi pada
perumahan citra indah tersebut merupakan polisi tidur yang sebelumnya berada pada suatu trek yang lurus.
Gambar 4.12. Hasil Proyeksi Data Dengan Nilai Batasan 1 m/s2
Pengukuran dilanjutkan dengan mempergunakan nilai batas 1 m/s2.
Pada
nilai ini kepekaan perangkat telepon pintar meningkat. Getaran atau guncangan yang dialami oleh kendaraan akan terekam lebih sering sehingga proyeksi titik yang didapatkan lebih banyak.
66
4.4.
Simulasi Implementasi Simulasi dibawah ini memperlihatkan manfaat dari penggunaan data yang
telah dikumpulkan pada kegiatan sebelumnya. Tujuan dari aplikasi ini adalah menunjukan proses perawatan jalan raya berupa workflow dengan 3(tiga) entitas. Entitas pertama adalah data yang berasal perangkat telepon pintar, kedua adalah petugas inspeksi jalan raya dan yang terakhir adalah vendor perbaikan jalan raya. Simulasi ini akan menggunakan scripting program PHP seperti dibawah ini. Scripting ini menggunakan Google map API, JQuery, Java Script serta terkoneksi dengan database yang datanya telah dijelaskan diatas. 300 || !ISSET ($t0)) { //in second session_unset(); session_destroy(); $thrshldLvl="1.5"; SusrMenu="l"; Sym=date("YmM); session_start(); }else{ SSESSIONI'tO'J^inieO; $t0=timeO; $thrshldLvl=$_GET[ , thrshldLvr]; if(!ISSET($thrshldLvl)){ if(!ISSET($_SESSION[ , thrshldLvr])&&$thrshldLvl=""){ $thrshldLvl="1.5"; }else{ $thrshldLvl=$_SESSION[ , thrshldLvr];
$ym=$_GET['ym']; if(!ISSET($ym)){ if(!ISSET($_SESSION[ , ym , ])&&$yni=""){ }else{ SynFSSESSIONI'ym'];
substring (DvcDate,6,2),'-', substring(DvcDate,l,4),' ', substring(DvcDate,12,5),' ', 'rata-rata:',avg,' ,max:',max) AS Period, concat(substring(SysDate,9,2),,-,, substring(SysDate,6,2),'-', substring(SysDate,l,4),' ', substring(SysDate,12,8)) as sysdate, concat(substring(DvcDate,9,2 ),'-', substring (DvcDate,6,2),'-', substring(DvcDate,l,4),' ', substring(DvcDate,12,5)) as dvcdate, Lat,Lng,avg,max,spd,alt,sysdate as sysdatel,'1' as kd FROM location" WHERE spd ^ 0 AND alt ^ 0 AND avg > ".SthrshldLvl." AND DATE_FORMAT( location.Dvcdate, , % Y % m ' ) = "\$ym. ,M AND not exists (select * from simkjr where location.sysdate=simkjr.sysdate and location.usrid=simkjr.usrid) UNION select Tl.usrld, concatCWaktu:', substring (Tl.DvcDate,9,2 ),'-', substring (Tl.DvcDate,6,2 ),'-', substring(Tl.DvcDate,l,4),' ', substring(Tl.DvcDate,12,5),' ', 'rata-rata:',Tl.avg,' ,max:',Tl.max) AS Period, concat(substring(T 1. SysDate,9,2),'-', substring (T1. Sy sDate,6,2),'-', substring(Tl.SysDate,l,4),' ', substring(Tl.SysDate,12,8)) as sysdate, concat^substringCn.DvcDate^^),'-', substring (Tl.DvcDate,6,2 ),'-', substring(Tl.DvcDate,l,4),' ', substring(Tl.DvcDate,12,5)) as dvcdate, Tl.Lat,Tl.Lng,Tl.avg,Tl.max,Tl.spd,Tl.alt, Tl.sysdate as sysdatel,'2' as kd FROM location" Tl inner join (SELECT UsrId,Sysdate,max(flag) mFlag FROM simkjr group by UsrId,SysDate)T2 on Tl.SysDate=T2.SysDate and Tl.UsrId=T2.UsrId and T2.mFlag=l andTl.spd<>0 ANDTl.alt<>0 AND Tl.avg > ".SthrshldLvl." AND DATE_FORMAT( Tl.Dvcdate, , %Y%m' ) = "'.Sym.' UNION select Tl.usrld, concatCWaktu:', substring (Tl.DvcDate,9,2 ),'-', substring (Tl.DvcDate,6,2 ),'-', substring(Tl.DvcDate,l,4),' ', substring(Tl.DvcDate,12,5),' ', 'rata-rata:',Tl.avg,' ,max:',Tl.max) AS Period, concat(substring(T 1. SysDate,9,2),'-', substring (T1. Sy sDate,6,2),'-', substring(Tl.SysDate,l,4),' ', substring(Tl.SysDate,12,8)) as sysdate, concat(substring(Tl.DvcDate,9,2 ),'-', substring (Tl.DvcDate,6,2 ),'-', substring(Tl.DvcDate,l,4),' ', substring(Tl.DvcDate,12,5)) as dvcdate, Tl.Lat,Tl.Lng,Tl.avg,Tl.max,Tl.spd,Tl.alt, Tl.sysdate as sysdatel,'3' as kd FROM "location" Tl inner join (SELECT UsrId,Sysdate,max(flag) mFlag FROM simkjr group by UsrId,SysDate)T2 on Tl.SysDate=T2.SysDate
69
and Tl.UsrId=T2.UsrId and T2.mFlag=2 andTl.spd<>0 ANDTl.altoO AND Tl.avg > ".SthrshldLvl." AND DATE_FORMAT( Tl.Dvcdate, '%Y%m' ) = M \$ym. ,M UNION select Tl.usrld, concat('Waktu:', substring (Tl.DvcDate,9,2 ),'-', substring (Tl.DvcDate,6,2 ),'-', substring(Tl.DvcDate,l,4),' ', substring(Tl.DvcDate,12,5),' ', 'rata-rata:',Tl.avg,' ,max:',Tl.max) AS Period, concat(substring(T 1. SysDate,9,2),'-', substring (T1. Sy sDate,6,2),'-', substring(Tl.SysDate,l,4),' ', substring(Tl.SysDate,12,8)) as sysdate, concat(substring(Tl.DvcDate,9,2),'-', substring (Tl.DvcDate,6,2 ),'-', substring(Tl.DvcDate,l,4),' ', substring(Tl.DvcDate,12,5)) as dvcdate, Tl.Lat,Tl.Lng,Tl.avg,Tl.max,Tl.spd,Tl.alt, Tl.sysdate as sysdatel,'4' as kd FROM location" Tl inner join (SELECT UsrId,Sysdate,max(flag) mFlag FROM simkjr group by UsrId,SysDate)T2 on Tl.SysDate=T2.SysDate and Tl.UsrId=T2.UsrId and T2.mFlag=3 andTl.spd<>0 ANDTl.altoO AND Tl.avg > ".SthrshldLvl." AND DATE_FORMAT( Tl.Dvcdate, '%Y%m' ) = '".Sym. or die(mysql_error()); }elseif(SusrMenu=="2"){ Sdata = mysql_query("select usrld, concatCWaktu:', substring (DvcDate,9,2),'-', substring (DvcDate,6,2),'-', substring(DvcDate,l,4),' ', substring(DvcDate,12,5),' ', 'rata-rata:',avg,' ,max:',max) AS Period, concat(substring(SysDate,9,2),'-', substring(SysDate,6,2),'-', substring(SysDate,l,4),' ', substring(SysDate,12,8)) as sysdate, concat(substring(DvcDate,9,2 ),'-', substring (DvcDate,6,2),'-', substring(DvcDate,l,4),' ', substring(DvcDate,12,5)) as dvcdate, Lat,Lng,avg,max,spd,alt,sysdate as sysdatel FROM "location" WHERE spd • O AND alt o O AND avg > ".SthrshldLvl." AND DATE_FORMAT( location.Dvcdate, ' % Y % m ' ) = '".Sym."' AND not exists (select * from simkjr where location.sysdate=simkjr.sysdate and location.usrid=simkjr.usrid) ORDER BY dvcdate DESC ") or die(mysql_error()); }elseif(SusrMenu=="3"){ Sdata = mysql_query("select Tl.usrld, concatCWaktu:', substring (Tl.DvcDate,9,2 ),'-', substring (Tl.DvcDate,6,2 ),'-', substring(Tl.DvcDate,l,4),' ', substring(Tl.DvcDate,12,5),' ', 'rata-rata:',Tl.avg,' ,max:',Tl.max) AS Period, concat(substring(T 1. SysDate,9,2),'-', substring (T1. Sy sDate,6,2),'-', substring(Tl.SysDate,l,4),' ',
)
substring(Tl.SysDate,12,8)) as sysdate, concat(substring(Tl.DvcDate,9,2),'-', substring (Tl.DvcDate,6,2 ),'-', substring(Tl.DvcDate,l,4),' ', substring(Tl.DvcDate,12,5)) as dvcdate, Tl.Lat,Tl.Lng,Tl.avg,Tl.max,Tl.spd,Tl.alt, Tl.sysdate as sysdatel FROM location" Tl inner join (SELECT UsrId,Sysdate,max(flag) mFlag FROM simkjr group by UsrId,SysDate)T2 on Tl.SysDate=T2.SysDate and Tl.UsrId=T2.UsrId and T2.mFlag=l andTl.spd<>0 ANDTl.alt<>0 AND Tl.avg > ".SthrshldLvl." AND DATE_FORMAT( Tl.Dvcdate, '%Y%m' ) = "'.$ym.' ORDER BY Tl.dvcdate DESC") or die(mysql_error()); }elseif(SusrMenu=="4"){ Sdata = mysql_query("select Tl.usrld, concat('Waktu:', substring (Tl.DvcDate,9,2),'-', substring (Tl.DvcDate,6,2),'-', substring(Tl.DvcDate,l,4),' ', substring(Tl.DvcDate,12,5),' ', 'rata-rata:',Tl.avg,' ,max:',Tl.max) AS Period, concat(substring(Tl.SysDate,9,2 ),'-', substring (Tl.SysDate,6,2),'-', substring(Tl.SysDate,l,4),' ', substring(Tl.SysDate,12,8)) as sysdate, concat(substring(Tl.DvcDate,9,2),'-', substring (Tl.DvcDate,6,2),'-', substring(Tl.DvcDate,l,4),' ', substring(Tl.DvcDate,12,5)) as dvcdate, Tl.Lat,Tl.Lng,Tl.avg,Tl.max,Tl.spd,Tl.alt,Tl.sysdate as sysdatel FROM location" Tl inner join (SELECT UsrId,Sysdate,max(flag) mFlag FROM simkjr group by UsrId,SysDate)T2 on Tl.SysDate=T2.SysDate and Tl.UsrId=T2.UsrId and T2.mFlag=2 andTl.spd<>0 ANDTl.alt<>0 AND Tl.avg > ".SthrshldLvl." AND DATE_FORMAT( Tl.Dvcdate, '%Y%m' ) = "'.Sym.' ORDER BY Tl.dvcdate DESC") or die(mysql_error()); }
function initializeQ { var centerMap = new google.maps.LatLng(,); var myOptions = { zoom: , center: centerMap, mapTypeld: google.maps.MapTypeld.ROADMAP }
var map = new google.maps.Map(documentgetElementById("map_canvas"), myOptions); setMarkers(map, sites); infowindow = new google.maps.InfoWindow({ //content: "loading..." });
}
function setMarkers(map, markers) { for (var i = 0; i < markers.length; i++) { var sites = markers[i]; var siteLatLng = new google.maps.LatLng(sites[l], sites[2]); if(sites[15]=='l'){ var image=,http://maps.google.com/mapfiles/ms/icons/red-dot.png' }elseif(sites[15]=='2'){ var image=,http://maps.google.com/mapfiles/ms/icons/yellow-dotpng' }elseif(sites[15]=='3'){ var image=,http://maps.google.com/mapfiles/ms/icons/green-dotpng' }elseif(sites[15]=='4'){ var image =, http://maps.google.com/mapfiles/ms/icons/purple-dotpng' } var image='http://maps.google.com/mapfiles/ms/icons/red-dotpng'var image='http://maps.google.com/mapfiles/ms/icons/yellow-dot.png'var image='http://maps.google.com/mapfiles/ms/icons/green-dot.png' var marker = new google.maps.Marker({ position: siteLatLng, map: map, icon: image, title: sites[0], zlndex: sites[3], html: sites[4], usrld: sites[5], sysdate: sites [6], dvcdate: sites[7], lat: sites[8], lng: sites[9], avg: sites[10], max: sites[ll], spd: sites[12], alt: sites[13], sysdatel: sites[14] });
var contentString = "Some content"; google.maps.eventaddListener(marker, "click", function 0 { "l"){ ?> if (confirm("Marker Tersebut Masuk Proses Selanjutnya?") = true) { var image=,http://maps.google.com/mapfiles/ms/icons/purple-dot.png,var image='http://maps.google.com/mapfiles/ms/icons/red-dotpng'var image='http://maps.google.com/mapfiles/ms/icons/yellow-dot.png'var image='http://maps.google.com/mapfiles/ms/icons/green-dot.png'
72
if($usrMenu="2 M ){ ?>this.setIcon(,http://maps. google.com/mapfiles/ms/icons/yellow-dotpng'); showUser(this.usrId,this.sysdatel, , l , );this. set! co n('http://maps.go ogle.com/mapfiles/ms/icons/green-dot.png'); showUser(this.usrId,this.sysdatel, , 2 , );this. set! co n('http://maps.go ogle.com/mapfiles/ms/icons/purple-dot.png'); showUser(this.usrId,this.sysdatel,'3'); } else { x= "You pressed Cancel!"; }
function getData(A,B,C,D,E,F,G,H,I) { document.form2.textA.value=A; document, for m2.textB.value=B; document, for m2.textC. value=C; document.form2.textD.value=D; document, for m2.textE.value=E; document, for m2.textF.value=F; document, for m2.textG.value=G; document, for m2.textH.value=H; document.form2.text!.value=I; }
form action="index.php" method="get" name="forml"> Periode:<select name="ym" style="width: 80px">
LEGEND Marker lokasi hasil deteksi Marker lokasi inspeksi lapangan Marker lokasi perbaikan oleh vendor Marker lokasi hasil akhir proses perbaikan < b r x b r > < b r >
Mengawali program adalah menentukan nilai batasan accelerometer yang digunakan serta memilih data tahun-bulan yang diinginkan. Bila sudah dilanjutkan dengan menekan tombol submit sehingga muncul gambar titik yang berwarnawarni sebagaimana ditunjukan oleh gambar 4.13. Dalam simulasi ini digunakan databulan September tahun 2015 serta batasan 1.5 m/s2
74
Gambar 4.13. Tampilan menu Home
Aplikasi terdiri dari 4(empat) buah menu yaitu home, raw data, inspeksi dan vendor. Tampilan menu home seperti terlihat pada gambar 4.8 yang menunjukan penanda (marker) dengan kombinasi 4 warna. Untuk memudahkan maka dapat menekan hyperlink legend yang terletak dibawah.
LEGEND
9 T T
Mariter mkasj inspeksi lapangan
Marker Ictssi p o t s l f t a n deki render Mafker lokasifrasilaWik proses oer.balkan
•- m
Gambar 4.14. Legend penanda (marker)
Berdasarkan
keterangan
tersebut
didapatkan
bahwa
warna
merah
menunjukan lokasi dengan nilai melebihi nilai batasan/threshold yang berasal dari perekaman perangkat telepon pintar, warna kuning adalah adalah lokasi perlu
dilakukan pengecekan lapangan oleh petugas, warna hijau menunjukan lokasi yang perlu ditindaklanjuti penyedia jasa (vendor) perbaikan jalan sedangkan yang terakhir warna ungu adalah lokasi yang telah ditindaklanjuti oleh vendor dan dilaporkan telah selesai dilakukan perbaikan.
Gambar 4.15. Tampilan menu Raw Data
Menu raw data menampilkan titik-titik lokasi yang dideteksi oleh telepon pintar memiliki nilai yang melebihi ambang nilai threshold yang ditentukan sebelumnya.
Gambar 4.16. Tampilan menu Inspeksi
76
Titik-titik tersebut selanjutnya dipilih untuk ditindaklanjuti oleh tim inspeksi dengan melakukan klik-ok pada titik yang dimaksud. Pada menu Inspeksi ditampilkan titik-titik yang perlu ditindaklanjuti petugas untuk melihat secara fisik kondisi jalan raya yang dimaksud. Analisa terhadap perbaikan, estimasi biaya serta penunjukan vendor dapat dilakukan dalam proses ini. Aplikasi dilanjutkan dengan melakukan klik-ok pada titik yang dimaksud.
Gambar 4.17. Tampilan menu Vendor
Menu vendor merupakan menu yang digunakan oleh penyedia jasa perbaikan jalan raya untuk menerima pekerjaan perbaikan. Perbaikan dilakukan terhadap titik yang telah ditetapkan oleh inspektor untuk dilakukan perbaikan. Hasil perbaikan yang sudah dilakukan dapat diproses pembayarannya serta dilakukan update di aplikasi dengan melakukan klik-ok pada titik yang dimaksud.
BAB 5 KESIMPULAN DAN SARAN
Kesimpulan 1.
Telepon Pintar Android adalah salah perangkat yang memiliki berbagai macam fungsi dan kegunaan. Fungsi dan kegunaan perangkat tersebut merupakan
kemampuan
sensor-sensor
yang
diintegrasikan
kedalam
perangkat android seperti sensor GPS {Global Positioning System) dan Accelerometer; 2.
Accelerometer adalah perangkat sensor yang digunakan untuk melakukan pendeteksian pergerakan secara 3(tiga) dimensi yaitu sumbu X,Y dan Z. Nilai pergerakan tersebut merupakan nilai percepatan yang terjadi pada perangkat Telepon Pintar Android;
3.
Nilai percepatan yang dialami oleh perangkat Telepon Pintar Android yang diletakan pada sebuah kendaraan roda 4 akan menunjukan suatu indikasiindikasi suatu kegiatan pengemudian (belok kanan-kiri, percepatan, perlambatan, jalan halus, jalan rusak, polisi tidur, lubang);
4.
Perhitungan terhadap kerusakan jalan dilakukan dengan menggunakan algoritma-algoritma seperti Z-THRESH, Z-DIFF, STDEV(Z) dan G-ZERO. Algoritma yang digunakan
dalam
implementasi
pendeteksian
pada
penelitian ini adalah Z-THRESH yaitu algoritma yang menggunakan batasan nilai tertentu dalam menilai suatu kondisi jalan raya;
77
78
5.
Nilai batasan yang digunakan untuk menunjukan kondisi jalan raya yang dipilih adalah 2 m/s 2 ,1.5 m/s2 dan 1 m/s2. tersebut nilai 1.5 m/s2
Berdasarkan hasil ujicoba
merupakan nilai yang cukup baik mengingat
ketepatan kondisi jalan raya yang didapatkan cukup baik.
Saran Pengembangan suatu sistem informasi manajemen monitoring kondisi jalan raya berbasisi Android dapat dikembangkan lebih jauh dengan melanjutkan proses pengembangan aplikasi yang telah dibuat ini. Penggunaan fitur-fitur lanjutan berupa reporting, upload dokumen elektronik serta kolaborasi dapat membentuk aplikasi yang lebih paripurna. Pengembangan lainya juga dapat diterapkan pada pengguna media telepon pintar android. Aplikasi yang dibuat memungkinkan pengguna lebih waspada terhadap kerusakan/gangguan jalan yang ada dengan memberikan early warning system. Early warning sistem ini akan memberitahu pengguna sebelum melewati lokasi jalan raya yang dimaksud sehingga terhindar dari kejadian atau hal-hal yang tidak diharapkan Demikian saran yang dapat diberikan saat ini. Sangat besar dimungkinkan pengembangan-pengembangan
aplikasi
berbasis
data
kondisi jalan
raya
dikembangkan mengingat kreatifitas serta kebutuhan dalam kehidupan sehari-hari semakin banyak dan kompleks. Semoga tulisan ini akan menginspirasi tulisan-
tulisan lainnya yang lebih menarik dan berguna perihal penggunaan andoid ataupun sistem monitoring jalan raya berbasis teknologi lainnya.
DAFTAR PUSTAKA Milette, Greg dan Adam Stroud. 2012. Professional Android Sensor Programming: Canada. John Wiley & Sons Inc Manav Singhal, Anupam Shukla.,2012. Implementation of Location based Services in Android using GPS and Web Services. IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 1, No 2 Roma Goregaonkar, Prof. Snehal Bhosale. 2013. Safe Driving and Accidental Monitoring Using GPS System and Three Axis Accelerometer. International Journal of Emerging Technology and Advanced Enginee mering. Volume 3, Issue 11 Gunjan Chugh, Divya Bansal and Sanjeev Sofat. 2014. Road Condition Detection Using Smartphone Sensors. International Journal of Electronic and Electrical Engineering, International Research Publication House. ISSN 0974-2174, Volume 7, Number 6 -
Nidhi Kalra, Gunjan Chugh,Divya Bansal. Analyzing Driving and Road Events via Smartphone. 2014. International Journal of Computer Applications (0975 - 8887) Volume 98-No. 12 Artis Mednis, Girts Starzdins, Reinholds Zviedris, Georgijs Kanonirs, Leo Selavo. Real Time Pothole Detection Using Android Smartphones with Accelerometers. 2011, IEEEDOI: 10.1109/DCOSS.2011.5982206
80
Metode Pengembangan Sistem Informasi, E-learning for Sriwijaya Student, 15 September 2015, http://elearning.unsri.ac.id/mod/forum/discuss.php?d=1768&parent=14591