Post on 11-Nov-2021
IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL
NETWORK (ANN) PADA PENDETEKSI UANG KERTAS
LAPORAN SKRIPSI
JALLU RAMADHAN 4616010042
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA DAN KOMPUTER
POLITEKNIK NEGERI JAKARTA
2020
IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL
NETWORK (ANN) PADA PENDETEKSI UANG KERTAS
LAPORAN SKRIPSI
Dibuat untuk Melengkapi Syarat-Syarat yang Diperlukan untuk Memperoleh
Gelar Sarjana Terapan
JALLU RAMADHAN
4616010042
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA DAN KOMPUTER
POLITEKNIK NEGERI JAKARTA
2020
iii
HALAMAN PERNYATAAN ORSINILITAS
Skripsi/Tesis/Disertasi ini adalah hasil karya saya sendiri, dan semua sumber
baik yang dikutip maupun dirujuk telah saya nyatakan dengan benar
Nama : Jallu Ramadhan
NIM : 4616010042
Tanggal : 24 Juli 2020
Tanda Tangan :
iv
v
LEMBAR PENGESAHAN
Skripsi diajukan oleh:
Nama : Jallu Ramadhan
NIM : 4616010042
Program Studi : Teknik Informatika
Judul Skripsi : Implementasi Algoritma Artificial Neural Network (ANN)
Pada Pendeteksi Uang Kertas
Telah diuji oleh tim penguji dalam Sidang Skripsi pada hari Selasa, Tanggal 4 Bulan
Agustus Tahun 2020 dan dinyatakan LULUS.
Disahkan oleh
Pembimbing I : Mauldy Laya, S.Kom., M.Kom ( )
Penguji I : Iwan Sonjaya, S.T., M.T. ( )
Penguji II : Iklima Ermis Ismail, S.Kom., M.Kom. ( )
Penguji III : Asep Taufik Muharram, S.Kom., M.Kom. ( )
Mengetahui:
Jurusan Teknik Informatika dan Komputer
Ketua
Mauldy Laya, S.Kom., M.Kom
NIP. 197802112009121003
vi
KATA PENGANTAR
Puji Syukur saya panjatkan kepada Tuhan Yang Maha Esa, karena atas berkat dan
rahmatNya, penulis dapat menyelesaikan laporan skripsi ini. Penulisan laporan
skripsi ini dilakukan dalam rangka memenuhi salah satu syarat untuk mencapai gelar
Sarjana Terapan Politeknik. Penulis menyadari bahwa, tanpa bantuan dan bimbingan
dari berbagai pihak, dari masa perkuliahan sampai pada penyusunan Laporan Skripsi,
sangatlah sulit bagi penulis untuk menyelesaikan Laporan Skripsi. Oleh karena itu,
penulis mengucapkan terima kasih kepada:
a. Bapak Mauldy Laya, S.Kom., M.Kom. selaku dosen pembimbing yang telah
menyediakan waktu, tenaga, dan pikiran untuk mengarahkan penulis dalam
penyusunan Laporan Skripsi ini;
b. PT. INVICIT yang telah membantu dalam proses pengembangan serta knowledge
tentang teori serta praktisi dari skripsi.
c. Orang tua dan keluarga penulis yang telah memberikan bantuan dukungan moral
dan material.
d. Sahabat yang telah banyak membantu penulis dalam menyelesaikan laporan
skripsi ini.
Akhir kata, penulis berharap Tuhan Yang Maha Esa berkenan membalas segala
kebaikan semua pihak yang telah membantu. Semoga Laporan Skripsi ini membawa
manfaat bagi pengembangan ilmu.
Jakarta, Juli 2020
Penulis
vii
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI
SKRIPSI UNTUK KEPENTINGAN AKADEMIS
Sebagai sivitas akademik Politeknik Negeri Jakarta, saya yang bertanda tangan di
bawah ini:
Nama : Jallu Ramadhan
NIM : 4616010042
Jurusan / Program Studi : Teknik Informatika / Teknik Informatika dan
Komputer
demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada
Politeknik Negeri Jakarta Hak Bebas Royalti Noneksklusif (Non-exclusive Royalty-
Free Right) atas karya ilmiah saya yang berjudul:
IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK (ANN) PADA
PENDETEKSI UANG KERTAS
beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti
Noneksklusif ini Politeknik Negeri Jakarta berhak menyimpan,
mengalihmedia/format-kan, mengelola dalam bentuk pangkalan data (database),
merawat, dan memublikasikan skripsi saya selama tetap mencantumkan nama saya
sebagai penulis/pencipta dan sebagai pemilik Hak Cipta.
Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di Jakarta. Pada tanggal: 4 Agustus 2020
Yang menyatakan
(JALLU RAMADHAN)
viii
Implementasi Algoritma Artificial Artificial Neural Network (ANN) Pada
Pendeteksi Uang Kertas
Abstrak
Pemalsuan dokumen dan uang kertas muncul sebagai pemerasan terhadap hak-hak individu
dan institusi. Dengan kemajuan teknologi, mengambil langkah-langkah seperti penggunaan
kertas khusus, tinta, watermark dan penulisan mikro pada uang kertas asli membuat sulit
untuk mencegah penyebaran pemalsuan. Mengidentifikasi uang kertas palsu dan
meminimalkan kerugiannya adalah salah satu elemen penting. Di sini, sistem pakar dan
keputusan dapat dikembangkan untuk memperkirakan uang kertas palsu menggunakan data
uang kertas. Skripsi ini dibuat untuk merancang perangkat lunak yang mampu mengenali
nominal uang rupiah kertas beserta keasliannya melalui proses pengolahan citra berbasis
metode Jaringan Syaraf Tiruan dengan algoritma YoloV3. Sistem ini memperoleh
kemampuan deteksi dengan belajar dari contoh (Learning by Example). Dalam studi ini,
gambar uang kertas nyata dan palsu diklasifikasikan menggunakan algoritma klasifikasi
menggunakan data siap digital. Menggunakan Jaringan Syaraf Tiruan 90% deteksi akurat
terdeteksi dalam hasil pengujian.
Kata Kunci: Uang Kertas, Yolo V3, Learning by Example, Jaringan Saraf Tiruan.
ix
DAFTAR ISI
HALAMAN PERNYATAAN ORSINILITAS ............................................................ iii
KATA PENGANTAR.................................................................................................. vi
DAFTAR ISI ................................................................................................................ ix
DAFTAR TABEL ....................................................................................................... xii
DAFTAR GAMBAR ................................................................................................. xiii
BAB I PENDAHULUAN ............................................................................................ 1
1.1 Latar Belakang Masalah ................................................................................. 1
1.2 Perumusan Masalah ........................................................................................ 2
1.3 Batasan Masalah ............................................................................................. 3
1.4 Tujuan ............................................................................................................. 3
1.5 Manfaat ........................................................................................................... 3
1.6 Metode Pelaksanaan Skripsi ........................................................................... 3
BAB II TINJAUAN PUSTAKA .................................................................................. 5
2.1 Penelitian Sejenis ........................................................................................... 5
2.2 Uang ............................................................................................................... 6
2.2.1 Uang Kertas ............................................................................................. 6
2.2.2 Uang Logam ............................................................................................ 6
2.2.3 Keaslian Uang ......................................................................................... 6
2.3 Android ........................................................................................................... 7
2.4 React Native ................................................................................................... 7
2.5 Artificial Neural Network .............................................................................. 7
2.6 Convolutional Neural Network ...................................................................... 8
2.6.1 Convolutional Layer................................................................................ 9
2.6.2 Pooling Layer .......................................................................................... 9
2.6.3 Max Pooling .......................................................................................... 10
2.6.4 Stride ..................................................................................................... 10
x
2.6.5 Padding .................................................................................................. 11
2.6.6 Fully Connected Layer .......................................................................... 12
2.7 YoloV3 ......................................................................................................... 12
2.8 DarkNet-53 ................................................................................................... 14
2.9 LabelImg ...................................................................................................... 14
2.10 Tensorflow .................................................................................................... 15
2.11 Python ........................................................................................................... 15
2.12 Web Service ................................................................................................. 16
2.13 Flask ............................................................................................................. 16
2.14 Threshold ...................................................................................................... 16
2.15 Postman ........................................................................................................ 17
BAB III PERANCANGAN DAN REALISASI ........................................................ 18
3.1 Perancangan Program Aplikasi .................................................................... 18
3.1.1 Deskripsi Program Aplikasi .................................................................. 18
3.1.2 Cara Kerja Aplikasi ............................................................................... 18
3.1.3 Rancangan Program Aplikasi ................................................................ 22
3.2 Realisasi Program Aplikasi .......................................................................... 30
3.2.1 Implementasi Alat ................................................................................. 30
3.2.2 Implementasi Antarmuka Pengguna ..................................................... 33
3.2.3 Implementasi Pembuatan Tensorflow Model ....................................... 37
BAB IV PEMBAHASAN .......................................................................................... 41
4.1 Pengujian ...................................................................................................... 41
4.2 Deskripsi Pengujian ...................................................................................... 41
4.3 Prosedur Pengujian ....................................................................................... 41
4.3.1 Prosedur Pengujian Model .................................................................... 41
4.3.2 Prosedur pengujian alpha ...................................................................... 43
4.4 Data Hasil Pengujian .................................................................................... 43
4.4.1 Data Hasil Pengujian Model ................................................................. 43
xi
4.4.2 Data Hasil Pengujian Aplikasi .............................................................. 46
4.5 Analisis Data / Evaluasi ............................................................................... 47
4.5.1 Evaluasi Model...................................................................................... 47
4.5.2 Evaluasi Aplikasi .................................................................................. 49
BAB V PENUTUP ..................................................................................................... 50
5.1 Kesimpulan ................................................................................................... 50
5.2 Saran ............................................................................................................. 51
DAFTAR PUSTAKA ................................................................................................. 52
xii
DAFTAR TABEL
Tabel 1 Perbandingan Algoritma untuk Memprediksi Tingkat Kematian Dini Kanker5
Tabel 2 Prosedur Pengujian Aplikasi .......................................................................... 43
Tabel 3 Hasil Pengujian pada Model 84 Layer ........................................................... 44
Tabel 4 Hasil Pengujian pada Model 27 Layer ........................................................... 45
Tabel 5 Tabel Data Hasil Pengujian Black Box .......................................................... 46
xiii
DAFTAR GAMBAR
Gambar 1.1 Waterfall Versioning ................................................................................. 3
Gambar 2.1 Arsitektur CNN ......................................................................................... 8
Gambar 2.2 Proses Konvolusi ....................................................................................... 9
Gambar 2.3 Rumus Menghitung Konvolusi ................................................................ 9
Gambar 2.4 Proses Pooling Layer ............................................................................... 10
Gambar 2.5 Fully Connected Layer Process ............................................................... 12
Gambar 2.6 Bounding Boxes dengan Dimensi Sebelumnya dan Lokasi Prediksi ...... 13
Gambar 2.7 Darknet-53 Layer .................................................................................... 14
Gambar 3.1 Flowchart Aplikasi .................................................................................. 19
Gambar 3.2 Diagram Block ........................................................................................ 20
Gambar 3.3 Use Case Sistem Pendeteksi Uang Kertas ............................................... 22
Gambar 3.4 Arsitektur Model ..................................................................................... 23
Gambar 3.5 Data Preparation ...................................................................................... 25
Gambar 3.6 Kelas/Label pada Image processing ........................................................ 26
Gambar 3.7 Proses Labeling Data ............................................................................... 26
Gambar 3.8 Hasil file txt dari Anotasi Gambar .......................................................... 27
Gambar 3.9 Mengaktifkan OpenCV, GPU, Dan CUDNN ......................................... 27
Gambar 3.10 Build Darknet ........................................................................................ 27
Gambar 3.11 Setting Ukuran, Batch , dan Sub divisi ................................................. 28
Gambar 3.12 Setting Max Batches Policy dan Steps .................................................. 28
Gambar 3.13 Mendefinisikan Jumlah Kelas Pada Yolo Layer ................................... 28
Gambar 3.14 Mendefinisikan Jumlah Kelas dan Backup Path ................................... 29
Gambar 3.15 Generate_txt_file.py .............................................................................. 29
Gambar 3.16 Syntax menjalankan Train model .......................................................... 30
Gambar 3.17 Hasil Dari Training Data ....................................................................... 30
xiv
Gambar 3.18 Led UV .................................................................................................. 30
Gambar 3.19 Adaptor AC/DC ..................................................................................... 31
Gambar 3.20 Kardus Besar dan Kardus Kecil ............................................................ 31
Gambar 3.21 Kabel ..................................................................................................... 32
Gambar 3.22 Hasil Perakitan Environment Pendeteksi Uang Kertas ......................... 32
Gambar 3.23 Hasil dari Penggunaan Environment ..................................................... 33
Gambar 3.24 Splash Screen ........................................................................................ 33
Gambar 3.25 Get Started ............................................................................................. 34
Gambar 3.26 Menu Screen .......................................................................................... 35
Gambar 3.27 Upload Scan Gambar............................................................................. 35
Gambar 3.0.28 Hasil Scan ........................................................................................... 36
Gambar 3.29 Darknet Layer ........................................................................................ 37
Gambar 3.30 Darknet Block layer............................................................................... 37
Gambar 3.31 YoloV3 Model ....................................................................................... 38
Gambar 3.32 Darknet Convolutional Layer ................................................................ 38
Gambar 3.33 Implementasi Penyamaan format Bobot dan format Dimensi .............. 40
Gambar 4.1 Mengubah Konfigurasi Batch dan Sub Division ..................................... 42
Gambar 4.2 Perintah Menjalankan Data Testing ........................................................ 42
Gambar 4.3 Hasil Prediksi dari model ........................................................................ 42
Gambar 4.4 Prediction.jpg .......................................................................................... 42
Gambar 4.5 Sampel Hasil Pendeteksi ......................................................................... 46
Gambar 4.6 Hasil Training Model Yolov3 ................................................................. 47
Gambar 4.7 Hasil Deteksi Hologram .......................................................................... 48
Gambar 4.8 Komponen yang masuk kedalam label data Hologram dan Benang Cukai
..................................................................................................................................... 48
1
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Keberadaan uang palsu sudah beredar di masyarakat. Seperti dilansir pada
Liputan6.com bahwa Polisi meringkus pengedar uang palsu atas nama Surya Adnan
Kasogi alias Yogi bin Matsinar. Kasus tersebut diungkap pada pertengahan Mei 2018
atau saat menjelang awal Bulan Puasa Ramadan oleh Polres Pelabuhan Tanjung
Priok.
Kapolres Metro Pelabuhan Tanjung Priok AKBP Eko Hadi Santoso menyampaikan,
pelaku diamankan di Malang, Jawa Timur. Dia menawarkan penukaran uang palsu
melalui jejaring sosial media Facebook. Berawal dari petugas patroli cyber yang
mencurigai akun penjual rupiah pecahan kecil yang diduga sebagai uang palsu. Dari
situ, penyidik mencoba menjadi konsumen. "Anggota melakukan undercover dan
melakukan pemesanan uang rupiah palsu," tutur Eko saat dikonfirmasi di Jakarta,
Senin (28/5/2018) (Liputan6.com, 2018). Meskipun peningkatannya tidak secara
signifikan namun tetap masyarakat harus berhati – hati dengan oknum yang mampu
mengelabui mata awam masyarakat.
Berkenaan dengan hal itu teknologi telah mempermudah aktifitas manusia dalam
kehidupan sehari hari. Proses pengolahan informasi menjadi sarana yang sangat
membantu dalam hal membuat aktifitas menjadi cepat dan akurat, tentunya juga
membantu dalam pelayanan umum. Hal ini juga dapat membantu dalam mengatasi
permasalahan terkait pemalsuan uang kertas. Sehubungan dengan itu diperlukan
suatu rancangan perangkat lunak pendeteksi keaslian mata uang. Penipuan uang
kertas kepada masyarakat menjadi kendala permasalahan yang tidak sederhana.
Untuk itu dalam skripsi ini dirancang suatu perangkat lunak yang mengenali nilai
2
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
nominal mata uang kertas. Hal ini dapat menguntungkan masyarakat penderita tuna
netra karena nilai uang menjadi diketahui tanpa ada kebohongan dari pihak manapun.
Penelitian sejenis telah dilakukan dengan judul Implementation of Neural Network
Method in The Detection Tools Nominal Value of Banknotes oleh Indra Gunawan
Saputra, Erwin Susanto, dan Ramdhan Nugraha. Pada penelitian tersebut mereka
mencapai akurasi mencapai 90% akurat. juga penelitian yang dilakukan dengan
metode berbeda dengan judul Identification System of Rupiah Currency using K-
Means Clustering Method oleh Rusydi Umar, Imam Riadi, dan Miladiah tahun 2018.
Pada penelitannya akurasi yang dihasilkan sebesar 96.67 % tergantung dari jumlah
training data.
Berdasarkan permasalahan tersebut, maka dilakukan Implementasi Artificial
Artificial Neural Network (ANN) Pada Pendeteksi Uang Kertas. Artificial Neural
Network merupakan pendekatan matematis sel syaraf biologis yang menjadi
representasi dari algoritma pembelajaran mesin tersebut. Dengan menggunakan
algoritma ini, uang kertas dapat dibedakan berdasarkan ciri satu dengan yang lainnya.
Seperti, bentuk angka jumlah angka, serta latar belakangnya. Hal ini membuat sistem
ini dapat memberikan rasa aman kepada pelaku transaksi jual beli uang kepada pihak
yang tidak bertanggung jawab. Dengan adanya sistem ini pelaku tidak perlu
merisaukan informasi selain dari sistem pendeteksi ini.
1.2 Perumusan Masalah
Berdasarkan latar belakang yang telah diuraikan di atas, maka perumusan masalah
dalam pembuatan sistem ini adalah bagaimana cara mengimplementasikan Algoritma
Artificial Neural Network (ANN) Pada Pendeteksi Uang Kertas.
3
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
1.3 Batasan Masalah
Batasan masalah dalam pembuatan sistem ini adalah:
a. Sistem ini menggunakan Mata Uang Rupiah kertas nominal Rp50,000 dan
Rp100,000 edisi 2016 sebagai Subjek data pelatihan.
b. Sistem ini di implementasikan pada aplikasi berbasis Android.
c. Sistem ini memprediksi keaslian uang dengan adanya benang cukai dan watermark
1.4 Tujuan
Tujuan dari pembuatan sistem ini adalah mengimplementasikan Algoritma Artificial
Neural Network (ANN) Pada Pendeteksi Uang Kertas
1.5 Manfaat
Manfaat yang dapat diperoleh dari pembuatan sistem ini adalah dengan adanya sistem
ini mampu mengontrol penipuan uang palsu yang tersebar di masyarakat.
1.6 Metode Pelaksanaan Skripsi
Untuk menyelesaikan sistem ini akan menggunakan metode WaterFall. Tahapan
metode waterfall dapat dilihat pada gambar di bawah ini.
Gambar 1.1 Waterfall Versioning
4
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
1. Requirement Analysis
Tahap ini pengembang sistem memerlukan komunikasi yang bertujuan untuk
memahami perangkat lunak yang diharapkan oleh pengguna dan batasan perangkat
lunak tersebut.
2. System Design
Spesifikasi kebutuhan dari tahap sebelumnya akan dipelajari dalam fase ini dan
desain sistem disiapkan. Desain Sistem membantu dalam menentukan perangkat
keras (hardware) dan sistem persyaratan. Selain itu, membantu dalam mendefinisikan
arsitektur sistem secara keseluruhan.
3. Implementation
Pada tahap ini, sistem pertama kali dikembangkan di program kecil yang disebut unit,
yang terintegrasi dalam tahap selanjutnya. Setiap unit dikembangkan dan diuji untuk
fungsionalitas yang disebut sebagai unit testing.
4. Verification Testing
Seluruh unit yang dikembangkan dalam tahap implementasi diintegrasikan ke dalam
sistem setelah pengujian yang dilakukan masing-masing unit. Setelah integrasi
seluruh sistem diuji untuk mengecek setiap kegagalan maupun kesalahan.
5. Operation & Maintenance
Tahap akhir dalam model waterfall. Perangkat lunak yang sudah jadi, dijalankan serta
dilakukan pemeliharaan. Pemeliharaan termasuk dalam memperbaiki kesalahan yang
tidak ditemukan pada langkah sebelumnya. Perbaikan implementasi unit sistem dan
peningkatan jasa sistem sebagai kebutuhan baru. (Rizaldi, 2017).
5
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
BAB II
TINJAUAN PUSTAKA
2.1 Penelitian Sejenis
Penelitian dengan judul “Komparasi Algoritma Klasifikasi Data Mining untuk
Memprediksi Tingkat Kematian Dini Kanker dengan Dataset Early Death Cancer”
oleh Panny Agustia Rahayuningsih (2019) menyimpulkan bahwa Neural Network
memiliki akurasi tertinggi dengan nilai 98.35%.
Tabel 1 Perbandingan Algoritma untuk Memprediksi Tingkat Kematian Dini Kanker
Kedua, dari penelitian yang dilakukan oleh Royani Darma Nurfita dengan judul
“IMPLEMENTASI DEEP LEARNING BERBASIS TENSORFLOW UNTUK
PENGENALAN SIDIK JARI”. Penelitian tersebut menjelaskan tentang penerapan
deep learning dalam pengenalan sidik jari. Penelitian tersebut juga menjelaskan
bahwa nilai akurasi yang dihasilkan adalah sebesar 95.67%.
Penelitian lain dilakukan oleh Indra Gunawan Saputra, Erwin Susanto, Ramdhan
Nugraha dengan judul “IMPLEMENTASI METODE JARINGAN SARAF TIRUAN
(JST) PADA ALAT DETEKSI NILAI NOMINAL UANG”. Penelitian tersebut
menyatakan bahwa hasil dari penggunaan algoritma ANN memiliki akurasi rata rata
sebesar 90%. Penelitian tersebut memiliki saran perbaikan system yang berupa
pendeteksi uang asli maupun palsu dan penggunaan alat yang lebih kecil sehingga
lebih fleksibel. Berdasarkan perbandingan tersebut, dapat disimpulkan bahwa metode
6
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Neural Network memiliki hasil performa/akurasi yang lebih baik dibandingkan
menggunakan metode yang lain. Selain itu, alat pendeteksi uang asli maupun palsu
dengan ukuran yang lebih kecil juga akan dilakukan pada penelitian ini.
2.2 Uang
Menurut UU No. 13 tahun 1968 pasal 26 ayat 1, uang adalah uang adalah suatu benda
yang diterima secara umum oleh masyarakat untuk mengukur nilai, menukar, dan
melakukan pembayaran atas pembelian barang dan jasa, dan pada waktu yang
bersamaan bertindak sebagai alat penimbun kekayaan. Dalam hal ini uang terbagu 2
jenis:
2.2.1 Uang Kertas
Uang kertas adalah uang yang terbuat dari kertas dengan gambar dan cap tertentu dan
merupakan alat pembayaran yang sah. Menurut penjelasan UU No. 23 tahun 1999
tentang Bank Indonesia, yang dimaksud dengan uang kertas adalah uang dalam
bentuk lembaran yang terbuat dari bahan kertas atau bahan lainnya (yang menyerupai
kertas).
2.2.2 Uang Logam
Uang logam adalah uang yang terbuat dari logam; biasanya dari emas atau perak
karena kedua logam itu memiliki nilai yang cenderung tinggi dan stabil, bentuknya
mudah dikenali, sifatnya yang tidak mudah hancur, tahan lama, dan dapat dibagi
menjadi satuan yang lebih kecil tanpa mengurangi nilai.
2.2.3 Keaslian Uang
Menurut Buku Panduan Bank Indonesia tentang uang rupiah, Terdapat cara untuk
Mengenali Uang Rupiah kertas asli atau palsu. Dengan melakukan 3D (Dilihat,
Diraba, dan Diterawang), maka Uang Rupiah dapat dikenali. (Bank Indonesia, 2016).
Beberapa ciri keaslian uang diantaranya adalah memiliki benang pengaman(Cukai),
dan memiliki tanda air(Watermark).
7
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
2.3 Android
Android adalah sistem operasi mobile baru, nextgen yang berjalan pada Kernel Linux.
Pengembangan Aplikasi Mobile Android ini didasarkan pada bahasa Java, karena
memungkinkan pengembang untuk menulis kode dalam bahasa Java. Kode ini dapat
mengontrol perangkat mobile melalui library Java Google. Ini adalah platform
penting untuk mengembangkan aplikasi mobile menggunakan tumpukan perangkat
lunak yang disediakan di Android SDK Google. OS mobile Android menyediakan
lingkungan yang fleksibel untuk Pengembangan Aplikasi Mobile Android sebagai
pengembang tidak hanya dapat menggunakan Android Java library tetapi juga
memungkinkan untuk menggunakan IDE Java normal. (Holla & Katti, 2017:486)
2.4 React Native
React Native adalah salah satu framework javascript yang bisa digunakan untuk
mengembangkan aplikasi mobile. Dari hasil membuat aplikasi dengan React Native
aplikasi yang dihasilkan sangat mendekati bahkan tidak dapat dibedakan dengan
aplikasi native. Ini disebabkan library yang tersedia dalam React Native memang ada
native nya, jadi aplikasi yang dibuat dengan React Native langsung terintegrasi
dengan aplikasi native yang sebenarnya. (Wijonarko & Aji, 2018)
2.5 Artificial Neural Network
Artificial Neural Network (ANN) atau Jaringan Syaraf Tiruan (JST) adalah
paradigma pemrosesan suatu informasi yang terinspirasi oleh sistem sel syaraf
biologi. ANN dibentuk sebagai generalisasi model matematika dari jaringan syaraf
biologi, dengan asumsi bahwa (Saputra, Susanto, & Nugraha, 2016):
1. Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron).
2. Sinyal dikirimkan diantara neuron-neuron melalui penghubung-penghubung.
3. Penghubung antar neuron memiliki bobot yang akan memperkuat atau
memperlemah sinyal.
8
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
4. Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi
(biasanya bukan fungsi linier) yang dikenakan pada jumlahan input yang diterima.
Besarnya output ini selanjutnya dibandingkan dengan suatu batas ambang.
Jaringan syaraf tiruan ditentukan oleh 3 hal:
1. Pola hubungan antar neuron (disebut arsitektur jaringan).
2. Metode untuk menentukan bobot penghubung (disebut metode
training/learning).
3. Fungsi aktivasi, yaitu fungsi yang digunakan untuk menentukan keluaran
suatu neuron. (Saputra, Susanto, & Nugraha, 2016)
2.6 Convolutional Neural Network
Convolutional Neural Network (CNN) merupakan salah satu jenis dari Artificial
Neural Network yang biasanya digunakan dalam pengolahan data image. Konvolusi
atau biasa yang disebut dengan convolution adalah matriks yang memiiki fungsi
melakukan filter pada gambar. CNN memiliki beberapa layer yang difungsikan untuk
melakukan filter pada setiap prosesnya. Prosesnya disebut dengan proses training.
Proses training memiliki 3 tahapan yaitu Convolutional layer, Pooling layer, dan
Fully connected layer seperti yang terdapat pada Gambar 2.1 (Aditya Santoso, 2018).
Gambar 2.1 Arsitektur CNN
9
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
2.6.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 (Rawat & Wang, 2017).
Setiap filter akan mengalami pergeseran dan operasi “dot” antara data masukan dan
nilai dari filter. Lapisan konvolusi secara signifikan mengalami kompleksitas model
melalui optimalisasi outputnya. Hal ini dioptimalkan melalui tiga parameter, depth,
stride dan pengaturan zero padding (Royani Darma Nurfita, 2018).
Gambar 2.2 Proses Konvolusi
Gambar 2.3 Rumus Menghitung Konvolusi
2.6.2 Pooling Layer
Pooling layer menerima output dari convolution layer, pada layer ini ukuran data
citra akan direduksi. Prinsipnya pooling layer terdiri dari filter dengan ukuran
tertentu dan stride/langkah kemudian bergeser keseluruh area feature map. Sebagian
besar arsitektur CNN, metode pooling yang digunakan adalah Max pooling. Max
10
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
pooling membagi output convolution layer menjadi beberapa grid kemudian setia
pergeseran filter akan mengambil nilai terbesar dari setiap grid. Tergantung pada
panjang langkahnya, gambar yang dihasilkan adalah sebagian kecil dari ukuran
aslinya yang berguna untuk mengurangi dimensi data, sehingga mengurangi jumlah
parameter pada langkah selanjutnya (Royani Darma Nurfita, 2018).
Tujuan dari penggunaan pooling layer adalah mengurangi dimensi dari feature map
(downsampling), sehingga mempercepat komputasi karena parameter yang harus
diupdate semakin sedikit dan mengatasi overfitting.
Gambar 2.4 Proses Pooling Layer
2.6.3 Max Pooling
Dimensi output dari Pooling layer juga menggunakan rumus yang sama seperti pada
convolutional layer. Tujuan dari penggunaan pooling layer adalah mengurangi
dimensi dari feature map (downsampling), sehingga mempercepat komputasi karena
parameter yang harus diupdate semakin sedikit dan mengatasi overfitting (Rawat &
Wang, 2017).
2.6.4 Stride
Stride adalah parameter yang menentukan berapa jumlah pergeseran filter. Jika nilai
stride adalah 1, maka conv. filter akan bergeser sebanyak 1 pixels secara horizontal
lalu vertical. Pada ilustrasi diatas, stride yang digunakan adalah 2. Semakin kecil
stride maka akan semakin detail informasi yang dapatkan dari sebuah input, namun
membutuhkan komputasi yang lebih jika dibandingkan dengan stride yang besar.
11
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Namun perlu diperhatikan bahwa dengan menggunakan stride yang kecil tidak selalu
akan mendapatkan performa yang bagus. (Rawat & Wang, 2017)
2.6.5 Padding
Sedangkan Padding atau Zero Padding adalah parameter yang menentukan jumlah
pixels (berisi nilai 0) yang akan ditambahkan di setiap sisi dari input. Hal ini
digunakan dengan tujuan untuk memanipulasi dimensi output dari conv. layer
(Feature Map).
Dimensi output dari conv. layer selalu lebih kecil dari inputnya (kecuali penggunaan
1x1 filter dengan stride 1). Output ini akan digunakan kembali sebagai input dari
conv. layer selanjutnya, sehingga makin banyak informasi yang terbuang.
Dengan menggunakan padding, dapat mengatur dimensi output agar tetap sama
seperti dimensi input atau setidaknya tidak berkurang secara drastis. Sehingga bisa
menggunakan conv. layer yang lebih dalam/deep sehingga lebih banyak features yang
berhasil di-extract. Meningkatkan performa dari model karena conv. filter akan fokus
pada informasi yang sebenarnya yaitu yang berada diantara zero padding tersebut.
(Rawat & Wang, 2017)
Untuk menghitung dimensi dari feature map bisa gunakan rumus seperti dibawah ini:
W = Panjang/Tinggi Input
N = Panjang/Tinggi Filter
P = Zero Padding
S = Stride
12
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
2.6.6 Fully Connected Layer
Feature map yang dihasilkan dari Pooling layer masih berbentuk multidimensional
array, sehingga harus melakukan “flatten” atau reshape feature map menjadi sebuah
vector agar bisa gunakan sebagai input dari fully-connected layer (Royani Darma
Nurfita, 2018).
Gambar 2.5 Fully Connected Layer Process
2.7 YoloV3
Algoritma Convolutional Neural Network (CNN) merupakan algoritma yang paling
banyak dipakai untuk kasus object detection, salah satu alasannya karena didukung
oleh framework Tensorflow buatan Google, tetapi ternyata ada satu algoritma object
detection yang mempunyai tingkat akurasi dan kecepatan proses yang lebih tinggi,
yaitu You Only Look Once (YOLO) yang dapat dijalankan di 2 framework (Darknet
& Darkflow) dan didukung oleh GPU.
Yolo (You Look Only Once) adalah sebuah pendekatan menggunakan konsep CNN
untuk mendeteksi Objek. Objek apa di dalam gambar dan di mana mereka hadir dapat
diprediksi dengan hanya melihat sekali pada gambar. Alih-alih mempertimbangkan
tugas mendeteksi objek sebagai objek klasifikasi, YOLO menganggapnya sebagai
objek regresi untuk secara terpisah memisahkan kotak pembatas dan mengaitkan
probabilitas kelasnya. (Dixit, Chadaga, Savalgimath, Rakshith, & M R, 2019).
13
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Yolo memprediksi kotak pembatas (Boundary Boxes) menggunakan kluster dimensi
seperti Anchor Boxes. Networknya memprediksi 4 koordinat untuk setiap Boundary
boxes (tx, ty, tw, th). Jika sel diimbangi dari pojok kiri atas dari images (cx,cy) dan
kotak pembatas sebelumnya memiliki lebar dan tinggi(pw,ph), maka prediksi sesuai
dengan sebagai berikut:
Gambar 2.6 Bounding Boxes dengan Dimensi Sebelumnya dan Lokasi Prediksi
YoloV3 memprediksi skor objektivitas untuk setiap kotak pembatas menggunakan
regresi logistik. Ini harus menjadi satu jika Bounding Box tumpang tindih dengan
objek kebenaran lebih dari Bounding Box lainnya. Jika kotak pembatas sebelumnya
14
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
bukan yang terbaik tetapi tumpang tindih dengan objek kebenaran lebih dari beberapa
ambang batas, maka prediksi tersebut bisa di abaikan.
YoloV3 hanya menetapkan satu kotak pembatas sebelum untuk setiap objek
kebenaran. Jika kotak pembatas sebelumnya tidak ditugaskan ke objek kebenaran
dasar tidak menimbulkan kerugian untuk koordinat atau prediksi kelas. (Dixit,
Chadaga, Savalgimath, Rakshith, & M R, 2019).
2.8 DarkNet-53
Darknet adalah framework open source Neural Network yang ditulis dalam bahasa C
dan CUDA. (Redmon, Divvala, Girshick, & Farhadi, 2016) Didalamnya terdapat 53
lapisan Konvolusional berikut Layernya.
Gambar 2.7 Darknet-53 Layer
2.9 LabelImg
LabelImg adalah alat anotasi gambar grafis. Ini ditulis dalam Python dan
menggunakan Qt untuk antarmuka grafisnya. Anotasi disimpan sebagai file XML
dalam format PASCAL VOC, format yang digunakan oleh ImageNet. Selain itu, ia
juga mendukung format YOLO (Müller & Guido, 2018)
15
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
2.10 Tensorflow
Perkembangan bidang Deep Learning saatini telah dipermudah oleh banyaknya
library dan Application Program Interface (API). Library yang digunakan adalah
Tensorflow yang merupakan antarmuka untuk mengekspresikan algoritma
pembelajaran mesin dan untuk mengeksekusi perintah dengan menggunakan
informasi yang dimiliki tentang objek tersebut atau target yang dikenali serta dapat
membedakan objek satu dengan objek lainnya. Tensorflow memiliki fitur untuk
menjalankan pelatihan model menggunakan Central Processing Unit (CPU) dan
pelatihan model Graphic Processing Unit (GPU). Namun dalam implementasi ini
akan menjalankan pelatihan model dengan fitur CPU (Royani Darma Nurfita, 2018).
2.11 Python
Python telah menjadi bahasa yang banyak digunakan untuk aplikasi data science.
Bahasa python merupakan kombinasi dari general-purpose programming languages
dengan kemudahan penggunaan bahasa domain-specific scripting seperti MATLAB
atau R. Python memiliki library untuk data loading, visualisasi, statistic, dan natural
language processing, image processing dan lainnya (Muller & Guido, 2018)
Python biasanya seperlima atau sampai sepertiga ukuran dari Java atau kode C++.
Artinya pekerjaan semakin dapat diselesaikan karna mengandudng lebih sedikit kode.
Sehingga dengan lebih sedikit kode akan menjadi lebih mudah dibaca, lebih sedikit
kode yang di-maintain, di-debug, dan refactor code. Yang paling penting adalah
menjalankan python tidak memerlukan waktu yang lama untuk melihat hasil kode
yang telah di-compile (Romano, Learn Python Programming Second Edition, 2018).
Python masih digunakan sebagai bahasa untuk pemrograman/pengolahan data
statistik seperti machine learning karena bersifat open source, powerful, dan
didukung banyak library machine learning yang bervariasi.
16
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
2.12 Web Service
Web service juga 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 (Paramartha, Suryaningsih,
& Aryanto, 2016).
Web service terdiri dari kumpulan fungsi dan method yang berpusat pada sebuah
server yang dapat dipanggil oleh pengguna, dimana dapat mengakses method-method
tersebut meskipun dengan bahasa pemrograman maupun platform yang berbeda
(Pratama, Suryaningsih, & Aryanto, 2016).
Web service merupakan layanan-layanan yang disediakan serta dapat diakses melalui
jaringan yang berbasis web dengan standar yang telah ditetapkan sehingga mampu
menunjang interoperabilitas, dan dapat berjalan di berbagai platform.
2.13 Flask
Flask Merupakan micro framework untuk Python Development. Disebut micro
framework karena hanya mengimplementasikan fungsi utama (termasuk Routing) dan
juga menyediakan fungsionalitas yang lebih maju. Hasil dari sedikit setup pada
pertama penggunaan dan lebih banyak pilihan dan fleksibilitas untuk pengguna yang
lebih berpengalaman (Dwyer & Stoufer, 2017).
Contoh penggunaan flask adalah sebagai API (Application Protocol Interface) yang
dapat mengirim data dan mendapatkan hasil prediksi kedalam web dalam bentuk
JSON. Dokumentasi penggunaan flask dapat diakses pada halaman
https://flask.pocoo.org
2.14 Threshold
Menurut Tosun (2019) pada permasalahan klasifikasi, threshold yang digunakan
adalah 0.5 dimana suatu item diklasifikasikan dengan nilai diatas 0.5 untuk suatu
kelas klasifikasi. Tosun juga mengatakan bahwa dengan melakukan fine-tuning
17
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
terhadap decision threshold maka improvisasi hasil dari model yang dibuat akan
didapatkan. Nilai di atas batas tersebut menunjukkan “kelas/label” nilai di bawah
batas tersebut menunjukkan "non-label/kelas”. Selain itu Google Developer
menganggap bahwa threshold harus selalu 0,5, namun batas klasifikasi tersebut
bergantung pada masalah dan, oleh karena itu, diperlukan penyesuaian nilai.
Penelitian Indra Gunawan Saputra, Erwin Susanto, Ramdhan Nugraha (2016),
penggunaan LED menunjukan hasil yang mumpuni dengan presentase keberhasilan
93.5%. Maka dapat disimpulkan bahwa dengan ditambahkan environment dengan
LED, batas dari threshold dapat ditingkatkan. Berdasarkan hal tersebut, peneliti
menetapkan threshold sebesar 0,8.
2.15 Postman
Postman adalah platform kolaborasi untuk pengembangan API. Fitur Postman
menyederhanakan setiap langkah membangun API dan merampingkan kolaborasi
sehingga Anda dapat membuat API yang lebih baik dan lebih cepat. (Postman, 2020)
Postman digunakan untuk pengujian fungsional pada aplikasi. Teknik yang
digunakan untuk pengujian aplikasi menggunakan teknik blackbox. (Arianto, Munir,
& Khotimah, 2016)
18
BAB III
PERANCANGAN DAN REALISASI
3.1 Perancangan Program Aplikasi
3.1.1 Deskripsi Program Aplikasi
Sistem deteksi uang kertas merupakan sistem yang berfungsi untuk memberikan
informasi akurat perihal klasifikasi uang. Algoritma yang diterapkan pada sistem ini
yaitu algoritma Artificial Neural Network dengan jenis Convolutional. Secara garis
besar konsep Convolutional Nerural Network dan Artificial Neural Network serupa
tapi tak sama. Tiap-tiap komponennya terdiri dari neuron yang memiliki weight, bias,
dan activation function. Pembeda diantara keduanya adalah Arsitektur dari konsep itu
sendiri, dimana pada Convolutional Neural Network terbagi menjadi 2 bagian Besar,
yaitu, Feature Extraction Layer dan Fully Connected Layer.
3.1.2 Cara Kerja Aplikasi
Pengguna akan dihadapkan dengan memilih menu scan uang atau upload uang baru.
Apabila pengguna memilih scan uang baru, maka user melakukan capture uang yang
sudah diletakan di environment menggunakan kamera bawaan aplikasi. Setelah
meng-capture uang pengguna melakukan upload uang ke server untuk di scan di
server. Selanjutnya server memberikan umpan balik berupa label yang terdeteksi dan
akurasinya jika salah satu label tidak muncul maka sistem akan mengeluarkan hasil
bahwa uang tersebut uang palsu, sebaliknya jika semua label terdeteksi, maka sistem
akan mengeluarkan hasil bahwa uang tersebut asli. Gambar 3.1 menggambarkan
flowchart aplikasi.
19
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.1 Flowchart Aplikasi
Apabila pengguna memilih upload uang baru, maka sistem akan meminta pengguna
untuk mengupload uang baru dengan cara mengambil gambar dari kamera atau
mengambil gambar dari galeri. Selanjutnya pengguna mengupload uang untuk
20
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
disimpan di server untuk di jadi kan data uang baru untuk sistem. Gambar 3.1
menggambarkan flowchart yang dimiliki sistem pendeteksi uang menggunakan
Android.
Flowchart hanya menggambarkan fungsi atau proses yang berada di dalam aplikasi,
sedangkan keseluruhan system juga mencakup hardware yang berfungsi sebagai
environment pada system. Gambar 3.2 menggambarkan diagram block untuk
keseluruhan system.
Gambar 3.2 Diagram Block
21
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Aplikasi dimulai dari memasukan uang kedalam alat atau environment yang telah
aktif lampu LED. Selanjutnya aplikasi dijalankan pada perangkat yang sudah
terinstall aplikasi. Setelah aplikasi berjalan, pengguna memilih scan uang baru, maka
user melakukan capture uang yang sudah diletakan di environment menggunakan
kamera bawaan aplikasi. Setelah meng-capture uang pengguna melakukan upload
uang ke server untuk di scan di server. Selanjutnya server memberikan umpan balik
berupa label yang terdeteksi dan akurasinya jika salah satu label tidak muncul maka
sistem akan mengeluarkan hasil bahwa uang tersebut uang palsu, sebaliknya jika
semua label terdeteksi, maka sistem akan mengeluarkan hasil bahwa uang tersebut
asli. Setelah server mengeluarkan hasil, maka uang siap dikeluarkan dari
environment.
Apabila pengguna memilih upload uang baru, maka sistem akan meminta pengguna
untuk mengupload uang baru dengan cara mengambil gambar dari kamera atau
mengambil gambar dari galeri. Selanjutnya pengguna mengupload uang
untukdisimpan di server untuk dijadikan data uang baru untuk sistem. Setelah muncul
notifikasi berhasil, maka uang siap dikeluarkan dari environment.
22
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
3.1.3 Rancangan Program Aplikasi
1. Desain Sistem
Gambar 3.3 Use Case Sistem Pendeteksi Uang Kertas
Sistem ini melibatkan satu jenis actor yaitu user semua kalangan dengan peranan
sebagai berikut:
• Aktor melakukan scanning uang kertas untuk menjadi data testing pada model
sistem yang telah dibuat.
• Aktor bertugas untuk mengambil foto pada uang baru kemudian diupload ke
system untuk menjadi data training baru.
23
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
2. Arsitektur Sistem
Gambar 3.4 Arsitektur Model
24
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Jaringan saraf ini menggunakan jenis lapisan standar: konvolusi dengan kernel 3 × 3
dan max-pooling dengan 2 × 2 kernel. Lapisan konvolusional terakhir memiliki 1 × 1
kernel digunakan untuk mengecilkan data ke bentuk 13 × 13 × 27. 13×13 ini adalah
ukuran grid yang dibagi menjadi gambar. 27 merupakan Channel untu setiap grid. 27
ini berisi data untuk kotak pembatas dan prediksi kelas. Setiap sel grid memprediksi 5
kotak sekeliling dan dijelaskan oleh 27 elemen data. (Redmon, Divvala, Girshick, &
Farhadi, 2016).
25
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
3. Data Preparation
Gambar 3.5 Data Preparation
Berdasarkan alur yang berada pada gambar 3.5 terdapat langkah untuk menyiapkan
data yang akan di klasifikasi kemudian digunakan dalam training model. Klasifikasi
26
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
merupakan salah satu jenis pembelajaran mesin yang bertujuan memprediksi kelas-
kelas pada data baru. Dalam klasifikasi, terdapat target variabel kategori. Pada
Klasifikasi label ditentukan terlebih dahulu sehingga tidak mungkin hasil prediksi
dari data testing adalah label yang belum terdefinisi. Klasifikasi merupakan
supervised learning, artinya mesin harus mempelajari sekelompok data agar dapat
memprediksi secara akurat (Mardi, 2016). Dengan demikian langkah pertama adalah
menentukan kelas/label pada gambar yang sudah disiapkan.
Gambar 3.6 Kelas/Label pada Image processing
Proses pembuatan data set ini menggunakan LabelImg yaitu salah satu modul yang
ada pada Python. Dari kelas-kelas yang ada, lalu pembuatan bagian bagian yang
termasuk ke dalam kelas yang sudah dibuat. Selnjutnya dari hasil anotasi pada
LabelImg akan dihasilkan txt file yang berisi koordinat anotasi pada gambar.
Gambar 3.7 Proses Labeling Data
27
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.8 Hasil file txt dari Anotasi Gambar
Selanjutnya melakukan build dengan Framework Darknet-53 yang nantinya akan
digunakan untuk training model data. Sebelumnya diperlukan beberapa depedency
seperti python OpenCV dan juga library untuk mengaktifkan GPU pada device.
Gambar 3.9 Mengaktifkan OpenCV, GPU, Dan CUDNN
Selanjutnya melakukan build terhadap Darknet framework.
Gambar 3.10 Build Darknet
Setelah melakukan build terhadap Darknet framework maka diperlukan beberapa
konfigurasi untuk menyiapkan model. Untuk melakukan training data, pengaturan
banyaknya data sebanyak 64 batch kemudian mengubah subdivision tergantung pada
device yang memadai. Jika pada training data terdapat error of memory dari GPU
maka subdivision dinaikan dengan kelipatan 32.
28
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.11 Setting Ukuran, Batch , dan Sub divisi
Pada tahap konfigurasi model, pertama menentukan banyaknya data sekali training.
Selanjutnya, mengubah ukuran semua gambar yang ada menjadi ukuran 416 x 416
sesuai dengan ketentuan Yolov3. Lalu, penentuan berapa banyak pelatihan yang
dibutuhkan bersama data.
Gambar 3.12 Setting Max Batches Policy dan Steps
Jumlah yang di rekomendasikan oleh Yolov3 adalah 2000x jumlah kelas yang ada
maka didapatkan 8000 batch. Kemudian penentuan akurasi dari training model, yaitu
80% sampai 90% maka diatur steps pada 8000 x 80% sebagai minimum, dan 8000 x
90% sebagai maksimum. (Redmon, Divvala, Girshick, & Farhadi, 2016) Selanjutnya
adalah konfigurasi jumlah kelas pada Yolo dan jumlah Filtering
Gambar 3.13 Mendefinisikan Jumlah Kelas Pada Yolo Layer
Pada kelas yang telah dibuat terdapat 4 kelas seperti gambar 3.1.1 kemudian cara
menentukan filter pada Convolutional layer adalah (jumlah kelas+5)*3 maka
didapatkan hasil 27 untuk filter (Redmon, Divvala, Girshick, & Farhadi, 2016).
Tahap selanjutnya adalah mendefinisikan jumlah kelas dan file backup path.
29
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.14 Mendefinisikan Jumlah Kelas dan Backup Path
Pada file Obj.data berisi jumlah kelas yang akan di-training kemudian
mendefinisikan folder backup dimana nanti hasil dari training akan tersimpan pada
folder tersebut.
Gambar 3.15 Generate_txt_file.py
File konfigurasi terakhir yang diperlukan sebelum mulai melatih detektor adalah file
train.txt yang menahan path relatif ke semua gambar pelatihan. Dimana melakukan
iterasi pada setiap file gambar dengan ekstensi jpeg untuk menjadi data train.
Kemudian meng-generate txt file untuk menuliskan setiap path gambar yang telah
diiterasi. Setelah tahap konfigurasi selesai maka data siap di-train bersama dengan
model yang sudah di buat. Hasil dari train seperti yang sudah dikonfigurasi akan
berada pada folder backup.
30
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.16 Syntax menjalankan Train model
Gambar 3.17 Hasil Dari Training Data
3.2 Realisasi Program Aplikasi
3.2.1 Implementasi Alat
Hardware yang digunakan adalah untuk environment pada pendeteksi uang kertas.
Berikut adalah beberapa alat yang akan dirancang sebagai environment pada aplikasi
pendeteksi uang kertas:
a. Led Berwarna UV sepanjang 5 meter
Gambar 3.18 Led UV
Led UV digunakan sebagai fungsi utama dari pendeteksi yaitu menampakan
watermark dari pada uang kertas.
b. Adaptor AC-DC
31
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.19 Adaptor AC/DC
Adaptor digunakan sebagai alat dalam mengubah arus AC menjadi Arus DC dari stop
kontak menuju lampu LED UV.
c. 1 Kardus kecil, 1 Kardus Besar
Gambar 3.20 Kardus Besar dan Kardus Kecil
Kardus besar digunakan sebagai media tempat meletakan telepon cerdas juga sebagai
casing dari environment. Sedangkan kardus kecil digunakan sebagai media untuk
ditempelkan lampu LED juga sebagai penopang uang kertas saat di-scan.
d. Kabel
32
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Kabel digunakan untuk mengambil arus AC yang terdapat pada stop kontak. Gambar
3.20 merupakan hasil environment yang sudah dirancang untuk melakukan
pendeteksian uang kertas. Gambar 3.21 adalah hasil dari environment ketika
digunakan.
Gambar 3.22 Hasil Perakitan Environment Pendeteksi Uang Kertas
Gambar 3.21 Kabel
33
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.23 Hasil dari Penggunaan Environment
3.2.2 Implementasi Antarmuka Pengguna
Gambar 3.24 Splash Screen
Aplikasi Scan Keaslian Uang, Money Detection (Monde) di implementasikan
berbasis android dengan menggunakan framework React Native sebagai tampilan
34
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
front end-nya. Halaman Splash digunakan untuk memberi tahu pengguna bahwa
program sedang dalam proses memuat.
Gambar 3.25 Get Started
Halaman Get Started merupakan halaman yang berfungsi sebagai salam pembuka
pada aplikasi. Hal ini menandakan aplikasi siap digunakan.
35
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.26 Menu Screen
Halaman menu gambar 3.26, pengguna bisa melakukan scanning terhadap uang
mereka ataupun mengupload uang baru.
Gambar 3.27 Upload Scan Gambar
36
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.27 halaman Upload Scan Gambar, dapat memilih gambar yang sudah ada
pada galeri atau mengambil dengan kamera device, kemudian dapat mengupload foto
ke server untuk si scan apakah label label yang dibuat sebelumnya terdeteksi dengan
baik atau tidak.
Gambar 3.0.28 Hasil Scan
Pada Gambar 3.28 halaman Hasil Scan menampilkan hasil dari scan gambar yang
telah ter-scan hasilnya dan akurasi pada hasil scan. Ditampilkan juga apakah uang
tersebut bisa disebut asli atau tidak.
37
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
3.2.3 Implementasi Pembuatan Tensorflow Model
Proses pembuatan tensorflow model ditujukan agar model dapat digunakan dengan
lebih fleksibel oleh web Flask. Proses ini memiliki beberapa bagian, pertama
pembuatan YoloV3 Model menggunakan tensorflow, kedua pembuatan penyamaan
format bobot, dan format dimensi model dari YoloV3 Model dengan Tensorflow
Model.
1. Implementasi Pembuatan YoloV3 Model dengan Tensorflow
Pembuatan YoloV3 Model diperlukan beberapa layer seperti Darknet Layer, dimana
pada Darknet layer dibentuk dengan struktur layer yang telah disebutkan pada poin
2.8. Layer tersusun dari Input, melakukan Darknet convolutional layer, kemudian
melakukan Darknet block layer, dan pada Darknet block layer terdapat residual
layer. Selanjutnya ada Yolo convolutional Layer, pada layer ini dilakukan
penggabungkan layer dari layer sebelumnya dengan menambahkan Darknet
convolutional layer, apabila layer tersebut merupakan kumpulan dari layer-layer.
Terakhir adalah mengembalikan data yang berisi box prediksi dan akurasi.
Gambar 3.29 Darknet Layer
Gambar 3.30 Darknet Block layer
38
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.31 YoloV3 Model
Gambar 3.32 Darknet Convolutional Layer
39
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
2. Implementasi Penyamaan Format Bobot, Format Dimensi Model dari
Yolov3 Model Dengan Tensorflow Model
Penyamaan format bobot dan format dimensi dilakukan dengan tujuan agar nilai
bobot dan nilai dimensi dari model menjadi sesuai sehingga nilai bias yang dihasilkan
menjadi kecil. Selanjutnya dilakukan normalisasi untuk menormalkan lapisan input
dengan memusatkan kembali dan penskalaan ulang. Hal ini diperlukan untuk
meningkatkan kecepatan, kinerja, dan stabilitas dari Model.
40
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.33 Implementasi Penyamaan format Bobot dan format Dimensi
41
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
BAB IV
PEMBAHASAN
4.1 Pengujian
Pengujian merupakan salah satu tahapan untuk memastikan bahwa sistem yang telah
dibangun dapat berjalan dengan baik. Selain itu supaya cepat dilakukan perbaikan
apabila telah ditemukan kesalahan. Pengujian meliputi deksripsi, prosedur, data hasil
pengujian, dan analisis data atau evaluasi.
4.2 Deskripsi Pengujian
Pengujian aplikasi Money Detection (Monde) dilakukan melalui dua prosedur
pengujian, yaitu pengujian model dan pengujian aplikasi.
Pengujian model adalah pengujian menggunakan data yang baru diambil oleh
system, dan menggunakan dua jenis model yaitu model yang memiliki arsitektur
dengan struktur sejumlah 27 Layer dan Model dengan struktur arsitektur sejumlah
84 Layer dengan threshold yang digunakan sebesar 0.8. Data testing berjumlah 24
data yang dibedakan menjadi 5 data uang seratus ribu asli, 5 data uang seratus
ribu palsu, 5 data uang lima puluh ribu asli, 5 data uang lima puluh ribu palsu, 1
data uang lecek seratus ribu asli, 1 data uang lecek lima puluh ribu asli, 1 data
uang lecek seratus ribu palsu, 1 data uang lecek lima puluh ribu palsu.
Pengujian alpha merupakan pengujian black box testing yang memastikan
aplikasi dapat digunakan dan hasil keluaran aplikasi sesuai dengan yang telah di
prediksi
4.3 Prosedur Pengujian
4.3.1 Prosedur Pengujian Model
Pengujian terhadap model menggunakan data yang belum pernah diketahui oleh
model. Data yang disiapkan adalah data yang baru diambil dari environment yang
42
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
sudah dibuat. Hasil pengujian didapat dari hasil prediksi dari model dan akurasi dari
label yang sudah dibuat secara manual. Tahapan preprocessing data pada pengujian
sama seperti pada tahap preprocessing pada proses membangun model yang telah
dibahas pada bagian 3.1.3
Bagian pertama yang harus diatur ketika melakukan data testing adalah mengubah
konfigurasi batch dan sub division menjadi 1.
Gambar 4.1 Mengubah Konfigurasi Batch dan Sub Division
Selanjutnya menggunakan framework darknet-53 untuk melakukan testing data
dengan menjalankan perintah pada gambar 4.2.
Gambar 4.2 Perintah Menjalankan Data Testing
Gambar 4.3 Hasil Prediksi dari model
Model yang telah dibuat sudah dipastikan bisa berjalan. Selanjutnya hasil prediksi
dicetak dengan nama prediction.jpg yang berisi gambar dari data testing yang
diberikan boundary untuk setiap hasil prediksi seperti gambar 4.4.
Gambar 4.4 Prediction.jpg
43
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
4.3.2 Prosedur pengujian alpha
Pengujian yang dilakukan adalah pengujian alpha yaitu pengujian yang dilakukan
untuk memastikan program dapat berjalan dengan baik, maksudnya aplikasi dapat
mengeluarkan hasil sesuai dengan prediksi. Metode pengujian yang dilakukan adalah
Black Box testing. Tabel 2 adalah prosedur dari pengujian aplikasi.
Tabel 2 Prosedur Pengujian Aplikasi
Kode Item Uji Butir Uji Jenis Pengujian
A.1
Deteksi Gambar
Membuka Halaman Get Started Black Box
A.2 Menampilkan Halaman Menu Black Box
A.3 Membuka kamera Black Box
A.4 Mengambil gambar Black Box
A.5 Upload gambar Black Box
A.6 Menampilkan hasil deteksi & prediksi BlackBox
B.1
Upload Uang
Baru
Membuka Halaman Upload BlackBox
B.2 Mengambil Gambar Kamera BlackBox
B.3 Mengambil Gambar Galeri BlackBox
B.4 Upload Gambar Baru Ke Server BlackBox
4.4 Data Hasil Pengujian
4.4.1 Data Hasil Pengujian Model
Pengujian pada model dilakukan pada 20 gambar yang diambil dari environment.
Tabel 3 merupakan hasil pengujian oleh model dengan Struktur 84 layer. Tabel 4
merupakan hasil pengujian oleh model dengan struktur 27 layer. Pada tabel
pendeteksian mendapat kelengkapan dari segi label hal ini disebabkan karena
penurunan nilai threshold sampai nilai 0.01, begitupun hasil akurasi yang dihasilkan
pada pendeteksi juga kecil. Maka disimpulkan untuk pemakaian model yang efisien
adalah model dengan 84 layer.
44
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Tabel 3 Hasil Pengujian pada Model 84 Layer
Jenis
uang
Item
uji
Jenis uang terdeteksi
(akurasi %)
Hologram
(Akurasi %)
Benang Cukai
(Akurasi%)
Lima
Puluh
Ribu
Asli
Lpra_1 Lima_Puluh_Ribu(99%) Checked(96.56%) Checked(82%)
Lpra_2 Lima_Puluh_Ribu(99%) Checked(92.26%) Checked(97.32%)
Lpra_3 Lima_Puluh_Ribu(98%) Checked(94%) Checked(97%)
Lpra_4 Lima_Puluh_Ribu(92%) Checked(83%) Checked(98%)
Lpra_5 Lima_Puluh_Ribu(100%) Checked(83.27%) Checked(92%)
Seratus
Ribu
Asli
Sra_1 Seratus_Ribu(100%) Checked(97.23%) Checked(90%)
Sra_2 Seratus_Ribu(100%) Checked(90.18%) Checked(90%)
Sra_3 Seratus_Ribu(100%) Checked(98.22%) Checked(93%)
Sra_4 Seratus_Ribu(95.1%) Checked(87.23%) Checked(90%)
Sra_5 Seratus_Ribu(97.23%) Checked(98.22%) Checked(94%)
Lima
Puluh
Ribu
Palsu
Lprp_1 Lima_Puluh_ribu(99.27%) - -
Lprp_2 Lima_Puluh_ribu(89.42%) Checked(80.14%) -
Lprp_3 - - Checked(82.03%)
Lprp_4 Lima_Puluh_ribu(82.74%) Checked(95.1%) -
Lprp_5 Lima_Puluh_ribu(85.45%) Checked(81.2%) -
Seratus
Ribu
Palsu
Srp_1 Seratus_Ribu(82%) - -
Srp_2 Seratus_Ribu(100%) Checked(80.14%) -
Srp_3 Seratus_Ribu(85%) - Checked(81%)
Srp_4 - Checked(95.1%) -
Srp_5 Seratus_Ribu(39%) Checked(85.03%) -
Uang
Lecek
Sra_1 Seratus_Ribu (90%) Checked(60%) Checked(80%)
Srp_1 Seratus_Ribu (82%) Checked(81%) -
Lpra_1 Lima_Puluh Ribu (92%) Checked(85%) Checked(92%)
Lprp_1 Lima_Puluh Ribu (90%) - -
45
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Tabel 4 Hasil Pengujian pada Model 27 Layer
Jenis
uang
Item
uji
Jenis uang terdeteksi
(akurasi %)
Hologram
(Akurasi %)
Benang Cukai
(Akurasi%)
Lima
Puluh
Ribu
Asli
Lpra_1 Lima_Puluh_Ribu(49.03%) Checked(36.56%) Checked(42%)
Lpra_2 Lima_Puluh_Ribu(49.12%) Checked(42.26%) Checked(47.32%)
Lpra_3 Lima_Puluh_Ribu(48%) Checked(44%) Checked(40.27%)
Lpra_4 Lima_Puluh_Ribu(42%) Checked(83%) Checked(16.48%)
Lpra_5 Lima_Puluh_Ribu(52.74%) Checked(63.27%) Checked(72%)
Seratus
Ribu
Asli
Sra_1 Seratus_Ribu(32.03%) Checked(97.23%) Checked(30%)
Sra_2 Seratus_Ribu(3.05%) Checked(40.18%) Checked(50%)
Sra_3 Seratus_Ribu(45.02%) Checked(4.22%) Checked(53%)
Sra_4 Seratus_Ribu(35.1%) Checked(57.23%) Checked(70%)
Sra_5 Seratus_Ribu(47.23%) Checked(28.22%) Checked(14%)
Lima
Puluh
Ribu
Palsu
Lprp_1 Lima_Puluh_ribu(29.27%) Checked(35.1%) Checked(28.22%)
Lprp_2 Lima_Puluh_ribu(19.42%) Checked(80.14%) Checked(30%)
Lprp_3 Lima_Puluh_ribu(39.20%) Checked(48.22%) Checked(82.03%)
Lprp_4 Lima_Puluh_ribu(82.74%) Checked(95.1%) Checked(42%)
Lprp_5 Lima_Puluh_ribu(85.45%) Checked(81.2%) Checked(53%)
Seratus
Ribu
Palsu
Srp_1 Seratus_Ribu(32%) Checked(30%) Checked(44.2%)
Srp_2 Seratus_Ribu(100%) Checked(80.14%) Checked(49.13%)
Srp_3 Seratus_Ribu(85%) Checked(7.12%) Checked(81%)
Srp_4 Seratus_Ribu(35.26%) Checked(95.1%) Checked(22.03%)
Srp_5 Seratus_Ribu(5.06%) Checked(85.03%) Checked(5.22%)
Uang
Lecek
Sra_1 Seratus_Ribu (40.21%) Checked(6.22%) Checked(80%)
Srp_1 Seratus_Ribu (62%) Checked(81%) Checked(70.19%)
Lpra_1 Lima_Puluh Ribu (52%) Checked(8.65%) Checked(92%)
Lprp_1 Lima_Puluh Ribu (90%) Checked(52.13%) Checked(3.75%)
46
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 4.5 Sampel Hasil Pendeteksi
4.4.2 Data Hasil Pengujian Aplikasi
Pengujian yang dilakukan adalah pengujian alpha yaitu pengujian yang dilakukan
oleh developer untuk memastikan program dapat berjalan dengan baik. Sedangkan
metode pengujian yang dilakukan adalah black box testing. Tabel 5 merupakan hasil
pengujian black box testing.
Tabel 5 Tabel Data Hasil Pengujian Black Box
Kode Butir uji Harapan Pengamatan Hasil
A.1 Membuka Halaman
Get Started
Halaman Get Started
terbuka
Dapat membuka
Halaman Get Started
[✓] Diterima
[ ] Ditolak
A.2 Menampilkan
Halaman Menu
Halaman Menu
Terbuka
Dapat Membuka
Halaman Menu
[✓] Diterima
[ ] Ditolak
A.3 Membuka kamera Membuka kamera Dapat Membuka kamera [✓] Diterima
[ ] Ditolak
A.4 Mengambil gambar menangkap gambar
dengan kamera
Dapat membuka kamera
dan menangkap gambar
[✓] Diterima
[ ] Ditolak
47
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
A.5 Upload gambar Mengupload gambar ke
server untuk diprediksi
Dapat mengupload
gambar untuk di prediksi
[✓] Diterima
[ ] Ditolak
A.6 Menampilkan hasil
deteksi & prediksi
Menampilkan label
hasil prediksi dengan
akurasinya serta hasil
akhir
Dapat menampilkan
Hasil Prediksi dengan
akurasi dan hasil akhir
[✓] Diterima
[ ] Ditolak
B.1 Membuka Halaman
Upload
Menampilkan Halaman
Upload
Dapat Menampilkan
Halaman Upload
[✓] Diterima
[ ] Ditolak
B.2 Mengambil Gambar
Kamera
Membuka kamera dan
menangkap gambar
Dapat Menangkap
Gambar menggunakan
Kamera
[✓] Diterima
[ ] Ditolak
B.3 Mengambil Gambar
Galeri
Membuka Kamera dan
mendapatkan gambar
Dapat mengambil
gambar dari galeri
[✓] Diterima
[ ] Ditolak
B.4 Upload Gambar Baru
Ke Server
Mengirim Data
Gambar ke server
Dapat Mengirim Data
gambar Ke server
[✓] Diterima
[ ] Ditolak
4.5 Analisis Data / Evaluasi
4.5.1 Evaluasi Model
Analisis data dilakukan untuk mengevalusi hasil pengujian model dengan algoritma
neural network. Analisa dilakukan dengan cara melihat hasil dari 100 data training
mendapat kan loss sebesar 0.35. Selain itu learning rate yang dihasilkan data training
adalah 10^-6.
Gambar 4.6 Hasil Training Model Yolov3
Penyebab loss disebabkan karena kurangnya jumlah data untuk di-training, dari 100
data gambar terdapat Jumlah yang acak antar label gambar, hal ini disebabkan tidak
sempurnanya penampakan dari label yang telah ditentukan seperti Watermark dan
48
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Benang Cukai. IoU (Intersection over Union) pada hasil deteksi adalah 0.75 yang
berarti hasil dari boundary prediksi adalah bagus IoU>50%. (Rezatofighi, et al.,
2019).
Selanjutnya analisis berikutnya dilakukan dengan membandingkan hasil dari uang
pendeteksian uang asli uang palsu. Terdapat pendeteksian pada uang palsu dengan
nilai akurasi yang tinggi pada poin jenis uang, tetapi rendah dari poin Benang Cukai
dan Hologram. Diantara penyebab pendeteksian hologram dan juga benang Cukai
adalah pengambilan label pada saat preparasi data tidak sempurna. Label yang di
ambil saat preparasi data adalah berupa boundary box, sehingga ketika mengambil
label banyak objek objek diluar label yang di maksud terbawa bersama label tersebut.
Hal itu menyebabkan hasil dari training data sedikit terganggu.
Gambar 4.7 Hasil Deteksi Hologram
Pada gambar 0.8 terdapat boundary box berlabel Hologram, tetapi pada kenyataannya
tidak ada hologram pada gambar tersebut. Seperti yang disebutkan sebelumnya, hal
ini disebabkan karena adanya objek objek lain yang masuk kedalam Label training
data sehingga menyebabkan bagian tersebut juga merupakan inti dari label hologram
dan masuk kedalam hasil deteksi dengan akurasi yang rendah. Gambar 4.8 adalah
salah satu contoh dari komponen yang masuk ketika melakukan pelabelan data.
Gambar 4.8 Komponen yang masuk kedalam label data Hologram dan Benang Cukai
49
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
4.5.2 Evaluasi Aplikasi
Setelah dilakukan pengujian alpha menggunakan black box testing, diperoleh hasil
pengujian pada tabel 4. Selanjutnya adalah menghitung presentasi keberhasilan
aplikasi dengan rumus sebagai berikut.
Dari 10 skenario testing yang dilakukan, hasil presentasi keberhasilan aplikasi adalah
sebagai berikut.
Hasil pengujian aplikasi mendapatkan presentasi keberhasilan 100%. Hasil prediksi
pada system mendapat score rata rata 90%. Dapat disimpulkan bahwa fungsional
aplikasi dapat berjalan dengan informasi yang ditampilkan sesuai dari prediksi model,
dengan catatan aplikasi tidak dapat melakukan fitur auto-training uang baru. Hal ini
disebabkan perlunya pelabelan pada gambar untuk memprediksi uang baru serta
jumlah waktu yang diperlukan untuk menghasilkan model dari training data yang
optimal tidak sedikit. Juga diperlukan perangkat yang memadai untuk melakukan
training model.
50
BAB V
PENUTUP
5.1 Kesimpulan
Kesimpulan yang dapat diambil pada penelitian ini adalah aplikasi pendeteksi
keaslian Uang Kertas berhasil dibuat dengan metode algoritma Artificial Neural
Network dengan arsitektur model YoloV3. Pengujian yang telah dilakukan yaitu
pengujian model, pengujian system serta analisa yang dilakukan pada pengujian
model dapat kesimpulan sebagai berikut:
a. Pendeteksi Uang Kertas memiliki model dengan tingkat akurasi rata rata lebih
dari 85% untuk mendeteksi setiap objek pada uang kertas asli sedangkan untuk
akurasi pada uang palsu memiliki rata rata akurasi kurang dari 80% untuk setiap
objek pada uang palsu. Pada model aplikasi ini juga memiliki nilai IoU lebih dari
0.5. Hal ini menandakan bahwa model sudah berjalan dengan baik untuk
merepresentasikan keaslian uang, dengan ciri ciri memiliki watermark dan
memiliki Benang Pengaman yang asli bila dilihat dengan sinar UV.
b. Penelitian ini menghasilkan Aplikasi Pendeteksi Uang kertas yang dikembangkan
berbasis mobile menggunakan framework React-Native untuk bagian Front-end,
untuk proses pembuatan model menggunakan bahasa python dengan Arsitektur
model YoloV3 dan framework Darknet-53, dan untuk proses pembuatan Back-
end menggunakan teknologi Web-Service dengan framework Flask
51
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
5.2 Saran
Saran Penulis Untuk Pengembangan Sistem Selanjutnya adalah:
a. Penelitian ini masih dibangun menggunakan data dan variasi label yang sedikit,
disarankan untuk menambahkan data yang lebih banyak dan bervariasi untuk
segala kondisi pada setiap Label untuk mendapatkan akurasi yang lebih baik serta
menambah tingkat keaslian pada uang kertas.
b. Penelitian ini masih menggunakan teknologi object detection yang berarti masih
menggunakan boundary box sebagai hasil prediksi. Hal ini mengakibatkan proses
pelabelan data juga menggunakan boundary box sehingga banyak bagian bukan
dari objek sebenarnya masuk kedalam training data, sehubungan dengan ini
peneliti menyarankan untuk menggunakan teknologi yang membuat label dengan
cara memilih bagian inti tanpa mengikut sertakan bagian lainnya.
c. Pendeteksi Pada penelitian ini belum bisa melakukan Auto-Learning, yaitu
melakukan pelabelan dan melakukan training data dengan otomatis dari system.
52
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
DAFTAR PUSTAKA
Arianto, M. A., Munir, S., & Khotimah, K. (2016). ANALISIS DAN
PERANCANGAN REPRESENTATIONAL STATE TRANSFER (REST)
WEB SERVICE SISTEM INFORMASI AKADEMIK STT TERPADU
NURUL FIKRI MENGGUNAKAN YII FRAMEWORK. Jurnal Teknologi
Terpadu, 1-8.
Bank Indonesia. (2016). Cara Mudah Mengenali Keaslian Uang Rupiah Anda.
Jakarta: Bank Indonesia.
Dixit, K. S., Chadaga, M. C., Savalgimath, S. S., Rakshith, G. R., & M R, N. K.
(2019). Evaluation and Evolution of Object Detection Techniques YOLO and
R-CNN. International Journal of Recent Technology and Engineering
(IJRTE), 824 - 829.
Dwyer, G. A., & Stoufer, J. (2017). Flask: Building Python Web Services. Mumbai:
Packt.
Mardi, Y. (2016). Data Mining : Klasifikasi Menggunakan Algoritma C4.5. Jurnal
Edik Informatika Penelitian Bidang Komputer Sains dan Pendidikan
Informatika, 213-219.
Müller, A. C., & Guido, . (2018). Introduction to Machine Learning with Python (4th
Release ed.). California: O'Reilly Media.
Muller, A. C., & Guido, S. (2018). Introduction to Machine Learning Python (4th
Release ed.). California: O'Reilly Media.
Postman. (2020). Postman | The Collaboration Platform for API Development.
Retrieved from Postman: https://www.postman.com/
Pratama, A. Y., Suryaningsih, G. K., & Aryanto, K. E. (2016). IMPLEMENTASI
WEB SERVICE PADA SISTEM PENGINDEKSAN DAN PENCARIAN
53
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
DOKUMEN TUGAS AKHIR, SKRIPSI, DAN PRAKTIK KERJA
LAPANGAN. Jurnal Sains dan Teknologi, 775-784.
Redmon, J., Divvala, S., Girshick, R., & Farhadi, A. (2016). You Look Only Once:
Unified, Real-Time Object Detection. FaceBook AI Reasearch Journal, 1-10.
Rezatofighi, H., Tsoi, N., Gwak, J. Y., Sadeghian, A., Reid, I., & Savarese, S. (2019).
Generalized Intersection over Union: A Metric and A Loss for Bounding Box
Regression. Computer Science Journal Life, 1-9.
Romano, F. (2018). Learn Python Programming Second Edition (2nd ed.). Mumbai:
Packt.
Wijonarko, D., & Aji, R. F. (2018). PERBANDINGAN PHONEGAP DAN REACT
NATIVE SEBAGAI FRAMEWORK PENGEMBANGAN APLIKASI
MOBILE. Jurnal Manajemen Informatika & Sistem Informasi, 1-7.
Aditya Santoso, G. A. (201 (Dixit, Chadaga, Savalgimath, Rakshith, & M R, 2019)8).
IMPLEMENTASI DEEP LEARNING BERBASIS KERAS UNTUK
PENGENALAN WAJAH. Jurnal Emitor, 15-21.
Anggoro, K., Tulus, & Nababan, E. B. (2017). ANALISIS PENGGUNAAN
PARALLEL
PROCESSING MULTITHREADING PADA RESILIENT
BACKPROPAGATION. Jurnal Nasional Informatika dan Teknologi
Jaringan, 33-40.
Departemen Kesehatan Republik Indonesia. (2015, Juni 25). Berita . Retrieved from
Departement Kesehatan Website: http://www.depkes.go.id
Liputan 6.com. (2018, September 14). Jawa Tengah. Retrieved from Liputan6.com:
https://www.liputan6.com/regional/read/3642981/halau-penipu-dengan-
dompetajaib-bagi-penyandang-tunanetra
Paramartha, A. Y., Suryaningsih, G. K., & Aryanto, K. E. (2016). Implementasi Web
Service pada Sistem Pengindeksan dan Pencarian Dokumen Tugas Akhir,
Skripsi, dan Praktek Kerja Lapangan. Jurnal Sains dan Teknologi, 775-784.
54
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Rizaldi. (2017). PENERAPAN WATERFALL DALAM MEMBANGUN SISTERM
INFOEMASI PENGOLAHAN DATA KONSTRUKSI PEMBANGUNAN
JALAN. JURTEKSI(Jurnal Teknologi dan Sistem Informasi), 71-78.
Royani Darma Nurfita, G. A. (2018). IMPLEMENTASI DEEP LEARNING
BERBASIS TENSORFLOW UNTUK PENGENALAN SIDIK JARI. Jurnal
Emitor, 22-27.
Saputra, I. G., Susanto, E., & Nugraha, R. (2016). IMPLEMENTATION OF
NEURAL NETWORK METHOD IN THE DETECTION TOOLS
NOMINAL VALUE OF
BANKNOTES. e-Proceeding of Engineering, 65-71.
Sudarsono, A. (2016). JARINGAN SYARAF TIRUAN UNTUK MEMPREDIKSI
LAJU PERTUMBUHAN PENDUDUK MENGGUAKAN METODE
BACKPROPAGATION. Jurnal Media Infotama, 61-69.
55
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Lampiran 1 Riwayat Hidup Penulis
RIWAYAT HIDUP PENULIS
Jallu Ramadhan
Lahir di Kota Surabaya, 30 November
1998. Lulus dari SDN Cijantung 05 Pagi
pada tahun 2010, SMPN 179 Jakarta pada
tahun 2013, dan SMAN 98 Jakarta pada
tahun 2016. Saat ini sedang menempuh
pendidikan Diploma IV Program Studi
Teknik Informatika Jurusan Teknik
Informatika dan Komputer di Politeknik
Negeri Jakarta.