implementasi sistem cerdas pada otomatisasi pendeteksian …

92
IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN JENIS KENDARAAN DI JALAN RAYA TUGAS AKHIR OLEH: DIMAS DWI BUDIARJO G.131.15.0065 PROGRAM STUDI S1 - SISTEM INFORMASI JURUSAN TEKNOLOGI INFORMASI FAKULTAS TEKNOLOGI INFORMASI DAN KOMUNIKASI UNIVERSITAS SEMARANG 2020

Upload: others

Post on 29-Oct-2021

15 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

11

IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI

PENDETEKSIAN JENIS KENDARAAN DI JALAN RAYA

TUGAS AKHIR

OLEH:

DIMAS DWI BUDIARJO

G.131.15.0065

PROGRAM STUDI S1 - SISTEM INFORMASI

JURUSAN TEKNOLOGI INFORMASI

FAKULTAS TEKNOLOGI INFORMASI DAN KOMUNIKASI

UNIVERSITAS SEMARANG

2020

Page 2: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

i

HALAMAN JUDUL

Page 3: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

ii

PERNYATAAN PENULIS TUGAS AKHIR

DENGAN JUDUL

IMPLEMENTATION OF AN INTELLIGENT SYSTEM FOR VEHICLE TYPE

DETECTION AUTOMATION ON THE ROAD

Dengan ini saya :

NAMA : Dimas Dwi Budiarjo

NIM : G.131.15.0065

PROGRAM STUDI : S1 Sistem Informasi

“Saya menyatakan dan bertanggungjawab dengan sebenarnya bahwa Tugas Akhir

(TA) ini adalah hasil karya saya sendiri kecuali cuplikan dan ringkasan yang

masing-masing telah saya jelaskan sumbernya. Jika pada waktu selanjutnya ada

pihak lain yang mengklaim bahwa Tugas Akhir (TA) ini sebagai karyanya, yang

disertai dengan bukti-bukti yang cukup, maka saya bersedia un tuk dibatalkan

gelar Sarjana Komputer saya beserta segala hak dan kewajiban yang melekat pada

gelar tersebut”.

Semarang, 12 Februari 2020

Penulis,

Dimas Dwi Budiarjo

Page 4: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

iii

NAMA : Dimas Dwi Budiarjo

NIM : G.131.15.0065

PENGESAHAN TUGAS AKHIR

DENGAN JUDUL

IMPLEMENTATION OF AN INTELLIGENT SYSTEM FOR VEHICLE TYPE

DETECTION AUTOMATION ON THE ROAD

OLEH

DISUSUN DALAM RANGKA MEMENUHI SYARAT GUNA

MEMPEROLEH GELAR SARJANA KOMPUTER

PROGRAM STUDI S1 – SISTEM INFORMASI

JURUSAN TEKNOLOGI INFORMASI

FAKULTAS TEKNOLOGI INFORMASI DAN KOMUNIKASI

UNIVERSITAS SEMARANG

TELAH DIPERIKSA DAN DISETUJUI

SEMARANG, 12 Februari 2020

KETUA PROGRAM STUDI

S1-SISTEM INFORMASI

Prind Triajeng P., S.Kom., M.Kom

NIS. 06557003102110

PEMBIMBING TUGAS AKHIR

Aria Hendrawan, ST, M.Kom

NIS. 06557003102159

DEKAN

Susanto, S.Kom., M.Kom

NIS. 06557060687098

Page 5: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

iv

NAMA : Dimas Dwi Budiarjo

NIM : G.131.15.0065

PENGESAHAN UJIAN TUGAS AKHIR

DENGAN JUDUL

IMPLEMENTATION OF AN INTELLIGENT SYSTEM FOR VEHICLE TYPE

DETECTION AUTOMATION ON THE ROAD

OLEH

Telah diujikan dan dipertahankan dihadapan Dewan Penguji pada Sidang Tugas

Akhir (TA)

Hari Rabu tanggal 19 Februari 2020

Menurut pandangan kami, Tugas Akhir (TA) ini memadai dari segi kualitas

maupun kuantitas untuk tujuan penganugrahan gelar Sarjana Komputer (S.Kom)

Ketua Tim Penguji

Nur Wakhidah, S.Kom, M.Cs

NIS. 06557003102100

Tanggal

………..

Tanda Tangan

………..

Penguji Pendamping

1. Aria Hendrawan, ST, M.Kom

NIS. 06557003102159

2. Prind Triajeng P, S.Kom, M.Kom

NIS. 06557003102110

Page 6: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

v

ABSTRACT

Indonesia is a country that has a high population, especially in big cities. The

road always crowded by various types of vehicle. Sometimes growth of vehicle not

matched by road construction. During peak hours, too many vehicles can cause

traffic jams on the road. Therefore a widening of the road is needed to

accommodate the number of vehicles that pass each day. In order for road

widening to be exact at locations that frequently occur in traffic jams, data on the

number and classification of vehicles passing is required. Therefore a system that

can calculate and recognize the type of vehicle that passes is needed.

The development of various studies on artificial intelligence especially about

object detection can help to classify and calculate the type of vehicle. In this study

the author used the YOLO object detection system that uses CNN method to

classify and count vehicles that pass automatically.

The author uses a dataset of 600 images with 4 classes which is car, truck, bus

and motorbikes that pass through the road. The results showed the YOLO object

detection system can recognize objects consistently with an accuracy more than

80% on cctv video that installed on the road.

Keywords: Artificial Intelligence, Object Detection, YOLO, CNN

Page 7: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

vi

ABSTRAK

Indonesia adalah negara yang memiliki kepadatan penduduk yang tinggi, terutama

di kota – kota besar jalan raya selalu ramai dilewati oleh berbagai macam jenis

kendaraan. Pertumbuhan kendaraan yang tinggi di kota besar terkadang tidak

diimbangi dengan pembangunan jalan yang memadai. Pada saat jam sibuk,

kendaraan yang terlalu banyak dapat menyebabkan kemacetan di jalan. Oleh

karena itu dibutuhkan pelebaran jalan untuk menampung jumlah kendaraan yang

lewat setiap harinya. Agar pelebaran jalan tepat pada lokasi yang sering terjadi

kemacetan, diperlukan data jumlah dan klasifikasi kendaraan yang lewat. Maka

dari itu diperlukan sebuah sistem yang dapat menghitung dan mengenali jenis

kendaraan yang lewat.

Berkembangnya berbagai penelitian tentang kecerdasan buatan salah satunya

tentang object detection, dapat membantu untuk mengklasifikasi dan menghitung

jenis kendaraan. Dalam penelitian ini penulis menggunakan sistem deteksi objek

YOLO yang menggunakan metode CNN untuk mengklasifikasi dan menghitung

kendaraan yang lewat secara otomatis.

Penulis menggunakan dataset sebanyak 600 gambar dengan 4 kelas objek yaitu

mobil, truk, bus dan sepeda motor yang melewati jalan raya. Hasil penelitian

menunjukan sistem deteksi objek YOLO dapat mengenali objek secara konsisten

dengan akurasi lebih dari 80% pada sebuah video dari cctv yang dipasang di jalan

raya.

Kata kunci: Kecerdasan Buatan, Pendeteksi Objek, YOLO, CNN

Page 8: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

vii

KATA PENGANTAR

Puji syukur penulis panjatkan kepada Tuhan Yang Maha Esa yang telah

memberikan rahmat dan karunianya, sehingga penulis dapat menyelesaikan Tugas

Akhir dengan judul “IMPLEMENTATION OF AN INTELLIGENT SYSTEM

FOR VEHICLE TYPE DETECTION AUTOMATION ON THE ROAD” sebagai

syarat untuk menyelesaiakan Program Sarjana (S1) Sistem Informasi Universitas

Semarang.

Selama penulisan skripsi ini, penulis banyak menerima bantuan dan

dukungan sehingga dapat menyelesaikan skripsi ini. Oleh karena itu, penulis

mengucapkan terima kasih sebesar-besarnya kepada:

1. Bapak Susanto, S.Kom., M.Kom selaku Dekan Fakultas Teknologi

Informasi dan Komunikasi Universitas Semarang.

2. Bapak Aria Hendrawan, ST, M.Kom selaku Dosen pembimbing yang telah

meluangkan waktu untuk memberikan bimbingan selama penyusunan

skripsi.

3. Ibu Dr. Titin Winarti, S.Kom, MM selaku Dosen wali yang telah

memberikan dukungan pengarahan selama masa perkuliahan.

4. Seluruh jajaran Dosen dan Staf Fakultas Teknologi Informasi dan

Komunikasi Universitas Semarang.

5. Seluruh teman-teman dari PT. Java Valley Technology Semarang yang

telah memberikan dukungan selama proses pembuatan skripsi.

6. Kedua Orang Tua yang telah memberikan doa dan dukungan selama

proses pembuatan skripsi.

7. Tauchita, yang telah membantu dan memberikan semangat dalam

penyelesaian skripsi ini.

Penulis menyadari bahwa masih banyak kekurangan dari laporan ini, baik

dari materi maupun teknik penyajiannya, mengingat kurangnya pengetahuan dan

pengalaman penulis. Semoga skripsi ini dapat memberikan manfaat untuk

pembaca dan semua pihak khususnya dalam bidang kecerdasan buatan.

Semarang, 12 Februari 2020

Penulis

Page 9: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

viii

DAFTAR ISI

HALAMAN JUDUL………………………………………………………………i

PERNYATAAN PENULIS TUGAS AKHIR ........................................................ ii

PENGESAHAN TUGAS AKHIR ......................................................................... iii

PENGESAHAN UJIAN TUGAS AKHIR ............................................................ iv

ABSTRACT .............................................................................................................. v

ABSTRAK ............................................................................................................. vi

KATA PENGANTAR .......................................................................................... vii

DAFTAR ISI ........................................................................................................ viii

DAFTAR GAMBAR ............................................................................................. xi

DAFTAR TABEL ................................................................................................ xiii

BAB I PENDAHULUAN ....................................................................................... 1

1.1 Latar Belakang ......................................................................................... 1

1.2 Perumusan Masalah .................................................................................. 3

1.3 Batasan Masalah ....................................................................................... 3

1.4 Tujuan Tugas Akhir .................................................................................. 3

1.5 Manfaat Tugas Akhir ................................................................................ 4

1.6 Metodologi Penelitian .............................................................................. 4

1.7 Sistematika Penulisan ............................................................................... 6

BAB II TINJAUAN PUSTAKA ............................................................................. 8

2.1 Penelitian Terdahulu ................................................................................. 8

2.2 Landasan Teori ....................................................................................... 13

2.2.1 Kecerdasan Buatan (Artificial Intelligence) .................................... 13

2.2.2 CNN (Convolutional Neural Network) ........................................... 14

2.2.3 YOLO (You Only Look Once)......................................................... 17

2.2.4 Python ............................................................................................. 19

Page 10: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

