Post on 16-Oct-2021
RANCANG BANGUN APLIKASI DETEKSI
KERUSAKAN JALAN MENGGUNAKAN ALGORITMA
YOLO
LAPORAN SKRIPSI
MUHAMMAD RAFLY THARHAN
4616010024
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA DAN KOMPUTER
POLITEKNIK NEGERI JAKARTA
2020
RANCANG BANGUN APLIKASI DETEKSI
KERUSAKAN JALAN MENGGUNAKAN ALGORITMA
YOLO
LAPORAN SKRIPSI
Dibuat untuk Melengkapi Syarat-Syarat yang Diperlukan untuk Memperoleh
Diploma Empat Politeknik
MUHAMMAD RAFLY THARHAN
4616010024
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA DAN KOMPUTER
POLITEKNIK NEGERI JAKARTA
2020
iii
HALAMAN PERNYATAAN ORISINALITAS
Skripsi ini adalah hasil karya saya sendiri, dan semua sumber baik yang
dikutip maupun dirujuk telah saya nyatakan dengan benar
Nama : Muhammad Rafly Tharhan
NIM : 4616010024
Tanggal : 1 September 2020
Tanda Tangan :
iv
LEMBAR PENGESAHAN
Skripsi diajukan oleh:
Nama : Muhammad Rafly Tharhan
NIM : 4616010024
Program Studi : Teknik Informatika
Judul Skripsi : Rancang Bangun Aplikasi Deteksi Kerusakan Jalan
Menggunakan Algoritma YOLO
Telah diuji oleh tim penguji dalam Sidang Skripsi pada Hari Jum’at, Tanggal 28,
Bulan Agustus, Tahun 2020 dan dinyatakan LULUS.
Disahkan oleh:
Pembimbing I : Mauldy Laya, S.Kom., M.Kom. (.....................)
Penguji I :
Dr. Dewi Yanti Liliana S.Kom., M.Kom. (.....................)
Penguji II : Anggi Mardiyono, S.Kom., M.Kom. (.....................)
Penguji III : Asep Taufik Muharram, S.Kom., M.Kom. (.....................)
v
KATA PENGANTAR
Segala puji dan syukur kepada kehadirat Allah SWT yang telah memberikan segala
nikmat dan karunia-Nya, sholawat dan salam selalu tercurah untuk keharibaan
junjungan semesta alam Nabi Muhammad SAW dengan demikian Laporan Skripsi
ini akhirnya dapat diselesaikan. Penulisan laporan ini dilakukan sebagai salah satu
syarat untuk mencapai gelar Diploma Empat Politeknik Negeri Jakarta. Di dalam
laporan ini, masih banyak kekurangan dalam penulisan dan penggunaan diksi kata.
Oleh karena itu, tak luput ucapan terima kasih diberikan kepada berbagai pihak
dalam memberikan bimbingan, bantuan, dan dukungan sehingga terselesaikannya
laporan ini. Oleh karena itu, ucapan terima kasih ini diberikan untuk:
a. Bapak Mauldy Laya, S.Kom., M.Kom., selaku dosen pembimbing yang telah
menyediakan waktu, pikiran, dan tenaganya dalam mengarahkan penyusunan
Laporan Skripsi ini.
b. Orang tua dan keluarga yang telah memberikan bantuan berupa dukungan
moral dan material.
c. Jallu Ramadhan, Vidi Ayuningtyas, Muhammad Rafi Nugroho, Fahira
Maharani, Rio Anggara Sufilin, sahabat dan teman-teman yang tidak bisa
disebutkan satu-persatu yang telah banyak membantu dalam menyelesaikan
Laporan Skripsi ini.
Semoga Allah SWT membalas segala kebaikan semua pihak yang telah membantu.
Akhir kata, Laporan Skripsi ini diharapkan dapat bermanfaat bagi pembaca.
Depok, Juli 2020
Muhammad Rafly Tharhan
vi
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI
SKRIPSI UNTUK KEPENTINGAN AKADEMIS
Sebagai sivitas akademik Politeknik Negeri Jakarta, saya yang bertanda tangan di
bawah ini:
Nama : Muhammad Rafly Tharhan
NIM : 4616010024
Program Studi Jurusan : Teknik Informatika dan Komputer
Jenis Karya : Skripsi
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada
Politeknik Negeri Jakarta Hak Bebas Royalti Nonekslusif (Non-exclusive
Royalty-Free Right) atas karya ilmiah saya berjudul:
RANCANG BANGUN APLIKASI DETEKSI KERUSAKAN JALAN
MENGGUNAKAN ALGORITMA YOLO
beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti
Noneklusif ini Politeknik Negeri Jakarta berhak menyimpan, mengalihmedia /
format-kan, mengelola dalam bentuk pangkalan data (database), merawat, dan
mempublikasikan skripsi saya selama tetap mencantumkan nama saya sebagai
penulis / pencipta dan sebagai pemilik Hak Cipta.
Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di : Depok, Pada tanggal : 7 Juli 2020
Yang menyatakan
(Muhammad Rafly Tharhan)
vii
Rancang Bangun Aplikasi Deteksi Kerusakan Jalan Menggunakan
Algoritma YOLO
Abstrak
Jalan merupakan sarana untuk menunjang segala aktivitas masyarakat guna memenuhi
kebutuhan seperti bekerja, pendidikan, wisata, dan lain-lain. Sebagai salah satu faktor
untuk menunjang kehidupan sehari-hari, jalan seharusnya diperhatikan dan dirawat agar
tidak terjadi kerusakan, seperti halnya jalan berlubang. Mirisnya, kerusakan pada jalan
terjadi di mana-mana dan menjadi permasalahan yang serius. Menurut data dari Dinas
PUPR, dari total 458 ruas jalan di Kabupaten Bogor hanya 89 ruas jalan yang kondisinya
dalam keadaan baik. Salah satu penyebab lamanya perbaikan pada jalan karena masih
dilakukan dengan pencatatan secara manual oleh tenaga kerja manusia yang
membutuhkan waktu dua pekan untuk jalan sepanjang satu kilometer dengan tingkat
keakuratan yang masih rendah. Dari permasalahan tersebut, aplikasi WATCH OUT! hadir
yang merupakan aplikasi berbasis Android dengan tujuan untuk membantu dalam
penanganan kerusakan jalan dan masyarakat ikut berperan dengan melaporkan
keberadaan pada kerusakan jalan. Aplikasi WATCH OUT! memanfaatkan pengolahan
citra digital dengan pendekatan deep learning untuk mendeteksi kerusakan jalan secara
real-time.
Kata kunci: kerusakan jalan, Android, pengolahan citra digital, deep learning,
real-time
viii
DAFTAR ISI
HALAMAN PERNYATAAN ORISINALITAS ............................................... iii
LEMBAR PENGESAHAN ................................................................................. iv
KATA PENGANTAR ........................................................................................... v
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI
UNTUK KEPENTINGAN AKADEMIS ........................................................... vi
Abstrak ................................................................................................................. vii
DAFTAR ISI ....................................................................................................... viii
DAFTAR TABEL ................................................................................................. x
DAFTAR GAMBAR ............................................................................................ xi
BAB I PENDAHULUAN ...................................................................................... 1
1.1 Latar Belakang ......................................................................................... 1
1.2 Perumusan Masalah ................................................................................ 2
1.3 Batasan Masalah ...................................................................................... 2
1.4 Tujuan dan Manfaat ................................................................................ 2
1.5 Metode Pelaksanaan ................................................................................ 3
BAB II TINJAUAN PUSTAKA ........................................................................... 5
2.1 Penelitian Terdahulu ............................................................................... 5
2.2 Rancang Bangun ...................................................................................... 5
2.3 Pengolahan Citra Digital ......................................................................... 6
2.4 Kerusakan Jalan ...................................................................................... 6
2.5 Deep Learning ........................................................................................... 7
2.6 Convolutional Neural Network (CNN) .................................................... 7
2.7 Konsep You Only Look Once (YOLO) ................................................. 10
2.8 Darknet ................................................................................................... 11
2.9 Python ..................................................................................................... 12
2.10 Tensorflow .............................................................................................. 12
2.11 Flask ........................................................................................................ 13
ix
2.12 Aplikasi ................................................................................................... 14
2.13 Android ................................................................................................... 14
2.14 Software Pendukung Android ............................................................... 14
2.15 API ........................................................................................................... 17
2.16 Web Service ............................................................................................. 17
BAB III PERENCANAAN DAN REALISASI ................................................. 19
3.1 Perancangan Program Aplikasi............................................................ 19
3.1.1 Deskripsi Program Aplikasi ......................................................... 19
3.1.2 Cara Kerja Program Aplikasi ..................................................... 19
3.1.3 Rancangan Program Aplikasi ...................................................... 21
3.2 Realisasi Program Aplikasi ................................................................... 28
3.2.1 Implementasi User Interface User ............................................... 28
3.2.2 Implementasi Model Tensorflow ................................................. 35
BAB IV PEMBAHASAN .................................................................................... 39
4.1 Pengujian ................................................................................................ 39
4.2 Deskripsi Pengujian ............................................................................... 39
4.3 Prosedur Pengujian ............................................................................... 39
4.4 Data Hasil Pengujian ............................................................................. 40
4.4.1 Unit Testing .................................................................................... 40
4.4.2 Model Testing ................................................................................. 43
4.5 Analisis Data / Evaluasi ......................................................................... 46
4.5.1 Evaluasi Model .............................................................................. 46
4.5.2 Evaluasi Aplikasi ........................................................................... 47
BAB V PENUTUP ............................................................................................... 48
5.1 Kesimpulan ............................................................................................. 48
5.2 Saran ....................................................................................................... 48
DAFTAR PUSTAKA .......................................................................................... 50
RIWAYAT HIDUP PENULIS ........................................................................... 52
x
DAFTAR TABEL
Tabel 1 Prosedur Pengujian .................................................................................. 39
Tabel 2 Hasil Unit Testing Aplikasi ...................................................................... 41
Tabel 3 Hasil Pengujian Pada Kelas Lubang Jalan ............................................... 44
Tabel 4 Hasil Pengujian Pada Kelas Retak Jalan .................................................. 45
xi
DAFTAR GAMBAR
Gambar 1. 1 Metode waterfall ................................................................................ 3
Gambar 2. 1 Proses Convolutional Neural Network ............................................... 8
Gambar 2. 2 Convolutional Layer ........................................................................... 8
Gambar 2. 3 Pooling Layer ..................................................................................... 9
Gambar 2. 4 Fully Connected Layer ....................................................................... 9
Gambar 2. 5 Sebelum dan sesudah Dropout ......................................................... 10
Gambar 2. 6 Contoh deteksi objek ........................................................................ 11
Gambar 2. 7 Layer Darknet-53 ............................................................................. 11
Gambar 2. 8 Arsitektur Tensorflow ...................................................................... 13
Gambar 3. 1 Flowchart aplikasi ............................................................................ 20
Gambar 3. 2 Diagram use case ............................................................................. 21
Gambar 3. 3 Arsitektur YOLOV3 ......................................................................... 22
Gambar 3. 4 Contoh citra kerusakan jalan ............................................................ 22
Gambar 3. 5 Kelas untuk labeling ........................................................................ 23
Gambar 3. 6 Labeling citra ................................................................................... 23
Gambar 3. 7 Hasil labeling citra ........................................................................... 23
Gambar 3. 8 Mengaktifkan OpenCV, GPU, dan cuDNN ..................................... 24
Gambar 3. 9 Build darknet .................................................................................... 24
Gambar 3. 10 Mengatur batch, subdivisions, width, dan height ........................... 24
Gambar 3. 11 Mengatur max batches, policy, dan steps ....................................... 25
Gambar 3. 12 Mendefinisikan jumlah kelas Yolo Layer ....................................... 25
Gambar 3. 13 Mendefiniskan jumlah kelas dan backup path ............................... 25
Gambar 3. 14 generate_train.py ............................................................................ 26
Gambar 3. 15 Perintah untuk menjalankan training ............................................. 26
Gambar 3. 16 Hasil training ................................................................................. 26
Gambar 3. 17 Diagram class ................................................................................. 27
Gambar 3. 18 Splash screen aplikasi WATCH OUT! .......................................... 28
Gambar 3. 19 Halaman register ............................................................................ 28
Gambar 3. 20 Halaman login ................................................................................ 29
xii
Gambar 3. 21 Halaman home................................................................................ 30
Gambar 3. 22 Menu............................................................................................... 30
Gambar 3. 23 Halaman lapor kerusakan jalan ...................................................... 31
Gambar 3. 24 Halaman home dengan informasi citra kerusakan jalan ................. 32
Gambar 3. 25 Halaman detail informasi citra kerusakan jalan ............................. 32
Gambar 3. 26 Logout dari user ............................................................................. 33
Gambar 3. 27 Halaman home admin..................................................................... 33
Gambar 3. 28 Halaman detail informasi citra kerusakan jalan ............................. 34
Gambar 3. 29 Logout dari admin .......................................................................... 34
Gambar 3. 30 Darknet Layer ................................................................................ 35
Gambar 3. 31 Darknet Block Layer ...................................................................... 35
Gambar 3. 32 YoloV3 Layer .................................................................................. 36
Gambar 3. 33 Darknet Convolutional Layer ........................................................ 36
Gambar 3. 34 Implementasi menyamakan format bobot dan dimensi.................. 37
Gambar 4. 1 Hasil pengujian data training ........................................................... 43
Gambar 4. 2 Hasil pengujian data training ........................................................... 46
Gambar 4. 3 Contoh retak jalan yang tidak terdeteksi .......................................... 46
Gambar 4. 4 Contoh retak jalan yang terdeteksi ................................................... 47
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Jalan merupakan sarana untuk menunjang segala aktivitas masyarakat guna
memenuhi kebutuhan seperti bekerja, pendidikan, wisata, dan lain-lain. Sebagai
salah satu faktor untuk menunjang kehidupan sehari-hari, jalan seharusnya
diperhatikan dan dirawat agar tidak terjadi kerusakan, seperti halnya jalan
berlubang. Mirisnya, kerusakan pada jalan terjadi di mana-mana dan menjadi
permasalahan yang serius.
Ada sekitar 438.909 kilometer ruas jalan di Kabupaten Bogor yang kondisinya
masih rusak. Jumlah jarak rusak tersebut terbagi dari berbagai kategori kerusakan:
246.180 kilometer rusak sedang, 114.342 kilometer rusak ringan, dan 123.387
kilometer rusak berat dari total ruas jalan yang ada di Kabupaten Bogor sepanjang
1.748.915 kilometer. Dari total 458 ruas jalan, hanya 89 ruas yang kondisinya
dalam keadaan baik. Data dari Dinas Pekerjaan Umum dan Penataan Ruang
(PUPR) diambil dari akhir Desember 2018 hingga Mei 2019. Kerusakan permukaan
jalan berupa lubang sangat mengganggu arus transportasi darat, bahkan tidak
sedikit yang mengalami kecelakaan akibat terkena lubang jalan. Menurut Dinas
Pekerjaan Umum (DPU), salah satu penyebab lamanya perbaikan pada jalan karena
masih dilakukan dengan pencatatan secara manual oleh tenaga kerja manusia.
Pencatatan seperti ini membutuhkan waktu dua pekan untuk jalan sepanjang satu
kilometer, belum lagi tingkat keakuratan yang masih rendah.
Sistem untuk melaporkan masalah, seperti kerusakan jalan, sudah tersedia dengan
masyarakat sebagai user dalam memposting laporan. Namun, laporan tersebut
terkadang masih tidak dianggap masalah yang mendesak bagi pengelola jalan. Ini
disebabkan karena setiap laporan perlu menampilkan informasi secara visual
(Hiroya et al., 2016).
Berdasarkan penelitian yang sudah dipaparkan sebelumnya, informasi mengenai
kerusakan jalan belum ditampilkan secara visual dengan tingkat kerusakannya.
2
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Informasi yang didapatkan belum dapat menjadi landasan pengambilan keputusan
perbaikan jalan atau evaluasi mengenai jalan. Penelitian ini memiliki sasaran
membangun sebuah aplikasi deteksi kerusakan jalan menggunakan pendekatan
deep learning dan pembangunan user interface berbasis Android secara realtime.
Aplikasi ini diharapkan dapat menjadi acuan dari pengambilan keputusan perbaikan
jalan, baik dalam jangka pendek maupun jangka panjang.
1.2 Perumusan Masalah
Perumusan masalah dalam penelitian ini adalah bagaimana membangun aplikasi
deteksi kerusakan jalan menggunakan algoritma YOLO?
1.3 Batasan Masalah
Batasan masalah dalam penelitian ini sebagai berikut.
1. Sistem ini diimplementasikan pada aplikasi berbasis Android
2. Pengumpulan citra jalan diambil dari situs Kaggle
3. Kerusakan jalan berfokus pada lubang jalan dan retak jalan
1.4 Tujuan dan Manfaat
Tujuan dari penelitian ini adalah membangun aplikasi deteksi kerusakan jalan
menggunakan algoritma YOLO.
Manfaat yang diperoleh dari penelitian ini sebagai berikut.
1. Pengguna mendapatkan informasi mengenai kerusakan jalan
2. Pengguna dapat melaporkan keadaan jalan
3. Pemda dapat memutuskan penanganan lanjutan untuk perbaikan pada
kerusakan jalan
4. Pemantauan kondisi jalan secara realtime
3
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
1.5 Metode Pelaksanaan
Gambar 1. 1 Metode waterfall
Berdasarkan Gambar 1.1, pengembangan sistem yang akan digunakan adalah
pengembangan metode waterfall. Metode waterfall merupakan model
pengembangan sistem informasi sistematik dan sekuensial. Metode waterfall
memiliki tahapan-tahapan sebagai berikut.
1. Requirements analysis and definition
Layanan sistem, kendala, dan tujuan ditetapkan oleh hasil konsultasi dengan
pengguna yang kemudian didefinisikan secara rinci dan berfungsi sebagai
spesifikasi sistem.
2. System and software design
Tahapan perancangan sistem mengalokasikan kebutuhan-kebutuhan sistem baik
perangkat keras maupun perangkat lunak dengan membentuk arsitektur sistem
secara keseluruhan. Perancangan perangkat lunak melibatkan identifikasi dan
penggambaran abstraksi sistem dasar perangkat lunak dan hubungannya.
3. Implementation
Pada tahap ini, perancangan perangkat lunak direalisasikan sebagai serangkaian
program atau unit program. Pengujian melibatkan verifikasi bahwa setiap unit
memenuhi spesifikasinya.
4
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
4. Integration and system testing
Unit-unit individu program atau program digabung dan diuji sebagai sebuah sistem
lengkap untuk memastikan apakah sesuai dengan kebutuhan perangkat lunak atau
tidak. Setelah pengujian, perangkat lunak dapat dikirimkan ke customer.
5. Operation and maintance
Biasanya (walaupun tidak selalu), tahapan ini merupakan tahapan yang paling
panjang. Sistem dipasang dan digunakan secara nyata. Maintance melibatkan
pembetulan kesalahan yang tidak ditemukan pada tahapan-tahapan sebelumnya,
meningkatkan implementasi dari unit sistem, dan meningkatkan layanan sistem
sebagai kebutuhan baru.
5
BAB II
TINJAUAN PUSTAKA
2.1 Penelitian Terdahulu
Penelitian terdahulu pernah dilakukan oleh Anggita Mahardika, Yuita Arum Sari,
dan Dewi Candra (2018) berupa membuat sistem temu kembali citra lubang jalan
aspal. Sistem temu kembali ini merupakan sistem yang berguna sebagai deteksi
kerusakan jalan berdasarkan tingkat kerusakannya. Penelitian ini memanfaatkan
ekstrasi fitur tekstur Gray Level Co-occourrence Matrix (GLCM). Fitur yang
digunakan sebanyak 52 fitur yang berasal dari 13 fitur dengan sudut 0°, 45°, 90°,
dan 135°. Dari 52 fitur tersebut dilakukan seleksi fitur menggunakan metode
Wrapper dan CFS (Correlation Based Feature Selection).
Penelitian yang dilakukan oleh Prima Yusuf Budiarto dan Sukitno (2017) dengan
judul ”Deteksi Objek Lubang pada Citra Jalan Raya menggunakan Pengolahan
Citra Digital” dengan memanfaatkan perhitungan menggunakan jaringan saraf
tiruan. Penelitian ini mengimplementasikan jaringan saraf tiruan backpropagation
dan pengolahan citra.
Penelitian dengan memanfaatkan deep learning pernah dilakukan oleh Vishal
Mandal, Lan Uong, dan Yaw Adu-Gyamfi (2019) untuk otomasi kerusakan jalan.
Penelitian ini menggunakan sistem analisis yang berbasis pada YOLO v2 deep
learning framework. Sistemnya dilatih menggunakan 7.240 gambar yang diperoleh
dari kamera ponsel dan diuji pada 1.813 gambar jalan. Harapan dari penerapan studi
ini dapat membantu mengindentifikasikan anomali jalan yang membutuhkan
perbaikan segera.
2.2 Rancang Bangun
Rancang bangun adalah suatu istilah umum untuk membuat atau mendesain suatu
objek dari awal pembuatan sampai akhir pembuatan. Rancang bangun berawal dari
kata desain yang artinya perancangan, rancang, desain, bangun. Sedangkan
6
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
merancang artinya mengatur, mengerjakan, atau melakukan sesuatu dan
perancangan artinya proses, cara, perbuatan merancang.
Dapat disimpulkan arti kata desain adalah proses, cara, perbuatan dengan mengatur
segala sesuatu sebelum bertindak atau merancang. Rancang bangun adalah
kemampuan untuk membuat beberapa alternatif pemecahan masalah. Adapun dari
pendapat lain rancang bangun adalah spesifikasi secara umum dan terinci dari
pemecahan masalah berbasis komputer yang telah dipilih selama tahap analisis
(Ariansyah et al., 2017).
2.3 Pengolahan Citra Digital
Pengolahan citra bertujuan memperbaiki kualitas citra agar mudah diinterpretasi
oleh manusia atau mesin (dalam hal ini komputer). Teknik-teknik pengolahan citra
mentransformasikan citra menjadi citra lain. Jadi, masukannya adalah citra dan
keluarannya juga citra, namun citra keluaran mempunyai kualitas lebih baik
daripada citra masukan (Umam & Negara, 2016).
Salah satu library yang mendukung pengembangan pengolahan citra yang cukup
populer adalah OpenCV. OpenCV (Open Source Computer Vision Library) adalah
open source computer vision dan library perangkat lunak machine learning.
OpenCV dibangun untuk menyediakan infastruktur umum pada aplikasi computer
vision.
2.4 Kerusakan Jalan
Kerusakan jalan merupakan masalah yang sering dijumpai. Banyak ruas jalan di
kota besar dengan kondisi rusak atau sedang dalam proses mengalami kerusakan.
Kondisi demikian merupakan masalah bagi hampir setiap kota besar di Indonesia.
Ruas jalan dengan kerusakan kecil sering tidak mendapat perhatian sehingga
kerusakan tersebut semakin parah dan mengakibatkan kapasitas jalan menjadi
berkurang. Diperlukan suatu cara untuk mendeteksi kerusakan jalan sebelum
kerusakan tersebut menjadi parah. Upaya tersebut dapat dilakukan dengan
mengadakan pemeriksaan kondisi jalan secara periodik (Angreni et al., 2019).
7
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
2.5 Deep Learning
Deep learning adalah sebuah bidang keilmuan baru dalam bidang machine
learning. Deep learning memiliki kemampuan yang sangat baik dalam visi
computer. Salah satunya adalah pada kasus klasifikasi objek pada citra. Dengan
mengimplemantasikan salah satu metode machine learning yang dapat digunakan
untuk klasifikasi citra objek, yaitu Convolution Neural Network (CNN) (Marifatul
Azizah et al., 2018).
Metode pendekatan deep learning mengklasifikasi data dalam dua sesi, yaitu sesi
training dan testing. Pada sesi training mempelajari ekstrasi fitur dari setiap data
supaya bisa membedakan suatu label dengan label yang lain. Pada sesi testing data-
data yang diuji dapat dianalisis dari hasil sesi training.
Ada beberapa framework yang mendukung pengembangan aplikasi berbasis deep
learning, salah satunya yang sangat populer adalah Tensorflow. Tensorflow
adalah sebuah framework komputasional untuk membuat model machine
learning. TensorFlow menyediakan berbagai toolkit yang memungkinkan untuk
membuat model sesuai dengan tingkat abstraksi user.
2.6 Convolutional Neural Network (CNN)
Convolutional Neural Network merupakan salah satu jenis neural network yang
biasanya digunakan dalam pengolahan data image. Konvolusi atau biasa yang
disebut dengan convolution adalah matriks yang memiiki fungsi melakukan filter.
Convolutional Neural Network memiliki beberapa layer yang difungsikan untuk
melakukan filter pada setiap prosesnya. Prosesnya disebut dengan proses training.
Pada proses training terdapat 3 tahapan, yaitu Convolutional Layer, Pooling Layer,
dan Fully Connected Layer (Santoso & Ariyanto, 2018).
8
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 2. 1 Proses Convolutional Neural Network
1. Convolutional Layer
Seluruh data yang menyentuh lapisan konvolusional akan mengalami proses
konvolusi. Lapisan akan mengkonversi setiap filter ke seluruh bagian data masukan
dan menghasikan sebuah activation map atau feature map 2D. Filter yang terdapat
pada Convolutional Layer memiliki panjang, tinggi (pixels) dan tebal sesuai dengan
channel data masukan. Setiap filter akan mengalami pergeseran dan operasi “dot”
antara data masukan dan nilai dari filter. Lapisan konvolutional secara signifikan
mengalami kompleksitas model melalui optimalisasi outputnya. Hal ini
dioptimalkan melalui tiga parameter: depth, stride, dan pengaturan zero padding.
Gambar 2. 2 Convolutional Layer
2. Pooling Layer
Pooling Layer merupakan tahap setelah Convolutional Layer. Pooling Layer terdiri
dari sebuah filter dengan ukuran dan stride tertentu. Setiap pergeseran akan
ditentukan oleh jumlah stride yang akan digeser pada seluruh area feature map atau
9
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
activation map. Dalam penerapannya, Pooling Layer yang biasa digunakan adalah
Max Pooling dan Average Pooling.
Gambar 2. 3 Pooling Layer
3. Fully Connected Layer
Feature map yang dihasilkan oleh tahap sebelumnya berbentuk multidimensional
array. Sehingga, Sebelum masuk pada tahap Fully Connected Layer, Feature Map
tersebut akan melalui proses “flatten” atau reshape. Proses flatten menghasilkan
sebuah vektor yang akan digunakan sebagai input dari Fully Connected Layer.
Fully Connected Layer memiliki beberapa Hidden Layer, Action Function, Output
Layer, dan Loss Function.
Gambar 2. 4 Fully Connected Layer
4. Dropout
Dropout merupakan salah satu usaha untuk mencegah terjadinya overfitting dan
juga mempercepat proses learning. Overfitting adalah kondisi dimana hampir
semua data yang telah melalui proses training mencapai persentase yang baik,
tetapi terjadi ketidaksesuaian pada proses prediksi. Dalam sistem kerjanya, Dropout
10
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
menghilangkan sementara suatu neuron yang berupa Hidden Layer maupun Visibe
Layer yang berada didalam jaringan.
Gambar 2. 5 Sebelum dan sesudah Dropout
2.7 Konsep You Only Look Once (YOLO)
You Only Look Once (Yolo) adalah sebuah algoritma yang dikembangkan untuk
mendeteksi sebuah objek secara real-time. Sistem pendeteksian yang dilakukan
adalah dengan menggunakan repurpose classifier atau localizer untuk melakukan
deteksi. Sebuah model diterapkan pada sebuah citra di beberapa lokasi dan skala.
Daerah dengan citra yang diberi score paling tinggi akan dianggap sebagai sebuah
pendeteksian.
Yolo menggunakan pendekatan jaringan saraf tiruan (JST) untuk mendeteksi objek
pada sebuah citra. Jaringan ini membagi citra menjadi beberapa wilayah dan
memprediksi setiap kotak pembatas dan probabilitas untuk setiap wilayah. Kotak-
kotak pembatas ini kemudian dibandingkan dengan setiap probabilitas yang
diprediksi. Yolo memiliki beberapa kelebihan dibandingkan dengan sistem yang
berorientasi pada classifier, terlihat dari seluruh citra pada saat dilakukan test
dengan prediksi yang diinformasikan secara global pada citra. Hal tersebut juga
membuat prediksi dengan sintesis jaringan saraf ini tidak seperti sistem
RegionConvolutional Neural Network (R-CNN) yang membutuhkan ribuan untuk
sebuah citra sehingga membuat Yolo lebih cepat hingga beberapa kali daripada R-
CNN (Jupiyandi et al., 2019). Pada Gambar 2.6 merupakan contoh hasil deteksi
beberapa objek dengan menggunakan Yolo-Darknet.
11
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 2. 6 Contoh deteksi objek
2.8 Darknet
Darknet-53 adalah kisaran ketiga dari lapisan 0 sampai lapisan 74, ada 53
convolutional layers dan tingkat sisanya dikatakan sebagai resident layer (Redmon
et al., 2016), seperti Gambar 2.7 di bawah ini.
Gambar 2. 7 Layer Darknet-53
12
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
2.9 Python
Python adalah bahasa pemrograman interpretatif multiguna dengan filosofi
perancangan yang berfokus pada tingkat keterbacaan kode. Python diklaim sebagai
bahasa yang menggabungkan kapabilitas, kemampuan, dengan sintaksis kode yang
sangat jelas, dan dilengkapi dengan fungsionalitas pustaka standar yang besar serta
komprehensif. Python juga didukung oleh komunitas yang besar.
Python mendukung multi paradigma pemrograman, utamanya; namun tidak
dibatasi; pada pemrograman berorientasi objek, pemrograman imperatif, dan
pemrograman fungsional. Salah satu fitur yang tersedia pada python adalah sebagai
bahasa pemrograman dinamis yang dilengkapi dengan manajemen memori
otomatis. Seperti halnya pada bahasa pemrograman dinamis lainnya, python
umumnya digunakan sebagai bahasa script meski pada praktiknya penggunaan
bahasa ini lebih luas mencakup konteks pemanfaatan yang umumnya tidak
dilakukan dengan menggunakan bahasa script. Python dapat digunakan untuk
berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai
platform sistem operasi (Syahrudin & Kurniawan, 2018).
2.10 Tensorflow
Tensorflow adalah open source library untuk machine learning yang diperkenalkan
oleh Google dan mendukung beberapa bahasa pemrograman. Saat ini tensorflow
sangat berperan pada penelitian skala besar dalam machine learning dan penelitian
deep neural network yang membutuhkan komputasi paralel secara masif. Dengan
cara melakukan penggabungan atas suatu bentuk aljabar komputasi dan teknik
kompilasi optimal, pemanfaatan tensorflow akan memberikan kemudahan dalam
proses penghitungan ekspresi matematika yang majemuk, dimana permasalahan
yang kerap terjadi adalah lamanya waktu proses yang dibutuhkan dalam
menyelesaiakn bentuk perhitungan matematika (Sutjiadi & Pattiasina, 2020).
Tensorflow sendiri dapat digunakan pada semua sistem operasi. Fitur utama yang
dimiliki oleh tensorflow meliputi:
1. Pendefinisian, pengoptimalan serta proses perhitungan yang dilakukan secara
efisien dalam bentuk ekspresi matematis yang juga melibatkan bentuk
multidimensional array atau disebut dengan istilah tensors.
13
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
2. Fitur pembelajaran mesin serta fitur pemrograman yang mendukung
komputasi jaringan syaraf dalam. Tensorflow dapat menarik pengetahuan
yang diberikan kedalamnya untuk dipergunakan dalam proses penyelesaian
tugas perhitungan ekpresi matematika.
3. Graphics Processing Unit (GPU) yang transparan, serta kemampuan
optimalisasi dan otomatisasi manajemen memori yang sama dengan data
yang dipakai. Dimana tensorflow memiliki kemampuan untuk menuliskan
similarity code serta dapat menjalankan dengan maksimal pada bagian
Central Processing Unit (CPU) ataupun pada bagian GPU. Lebih khususnya
lagi, tensorflow dapat mengetahui mana saja bagian perhitungan yang akan
dan harus ditransfer ke dalam GPU.
4. Large data sets serta high computing scalability pada seluruh bagiannya,
sehingga memberikan akurasi yang baik dalam pemanfaatannya. Arsitektur
umum dari Tensorflow dapat dilihat pada Gambar 2.8 di bawah ini.
Gambar 2. 8 Arsitektur Tensorflow
2.11 Flask
Flask adalah sebuah web framework yang ditulis dengan bahasa Python dan
tergolong sebagai jenis microframework. Flask berfungsi sebagai kerangka kerja
aplikasi dan tampilan dari suatu web. Dengan menggunakan Flask dan bahasa
Python, pengembang dapat membuat sebuah web yang terstruktur dan dapat
mengatur behaviour suatu web dengan lebih mudah (Irsyad, 2018).
14
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Flask termasuk pada jenis microframework karena tidak memerlukan suatu alat atau
pustaka tertentu dalam penggunaannya. Sebagian besar fungsi dan komponen
umum seperti validasi form, database, dan sebagainya tidak terpasang secara
default di Flask. Hal ini dikarenakan fungsi dan komponen-komponen tersebut
sudah disediakan oleh pihak ketiga dan Flask dapat menggunakan ekstensi yang
membuat fitur dan komponen-komponen tersebut seakan diimplementasikan oleh
Flask sendiri.
2.12 Aplikasi
Aplikasi adalah suatu program yang siap untuk digunakan yang dibuat untuk
melaksanakan suatu fungsi bagi pengguna jasa aplikasi serta penggunaan aplikasi
lain yang dapat digunakan oleh suatu sasaran yang akan dituju. Menurut kamus
computer eksekutif, aplikasi yaitu pemecahan masalah yang menggunakan salah
satu teknik pemrosesan data aplikasi yang biasanya berpacu pada sebuah komputasi
yang diinginkan maupun pemrosesan data yang diharapkan (Juansyah, 2015).
2.13 Android
Android merupakan sistem operasi yang dikembangkan untuk perangkat mobile
berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh Android Inc.
yang kemudian dibeli oleh Google pada tahun 2005.
Dalam usaha mengembangkan Android, pada tahun 2007 dibentuklah Open
Handset Alliance (OHA), sebuah konsorsium dari beberapa perusahaan, yaitu
Texas Instruments, Broadcom Corporation, Google, HTC, Intel, LG, Marvell
Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint
Nextel, dan T-Mobile dengan tujuan untuk mengembangkan standar terbuka untuk
perangkat mobile. Pada tanggal 9 Desember 2008, diumumkan bahwa 14 orang
anggota baru akan bergabung dengan proyek Android, termasuk PacketVideo,
ARM Holdings, Atheros Communications, Asustek Computer Inc, Garmin Ltd,
Softbank, Sony Ericsson, Toshiba Corp, dan Vodafone Group Plc (Maiyana, 2018).
2.14 Software Pendukung Android
Software yang diperlukan dalam pembuatan aplikasi Android sebagai berikut.
15
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
1. Android Studio
Android Studio merupakan sebuah IDE (Integrated Development Environment)
untuk pengembangan aplikasi Android, aplikasi ini dipublikasikan oleh Google
pada tanggal 16 Mei 2013 dan tersedia secara gratis dibawah lisensi Apache 2.0,
Android Studio ini menggantikan software pengembangan Android sebelumnya,
yakni Eclipse.
2. Integrated Development Environment (IDE)
Integrated Development Environment merupakan aplikasi pengembang perangkat
lunak dengan fungsi-fungsi terintegrasi yang dibutuhkan untuk membangun sebuah
perangkat lunak seperti code editor, debugger, compiler, dan sebagainya.
3. Android Software Development Kit (Android SDK)
Android SDK adalah tools API (Application Programming Interface) yang
diperlukan untuk memulai pengembangan aplikasi pada platform Android
menggunakan bahasa pemrograman Java. Pada Android SDK ini terdiri dari
debugger, libraries, handset emulator, dokumentasi, kode contoh, dan tutorial.
SDK memungkinkan pengembang membuat aplikasi untuk platform Android SDK,
Android mencakup proyek sampel dengan kode sumber, perangkat pengembangan,
emulator, dan perpustakaan yang diperlukan untuk membangun aplikasi Android.
Aplikasi yang ditulis dengan bahasa pemrograman Java dan berjalan di Dalvik,
mesin virtual yang dirancang khusus untuk penggunaan embedded yang berjalan di
atas kernel Linux.
4. Java Development Kit (JDK)
JDK (Java Development Kit) adalah paket fungsi API untuk bahasa pemrograman
Java, meliputi Java Runtime Environment (JRE) dan Java Virtual Machine (JVM).
5. Android Virtual Device (AVD)
Android Virtual Device merupakan emulator untuk menjalankan program aplikasi
Android yang dibuat. AVD ini selanjutnya akan digunakan sebagai tempat untuk
mengetes dan menjalankan aplikasi Android tanpa harus menggunakan perangkat
Android yang sebenarnya. Sebelum menggunakan AVD, harus menentukan
16
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
karakteristiknya, misalnya dalam menentukan versi Android, jenis dan ukuran
layar, serta besarnya memori.
6. Java
Java merupakan bahasa pemrograman berorientasi objek yang diperkenalkan pada
tahun 1995 oleh Sun Microsystem Inc., saat Java diciptakan dipimpin oleh James
Gosling. Bahasa pemrograman Java tercipta berawal dari sebuah perusahaan Sun
Microsystem yang ingin membuat sebuah bahasa pemrograman yang dapat berjalan
di semua device tanpa harus terikat oleh platform yang digunakan oleh device
tersebut, terlaksanalah sebuah proyek yang dipelopori oleh Patrick Naughton,
James Gosling, Mike Sheridan dan Bill Joy pada tahun 1991, maka terciptalah
bahasa pemrograman Java yang awalnya bernama “Oak”. Java adalah sebuah
teknologi yang pada teknologi tersebut mencakup Java sebagai bahasa
pemrograman yang memiliki sintaks dan aturan pemrograman tersendiri, juga
mencakup Java sebagai platform yang teknologi ini memiliki virtual machine dan
library yang diperlukan untuk menulis dan menjalankan program yang ditulis
dengan bahasa pemrograman Java, alasan terbesar dalam pembuatan bahasa
pemrograman Java adalah keinginan akan terbentuknya suatu bahasa pemrograman
yang bisa berjalan di berbagai perangkat tanpa harus terikat oleh platform, sehingga
Java ini bersifat portable dan platform independent (tidak tergantung mesin atau
sistem operasi).
7. Firebase Realtime Database
Firebase Realtime Database merupakan database yang tersimpan di cloud dan
support multiplatform seperti Android, iOS, dan Web (Sudiartha et al., 2018). Data
pada firebase akan disimpan dalam struktur JSON (Java Script Object Notation).
Beberapa kemampuan firebase yang ditawarkan ke pengguna dan pengembang
sistem:
a. Realtime database. Firebase akan melakukan proses update dan sinkronisasi
data, setiap ada data yang berubah. Sinkronisasi dilakukan dalam milidetik di
mana proses ini sebagai ganti penggunaaan permintaan HTTP biasa pada saat
request data ke server.
17
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
b. Responsif walaupun saat offline. Database Realtime Firebase dilengkapi SDK
untuk menyimpan data ke disk local. Sehingga pada saat offline pengguna tetap
dapat menyimpan data ke dalam aplikasi, dan akan melakukan update data
setelah jaringan terhubung ke server. Server melakukan update data ke setiap
perangkat yang terhubung secara otomatis.
c. Firebase dapat diakses langsung dari perangkat client. Firebase menyediakan
fasilitas untuk melakukan akses langsung melalui perangkat selular atau dapat
juga melalui web browser. Aturan keamanan firebase akan melakukan validasi
data yang dapat diakses pada saat data dibaca dan ditulis.
d. Dapat dibuat skala ukuran database. Pada paket tertentu yang berbayar, Google
sebagai owner firebase memberikan keleluasaan bagi pengembang untuk
membagi penyimpanan menjadi beberapa database sesuai dengan kebutuhan.
2.15 API
API adalah sekumpulan perintah, fungsi, dan protokol yang dapat digunakan saat
membangun perangkat lunak untuk sistem operasi tertentu. API memungkinkan
programmer untuk menggunakan fungsi standar untuk berinteraksi dengan sistem
operasi. API atau Application Programming Interface juga merupakan suatu
dokumentasi yang terdiri dari antar muka, fungsi, kelas, struktur untuk membangun
sebuah perangkat lunak. (Afrianto & Atin, 2017)
Dengan adanya API, maka memudahkan seorang programmer untuk membongkar
suatu software untuk kemudian dapat dikembangkan atau diintegrasikan dengan
perangkat lunak yang lain. API dapat dikatakan sebagai penghubung suatu aplikasi
dengan aplikasi lainnya. Suatu rutin standar yang memungkinkan developer
menggunakan system function. Proses ini dikelola melalui sistem operasi.
Keunggulan dari API ini adalah memungkinkan suatu aplikasi dengan aplikasi
lainnya untuk saling berinteraksi.
2.16 Web Service
Web service merupakan suatu sistem yang dirancang untuk mendukung aktivitas
antar sistem pada suatu jaringan. Berisi kumpulan operasi yang dapat diakses
dengan jaringan, misalnya melalui internet dengan formati XML.
18
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Web service terdiri dari kumpulan fungsi dan method yang berpusat pada sebuah
server yang dapat dipanggil oleh pengguna, dimana kita dapat mengakses method-
method tersebut meskipun dengan bahasa pemrograman maupun platform yang
berbeda (Paramartha et al., 2017).
19
BAB III
PERENCANAAN DAN REALISASI
3.1 Perancangan Program Aplikasi
Perancangan program aplikasi terdiri dari deskripsi program aplikasi, cara kerja
program aplikasi, dan rancangan program aplikasi. Deskripsi program aplikasi
menjelaskan tentang pemaparan mengenai aplikasi. Cara kerja program aplikasi
menjelaskan tentang alur proses sistem saat membuka aplikasi sampai selesai
penggunaan. Rancangan program aplikasi menjelaskan tentang pemodelan desain
aplikasi.
3.1.1 Deskripsi Program Aplikasi
Aplikasi citra digital kerusakan jalan yang dibuat untuk mendeteksi kerusakan jalan
yang berfokus pada lubang jalan dan retak jalan. Aplikasi ini berbasis Android yang
di dalamnya pengguna dapat melakukan capture citra pada jalan. Hasil dari capture
tersebut akan diupload kemudian diproses oleh sistem untuk mendeteksi lubang
jalan atau retak jalan yang terdapat pada citra tersebut. Pengguna juga dapat melihat
informasi hasil capture dari citra yang diupload.
3.1.2 Cara Kerja Program Aplikasi
Gambar 3.1 merupakan flowchart pada aplikasi. Saat membuka aplikasi, user
diharuskan melakukan login dengan memasukkan email dan password. Bila belum
memiliki akun, user dapat melakukan registrasi terlebih dahulu dengan
memasukkan data diri pengguna. Setelah berhasil melakukan login atau registrasi,
user ditujukan ke halaman Home. Untuk melakukan proses lapor, user memilih
menu halaman Lapor Kerusakan Jalan yang akan ditujukan ke halaman tersebut. Di
halaman Lapor Kerusakan Jalan terdapat tombol Capture Gambar yang akan
ditujukan ke kamera untuk melakukan capture terhadap citra jalan dan tombol
Ambil Dari Galeri untuk mengambil citra jalan yang sudah ada dari galeri. Hasil
citra jalan akan keluar dan tombol Upload Gambar akan muncul. Tombol Upload
Gambar ini untuk mengupload hasil citra jalan yang nantinya akan diproses oleh
20
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
sistem untuk mengolah citra jalan. Setelah sistem mengolah citra jalan, informasi
mengenai citra akan ditampilkan.
Gambar 3. 1 Flowchart aplikasi
21
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
3.1.3 Rancangan Program Aplikasi
1. Diagram Use Case
Gambar 3. 2 Diagram use case
Gambar 3.2 menjelaskan mengenai diagram use case pada aplikasi ini melibatkan
dua aktor, yakni user dan pemda.
a. User adalah aktor utama pada aplikasi ini. User dapat melakukan login apabila
sudah memiliki akun. Apabila belum memiliki akun, user dapat mendaftar atau
melakukan register. Jika sudah memiliki akun, user dapat melakukan capture
untuk mengambil citra jalan atau mengambil citra jalan dari galeri. User dapat
melakukan upload citra jalan dan mendapatkan informasi citra jalan tersebut.
22
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
b. Pemda adalah aktor sebagai admin yang menindaklanjuti dalam penanganan
lanjutan. Sama seperti pengguna, pemda dapat melakukan login dan
mendapatkan informasi mengenai citra jalan.
2. Arsitektur Model
Gambar 3. 3 Arsitektur YOLOV3
Arsitektur model dari penelitian ini sudah disesuaikan dengan arsitektur model
YOLOV3 yang dikembangkan oleh Redmon, Divvala, Girshick, dan Farhadi.
3. Persiapan Data
Langkah pertama adalah mempersiapkan dataset citra yang dibutuhkan pada
penelitian ini. Berdasarkan batasan masalah, dataset bersumber dari situs Kaggle
dengan hanya mengambil 200 citra kerusakan jalan.
Gambar 3. 4 Contoh citra kerusakan jalan
23
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Setelah dataset citra dipersiapkan, kelas atau label perlu ditentukan pada citra. Kelas
berjumlah dua sesuai dengan batasan masalah pada penelitian ini berupa lubang
jalan dan retak jalan.
Gambar 3. 5 Kelas untuk labeling
Setelah menentukan kelas, citra yang sudah disiapkan akan masuk ke proses
labeling. Labeling dimaksudkan untuk membuat bagian-bagian yang termasuk ke
dalam kelas yang sudah dipersiapkan. Labeling citra menggunakan LabelImg yang
merupakan salah satu modul pada Python.
Gambar 3. 6 Labeling citra
Hasil dari labeling citra akan menghasilkan txt file yang berisi koordinat pada citra.
Gambar 3. 7 Hasil labeling citra
24
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Setelah labeling citra, aktifkan GPU pada device yang memerlukan beberapa
depedency, seperti OpenCV dan library untuk melakukan build Darknet-53 yang
akan digunakan untuk training model data.
Gambar 3. 8 Mengaktifkan OpenCV, GPU, dan cuDNN
Gambar 3. 9 Build darknet
Setelah melakukan build Darknet-53, selanjutnya diperlukan beberapa konfigurasi
untuk menyiapkan model. Untuk melakukan training data, perlu mengatur
banyaknya data sebanyaknya 64 batch dan mengubah subdivisions tergantung pada
device yang memadai. Pada tahap konfigurasi model pertama, perlu juga ditentukan
banyaknya data per training. Setelah itu, ubah ukuran semua citra yang ada menjadi
416x416 sesuai dengan ketentuan YoloV3.
Gambar 3. 10 Mengatur batch, subdivisions, width, dan height
Jumlah banyaknya pelatihan yang dibutuhkan bersama data perlu ditentukan.
Jumlah yang direkomendasikan oleh YoloV3 adalah 2000*jumlah kelas yang ada.
Maka didapatkan 4000 batch. Kemudian menentukan akurasi dari training model,
yaitu 80%—90%. Untuk steps minimum 4000*80% dan steps maksimum
4000*90% (Redmon et al., 2016).
25
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3. 11 Mengatur max batches, policy, dan steps
Selanjutnya, konfigurasi jumlah kelas pada Yolo Layer dan filtering seperti pada
Gambar 3.12 dengan terdapat dua kelas dan cara menentukan filter pada layer
convolutional: (jumlah kelas+5)*3 yang berarti (2+5)*3 menghasilkan 21 untuk
filter (Redmon et al., 2016).
Gambar 3. 12 Mendefinisikan jumlah kelas Yolo Layer
Setelah konfigurasi jumlah kelas dan filtering, masuk pada tahap mendefinisikan
jumlah kelas dan backup path. Gambar 3.13 mendefinisikan kelas yang akan di-
training dan folder backup untuk menyimpan hasil dari training.
Gambar 3. 13 Mendefiniskan jumlah kelas dan backup path
Gambar 3.14 adalah file konfigurasi terakhir yang diperlukan sebelum memulai
training. File konfigurasi ini dengan file train.txt yang menahan path relatif pada
semua gambar pelatihan. Ini bermaksud untuk melakukan iterasi pada setiap
gambar dengan ekstensi jpeg untuk menjadi data train. Kemudian, melakukan
generate txt file untuk menuliskan setiap path gambar yang telah diiterasi.
26
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3. 14 generate_train.py
Setelah semua konfigurasi telah disiapkan, lakukan training data pada model yang
sudah disiapkan seperti pada Gambar 3.15.
Gambar 3. 15 Perintah untuk menjalankan training
Hasil dari training akan masuk pada folder backup yang sudah dikonfigurasi
sebelumnya dengan menghasilkan file seperti pada Gambar 3.16.
Gambar 3. 16 Hasil training
27
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
4. Diagram Class
Gambar 3. 17 Diagram class
Gambar 3.16 merupakan diagram class yang menggambarkan masing-masing class
berinteraksi dengan satu sama lain. Class yang menjadi pusat adalah class
ResponseImageRoad yang memiliki relasi agregat dengan ResultImage yang juga
memiliki relasi agregat dengan ResultDetection. Class UserInformation memiliki
class turunan, yakni Admin dan User.
28
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
3.2 Realisasi Program Aplikasi
3.2.1 Implementasi User Interface User
Gambar 3. 18 Splash screen aplikasi WATCH OUT!
Splash screen pada aplikasi WATCH OUT! merupakan tampilan awal saat
membuka aplikasi.
Gambar 3. 19 Halaman register
29
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Halaman register akan tampil setelah splash screen. User yang belum memiliki
akun dapat melakukan registrasi atau mendaftar dengan memasukkan data diri
berupa nama, nomor telpon, email, dan password. Jika user sudah memiliki akun,
user dapat memilih opsi Masuk di sini yang terdapat di bagian bawah tombol daftar
agar diarahkan ke halaman login.
Gambar 3. 20 Halaman login
User yang sudah memiliki akun dapat memasukkan email dan password. Jika user
belum memiliki akun, user dapat memilih opsi Daftar di sini yang terdapat di bagian
bawah tombol masuk agar diarahkan ke halaman register.
30
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3. 21 Halaman home
Halaman home nantinya akan menampilkan informasi mengenai citra kerusakan
jalan. Data Masih Kosong... bermaksud belum adanya informasi citra kerusakan
jalan yang masuk.
Gambar 3. 22 Menu
31
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Terdapat tiga menu utama, yakni halaman home, halaman lapor kerusakan jalan,
dan keluar.
Gambar 3. 23 Halaman lapor kerusakan jalan
User dapat capture citra kerusakan jalan dengan memilih tombol Capture Gambar
atau mengambil citra yang sudah ada dari galeri dengan memilih tombol Ambil
Dari Galeri dan mengupload hasil capture tersebut dengan memilih tombol Upload
Gambar yang secara otomatis akan muncul setelah capture citra.
32
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3. 24 Halaman home dengan informasi citra kerusakan jalan
Setelah user mengupload, halaman home akan tampil kembali dengan
menampilkan list hasil upload citra kerusakan jalan.
Gambar 3. 25 Halaman detail informasi citra kerusakan jalan
User dapat melihat detail mengenai informasi citra kerusakan jalan dengan memilih
list yang terdapat pada halaman home.
33
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3. 26 Logout dari user
Saat user ingin logout, akan ada pesan terlebih dahulu sebagai pemberitahuan untuk
logout.
Gambar 3. 27 Halaman home admin
Admin dapat masuk ke halaman home dengan login pada halaman login yang sama
dengan user. Pada halaman home, admin mendapatkan list informasi mengenai
kerusakan citra jalan yang diupload oleh user.
34
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3. 28 Halaman detail informasi citra kerusakan jalan
Admin dapat melihat detail mengenai informasi citra kerusakan jalan dengan
memilih list yang terdapat pada halaman home admin. Admin juga dapat
melakukan tindakan dengan memilih tombol antara Diterima atau Ditolak.
Gambar 3. 29 Logout dari admin
Saat admin ingin logout, akan ada pesan terlebih dahulu sebagai pemberitahuan
untuk logout.
35
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
3.2.2 Implementasi Model Tensorflow
Implementasi model tensorflow bertujuan agar model dapat digunakan dengan
lebih fleksibel oleh web Flask. Impelementasi ini memiliki dua tahap: implementasi
Model YoloV3 menggunakan Tensorflow dan implementasi menyamakan Format
Bobot dan Dimensi Model dari Model Yolov3 menggunakan Tensorflow.
1. Implementasi Model Yolov3 Menggunakan Tensorflow
Layer tersusun dari Input, melakukan Darknet Convolutional Layer, dan melakukan
Darknet Block Layer. Pada Darknet Block layer, terdapat residual layer. Selanjutnya
pada Yolo Convolutional Layer dilakukan penggabungan layer dari layer
sebelumnya dengan menambahkan Darknet Convolutional Layer. Terakhir,
mengembalikan data yang berisi box prediksi dan akurasi.
Gambar 3. 30 Darknet Layer
Gambar 3. 31 Darknet Block Layer
36
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3. 32 YoloV3 Layer
Gambar 3. 33 Darknet Convolutional Layer
37
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
2. Implementasi Menyamakan Format Bobot dan Dimensi Model Dari
Model Yolov3 Menggunakan Tensorflow
Gambar 3. 34 Implementasi menyamakan format bobot dan dimensi
Menyamakan format bobot dan dimensi dilakukan agar nilai bobot dan dimensi dari
model menjadi sesuai sehingga nilai bias yang dihasilkan menjadi kecil. Kemudian
38
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
melakukan normalisasi untuk menormalkan lapisan input dengan memusatkan
kembali dan penskalaan ulang. Hal ini diperlukan untuk meningkatkan kecepatan,
kinerja, dan stabilitas dari model.
39
BAB IV
PEMBAHASAN
4.1 Pengujian
Pengujian adalah suatu tahapan yang dirancang untuk memastikan kualitas dari
program sehingga dapat berjalan dengan semestinya dan memastikan program agar
tidak melakukan hal yang tidak diharapkan.
4.2 Deskripsi Pengujian
Pengujian sistem aplikasi pengolahan citra digital kerusakan jalan dilakukan
melalui pengujian sistem untuk mengetahui sistem dapat digunakan dan berjalan
sesuai dengan semestinya. Teknik pengujian yang digunakan adalah black box
testing. Black box testing adalah salah satu teknik pengujian yang tidak terlalu
memperhatikan struktur internal (source code) dari sistem, namun lebih kepada
menemukan kesalahan pada sistem dalam segi fungsionalitas. Selain itu, dilakukan
pengujian terhadap data menggunakan teknik Hold-Out Testing.
4.3 Prosedur Pengujian
Prosedur dari pengujian sistem dilakukan untuk menjelaskan teknik pengujian yang
digunakan pada sistem aplikasi pengolahan citra digital kerusakan jalan. Pengujian
black box meliputi semua skenario yang terdapat pada aplikasi sedangkan
pengujian data menggunakan teknik Hold-Out Testing.
Tabel 1 Prosedur Pengujian
No Item Uji Detail Pengujian Jenis
Pengujian
1 Halaman Register Mengisi semua form data diri Black Box
2 Halaman Login Mengisi email dan password Black Box
40
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
No Item Uji Detail Pengujian Jenis
Pengujian
3
Halaman Home
List informasi citra kerusakan
jalan
Black Box 4 List kosong
5 Membuka Halaman Detail
6
Halaman Lapor
Kerusakan Jalan
Mengaktifkan GPS
Black Box 7 Capture citra
8 Upload citra
9
Halaman Home Admin
List informasi citra kerusakan
jalan
Black Box 10 Membuka Halaman Detail
11 Memilih tombol Diterima
atau Ditolak
12 Keluar Logout dari akun Black Box
4.4 Data Hasil Pengujian
4.4.1 Unit Testing
Metode pengujian yang dilakukan adalah black box testing untuk memastikan
aplikasi berjalan dengan baik. Tabel 2 adalah hasil pengujian black box testing.
41
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Tabel 2 Hasil Unit Testing
No Detail
Pengujian
Realisasi yang
Diharapkan Hasil Pengujian Kesimpulan
1 Mengisi semua
form data diri
Jika form terisi
semua, akan tampil
Halaman Home.
Jika tidak, akan
tampil peringatan
untuk mengisi form
yang tidak terisi
Jika form terisi
semua, akan tampil
Halaman Home.
Jika tidak, akan
tampil peringatan
untuk mengisi form
yang tidak terisi
Sesuai
2 Mengisi email
dan password
Jika form terisi
semua, akan tampil
Halaman Home.
Jika tidak, akan
tampil peringatan
untuk mengisi form
yang tidak terisi
Jika form terisi
semua, akan tampil
Halaman Home.
Jika tidak, akan
tampil peringatan
untuk mengisi form
yang tidak terisi
Sesuai
3
List informasi
citra kerusakan
jalan
Menampilkan list
informasi citra
kerusakan jalan
berupa citra,
kerusakan jalan,
dan persentase
Menampilkan list
informasi citra
kerusakan jalan
berupa citra,
kerusakan jalan,
dan persentase
Sesuai
4 List kosong Tidak adanya list
Tidak adanya list,
hanya
menampilkan Data
Masih Kosong...
Sesuai
42
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
No Detail
Pengujian
Realisasi yang
Diharapkan Hasil Pengujian Kesimpulan
5
Membuka
Halaman
Detail
Menampilkan
detail informasi
beruapa citra,
kerusakan jalan,
persentase, lokasi,
dan status
Menampilkan
detail informasi
beruapa citra,
kerusakan jalan,
persentase, lokasi,
dan status
Sesuai
6 Mengaktifkan
GPS
Dapat menemukan
current location
Dapat menemukan
current location Sesuai
7 Capture citra
Kamera terbuka
dan dapat
melakukan capture
citra
Kamera terbuka
dan dapat
melakukan capture
citra
Sesuai
8 Upload citra
Citra dapat
diupload dan akan
muncul pada list
informasi yang ada
di halaman home
Citra dapat
diupload dan akan
muncul pada list
informasi yang ada
di halaman home
Sesuai
9
List informasi
citra kerusakan
jalan
Menampilkan list
informasi citra
kerusakan jalan
berupa citra,
kerusakan jalan,
dan persentase
Menampilkan list
informasi citra
kerusakan jalan
berupa citra,
kerusakan jalan,
dan persentase
Sesuai
10
Membuka
Halaman
Detail
Menampilkan
detail informasi
beruapa citra,
Menampilkan
detail informasi
beruapa citra,
Sesuai
43
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
No Detail
Pengujian
Realisasi yang
Diharapkan Hasil Pengujian Kesimpulan
kerusakan jalan,
persentase, lokasi,
status, dan tombol
Diterima & Ditolak
kerusakan jalan,
persentase, lokasi,
status, dan tombol
Diterima & Ditolak
11
Memilih
tombol
Diterima atau
Ditolak
Status akan
berubah sesuai
dengan tombol
yang dipilih
Status akan
berubah sesuai
dengan tombol
yang dipilih
Sesuai
12 Logout dari
akun
Menampilkan alert
dialog dan menuju
halaman login
Menampilkan alert
dialog dan menuju
halaman login
Sesuai
4.4.2 Model Testing
a. Pengujian Data Training
Pengujian data training dilakukan dengan cara melihat proses akhir hasil data
training. Berdasarkan pengujian tersebut, diperoleh rata-rata lossnya 0.19 atau
dibawah 50% sehingga seharusnya gambar sudah dapat terdeteksi dengan baik.
Learning rate yang digunakan adalah 0.001 yang berarti dengan learning rate kecil
sudah dapat menghasilkan data loss yang sangat sedikit sehingga lubang jalan atau
retak jalan terdeteksi dengan baik.
Gambar 4. 1 Hasil pengujian data training
b. Pengujian Data Testing
Pengujian model dilakukan dengan menggunakan teknik Hold-Out Testing. Hold-
Out Testing merupakan pengambilan data yang sebelumnya tidak pernah diolah
44
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
menggunakan data training atau dalam proses pembuatan model. Jumlah data yang
diambil untuk melakukan teknik Hold-Out Testing adalah 10 data berupa gambar-
gambar lubang jalan maupun retak jalan sehingga total data testing yang diuji pada
sistem adalah 20. Threshold atau batasan yang digunakan pada pengujian data
tersebut adalah 0.5. Tabel 3 menyatakan hasil pengujian data lubang jalan yang
tidak pernah digunakan dalam proses pembuatan model.
Tabel 3 Hasil Pengujian Pada Kelas Lubang Jalan
No Kelas Gambar Kelas Hasil Prediksi Confidence Rate
1. Lubang Jalan Lubang Jalan 81.05
2. Lubang Jalan Lubang Jalan 99.56
3. Lubang Jalan Lubang Jalan 97.62
4. Lubang Jalan Lubang Jalan 99.88
5. Lubang Jalan Lubang Jalan 92.65
6. Lubang Jalan Lubang Jalan 99.68
7. Lubang Jalan Lubang Jalan 99.98
8. Lubang Jalan Lubang Jalan 99.87
9. Lubang Jalan Lubang Jalan 99.62
10. Lubang Jalan Lubang Jalan 99.58
Berdasarkan Tabel 3, maka dapat disimpulkan bahwa model sudah dapat
memprediksi lubang jalan dengan baik. Confidence rate yang dihasilkan sudah
bagus atau diatas 50%. Selain itu, tidak ada gambar-gambar yang tidak terdeteksi
pada hasil pengujian lubang jalan. Pengujian lain dilakukan pada gambar-gambar
yang retak untuk memastikan bahwa retak jalan sudah terdeteksi. Jumlah data
45
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
pengujian retak jalan berjumlah 10 gambar. Tabel 4 merupakan hasil pengujian
gambar retak jalan.
Tabel 4 Hasil Pengujian Pada Kelas Retak Jalan
No Kelas Gambar Kelas Hasil Prediksi Confidence Rate
1. Retak Jalan Tidak Terdeteksi -
2. Retak Jalan Tidak Terdeteksi -
3. Retak Jalan Tidak Terdeteksi -
4. Retak Jalan Tidak Terdeteksi -
5. Retak Jalan Retak Jalan 64.55
6. Retak Jalan Retak Jalan 81.0
7. Retak Jalan Tidak Terdeteksi -
8. Retak Jalan Retak Jalan 68.76
9. Retak Jalan Tidak Terdeteksi -
10. Retak Jalan Retak Jalan 97.3
Pengujian yang dilakukan pada Tabel 4 menunjukkan bahwa retak jalan belum
dapat terdeteksi dengan baik. Persentase pengujian data retak jalan menunjukkan
bahwa dari 10 data yang terdeteksi hanya 4 data. Hal ini disebabkan karena pada
saat proses labeling data, jumlah retak jalan lebih sedikit dibandingkan jumlah
lubang jalan. Setiap gambar rata-rata memiliki jumlah label lubang jalan yang lebih
banyak daripada jumlah label retak jalan.
46
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
4.5 Analisis Data / Evaluasi
4.5.1 Evaluasi Model
Analisis data atau evaluasi dilakukan guna mengevaluasi hasil pengujian model.
Analisis dilakukan dengan cara melihat hasil dari 200 data training yang
mendapatkan loss sebesar 0.19 dan learning rate yang diperoleh sebesar 0.001. IoU
(Intersection over Union) pada hasil deteksi adalah 0.75 yang berarti hasil boundary
prediksi menunjukkan sebagai prediksi True Positive (IoU>50%). (Redmon et al.,
2016)
Gambar 4. 2 Hasil pengujian data training
Selanjutnya analisis dilakukan dengan membandingkan hasil dari deteksi lubang
jalan dan retak jalan. Hasil pengujian diperoleh dari tabel 3 dan 4 dengan data
berjumlah 20 yang masing-masing terbagi menjadi 10 data lubang jalan dan 10 data
retak jalan. Diperoleh hasil deteksi dengan lubang jalan memiliki tingkat
keberhasilan yang lebih tinggi dibandingkan dengan retak jalan. Sebagai contoh
pada Gambar 4.3 dan 4.4.
Gambar 4. 3 Contoh retak jalan yang tidak terdeteksi
47
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 4. 4 Contoh retak jalan yang terdeteksi
Saat pengujian Gambar 4.3 menunjukkan bahwa retak jalan tidak dapat terdeteksi
padahal di citra tersebut terdapat retak jalan, sedangkan Gambar 4.4 menunjukkan
bahwa retak jalan dapat terdeteksi dengan confidence rate mencapai 97.30%. Ini
disebabkan karena pada saat labeling, jumlah label retak jalan lebih sedikit daripada
label lubang jalan. Setiap citra rata-rata memiliki jumlah label lubang jalan yang
lebih banyak daripada jumlah label retak jalan.
4.5.2 Evaluasi Aplikasi
Evaluasi dilakukan setelah mengetahui hasil pengujian aplikasi, diperoleh dari hasil
pengujian pada tabel 2. Rumus yang digunakan untuk perhitungan keberhasilan
sebagai berikut.
𝑃𝑒𝑟𝑠𝑒𝑛𝑡𝑎𝑠𝑒 𝑘𝑒𝑏𝑒𝑟ℎ𝑎𝑠𝑖𝑙𝑎𝑛 = 𝐽𝑢𝑚𝑙𝑎ℎ 𝑘𝑒𝑏𝑒𝑟ℎ𝑎𝑠𝑖𝑙𝑎𝑛 𝑠𝑘𝑒𝑛𝑎𝑟𝑖𝑜
𝐽𝑢𝑚𝑙𝑎ℎ 𝑠𝑒𝑙𝑢𝑟𝑢ℎ 𝑠𝑘𝑒𝑛𝑎𝑟𝑖𝑜 𝑥 100%
Skenario unit testing berjumlah 12 skenario dengan jumlah keberhasilan 12
skenario. Hasil persentase keberhasilan skenario ini sebagai berikut.
12
12 𝑥 100% = 100%
Hasil pengujian mendapatkan persentase keberhasilan 100%. Persentase ini
menunjukkan bahwa fungsional aplikasi dapat berjalan baik dengan informasi yang
ditampilkan berdasarkan hasil deteksi capture.
48
BAB V
PENUTUP
5.1 Kesimpulan
Berdasarkan tujuan dari penelitian ini, membangun aplikasi deteksi kerusakan jalan
menggunakan algoritma YOLO telah berhasil dibuat. Pada penelitian ini juga telah
dilakukan pengujian berupa pengujian model dan pengujian aplikasi, dapat
disimpulkan sebagai berikut.
a. Aplikasi pengolahan citra digital kerusakan jalan memiliki model dengan
tingkat akurasi 100% untuk mendeteksi lubang jalan sedangkan dengan tingkat
akurasi 40% untuk mendeteksi retak jalan. Hal ini menandakan bahwa model
lubang jalan sudah berjalan dengan baik, tetapi model retak jalan masih belum
berjalan dengan baik. Ini disebabkan karena pada saat proses labeling data,
jumlah retak jalan lebih sedikit dibandingkan jumlah lubang jalan. Setiap
gambar rata-rata memiliki jumlah label lubang jalan yang lebih banyak
daripada jumlah label retak jalan.
b. Penelitian ini menghasilkan aplikasi pengolahan citra digital kerusakan jalan
yang dikembangkan berbasis Android sebagai bagian user interface untuk user
dan admin, pembuatan model menggunakan bahasa pemrograman Python
dengan arsitektur Model YOLOV3 dan framework Darknet-53, basis data
menggunakan Firebase Realtime Database, dan web service dengan
framework Flask untuk bagian back-end.
5.2 Saran
Berdasarkan dari pengujian model dan aplikasi, saran untuk pengembangan
aplikasi selanjutnya sebagai berikut.
a. Data yang digunakan pada penelitian ini masih terbilang sedikit. Maka,
penambahan data yang banyak, terutama retak jalan, akan mendapatkan hasil
yang lebih akurat sehingga objek dapat dikenali dengan baik.
b. Objek yang terdeteksi terkadang bukan bagian dari objek yang diinginkan. Ini
disebabkan karena masih menggunakan boundary box sebagai hasil prediksi.
49
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Dengan menggunakan metode lain dalam membuat label yang hanya memilih
bagian utama dari objek akan mempermudah dalam mengenali suatu objek
dalam hasil prediksi.
50
DAFTAR PUSTAKA
Afrianto, I., & Atin, S. (2017). Rancang bangun model agregator jurnal online.
Seminar Nasional Aplikasi Teknologi Informasi (SNATi), 9–16.
Angreni, I. A., Adisasmita, S. A., Ramli, M. I., & Hamid, S. (2019). Pengaruh
Nilai K Pada Metode K-Nearest Neighbor (Knn) Terhadap Tingkat Akurasi
Identifikasi Kerusakan Jalan. Rekayasa Sipil, 7(2), 63.
https://doi.org/10.22441/jrs.2018.v07.i2.01
Ariansyah, Fajriyah, & Prasetyo, F. S. (2017). Rancang Bangun Sistem Informasi
Pendataan Alumni Pada Stie Prabumulih Berbasis Website Dengan
Menggunakan Bootstrap. Jurnal Informatika, 17(1), 1–10.
https://doi.org/10.30873/ji.v17i1.972
Irsyad, R. (2018). Penggunaan Python Web Framework Flask Untuk Pemula.
https://doi.org/10.31219/osf.io/t7u5r
Juansyah, A. (2015). Pembangunan Aplikasi Child Tracker Berbasis Assisted –
Global Positioning System ( A-GPS ) Dengan Platform Android. Jurnal
Ilmiah Komputer Dan Informatika (KOMPUTA), 1(1), 1–8.
elib.unikom.ac.id/download.php?id=300375
Jupiyandi, S., Saniputra, F. R., Pratama, Y., Dharmawan, M. R., & Cholissodin, I.
(2019). Pengembangan Deteksi Citra Mobil Untuk Mengetahui Jumlah
Tempat Parkir Menggunakan Cuda Dan Modified Yolo Development of Car
Image Detection To Find Out the Number of Parking Space Using Cuda and
Modified Yolo. Jurnal Teknologi Informasi Dan Ilmu Komputer (JTIIK),
6(4), 413–419. https://doi.org/10.25126/jtiik.201961275
Hiroya Maeda, Yoshihide Sekimoto, Toshikazu Seto (2016). Lightweight road
manager: smartphone-based automatic determination of road damage status
by deep neural network. MobiGIS '16: Proceedings of the 5th ACM
SIGSPATIAL International Workshop on Mobile Geographic Information
Systems, 37–45. https://doi.org/10.1145/3004725.3004729
Maiyana, E. (2018). Pemanfaatan Android Dalam Perancangan Aplikasi
51
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Kumpulan Doa. Jurnal Sains Dan Informatika, 4(1), 54–65.
https://doi.org/10.22216/jsi.v4i1.3409
Marifatul Azizah, L., Fadillah Umayah, S., & Fajar, F. (2018). Deteksi Kecacatan
Permukaan Buah Manggis Menggunakan Metode Deep Learning dengan
Konvolusi Multilayer. Semesta Teknika, 21(2), 230–236.
https://doi.org/10.18196/st.212229
Paramartha, A. A. G. Y., Suryaningsih, G. K., & Aryanto, K. Y. E. (2017).
Implementasi Web Service Pada Sistem Pengindeksan Dan Pencarian
Dokumen Tugas Akhir, Skripsi, Dan Praktik Kerja Lapangan. JST (Jurnal
Sains Dan Teknologi), 5(2), 818. https://doi.org/10.23887/jst-
undiksha.v5i2.8813
Redmon, J., Divvala, S., Girshick, R., & Farhadi, A. (2016). (YOLO) You Only
Look Once. Cvpr. https://doi.org/10.1109/CVPR.2016.91
Santoso, A., & Ariyanto, G. (2018). Implementasi Deep Learning Berbasis Keras
Untuk Pengenalan Wajah. Emitor: Jurnal Teknik Elektro, 18(01), 15–21.
https://doi.org/10.23917/emitor.v18i01.6235
Sudiartha, I. K. G., Indrayana, I. N. E., & Suasnawa, I. W. (2018). Membangun
Struktur Realtime Database Firebase Untuk Aplikasi Monitoring Pergerakan
Group Wisatawan. Jurnal Ilmu Komputer, 11(2), 96.
https://doi.org/10.24843/jik.2018.v11.i02.p04
Sutjiadi, R., & Pattiasina, T. J. (2020). Deteksi Objek menggunakan Dashboard
Camera untuk Sistem Peringatan Pencegah Kecelakaan pada Mobil. Jurnal
Teknologi Informasi Dan Ilmu Komputer.
https://doi.org/10.25126/jtiik.2020712520
Syahrudin, A. N., & Kurniawan, T. (2018). Input Dan Output Pada Bahasa. Jurnal
Dasar Pemrograman Python STMIK, 1–7.
Umam, K., & Negara, B. S. (2016). Deteksi Obyek Manusia Pada Basis Data
Video Menggunakan Metode Background Subtraction Dan Operasi
Morfologi. Jurnal CoreIT: Jurnal Hasil Penelitian Ilmu Komputer Dan
Teknologi Informasi, 2(2), 31. https://doi.org/10.24014/coreit.v2i2.2391
52
RIWAYAT HIDUP PENULIS
Muhammad Rafly Tharhan
Lahir di Bogor, 7 Mei 1998. Lulus dari SDN
Bojonggede 01 pada tahun 2010, SMPN 1 Bojonggede
pada tahun 2013, dan SMAN 1 Tajurhalang pada tahun
2016. Saat ini sedang menempuh pendidikan Diploma
IV Program Studi Teknik Informatika Jurusan Teknik
Informatika dan Komputer di Politeknik Negeri Jakarta.