implementasi algoritma artificial neural network …

69
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

Upload: others

Post on 11-Nov-2021

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 2: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 3: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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 :

Page 4: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

iv

Page 5: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 6: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 7: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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)

Page 8: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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.

Page 9: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 10: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 11: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 12: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 13: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 14: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 15: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 16: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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.

Page 17: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 18: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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).

Page 19: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 20: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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).

Page 21: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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.

Page 22: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 23: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 24: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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.

Page 25: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 26: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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).

Page 27: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 28: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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)

Page 29: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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.

Page 30: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 31: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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)

Page 32: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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.

Page 33: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 34: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 35: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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.

Page 36: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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.

Page 37: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

23

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

2. Arsitektur Sistem

Gambar 3.4 Arsitektur Model

Page 38: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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).

Page 39: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 40: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 41: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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.

Page 42: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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.

Page 43: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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.

Page 44: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 45: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 46: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 47: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 48: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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.

Page 49: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 50: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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.

Page 51: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 52: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

38

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 3.31 YoloV3 Model

Gambar 3.32 Darknet Convolutional Layer

Page 53: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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.

Page 54: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

40

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 3.33 Implementasi Penyamaan format Bobot dan format Dimensi

Page 55: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 56: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 57: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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.

Page 58: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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%) - -

Page 59: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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%)

Page 60: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 61: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 62: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 63: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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.

Page 64: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 65: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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.

Page 66: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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

Page 67: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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.

Page 68: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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.

Page 69: IMPLEMENTASI ALGORITMA ARTIFICIAL NEURAL NETWORK …

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.