APLIKASI PENDETEKSI JALAN RUSAK MEMANFAATKAN
AKSELEROMETER PADA SMARTPHONE
SKRIPSI
Diajukan untuk Memenuhi Sebagian dari Syarat untuk Memperoleh Gelar Sarjana Komputer Program Studi Ilmu Komputer
Oleh
Rudi Hartono 1001128
PROGRAM STUDI ILMU KOMPUTER
FAKULTAS PENDIDIKAN MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS PENDIDIKAN INDONESIA
Aplikasi Pendeteksi Jalan Rusak
Memanfaatkan Akselerometer pada
Smartphone
Oleh Rudi Hartono
Sebuah skripsi yang diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana pada Fakultas Pendidikan Matematika dan Ilmu Pengetahuan Alam
© Rudi Hartono 2015 Universitas Pendidikan Indonesia
Januari 2015
Hak Cipta dilindungi undang-undang.
LEMBAR PENGESAHAN
APLIKASI PENDETEKSI JALAN RUSAK MEMANFAATKAN AKSELEROMETER PADA SMARTPHONE
Oleh:
RUDI HARTONO 1001128
DISETUJUI DAN DISAHKAN OLEH:
Pembimbing I
Yudi Wibisono, M.T NIP. 197507072003121003
Pembimbing II
Rosa Ariani Sukamto, M.T NIP. 198109182009122003
Mengetahui,
Ketua Prodi Ilmu Komputer
DAFTAR ISI
PERNYATAAN ... iii
ABSTRAK ... iv
ABSTRACT ... v
KATA PENGANTAR ... vi
UCAPAN TERIMAKASIH ... vii
DAFTAR ISI ... ix
DAFTAR TABEL ... xii
DAFTAR GAMBAR ... xiv
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 6
1.3 Tujuan Penelitian ... 6
1.4 Batasan Masalah ... 7
1.5 Metodologi Penelitian ... 7
1.6 Sistematika Penulisan ... 8
BAB II TINJAUAN PUSTAKA ... 9
2.1 Kerusakan Jalan ... 9
2.1.1 Penentuan Nilai Kondisi Jalan Rusak ... 10
2.1.2 Contoh Sistem Pemantauan dan Pelaporan Jalan Rusak ... 13
2.2 Algoritma Deteksi Jalan Rusak ... 18
2.2.1 Preprocessing ... 19
2.2.2 Algoritma Filter untuk Mendeteksi Jalan Rusak (Pothole Patrol Algorithm) ... 20
2.3 Penilaian Performance Sistem Deteksi Jalan Rusak ... 25
2.4 Smartphone Sensors ... 27
2.4.1 Akselerometer ... 27
2.4.2 Global Positioning System ... 31
2.5 Ploting Hasil Deteksi Memanfaatkan Google Maps Services ... 36
BAB I METODOLOGI PENELITIAN ... 37
3.1 Desain Penelitian ... 37
3.2 Metode Penelitian ... 42
3.2.1 Metode Pengumpulan Data ... 42
3.2.2 Metode Pengembangan Perangkat Lunak ... 42
3.3 Alat dan Bahan ... 44
3.3.1 Alat Penelitian ... 44
3.3.2 Bahan Penelitian ... 46
BAB II HASIL PENELITIAN DAN PEMBAHASAN ... 49
4.1 Hasil Penelitian ... 49
4.1.1 Hasil Pengukuran Jalan Rusak Menggunakan Akselerometer ... 49
4.1.2 Hasil Pengembangan Perangkat Lunak ... 51
4.1.3 Hasil Sistem Deteksi Jalan Rusak ... 61
4.1.4 Hasil Pengujian Performance Sistem Deteksi ... 75
4.2 Pembahasan Penelitian ... 78
4.2.2 Pembahasan Hasil Sistem Deteksi Jalan Rusak ... 81
4.2.3 Pembahasan Hasil Pengujian Sistem ... 83
4.3 Analisis Hasil Pengujian ... 85
BAB V KESIMPUAN DAN SARAN ... 93
5.1 Kesimpulan ... 93
5.2 Saran ... 94
DAFTAR PUSTAKA ... 95
DAFTAR TABEL
Tabel 2.1 Tabel penentuan kondisi jalan berdasarkan nilai RCI ... 11
Tabel 2.2 Data uji coba dari daftar kelas yang berhasil dilaporkan sebagai “pothole” dari algoritma P2, sebelum dan sesudah training data ditambahkan terhadap loosely label data ... 15
Tabel 2.3 tabel confusion perhitungan kemampuan sistem ... 25
Tabel 2.4 Tabel atribut kelas Accelerometer ... 29
Tabel 2.5 Tabel event kelas Accelerometer ... 29
Tabel 2.6 Tabel method kelas Accelerometer ... 29
Tabel 2.7 Tabel atribut kelas Geolocator ... 32
Tabel 2.8 Tabel event kelas Geolocator ... 33
Tabel 2.9 Tabel atribut kelas GeoCoordinate ... 33
Tabel 2.10 Tabel method kelas GeoCoordinate ... 33
Tabel 3.1 Tabel perangkat keras komputer ... 44
Tabel 3.2 Tabel perangkat keras smartphone ... 45
Tabel 3.3 Tabel atribut data akselerometer dan GPS yang dihasilkan smartphone sebagai bahan penelitian... 47
Tabel 4.2 tabel data mentah yang berhasil dikumpulkan melalui
akselerometer dan GPS pada smartphone ... 63
Tabel 4.3 hasil uji coba pelatihan sistem terhadap 18 kerusakan jalan yang menghasilkan skor tertinggi ... 65
Tabel 4.4 Atribut masukan sistem pendeteksi jalan rusak... 67
Tabel 4.5 Atribut keluaran sistem pendeteksi jalan rusak ... 68
Tabel 4.6 Kerusakan jalan yang dikenali oleh sistem ... 73
Tabel 4.7 Matrik deteksi sistem terhadap kerusakan jalan dengan tz = 0,276 Tabel 4.8 Matrik deteksi sistem terhadap kerusakan jalan dengan tz = 0,2, tx = 0,257 ... 76
Tabel 4.9 Matrik deteksi sistem terhadap kerusakan jalan dengan tz = 0,2, tx = 0,257, ts = 0,008 ... 77
DAFTAR GAMBAR
Gambar 1.1 Arsitektur sistem pemantauan dengan metode gambar dua dimensi ... 3 Gambar 2.1 Korelasi antara nilai IRI dan nilai RCI... 10 Gambar 2.2 Model RODAS client untuk aplikasi smartphone IoS ... 16 Gambar 2.3 Lubang jalan yang berhasil diidentifikasi dan ditampilkan pada situs dengan informasi gambar lubang jalan, lokasi, dan waktu pengambilan ... 16 Gambar 2.4 Contoh pelaporan jalan berlubang di situs FixMyStreet ... 17 Gambar 2.5 Uji coba sistem pendeteksi kerusakan jalan dari proyek “Continous Road Damage Detection Using Regular Services Vehicles” ... 18
Gambar 2.6 Pendeteksian lubang jalan yang terdiri dari lima modul filter untuk pemisahan anomali jalan yang bukan jalan berlubang (pothole) (Eriksson J. dkk., 2008 ... 21 Gambar 2.7 Sampel sinyal akselerometer dari beberapa anomali jalan... 23 Gambar 2.8 Orientasi nilai setiap sumbu X,Y,Z pada tiga sumbu akselerometer smartphone ... 28 Gambar 2.9 Orientasi tiga sumbu akselerometer pada smartphone dengan layar menghadap ke atas yang menghasilkan nilai gravitasi pada sumbu Z -1g ... 31 Gambar 2.10 Gambar yang dihasilkan melalui google static map API ... 36 Gambar 3.1 Tahapa penelitian ... 41 Gambar 3.2 Skema metode pengembangan perangkat lunak iteratif
Gambar 4.1 Diagram kelas aplikasi pendetek jalan rusak ... 54 Gambar 4.3 Tampilan aplikasi saat pertama kali dibuka ... 56 Gambar 4.4 Kotak dialog untuk memipilih file yang akan diproses... 57 Gambar 4.5 Antarmuka untuk menandai fasilitas filter yang disediakan .... 57 Gambar 4.6 Kotak dialog untuk memilih file yang akan diproses ... 58 Gambar 4.7 Antarmuka listview untuk menampilkan hasil deteksi ... 59 Gambar 4.8 Antarmuka hasil deteksi pada peta static yang didapat dari
google map ... 59
Gambar 4.9 Kotak dialog untuk menyimpan file hasil proses ... 60 Gambar 4.10 Kotak dialog untuk keluar dari aplikasi pendeteksi jalan rusak ... 61 Gambar 4.11 Screenshot aplikasi perekam data dengan platform Windows
Phone... 62
Gambar 4.17 Anomali jalan yang dideteksi menggunakan batas puncak Z (tz) ... 70 Gambar 4.18 Anomali jalan yang berhasil dideteksi menggunakan batas puncak Z (tz) ditambah dengan tx ... 71 Gambar 4.19 Jalan rusak yang berhasil dideteksi menggunakan batas puncak Z (tz) ditambah dengan tx dan ts ... 72 Gambar 4.20 Orientasi tiga sumbu akselerometer pada smartphone dengan layar menghadap ke atas yang menghasilkan nilai gravitasi pada sumbu Z -1g ... 78 Gambar 2.21 gambar bagian jalan yang berhasil dibuang oleh algoritma filter (a) sambungan siar muai (b) polisi tidur ... 82 Gambar 4.22 Lokasi titik kerusakan yang sangat jauh dari titik sebenarnya ... 87 Gambar 4.23 Kesalahan identifikasi sistem pada titik-titik dimana (a) adalah tiga polisi tidur, (b) tanjakan singkat, dan (c) sambungan siar muai atau sambungan jalan ... 88 Gambar 4.24 Grafik akselerasi yang dihasilkan akselerometer terhadap berbagai jenis bagian jalan (polisi tidur, sambungan siar muai, dan tanjakan singkat) yang dikenali sebagai jalan rusak ... 90 Gambar 4.25 (a) Titik lokasi yang berhasil dikenali dengan tz dan tx (b) sebagian titik pada gambar a hilang karena terbuang oleh faktor ts
(kecepatan = 35 km/jam) (c) grafik pembacaan jalan retak yang tidak
BAB III
METODOLOGI PENELITIAN
Metode penelitian atau dikenal dengan metodologi penelitian adalah cara-cara yang digunakan oleh peneliti dalam merancang, melaksanakan, pengolah ata, dan menarik kesimpulan dengan masalah penelitian tertentu.
Metode penelitian yang dipakai pada penelitian ini yaitu penelitian melalui pendekatan verifikatif (pengujian). Pendetekatan verifikatif adalah suatu pendekatan penelitian untuk menguji seberapa jauh tujuan yang sudah digariskan itu tercapai atau sesuai atau cocok dengan harapan atau teori yang sudah baku (Suryana, 2010). Tujuan dari teori ini sendiri adalah untuk menguji teori-teori yang sudah ada guna mencipatakan pengetahuan-pengetahuan baru.
3.1 Desain Penelitian
Desain penelitian adalah perencanaan, struktur dan strategi penelitian yang bertujuan untuk memudahkan peneliti dalam menyelesaikan risetnya.
Berikut adalah tahapan penelitian yang dilakukan oleh dalam penelitian ini: 1. Perumusan masalah merupakan langkah awal yang dilakukan untuk
mengidentifikasi permasalah yang muncul melalui tahap pengembangan dari data dan fakta.
2. Menyusun kerangka teori merupakan langkah pembelajaran terhadap teori-teori yang digunakan untuk memecahkan permasalahan. Pada penelitian ini terdapat dua buah teori yang akan menjadi solusi permasalahan yang dihadapi, diantaranya:
38
Menteri Pekerjaan umum tentang pemeliharaan jalan. Pada penelitan ini akan dikorelasikan antara perbedaan nilai yang ditetapkan pada tabel RCI dengan kondisi jalan yang berhasil dibaca oleh akselerometer.
2) Algoritma Pendeteksi Jalan berlubang (Pothole Patrol) merupakan suatu algoritma yang dikembangkan oleh Eriksson dan kawan kawan yang bertujuan untuk membedakan jalan rusak dengan jalan yang bukan rusak. Alat yang digunakan sebagai pengumpul data adalah akselerometer berjenis 3 keluaran sumbu yaitu X,Y, dan Z. Algoritma ini dikembangkan dengan cara memfilter setiap data yang masuk melalui data kecepatan mobil saat pengambilan data, batas akselerasi yang dihasilkan sumbu vertikal akselelrometer (Z), perbandingan antara sumbu vertikal (Z) dengan sumbu horizontal (X) dan perbandingan antara sumbu Z dan kecepatan.
3. Pengambilan data sampel, sampel data jalan diambil dari beberapa kondisi dan area jalan yang berbeda-beda, diantaranya: area jalan kampus dengan jalan raya (jalan umum). Data yang terdiri dari data jalan dengan kondisi baik (halus), data jalan dengan kondisi jelek (tidak rata, berlubang, dan benjolan) dan jenis bagian jalan lainnya seperti polisi tidur dan sambungan siar muai. Data-data tersebut kemudian dipelajari sebagai bahan training data untuk kemudian dijadikan sebagai acuan pendeteksian sistem terhadap kondisi jalan yang berbeda-beda.
4. Pengembangan perangkat lunak dilakukan untuk mengembangkan perangkat lunak pendeteksi jalan rusak secara otomatis dengan menerapkan algoritma yang dipakai untuk mendeteksi jalan rusak. Pada penelitian ini metode yang digunakan untuk pengembangannya adalah metode iteratif
waterfall yang terdiri dari empat tahap utama yaitu, studi kelayakan sistem,
39
5. Implementasi sistem deteksi merupakan tahap uji coba sistem dalam menerima setiap data jalan. Pada tahap ini terdiri dari dua bahan yang diujikan diantaranya:
1) Data Training, yaitu bahan penelitian berupa data jalan dimana data kerusakan jalan dicatat secara manual. Data ini digunakan sebagai data pembanding sistem untuk menghasilkan nilai akurasi yang tinggi.
2) Data uji, yaitu bahan penelitian berupa data jalan hasil perekaman aplikasi secara bebas tanpa mencatat setiap kerusakan yang dilaluinya.
Sementara untuk algoritma yang diimplementasikan pada sisetm deteksi adalah algoritma Pothole Patrol, yang terdiri dari dua fase pemrosesan data.
1) Fase filter merupakan tahap dimana data mengalami proses filter yang bertujuan untuk membuang semua data yang bukan jalan rusak.
2) Fase klasifikasi berdasarkan lokasi adalah tahap dimana setiap data yang berhasil dideteksi oleh sistem digolongkan berdasarkan arah dan lokasinya.
6. Pengujian sistem, tahap ini merupakan tahap implementasi sistem terhadap data jalan yang berhasil dikumpulkan, ada dua jenis pengujian yang dilakukan, diantaranya:
40
2) Pengujian keberhasilan atau kemampuan (akurasi) sistem yang dikembangkan dalam mendeteksi jalan rusak. Tahap pengujian pada penelitian ini yaitu menggunakan perhitungan nilai presisi, recall dan F-Measure. Ketiga parameter tersebut digunakan untuk mengukur berapa persen keberhasilan sistem dalam mengenali setiap kondisi jalan yang diuji.
7. Pembahasan dan Analisis, merupakan tahap yang dilakukan untuk membahas hasil penelitian dengan acuan teori terhadap hasil yang didapat. Serta menganalisis permasalahan yang dihadapi oleh sistem dalam mendeteksi jalan rusak, sehingga menurunkan performance deteksi.
8. Dokumentasi
41
1. Perbandingan peniliaian aplikasi dengan nilai RCI
42
3.2 Metode Penelitian
Metode penelitian adalah rangkaian kegiatan dalam melaksanakan penelitian berdasarkan rumusan, batasan dan tujuan pada penelitian, adapun metode penelitian yang dilakukan dalam penelitian ini adalah sebagai berikut:
3.2.1 Metode Pengumpulan Data
Adapun metode yang digunakan untuk mengumpulkan data dan informasi yang diperlukan dalam penelitian ini adalah sebagai berikut:
1. Metode Studi Kepustakaan
Melakukan pemahaman dan pengkajian buku, jurnal, dan sumber ilmiah lain seperti artikel di situs internet.
2. Metode Observasi
Mengadakan pengamatan langsung terhadap objek penelitian, yaitu mengkaji jenis kerusakan jalan dan melakukan pengambilan sampel data jalan rusak diantaranya lubang jalan, jalanan tidak rata, benjolan, tikungan, tanjakan, turunan, sambungan siar muai, dan polisi tidur yang diambil menggunakan
smartphone.
3.2.2 Metode Pengembangan Perangkat Lunak
43
Metode iteratif waterfall melingkupi aktivitas-aktivitas sebagai berikut: 1. Studi kelayakan sistem
Studi kelayakan sistem mengandung di dalamnya keberhasilan sistem, perkiraan biaya, pengguna yang potensial, dan lama pengerjaan.
2. Analisis kebutuhan perangkat lunak
Untuk memahami sifat aplikasi perangkat lunak yang akan dibangun, perlu dianalisa kebutuhan perangkat lunak tersebut. Kebutuhan perangkat lunak ini dapat diambil dari kebutuhan pengguna terhadap perangkat lunak tersebut.
3. Desain sistem
Proses desain menerjemahkan kebutuhan ke dalam sebuah representasi perangkat lunak sebelum membuat kode program.
4. Implementasi kode
Desain yang sudah dirancang harus diterjemahkan ke dalam bentuk yang dapat dibaca oleh mesin sehingga terbentuk sebuah aplikasi perangkat lunak. Pada proses implementasi ini juga harus terdapat sebuah pengujian kelayakan sistem sebelum sistem tersebut dapat digunakan oleh pengguna.
Berikut adalah skema dari aktivitas dalam model Iteratif waterfall Studi Kelayakan
Sistem
Analisa Kebutuhan
Desain Sistem
44
3.3 Alat dan Bahan
Pada penelitian ini dibagi ke dalam tiga bagian pokok alat atau perangkat diantaranya: perangkat keras, perangkat lunak, dan perangkat pendukung. Perangkat keras merupakan alat berjenis perangkat keras komputer dan
smartphone yang diperuntukan untuk membangun perangkat lunak guna
menjalankan sistem yang akan dibangun. Bagian perangkat lunak merupakan aplikasi perangkat lunak yang digunakan pada proses pembangunan aplikasi pendeteksi kerusakan jalan. Dan yang terakhir adalah alat pendukung yang berkaitan dengan pengambilan data untuk penelitian.
3.3.1 Perangkat Keras
Perangkat keras untuk pengembangan perangkat lunak berupa komputer berjenis notebook dan smartphone dengan spesifikasi berikut:
1. Komputer
Tabel 3.1 Tabel perangkat keras komputer
No. Komponen Jenis dan spesifikasi
1 Processor Intel Dual Core 1.5GHz
2 RAM DDR3 4GB
3 Kartu Grafis (VGA) Intel HD Graphics
4 Resolusi 1366 x 768 pixel
5 Hard Disk Drive 500GB
45
2. Smartphone
Tabel 3.2 Tabel perangkat keras smartphone
No. Komponen Jenis dan spesifikasi
1 Processor Snapdragon Dual core 1GHz
2 RAM 512MB
4 Resolusi 800x480
5 Kapasitas Baterai 1430 mAh
6 Internal Drive 7GB
7 Sensor Cahaya, Akselerometer, Jarak
8 Peta dan navigasi GPS
3.3.2 Perangkat Lunak
Perangkat lunak yang menjadi target aplikasi yang akan dibuat pada penelitian ini terdiri dari dua jenis sistem operasi, yaitu sistem operasi Windows 8.1 untuk perangkat lunak pendeteksi kerusakan jalan dan sistem operasi Windows Phone 8 untuk aplikasi pengumpul data. Sehingga ada beberapa
software development tool yang dibutuhkan.
Aplikasi perangkat lunak untuk memperoleh data penelitian dibuat dengan target aplikasi smartphone dengan platform Windows Phone 8.0. Dimana untuk pengembangannya membutuhkan perangkat lunak sebagai berikut:
1. Sistem operasi Windows 8.1 64Bit, merupaka sistem operasi yang dibutuhkan untuk mengembangkan aplikasi Windows Phone 8.0
2. Software Developemt Kit Windows Phone 8.0, yaitu perangkat lunak
yang dibutuhkan untuk mengembangkan aplikasi mobile untuk
46
3. Microsoft Visual Studio 2013, merupakan perangkat lunak IDE
(Integrated Development Enviroment) sebagai editor, builder, dan
deployer aplikasi Windows Phone.
Perangkat lunak yang kedua adalah aplikasi berjenis desktop dengan sistem operasi Windows. Aplikasi ini dibuat sebagai aplikasi utama pada sistem pendeteksi kerusakan jalan. Untuk membangun perangkat lunak tersebut membutuhkan software pendukung, diantaranya:
1. Sistem operasi Windows sebagai target pembangunan aplikasi ini. 2. Perangkat lunak JDK (Java Development Kit) dan JRE (Java Runtime
Eviroment).
3. IntelliJ IDEA, merupakan perangkat lunak IDE (Integrated Development Enviroment) sebagai editor, builder, dan deployer aplikasi java.
3.3.4 Perangkat Pendukung
Perangkat pendukung merupakan alat yang digunakan pada penelitian ini di luar perangkat keras (komputer dan smartphone) dan perangkat lunak sebagai target pembangunan aplikasi.
Perangkat yang digunakan sebagai pendukung pada penelitian ini adalah kendaraan berjenis mobil. Mobil difungsikan untuk menyimpan perekam data kondisi jalan yang dilalui (smartphone yang telah terpasang aplikasi perekam data getaran dan GPS). Smartphone diletakan di bagian mobil tertentu untuk secara otomatis merekam data kondisi jalan (turunan, belokan, tanjakan, lubang, bergelombang dll.) sesuai dengan kondisi jalan yang dilalui oleh mobil.
3.3.5 Bahan Penelitian
47
Data akselerometer yang merepresentasikan nilai percepatan sumbu X,Y, dan Z, serta informasi GPS yang memberikan informasi lokasi (latitude dan
longitude), kecepatan, dan arah. Bahan yang digunakan untuk penelitian ini terdiri
jadi tiga jenis diantaranya:
1. Data Training, yaitu bahan penelitian berupa data jalan dimana data kerusakan jalan dicatat secara manual. Data ini digunakan sebagai data pembanding sistem untuk menghasilkan nilai akurasi yang tinggi. 2. Data mentah, yaitu bahan penelitian berupa data jalan hasil perekaman
aplikasi secara bebas tanpa mencatat setiap kerusakan yang dilaluinya. Berikut ini adalah tabel data mentah yang berhasil dikumpulkan melalui aplikasi mobile yang kemudian akan dimasukan pada sistem deteksi jalan rusak otomatis di komputer.
Tabel 3.3 atribut data akselerometer dan GPS yang dihasilkan smartphone sebagai bahan penelitian
No. Latitude Longitude
Kecepatan
1 -6,898488197 107,6106907 18 111,4 -0,00879 -0,1474609 -0,92871 31/12/2014 5:42 2 -6,898488197 107,6106907 18 111,4 -0,05176 -0,1533203 -0,83594 31/12/2014
5:42 3 -6,898488197 107,6106907 18 111,4 -0,02637 -0,1474609 -0,89063 31/12/2014
5:42 4 -6,898488197 107,6106907 18 111,4 0,029297 -0,1318359 -1,01855 31/12/2014
5:42 5 -6,898488197 107,6106907 18 111,4 0,004883 -0,0830078 -1,10254 31/12/2014
5:42 6 -6,898488197 107,6106907 18 111,4 -0,04785 -0,1259766 -1,02539 31/12/2014
48
No. Latitude Longitude
Kecepatan (meter per
detik)
Arah (dejat)
Sumbu
X Sumbu Y
Sumbu Z
Tanggal pengambilan
9 -6,898488197 107,6106907 18 111,4 0,047852 -0,0654297 -1,04004 31/12/2014 5:42 10 -6,898488197 107,6106907 18 111,4 0,02832 -0,0888672 -1,02441 31/12/2014
5:42 11 -6,898488197 107,6106907 18 111,4 -0,03027 -0,0986328 -1,11328 31/12/2014
5:42 12 -6,898488197 107,6106907 18 111,4 -0,04883 -0,0917969 -1,18848 31/12/2014
5:42 13 -6,898488197 107,6106907 18 111,4 -0,04004 -0,1132813 -1,20801 31/12/2014