ix

2.2.5 Computer Vision ............................................................................. 19

2.2.6 OpenCV .......................................................................................... 19

2.2.7 LabelImg ......................................................................................... 20

2.2.8 CUDA ............................................................................................. 21

2.2.9 cuDNN ............................................................................................ 21

2.2.10 Flowchart ........................................................................................ 22

2.2.11 Implementasi ................................................................................... 23

2.2.12 Pengujian ......................................................................................... 24

2.2.13 Black Box testing ............................................................................. 24

2.2.14 Pascal VOC (Visual Object Classes) .............................................. 24

2.2.15 Epoch............................................................................................... 26

2.2.16 Batch ............................................................................................... 27

2.2.17 Iterations ......................................................................................... 27

BAB III ANALISA DAN PERANCANGAN SISTEM ....................................... 28

3.1 Analisa Sistem ........................................................................................ 28

3.1.1 Analisa Kebutuhan Software .......................................................... 28

3.1.2 Analisa Kebutuhan Hardware......................................................... 28

3.1.3 Analisa Dataset ............................................................................... 29

3.2 Perancangan Sistem ................................................................................ 30

3.2.1 Flowchart ........................................................................................ 30

3.2.2 Antarmuka (User Interface) ............................................................ 33

BAB IV IMPLEMENTASI SISTEM ................................................................... 34

4.1 Instalasi Software yang dibutuhkan ........................................................ 34

4.1.1 Python 3.7 ....................................................................................... 34

4.1.2 Tensorflow 1.15.0 ........................................................................... 34

Page 11: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

x

4.1.3 OpenCV .......................................................................................... 35

4.1.4 Cython ............................................................................................. 36

4.1.5 Pillow .............................................................................................. 36

4.1.6 Windows 10 SDK ........................................................................... 37

4.1.7 CUDA Toolkit 10.0 ......................................................................... 37

4.1.8 cuDNN ............................................................................................ 41

4.1.9 YOLO .............................................................................................. 42

4.1.10 labelImg........................................................................................... 43

4.2 Training Data .......................................................................................... 44

4.2.1 Pelabelan Gambar (Image Annotation) ........................................... 44

4.2.2 Proses Training ............................................................................... 49

4.3 Tampilan Antarmuka .............................................................................. 56

4.4 Menjalankan Program ............................................................................ 57

4.5 Pegujian Program ................................................................................... 61

4.6 Hasil Pendeteksian ................................................................................. 63

BAB V PENUTUP ................................................................................................ 64

5.1 Kesimpulan ............................................................................................. 64

5.2 Saran ....................................................................................................... 64

DAFTAR PUSTAKA ........................................................................................... 66

LAMPIRAN .......................................................................................................... 69

Page 12: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

xi

DAFTAR GAMBAR

Gambar 2.1 Proses Convolutional Layer .............................................................. 16

Gambar 2.2 Operasi Konvolusi ............................................................................. 16

Gambar 2.3 Max Pooling ...................................................................................... 17

Gambar 2.4 Pendekatan YOLO untuk memprediksi objek .................................. 18

Gambar 2.5 LabelImg ........................................................................................... 21

Gambar 2.6 Format Pascal VOC ........................................................................... 25

Gambar 2.7 Epoch ................................................................................................. 27

Gambar 3.1 Contoh dataset untuk training ........................................................... 30

Gambar 3.2 Flowchart alur program ..................................................................... 31

Gambar 3.3 Flowchart perhitungan hasil klasifikasi objek ................................... 32

Gambar 3.4 Desain antarmuka dengan software PAGE ....................................... 33

Gambar 4.1 Halaman Website Python .................................................................. 34

Gambar 4.2 Instalasi tensorflow menggunakan pip .............................................. 35

Gambar 4.3 Instalasi OpenCV menggunakan pip ................................................. 35

Gambar 4.4 Instalasi cython menggunakan pip .................................................... 36

Gambar 4.5 Instalasi pillow menggunakan pip ..................................................... 36

Gambar 4.6 Instalasi komponen windows 10 SDK .............................................. 37

Gambar 4.7 CUDA License agreement ................................................................ 38

Gambar 4.8 CUDA Installation Option ................................................................ 39

Gambar 4.9 Pemilihan komponen CUDA ............................................................ 39

Gambar 4.10 CUDA Installation location ............................................................. 40

Gambar 4.11 Instalasi CUDA selesai.................................................................... 41

Gambar 4.12 Instalasi cuDNN .............................................................................. 42

Gambar 4.13 Instalasi YOLO menggunakan Darkflow ........................................ 43

Gambar 4.14 Antarmuka labelImg ........................................................................ 44

Gambar 4.15 Pelabelan gambar (Image Annotation) ............................................ 45

Gambar 4.16 Grid 3 x 3......................................................................................... 52

Gambar 4.17 Class Probabilities ........................................................................... 52

Gambar 4.18 Hasil Prediksi .................................................................................. 53

Page 13: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

xii

Gambar 4.19 Komponen Bounding Box ............................................................... 53

Gambar 4.20 Proses Training ................................................................................ 55

Gambar 4.21 Weights dari hasil proses training .................................................. 55

Gambar 4.22 Desain Antarmuka Program ............................................................ 56

Gambar 4.23 Memilih sumber video untuk klasifikasi ......................................... 58

Gambar 4.24 Garis untuk membentuk area perhitungan ...................................... 59

Gambar 4.25 Area Perhitungan ............................................................................. 59

Gambar 4.26 Hasil Pendeteksian .......................................................................... 60

Gambar 4.27 Bounding Box ................................................................................. 61

Page 14: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

xiii

DAFTAR TABEL

Tabel 2.1 Penelitian Terdahulu ............................................................................... 8

Tabel 2.2 Simbol Flowchart .................................................................................. 22

Tabel 2.3 Key PascalVOC .................................................................................... 25

Tabel 3.1 Nama Kelas ........................................................................................... 29

Tabel 4.1 Proses Konvolusi .................................................................................. 51

Tabel 4.2 Parameter Training ................................................................................ 54

Tabel 4.3 Fungsi Komponen ................................................................................. 56

Tabel 4.4 Pengujian Black Box ............................................................................. 61

Tabel 4.5 Hasil Pendeteksian ................................................................................ 63

Page 15: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Di Indonesia terutama di kota-kota besar tingkat pertumbuhan kendaraan

sangat tinggi, hal ini disebabkan karena masyarakat lebih memilih

menggunakan kendaraan pribadi dari pada kendaraan umum. Tetapi tingkat

pertumbuhan kendaraan yang tinggi tidak diimbangi dengan pembangunan

jalan yang memadai, sehingga kendaraan yang terlalu banyak dan jalan yang

masih belum memadai menyebabkan kemacetan yang merugikan masyarakat.

Oleh karena itu dibutuhkan pembangunan atau pelebaran jalan agar dapat

mengurangi kemacetan yang terjadi.

Pembangunan atau pelebaran jalan raya untuk mengurangi kemacetan

memerlukan rencana yang matang dan harus sesuai dengan kebutuhan. Untuk

mengetahui lokasi titik kemacetan dibutuhkan data jumlah kendaraan yang

melewati lokasi tersebut. Semakin banyak kendaraan yang lewat berarti

pembangunan atau pelebaran jalan diperlukan di lokasi tersebut untuk

mengurangi kemacetan. Di setiap jalan raya terdapat berbagai jenis kendaraan

yang lewat seperti mobil, truk, bus dan sepeda motor. Data setiap jenis

kendaraan yang lewat dapat digunakan untuk pertimbangan rencana

pembangunan atau pelebaran jalan. Untuk menghitung jumlah kendaraan yang

lewat setiap hari secara otomatis dapat menggunakan aplikasi dengan

menerapkan sistem cerdas.

Seiring berkembangnya penelitian tentang kecerdasan buatan salah

satunya tentang object detection, dapat membantu mengenali objek di dalam

sebuah gambar. Object detection merupakan salah satu bidang dalam

computer vision. Computer vision adalah ilmu yang mempelajari tentang

bagaimana komputer melihat dan menganalisa suatu objek yang ada didalam

sebuah gambar.

Page 16: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

2

Object detection (pendeteksian objek) berguna untuk mendeteksi atau

mengenali objek dalam sebuah gambar berdasarkan dari bentuk, warna atau

dari dataset yang dibuat. Ada berbagai macam cara untuk menerapkan aplikasi

object detection, diantaranya adalah menggunakan metode CNN

(Convolutional Neural Network) dan sistem pendeteksi YOLO (You Only

Look Once). Dalam penelitian yang dilakukan Joseph Redmon dan Ali

Farhadi sistem deteksi YOLO terbukti lebih cepat mengenali sebuah objek

didalam gambar sehingga sangat cocok jika diterapkan untuk real-time object

detection pada video (Redmon & Farhadi, 2016).

Dalam real-time object detection kecepatan pendeteksian objek sangat

penting karena berbeda dengan sebuah gambar, dalam sebuah video dapat

mengolah lebih dari 24 frame per detik atau 24 frame per second (FPS). Jika

proses pendeteksian objek terlalu lama maka video yang dihasilkan tidak akan

baik, akan terjadi delay setiap frame sehingga video menjadi patah-patah.

Dengan menerapkan object detection menggunakan YOLO ke sebuah

aplikasi dapat membantu mengklasifikasi setiap kendaraan yang lewat dijalan

raya secara real-time melalui rekaman video dari CCTV. Kendaraan yang

lewat akan dihitung secara otomatis berdasarkan hasil klasifikasi dan tingkat

akurasinya.

Berdasarkan uraian diatas penerapan sistem cerdas yaitu object

detection dengan menggunakan YOLO dapat menjadi solusi untuk

mengklasifikasi dan menghitung setiap kendaraan yang lewat dijalan raya

secara real-time setiap harinya. Data perhitungan dan klasifikasi kendaraan

yang didapat bisa digunakan untuk pertimbangan menentukan pembangunan

atau pelebaran jalan raya. Oleh karena itu penulis membuat tugas akhir dengan

judul “IMPLEMENTATION OF AN INTELLIGENT SYSTEM FOR

VEHICLE TYPE DETECTION AUTOMATION ON THE ROAD”.

Dengan sistem cerdas yang dibuat diharapkan dapat membantu

mengumpulkan data yang diperlukan dan berguna bagi pihak yang

Page 17: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

3

membutuhkannya, terutama untuk data jumlah dan klasifikasi setiap

kendaraan.

1.2 Perumusan Masalah

Berdasarkan uraian diatas, dapat dirumuskan permasalahannya yaitu

bagaimana menerapkan sistem cerdas khususnya object detection untuk

mengklasifikasi jenis dan menghitung jumlah kendaraan yang lewat setiap

hari secara otomatis.

1.3 Batasan Masalah

Dalam pengembangan sistem cerdas untuk perhitungan dan klasifikasi

