Perpustakaan Universitas Gunadarma BARCODE
BUKTI UNGGAH DOKUMEN PENELITIAN PERPUSTAKAAN UNIVERSITAS GUNADARMA
Nomor Pengunggahan
SURAT KETERANGAN
Nomor: 223/PERPUS/UG/2020Surat ini menerangkan bahwa:
Nama Penulis : MUHAMMAD SHIDDIQ FATHULLAH
Nomor Penulis : 14118957
Email Penulis : msf31@student.gunadarma.ac.id
Alamat Penulis : Jln Qadr V no 34 Islamic Village Tangerang
dengan penulis lainnya sebagai berikut:
Penulis ke-2/Nomor/Email : Guntur Eka Saputra / 140308 / guntur@staff.gunadarma.ac.id
Telah menyerahkan hasil penelitian/ penulisan untuk disimpan dan dimanfaatkan di Perpustakaan Universitas Gunadarma, dengan rincian sebagai berikut :
Nomor Induk : FTI/IA/PENELITIAN/223/2020
Judul Penelitian : PREDIKSI KARAKTER ANGKA UNTUK MENGIDENTIFIKASI AKURASI PADA GAMBAR DUA DIMENSI DENGAN MENGGUNAKAN ALGORITMA NEURAL NETWORK
Tanggal Penyerahan : 15 / 12 / 2020
PREDIKSI KARAKTER ANGKA UNTUK MENGIDENTIFIKASI
AKURASI PADA GAMBAR DUA DIMENSI DENGAN
MENGGUNAKAN ALGORITMA NEURAL NETWORK
Muhammad Shiddiq Fathullah1, Guntur Eka Saputra2
Jurusan Sistem Informasi Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Gunadarma1
Jurusan Teknik Informatika Fakultas Teknologi Industri Universitas Gunadarma2 Jl. Margonda Raya No. 100 Pondok Cina Depok
E-mail : msf31@student.gunadarma.ac.id1, guntur@staff.gunadarma.ac.id2
ABSTRAK
Angka merupakan tanda atau lambang sebagai pengganti bilangan. Angka dapat muncul atau tampil di sebuah gambar yang mengisi piksel piksel dari suatu gambar citra dua dimensi. Dalam praktiknya, saat ini pengenalan angka di dalam gambar digunakan dalam mendeteksi plat nomor kendaraan. Penelitian ini dilakukan untuk mengetahui prediksi dan mengidenitifikasi karakter angka pada gambar dua dimensi. Penelitian ini menggunakan algoritma neural
network yang merupakan salah satu algoritma yang dapat digunakan dalam pembelajaran
mesin. Penelitian ini menggunakan google collaboration, library tensorflow dan keras. Dari hasil ujicoba yang telah dilakukan bahwa penelitian ini dihasilkan tingkat akurasi sebesar 93.31% dan nilai loss sebesar 0.2242.
Kata Kunci: Prediksi, Angka, Gambar, Neural Network ABSTRACT
Number is a sign or symbol as a number signal. Numbers can appear or appear in a pixel image of a two-dimensional image. In practice, nowadays number recognition in images is used on vehicle license plates. The research was conducted to see predictions and identify numeric characters in two-dimensional images. This study uses a neural network algorithm, which is an algorithm that can be used in machine learning. This research uses google collaboration, tensorflow library and Keras. From the results of trials that have been done, the resulting research has an accuracy rate of 93.31% and a loss value of 0.2242.
Keywords: Prediction, Number, Picture, Neural Network PENDAHULUAN
Bilangan merupakan banyaknya benda atau satuan jumlah dalam satuan sistem matematik yang dapat ditambah, atau dikalikan [1]. Bilangan di dalam dunia teknologi informasi memiliki jenis yang bermacam-macam, seperti bilangan biner, octal, desimal, dan heksadesimal. Dalam bilangan tersebut direpresentasikan dalam sebuah angka yang dikenal dalam dunia internasional saat ini, yaitu 0 – 9. Menurut kamus besar bahasa Indonesia angka merupakan tanda atau lambang sebagai pengganti bilangan, dapat dikatakan sebagai nomor [2]. Angka merupakan digunakan untuk penomoran, dan juga diterapkan di dunia pengolahan citra.
Pada pengolahan citra, angka dapat muncul atau tampil di sebuah gambar yang mengisi piksel piksel dari suatu gambar citra dua dimensi. Penerapan citra angka diterapkan seperti
ini dilakukan selain menggunakan barcode, maka citra gambar ketika barcode di scan oleh sebuah alat yang dikenal dengan nama QRCode menampilkan gambar citra dua dimensi dari nomor plat nomor yang tersimpan dalam barcode tersebut.
Dari hal tersebut, saat ini masih membutuhkan dukungan dari manusia yaitu dengan menginputkan nomor plat kendaraan bermotor yang berupa angka dan karakter untuk mengkonfirmasi apakah benar atau tidak dari data citra tersebut. Hal ini menarik untuk dapat diterapkan kembangkan bahwa dari sebuah citra gambar dua dimensi yang menyimpan piksel-piksel bilangan berupa angka. Dalam mendeteksi dan memprediksi dari angka yang tersimpan dalam citra tersebut dapat menggunakan teknologi kecerdasan buatan dengan algoritma neural
network.
Algoritma neural network atau dikenal juga dengan artificial neural network (ANN) adalah algorritma machine learningyang dciptakan dengan meniru jaringan neuron pada otak manusia dengan tujuan agar mesin dapat belajar mirip dengan cara belajar otak manusia [3]. Algoritma ini dapat dikatakan bahwa tergolong algoritma paling cerdas dalam dasar pembuatan kecerdasan buatan. Dalam menerapkan algoritma ini tentu dengan menggunakan bahasa pemrograman yang popular digunakan saat ini dalam kecerdasan buatan, salah satunya yaitu Python.
Python merupakan salah satu bahasa pemrograman yang interpretatife yang dapat digunakan pada berbagai platform atau perangkat [4]. Bahasa pemrograman ini merupakan salah satu bahasa popler yang digunakan berkaitan dengan data science, machine learning, dan
internet of things (IoT). Penerlitian terkait dalam permasalahan yang diangkat pada penelitian
ini diantaranya penelitian yang dilakukan oleh Fitriawan dkk pada tahun 2012 yaitu mengidentifikasi plat nomor kendaraan secara off-line berbasis pengolahan citra dan jaringan syaraf tiruan dengan dua scenario, yaitu pengujian dengan data sampel yang diikutsertakan dalam pelatihan dan data sampel baru yang tidak diikutsertakan dalam proses pelatihan. Hasil pengujian memperlihatkan sistem dapat mengenali sebanyak 96% untuk yang di training dan 90% untuk data sampel yang tidak di training [5].
Avianto pada tahun 2016 pengenalan pola karakter plat nomor kendaraan menggunakan algoritma momentum backpropagation neural network dengan melibatkan 276 karakter yang terdiri dari huruf dan angka plat nomor di Indonesia. Dari hasil uji coba yang telah dilakukan didapatkan hasil bahwa akurasi didapatkan 97,10% atau 268 karakter dapat dikenali dengan benar [6].
Berdasarkan latar belakang dan penelitian terkait, maka untuk penelitian ini dilakukan dan dibatasi untuk memprediksi untuk mengetahui tingkat akurasi dari identifikasi angka yang terdapat pada gambar dua dimensi.
METODE PENELITIAN
Metode penelitian merupakan langkah-langkah yang dillakukan oleh peneliti dalam rangka untuk mengumpulkan data dan informasi dari penelitian yang dilakukan [7]. Pada penelitian ini mengujicoba untuk mengenali dan memprediksi tingkat akurasi dari objek gambar dua dimensi dalam menentukan angka, seperti pada terlihat diusulkan pada kerangka kerja penelitian seperti pada gambar 1 berikut ini.
Gambar 1. Kerangka Kerja Penelitian
Tahap identifikasi masalah merupakan proses dan hasil pengenalan atau inventarisasi masalah yang dijelaskan pada pendahuluan. Dari tahap ini dapat diketahui permasalahan yang dapat diangkat dan dibahas dalam penelitian ini. Tahap berikutnya yaitu studi literatur. Tahap ini penting dilakukan untuk mendukung kegiatan yang berkenaan dengan metode pengumpulan data pustaka, membaca dan mencatat, serta pengolahan bahan penelitian. Tahap studi literarur seperti membaca dari jurnal atau artikel terkait penelitian ini, menyusun metode penelitian, serta memilih algoritma dan teknologi yang digunakan dengan menggunakan google collaboration, serta tensorflow versi 2.3.0. dan library keras. Tahap berikutnya dalam penelitian ini yaitu mengumpulkan data (dataset) yang digunakan dari MNIST [8]. Tahap berikutnya perancangan model yang menentukan input, hidden, dan output layer dengan menggunakan berapa node untuk dapat digunakan dalam pelatihan dan ujicoba dengan menggunakan algoritma neural network.
PEMBAHASAN
Algoritma neural network atau jaringan saraf tiruan sekumpulan node yang saling terhubung, serupa dengan jaringan neuron yang luas di otak. Penggunaan jaringan saraf tiruan dalam aplikasi pengenalan karakter dapat menyederhanakan kode-kode secara dramatis dan meningkatkan kualitas pengenalan, sehingga dapat mencapai kinerja yang baik [9]. Arsitektur jaringan saraf tiruan terdiri dari 3 lapisan, seperti pada gambar 2 berikut ini.
Identifikasi Masalah
Studi Literatur
Pengumpulan Data
Perancangan Model
Pada gambar 2 merupakan arsitektur dari neural network yang terdiri dari lapisan input, lapisan tersembunyi yang dikenal dengan hidden layer, dan lapisan output. Sejumlah node yang digambarkan dalam sebuah lingkaran merupakan node dari setiap lapisan yang selalu terhubung dengan node pada lapisan berikutnya. Pada penelitian ini, penerapan algoritma
neural network menggunakan google collaboration dengan library tensorflow dan keras.
Pada tahap pertama, di-import Tensorflow sebagai library tambahan untuk membuat jaringan saraf sederhana. Tensorflow yang digunakan adalah versi 2.3.0. Berikut ini kode yang digunakan untuk menggunakan dan memastikan versi tensorflow, seperti pada gambar 3.
Gambar 3. Kode Import dan Versi Tensorflow
Pada tahap selanjutnya, mengimport atau memasukan dataset yang sudah tersedia pada MNIST, dimana pada MNIST sudah terdapat beberapa contoh data dalam bentuk gambar dua dimensi. Gambar tersebut terdiri dari gambar-gambar tulisan tangan yang merepresentasikan suatu nilai dari angka 0-9. Setelah itu, dilakukan normalisasi dengan menggunakan library keras untuk menjadikan suatu nilai data input menjadi nilai yang memiliki rentang 0-1, seperti pada gambar 4.
Gambar 4. Import dan Normalisasi Data
Tahap selanjutnya adalah pembuatan pelatihan model, dimana pada pelatihan model terdapat input layer, hidden layer, dan output layer. Kode yang digunakan yaitu terdapat 1
input layer, 2 hidden layer, dan 1 output layer. Pada input layer terdapat 28 x 28 node, begitu
juga pada 2 hidden layer terdapat 28 x 28 node, dan pada output layer terdapat 10 node. Pada penelitian ini menggunakan algoritma optimasi yaitu Adam, seperti pada gambar 5 berikut.
Gambar 5. Pelatihan Model
Pada gambar 5 menggunakan fungsi aktivasi yang digunakan di hidden layer yaitu fungsi Rectified Linear Unit (ReLU). ReLU adalah fungsi aktivasi yang memiliki perhitungan sederhana. Proses forward dan backward melalui ReLU hanya menggunakan kondisi if. Jika elemen bernilai negatif maka nilainya di set menjadi 0, tidak ada operasi eksponensial, perkalian atau pembagian. Pada jumlah epochs (jumlah model “belajar” dari iterasi yang dijalankan), pada penelitian ini hanya menggunakan 1 kali training, dan mendapatkan hasil yang sudah cukup tinggi, dimana akurasi tersebut sampai 0.8809 atau 88.09%. Berdasarkan kode program pada gambar 5, pelatihan model dapat digambarkan pada gambar 6 berikut ini.
Gambar 6. Gambaran Pelatihan Model
Langkah selanjutnya adalah menyimpan model, dan mencoba menampilkan sebuah prediksi yang telah dijalankan oleh model jaringan syaraf. Kode program pada gambar 7 dihasilkan tingkat lost dan akurasi dari model yang disimpan dan dijalankan dari prediksi yang dilakukan dan hasilnya ditampilkan dengan menggunakan import matplotlib. Hasil yang ditampilkan oleh model jaringan syaraf, sesuai dengan gambar yang telah ada pada dataset, dimana saya menggunakan dataset [123]. Berikut kode program pada gambar 7 berikut ini.
Gambar 7. Pengujian Model
Berdasarkan hasil dari running pada kode program gambar 7, dihasilkan data tersebut merupakan sebuah gambar dari angka 6. Dihasilkan juga tingkat loss yaitu 0.2242 dan tingkat akurasi sebesar 0.9331 atau 93.31%, seperti tampak pada gambar 8.
Gambar 8. Hasil Pengujian
PENUTUP
Berdasarkan hasil ujicoba yang telah dilakukan tingkat akurasi yang sudah dapat adalah lebih dari 70%, yang berarti akan menghasilkan hasil yang relatif benar, yaitu tingkat akurasi sebesar 93.31% dan nilai loss sebesar 0.2242, sehingga tidak diperlukan pelatihan untuk melakukan training (epochs) yang terlalu banyak, jika memang pada 1 kali pelatihan dapat dihasilkan akurasi tersebut sudah bisa di atas 70%. Begitu juga dengan penggunaan node pada hidden layer, jika penggunaan node pada hidden layer bisa ditekan sampai batas minimalnya (jumlah node hidden layer = jumlah node input), dan menghasilkan akurasi yang cukup tinggi (diatas 70%), maka model tersebut sudah bisa digunakan dengan semestinya.
DAFTAR PUSTAKA
[1] KBBI. 2020. Bilangan. URL: https://kbbi.web.id/bilang. Waktu akses: 7 Desember 2020. [2] KBBI. 2020. Angka. URL: https://kbbi.web.id/angka. Waktu akses: 7 Desember 2020.
[3] Jimy. 2019. Nuural Network dengan R dan Python. Medium.com. URL: https://medium.com/@jrendz/neural-network-dengan-r-dan-python-2c4f9c358ff2. Waktu akses: 8 Desember 2020.
[4] Dicoding Indonesia. 2020. Memulai Pemrograman Dengan Python. Dicoding.com. URL: https://www.dicoding.com/academies/86. Waktu akses: 8 Desember 2020.
[5] Fitriawan, Helmy., Pucu, Ouriz., Baptista, Yohanes. 2012. Identifikasi Plat Nomor
Kendaraan Secara Off-Line Berbasis Pengolahan Citra dan Jaringan Syaraf Tiruan.
ELECTRICIAN – Jurnal Rekayasa dan Teknologi Elektro. Vol. 6, No. 2. Pp. 123-126. [6] Avianto, Donny. 2016. Pengenalan Pola karakter Plat Nomor Kendaraan Menggunakan
Algoritma Momentum Backpropagation Neural Network. Jurnal Informatika Vol. 10, No.
1, Jan 2016. pp. 1200-1209.
[7] Hidayat, Anwar. 2017. Metode Penelitian: Pengertian, Tujuan, Jenis. Statistikian.com. URL: https://www.statistikian.com/2017/02/metode-penelitian-metodologi-penelitian.html. Waktu akses: 8 Desember 2020
[8] Tensorflow. 2020. MNIST Dataset. Tensorflow.org. URL:
https://www.tensorflow.org/datasets/catalog/mnist. Waktu akses: 3 Desember 2020. [9] Patel, S.G., 2013. Vehicle License Plate Recognition Using Morphology and Neural