IMPLEMENTASI ALGORITMA CONVOLUTIONAL RECURRENT …

12
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

Transcript of IMPLEMENTASI ALGORITMA CONVOLUTIONAL RECURRENT …

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

xii

DAFTAR LAMPIRAN

1. Riwayat Hidup

2. Formulir Bimbingan Skripsi Pembimbing

3. Contoh Gambar Dataset