kendaraan penulis membuat batasan masalah agar tujuan yang dari sistem

yang dibuat dapat tercapai. Adapun batasan masalahnya adalah sebagai

berikut:

1. Penulis menggunakan bahasa pemrograman python 3.7 didukung

dengan GUI (Graphical User Interface) dari library tkinter.

2. Masalah yang dibahas adalah penerapan object detection YOLO untuk

perhitungan dan klasifikasi kendaraan.

3. Training dataset dilakukan secara manual diluar sistem yang dibuat.

4. Sistem yang dibuat berjalan di Sistem Operasi Windows 10.

1.4 Tujuan Tugas Akhir

Tujuan dari Tugas Akhir (TA) ini adalah dapat menghasilkan sebuah

sistem cerdas yang dapat mengenali dan menghitung jenis kendaraan yang lewat

setiap hari secara otomatis.

Page 18: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

4

1.5 Manfaat Tugas Akhir

Manfaat yang diperoleh dari Tugas Akhir (TA) ini antara lain:

1. Bagi Penulis

Dapat memahami cara kerja sistem cerdas khususnya object detection

secara mendalam dan mampu menerapkan sistem cerdas ke aplikasi desktop

yang dibuat dengan bahasa pemrograman python.

2. Bagi Pengguna

Sistem cerdas yang dibangun dapat membantu pengguna untuk

mengumpulkan data jenis kendaraan yang melewati jalan raya setiap harinya

sehingga dapat digunakan untuk pertimbangan rencana pembangunan atau

pelebaran di jalan raya.

3. Bagi Akademik

Dapat menambah pembendaharaan literatur pada perpustakaan Universitas

Semarang dan sebagai tolak ukur untuk menghasilkan sarjana yang dapat

melakukan pengembangan sistem cerdas object detection dengan

menggunakan YOLO dan bahasa pemrograman python.

1.6 Metodologi Penelitian

Dalam melaksanakan Tugas Akhir (TA) ini penulis menggunakan

metode berikut agar mudah untuk mengembangkan program:

1. Pengumpulan Data

Dalam penelitian ini penulis menggunakan data beberapa video

yang berasal dari rekaman CCTV di jalan. Dari data tersebut kemudian

dilakukan extraksi menjadi data gambar untuk membuat dataset yang

akan digunakan untuk proses training. Selain dari data beberapa video

CCTV penulis juga menggunakan data gambar yang berasal dari

Page 19: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

5

internet untuk training agar hasil pendeteksian kendaraan bisa lebih

bervariasi dan akurat.

Penulis menggunakan gambar kendaraan yang ada di jalan raya

sebanyak 600 gambar yang terdiri dari berbagai macam sudut pandang

untuk dataset.

2. Studi Pustaka

Metode ini dilakukan dengan membaca referensi – referensi

berupa buku, karya tulis, ataupun hasil dari pencarian melalui internet.

3. Analisa dan Perancangan Sistem

Penulis menggunakan alat bantu yaitu software PAGE untuk

membuat desain graphical user interface. Dengan menggunakan

PAGE desain interface yang dibuat dapat langsung dikonversi menjadi

kode python, sehingga desain interface dapat langsung

diimplementasikan menggunakan bahasa pemrograman python.

4. Implementasi

Pada tahap implementasi penulis melakukan pelabelan gambar

kemudian melakukan proses training untuk menghasilkan model

pendeteksian. Kemudian penulis menggunakan bahasa pemrograman

python untuk membuat program berbasis desktop, dari tahapan desain

kemudian diimplementasikan dalam bentuk program desktop. Setelah

interface program selesai kemudian melakukan konfigurasi untuk

pendeteksian objek berdasarkan model yang dihasilkan dari training

data.

Untuk menjalankan program memerlukan beberapa software

khusus diantaranya adalah:

1. Python

2. CUDA Tools 10.0

Page 20: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

6

3. cuDNN

4. Pillow

5. Cython

6. Tensorflow versi 1.15.0

7. Windows 10 SDK

8. Darknet

5. Pengujian

Dalam tahap pengujian penulis menguji program apakah dapat

mendeteksi dan mengklasifikasi objek secara akurat, jika hasil

pendeteksian belum akurat dapat kembali melakukan proses training

data untuk meningkatkan akurasi pendeteksian.

1.7 Sistematika Penulisan

Sistematika penulisan adalah langkah-langkah untuk menyusun

laporan tugas akhir, sistematika yang digunakan penulis dalam

penyusunan laporan Tugas Akhir adalah sebagai berikut:

BAB I PENDAHULUAN

Dalam bab ini berisi latar belakang, rumusan masalah,

batasan masalah, tujuan Tugas Akhir (TA), manfaat Tugas

Akhir (TA), metodologi penelitian, dan sistematika

penulisan Tugas Akhir (TA).

BAB II TINJAUAN PUSTAKA

Dalam bab ini berisi tentang tinjauan pustaka dari

penelitian-penelitian sebelumnya yang berkaitan dengan

Page 21: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

7

sistem cerdas terutama untuk sistem pendeteksian objek

(Object Detection).

BAB III ANALISA DAN PERANCANGAN SISTEM

Pada bab ini berisi tentang analisa dan perancangan sistem

cerdas yang akan diterapkan untuk sistem pendeteksian

objek (Object Detection).

BAB IV IMPLEMENTASI SISTEM

Dalam bab ini membahas tentang implementasi sistem

cerdas untuk pendeteksian jenis kendaraan dan cara-cara

penggunaannya.

BAB V PENUTUP

Pada bab ini berisi kesimpulan dan saran untuk

melengkapi dan menyempurnakan penyusunan sekaligus

akhir dari penulisan Laporan Tugas Akhir (TA) ini.

DAFTAR PUSTAKA

LAMPIRAN

Page 22: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

8

BAB II

TINJAUAN PUSTAKA

2.1 Penelitian Terdahulu

Penulis menggunakan beberapa penelitian terdahulu yang membahas

pendeteksian objek dengan berbagai macam metode sebagai sumber referensi

Tabel 2.1 Penelitian Terdahulu

No

Nama Peneliti,

Judul dan Tahun Masalah Metode Hasil

1 Tobi, M. D.

(2015) ‘Rancang

Bangun

Purwarupa Sistem

Pendeteksi

Kendaraan

Menggunakan

Pustaka Opencv’,

in Electro Luceat.

doi:

10.32531/jelekn.v

1i1.3.

Pemerintah

Daerah Sorong

tidak memiliki

suatu metode

untuk

memperhitungkan

beban jalan

dan penggunaan

jalan secara

efisien

Region of

Interest

(ROI) dan

find Contours

OpenCV

Sistem pendeteksi

kendaraan yang

dirancang berhasil

mendeteksi jumlah

kendaraan, kecepatan,

dan ukuran panjang

kendaraan dengan

baik. Sistem ini

mampu mendeteksi

kecepatan kendaraan

yang melintas dengan

kisaran galat sekitar

2,44 sampai 4 persen.

Jumlah kendaraan juga

dapat dideteksi dengan

kisaran galat sebesar

26,7 persen. Serta

ukuran panjang

kendaraan juga dapat

dideteksi dengan galat

sebesar 11% (untuk

Page 23: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

9

pengujian pada

mobil), dan 9,3%

(untuk pengujian pada

sepeda motor).

2 Sahertian, J. and

Sanjaya, A. S. A.

(2017) ‘Deteksi

Buah Pada Pohon

Menggunakan

Metode Svm Dan

Fitur Tekstur’,

SEMNASTEKNO

MEDIA ONLINE,

5(1), pp. 3–4.

Keakuratan

deteksi buah pada

pohon

menggunakan

computer vision

sangat krusial

untuk membantu

dalam bidang

agrikultur seperti

perhitungan

jumlah buah dan

sebagai sensor

untuk robot

pemanen buah

otomatis.

SVM Hasil eksperimen pada

beberapa citra

ImageNet menunjukkan

bahwa metode yang

diusulkan mampu

menghasilkan akurasi

sebesar 76% dan

tingkat kesalahan

prediksi sebesar 24%.

3 Syafitri, N. and

Saputra, A. (2017)

‘Prototype

Pendeteksi Jumlah

Orang Dalam

Ruangan’, IT

Journal Research

and Development,

1(2), pp. 36–48.

Perlunya

implementasi

pendeteksian

wajah di berbagai

bidang seperti

keamanan,

catatan sipil dan

lain-lain.

Viola Jones Sistem mampu

mendeteksi dengan

akurasi 100% dan

waktu deteksi kurang

dari 0.15 detik dan

batasan jarak wajah

yang dapat dideteksi

kurang lebih 2,3 m dari

kamera. Sistem juga

dapat mendeteksi

adanya beberapa wajah

Page 24: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

10

dalam suatu citra.

4 Shianto, K. A.,

Gunadi, K. and

Setyati, E. (2019)

‘Deteksi Jenis

Mobil

Menggunakan

Metode l..YOLO

Dan Faster R-

CNN’, Jurnal

Infra, 7(1), pp.

157–163.

Mendeteksi jenis

mobil secara

otomatis

Faster R-

CNN dan

YOLO

YOLO memiliki

akurasi prediksi yang

lebih rendah dari Faster

R-CNN tetapi memiliki

prediksi yang lebih

akurat daripada Faster

R-CNN. Faster R-CNN

dengan YOLO

mencapai akurasi 70%

– 80%

5 Limantoro, S. E.,

Kristian, Y. and

Purwanto, D. D.

(2017) ‘Deteksi

Pengendara

Sepeda Motor

Menggunakan

Deep

Convolutional

Neural Networks’,

in Seminar

Nasional

Teknologi

Informasi dan

Komunikasi, pp.

79–86.

Teknologi visi

komputer

diperlukan untuk

mendeteksi

keberadaan

pengendara

sepeda motor

CNN

(Convolution

al Neural

Networks)

Pada hasil eksperimen,

arsitektur CNN besar

memiliki akurasi yang

tertinggi sebesar 93%

dan f1-score sebesar

94,9%. Arsitektur CNN

yang kompleks dan

besar cenderung

memiliki peforma yang

lebih baik.

6 Ma’ali, A. M. and

Hendriyawan, A.

Saat ini

pengaturan lampu

Faster R-

CNN

Hasil akurasi dari

dataset yang telah

Page 25: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

11

(2019) Rancang

Bangun Sistem

Pengendali

Lampu Lalu

Lintas

Berdasarkan

Pengenalan Citra

Digital

Kendaraan

Menggunakan

Metode Faster R-

Cnn. University of

Technology

Yogyakarta.

lalu lintas adaptif

dilakukan

berdasarkan

waktu, hal

tersebut masih

kurang efektif

dikarenakan

waktu atau jam

macet tidak selalu

sama setiap

hari.

dilakukan pelatihan

adalah 97.027% serta

persentase error

perhitungan jumlah

kendaraan adalah

sebesar 2.188%.

7 Susanto, K. N.,

