implementasi algoritma convolutional recurrent …
TRANSCRIPT
IMPLEMENTASI ALGORITMA CONVOLUTIONAL
RECURRENT NEURAL NETWORK DALAM
LATIN CHARACTER RECOGNITION
SKRIPSI
Diajukan sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer (S.Kom.)
Febe Febrita
00000013531
PROGRAM STUDI INFORMATIKA
FAKULTAS TEKNIK DAN INFORMATIKA
UNIVERSITAS MULTIMEDIA NUSANTARA
TANGERANG
2020
ii
LEMBAR PENGESAHAN SKRIPSI
IMPLEMENTASI ALGORITMA CONVOLUTIONAL
RECURRENT NEURAL NETWORK DALAM
LATIN CHARACTER RECOGNITION
Oleh
Nama : Febe Febrita
NIM : 00000013531
Fakultas : Fakultas Teknik dan Informatika
Program Studi : Informatika
Tangerang, 3 Juli 2020
Ketua Sidang Dosen Penguji
Marlinda Vasty O., S.Kom, M.Kom. Julio Christian Y., S.Kom., M.Kom.
Dosen Pembimbing
Farica Perdana Putri, S.Kom., M. Sc.
Mengetahui,
Ketua Program Studi Informatika
Nunik Afriliana, S.Kom., M.M.S.I.
iii
PERNYATAAN TIDAK MELAKUKAN PLAGIAT
Dengan ini saya:
Nama : Febe Febrita
NIM : 00000013531
Fakultas : Teknik dan Informatika
Program Studi : Informatika
menyatakan bahwa skripsi yang berjudul “IMPLEMENTASI
ALGORITMA CONVOLUTIONAL RECURRENT NEURAL
NETWORK DALAM LATIN CHARACTER RECOGNITION” ini
adalah karya ilmiah saya sendiri, bukan plagiat dari karya ilmiah yang
ditulis oleh orang lain atau Lembaga lain, dan semua karya ilmiah orang
lain atau Lembaga lain yang dirujuk dalam skripsi ini telah disebutkan
sumber kutipannya serta dicantumkan di Daftar Pustaka.
Jika di kemudian hari terbukti ditemukan kecurangan atau penyimpangan
baik dalam pelaksanaan skripsi maupun dalam penulisan laporan skripsi,
saya bersedia menerima konsekuensi dinyatakan TIDAK LULUS untuk
mata kuliah Skripsi yang telah saya tempuh.
Tangerang, 10 Juni 2020
Febe Febrita
iv
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK
KEPENTINGAN AKADEMIS
Sebagai sitivas akadekmik Universitas Multimedia Nusantara, saya yang bertanda
tangan di bawah ini:
Nama : Febe Febrita
NIM : 00000013531
Fakultas : Teknik dan Informatika
Program Studi : Informatika
Jenis Karya : Skripsi
Demi pengembangan ilmu pengetahuan, menyetujui dan memberikan izin kepada
Universitas Multimedia Nusantara hak Bebas Royalti Non-ekslusif (Non-
exclusive Royalty-Free Right) atas karya ilmiah saya yang berjudul:
IMPLEMENTASI ALGORITMA CONVOLUTIONAL RECURRENT
NEURAL NETWORK DALAM LATIN CHARACTER RECOGNITION
beserta perangkat yang diperlukan.
Dengan Hak Bebas Royalti Non-ekslusif ini, pihak Universitas Multimedia
Nusantara berhak menyimpan, mengalihmedia atau format-kan, mengelola dalam
bentuk pangkalan data (database), merawat, dan mendistribusi dan menampilkan
atau mempublikasikan karya ilmiah saya di internet atau media lain untuk
kepentingan akademis, tanpa perlu meminta izin dari saya maupun memberikan
royalty kepada saya, selama tetap mencantumkan nama saya sebagai penulis karya
ilmiah tersebut.
Demikian Pernyataan ini saya buat dengan sebenarnya untuk dipergunakan
sebagaimana mestinya.
Tangerang, 10 Juni 2020
Febe Febrita
v
HALAMAN PERSEMBAHAN/MOTO
Karya ini kupersembahkan bagi Kedua Orang Tua dan
Saudara-Saudari terkasih
Tujuan tidak tercapai bukanlah tragedi kehidupan,
Yang menjadi tragedi adalah tidak mempunyai tujuan untuk dicapai.
- James Autry -
vi
KATA PENGANTAR
Puji syukur kepada Tuhan Yang Maha Esa karena dengan berkat-Nya,
laporan skripsi yang berjudul “Implementasi Algoritma Convolutional
Recurrent Neural Network Dalam Latin Character Recognition” dapat
berhasil disusun dan selesai dengan baik.
Penulis juga mengucapkan terima kasih kepada:
1. Dr. Ninok Leksono, Rektor Universitas Multimedia Nusantara, yang
memberi inspirasi bagi penulis untuk berprestasi
2. Dr. Eng. Niki Prastomo, S.T., M.Sc., Dekan Fakultas Teknik dan
Informatika Universitas Multimedia Nusantara,
3. Nunik Afriliana, S.Kom., M.M.S.I., Ketua Program Studi Informatika
Universitas Multimedia Nusantara, yang menerima penulis dengan baik
untuk berkonsultasi,
4. Farica Perdana Putri, S.Kom., M.Sc., yang membimbing pembuatan
skripsi dan yang telah memberi banyak ilmu dan mengajar penulis tata
cara menulis laporan skripsi dengan penuh komitmen dan benar,
5. Papi, Mami, Tian, dan seluruh keluarga penulis yang memberikan
dukungan dan doa sepanjang penulis dalam proses menyelesaikan
laporan skripsi,
6. Tony Immanuel Richard Clint dan Wicky yang selalu memberi
dukungan, menghibur, dan membantu penulis setiap hari dalam
menyelesaikan laporan skripsi, dan
7. Priskila, Febry, Ko Chris, Ci Vio, Tole dan semua rekan penulis yang
selalu memberi dukungan, menghibur, dan membantu penulis dalam
vii
proses menyelesaikan laporan skripsi.
Semoga laporan skripsi ini dapat bermanfaat, baik sebagai sumber informasi
maupun sumber inspirasi, bagi para pembaca.
Tangerang, 10 Juni 2020
Febe Febrita
viii
IMPLEMENTASI ALGORITMA CONVOLUTIONAL
RECURRENT NEURAL NETWORK DALAM
LATIN CHARACTER RECOGNITION
ABSTRAK
Optical Character Recognition (OCR) merupakan metode yang dipakai
untuk mengubah printed text menjadi editable text. OCR sangat berguna dan
merupakan metode yang populer untuk berbagai macam aplikasi. Pada penelitian
ini, metode Convolutional Recurrent Neural Network (CRNN) digunakan untuk
menjadi metode yang digunakan pada OCR. CRNN merupakan pergabungan antara
Convolutional Neural Network dan Recurrent Neural Network. Loss yang
digunakan dalam training adalah CTC Loss. Evaluasi pada penelitian ini adalah
melihat validation loss saat training, Character Error Rate dan akurasi pada saat
testing yang menggunakan total 310,000 dataset untuk tiga kali training dan testing
yang berupa gambar dengan satu kata yang berupa printed text dengan font yang
bervariasi. Untuk memudahkan dalam memahami, maka dibutuhkan aplikasi
berbasis website dengan menggunakan Python dan web framework Flask. Uji coba
yang dilakukan adalah mengubah jumlah dataset dan batch size untuk melihat hasil
Character Error Rate dan akurasi untuk dievaluasi. Hasil terbaik yang didapatkan
dalam penelitian ini yaitu dengan CER 1.742 dan akurasi sebesar 98.25% dengan
menggunakan 140,000 dataset untuk training dan batch size sebesar 256.
Kata kunci: Convolutional Recurrent Network, Character Error Rate, CTC Loss,
Optical Character Recognition, Printed Text Image.
ix
IMPLEMENTATION ALGORITHM CONVOLUTIONAL
RECURRENT NEURAL NETWORK ON LATIN
CHARACTER RECOGNITION
ABSTRACT
Optical Character Recognition (OCR) is a method used to convert printed
text into editable text. OCR is very useful and popular method in various
applications. In this thesis, Convolutional Recurrent Neural Network (CRNN) is
used to be the method on OCR. CRNN is a combination of Convolutional Neural
Network and Recurrent Neural Network. The loss that used in training is CTC Loss.
The evaluation in this thesis is to see validation loss during training, Character Error
Rate and accuracy when testing which uses a total of 310,000 datasets for three
times training and testing in the form of images with one word printed text with
varying fonts. To make it easier to understand, a website-based application is
needed using Python and the Flask web framework. In this thesis, the trials are
changing the number of datasets and batch size to see the results of Character Error
Rate (CER) and accuracy to be evaluated. The best results obtained in this thesis is
with CER 1,742 and accuracy of 98.25% using 140,000 dataset for training and
batch size of 256.
Keywords: Convolutional Recurrent Network, Character Error Rate, CTC Loss,
Optical Character Recognition, Printed Text Image.
x
DAFTAR ISI
LEMBAR PENGESAHAN SKRIPSI .................................................................. ii
PERNYATAAN TIDAK MELAKUKAN PLAGIAT ......................................... iii
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK
KEPENTINGAN AKADEMIS ........................................................................... iv
HALAMAN PERSEMBAHAN/MOTO ............................................................... v
KATA PENGANTAR ........................................................................................ vi
ABSTRAK ....................................................................................................... viii
ABSTRACT ....................................................................................................... ix
DAFTAR ISI ....................................................................................................... x
DAFTAR GAMBAR .......................................................................................... xi
DAFTAR LAMPIRAN ...................................................................................... xii
PENDAHULUAN ............................................................................................... 1
1.1. Latar Belakang Masalah ........................................................................... 1
1.2. Rumusan Masalah .................................................................................... 2
1.3. Batasan Masalah ....................................................................................... 3
1.4. Tujuan Penelitian ...................................................................................... 3
1.5. Manfaat Penelitian .................................................................................... 3
1.6. Sistematika Penulisan ............................................................................... 2
LANDASAN TEORI ........................................................................................... 5
2.1 Optical Character Recognition (OCR) ...................................................... 5
2.2 Artificial Neural Network (ANN) ............................................................. 6
2.3 Convolutional Recurrent Neural Network (CRNN) ................................... 7
2.4 Convolutional Neural Network (CNN) ..................................................... 8
2.5 Long Short Term Memory (LSTM) ........................................................ 10
2.6 Connectionist Temporal Classification (CTC) ........................................ 14
2.7 Character Error Rate ............................................................................... 15
METODOLOGI DAN PERANCANGAN SISTEM ........................................... 17
3.1 Metodologi Penelitian............................................................................. 17
3.2 Perancangan Sistem ................................................................................ 18
3.2.1 Flowhcart Proses OCR ..................................................................... 18
3.2.2 Rancangan Tampilan Antarmuka ..................................................... 21
IMPLEMENTASI DAN UJI COBA .................................................................. 23
4.1 Spesifikasi Sistem................................................................................... 23
4.2 Implementasi Sistem .............................................................................. 24
4.2.1 Tampilan Aplikasi ........................................................................... 24
4.2.2 Potongan Kode ................................................................................ 25
4.3 Uji Coba ................................................................................................. 30
4.3.1 Skenario Pengujian .......................................................................... 30
4.3.2 Hasil Pengujian ................................................................................ 30
4.3.3 Evaluasi Sistem ............................................................................... 31
SIMPULAN DAN SARAN ............................................................................... 32
5.1 Simpulan ................................................................................................ 32
5.2 Saran ...................................................................................................... 32
DAFTAR PUSTAKA ........................................................................................ 34
xi
DAFTAR GAMBAR
Gambar 2.1. Tahap Image Acquisition ................................................................. 5
Gambar 2.2. Contoh gambar Artificial Neural Network (Ocktavia, 2018) ............ 7
Gambar 2.3. Tahapan CRNN (Baoguang Shi, Xiang Bai dan Cong Yao 2015) ..... 8
Gambar 2.4. Contoh CNN .................................................................................... 9
Gambar 2.5. Contoh Max Pooling (Prabhu, 2018) ................................................ 9
Gambar 2.6. Modul standard berulang RNN (Olah C., 2015) ............................. 10
Gambar 2.7. Struktur tahap pertama LSTM (Olah C., 2015) ............................... 11
Gambar 2.8. Struktur tahap kedua LSTM (Olah C., 2015) .................................. 12
Gambar 2.9. Perbedaan shape tanh dan sigmoid (Olah C., 2015) ........................ 12
Gambar 2.10. Struktur tahap ketiga LSTM (Olah C., 2015) ................................ 13
Gambar 2.11. Struktur tahap keempat LSTM (Olah C., 2015) ............................ 14
Gambar 3.1. Flowchart penelitian secara umum…………………………………19
Gambar 3.2. Flowchart Preprocessing ................................................................ 19
Gambar 3.3. Flowchart Model CRNN ................................................................ 20
Gambar 3.4. Flowchart Testing .......................................................................... 21
Gambar 3.5. Rancangan Halaman Utama Aplikasi ............................................. 21
Gambar 3.6. Rancangan Halaman Hasil Aplikasi ............................................... 22
Gambar 4.1. Tampilan Halaman Awal Website ..……...………………………….. 24
Gambar 4.2. Tampilan Halaman Hasil Website .................................................. 25
Gambar 4.3. Potongan Kode Preprocessing ........................................................ 25
Gambar 4.4. Potongan Kode Membagi Training dan Validation ......................... 26
Gambar 4.5. Potongan Kode Model Arsitektur (1) ............................................. 26
Gambar 4.6. Potongan Kode Model Arsitektur (2) ............................................. 27
Gambar 4.7. Potongan Kode CTC Loss .............................................................. 27
Gambar 4.8. Potongan Kode Sebelum Training .................................................. 27
Gambar 4.9. Potongan Kode saat Training ......................................................... 28
Gambar 4.10. Potongan Hasil Training .............................................................. 28
Gambar 4.11. Potongan Kode dan Grafik Training ............................................. 29
Gambar 4.12. Potongan Kode saat Testing ......................................................... 29