Gunadi, K. and

Setyati, E. (2019)

‘Pengenalan

Karakter pada Plat

Nomor Indonesia

dengan Tilt

Correction dan

Metode Faster R-

CNN’, Jurnal

Infra, 7(1), pp. 1–

7.

Dengan

berkembangnya

teknologi, plat

nomor yang

merupakan

identitas dari

suatu kendaraan

dapat

dideteksi secara

otomatis oleh

sistem dengan

bantuan Digital

Image Processing

dan Artificial

Neural Network

Canny Edge

Detection dan

Faster R-

CNN

Hasil pengujian dari

dataset peneliti, akurasi

deteksi karakter pada

plat nomor mencapai

82,14% dan akurasi

deteksi warna mobil

mencapai 78,54%.

8 DARMA, M. D. Ruangan kelas CNN Hasil pengujian sistem

Page 26: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

12

(2018) SISTEM

MONITORING

KURSI PADA

RUANGAN

KELAS DENGAN

METODE

CONVOLUTION

AL NEURAL

NETWORK

(CNN).

Universitas Islam

Negeri Sultan

Syarif Kasim

Riau.

perkuliahan

seharusnya selalu

memiliki kursi

yang cukup agar

proses

perkuliahan

berjalan dengan

baik. Akan tetapi

pada ruangan

kelas sering

terjadinya

kekurangan kursi.

oleh karena itu

penelitian ini

membuat sebuah

sistem yang dapat

memonitor

jumlah kursi

dalam ruangan

kelas dengan

menggunakan

metode

Convolution

Neural Network

(CNN).

(Convolution

al Neural

Networks)

dibagi menjadi 4 jenis,

masing-masing

pengujian mendapatkan

nilai akurasi pada

ruangan kelas 75, 6%,

pada pengujian hitung

jumlah kursi yang benar

mendapatkan nilai 0%,

pada pengujian jenis-

jenis kursi 100 % dan

pada pengujian tata

letak kursi 66,6 %.

9 Limantoro, S. E.,

Kristian, Y. and

Purwanto, D. D.

(2018)

‘Pemanfaatan

Deep Learning

Dash cam hanya

digunakan untuk

merekam video

saja sehingga

dash cam perlu

diberi kecerdasan

CNN

(Convolution

al Neural

Networks)

Kinerja bobot terhadap

data pengujian pada

eksperimen eksperimen

menghasilkan f1-score

masing-masing 0,977,

0,988, 0,989, dan 0,986.

Page 27: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

13

pada Video Dash

Cam untuk

Deteksi

Pengendara

Sepeda Motor’,

Jurnal Nasional

Teknik Elektro

dan Teknologi

Informasi, 7(2),

pp. 167–173.

untuk mendeteksi

objek. Deteksi

kendaraan

merupakan hal

yang sangat

penting untuk

mengawasi lalu

lintas

10 Nugroho, H.

(2017) ‘Deteksi

Citra Objek

Lingkaran Dengan

Menggunkan

Metode Ekstraksi

Bentuk

Circularity’,

INTEGER:

Journal of

Information

Technology, 2(1).

Deteksi objek

lingkaran

dilakukan pada

citra bulan yang

memiliki bentuk

bermacam-

macam yaitu

bulan purnama

yang bentuk

lingkaran

sempurna, bulan

bentuk setengah

dan bulan sabit.

Ekstraksi

Bentuk

Circularity

Bentuk posisi citra

tidak banyak

mempengaruhi nilai

hasil ekastraksi fitur

bentuk

circularity contoh pada

citra setengah lingkaran

kiri dengan nilai

ekstraksi fitur

0.6701525 dan citra

setengah lingkaran atas

dengan nilai ekstraksi

fitur 0.681084

2.2 Landasan Teori

2.2.1 Kecerdasan Buatan (Artificial Intelligence)

Kecerdasan buatan merupakan suatu cabang dalam bidang

komputer sains yang membahas bagaimana sebuah komputer dapat

meniru cara berpikir seperti manusia. Dengan kecerdasan buatan

Page 28: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

14

komputer dapat mengambil kesimpulan dan memutuskan suatu

permasalahan seperti layaknya manusia.

Menurut Luckin dan Colen dalam jurnal milik Ahmad Sudi

Pratikno (2017) menyatakan bahwa Artificial Intellegence sebagai

suatu sistem komputer yang dirancang untuk berinteraksi dengan

dunia melalui kemampuan-kemampuan tertentu dan perilaku

intelijen yang kita sadari seperti manusia pada umumnya. Hal

tersebut dikuatkan oleh Colen yang menyatakan bahwa Artificial

Intelligence merupakan teori yang mendasari tentang mekanisme

suatu kecerdasan serta metode empirik untuk membangun dan

menguji kemungkinan-kemungkinan model dalam mendukung

suatu teori.

Beberapa contoh penerapan Artificial Intelligence:

1. Untuk sistem kemudi otomatis pada mobil, contohnya pabrikan

mobil Tesla (Amerika) yang mempunyai sistem autopilot pada

mobil produksinya.

2. Sistem self parking atau parkir otomatis pada mobil modern

yang dapat membantu pengemudi memarkir mobilnya secara

otomatis.

3. Sistem penguncian wajah (Face Unlock) pada smartphone yang

dapat mengenali wajah pemiliknya.

4. Virtual Assistant seperti SIRI dari Apple, Cortana dari

Microsoft, dan Google Assistant dari Google yang dapat

menjadi asisten virtual sesuai dengan preferensi pengguna.

2.2.2 CNN (Convolutional Neural Network)

Convolutional Neural Network (CNN) adalah

pengembangan dari Multilayer Perceptron (MLP) yang didesain

Page 29: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

15

untuk mengolah data dua dimensi. Convolutional Neural Network

(CNN) adalah salah satu jenis neural network yang biasa digunakan

pada data image. CNN bisa digunakan untuk mendeteksi dan

mengenali object pada sebuah image.

Hasil penelitian AlexNet memenangi kompetisi ILSVRC

2010 dan ILSVRC 2012 dengan tingkat error terendah 15,3%.

Sebanyak 1,2 juta data citra dengan 1.000 kelas dikoleksi dari situs

web dan diberi label oleh manusia menggunakan Amazon's

Mechanical Turk crowd-sourcing tool. Arsitektur CNN yang

digunakan terdiri atas lima lapisan konvolusional, lima fungsi

aktivasi relu, dua lapisan max pooling, dan tiga lapisan fully-

connected. Proses pelatihan menggunakan stochastic gradient

descent dengan parameter ukuran batch 128, learning rate 0,01,

momentum 0,9, dan decay 0,0005.

Ada beberapa bagian penting dari metode CNN yaitu:

a. Convolutional Layer

Convolution Layer melakukan operasi konvolusi pada

output dari layer sebelumnya. Layer tersebut adalah proses

utama yang mendasari sebuah CNN.

Konvolusi adalah suatu istilah matematis yang berarti

mengaplikasikan sebuah fungsi pada output fungsi lain secara

berulang. Dalam pengolahan citra, konvolusi berati

mengaplikasikan sebuah kernel pada citra disemua offset

yang memungkinkan. Kernel bergerak dari sudut kiri atas ke

kanan bawah.

Gambar input CNN selalu berbentuk kotak. Proses

untuk gambar non-rectangular masih belum diketahui. Filter

pun mengikuti karakteristik kotak tersebut. Proses

Convolutional Layer ditunjukan pada Gambar 2.1 berikut:

Page 30: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

16

Gambar 2.1 Proses Convolutional Layer

Konvolusi pada data citra bertujuan untuk

mengekstraksi fitur dari citra input. Konvolusi akan

menghasilkan transformasi linear dari data input sesuai

informasi spasial pada data. Bobot pada layer

menspesifikasikan kernel konvolusi yang digunakan,

sehingga kernel konvolusi dapat dilatih berdasarkan input

pada CNN. Operasi konvolusi ditunjukan pada Gambar 2.2

berikut:

Gambar 2.2 Operasi Konvolusi

Page 31: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

17

b. Pooling Layer

Fungsi dari pooling layer adalah untuk mereduksi

input secara spasial (mengurangi jumlah parameter) dengan

operasi down-sampling. Umumnya, metode pooling yang

digunakan adalah max pooling atau mengambil nilai terbesar

dari bagian tersebut. Namun terdapat metode pooling lain

yang dapat digunakan seperti average pooling atau L2-norm

pooling. Contoh Max Pooling ditunjukan pada Gambar 2.3

berikut:

Gambar 2.3 Max Pooling

2.2.3 YOLO (You Only Look Once)

YOLO (You Only Look Once) adalah sistem pendeteksian

objek yang menggunakan metode CNN. YOLO dapat memproses

gambar secara real-time pada 45 frame per second, pada versi

mininya bisa mencapai 155 frame per second (Redmon & Farhadi,

2016). YOLO menggunakan pendekatan berbeda untuk mendeteksi

objek pada suatu citra. YOLO mengaplikasikan neural network

pada suatu citra digital kemudian membaginya ke beberapa bagian

grid untuk memprediksi objek apa saja yang ada didalam suatu

citra digital. Proses prediksi YOLO ditunjukan oleh Gambar 2.4

berikut:

Page 32: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

18

Gambar 2.4 Pendekatan YOLO untuk memprediksi objek

YOLO membagi input gambar menjadi grid berukuran

S×S, dimana nilai S adalah 7 dengan input gambar berukuran 448 x

448. Untuk memperoleh bounding box, dilakukan konvolusi dari

input gambar, sehingga hasil akhirnya akan mendapat ukuran

bounding box sebesar S×S×(B*5+C) dimana B adalah banyaknya

bounding box (umumnya 2) dalam 1 grid dan C adalah banyaknya

class yang dapat diklasifikasi. Nilai B dikalikan dengan 5 karena

sebuah bounding box memiliki 5 nilai yang perlu disimpan,

koordinat x, koordinat y, lebar (width), tinggi (height), dan

confidence score (nilai probabilitas bounding box pada sebuah

objek).

Untuk semua atribut pada bounding box akan dilakukan

normalisasi sehingga nilainya menjadi antara 0 hingga 1. Koordinat

x dan y akan dinormalisasi menyesuaikan titik kiri atas dari grid

yang bersangkutan. Tinggi dan lebar akan dinormalisasi sesuai

dengan ukuran gambar. Nilai koordinat x dan y pada sebuah

bounding box pada setiap grid merupakan titik tengah grid yang

bersangkutan.

Page 33: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

19

2.2.4 Python

Python adalah sebuah bahasa pemrograman dinamis yang

sering digunakan dalam pengembangan aplikasi pada berbagai

domain. Salah satu fitur yang tersedia pada python adalah

sebagai pemrograman dinamis yang dilengkapi skrip meski pada

praktiknya penggunaan bahasa ini lebih luas mencakup konteks

pemanfaatan yang umumnya tidak dilakukan dengan

menggunakan bahasa skrip (Darmawan & Suwastono, 2015).

Bahasa Python mudah dimengerti (serupa dengan bahasa Inggris),

dan tidak perlu compiling, maka dari itu kita dapat menjalankan

script Python begitu kita menyimpannya tanpa memerlukan

langkah lanjutan.

2.2.5 Computer Vision

Computer vision adalah bagian dari ilmu komputer yang

membahas bagaimana sebuah komputer dapat melihat seperti

manusia, oleh karena sangat erat kaitannya dengan penglihatan,

pencahayaan menjadi faktor yang juga penting dalam hal ini

(Wahyudi & Kartowisastro, 2011).

2.2.6 OpenCV

OpenCV adalah sebuah library yang berisi fungsi-fungsi

pemograman untuk teknologi computer vision secara real-time.

OpenCV bersifat open source, bebas digunakan untuk hal-hal yang

bersifat akademis dan komersial. Di dalamnya terdapat interface

untuk C++, C, Python, dan Java yang dapat berjalan pada

Windows, Linux, Android, dan Mac. Menurut Gary, dalam jurnal

milik Tobi Markus Dwiyanto (2015), fitur-fitur yang terdapat pada

OpenCV antara lain yaitu manipulasi data image (alokasi, rilis,

Page 34: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

20

duplikasi, pengaturan, konversi), Image dan I/O video (masukan

berbasis file dan kamera, keluaran image/ video file), manipulasi

matriks dan vektor serta aljabar linear (produk, solusi, eigenvalues,

SVD), beragam struktur data dinamis (daftar, baris, grafik), dasar

pengolahan citra (filter, deteksi tepi, deteksi sudut,

pengambilan sampel dan interpolasi, konversi warna, operasi

morfologi, histogram), analisis struktur (komponen yang

berhubungan, pengolahan kontur, transformasi jarak, variasi

momen, transformasi Hough, perkiraan polygonal,

menyesuaikan garis, delaunay triangulation, Kalibrasi kamera

(menemukan dan menelusuri pola kalibrasi, kalibrasi, dasar

estimasi matriks, estimasi homografi, korespondensi stereo),

analisis gerakan (optical flow, segmentasi gerakan,

penelusuran), pengenalan objek (metode eigen, HMM), dasar

Graphical User Interface atau GUI (menampilkan image/ video,

penanganan mouse dan keyboard, scroll-bars), pelabelan image

(garis, poligon, gambar teks).

2.2.7 LabelImg

LabelImg adalah program yang berguna untuk image

annotation atau pelabelan gambar. LabelImg adalah program open

source sehingga bebas untuk digunakan. LabelImg dapat melabeli

data gambar yang akan dijadikan dataset dengan format YOLO dan

PascalVOC. LabelImg dibuat dengan bahasa pemrograman python

3 dan Qt untuk user interfacenya, sehingga membutuhkan instalasi

python 3 dan library PyQt di komputer untuk menjalankannya.

LabelImg ditunjukan pada Gambar 2.5 berikut:

Page 35: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

21

Gambar 2.5 LabelImg

2.2.8 CUDA

CUDA (Compute Unified Device Architecture) adalah

arsitektur pemrosesan parallel yang diimplementasikan ke dalam

GPU buatan Nvidia. CUDA dikembangkan oleh Nvidia untuk

mempermudah utilitasi GPU untuk keperluan umum (non-grafis).

Arsitektur CUDA ini memungkinkan pengembang perangkat lunak

untuk membuat program yang berjalan pada GPU buatan Nvidia

dengan syntax yang mirip dengan syntax C yang sudah banyak

dikenal

Sejak awal kemunculannya sampai saat ini, CUDA

mengalami perkembangan yang cukup pesat. Hal ini bisa dilihat

dari perbandingan banyaknya riset berbasis CUDA yang dilakukan

dan juga banyaknya CUDA SDK yang didownload.

2.2.9 cuDNN

Berdasarkan dari website nvidia, cuDNN atau CUDA Deep

Neural Network Library adalah library yang dikembangkan oleh

Nvidia yang dikhususkan untuk deep neural network. cuDNN

Page 36: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

22

sangat berguna untuk meningkatkan performa GPU untuk

keperluan deep neural network atau jaringan saraf tiruan. cuDNN

banyak digunakan di aplikasi untuk deep learning diantaranya

adalah Tensorflow, Keras, Matlab, MxNet dan PyTorch.

2.2.10 Flowchart

Menurut Pahlevy (2010) Flowchart (bagan alir) adalah

gambaran dalam bentuk diagram alir dari algoritma-algoritma

dalam suatu program, yang menyatakan arah alur program tersebut.

Berikut beberapa simbol yang ada dalam flowchart:

Tabel 2.2 Simbol Flowchart

Simbol Keterangan

Simbol process, menyatakan suatu

tindakan yang dilakukan oleh

komputer

Simbol manual, yaitu menunjukan

suatu tindakan yang tidak

dilakukan oleh komputer

Simbol decision, yaitu menunjukan

suatu kondisi tertentu yang akan

menghasilkan 2 kemungkinan

jawaban yaitu Ya da Tidak

Simbol predefined process, yaitu

menyatakan penyediaan tempat

penyimpanan suatu pengolahan

untuk memberi harga awal

Simbol keying operation,

menyatakan segala jenis operasi

yang diproses dengan

Page 37: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

23

menggunakan suatu mesin yang

mempunyai keyboard

Simbol terminal, yaitu menyatakan

permulaan atau akhir suatu

program

Simbol offline storage,

menunjukan bahwa data dalam

symbol ini akan disimpan ke suatu

media tertentu

Simbol manual input, memasukan

data secara manual dengan

menggunakan online keyboard

Simbol input/output, menyatakan

proses input atau output tanpa

tergantung jenis peralatannya

Simbol document, mencetak

keluaran dalam bentuk dokumen

(melalui printer)

2.2.11 Implementasi

Menurut Browne dan Wildavsky, dalam jurnal milik

Haryati, Sudarsono dan Suryana (2015), menyatakan bahwa

implementasi adalah perluasan aktivitas yang saling menyesuaikan.

Tahap implemetasi merupakan tahapan sementara dimana analisis

dan perancangan dapat digunakan. Sehingga dalam tahap ini

terdapat kemungkinan terjadinya perubahan-perubahan dan

kebutuhan-kebutuhan baru sesuai dengan permintaan dan

kebutuhan organisasi atau perusahaan.

Page 38: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

24

2.2.12 Pengujian

Menurut standar ANSI/IEEE 1059, testing atau pengujian

adalah sebuah proses menganalisa suatu entitas software untuk

mendeteksi perbedaan antara kondisi yang ada dengan kondisi yang

diinginkan (defects/errors/bugs) dan mengevaluasi fitur-fitur dari

entitas software.

2.2.13 Black Box testing

Blackbox Testing adalah sebuah pengujian dimana proses

ini melihat kebenaran perangkat lunak yang diuji hanya dilihat

berdasarkan dari keluaran yang dihasilkan dari data atau kondisi

masukan yang diberikan untuk fungsi yang ada tanpa melihat

bagaimana proses untuk mendapatkan keluaran tersebut. (Julyana,

2016).

2.2.14 Pascal VOC (Visual Object Classes)

Pascal VOC (Visual Object Classes) adalah format untuk

image annotation atau pelabelan data. Menggunakan format xml

sebagai outputnya. PascalVOC terus diuji dan dikembangkan

melalui kompetisi klasifikasi objek (Everingham & Winn, 2011).

Contoh format PascalVOC ditunjukan Gambar 2.6 berikut:

Page 39: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

25

Gambar 2.6 Format Pascal VOC

Berikut adalah keterangan dari setiap key yang terdapat pada

format Pascal VOC:

Tabel 2.3 Key Pascal VOC

Key Keterangan

<folder> Folder yang berisi gambar untuk

dataset

<path> Berisi tentang lokasi gambar

berada

<filename> Nama spesifik gambar yang ada di

dalam folder

Page 40: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

26

<size> Terdiri dari beberapa atribut

gambar seperti Panjang, lebar dan

kedalaman

<object> Berisi detail objek yang ada dalam

sebuah gambar

<name> Nama dari sebuah objek didalam

gambar yang ingin diidentifikasi

<truncated> Menggambarkan sebuah objek

yang terlihat sebagian atau tertutup

oleh objek yang lain

<difficult> Menandai objek yang sulit untuk

diklasifikasikan

<pose> Menandai posisi sudut pandang

sebuah objek didalam gambar

<bndbox> Untuk menandai posisi objek di

dalam sebuah gambar, terdiri dari

xmin, ymin, xmax dan xmin

2.2.15 Epoch

Epoch adalah ketika seluruh dataset sudah melalui proses

training pada Neural Netwok sampai dikembalikan ke awal untuk

sekali putaran, karena satu Epoch terlalu besar untuk dimasukkan

(feeding) kedalam komputer maka dari itu perlu membaginya

kedalam satuan kecil (batches). Illustrasi Epoch ditunjukan oleh

Gambar 2.7:

Page 41: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

27

Gambar 2.7 Epoch

Seiring bertambahnya jumlah epoch, semakin banyak pula

weight (bobot) yang berubah dalam Neural Network dan kurvanya

melengkung dari kurva yang kurang sesuai hingga selaras dengan

kurva yang overfitting.

2.2.16 Batch

Batch Size adalah jumlah sampel data yang disebarkan ke

Neural Network. Contohnya jika mempunyai 100 dataset dan batch

sizenya adalah 5 maka algoritma ini akan menggunakan 5 sampel

data pertama dari 100 data yang dimiliki (ke1, ke2, ke3, ke4, dan

ke5) lalu disebarkankan atau ditraining oleh Neural Network

sampai selesai kemudian mengambil kembali 5 sampel data kedua

dari 100 data (ke 6, ke 7, ke 8, ke 9, dan ke 10), dan begitu

seterusnya sampai 5 sampel data ke 20 (100⁄5=20).

2.2.17 Iterations

Iterations dalam neural network adalah jumlah batch yang

diperlukan untuk menyelesaikan satu epoch. Jumlah iteration sama

dengan jumlah batch pada satu kali epoch.

Page 42: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

28

BAB III

ANALISA DAN PERANCANGAN SISTEM

3.1 Analisa Sistem

3.1.1 Analisa Kebutuhan Software

Untuk menjalankan program ada beberapa software yang

harus dipasang terlebih dahulu yaitu :

a. Python 3.7

b. Tensorflow 1.15.0

c. Microsoft Visual C++ Redistributable Package

(Windows 10 SDK)

d. Cython

e. CUDA 10

f. cuDNN

g. OpenCV

h. Pillow

i. YOLO (Darkflow)

j. labelImg

Sistem operasi yang digunakan untuk menjalankan program adalah

Windows 10.

3.1.2 Analisa Kebutuhan Hardware

Untuk menjalankan program penulis menggunakan

spesifikasi hardware komputer sebagai berikut :

a. Prosesor AMD Ryzen 5 2400G, 4 Cores 8 Threads

b. RAM 8GB

c. GPU Nvidia GTX 1660 Super 6GB

d. PSU 500 Watt

Page 43: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

29

GPU (Graphic Processing Unit) untuk menjalankan program harus

memiliki CUDA Cores dan memiliki memori yang besar untuk

melakukan training dataset. Oleh karena itu penulis memilih

Nvidia GTX 1660 6GB yang memiliki 1408 CUDA Cores dan

memori sebesar 6GB.

3.1.3 Analisa Dataset

Pada implementasi sistem cerdas ini penulis menggunakan 4

class (jenis kendaraan) untuk mendeteksi jenis kendaraan, yaitu:

Tabel 3.1 Nama Kelas

Nama Kelas Gambar

Mobil

Bus

Truk

Page 44: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

30

Sepeda Motor

Untuk mempersiapkan data untuk proses training penulis

menggunakan beberapa data dari internet dan data dari cctv yang

terdiri dari gambar jalan raya yang didalamnya terdapat mobil, bus,

truk, dan sepeda motor.

Gambar 3.1 Contoh dataset untuk training

3.2 Perancangan Sistem

3.2.1 Flowchart

Untuk mempermudah dalam pembuatan program penulis

menggunakan flowchart sebagai acuan alur program. Flowchart

alur program dan perhitungan ditunjukan oleh Gambar 3.2 dan

Gambar 3.3 berikut:

Page 45: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

31

Gambar 3.2 Flowchart alur program

Page 46: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

32

Gambar 3.3 Flowchart perhitungan hasil klasifikasi objek

Page 47: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

33

3.2.2 Antarmuka (User Interface)

Penulis menggunakan software PAGE untuk membuat

tampilan antarmuka. Tampilan yang dibuat menggunakan PAGE

ditunjukan oleh Gambar 3.4 berikut:

Gambar 3.4 Desain antarmuka dengan software PAGE

Page 48: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

34

BAB IV

IMPLEMENTASI SISTEM

4.1 Instalasi Software yang dibutuhkan

Untuk menjalankan program dan melakukan proses training data

dibutuhkan beberapa instalasi software sebagai berikut:

4.1.1 Python 3.7

Python untuk windows 10 dapat diunduh di website

https://python.org/downloads. Penulis menggunakan python versi

3.7 untuk menjalankan program. Halaman download pada website

python ditunjukan pada Gambar 4.1 berikut:

Gambar 4.1 Halaman Website Python

4.1.2 Tensorflow 1.15.0

Penulis menggunakan tensorflow versi 1.15.0, untuk

menginstall tensorflow penulis menggunakan package manager

dari python yaitu pip. Berikut langkah – langkah instalasi

tensorflow :

Page 49: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

35

1. Buka Command Promt windows.

2. Ketik pip install tensorflow==1.15.0 pada Command

Promt.

3. Jika berhasil akan muncul pesan seperti Gambar 4.2 berikut:

Gambar 4.2 Instalasi tensorflow menggunakan pip

4.1.3 OpenCV

Penulis menggunakan OpenCV untuk mengolah citra,

menjalankan video dan menggambar garis untuk area perhitungan.

Berikut cara instalasi OpenCV menggunakan pip:

1. Buka Command Promt windows.

2. Ketik pip install opencv-python pada Command Promt.

3. Jika berhasil akan muncul pesan yang ditunjukan oleh

Gambar 4.3 berikut:

Gambar 4.3 Instalasi OpenCV menggunakan pip

Page 50: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

36

4.1.4 Cython

Cython adalah C extensions untuk python. Instalasi cython

diperlukan untuk menjalankan sistem pendeteksian objek

menggunakan YOLO. Berikut cara instalasi cython menggunakan

pip:

1. Buka Command Promt windows.

2. Ketik pip install cython pada Command Promt.

3. Jika berhasil akan muncul pesan seperti Gambar 4.4 berikut:

Gambar 4.4 Instalasi cython menggunakan pip

4.1.5 Pillow

Penulis menggunakan Pillow (PIL) untuk manipulasi

gambar seperti resize dengan cepat. Berikut cara instalasi Pillow

mengunakan pip:

1. Buka Command Promt windows.

2. Ketik pip install pillow pada Command Promt.

3. Jika berhasil akan muncul pesan seperti Gambar 4.5 berikut:

Gambar 4.5 Instalasi pillow menggunakan pip

Page 51: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

37

4.1.6 Windows 10 SDK

Instalasi sistem pendeteksian objek YOLO memerlukan

Microsoft Visual C++ Redistributable Package yang terdapat pada

windows 10 SDK. Agar instalasi lengkap penulis menggunakan

visual studio community yang dapat diunduh di

https://visualstudio.microsoft.com.

Berikut cara instalasi windows 10 SDK dari visual studio:

1. Install visual code community yang telah diunduh dari

https://visualstudio.microsoft.com.

2. Ketika pemilihan komponen untuk instalasi pilih Desktop

Development with C++ maka windows 10 SDK dan semua

komponen yang dibutuhkan akan terinstall secara otomatis.

Komponen instalasi ditunjukan pada Gambar 4.6 berikut:

Gambar 4.6 Instalasi komponen windows 10 SDK

4.1.7 CUDA Toolkit 10.0

Penulis menggunakan CUDA Toolkit 10.0 agar proses

pendeteksian objek berjalan pada GPU sehingga pendeteksian

Page 52: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

38

objek dapat berjalan dengan cepat. CUDA Toolkit dapat diunduh

di https://developer.nvidia.com/cuda-downloads. CUDA Toolkit

hanya dapat diinstall di GPU Nvidia yang memiliki CUDA Cores.

Berikut cara instalasi CUDA Toolkit:

1. Double klik CUDA Toolkit yang telah diunduh dari

https://developer.nvidia.com/cuda-downloads.

2. Pilih Agree & Continue seperti Gambar 4.7 berikut:

Gambar 4.7 CUDA License agreement

3. Pilih Custom (Advance) untuk instalasi komponen yang

dibutuhkan kemudian klik Next. Instalasi komponen

ditunjukan oleh Gambar 4.8 berikut:

Page 53: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

39

Gambar 4.8 CUDA Installation Option

4. Centang pada bagian Runtime dan Development, jika

driver gpu nvidia belum terinstall centang semua pada

bagian Driver components. Kemudian klik Next seperti

Gambar 4.9 berikut:

Gambar 4.9 Pemilihan komponen CUDA

Page 54: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

40

5. Pada bagian installation location biarkan saja default

kemudian klik Next untuk menjalankan instalasi seperti

Gambar 4.10 berikut:

Gambar 4.10 CUDA Installation location

6. Setelah instalasi selesai akan muncul informasi komponen

apa saja yang telah terinstal. Jika ada beberapa komponen

yang tidak berhasil terinstal ulangi langkah instalasi dari

awal. Jika instalasi berhasil akan ditunjukan pada Gambar

4.11:

Page 55: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

41

Gambar 4.11 Instalasi CUDA selesai

4.1.8 cuDNN

YOLO juga memerlukan cuDNN (CUDA Deep Neural

Network Library) untuk menjalankan proses pendeteksian objek

melalui GPU. cuDNN dapat diunduh di alamat

https://developer.nvidia.com/rdp/cudnn-download.

Berikut langkah-langkah instalasi cuDNN:

1. Unduh cuDNN untuk CUDA 10.0 dan windows 10 dari

https://developer.nvidia.com/rdp/cudnn-download.

2. Kemudian ekstrak berkas dan salin semua isinya ke

direktori instalasi CUDA toolkit di C:\Program

Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0

seperti ditunjukan pada Gambar 4.12:

Page 56: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

42

Gambar 4.12 Instalasi cuDNN

4.1.9 YOLO

YOLO untuk windows (menggunakan darkflow) dapat

diunduh di repositori https://github.com/thtrieu/darkflow. Langkah

– langkah untuk instalasi sebagai berikut:

1. Unduh kode sumber dari repositori

https://github.com/thtrieu/darkflow kemudian ekstrak

menjadi direktori darkflow-master.

2. Salin direktori darkflow-master ke direkstori kode sumber

program yang dibuat sebagai library tambahan.

3. Masuk ke dalam direktori darkflow-master kemudian buka

command promt.

4. Ketik python setup.py build_ext –inplace pada command

promt, kemudian akan muncul pesan seperti Gambar 4.13:

Page 57: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

43

Gambar 4.13 Instalasi YOLO menggunakan Darkflow

4.1.10 labelImg

Penulis menggunakan labelImg untuk image annotation

atau pelabelan gambar. LabelImg dapat diunduh di repositori

github dengan alamat https://github.com/tzutalin/labelImg. Agar

dapat berjalan di windows labelImg membutuhkan Python, PyQt5

dan lxml. Langkah-langkah untuk instalasi labelImg adalah sebagai

berikut:

1. Unduh labelImg dari https://github.com/tzutalin/labelImg

2. Ekstrak berkas yang telah diunduh

3. Masuk ke direktori labelImg kemudian buka Command

Promt

4. Ketik python labelImg.py pada command promt

5. Kemudian akan muncul tampilan seperti Gambar 4.14:

Page 58: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

44

Gambar 4.14 Antarmuka labelImg

4.2 Training Data

4.2.1 Pelabelan Gambar (Image Annotation)

Image annotation atau pelabelan gambar adalah proses

melabel setiap objek yang ada didalam sebuah gambar sesuai

dengan jenis kendaraan (class) yang sudah didefinisikan

sebelumnya yaitu mobil, truk, bus dan sepeda motor.

Agar traning data dapat berjalan optimal dan model yang

dihasilkan memiliki akurasi yang baik pelabelan gambar harus

dilakukan dengan memperhatikan objek yang tampak, sebaiknya

hanya melabel objek yang terlihat jelas atau tidak blur. Semakin

jelas objek semakin tinggi juga akurasinya.

Dalam melabel gambar juga harus memperhatikan berbagai

sudut pandang objek, semakin bermacam – macam sudut pandang

objek yang ada dalam dataset akan semakin tinggi juga akurasi

pendeteksian dan akan terhindar dari overfiting.

Software yang dipakai penulis dalam melabel gambar

adalah software labelImg. Berikut langkah – langkah untuk

melabel gambar dari dataset yang akan ditraining.

Page 59: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

45

1. Buka labelImg dengan menjalankan perintah python

labelimg.py pada command promt di direktori labelImg.

2. Kemudian pilih menu File – Open Dir untuk memuat direktori

gambar yang akan ditraining.

3. Gambar bounding box pada setiap objek yang akan dideteksi

ditunjukan pada Gambar 4.15 berikut:

Gambar 4.15 Pelabelan gambar (Image Annotation)

4. Pilih format PascalVOC untuk menyimpan hasil label.

5. Contoh hasil pelabelan gambar dengan format Pascal VOC:

<annotation>

<folder>traffic_indonesia</folder>

<filename>0.jpg</filename>

<path>C:\PROJECT\SKRIPSI\Python\vehicle_classificatio

n\dataset\yolo-dataset\traffic_indonesia\0.jpg</path>

<source>

<database>Unknown</database>

</source>

<size>

<width>480</width>

Page 60: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

46

<height>360</height>

<depth>3</depth>

</size>

<segmented>0</segmented>

<object>

<name>car</name>

<pose>Unspecified</pose>

<truncated>0</truncated>

<difficult>0</difficult>

<bndbox>

<xmin>237</xmin>

<ymin>221</ymin>

<xmax>332</xmax>

<ymax>334</ymax>

</bndbox>

</object>

<object>

<name>motorcycle</name>

<pose>Unspecified</pose>

<truncated>1</truncated>

<difficult>0</difficult>

<bndbox>

<xmin>317</xmin>

<ymin>308</ymin>

<xmax>355</xmax>

<ymax>360</ymax>

</bndbox>

</object>

<object>

<name>motorcycle</name>

<pose>Unspecified</pose>

Page 61: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

47

<truncated>0</truncated>

<difficult>0</difficult>

<bndbox>

<xmin>416</xmin>

<ymin>231</ymin>

<xmax>425</xmax>

<ymax>264</ymax>

</bndbox>

</object>

<object>

<name>motorcycle</name>

<pose>Unspecified</pose>

<truncated>0</truncated>

<difficult>0</difficult>

<bndbox>

<xmin>444</xmin>

<ymin>235</ymin>

<xmax>453</xmax>

<ymax>266</ymax>

</bndbox>

</object>

<object>

<name>motorcycle</name>

<pose>Unspecified</pose>

<truncated>0</truncated>

<difficult>0</difficult>

<bndbox>

<xmin>437</xmin>

<ymin>226</ymin>

<xmax>446</xmax>

<ymax>251</ymax>

Page 62: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

48

</bndbox>

</object>

<object>

<name>car</name>

<pose>Unspecified</pose>

<truncated>0</truncated>

<difficult>0</difficult>

<bndbox>

<xmin>60</xmin>

<ymin>249</ymin>

<xmax>174</xmax>

<ymax>336</ymax>

</bndbox>

</object>

<object>

<name>truck</name>

<pose>Unspecified</pose>

<truncated>0</truncated>

<difficult>0</difficult>

<bndbox>

<xmin>402</xmin>

<ymin>192</ymin>

<xmax>427</xmax>

<ymax>223</ymax>

</bndbox>

</object>

<object>

<name>car</name>

<pose>Unspecified</pose>

<truncated>0</truncated>

<difficult>0</difficult>

Page 63: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

49

<bndbox>

<xmin>369</xmin>

<ymin>208</ymin>

<xmax>390</xmax>

<ymax>228</ymax>

</bndbox>

</object>

<object>

<name>motorcycle</name>

<pose>Unspecified</pose>

<truncated>0</truncated>

<difficult>0</difficult>

<bndbox>

<xmin>333</xmin>

<ymin>221</ymin>

<xmax>344</xmax>

<ymax>244</ymax>

</bndbox>

</object>

</annotation>

4.2.2 Proses Training

Setelah semua dataset gambar diberi label langkah

selanjutnya adalah melakukan training untuk menghasilkan model

yang akan dipakai untuk pendeteksian objek. Lamanya proses

training tergantung dari seberapa besar dataset yang dibuat.

Semakin banyak jumlah gambar semakin lama juga proses

trainingnya, tetapi akurasi yang dihasilkan akan semakin baik.

Sebelum proses training perlu untuk mengkonfigurasi

proses konvolusi, yaitu metode CNN yang akan digunakan YOLO.

File untuk konfigurasi adalah file dengan ekstensi .cfg. YOLO

Page 64: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

50

sudah menyediakan konfigurasi default. Untuk membuat

konfigurasi baru dapat menyalin konfigurasi yang disediakan

kemudian ubah sesuai dengan kebutuhan. Pada penelitian ini

penulis menggunakan konfigurasi sebagai berikut:

[convolutional]

size=1

stride=1

pad=1

filters=45

activation=linear

[region]

anchors = 1.08,1.19, 3.42,4.41, 6.63,11.38, 9.42,5.11,16.62,10.52

bias_match=1

classes=4

coords=4

num=5

softmax=1

jitter=.2

rescore=1

Konfigurasi yang perlu disesuaikan ada di bagian

[convolutional] dan [region] yaitu:

a. filters

Rumus untuk nilai filters adalah:

(5 + jumlah kelas) x 5

Penulis menggunakan 4 kelas untuk pendeteksian jadi

konfigurasinya adalah

filters = (5 + 4) x 5 = 45

b. classes

Page 65: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

51

Penulis menggunakan 4 kelas untuk pendeteksian objek jadi

classes diisi dengan 4.

Konfigurasi diatas akan menghasilkan proses konvolusi

sebagai berikut:

Tabel 4.1 Proses Konvolusi

Layer Size stride Output

Input - - 416 x 416 x 3

Conv 1 3 x 3 1 416 x 416 x 16

Max Pool 1 2 x 2 2 208 x 208 x 16

Conv 2 3 x 3 1 208 x 208 x 32

Max Pool 2 2 x 2 2 104 x 104 x 32

Conv 3 3 x 3 1 104 x 104 x 64

Max Pool 3 2 x 2 2 52 x 52 x 64

Conv 4 3 x 3 1 52 x 52 x 128

Max Pool 4 2 x 2 2 26 x 26 x 128

Conv 5 3 x 3 1 26 x 26 x 256

Max Pool 5 2 x 2 2 13 x 13 x 256

Conv 6 3 x 3 1 13 x 13 x 512

Max Pool 6 2 x 2 1 13 x 13 x 512

Conv 7 3 x 3 1 13 x 13 x 1024

Conv 8 3 x 3 1 13 x 13 x 1024

Conv 9 1 x 1 1 13 x 13 x 45

Berdasarkan arsitektur yang digunakan YOLO berikut

proses prediksi terhadap dataset yang digunakan dengan konfigurasi

diatas:

1. Input gambar akan diubah menjadi 416 x 416 kemudian dibagi

menjadi grid sesuai konfigurasi yang ditentukan yaitu S x S

dimana S = 3 seperti Gambar 4.16 berikut:

Page 66: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

52

Gambar 4.16 Grid 3 x 3

2. Kemudian setiap grid akan memprediksi B Bounding Box dan

C class probabilities dimana nilai B = 2 dan C = 4 (Jumlah

kelas yang digunakan). Prediksi bounding box ditunjukan pada

Gambar 4.17 dan Gambar 4.18 berikut:

Gambar 4.17 Class Probabilities

Page 67: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

53

Gambar 4.18 Hasil Prediksi

3. Hasil prediksi Bounding Box akan menghasilkan 5 komponen

yaitu x, y, w, h dan confidence. x dan y adalah koordinat yang

ada ditengah box dan bersifat relatif terhadap ukuran gambar

yang ditunjukan dengan Gambar 4.19 berikut:

Gambar 4.19 Komponen Bounding Box

Page 68: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

54

Untuk proses training membutuhkan pretrained weight dari

YOLO, Berikut adalah langkah – langkah untuk proses training

data:

1. Buka command promt dan ketik perintah:

python flow --model cfg/tiny-yolo-voc-4c.cfg --load

bin/yolov2-tiny-voc.weights –train –annotation

../labelImg/images --dataset ../labelImg/images --gpu 1.0 --

epoch 200

Keterangan parameter:

Tabel 4.2 Parameter Training

Parameter Keterangan

--model Lokasi model yang akan

digunakan untuk training

--train Mode untuk melakukan

training

--annotation Lokasi label gambar yang

akan digunakan untuk training

--dataset Dataset gambar yang akan

digunakan untuk training

--gpu Untuk mengalokasikan

seberapa besar proses GPU

dan CPU untuk menjalankan

training. Nilainya dari 0

sampai dengan 1

--epoch Nilai yang digunakan untuk

jumlah iterasi training yang

akan dilakukan

Page 69: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

55

2. Berikut adalah proses training, semakin rendah nilai average

loss akan semakin bagus akurasi yang akan dihasilkan seperti

Gambar 4.20 berikut:

Gambar 4.20 Proses Training

Proses training akan menghasilkan weights yang akan digunakan untuk

proses pendeteksian objek seperti Gambar 4.21 berikut:

Gambar 4.21 Weights dari hasil proses training

Page 70: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

56

4.3 Tampilan Antarmuka

Penulis menggunakan library tkinter dan software PAGE untuk membuat

dan mendesain antarmuka atau user interface program. Dengan bantuan

software PAGE desain antarmuka yang dibuat dapat langsung digenerate

menjadi kode python yang siap untuk implementasikan ke dalam program.

Desain antarmuka yang dibuat ditunjukan Gambar 4.22 berikut:

Gambar 4.22 Desain Antarmuka Program

Setiap bagian antarmuka memiliki fungsi masing-masing. Fungsi dari

setiap bagian adalah sebagai berikut:

Tabel 4.3 Fungsi Komponen

Komponen Fungsi

Video Source Untuk memilih berkas video yang

akan digunakan untuk pendeteksian

objek.

Counting Area Berguna untuk menggambar area yang

akan digunakan untuk menghitung

objek yang melewatinya

Page 71: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

57

YOLO weights Untuk memilih file weights dari hasil

training yang telah dilakukan.

YOLO cfg Bagian ini untuk memilih berkas

konfigurasi (config) YOLO, berkas

konfigurasi yang dipilih tergantung

pada berkas weights yang digunakan.

Start Berfungsi untuk memulai video dan

proses klasifikasi kendaraan.

Stop Berfungsi untuk menghentikan video

dan proses klasifikasi

Kolom video (tengah) Untuk menampilkan berkas video

yang telah dipilih sebelumnya.

Counter Untuk menampilkan hasil perhitungan

setiap kendaraan yang lewat sesuai

dengan klasifikasinya.

4.4 Menjalankan Program

Untuk menjalankan program pendeteksian objek langkah – langkahnya

adalah sebagai berikut:

1. Masuk ke direktori program kemudian buka command promt.

2. Ketik python vehicle_classification.py

3. Kemudian akan muncul tampilan program.

4. Kemudian pilih sumber video yang akan digunakan untuk

klasifikasi dengan klik Browse pada Video Source.

5. Jika berhasil akan muncul tampilan seperti Gambar 4.23:

Page 72: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

58

Gambar 4.23 Memilih sumber video untuk klasifikasi

6. Langkah selanjutnya adalah membuat area untuk menghitung objek

yang melewatinya. Caranya adalah klik Draw kemudian gambar

garis pada video sampai membentuk area yang diinginkan seperti

Gambar 4.24 dan Gambar 4.25 berikut:

Page 73: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

59

Gambar 4.24 Garis untuk membentuk area perhitungan

Gambar 4.25 Area Perhitungan

Page 74: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

60

7. Setelah memilih berkas video dan menggambar area untuk

perhitungan, tekan tombol Start untuk memulai video dan proses

klasifikasi. Program akan melakukan pendeteksian seperti Gambar

4.26 berikut:

Gambar 4.26 Hasil Pendeteksian

8. Bounding box yang melewati area perhitungan akan berubah

menjadi warna merah dan jumlah counter akan otomatis bertambah

sesuai dengan klasifikasi kendaraan yang dideteksi yang ditunjukan

pada Gambar 4.27 berikut:

Page 75: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

61

Gambar 4.27 Bounding Box

4.5 Pegujian Program

Untuk menguji program yang telah dibuat penulis menggunakan

pengujian black box, berikut hasil pengujian yang dilakukan:

Tabel 4.4 Pengujian Black Box

Fungsi yang

diuji

Langkah uji Hasil yang

diharapkan

Hasil Aktual Hasil

pengujian

Memuat

berkas video

Memasukan

berkas video

yang akan

digunakan

Akan

menampilkan

berkas video

yang dipilih

Menampilkan

berkas video

yang dipilih

Berhasil

Menggambar

counting area

Klik Draw

Area

kemudian

gambar

Akan

menampilkan

counting area

berwarna

Menampilkan

counting area

hijau

transparan

Berhasil

Page 76: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

62

pada

tampilan

video

hijau

transparan

Memuat

counting area

Klik browse

pada

Counting

Area

Akan memuat

counting area

Memuat

counting area

Berhasil

Memuat

YOLO

weights

Klik browse

pada YOLO

weights

Akan memuat

YOLO

weights

Memuat

YOLO

weights

Berhasil

Memuat

YOLO cfg

Klik browse

pada YOLO

cfg

Akan memuat

YOLO cfg

Memuat

YOLO cfg

Berhasil

Memulai

video

Klik tombol

start

Akan

memulai

video dan

proses

pendeteksian

objek

Memulai

video dan

proses

pendeteksian

objek

Berhasil

Menghentikan

video

Klik tombol

stop

Akan

menghentikan

video dan

proses

pendeteksian

objek

Menghentikan

video dan

proses

pendeteksian

objek

Berhasil

Page 77: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

63

4.6 Hasil Pendeteksian

Penulis menggunakan beberapa data video untuk pendeteksian dan

mendapatkan hasil sebagai berikut:

Tabel 4.5 Hasil Pendeteksian

Video Durasi Ukuran Aktual Hasil Deteksi Akurasi

CCTV Jalan

Perintis

Kemerdekaan,

Banyumanik,

Semarang

1 menit 9

detik

640x480 Mobil: 18

Truk: 8

Bus: 0

Motor: 23

Mobil: 16

Truk: 8

Bus: 1

Motor: 22

Mobil: 88%

Truk: 100%

Bus: 0%

Motor: 95%

Sample

CCTV jalan

Tol

6 menit 24

detik

640x360 Mobil:159

Truk:20

Bus: 2

Motor: 3

Mobil: 132

Truk: 18

Bus: 2

Motor: 3

Mobil: 83%

Truk: 90%

Bus: 100%

Motor: 100%

Dari hasil pendeteksian ada beberapa penyebab pendeteksian menjadi

tidak tepat yaitu:

1. Objek yang tertutup atau saling tumpang tindih sehingga objek yang

tertutup tidak terhitung saat memasuki Counting Area.

2. Bentuk objek kurang jelas sehingga pendeteksi tidak dapat mengklasifikasi

objek dengan tepat.

3. Perubahan cayaha secara tiba-tiba misalnya saat objek tertutup bayangan

objek lain maka nilai convidence akan berkurang atau akan hilang sama

sekali.

Page 78: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

64

BAB V

PENUTUP

5.1 Kesimpulan

Dari hasil penelitian dapat disimpulkan beberapa hal sebagai berikut:

1. Rentang nilai convidence yang dihasilkan yaitu 40% – 90% tergantung

dari sudut pandang dan kejelasan pada objek.

2. Nilai akurasi saat pengujian mendapatkan nilai antara 80% sampai

95%.

3. Akurasi pendeteksian dipengaruhi oleh beberapa hal yaitu:

a. Kualitas video yang digunakan untuk pendeteksian

b. Kualitas dataset yang digunakan untuk training

c. Sudut pandang pengambilan gambar

d. Variasi dataset yang dibuat, semakin banyak gambar objek dari

berbagai sudut pandang semakin besar juga akurasi yang akan

dihasilkan.

e. Counting area yang digambar mempengaruhi akurasi

perhitungan karena saat objek saling tumpeng tindih objek

yang tertutup tidak akan terhitung.

5.2 Saran

Berdasarkan penelitian yang sudah dilakukan, penulis memiliki beberapa

saran untuk meningkatkan hasil akurasi dan pengembangan program ke tahap

selanjutnya, yaitu:

1. Untuk mendapatkan akurasi dan nilai convidence yang tinggi

sebaiknya input menggunakan video yang memiliki objek yang jelas,

dengan video yang memiliki ketajaman gambar yang bagus sistem

akan dengan mudah mendeteksi setiap objek yang ada di dalam video.

Page 79: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

65

2. Dataset yang digunakan untuk training sebaiknya dipersiapkan dengan

baik. Data atau gambar yang digunakan harus jelas dan terdiri dari

berbagai macam sudut pandang dari objek yang akan dideteksi.

3. Saat menggambar counting area atau area perhitungan sebaiknya

gambar di area yang tidak mungkin dilewati oleh objek yang saling

tumpang tindih. Agar setiap objek yang lewat dapat teridentifikasi

dengan baik.

Page 80: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

66

DAFTAR PUSTAKA

DARMA, M. D. (2018). SISTEM MONITORING KURSI PADA RUANGAN

KELAS DENGAN METODE CONVOLUTIONAL NEURAL NETWORK

(CNN). Universitas Islam Negeri Sultan Syarif Kasim Riau.

Darmawan, R. S., & Suwastono, A. (2015). MODEL SISTEM ANTRIAN

BERBASIS ARDUINO UNO R3 DAN RASPBERRY PI

MENGGUNAKAN PYTHON. Universitas Gadjah Mada Yogyakarta.

Everingham, M., & Winn, J. (2011). The PASCAL visual object classes

challenge 2012 (VOC2012) development kit. Pattern Analysis, Statistical

Modelling and Computational Learning, Tech. Rep.

Haryati, Siska, Aji Sudarsono dan Eko Suryana. 2015. Implementasi Data Mining

untuk Memprediksi Masa Studi Mahasiswa Menggunakan Algoritma C4.5

(Studi Kasus: Universitas Dehasen Bengkulu). Jurnal Medi Infotama, Vol.

11, No. 2, 2015, ISSN: 1858-2680. Hal. 130-138.

Https://developer.nvidia.com/cudnn. Diakses pada 10 Oktober 2019.

Https://developer.nvidia.com/cuda-zone. Diakses pada 10 Oktober 2019.

Https://github.com/tzutalin/labelImg. Diakses pada 10 Oktober 2019.

Julyana, Gilang. 2016. Penyusunan Dokumen Pengujian Perangkat Lunak

Penjurian Wushu Taolu Menggunakan Metode Black-Box Testing (Studi

Kasus: Sasana Satria Wushu Taolu Bandung). Skripsi (S1), Fakultas

Teknik Unpas, http://repository.unpas.ac.id/14174/.

Limantoro, S. E., Kristian, Y., & Purwanto, D. D. (2017). Deteksi Pengendara

Sepeda Motor Menggunakan Deep Convolutional Neural Networks. In

Seminar Nasional Teknologi Informasi dan Komunikasi (pp. 79–86).

Page 81: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

67

Limantoro, S. E., Kristian, Y., & Purwanto, D. D. (2018). Pemanfaatan Deep

Learning pada Video Dash Cam untuk Deteksi Pengendara Sepeda Motor.

Jurnal Nasional Teknik Elektro Dan Teknologi Informasi, 7(2), 167–173.

Ma’ali, A. M., & Hendriyawan, A. (2019). Rancang Bangun Sistem Pengendali

Lampu Lalu Lintas Berdasarkan Pengenalan Citra Digital Kendaraan

Menggunakan Metode Faster R-Cnn. University of Technology Yogyakarta.

Pahlevy, R. T. (2010). Rancang Bangun Sistem Pendukung Keputusan

Menentukan Penerima Beasiswa Dengan Menggunakan Metode Simple

Additive Weighting (SAW). Skripsi Program Studi Tehnik Informatika.

Pratikno, A. (2017). Implementasi Artificial Intelligence dalam Memetakan

Karakteristik, Kompetensi, dan Perkembangan Psikologi Siswa Sekolah

Dasar Melalui Platform Offline. Universitas Negeri Yogyakarta.

Redmon, J., Divvala, S., Girshick, R., & Farhadi, A. (2016). You Only Look

Once: Unified, Real-Time Object Detection. In The IEEE Conference on

Computer Vision and Pattern Recognition (CVPR).

Redmon, J., & Farhadi, A. (2016). YOLO9000: Better, Faster, Stronger. ArXiv

Preprint ArXiv:1612.08242.

Salawazo, V. M. P., Gea, D. P. J., Gea, R. F., & Azmi, F. (2019).

IMPLEMENTASI METODE CONVOLUTIONAL NEURAL NETWORK

(CNN) PADA PENEGANALAN OBJEK VIDEO CCTV. Jurnal Mantik

Penusa, 3(1.1).

Shianto, K. A., Gunadi, K., & Setyati, E. (2019). Deteksi Jenis Mobil

Menggunakan Metode YOLO Dan Faster R-CNN. Jurnal Infra, 7(1), 157–

163.

Page 82: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

68

Susanto, K. N., Gunadi, K., & Setyati, E. (2019). Pengenalan Karakter pada Plat

Nomor Indonesia dengan Tilt Correction dan Metode Faster R-CNN.

Jurnal Infra, 7(1), 1–7.

Tobi, M. D. (2015). Rancang Bangun Purwarupa Sistem Pendeteksi Kendaraan

Menggunakan Pustaka Opencv. In Electro Luceat (Vol. 1).

https://doi.org/10.32531/jelekn.v1i1.3

Wahyudi, D. A., & Kartowisastro, I. H. (2011). Menghitung Kecepatan

Menggunakan Computer Vision. Universitas Binus.

Page 83: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

70

Page 84: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

71

Page 85: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

72

Page 86: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

73

Page 87: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

74

Page 88: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

75

Page 89: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

76

Page 90: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

77

Page 91: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

78

Page 92: IMPLEMENTASI SISTEM CERDAS PADA OTOMATISASI PENDETEKSIAN …

79