Upload
hoangkiet
View
234
Download
0
Embed Size (px)
Citation preview
i
PENGENALAN POLA AKSARA BATAK KARO
MENGGUNAKAN METODE BACK PROPAGATION
HALAMAN JUDUL
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh
Gelar Sarjana Komputer
Program Studi Teknik Informatika
Oleh:
APRILLIA RINJANI PUTRI
125314044
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
PATTERN RECOGNATION OF BATAK KARO CHARACTER
USING BACK PROPAGATION METHOD
TITLE PAGE
A THESIS
Presented as Partial Fulfillment of Requirements
to Obtain Sarjana Komputer Degree
in Informatics Engineering Department
By:
Aprillia Rinjani Putri
125314044
INFORMATICS ENGINEERING STUDY PROGRAM
INFORMATICS ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
SKRIPSI
HALAMAN PENGESAHAN
PENGENALAN POLA AKSARA BATAK KARO
MENGGUNAKAN METODE BACK PROPAGATION
Dipersiapkan dan ditulis oleh :
APRILLIA RINJANI PUTRI
NIM : 125314044
Telah dipertahankan di depan Panitia Penguji
Pada tanggal 12 Januari 2017
dan dinyatakan memenuhi syarat
Susunan Panitia Penguji
Nama Lengkap Tanda Tangan
Ketua : Dr. Anastasia Rita Widiarti, M. Kom. ………………..
Sekretaris : Eko Hari Parmadi, S.Si., M.Kom. ………………..
Anggota :Dr. C. Kuntoro Adi, SJ., M.A., M.Sc. ..........................
Yogyakarta, ..... …………. 2017
Fakultas Sains dan Teknologi
Universitas Sanata Dharma
Dekan,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
MOTTO
“Sesuatu yangbelum dikerjakan, seringkali tampak mustahil; kita baru yakin
kalau kita telah berhasil melakukannya dengan baik. ”
(Evelyn Underhill)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
MOTTO
“Sesuatu yangbelum dikerjakan, seringkali tampak mustahil; kita baru yakin
kalau kita telah berhasil melakukannya dengan baik. ”
(Evelyn Underhill)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa di dalam skripsi yang saya
tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah
disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
ABSTRAK
Aksara Batak Karo merupakan salah satu budaya Indonesia yang layak
dilestarikan. Dalam pengenalan suatu obyek dibutuhkan proses pembelajaran,
yang didapatkan melalui ciri-ciri dan pengalaman dalam mengamati obyek ynag
serupa yang telah didapatnya. Salah satu metode yang bisa digunakan untuk
mengenali pola tersebut adalah Jaringan Syaraf Tiruan Back Propagation.
Dalam Back Propagation, dibentuklah sebuah jaringan syaraf tiruan dengan
struktur layer input, layer tersembunyi, dan layer output. Pada pelatihan jaringan
tersebut layer tersembunyi mempunyai fungsi aktivasi yang berpengaruh pada
pembelajaran dari alat tersebut. Ketika pengujian hal yang dilakukan hampir mirip
dengan training hanya saja sudah ada target yang dipersiapkan. Jika dari data uji
yang diolah ada yang menemui hasil target maka digolongkan sebagai aksara
yang sama dengan target tersebut.
Tujuan dari penelitian ini adalah mengetahui kemampuan penggunakan
metode Back Propagation dalam pengenalan pola aksara batak karo dan
mengetahui berapa besar prosentase keakuratan penggunaan metode Back
Propagation dalam pengenalan pola Aksara Batak Karo.
Pada penelitian ini digunakan pencirian menghitung piksel hitam (Intencity
of Character) dan menghitung arah menggunakan masking diagonal kiri, diagonal
kanan, vertikal, dan horizontal (Mark Direction). Hasil yang diperoleh dalam
penelitian ini adalah ketika menggunakan kombinasi ciri 8 ada 151 data benar dan
tepat oleh alat uji back propagation. Tingkat akurasi tertinggi sebesar 90%.
Jaringan yang digunakan menggunakan 2 lapisan tersembunyi dan 1 lapisan
keluaran, dengan jumlah neuron 20 layer 1, 35 layer 2, dan lapisan keluaran 21.
Dari hasil yang diperoleh dalam penelitian maka penelitian ini dinyatakan berhasil
membuktikan bahwa metode back propagation mampu mengenali tulisan tangan
aksara batak karo karena sudah mencapai tingkat kebehasilan akurasi diatas 85%.
Kata Kunci: Pengenalan Pola, Mark Direction, Intencity Of Character, Jaringan
Syaraf Tiruan Back Propagation
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
Batak Karo Character is one of Indonesia culture that need to be preserved.
Recognizing an object takes a learning process, which is obtained through the
characteristics and experience in observing a similar object that has been earned.
One of methods that can be used to recognize these patterns is a neural network
back propagation.
In Back Propagation, a neural network formed with the structure of the input
layer, hidden layer and output layer. On the training of the network, hidden layer
has an activation function which affects the learning of these tools. During testing,
it perfomed almost similar to training. Only the targets were prepared. If the test
data processed met the target results then it would be classified as the same
character with the target.
The purpose of this research is to know the ability of Back Propagation
method in characters batak karo pattern recognition and to find out how much
percentage of accuracy using Back Propagation method in Batak Karo characters
pattern recognition.
This study used the characterization of calculating a black pixel (Intencity of
Character) and calculating the direction by applying masking diagonal left, right
diagonal, vertical, horizontal (Mark Direction). There were 151 data correct by
back propagation test aquipment after applying feature combination 8. The
highest accuracy rate was 90%. The back propagation used two layer, with the
number of neurons in 20 hidden layer 1, 35 hidden layer 2 and in output layer was
21. From the results, this study revealed succeeded in proving that the back
propagation method was able to recognize Batak Karo characters because it
achivied a success rate of accuracy above 85%.
Keywords: Patter Recognition, Mark Direction, Intencity of Character, Back
Propagation Neural Network
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa, sehingga
penulis dapat menyelesaikan tugas akhir dengan judul “Pengenalan Pola Tulisan
Tangan Aksara Batak Karo menggunakan Metode Back Propagation”. Tugas
akhir ini merupakan salah satu mata kuliah wajib dan sebagai syarat akademik
untuk memperoleh gelar sarjana komputer program studi Teknik Informatika
Universitas Sanata Dharma Yogyakarta.
Pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada
pihak-pihak yang telah membantu penulis baik selama penelitian maupun saat
mengerjakan tugas akhir ini. Ucapan terima kasih sebesar-besarnya penulis
sampaikan kepada:
1. Tuhan Yang Maha Esa, yang telah memberikan pertolongan dan kekuatan
dalam proses pembuatan tugas akhir.
2. Yayasan Perkumpulan Dharma Putri yang telah memberikan beasiswa
Ikatan Dinas
3. Orang tua M.M Yayuk Turliani dan Sr.Frida Sri Suliyani SPM, kakak
Aprillius Fanda, adik Febrina Putri Dewi, serta seluruh keluarga yang telah
memberikan dukungan spiritual dan material.
4. Dr. Cyprianus Kuntoro Adi, SJ., M.A., M.Sc. selaku dosen pembimbing
tugas akhir, atas bimbingan, waktu dan saran yang telah diberikan kepada
penulis.
5. Iwan Binanto S.Si, M.Cs selaku dosen pembimbing akademik, atas
bimbingan, kritik dan saran yang telah diberikan kepada penulis.
6. Dr. Anastasia Rita Widiarti M.Kom selaku ketua program studi Teknik
Informatika, atas bimbingan, kritik dan saran yang telah diberikan kepada
penulis.
7. Sudi Mungkasi, S.Si., M.Math.Sc., Ph.D. selaku Dekan Fakultas Sains dan
Teknologi, atas bimbingan, kritik dan saran yang telah diberikan kepada
penulis.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
8. Seluruh dosen Teknik Informatika atas ilmu yang telah diberikan semasa
kuliah dan sangat membantu penulis dalam mengerjakan tugas akhir.
9. Teman-teman Teknik Mesin, Yuni, Zhena atas bantuannya terhadap penulis
dalam mengumpulkan data untuk penelitian ini serta membantu memberi
informasi yang dibutuhkan dalam penelitian ini.
10. Trio Majalengka (Eva, Okta, Lia) yang selalu memberikan support dalam
menyelesaikan penelitian ini.
11. Teman Selo (Raisa, Agata, Siska, Toni, Feliks Eko, Yunus, Tata, Arel,
Ningrum) yang saling memberi dukungan, semangat ketika jenuh dan malas
dalam mengerjakan tugas akhir ini.
12. Teman-teman Teknik Informatika 2012 Sanata Dharma, terima kasih atas
semangat dan perjuangan selama 4 tahun bersama yang telah kalian berikan
kepada satu sama lain.
13. Teman-teman komputasi Ekli, Yosep Dio, Echo yang telah membantu
penulis dalam mengerjakan tugas akhir.
14. Anak Bimbingan Romo Kun (Wigha, Nita, Okta, Riya, Bondan, Dhesa,dll)
yang berjuang bersama dalam menyelesaikan tugas akhir.
15. Semua pihak yang tidak dapat disebutkan satu per satu yang telah
membantu penulis dalam pengerjaan tugas akhir ini.
Penulis menyadari masih banyak kekurangan yang terdapat dalam laporan
tugas akhir ini. Saran dan kritik sangat diharapkan untuk hasil yang lebih baik di
masa mendatang.Akhir kata, penulis berharap tulisan ini dapat berguna bagi
perkembangan ilmu pengetahuan dan wawasan pembaca.
Penulis,
Aprillia Rinjani Putri
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
DAFTAR ISI
1 HALAMAN JUDUL .............................................................................................. i
HALAMAN PENGESAHAN …………………………………………………..iv
MOTTO ................................................................................................................. v
PERNYATAAN KEASLIAN KARYA ............................................................. vii
LEMBAR PERPUSTAKAAN …………………………………………….…..vii
ABSTRAK ……………………………………………………………………..viii
KATA PENGANTAR ........................................................................................... x
DAFTAR ISI ......................................................................................................... xi
DAFTAR TABEL .............................................................................................. xiv
DAFTAR GAMBAR ........................................................................................... xv
BAB I PENDAHULUAN ...................................................................................... 1
1.1 Latar Belakang .......................................................................................... 1
1.2 Rumusan Masalah ..................................................................................... 2
1.3 Tujuan ........................................................................................................ 3
1.4 Batasan Masalah ....................................................................................... 3
1.5 Sistematika Penulisan ............................................................................... 4
BAB II LANDASAN TEORI ............................................................................... 5
2.1 Sejarah Aksara Batak ............................................................................... 5
2.2 Jaringan Syaraf Tiruan ............................................................................ 8
2.2.1 Jaringan Syaraf Tiruan Propagasi Balik / Back Propagation ...... 10
2.3 Pengenalan Pola ...................................................................................... 16
2.4 Penipisan Citra (Thining) ....................................................................... 16
2.5 Ekstraksi Ciri Mark Direction dan Intencity of Character ................ 17
BAB III METODOLOGI PENELITIAN ......................................................... 21
3.1 Data .......................................................................................................... 21
3.2 Perancangan Sistem ................................................................................ 22
3.2.1 Prepossesing ....................................................................................... 23
3.2.2 Pelatihan dan Pengujian Arsitektur JST ........................................ 26
3.2.3 Uji Data Tunggal ............................................................................... 30
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
3.3 Kebutuhan Sistem ................................................................................... 31
3.4 Perancangan Antarmuka Sistem ........................................................... 32
BAB IV IMPLEMENTASI DAN ANALISIS HASIL ..................................... 34
4.1 Implementasi Sistem ............................................................................... 34
4.1.1 Visualisasi Proses Ekstraksi Ciri ..................................................... 34
4.2 Analisis Hasil Penelitian ......................................................................... 40
4.2.1 Pengujian Variasi Arsitektur Jaringan ........................................... 40
4.2.2 Implementasi User Interface…………………………………...…..55
4.2.3 Pengujian Data Tunggal ................................................................... 62
BAB V PENUTUP ............................................................................................... 67
5.1 Kesimpulan .............................................................................................. 67
5.2 Saran ........................................................................................................ 67
DAFTAR PUSTAKA .......................................................................................... 68
LAMPIRAN……………………………………………………………...……...63
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
DAFTAR TABEL
Tabel 1.1 Tabel Penelitian .......................................................................................2
Tabel 3.1 Jumlah Data Input (Kombinasi Feature) ...............................................23
Tabel 3.2 4-Fold Cross Validation.........................................................................24
Tabel 4.1 Jumlah Data Input Arsitektur Jaringan ……………………………….36
Tabel 4.2 Hasil Akurasi seluruh percobaan ……………………………………..38
Tabel 4.3 Hasil Akurasi Feature 1 Hidden Layer 1 ……………………………..39
Tabel 4.4 Hasil Akurasi Feature 1, Hidden Layer 2 …………………………….40
Tabel 4.5 Hasil Akurasi Feature 2, Hidden Layer 1 …………………………….41
Tabel 4.6 Hasil Akurasi Feature 2, Hidden Layer 2 …………………………….42
Tabel 4.7 Hasil Akurasi Feature 3, Hidden Layer 1 …………………………….43
Tabel 4.8 Hasil Akurasi Feature 3, Hidden Layer 2 …………………………….44
Tabel 4.9 Hasil Akurasi Feature 4, Hidden Layer 1 …………………………….45
Tabel 4.10 Hasil Akurasi Feature 4, Hidden Layer 2 …………………………...46
Tabel 4.11 Hasil Akurasi Feature 5, Hidden Layer 1 …………………………...47
Tabel 4.12 Hasil Akurasi Feature 5, Hidden Layer 2 …………………………...48
Tabel 4.13 Hasil Akurasi Feature 6, Hidden Layer 1 …………………………...49
Tabel 4.14 Hasil Akurasi Feature 6, Hidden Layer 2 …………………………...50
Tabel 4.15 Hasil Akurasi Feature 7, Hidden Layer 1 …………………………...51
Tabel 4.16 Hasil Akurasi Feature 7, Hidden Layer 2 …………………………...52
Tabel 4.17 Hasil Akurasi Feature 8, Hidden Layer 1 …………………………...53
Tabel 4.18 Hasil Akurasi Feature 8, Hidden Layer 2 …………………………...54
Tabel 4.19 Hasil Pengujian Data Tunggal ………………………………………57
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
DAFTAR GAMBAR
Gambar 2.1 Silsilah Aksara .....................................................................................6
Gambar 2.2 Persamaan Surat Batak, Surat Ulu, Surat Incung ................................7
Gambar 2.3 Ilustrasi Jaringan Lapis Tunggal .........................................................9
Gambar 2.4 Ilustrasi Jaringan Lapis Majemuk......................................................10
Gambar 2.5 Ilustrasi Arsitektur Back Propagation ...............................................11
Gambar 2.6 Fungsi aktivasi........................... ........................................................11
Gambar 2.23 Struktur Elemen Tanda Arah ...........................................................17
Gambar 3.1Kolom Isi Responden................. ........................................................18
Gambar 3.2 Aksara Karo Tulisan Tangan...... .......................................................19
Gambar 3.3Diagram Blok Sistem................. ........................................................20
Gambar 3.4Citra keabuan menjadi Hitam Putih ...................................................21
Gambar 3.5Citra Setelah Thining................. ........................................................21
Gambar 3.6 Citra di bagi menjadi 9 segmen.. .......................................................22
Gambar 3.7Arsitektur JST 1 Hidden Layer ..........................................................25
Gambar 3.8Arsitektur JST 2 Hidden Layer...........................................................25
Gambar 3.9Proses Pengenalan dan Uji Data Tunggal .........................................28
Gambar 3.10Tampilan Antarmuka Sistem... .........................................................29
Gambar 3.11 Tampilan Antarmuka Sistem............................................................29
Gambar 4.1 Hasil Baca File aksara .jpg ..................................... ………………………...31
Gambar 4.2 Citra keabuan menjadi Hitam Putih ..................................................32
Gambar 4.3Ukuran Citra ditemukan................. ....................................................32
Gambar 4.4 Citra Setelah Thining................. .......................................................33
Gambar 4.5 Citra di bagi menjadi 9 segmen................. ........................................34
Gambar 4.6Ciri 1 dari BA KARO……….................... .........................................34
Gambar 4.7Ciri 2 dari BA KARO……….................... .........................................34
Gambar 4.8Ciri 3 dari BA KARO……….................... .........................................35
Gambar 4.9Ciri 4 dari BA KARO……….................... .........................................35
Gambar 4.10 Ciri 5 dari BA KARO ……….................... .....................................35
Gambar 4.11 Ciri 6 dari BA KARO ……….................... .....................................35
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
Gambar 4.12 Ciri 7 dari BA KARO ……….................... .....................................35
Gambar 4.13 Ciri 8 dari BA KARO ……….................... .....................................35
Gambar 4.14 Grafik Perubahan Akurasi seluruh percobaan …………………….39
Gambar 4.15 Grafik Perubahan Akurasi Ciri 1, Hidden Layer 1 ………………..40
Gambar 4.16 Grafik Perubahan Akurasi Ciri 1, Hidden Layer 2 ………………..41
Gambar 4.17 Grafik Perubahan Akurasi Ciri 2, Hidden Layer 1 ………………..42
Gambar 4.18 Grafik Perubahan Akurasi Ciri 2, Hidden Layer 2 ………………..43
Gambar 4.19 Grafik Perubahan Akurasi Ciri 3, Hidden Layer 1 ………………..44
Gambar 4.20 Grafik Perubahan Akurasi Ciri 3, Hidden Layer 2 ………………..44
Gambar 4.21 Grafik Perubahan Akurasi Ciri 4, Hidden Layer 1 ………………..45
Gambar 4.22 Grafik Perubahan Akurasi Ciri 4, Hidden Layer 2 ………………..46
Gambar 4.23 Grafik Perubahan Akurasi Ciri 5, Hidden Layer 1 ……….……….47
Gambar 4.24 Grafik Perubahan Akurasi Ciri 5, Hidden Layer 2 ………………..48
Gambar 4.25 Grafik Perubahan Akurasi Ciri 6, Hidden Layer 1 ………………..49
Gambar 4.26 Grafik Perubahan Akurasi Ciri 6, Hidden Layer 2 ………………..50
Gambar 4.27 Grafik Perubahan Akurasi Ciri 7, Hidden Layer 1 ………………..51
Gambar 4.28 Grafik Perubahan Akurasi Ciri 7, Hidden Layer 2 ………………..52
Gambar 4.29 Grafik Perubahan Akurasi Ciri 8, Hidden Layer 1 ………………..53
Gambar 4.30 Grafik Perubahan Akurasi Ciri 8, Hidden Layer 2 ………………..54
Gambar 4.31Tampilan Pelatihan dan Pengujian ……….......................................55
Gambar 4.32 Tampilan Proses Pelatihan Arsitektur JST 1 Hidden Layer ………56
Gambar 4.33 Tampilan Proses Pelatihan Arsitektur JST 2 Hidden Layer ………57
Gambar 4.34 Data Uji yang dikenali……………………………………. ………57
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Indonesia sebagai Negara kepulauan memiliki warisan kekayaan
budaya yang beragam, dimana salah satunya terwujud dalam aksara atau
tulisan asli daerah yang termasuk dalam aksara Nusantara. Sebagai bagian
dari aksara Nusantara, aksara Batak Karo yang merupakan rumpun dari
aksara Batak ini perlu mendapat perhatian khusus karena terancam punah
akibat keterbatasan data dan informasi (Kertasari dkk, 2009; Kozok,2009).
Penyebab keterbatasan tersebut yaitu dulu sastra diturunkan hanya secara
lisan, aksara Batak tidak digunakan untuk tujuan sehari-hari, melainkan
salah satunya digunakan untuk menulis naskah pustaka yang sebagian
besar berisi ilmu kedukunan dan mulai tahun 1852 dimusnahkan. Bentuk
aksara Batak dipengaruhi oleh varian aksara yang mulai akhir abad ke-19
diangkat untuk mencetak buku-buku yang bersifat keagamaan dan
pendidikan, sehingga apa yang dianggap sebagai aksara baku sekarang
sering merupakan hasil penyimpangan. Aksara Batak menjadi kebanggaan
masyarakat Batak sebagai prestasi nenek moyangnya yang mampu
menciptakan tulisan sendiri (Kozok, 2009). Tetapi di sisi lain, aksara
Batak sangat minim dimengerti ataupun dikenal oleh masyaakat, bahkan
sebagian besar masyarakat Batak sendiri tidak mengetahui adanya aksara
Batak.
Diperlukan sistem komputer yang mampu melakukan mengenali pola
aksara batak. Sebagai pemecahan atas permasalahan tersebut, dilakukan
penelitian untuk membangun sistem pengenalan pola aksara Batak Karo
secara otomatis. Beberapa penelitian mengenai pengenalan pola aksara
Batak yang telah dilakukan adalah sebagai berikut
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
Tabel 1.1 Tabel Penelitian
No Penelitian Peneliti / Tahun
Penelitian
Akurasi
1 Pengenalan Aksara Batak Toba
dengan Chain Code dan
Backpropagation
Daurat dan Anggi,
2013
100%
2 Pengenalan Tulisan Tangan
Aksara Batak Toba menggunakan
Backpropagation
Sitinjak, 2012 94,07%
3 Pengenalan Tulisan Tangan
Aksara Batak Toba menggunakan
Jaringan Syaraf Tiruan berbasis
Multilayer Perceptron
Rio, 2011 96,02%
Berdasarkan penelitian yang telah dilakukan oleh peneliti
sebelumnya, maka penulis melakukan penelitian mengenai pengenalan pola
aksara Batak Karo menggunakan metode jaringan syaraf tiruan Back
Propagation. Metode Back Propagation dipilih sebagai penyelesaian karena
merupakan salah satu metode JST yang sering dan tepat digunakan untuk
pengenalan pola temasuk tulisan tangan dengan menawarkan kelengkapan
serta akurasi dalam proses pengenalan tulisan tangan.
1.2 Rumusan Masalah
Berdasarkan permasalahan yang diuraikan pada latar belakang diatas,
maka diperoleh rumusan masalah dari penelitian ini yaitu:
1. Bagaimana metodeJaringan Syaraf Tiruan Back Propagation mampu
untuk mengenalipola tulisan tangan aksara Batak Karo?
2. Berapakah akurasi yang dapat dihasilkan oleh metode Jaringan Syaraf
Tiruan Back Propagation dalam mengenali pola aksara batak karo?
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
Hasil ekstraksi ciri menggunakan Mark Direction dan Intencity of
Character diharapkan mampu untuk menunjukkan perbedaan antar karakter
masing-masing ciri, yang dapat mempermudah metode Jaringan Syaraf
Tiruan Back Propagation dalam melakukan pengenalan untuk setiap aksara
1.3 Tujuan
Tujuan dari penelitian ini adalah membuat aplikasi yang mampu:
1. Mengenali pola tulisan tangan aksara Batak Karo menggunakan metode
Jaringan Syaraf Tiruan Back Propagation.
2. Memudahkan para pengguna untuk memahami dasar aksara Batak Karo
Aplikasi ini kiranya akan sangat berguna dikemudian hari untuk
membantu masyarakat asli Batak Karo untuk lebih belajar dengan
mengenali aksara, karena sesungguhnya orang Batak sendiri tidak tahu dan
mengerti aksara Batak Karo.
1.4 Batasan Masalah
Untuk membahas topik yang lebih terarah dan terfokus pada tujuan
yang akan dicapai, maka batasan masalahnya adalah sebagai berikut :
1. Pola aksara yang diteliti adalah pola aksara batak karo
2. Data citra aksara Batak Karo diambil dari 8 orang tulisan tangan
dimana input untuk sistem diperoleh dari hasil scanner kemudian
diproses dan dikenali oleh sistem.
3. Citra yang akan diproses berukuran 600 x 600 pixel dengan format
.jpg, .jpeg
4. Sistem hanya untuk mengenali 21 karakter aksara Batak Karo.
5. Sistem tidak mengenali karakter aksara Batak Karo dengan diakritik
anak ni surat dan angka
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
1.5 Sistematika Penulisan
Sistematika penulisan tugas akhir ini dibagi menjadi beberapa bab
dengan susunan sebagai berikut :
BAB I : PENDAHULUAN
Pada bab ini dijelaskan mengenai latar belakang masalah yang
mendorong dibangunnya sistem, rumusan masalah, tujuan dibangunnya
sistem, batasan masalah dalam dibangunnya sistem, dan sistematika
penulisan yang digunakan dalam menyelesaikan penelitian tugas akhir ini.
BAB II : LANDASAN TEORI
Pada bab ini akan diuraikan mengenai teori – teori dasar serta metode
yang digunakan dalam pembangunan sistem pada penelitian ini beserta
dengan teori – teori pendukung lainnya. Teori tersebut antara lain mengenai
Sejarah Aksara Batak, teori Pengenalan Poladan metode Jaringan Saraf
Tiruan khususnya model Back Propagation untuk proses pengenalan
polayang akan digunakan dalam perancangan sistem.
BAB III : METODOLOGI PENELITIAN
Pada bab ini akan dibahas mengenai analisa dan perancangan hal – hal
atau komponen – komponen yang akan digunakan untuk melakukan
penelitian, serta perancangan sistem secara lengkap.
BAB IV : IMPLEMENTASI DAN ANALISA HASIL
Pada bab ini akan dijelaskan mengenai implementasi sistem, sarana
yang dibutuhkan, penerapan rancangan yang telah dibuat dalam suatu
program, cara pengoperasian sistem, hasil implementasi, serta analisis dan
evaluasi dari hasil implementasi.
BAB V : PENUTUP
Pada bab ini akan digambarkan kesimpulan dari seluruh penelitian dan
saran – saran yang diusulkan untuk pengembangan lebih lanjut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
2 BAB II
LANDASAN TEORI
Bab ini berisi penjabaran mengenai teori – teori yang mendukung
dalam penelitian ini. Teori – teori yang digunakan dalam penelitian ini yaitu
Teori tersebut antara lain mengenai Sejarah Aksara Batak, teori Pengenalan
Pola, Penipisan Citra (Thining), Ekstraksi Ciri, dan metode Jaringan Saraf
Tiruan khususnya model Back Propagation untuk proses pengenalan pola
yang akan digunakan dalam perancangan sistem.
2.1 Sejarah Aksara Batak
Paleografi adalah ilmu tentang tulisan-tulisan kuno. Banyak masyarakat
yang mengenal tulisan terdapat naskah-naskah kuno yang umurnya dapat
mencapai ratusan atau bahkan ribuan tahun. Aksara yang terdapat pada
naskah-naskah kuno pada umumnya berbeda dengan aksara yang terdapat
dalam naskah yang lebih baru. Dengan cara memperbandingkan aksara-
akasara yang terdapat dalam naskah-naskah lama, dapat menyusun semacam
silsilah aksara. Sebagian besar sistem tulisan yang ada di Afrika, Eropa, dan
Asia berasal dari satu sumber, yakni aksara Semit Kuno yang menjadi nenek
moyang tulisan-tulisan Asia (Arab, Ibrani dan India) maupun Eropa (Latin,
Yunani dsb.)
Aksara Batak termasuk keluarga tulisan India. Aksara India yang tertua
adalah aksara Brahmi yang menurunkan dua kelompok tulisan yakni India
Utara dan India Selatan. Aksara Nagari dan Palawa masing-masing berasal
dari kelompok utara dan selatan dan kedua-duanya pernah dipakai di
berbagai tempat di Asia Tenggara, termasuk Indonesia. Yang paling
berpengaruh adalah aksara Palawa. Semua tulisan asli Indonesia berinduk
pada aksara tersebut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
Gambar 2.1 Silsilah Aksara (Kozok, 2009)
Aksara Nusantara asli dapat dibagi atas lima kelompok :
1. Aksara Hanacaraka (Jawa, Sunda, Bali)
2. Surat Ulu (kerinci, rejang, lampung, lembak, pasemah dan
serawi)
3. Surat batak (angkola-maindling, toba, simalungun, pakpak
dairi, karo)
4. Aksara Sulawesi (bugis, makasar dan bima)
5. Aksara Filipina (bisaya, tagalog, tagbanwa, mangyan)
Aksara Batak diklasifikasikan sebagai abugida, yaitu paduan antara
silabogram seperti aksara batak dan aksara nusantara lainnya.
Di antara aksara-aksara Nusantara yang paling dekat dengan aksara
Batak adalah aksara Kerinci (surat incung), aksara Lebong, Lembak, Lin-
tang, Pasemah, Rejang, Serawai (surat ulu), serta aksara Lampung. Sama
dengan daerah Batak, daerah-daerah tersebut juga agak terpencil di daerah
pegunungan sehingga kurang terpengaruh oleh pengaruh-pengaruh asing
yang dibawa dari seberang lautan dan secara lambat merembet dari pesisir
ke pedalaman. Salah satu pengaruh budaya asing adalah masuknya agama
Islam. Serentak dengan penyebaran agama Islam bersebar pula tulisan
Arab yang di Melayu terkenal sebagai tulisan Jawi. Aksara “Arab gundul”
tersebut cepat menggantikan aksara-aksara Sumatra asli yang kemudian
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
hilang sama sekali. Karena daerah-daerah yang disebut di atas berada di
pedalaman dan agak terpencil, maka pengaruh Islam baru dirasakan pada
abad ke-19 sehingga aksara asli masih dapat bertahan sampai pada abad
ke-20. Besar kemungkinan bahwa aksara Minangkabau dan Melayu juga
pernah ada, tetapi kemudian digantikan oleh tulisan Arab-Melayu se-
hingga hilang tak berbekas.Aksara-aksara surat ulu di Sumatra bagian
selatan banyak memiliki persamaan dengan huruf Batak. Huruf Ka, Ga,
dan Ha hampir sama bentuknya, dan juga huruf Da masih banyak
menunjukkan persamaan.
Gambar 2.2 Persamaan Surat Batak, Surat Ulu, dan Surat Incung
Aksara-aksara tersebut juga memperkenalkan sebuah hal yang baru
yakni aksara-aksara yang didahului bunyi sengau. Batak (Karo) memiliki
dua huruf tambahan yakni Mba dan Nda, aksara Kerinci dan Rencong
menambahkan dua lagi yakni Ngga dan Nja. Aksara Bugis juga mem-
punyai empat aksara yang bersengau ialah Ngka, Mpa, Nra, dan Nca.
Perlu dicatat bahwa gejala tersebut tidak ada pada aksara Batak selain
Karo, dan juga tidak ada di Lampung, Makasar, dan Filipina.
Tulisanaksara Karo, adalah kumpulan tanda-tanda(karakter/simbol-
simbol) untuk menyatakan sesuatu, yang pemakaiannya dimengerti dan
disepakati, yakni oleh masyarakat Karo itu sendiri. Tulisan Karo
merupakan milik dari masyarakat(etnis) Karo atau dengan kata lain,
tulisan yang tumbuh dan berkembang dimasyarakat(etnis) Karo serta
tersebar luas, dipergunakan, dan diajarkan(awalnya dengan bahasa
pengantar, cakap Karo) di ruang lingkup Karo yang dulunya meliputi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
pesisir timur di Sumatera(Oostkust van Sumatera) bagian utara dan
dataran tinggi Karo yang terbentang luas diatas pegunungan Bukit Barisan.
2.2 Jaringan Syaraf Tiruan
Jaringan Syaraf Tiruan adalah sistem pemrosesan informasi yang
memiliki karakteristik mirip dengan jaringan syaraf biologis (Siang, 2005).
Jaringan Syaraf Tiruan dibentuk sebagai generalisasi model
matematika dari jaringan syaraf biologis, dengan asumsi bahwa :
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.
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 (arsitekstur jaringan).
2. Metode untuk menentukan bobot penghubung.
3. Fungsi aktivasi.
Arsitekstur Jaringan merupakan salah satu hal penting dalam Jaringan
Syaraf Tiruan. Berikut ini beberapa arsitektur jaringan yang sering
digunakan dalam Jaringan Syaraf Tiruan:
1. Jaringan Lapis Tunggal
Dalam jaringan ini, sekumpulan input neuron dihubungkan
langsung dengan sekumpulan output-nya. Dalam jaringan lapis tunggal,
bobot satu unit keluaran tidak mempengaruhi bobot unit keluaran
lainnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
Gambar 2.3Ilustrasi Arsitektur Jaringan Lapis Tunggal (Siang, 2005)
Pada gambar 2.3 terdapat n unit input(𝑥1, 𝑥𝑖, … , 𝑥𝑛) dan m buah
unit output(𝑌1, 𝑌𝑗 , … , 𝑌𝑚). Kemudian (𝑤11, 𝑤𝑗1, … , 𝑤𝑚) menyatakan
bobot hubungan antara unit ke-i dalam input dengan unit ke-j dalam
output. Selama proses pelatihan, bobot-bobot tersebut akan
dimodifikasi untuk memperoleh keakuratan hasil yang maksimal.
2. Jaringan Lapis Majemuk
Jaringan lapis majemuk merupakan perluasan dari jaringan lapis
tunggal. Dalam jaringan lapis majemuk, selain unit input dan output,
ada pula unit lain, yang berada diantara unit input dan output (sering
disebut lapis tersembunyi). Dalam jaringan ini dimungkinkan ada
beberapa lapis tersembunyi. Unit dalam satu layar tidak saling
berhubungan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
Gambar 2.4 Ilustrasi Arsitektur Jaringan Lapis Majemuk (Siang, 2005)
Pada gambar 2.4 terdapat n buah unit input (𝑥1, 𝑥𝑖 , … , 𝑥𝑛) dan
mbuah unit output (𝑌1, 𝑌𝑗 , … , 𝑌𝑚), sebuah lapis tersembunyi yang terdiri
dari p buah unit (𝑧1, … , 𝑧𝑝). Jaringan ini dapat menyelesaikan masalah
yang lebih kompleks.
2.2.1 Jaringan Syaraf Tiruan Propagasi Balik / Back Propagation
Jaringan Syaraf Tiruan BackPropagation pada umumnya
membandingkan perhitungan keluaran Jaringan Syaraf Tiruan dengan target
keluaran dan menghitung nilai error untuk setiap unit jaringan.
BackPropagation adalah salah satu algoritma yang menggunakan metode
terawasi (supervised learning), dan termasuk jaringan MLP (Multi Layer
Perceptron) / Jaringan Lapis Majemuk.Metode ini merupakan salah satu
metode yang sangat baik dalam menangani masalah pengenalan pola-pola
kompleks. Di dalam jaringan ini, setiap unit yang berada di lapisan input
berhubungan dengan setiap unit yang ada di lapisan tersembunyi.
Sedangkan setiap unit di lapisan tersembunyi berhubungan dengan setiap
unit di lapisan output.
Dalam pola pelatihannya, jaringan ini akan diberi input-an yang
akan diteruskan ke dalam layar tersembunyi dan menuju hingga output.
Ketika hasil keluaran ternyata tidak sesuai dengan harapan maka keluaran
akan kembali disebarkan mundur (backward) pada lapisan tersembunyi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
hingga menuju input. Tahap selanjutnya adalah dengan melakukan
perubahan bobot. Iterasi ini terus dilakukan hingga ditemukan penyelesaian
yang optimal (Siang, 2005).
1. Arsitektur Back Propagation
Gambar 2.5 Ilustrasi Arsitektur Back Propagation (Siang, 2005)
Gambar 2.5 merupakan arsitektur jaringan syaraf tiruan back
propagation dengan n buah input ditambah sebuah bias, sebuah lapis
tersembunyi yang terdiri dari p unit ditambah sebuah bias, dan sebuah
lapis unit keluaran.
2. Fungsi Aktivasi
Dalam jaringan syaraf tiruan back propagation, fungsi
aktivasi yang dipakai harus memenuhi beberapa syarat, yaitu :
kontinu, terdeferensial dengan mudah dan merupakan fungsi yang
tidak turun. Salah satu fungsi yang memenuhi ketiga syarat tersebut
sehingga sering dipakai adalah fungsi sigmoidbiner yang memiliki
range(0,1).
𝑓(𝑥) =1
1+𝑒−𝑥 dengan turunan 𝑓′(𝑥) = 𝑓(𝑥)(1 − 𝑓(𝑥)) (2.6)
Fungsi lain yang sering dipakai adalah sigmoid bipolardengan
range(-1,1).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
𝑓(𝑥) =2
1+𝑒−𝑥 − 1dengan turunan𝑓′(𝑥) =(1+𝑓(𝑥))(1−𝑓(𝑥))
2 (2.7)
Fungsi sigmoid memiliki nilai maksimum = 1. Maka untuk
pola yang targetnya > 1, pola masukkan dan keluaran harus terlebih
dahulu ditransformasi sehingga semua polanya memiliki range yang
sama seperti fungsi sigmoid yang dipakai. Alternatif lain adalah
menggunakan fungsi aktivasi sigmoid hanya pada lapis yang bukan
lapis keluaran. Pada lapis keluaran, fungsi aktivasi yang dipakai
adalah fungsi identitas : 𝑓(𝑥) = 𝑥.
3. Proses Pelatihan Back Propagation
Proses Pelatihan Jaringan Syaraf Tiruan Back Propagation
terdiri dari 3 proses yaitu propagasi maju, propagasi mundur,
perubahan bobot. Ketiga proses tersebut diulang-ulang sampai kondisi
penghentian terpenuhi. Umumnya penghentian yang dipakai adalah
iterasi dan error. Iterasi akan dihentikan jika iterasi melebihi iterasi
yang ditentukan. Atau jika error sudah lebih kecil dari yang
ditentukan.
1. Propagasi Maju
Selama propagasi maju, sinyal masukkan (= 𝑥𝑖)
dipropagasikan ke lapis tersembunyi menggunakan fungsi
aktivasi yang ditentukan. Keluaran dari setiap unit lapis
tersembunyi (= 𝑧𝑗) tersebut selanjutnya dipropagasikan maju
lagi ke lapis tersembunyi di atasnya. Demikian seterusnya
hingga mendapatkan luaran jaringan (= 𝑦𝑘).
Berikutnya, luaran jaringan (= 𝑦𝑘) dibandingkan dengan
target yang harus dicapai (= 𝑡𝑘). Selisih 𝑡𝑘 − 𝑦𝑘 adalah error
yang terjadi. Jika nilai error lebih kecil dari yang telah
ditentukan, maka iterasi dihentikan, jika tidak, maka bobot
setiap garis dimodifikasi untuk mengurangi error yang terjadi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
2. Propagasi Mundur
Berdasarkan error 𝑡𝑘 − 𝑦𝑘, dihitung faktor 𝛿𝑘(𝑘 =
1,2, … , 𝑚) yang dipakai untuk mendistribusikan error di unit 𝑦𝑘
ke semua unit tersembunyi yang terhubung langsung dengan 𝑦𝑘.
𝛿𝑘 juga dipakai untuk mengubah bobot garis yang berhubungan
langsung dengan unit luaran.
Dengan cara yang sama, dihitung faktor 𝛿𝑗 di setiap unitlapis
tersembunyi sebagai dasar perubahan bobot semua garis yang
berasal dari unit tersembunyi di bawahnya. Demikian seterusnya
hingga semua faktor 𝛿 di unit tersembunyi yang berhubungan
langsung dengan unit masukkan dihitung.
3. Perbaikan Bobot
Setelah semua faktor 𝛿 dihitung, bobot semua garis
dimodifikasi bersamaan. Perubahan bobot suatu garis didasarkan
atas faktor 𝛿neuron di lapis atasnya.
Algoritma pelatihan untuk jaringan dengan satu layar
tersembunyi (dengan fungsi aktifasi sigmoid biner) adalah sebagai
berikut (Siang, 2005) :
Langkah 0: Inisialisasi semua bobot dengan bilangan acak kecil.
Langkah 1: jika kondisi penghentian belum terpenuhi maka lakukan
langkah 2-9.
Langkah 2: untuk setiap pasang data pelatihan, lakukan langkah 3-8
Fase I : Propagasi Maju
Langkah 3: tiap unit masukan menerima sinyal kemudian
meneruskan ke unit tersembunyi di atasnya.
Langkah 4: hitung semua keluaran di unit tersembunyi 𝑧𝑗 (j = 1, 2,
… , p)
𝑧_𝑛𝑒𝑡𝑗 = 𝑣𝑗𝑜 + ∑ 𝑥𝑖𝑣𝑗𝑖𝑛𝑖=1 (2.8)
𝑧𝑗 = 𝑓(𝑧_𝑛𝑒𝑡𝑗) (2.9)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
Langkah 5: hitung semua keluaran di unit tersembunyi 𝑦𝑘 (k = 1, 2,
… , m).
𝑦_𝑛𝑒𝑡𝑘 = 𝑤𝑘𝑜 + ∑ 𝑧𝑗𝑤𝑘𝑗𝑛𝑗=1 (2.10)
𝑧𝑗 = 𝑓(𝑦_𝑛𝑒𝑡𝑘) (2.11)
Fase II : Propagasi Mundur
Langkah 6: hitung faktor 𝛿𝑘 unit keluaran berdasarkan error setiap
unit keluaran 𝑦𝑘 (k = 1, 2, … , m).
𝛿𝑘 = (𝑡𝑘 − 𝑦𝑘)𝑦𝑘(1 − 𝑦𝑘) (2.12)
Hitung suku perubahan bobot 𝑤𝑘𝑗 dengan laju percepatan 𝛼
∆𝑤𝑘𝑗 = 𝛼𝛿𝑘𝑧𝑗 ; 𝑘 = 1, 2, … , 𝑚;𝑗 = 0, 1, … , 𝑝 (2.13)
Langkah 7: hitung faktor 𝛿 unit tersembunyi berdasarkan errordi
setiap unit tersembunyi 𝑧𝑗 = (𝑗 = 1,2, … , 𝑝)
𝛿_𝑛𝑒𝑡𝑖 = ∑ 𝛿𝑘𝑤𝑘𝑗𝑚𝑘=1 (2.14)
𝛿𝑖 = 𝛿_𝑛𝑒𝑡𝑖𝑧𝑗(1 − 𝑧𝑗) (2.15)
Hitung suku perubahan bobot 𝑣𝑗𝑖
∆𝑣𝑗𝑖 = 𝛼𝛿𝑖𝑥𝑖 ; = 1,2, … , 𝑝 ; 𝑖 = 0,1, … , 𝑛 (2.16)
Fase III : Perubahan Bobot
Langkah 8: Hitung semua perubahan bobot
Perubahan bobot garis yang menuju ke unit keluaran:
𝑤𝑘𝑗(𝑏𝑎𝑟𝑢) = 𝑤𝑘𝑗(𝑙𝑎𝑚𝑎) + ∆𝑤𝑘𝑗(𝑘 = 1,2, … , 𝑚 ; 𝑗 = 0,1, … , 𝑝) (2.17)
Perubahan bobot garis yang menuju ke unit tersembunyi:
𝑣𝑗𝑖(𝑏𝑎𝑟𝑢) = 𝑣𝑗𝑖(𝑙𝑎𝑚𝑎) + ∆𝑣𝑗𝑖(𝑗 = 1,2, … , 𝑝 ; 𝑖 = 0,1, … , 𝑛) (2.18)
Langkah 9: bandingkan kondisi penghentian
Jaringan Syaraf Tiruan Back Propagation memiliki kelemahan
tentang berapa epoch yang harus dilalui untuk memperoleh hasil
yang diinginkan.
Faktor-faktor penting dari Jaringan Syaraf Tiruan Back
Propagation agar jaringan bekerja dengan maksimal adalah:
1. Pemilihan Bobot dan Bias Awal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
Nguyen dan widrow (1990) mengusulkan cara membuat
inisialisasi bobot dan bias ke unit tersembunyi sehingga
menghasilkan iterasi yang lebih cepat.
Misal:
n = jumlah unit masukan
p = jumlah unit tersembunyi
𝛽 = factor skala = 0.7 √𝑝𝑛
Algoritma inisialisasi:
Langkah 1: Inisisalisasi semua bobot (𝑣𝑗𝑖(𝑙𝑎𝑚𝑎)) dengan
bilangan acak dalam interval [-0.5, 0.5].
Langkah 2: hitung ‖𝑣𝑗‖ = √𝑣𝑗12 + 𝑣𝑗2
2 + ⋯ + 𝑣𝑗𝑛2 (2.20)
Langkah 3: bobot yang dipakai sebagai inisialisasi = 𝑣𝑗𝑖 =
𝛽𝑣𝑗𝑖(𝑙𝑎𝑚𝑎)
‖𝑣𝑗‖ (2.21)
Langkah 4: bias yang dipakai sebagai inisialisasi = 𝑣𝑗0 =
bilangan acak antara – 𝛽 dan 𝛽.
2. Jumlah Unit Tersembunyi
Jaringan dengan sebuah lapis tersembunyi sudah cukup
bagi Jaringan Syaraf Tiruan Back Propagation untuk mengenali
sembarang kelas antara masukan dan target dengan tingkat
ketelitian yang ditentukan.
Jika jaringan memiliki lebih dari 1 lapis tersembunyi maka
algoritma pelatihan perlu direvisi. Dalam Fase I, keluaran harus
dihitung untuk tiap lapis, dimulai dari lapis tersembunyi paling
bawah. Kemudian dalam fase II, faktor 𝛿 perlu dihitung untuk
tiap lapis tersembunyi, dimulai dari lapis keluaran.
3. Jumlah Pola Pelatihan
Jumlah pola pelatihan ditentukan oleh banyaknya bobot
dan tingkat akurasi yang diinginkan.
𝑗𝑢𝑚𝑙𝑎ℎ 𝑝𝑜𝑙𝑎 = 𝑗𝑢𝑚𝑙𝑎ℎ 𝑏𝑜𝑏𝑜𝑡
𝑡𝑖𝑛𝑔𝑘𝑎𝑡 𝑎𝑘𝑢𝑟𝑎𝑠𝑖 (2.22)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
2.3 Pengenalan Pola
Pengenalan pola adalah suatu ilmu untuk mengklasifikasikan atau
menggambarkan sesuatu berdasarkan pengukuran kuantitatif ciri atau sifat
utama dari suatu obyek, sedangkan pola adalah suatu entitas yang terdefinisi
dan dapat diidentifikasi serta diberi nama. Pengenalan pola dapat dilakukan
sebagai tindakan untuk mengolah data mentah dan membuatsuatu aksi
berdasar kategori dari pola data tersebut.
Pada dasarnya pengenalan pola terdiri dari 3 langkah utama yaitu
preprosessing, ekstraksi ciri dan pengenalan. Preprosessing merupakan
langkah untuk memfokuskan obyek data yang akan dikenali dengan obyek
lain yang tidak digunakan. Dalam hal pemrosesan awal yang dilakukan
terhadap obyek adalah dengan pengubaha citra digital menjadi citra biner.
Citra biner adalah citra digital yang hanya memiliki dua kemungkinan nilai
piksel yaitu hitam dan putih. Ekstraksi ciri dilakukan unuk menyederhanakan
data dengan melakukan pengukuran fitur tertentu sehingga informasi dasar
dari data tersebut dapat terlihat. Proses berikutnya adalah pengenalan yaitu
tindakan untuk mengelompokan data menjadi pola sesuai target. Dalam
melakukan proses pengenalan dipilih ekstraksi ciri yang optimal untuk
menghasilkan hasil terbaik dalam tahap pengenalan.
2.4 Penipisan Citra (Thining)
Penipisan (thinning) adalah operasi pemrosesan citra biner yang dalam
hal ini objek (region) direduksi menjadi rangka yang menghampiri garis
sumbu objek. Tujuan penipisan adalah mengurangi bagian yang tidak perlu
(redundant) sehingga hanya dihasilkan informasi yang esensial saja. Proses
Thining hanya dikenai pada citra yang telah dibinarisasi, dan kemudian
menghasilkan citra biner lain sebagai output-nya. Proses thining dilakukan
dengan memeriksa tiap piksel yang bertetangga dengan piksel obyek. Untuk
melakukan pengecekan setiap piksel obyek dapat dilakukan dengan
menggunakan mask atau elemen penstruktur. Proses thining pada suatu citra
yang memiliki ketebalan tertentu bias membuat citra tersebut menjadi lebih
tipis atau satu garis saja tanpa merubah bentuk asli dari data citra.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
2.5 Ekstraksi Ciri Mark Direction dan Intencity of Character
Intensitas karakter (intensity of character) dan tanda arah (mark
direction). Intensitas karakter adalah pencirian citra dengan cara
menghitung berapa jumlah piksel yang bernilai 0 (berwarna hitam). Jadi
intesitas karakter digunakan untuk menghitung nilai piksel hitam pada
sebuah citra. Tanda arah adalah pencirian citra dengan cara menghitung
banyaknya piksel yang memiliki tetanggga yang berarah horisontal, vertikal,
diagonal ke kiri, dan diagonal ke kanan. Jadi tanda arah digunakan untuk
menghitung berapa banyak piksel yang memenuhi masking horisontal,
vertikal, diagonal kiri, dan diagonal kanan pada sebuah citra. Pada
penelitian ini intensitas karakter dan tanda arah digunakan pada setiap
segmen dari citra yang telah dibagi menjadi 9 segmen (3 x 3 segmen).
Gambar 2.23 Struktur Elemen Tanda Arah (Surinta, 2010)
Berikut adalah algoritma untuk ekstraksi ciri:
1. Algoritma Divide
a. Mulai
b. Membaca citra tipis pada preprocessing
c. Menghitung banyak garis dan kolom pada citra tipis yang
telah dibaca
d. Membagi 3 baris matriks citra yang ada r3=rows/
e. Membagi 3 kolom matriks citra yang ada c3=columns/3
f. Membuat citra baru bernama im1 dari baris 1 sampai r3 dan
dari kolom 1 sampai c3
g. Membuat citra baru bernama im2 dari baris 1 sampai r3 dan
dari kolom c3+1 sampai 2 x c3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
h. Membuat citra baru bernama im3 dari baris 1 sampai r3 dan
dari kolom 2xc3+1 sampai akhir dari kolom
i. Membuat citra baru bernama im4 dari baris r3+1 sampai
2xr3 dan kolom 1 sampai c3
j. Membuat citra baru bernama im5 dari baris r3+1 sampai
2xr3 dan dari kolom c3+1 sampai 2xc3
k. Membuat citra baru bernama im6 berukuran dari baris r3+1
sampai 2xr3 dan dari kolom 2xc3+1 sampai akhir dari
kolom
l. Membuat citra baru bernama im7 dari baris 2xr3+1 sampai
akhir dari baris dan dari kolom 1 sampai c3
m. Membuat citra baru bernama im7 dari baris 2xr3+1 sampai
akhir dari baris dan dari kolom c3+1 sampai 2xc3
n. Membuat citra baru bernama im9 dari baris 2xr3+1 sampai
akhir dari baris dan dari kolom 2xc3+1 sampai akhir dari
kolom
o. Menyediakan keluaran berupa citra baru im1, im2, im3,
im4, im5, im6, im7, im8, im9
p. Selesai
2. Algoritma Mark Direction
i) Mulai
ii) Mendapatkan jumlah kolom dan baris dari matriks citra
iii) Membuat counter vert=0, horz=0, dig1=0, dig2=0
iv) Untuk i=1 sampai kolom lakukan langkah e), jika sudah
memenuhi sampai kolom lakukan langkah o)
v) Untuk j=1 sampai baris lakukan langkah f), jika sudah
memenuhi sampai baris lakukan langkah d)
vi) Jika newimage (I,j)sama dengan 0 lakukan langkah g), i),
k), m).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
vii) Jika newimage (I,j) + new image (i-1,j) + newimage
(i+1,j) sama dengan 0 lakukan langkah h)
viii) Jika newimage (I-1,j-1) + newimage (I-1,j+1) + newimage
( I,j+1) + newimage (I+1,j-) + newimage (i+1,j+1) sama
dengan 6, maka tambahkan counter vert=vert+1
ix) Jika newimage (I,j) + newimage(I,j-1) + newimage (I,j+1)
sama dengan 0 lakukan langkah j)
x) Jika newimage (i-1,j-1) + newimage (i-1,j) + newimage
(i+1,j-1) + newimage (i+1,j) + newimage (i+1,j+1) sama
dengan 6, maka tambahkan counter horz=horz+1
xi) Jika newimage (I,j) + newimage (i-1,j-1) + newimage
(i+1,j+1) sama dengan 0 lakukan langkah l)
xii) Jika newimage (i-1,j) + newimage(i-1,j+1) + newimage
(I,j-1) + newimage (I,j+1) + newimage (i+1,j-1) +
newimage (i+1,j) sama dengan 6, maka tambahkan counter
dig1=dig1+1
xiii) Jika newimage (I,j) + newimage (i-1,j+1) + newimage
(i+1,j-1) sama dengan 0 lakukan langkah n)
xiv) Jika newimage (i-1,j-1) + newimage (i-1,j) + newimage
(I,j-1) + newimage (I,j+1) + newimage (i+1,j) + newimage
(i+1,j+1) sama dengan 6, maka tambahkan counter
dig2=dig2+1
xv) Selesai
3. Algoritma Intencity of Character (IoC)
a. Mulai
b. Mendapatkan jumlah kolom dan baris dari matriks citra
c. Membuat counter dan di inisialisasi dengan angka 0
d. Untuk i=1 sampai kolom lakukan langkah e), jika sudah
memenuhi sampai kolom lakukan langkah g)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
e. Untuk j=1 sampai baris lakukan langkah f), jika sudah
memenuhi sampai baris lakukan langkah d)
f. Jika newimage (I,j) sama dengan 0 tambahkan nilai
counter sebanyak 1
g. Selesai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
BAB III
METODOLOGI PENELITIAN
Bab ini berisi penjelasan danproses pengolahan data yang akan digunakan
dalam penelitian ini, serta perancangan sistem yang meliputi proses ekstraksi ciri,
pelatihan dan pengujian arsitektur JST, lalu pengenalandan uji data,rincian
kebutuhan sistem danjuga perancangan antarmuka sistem.
3.1 Data
Dalam pengenalan pola aksara Batak Karo ini digunakan 21 huruf
aksara tulisan tangan Batak Karo yang dimiliki oleh 8 orang yang berbeda.
Data yang diperoleh sebelumnya dengan mengisi kolom yang telah
disediakan.
7,2 cm
2,7 cm
Gambar 3.1 Kolom Isi Responden
Setiap tipe tulisan tangan terdiri dari 168 gambar yang akan dijadikan
sebagai data. Tipe tulisan tangan yang akan digunakan dalam pengenalan
pola ditunjukan pada gambar 3.2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
Gambar 3.2 aksara Karo Tulisan Tangan
3.2 Perancangan Sistem
Sub bab ini berisi tentang perancangan sistem dari aplikasi yang akan
dibuat.Proses dimulai dari preprossesing, ekstraksi ciri data aksara,
kemudian data hasil ekstraksi ciri masuk kedalam pelatihan arsitektur JST
dengan parameter-parameter yang telah ditentukan, sehingga diperoleh
model jaringan yang menghasilkan akurasi terbaik, kemudian dilakukan uji
pada sebuah data aksara baru yang juga telah diekstraksi ciri dan dilakukan
klasifikasi menggunakan modeljaringan yang telah diperoleh.
Pada proses ekstraksi cirri data sebelum pelatihan arsitektur jaringan
dan pengujian data,digunakan fitur Mark Direction dan Intencity of
Characther (IoC). Untuk proses pelatihan arsitektur jaringan dan klasifikasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
data dalam pengujian digunakan metode Jaringan Syaraf Tiruan Back
Propagation. Berikut ini gambaran sistem secara keseluruhan:
Data
Preprocessing
JST
Back
Propagation
Ekstraksi Ciri Data Uji
Kombinasi Ciri
Optimal
Pengenalan
Hasil
Pengenalan
Gambar 3.3Diagram Blok Sistem
3.2.1 Prepossesing
Dalam proses preprosessing ini meliputi beberapa tahap yaitu:
1. Mengubah Citra Warna.
Dalam pemrosesan ini dimaksudkan untuk mengubah Citra
Warna (RGB), dilanjutkan dari citra keabuan mengubah menjadi
Citra Hitam Putih (Biner).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
Gambar 3.4 citra keabuan diubah (RGB) menjadi citra hitam
putih (IM2BW)
2. Pengubahan Ukuran (Resize Citra)
Dalam proses resize citra dilakukan secara otomatis yakni,
membaca seluruh citra gambar dan kemudian secara otomatis
menemukan citra terpanjang dan terlebar, setelah ditemukan maka
ukuran tersebut dijadikan sebagai referensi untuk resize gambar.
Dari referensi yang ditemukan ukuran citra pada aksara ini 245 x
1350, namun itu membuat ukuran gambar tidak proposional,
maka ukuran di resize menjadi 600 x 600.
3. Penipisan Citra
Pada proses ini penipisan citra (Thining) menggunakan
fungsi Rosenfeld(Widiarti, 2011). Thining dilakukan untuk
mengubah ukuran ketebalan citra menjadi kecil.
Gambar 3.5Citra setelah di thining
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
4. Ekstraksi Ciri
Pada penelitian ini ekstraksi ciri menggunakan algoritma
Mark Direction dan Intencity of Character (IoC)(Nugroho,
2016). MarkDirectionyaitu menghitung banyaknya piksel yang
memiliki tetangga berarah horizontal, vertical, diagonal ke kiri,
dan diagonal ke kanan. MarkDirection ini digunakan untuk
menghitung banyaknya piksel yang memenuhi masking
horizontal, vertical, diagonal kiri, dan diagonal kanan,
sedangkan Intencity of Character itu sendiri digunakan untuk
menghitung nilai piksel 0 (berwarna hitam) pada citra. Dalam
melakukan proses ekstraksi ciri dilakukan dengan beberapa
tahap, meliputi:
a. Membagi citra menjadi 9 segmen (3x3 segmen)
b. Mencirikan citra pada tiap segmen menggunakan Mark
Direction untuk menghitung berapa yang memenuhi
masking horizontal (horz), vertical (vert), diagonal ke
kiri (dig1), diagonal ke kanan (dig2).
c. Mencirikan citra pada tiap segmen menggunakan
Intencity of Character untuk menghitung nilai piksel
hitam (black).
Gambar 3.6Citra di bagi menjadi 9 segmen
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
Untuk memperoleh jaringan yang optimal terlebih dahulu kita
mengetahui ekstraksi ciri yang optimal pula. Dalam hal ini penelitian
melakukan kombinasi ciri (feature) untuk dapat meghasilkan ekstraksi
ciri yang memberikan hasil akurasi terbaik.
3.2.2 Pelatihan dan Pengujian Arsitektur JST
Dalam penelitian ini, proses pengenalan pola aksara Batak Karo
dilakukan dengan mengklasifikasikan feature yang telah ditentukan.
Metode yang digunakan dalam prosespengenalanadalah metode
Jaringan Syaraf Tiruan Back Propagation. Metode pengenalan ini
dipilih karena kemampuannya untuk menghasilkan decision
boundaries yang kompleks pada fitur-fitur yang ada. Hasil ini dapat
dilihat dengan nilai keakuratan yang dihasilkan dari pengujian sampel
diluar kumpulan sampel yang digunakan pada saat pelatihan.
Metode pembagian data pelatihan dan pengujian arsitektur JST
yang digunakan adalah 4-Fold Cross Validation. Metode ini dipakai
karena menggunakan data yang berbeda untuk proses pelatihan dan
pengujiannya, sehingga dapat diketahui dengan benar akurasi sistem
yang telah dibuat. Hasil ekstraksi ciri dan label data, akan digunakan
sebagai input-an dalam proses pelatihan dan pengujian arsitektur JST.
Hasil dari proses ini adalah model jaringan dengan akurasi terbaik,
yang akan digunakan dalam proses pengenalan.
Pada proses awal sesuai dengan metode K-Fold Cross
Validation, data yang berjumlah 168 dibagi menjadi 4 bagian.Dari 4
bagian tersebut akan dilakukan 4 kali percobaan dalam proses
pelatihan dan pengujian arsitektur JST. Berikut ini tabel penggunaan
bagian dalam setiap percobaan:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
Tabel 3.14-Fold Cross Validation
Percobaan Training Testing
1 1,2 3,4
2 1,3 2,4
3 1,4 2,3
4 3,4 1,2
Ada 2 jenis arsitektur jaringan syaraf tiruan yang digunakan
untuk proses pelatihan dan pengujian, yaitu arsitektur dengan satu
hidden layer dan dua hidden layer.
1. Arsitektur Jaringan Syaraf Tiruan 1 Hidden Layer
Diambil contoh dengan ciri 8 maka jumlah data input sebanyak
45 atribut, kemudian digunakan 1 hidden layer, dengan jumlah
neuron pada hidden layer 1 sebanyak j, dan jumlah output
sebanyak 21.
Gambar 3.7Arsitektur JST 1 Hidden Layer
X1
X2
X3
X45
Z1
Z2
Z3
Zj
Y1
Y2
Y3
Y21
VijWij
Input Hidden Layer 1Output
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
2. Arsitektur Jaringan Syaraf Tiruan 2 Hidden Layer
Diambil contoh dengan ciri 8 maka jumlah data input sebanyak
45 atribut, kemudian digunakan 2 hidden layer, dengan jumlah
neuron pada hidden layer 2sebanyak j, dan jumlah output
sebanyak 21.
Gambar 3.8Arsitektur JST 2 Hidden Layer
Berikut ini rincian parameter dalam arsitektur jaringan syaraf
tiruan:
1. Lapisan jaringan terdiri dari 4 lapis, yaitu satu lapis masukan
(input), 2 lapis tersembunyi (hidden layer) dan satu lapis keluaran
(output).
2. Untuk input dimana (Xi) adalah jaringan terdiri dari 1 – ineuron,
dimana i merupakan jumlah total data hasil ekstraksi ciri yang telah
ditentukan. Berikut tabel jumlah data yang digunakan:
X1
X2
X3
X45
Z1
Z2
Z3
Zj
Z1
Z2
Z3
Zj
Y1
Y2
Y3
Y21
Vij VijWij
Hidden Layer 1 Hidden Layer 2Input Output
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Tabel 3.2Jumlah Data Input Arsitektur Jaringan
(Kombinasi Feature)
Feature Kombinasi Feature Jumlah Data
Feature
1 [Black] 9
2 [dig1] 9
3 [dig2] 9
4 [Black + dig1] 9 + 9 =18
5 [Black + dig2] 9 + 9 = 18
6 [horz + vert] 9 + 9 = 18
7 [dig1 + dig2] 9 + 9 = 18
8 [Black + dig1 + dig2, +
horz + vert]
9 + 18 + 18=
45
3. Untuk mendapatkan arsitektur jaringan yang optimal, digunakan 2
jenis arsitektur jaringan yaitu dengan 1 hidden layer dan 2 hidden
layer, dimana lapisan tersembunyi pertama dan kedua memiliki
jumlah neuron yang bervariasi mulai dari 10,15,… dilanjutkan
dengan kelipatan 5 hingga 45. Namun apabila pada neuron 45
nilai akurasi masih tinggi, maka dilanjutkan dengan kelipatan 5
selanjutnya hingga hasil akurasinya turun. Contoh: 10,15,20,…45
4. Fungsi aktivasi yang digunakan adalah sigmoid biner (logsig).
5. Fungsi pelatihan yang digunakan adalah trainrp.
6. Batas iterasi/epoch adalah 500.
7. Nilai laju pemahaman (=learning rate) adalah 0, 2.
8. Jumlah neuron pada lapisan keluaran (output) adalah 21, sesuai
dengan jumlah target aksara
9. Memiliki 21neuron output yang merupakan target keluaran
jaringan diantaranya, target 1: BA (1,0,0….0), target 2: TA
(0,1,0..)target 3 : DA (0,0,1,…0), ……, target 21: CA (0,0,0…1)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Dalam pengujianarsitektur JST, dilakukan beberapa kali
percobaan untuk mendapatkan model jaringan terbaik berdasarkan
akurasi hasil yang tertinggi. Percobaan dilakukan dengan mengambil
sejumlah data hasil ekstraksi ciri berdasarkan kombinasi ciri yang ada
pada tabel 3.2 sebagai data masukan. Untuk setiap kombinasi ciri,
dilakukan percobaan lagi dengan mengubah-ubah jumlah lapisan
tersembunyi, yaitu satu lapisan tersembunyi dan 2 lapisan
tersembunyi. Pada satu lapisan tersembunyi, jumlah neuron divariasi
mulai dari 10, 15 hingga 45 dengan penambahan jumlah kelipatan 5,
contohnya 10,15,20….,45.Dari percobaan tersebut diperoleh jumlah
neuron dengan akurasi tertinggi. Jumlah neuron dengan akurasi
tertinggi di lapisan tersembunyi ke-1 kemudian digunakan dalam 2
lapisan tersembunyi. Jumlah neuron di lapisan tersembunyi ke-2
divariasi sama seperti di lapisan tersembunyi ke-1 hingga memperoleh
akurasi tertingginya. Dari semua percobaan tersebut akan diperoleh
model jaringan terbaik berdasarkan akurasi yang tertinggi.
3.2.3 Uji Data Tunggal
Model jaringan yang telah didapat dari proses pelatihan dan
pengujian arsitektur JST akan digunakan dalam proses pengenalandari
data masukan data baru untuk diuji.
Proses dimulai dari memasukan data aksara baru untuk diuji,
kemudian dilakukan kombinasi ekstraksi ciri pada data tersebut dan
diambil sejumlah data sesuai jumlah pilihan ciri terbaik yang telah
diperoleh. Hasil ekstraksi ciri tersebut disimulasikan kedalam model
jaringan terbaik yang telah diperoleh, sehingga mendapatkan nilai
keluaran sesuai target keluaran yang telah ditentukan, untuk
menunjukkan hasil pengenalan pola. Berikut ini gambaran proses
pengenalan dan uji data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
Data Uji Ekstraksi Ciri Model Jaringan Hasil Pengenalan
Gambar 3.9 Proses Pengenalan dan Uji Data Tunggal
3.2.3.1 Perhitungan Akurasi
Karena menggunakan metode 4 – Fold dalam pembagian data,
maka dilakukan percobaan 4 kali percobaan training dan testing. Hasil
dari percobaan berupa confusion matrix. Confusion Matrix
menunjukkan data yang dikenali sesuai kelompok data ciri. Contoh
Confusion Matrix dapat dilihat dalam tabel sebagai berikut:
Dari confusion matrix dihitung besar akurasi. Perhitungan
akurasi dilakukan untuk melihat jaringan syaraf tiruan yang optimal
BackPropagation dalam mengenali sistem pola tulisan tangan aksara
Batak Karo.
Akurasi = 𝐽𝑢𝑚𝑙𝑎ℎ 𝑑𝑎𝑡𝑎 𝑏𝑒𝑛𝑎𝑟
𝐽𝑢𝑚𝑙𝑎ℎ 𝑠𝑒𝑙𝑢𝑢ℎ 𝑑𝑎𝑡𝑎𝑥100%
Data Benar = Jumlah angka pada diagonal matrik
Seluruh data = total data yang digunakan untuk training / testing
3.3 Kebutuhan Sistem
Aplikasi ini membutuhkan perangkat keras dan lunak dalam proses
perancangannya sehingga mendapatkan hasil yang maksimal.
1. Kebutuhan Perangkat
Aplikasi ini membutuhkan perangkat keras dan lunak dengan :
1. Scanner
2. Microsoft Windows 7
3. Matlab R2012b
Spesifikasi tersebut dipilih agar aplikasi berjalan dengan maksimal.
Scaner digunakan untuk menyecan data aksara dikarenakan tidak
ada data berupa cetak. Microsoft Windows 7 digunakan sebagai sistem
operasi agar kedua perangkat lunak lainnya dapat berjalan. Matlab R2012b
digunakan untuk membuat sistem sekaligus menjalankan sistem.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
3.4 Perancangan Antarmuka Sistem
Gambar 3.10 Tampilan Antarmuka Sistem
Pada gambar 3.10 merupakan tampilan antarmuka sistem yang terdiri
dari 1 menu sesuai dengan fungsi dari sistem yang akan dibuat. Menu mulai
digunakan sebagai langkah awal pertama dalam menjalankan sistem.
Gambar 3.11 Tampilan Antarmuka Sistem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
Pada gambar 3.11 merupakan tampilan antarmuka sistem yang terdiri
dari 2 panel sesuai dengan fungsi dari sistem yang akan dibuat. Berikut ini
rincian untuk setiap panel tersebut:
1. Pelatihan
Panel ini termasuk dalam data kombinasi ekstraksi ciri. Pada
panel ini terdapat beberapa komponen diantaranya:
a. Button Group - berfungsi untuk memilih data kombinasi ciri
b. Edit Text Hidden Layer 1 – berfungsi untuk memasukan jumlah
neuron pada lapisan tersembunyi ke-1.
c. Edit Text Hidden Layer 2 - berfungsi untuk memasukan jumlah
neuron pada lapisan tersembunyi ke-2.
d. Edit Text Epoch – berfungsi untuk memasukan batas jumlah
iterasi/epoch dalam proses pelatihan arsitektur jaringan, dengan
nilai default yaitu 500.
e. Tombol Proses – berfungsi untuk menjalankan proses pelatihan
arsitektur jaringan.
f. Text Akurasi – berfungsi untuk menampilkan hasil perhitungan
akurasi sistem (%).
2. Pengujian
Panel ini berisi komponen yang dapat berfungsi untuk mengambil
data uji, kemudian melakukan pengenalan data berdasarkan model
jaringan yang telah diperoleh dan menampilkan hasil huruf aksara.
a. Edit Text Direktori file – berfungsi untuk menampilkan alamat
direktori dari data yang akan diuji.
b. Tombol Proses Kenal – berfungsi untuk membuka jendela
pencarian direktori data aksara yang akan diuji.
c. Axes Citra – berfungsi untuk menampikan citra aksara yang diuji
d. Text Hasil kenal – berfungsi untuk menampilkan hasil pengenalan
data aksara yang diuji.
e. Tombol Proses – berfungsi untuk menjalankan proses pengenalan
aksara.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
3 BAB IV
IMPLEMENTASI DAN ANALISIS HASIL
Bab ini dibahas mengenai hasil penelitian dan analisis hasil penelitian dari
implementasi sistem yang telah dibuat. Hasil penelitian berupa perbandingan
akurasi yang diperoleh dari percobaan metode Back Propagation berdasarkan
jumla hidden layer serta jumlah node pada setiap hidden layer yang digunakan.
Pada bab ini juga dibahas mengenai user interface yang dibangun berdasar
algoritma yang telah dirancang.
4.1 Implementasi Sistem
Dalam subbab ini akan ditunjukkan visualisasi proses ekstraksi ciri
dan tampilan antarmuka dari aplikasi yang telah dibuat. Aplikasi ini dibuat
menggunakan bahasa pemrograman Matlab.
4.1.1 Visualisasi Proses Ekstraksi Ciri
Berikut ini visualisasi dari setiap tahap dalam proses
preprossesing dan ekstraksi ciri aksara Batak Karo:
1. Data Aksara
Dalam proses ini data aksara yang bertipe “.jpg” disimpan
dengan tipe “.data, dibaca oleh program dengan menggunakan
fungsi [file,path]=uigetfile('*/*.JPG','ambil gambar');
image=imread([path file]);
Berikut ini hasil file aksara yang dibaca:
Gambar 4.1Hasil Baca File aksara .jpg
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
2. Mengubah Citra Warna.
Dalam pemrosesan ini dimaksudkan untuk mengubah Citra
Warna (RGB), dilanjutkan dari Citra Keabuan mengubah menjadi
Citra Hitam Putih (Biner). Dibaca dengan menggunakan fungsi
grayimage=rgb2gray(image); image2=im2bw(grayimage);
Gambar 4.2 Citra keabuan diubah (RGB) menjadi citra hitam
putih (IM2BW)
3. Resize Citra
Dalam proses resize citra dilakukan secara otomatis yakni,
membaca seluruh citra gambar dan kemudian secara otomatis
menemukan citra terpanjang dan terlebar, setelah ditemukan maka
ukuran tersebut dijadikan sebagai referensi untuk resize gambar.
Dari referensi yang ditemukan ukuran citra pada aksara ini 245 x
1350, namun itu membuat ukuran gambar tidak proposional,
maka ukuran di resize menjadi 600 x 600.
Gambar 4.3 Ukuran Citra ditemukan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
4. Penipisan Citra
Pada proses ini penipisan citra (Thining) menggunakan
fungsi Rosenfeld(Widiarti, 2011). Thining dilakukan untuk
mengubah ukuran ketebalan citra menjadi kecil.
5. Penipisan Citra
Gambar 4.4 Citra setelah di thining
6. Ekstraksi Ciri
Pada penelitian ini ekstraksi ciri menggunakan algoritma
Mark Direction dan Intencity of Character (IoC)(Nugroho, 2016).
Mark Direction yaitu menghitung banyaknya piksel yang
memiliki tetangga berarah horizontal, vertical, diagonal ke kiri,
dan diagonal ke kanan. Mark Direction ini digunakan untuk
menghitung banyaknya piksel yang memenuhi masking
horizontal, vertical, diagonal kiri, dan diagonal kanan, sedangkan
Intencity of Character itu sendiri digunakan untuk menghitung
nilai piksel 0 (berwarna hitam) pada citra. Dalam melakukan
proses ekstraksi ciri dilakukan dengan beberapa tahap, meliputi:
a. Membagi citra menjadi 9 segmen (3x3 segmen)
b. Mencirikan citra pada tiap segmen menggunakan Mark
Direction untuk menghitung berapa yang memenuhi
masking horizontal (horz), vertical (vert), diagonal ke kiri
(dig1), diagonal ke kanan (dig2).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
c. Mencirikan citra pada tiap segmen menggunakan Intencity
of Character untuk menghitung nilai piksel hitam (black).
Gambar 4.5 Citra di bagi menjadi 9 segmen
d. Hasil Prosessing
Setelah melakukan preprossesing dan ekstraksi ciri
maka akan di dapat sebuah data. Data tersebut yang akan
menjadi data untuk diproses.
Gambar 4.6 Ciri 1 dari BA KARO
Proses ciri 1 adalah ciri Black yaitu dengan
memperoleh nilai piksel hitam dari data citra yang di bagi
menjadi 9 segmen. Ketika dalam piksel memenuhi piksel
berwarna 0 (hitam) maka akan bertambah 1 counter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Gambar 4.7 Ciri 2 dari BA KARO
Proses ini adalah ciri diagonal kiri yaitu dengan
menghitung piksel yang memiliki tetangga berarah diagonal
kiri dari data citra yang di bagi menjadi 9 segmen. Ketika
dalam piksel memenuhi masking diagonal kiri maka akan
tambah 1 counter.
Gambar 4.8 Ciri 3 dari BA KARO
Proses ini adalah ciri diagonal kanan yaitu dengan
menghitung piksel yang memiliki tetangga berarah diagonal
kanan dari data citra yang di bagi menjadi 9 segmen. Ketika
dalam piksel memenuhi masking diagonal kanan maka
akan tambah 1 counter.
Gambar 4.9 Ciri 4 dari BA KARO
Proses ini adalah ciri black dan diagonal kiri yaitu
memperoleh dari nilai piksel hitam ditambah dengan piksel
yang memiliki tetangga berarah diagonal kiri.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Gambar 4.10 Ciri 5 dari BA KARO
Proses ini adalah ciri black dan diagonal kanan yaitu
memperoleh dari nilai piksel hitam ditambah dengan piksel
yang memiliki tetangga berarah diagonal kanan.
Gambar 4.11 Ciri 6 dari BA KARO
Proses ini adalah ciri Horizontal dan Vertikal yaitu
menghitung piksel yang memiliki tetangga bearah
horizontal dan vertikal dari data citra yang dibagi menjadi 9
segmen. Ketika dalam piksel memenuhi masking horizontal
dan vertical maka akan tambah 1 counter.
Gambar 4.12 Ciri 7 dari BA KARO
Proses ini adalah ciri diagonal kiri dan diagonal
kanan yaitu menghitung piksel yang memiliki tetangga
bearah diagonal kiri dan diagonal kanan dari data citra yang
dibagi menjadi 9 segmen. Ketika dalam piksel memenuhi
masking diagonal kiri dan diagonal kanan maka akan
tambah 1 counter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Gambar 4.13 Ciri 8 dari BA KARO
Proses ini adalah memakai dengan semua ciri yaitu
black, diagonal kiri, diagonal kanan, horizontal, vertical,
dari data citra yang di bagi menjadi 9 segmen. Ketika
dalam piksel memenuhi masking tersebut maka akan
menambah 1 counter.
4.2 Analisis Hasil Penelitian
Dalam penelitan yang telah dilakukan, penulis menggunakan 21 Huruf
aksara Batak Karo yang dimiliki oleh 8 orang yang berbeda. Penelitian ini
akan dicari model jaringan terbaik yang digunakan dalam proses pengenalan
huruf aksara Batak Karo. Modeljaringan terbaik dapat dilihat dari hasil
akurasi pelatihan arsitektur jaringannya. Untuk mendapat model jaringan
terbaik berdasarkan akurasi pelatihan arsitektur jaringan, maka dilakukan
beberapa percobaan pengujian dengan mengubah variasi arsitektur jaringan.
Setelah model jaringan terbaik berdasarkan akurasi tertinggi diperoleh,
maka model jaringan tersebut digunakan dalam pengujian data tunggal
untuk menunjukkan ketepatan hasil klasifikasinya.
4.2.1 Pengujian Variasi Arsitektur Jaringan
Dalam pengujian variasi arsitektur jaringan ini, data yang
digunakan sebanyak 168. Data tersebut sebelumnya telah dilakukan
ekstraksi ciri, sehingga menghasilkan 45 jumlah ciri untuk setiap
datanya dan total data yang digunakan dalam pelatihan ini sebanyak
168 x 45 data. Dalam pengujian ini akan dilakukan beberapa kali
percobaan dengan memvariasikan kombinasi ciri dan parameter
dalam arsitektur jaringan. Variasi pertama yang dilakukan adalah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
mengkombinasikan ciri dari data aksara batak karo. Berikut ini
beberapa kombinasi ciri yang digunakan:
Tabel 4.1Jumlah Data Input Arsitektur Jaringan
(Kombinasi Feature)
Feature Kombinasi Feature Jumlah Data
Feature
1 [Black] 9
2 [dig1] 9
3 [dig2] 9
4 [Black + dig1] 9 + 9 =18
5 [Black + dig2] 9 + 9 = 18
6 [horz + vert] 9 + 9 = 18
7 [dig1 + dig2] 9 + 9 = 18
8 [Black + dig1 + dig2, +
horz + vert]
9 + 18 + 18=
45
Untuk variasikedua, nilai parameter arsitektur jaringan yang
diubah-ubah adalah neuron pada hidden layer 1 dan hidden layer 2.
Neuron ditentukan mulai dari 10, 15 dengan penambahan kelipatan
5 hingga 45. Selama akurasi hasil masih tinggi percobaan
dilanjutkan hingga akurasi turun, contohnya 10, 15, 20… 40, 45, 50.
Berikut ini parameter yang berpengaruh pada arsitektur jaringan
yang digunakan:
1. Input jaringan sesuai dengan jumlah kombinasi ciri yang dipilih,
contoh: 9, 18, dan 45.
2. Jumlah hidden layer dibagi menjadi 2 jenis, yaitu 1 hidden layer
dan 2 hidden layer.
3. Jumlah neuron dalam hidden layer 1 dan 2 bervariasi mulai dari
10, 15, 20,…. 45
4. Jumlah lapisan keluaran adalah 21, sesuai dengan jumlah huruf
aksara Batak Karo.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
5. Jumlah iterasi/epoch adalah 500.
6. Nilai laju pemahaman (=learning rate) yaitu 0, 2.
Dari seluruh percobaan variasi kombinasi ciri dan parameter
arsitektur jaringan, maka diperoleh akurasi tertinggi dengan tabel
sebagai berikut:
Tabel 4.2 Hasil Akurasi Seluruh Percobaan Pengujian
N
O
Kombinasi
Ciri
Jumlah Neuron Akurasi
(%)
Waktu
(detik) Hidden
Layer 1
Hidden
Layer 2
1 1 20
- 78 4
2 45 79 6
3 2 25
- 54 4
4 35 59 6
5 3 30
- 64 6
6 35 67 5
7 4 40
- 86 5
8 40 82 6
9 5 45
- 89 5
10 20 85 6
11 6 45
- 83 5
12 20 85 6
13 7 45
- 78 5
14 35 78 6
15 8 20
- 90 4
16 35 90 6
Dari tabel 4.2 dapat dilihat akurasi tertinggi ada pada variasi
kombinasi ciri 8, dengan jumlah neuron pada hidden layer 1 =20
dan hidden layer 2 = 35. Akurasi tertinggi yang diperoleh yaitu 90%
dengan selisih waktu 2 detik. Dari seluruh percobaan tersebut, rata-
rata waktu pelatihan selama 6 detik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
Untuk lebih jelasnya, perubahan naik turunnya akurasi dapat
dilihat pada grafik berikut ini:
Gambar 4.14 Grafik Perubahan Akurasi seluruh percobaan
Berikut ini adalah arsitektur jaringan paling optimal:
Gambar 4.15 Arsitektur Jaringan optimal
78 79
5459
6467
8682
8985 83 85
78 78
90 90
40
50
60
70
80
90
100
- 45 - 35 - 35 - 40 - 20 - 20 - 35 - 35
20 25 30 40 45 45 45 20
Akura
si
Jumlah Neuron, layer 1 dan layer 2
Grafik Perubahan Akurasi
X1
X2
X3
X45
Z1
Z2
Z3
Z20
Z1
Z2
Z3
Z35
Y1
Y2
Y3
Y21
Vij VijWij
Hidden Layer 1 Hidden Layer 2 OutputInput
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
1. Input jaringan sesuai dengan kombinasi ciri 8 jumlah
input 45.
2. Jumlah neuron dalam hidden layer 1:20 dan hidden
layer 2 : 35
3. Memiliki 21 neuron output yang merupakan target
keluaran jaringan diantaranya, target 1: BA (1, 0,
0….0), target 2: TA (0, 1, 0..) target 3 : DA (0,0,1,…0),
……, target 21: CA (0,0,0…1)
Ditunjukkan seluruh detail dari hasil percobaan pengujian
berdasarkan variasi kombinasi ciri hingga neuron pada hidden layer
1 dan 2:
1. Feature 1
a. Hidden Layer 1
Tabel 4.3 Hasil Akurasi Feature 1 Hidden Layer 1
Hidden
Layer 1
Akurasi
(%)
Data
Benar
Waktu
(detik)
10 61 103 3
15 67 113 3
20 78 131 4
25 76 127 4
30 74 124 4
35 75 126 4
40 78 131 5
45 77 130 5
Daritabel 4.3 dapat dilihat akurasi tertinggi ada pada
hidden layer 1 dengan jumlah neuron yaitu 20 dan 40.
Akurasi tertinggi yang diperoleh yaitu 78% namun waktu
pelatihan selisih 1 detik. Untuk lebih jelasnya, perubahan
naik turunnya akurasi dapat dilihat pada grafik berikut ini:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Gambar 4.16Grafik Perubahan Akurasi Feature 1,
Hidden Layer 1
b. Hidden Layer 2
Tabel 4.4 Hasil Akurasi Feature 1, Hidden Layer 2
Jumlah Neuron Akurasi
(%)
Data
Benar
Waktu
(detik) Hidden
Layer 1
Hidden
Layer 2
20
10 60 101 4
15 63 105 4
20 77 129 6
25 70 118 6
30 77 129 6
35 73 122 7
40 77 129 6
45 79 132 6
Dari tabel 4.4 dapat dilihat akurasi tertinggi ada pada
hidden layer 2 dengan jumlah neuron yaitu 20 dan 45.Akurasi
tertinggi yang diperoleh yaitu 79%. Untuk lebih jelasnya,
perubahan naik turunnya akurasi dapat dilihat pada grafik
berikut ini:
51
78
8782 81
9085
78
40
50
60
70
80
90
100
10 15 20 25 30 35 40 45
Ak
ura
si
(%)
Jumlah Neuron
Grafik Perubahan Akurasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Gambar 4.17Grafik Perubahan Akurasi Feature 1,
Hidden Layer 2
2. Feature 2
a. Hidden Layer 1
Tabel 4.5 Hasil Akurasi Feature 2 Hidden Layer 1
Hidden
Layer 1
Akurasi
(%)
Data
Benar
Waktu
(detik)
10 45 75 4
15 48 81 3
20 51 85 4
25 54 90 4
30 48 81 4
35 49 83 5
40 50 84 5
45 51 85 5
Dari tabel 4.5 dapat dilihat akurasi tertinggi ada pada
hidden layer 1 dengan jumlah neuron yaitu 25. Akurasi
tertinggi yang diperoleh yaitu 54%. Untuk lebih jelasnya,
perubahan naik turunnya akurasi dapat dilihat pada grafik
berikut ini:
51
78
8782 81
9085
78
40
50
60
70
80
90
100
10 15 20 25 30 35 40 45
Ak
ura
si
(%)
Jumlah Neuron
Grafik Perubahan Akurasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Gambar 4.18Grafik Perubahan Akurasi Feature 2,
Hidden Layer 1
b. Hidden Layer 2
Tabel 4.6 Hasil Akurasi Feature 2, Hidden Layer 2
Jumlah Neuron Akurasi
(%)
Data
Benar
Waktu
(detik) Hidden
Layer 1
Hidden
Layer 2
25
10 44 74 4
15 49 82 5
20 50 84 7
25 50 84 6
30 58 98 6
35 59 97 6
40 55 92 7
45 54 90 6
Dari tabel 4.6 dapat dilihat akurasi tertinggi ada pada
hidden layer 2 dengan jumlah neuron yaitu 35. Akurasi
tertinggi yang diperoleh yaitu 59%. Untuk lebih jelasnya,
perubahan naik turunnya akurasi dapat dilihat pada grafik
berikut ini:
51
78
8782 81
9085
78
40
50
60
70
80
90
100
10 15 20 25 30 35 40 45
Ak
ura
si
(%)
Jumlah Neuron
Grafik Perubahan Akurasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
Gambar 4.19Grafik Perubahan Akurasi Feature 2,
Hidden Layer 2
3. Feature 3
a. Hidden Layer 1
Tabel 4.7 Hasil Akurasi Feature 3, Hidden Layer 1
Hidden
Layer 1
Akurasi
(%)
Data
Benar
Waktu
(detik)
10 51 86 3
15 54 91 3
20 53 89 4
25 59 99 4
30 64 107 4
35 60 101 5
40 61 102 5
45 55 93 5
Dari tabel 4.7 dapat dilihat akurasi tertinggi ada pada
hidden layer 1 dengan jumlah neuron yaitu 30. Akurasi
tertinggi yang diperoleh yaitu 64%. Untuk lebih jelasnya,
perubahan naik turunnya akurasi dapat dilihat pada grafik
berikut ini:
51
78
8782 81
9085
78
40
50
60
70
80
90
100
10 15 20 25 30 35 40 45
Ak
ura
si
(%)
Jumlah Neuron
Grafik Perubahan Akurasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
Gambar 4.20Grafik Perubahan Akurasi Feature 3,
Hidden Layer 1
b. Hidden Layer 2
Tabel 4.8 Hasil Akurasi Feature 3, Hidden Layer 2
Jumlah Neuron Akurasi
(%)
Data
Benar
Waktu
(detik) Hidden
Layer 1
Hidden
Layer 2
30
10 49 82 4
15 55 93 6
20 62 104 6
25 57 96 6
30 60 100 6
35 67 112 6
40 65 110 6
45 64 108 6
Dari tabel 4.8 dapat dilihat akurasi tertinggi ada
pada hidden layer 2 dengan jumlah neuron yaitu 35.
Akurasi tertinggi yang diperoleh yaitu 67%. Untuk lebih
jelasnya, perubahan naik turunnya akurasi dapat dilihat
pada grafik berikut ini:
51
78
8782 81
9085
78
40
50
60
70
80
90
100
10 15 20 25 30 35 40 45
Ak
ura
si
(%)
Jumlah Neuron
Grafik Perubahan Akurasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
Gambar 4.21Grafik Perubahan Akurasi Feature3,
Hidden Layer 2
4. Feature 4
a. Hidden Layer 1
Tabel 4.9 Hasil Akurasi Feature 4, Hidden Layer 1
Hidden
Layer 1
Akurasi
(%)
Data
Benar
Waktu
(detik)
10 60 100 3
15 75 126 4
20 81 136 4
25 81 136 4
30 79 132 4
35 82 138 4
40 86 144 5
45 86 144 5
Dari tabel 4.9 dapat dilihat akurasi tertinggi ada pada
hidden layer 1 dengan jumlah neuron yaitu 40 dan 45.
Akurasi tertinggi yang diperoleh yaitu 86% dengan waktu
pelatihan sama. Untuk lebih jelasnya, perubahan naik
turunnya akurasi dapat dilihat pada grafik berikut ini:
49%55%
62% 57% 60%67% 65% 64%
0%
20%
40%
60%
80%
10 15 20 25 30 35 40 45
Akura
si
Jumlah Neuron
Grafik Perubahan Akurasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
Gambar 4.22Grafik Perubahan Akurasi Feature 4,
Hidden Layer 1
b. Hidden Layer 2
Tabel 4.10 Hasil Akurasi Feature 4, Hidden Layer 2
Jumlah Neuron Akurasi
(%)
Data
Benar
Waktu
(detik) Hidden
Layer 1
Hidden
Layer 2
40
10 52 88 6
15 80 135 6
20 70 118 6
25 80 135 6
30 77 129 6
35 72 121 6
40 82 138 6
45 80 134 7
Dari tabel 4.10 dapat dilihat akurasi tertinggi ada
pada hidden layer 2 dengan jumlah neuron yaitu 40.
Akurasi tertinggi yang diperoleh yaitu 82%. Untuk lebih
jelasnya, perubahan naik turunnya akurasi dapat dilihat
pada grafik berikut ini:
51
78
8782 81
9085
78
40
50
60
70
80
90
100
10 15 20 25 30 35 40 45
Ak
ura
si
(%)
Jumlah Neuron
Grafik Perubahan Akurasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
Gambar 4.23Grafik Perubahan Akurasi Feature 4,
Hidden Layer 2
5. Feature 5
a. Hidden Layer 1
Tabel 4.11 Hasil Akurasi Feature 5, Hidden Layer 2
Hidden
Layer 1
Akurasi
(%)
Data
Benar
Waktu
(detik)
10 62 104 3
15 75 126 4
20 83 139 4
25 88 147 4
30 86 144 4
35 85 142 5
40 86 144 5
45 89 149 5
Dari tabel 4.11 dapat dilihat akurasi tertinggi ada
pada hidden layer 1 dengan jumlah neuron yaitu 45.
Akurasi tertinggi yang diperoleh yaitu 89%. Untuk lebih
jelasnya, perubahan naik turunnya akurasi dapat dilihat
pada grafik berikut ini:
51
78
8782 81
9085
78
40
50
60
70
80
90
100
10 15 20 25 30 35 40 45
Ak
ura
si
(%)
Jumlah Neuron
Grafik Perubahan Akurasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
Gambar 4.24Grafik Perubahan Akurasi Feature 5,
Hidden Layer 1
b. Hidden Layer 2
Tabel 4.12 Hasil Akurasi Feature 5, Hidden Layer 2
Jumlah Neuron Akurasi
(%)
Data
Benar
Waktu
(detik) Hidden
Layer 1
Hidden
Layer 2
45
10 54 90 6
15 82 138 6
20 85 142 6
25 82 137 6
30 80 134 6
35 80 135 6
40 84 141 7
45 82 138 7
Dari tabel 4.12 dapat dilihat akurasi tertinggi ada
pada hidden layer 2 dengan jumlah neuron yaitu 40.
Akurasi tertinggi yang diperoleh yaitu 82%. Untuk lebih
jelasnya, perubahan naik turunnya akurasi dapat dilihat
pada grafik berikut ini:
51
78
8782 81
9085
78
40
50
60
70
80
90
100
10 15 20 25 30 35 40 45
Ak
ura
si
(%)
Jumlah Neuron
Grafik Perubahan Akurasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
Gambar 4.25Grafik Perubahan Akurasi Feature 5,
Hidden Layer 2
6. Feature 6
a. Hidden Layer 1
Tabel 4.13Hasil Akurasi Feature 6, Hidden Layer 1
Hidden
Layer 1
Akurasi
(%)
Data
Benar
Waktu
(detik)
10 63 106 4
15 73 122 4
20 72 121 4
25 80 135 4
30 79 132 4
35 80 134 5
40 78 131 5
45 83 140 5
Dari tabel 4.13 dapat dilihat akurasi tertinggi ada
pada hidden layer 1 dengan jumlah neuron yaitu 45.
Akurasi tertinggi yang diperoleh yaitu 83%. Untuk lebih
jelasnya, perubahan naik turunnya akurasi dapat dilihat
pada grafik berikut ini:
51
78
8782 81
9085
78
40
50
60
70
80
90
100
10 15 20 25 30 35 40 45
Ak
ura
si
(%)
Jumlah Neuron
Grafik Perubahan Akurasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
Gambar 4.26Grafik Perubahan Akurasi Feature 6,
Hidden Layer 1
b. Hidden Layer 2
Tabel 4.14 Hasil Akurasi Feature 6, Hidden Layer 2
Jumlah Neuron Akurasi
(%)
Data
Benar
Waktu
(detik) Hidden
Layer 1
Hidden
Layer 2
45
10 70 117 6
15 74 124 6
20 80 134 6
25 81 136 6
30 88 147 6
35 80 135 6
40 80 135 7
45 80 134 7
Dari tabel 4.14 dapat dilihat akurasi tertinggi ada
pada hidden layer 2 dengan jumlah neuron yaitu 30.
Akurasi tertinggi yang diperoleh yaitu 88%. Untuk lebih
jelasnya, perubahan naik turunnya akurasi dapat dilihat
pada grafik berikut ini:
51
78
8782 81
9085
78
40
50
60
70
80
90
100
10 15 20 25 30 35 40 45
Ak
ura
si
(%)
Jumlah Neuron
Grafik Perubahan Akurasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
Gambar 4.27Grafik Perubahan Akurasi Feature 6,
Hidden Layer 2
7. Feature 7
a. Hidden Layer 1
Tabel 4.15 Hasil Akurasi Feature 7, Hidden Layer 1
Hidden
Layer 1
Akurasi
(%)
Data
Benar
Waktu
(detik)
10 53 89 3
15 69 116 4
20 69 116 4
25 72 121 4
30 72 121 5
35 77 130 5
40 73 123 5
45 78 131 5
Dari tabel 4.15 dapat dilihat akurasi tertinggi ada
pada hidden layer 1 dengan jumlah neuron yaitu 45.
Akurasi tertinggi yang diperoleh yaitu 78%. Untuk lebih
jelasnya, perubahan naik turunnya akurasi dapat dilihat
pada grafik berikut ini:
51
78
8782 81
9085
78
40
50
60
70
80
90
100
10 15 20 25 30 35 40 45
Ak
ura
si
(%)
Jumlah Neuron
Grafik Perubahan Akurasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
Gambar 4.28Grafik Perubahan Akurasi Feature 7,
Hidden Layer 1
b. Hidden Layer 2
Tabel 4.16 Hasil Akurasi Feature 7, Hidden Layer 2
Jumlah Neuron Akurasi
(%)
Data
Benar
Waktu
(detik) Hidden
Layer 1
Hidden
Layer 2
45
10 53 89 6
15 68 114 6
20 76 128 6
25 74 125 6
30 68 114 6
35 78 131 6
40 76 127 6
45 76 128 7
Dari tabel 4.16 dapat dilihat akurasi tertinggi ada
pada hidden layer 2 dengan jumlah neuron yaitu 35.
Akurasi tertinggi yang diperoleh yaitu 78%. Untuk lebih
jelasnya, perubahan naik turunnya akurasi dapat dilihat
pada grafik berikut ini:
51
78
8782 81
9085
78
40
50
60
70
80
90
100
10 15 20 25 30 35 40 45
Ak
ura
si
(%)
Jumlah Neuron
Grafik Perubahan Akurasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
Gambar 4.29Grafik Perubahan Akurasi Feature 7,
Hidden Layer 2
8 Feature 8
a. Hidden Layer 1
Tabel 4.17 Hasil Akurasi Feature 8, Hidden Layer 1
Hidden
Layer 1
Akurasi
(%)
Data
Benar
Waktu
(detik)
10 50 84 4
15 73 122 4
20 90 151 4
25 87 146 5
30 88 147 5
35 82 137 5
40 90 151 5
45 89 150 5
Dari tabel 4.17 dapat dilihat akurasi tertinggi ada
pada hidden layer 1 dengan jumlah neuron yaitu 45 dan
20 dengan selisih waktu 1 detik. Akurasi tertinggi yang
diperoleh yaitu 90%. Untuk lebih jelasnya, perubahan
naik turunnya akurasi dapat dilihat pada grafik berikut
ini:
51
78
8782 81
9085
78
40
50
60
70
80
90
100
10 15 20 25 30 35 40 45
Ak
ura
si
(%)
Jumlah Neuron
Grafik Perubahan Akurasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
Gambar 4.30Grafik Perubahan Akurasi Feature 8,
Hidden Layer 1
b. Hidden Layer 2
Tabel 4.18 Hasil Akurasi Feature 8, Hidden Layer 2
Jumlah Neuron Akurasi
(%)
Data
Benar
Waktu
(detik) Hidden
Layer 1
Hidden
Layer 2
20
10 51 85 6
15 78 131 6
20 87 146 6
25 82 138 6
30 81 136 6
35 90 151 6
40 85 142 6
45 78 131 5
Dari tabel 4.18 dapat dilihat akurasi tertinggi ada
pada hidden layer 2 dengan jumlah neuron yaitu 35.
Akurasi tertinggi yang diperoleh yaitu 90%. Untuk
lebih jelasnya, perubahan naik turunnya akurasi dapat
dilihat pada grafik berikut ini:
51
78
8782 81
9085
78
40
50
60
70
80
90
100
10 15 20 25 30 35 40 45
Ak
ura
si
(%)
Jumlah Neuron
Grafik Perubahan Akurasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
Gambar 4.31Grafik Perubahan Akurasi Feature 8,
Hidden Layer 2
4.2.2 Implementasi User Interface
Berikut ini tampilan antarmuka menu utama keseluruhan dari
aplikasi dalam penelitian ini:
Gambar 4.31 Tampilan Pelatihan dan Pengujian
Aplikasi ini dibagi kedalam 2 proses, yaitu pelatihan arsitektur
JST, dan identifikasi data uji. Berikut ini tampilan antarmuka untuk
masing- masing proses:
51
78
8782 81
9085
78
40
50
60
70
80
90
100
10 15 20 25 30 35 40 45
Ak
ura
si
(%)
Jumlah Neuron
Grafik Perubahan Akurasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
1. Pelatihan Hidden Layer 1
Gambar 4.32Tampilan Proses Pelatihan Arsitektur JST 1 Hidden
Layer
2. Pelatihan Hidden Layer 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
Gambar 4.33Tampilan Proses Pelatihan Arsitektur JST 2
Hidden Layer
3. Identifikasi Data Uji
Gambar 4.34 Data Uji yang dikenali
4.2.3 Pengujian Data Tunggal
Setelah dilakukan pelatihan pada arsitektur jaringan syaraf tiruan,
selanjutnya akan dilakukan pengujian terhadap data tunggal, dimana
data yang diuji merupakan data aksara Batak Karo terbaru yang tidak
termasuk dalam proses pelatihan dan pengujian data kelompok.
Proses ini dilakukan dengan mengenalipola aksara menggunakan
model jaringan terbaik yang telah didapatkan dari proses pelatihan
arsitektur jaringan. Data uji untuk masing-masing aksara berjumlah
satu huruf aksara Batak Karo terbaru,kemudian seluruh hasil
identifikasi dari aplikasi disesuaikan terhadap target aksara. Berikut
ini tabel hasil uji coba terhadap 21 huruf aksara Batak Karo:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
Tabel 4.18Hasil Pengujian Data Tunggal
Aksara Batak Karo
No
Huruf
Aksara
Batak
Hasil Dari Target
Aksara Status
1 BA KARO BA Benar
2 CA KARO TA Salah
3 DA KARO DA Benar
4 GA KARO GA Benar
5 HA KARO HA Benar
6 I KARO I Benar
7 JA KARO JA Benar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
8 KA KARO KA Benar
9 LA KARO LA Benar
10 MA KARO MA Benar
11 MBA
KARO MBA Benar
12 NA KARO NA Benar
13 NDA
KARO NDA Benar
14 NGA
KARO NGA Benar
15 PA KARO PA Benar
16 RA KARO RA Benar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
17 SA KARO SA Benar
18 TA KARO YA Salah
19 U KARO U Benar
2 WA KARO WA Benar
21 YA KARO MBA Salah
Setelah melakukan percobaan dengan mengubah banyaknya
lapisan tersembunyi, unit neuron pada tiap lapisan tersembunyi, kombinasi
ciri yang digunakan, telah terlihat adanya perubahan akurasi ketika
dilakukanperubahan tersebut, terdapat pada percobaan kombinasi ciri 8
sebanyak dari 168huruf dengan akurasi 90%. Dapat dilihat pula data huruf
yang terbaca paling sedikit terdapat pada percobaan kombinasi ciri 1 dengan
2 layerdengan akurasi 45% . Dari data tersebut dapat dikatakan bahwa alat
ini dapat mengenali tulisan tangan huruf Aksara Batak Karo. Dengan
dilakukannya rekayasa perubahanfitur atau ciri, dan fungsi aktivasi pada
jaringan syaraf tiruan didapatlah peningkatan prosentase untuk data dengan
kombinasi ciri 8. Jadi untuk meningkatkan besarnya prosentasekeakuratan
dapat dilakukan dengan rekayasa penggunaan fitur,banyaknya layer,
neuron,epoch dan fungsi aktivasi.Dilakukan pula pengujian terhadap data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
tunggal untuk melihat hasil dari pelatihan jaringan yang dilakukan. Data uji
tunggal ini ada yang memiliki noise, dan ada pula yang tidak begitu bagus
tulisannya. Dari hasil yang diperoleh pada penelitian ini tentang pengenalan
Huruf Aksara Batak Karo dengan algoritma backpropagationdiketahui
bahwa :
1. Pada penelitian ini terdapat 168 tulisan tangan huruf Aksara Batak Karo
yang dapat terdeteksi, maka dikatakan algoritma backpropagationdapat
mengenal aksara batak karo.
2. Prosentase akurasi dari beberapa fungsi yang diterapkan pada
penelitianini diperoleh akurasi terbaik sebesar 90%maka penelitian ini
dikatakan berhasil karena sudah memenuhi tujuan penelitiankarena
akurasi keterbacaan sudah melebihi 85% prosentase keberhasilan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
5 BAB V
PENUTUP
5.1 Kesimpulan
Dari hasil penelitian ini, pengenalan pola Aksara Batak Karo
menggunakan metode Back Propagation, dapat disimpulkan dalam
beberapa hal, sebagai berikut:
1. Hasil dari percobaan pengujian variasi kombinasi ciri dan jumlah
hidden layer beserta jumlah neuron-nya, dengan parameter arsitektur
jaringan syaraf tiruan Back Propagation yaitu jumlah iterasi/epoch 500,
menghasilkan akurasi tertinggi sebesar 90% pada ciri 8 dengan 1
hidden layer dan 2 hidden layer, yaitu jumlah neuron pada hidden layer
1 sebanyak 20 dan jumlah neuron pada hidden layer 2 sebanyak 35.
2. Dalam implementasi sistem ini, dilakukan tahap preprosessing thining,
jika tidak maka hasil tidak sesuai dengan target.
3. Hasil dari percobaan pengujian data tunggal, bahwa aksara Batak huruf
“CA”, “TA” dan “YA” tidak dapat dikenali.
4. Model jaringan syaraf tiruan yang dihasilkan sudah mampu mengenali
pola Aksara Batak Karo dengan baik karena akurasi sistem yang
diperoleh cukup tinggi, maka aplikasi ini mampu mengenali pola
dengan tepat, sehingga hasilnya sesuai dengan target aslinya.
5.2 Saran
Saran yang dapat diberikan untuk mengembangkan aplikasi ini
kedepannya yaitu:
1. Jumlah data aksara yang akan digunakan dalam pelatihan dan pengujian
arsitektur jaringan ditambah lagi atau dapat menggunakan aksara Batak
lainnya karena aksara Batak bermacam-macam.
2. Metode ekstraksi ciri dapat menggunakan metode lain.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
DAFTAR PUSTAKA
Nugroho, W.N &Widiarti, A.R. (2016). Transliterasi Citra Aksara
HiraganaMempergunakan Jaringan Backpropagation. Yogyakarta.
Kozok, U. (2009). Sejarah Perkembangan Tulisan Batak. : Kepustakaan Populer
Gramedia.
Kristianto, A. (2004). Jaringan Syaraf Tiruan. Yogyakarta: Penerbit Gava Media
Prasetaningtyas, Y. (2016). Klasifikasi Pola Tanda Tangan Menggunakan Back
Propagation. Skripsi. Fakultas Sains dan Teknologi. Universitas Sanata
Dharma. Yogyakarta.
Puspaningrum, D. (2006). Pengantar Jaringan Syaraf Tiruan. Yogyakarta :
Penerbit Andi Offset.
Sinaga, D dan Anggi, R. (2013). Laporan Akhir Penelitian Dosen Pemula.
http.www.jurnal.com/2013/pengenalan-aksara-batak. Di akses pada 23
Oktober 2015
Surinta, O. (2010). Overview of Handwritten Thai character Recognition.
http://www.ai.rug.nl/~mrolarik/APSMeeting/09-07-
2010%20Overview%20of%20Handwritten%20Thai%20Character%20R
ecognition.pdf. 12 September 2016.
Siang, J. J. (2005).Jaringan Syaraf Tiruan dan Pemrogramannya Menggunakan
Matlab (1). Yogyakarta: Penerbit ANDI.
Widiarti, A.R. (2011). Comparing Hilditch, Rosenfeld, Zhang-Suen,
Nagendraprasad – Wang-Gupta Thinning.International Scholarly and
Scientific Research & Innovation. No 6. Vol 5. halaman 1.
http://waset.org/publications/6492/comparing-hilditch-rosenfeld-zhang-
suen-and-nagendraprasad-wang-gupta-thinning.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
LAMPIRAN
Source Code:
menu.m
function varargout = menupengenalan(varargin) % MENUPENGENALAN MATLAB code for menupengenalan.fig % MENUPENGENALAN, by itself, creates a new MENUPENGENALAN or
raises the existing % singleton*. % % H = MENUPENGENALAN returns the handle to a new
MENUPENGENALAN or the handle to % the existing singleton*. % % MENUPENGENALAN('CALLBACK',hObject,eventData,handles,...)
calls the local % function named CALLBACK in MENUPENGENALAN.M with the given
input arguments. % % MENUPENGENALAN('Property','Value',...) creates a new
MENUPENGENALAN or raises the % existing singleton*. Starting from the left, property
value pairs are % applied to the GUI before menupengenalan_OpeningFcn gets
called. An % unrecognized property name or invalid value makes property
application % stop. All inputs are passed to menupengenalan_OpeningFcn
via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows
only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help
menupengenalan
% Last Modified by GUIDE v2.5 08-Dec-2016 13:21:37
% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @menupengenalan_OpeningFcn, ... 'gui_OutputFcn', @menupengenalan_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end
if nargout
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before menupengenalan is made visible. function menupengenalan_OpeningFcn(hObject, eventdata, handles,
varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to menupengenalan (see
VARARGIN)
% Choose default command line output for menupengenalan handles.output = hObject;
% Update handles structure guidata(hObject, handles);
% UIWAIT makes menupengenalan wait for user response (see
UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = menupengenalan_OutputFcn(hObject, eventdata,
handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure varargout{1} = handles.output;
function InputTF_Callback(hObject, eventdata, handles) % hObject handle to InputTF (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of InputTF as text % str2double(get(hObject,'String')) returns contents of
InputTF as a double
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
% --- Executes during object creation, after setting all
properties. function InputTF_CreateFcn(hObject, eventdata, handles) % hObject handle to InputTF (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on button press in pilihaksara. function pilihaksara_Callback(hObject, eventdata, handles) % hObject handle to pilihaksara (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA) % if fileName ~= 0 % [fileName, alamatFile] = uigetfile({'*.jpg'}); % % % set(handles.edittext,'String',handles.gui.fullpath); % alamatNamaFile = fullfile(fileName, alamatFile); % % set(handles.data,'String',{files.name}); % set(handles.inputTF,'String',alamatNamaFile); % end [filename,pathname] = uigetfile('All Image
Files(*.JPG;*.jpg;*.bmp;*.png;)','Pilih Gambar'); % cek file name if isequal([filename,pathname],[0,0]) return else fullpath = fullfile(pathname,filename); handles.gui.fullpath = fullpath; handles.gui.filename = filename; handles.gui.pathname = pathname; %tuliskan nama file pada bagian edit text set(handles.InputTF,'String',handles.gui.fullpath); % tampilkan citra asli
addpath(handles.gui.pathname); axes(handles.axes2); I = imread(handles.gui.filename); handles.gui.I = I; imshow(I); guidata(hObject, handles); end
function kenal1_Callback(hObject, eventdata, handles) % hObject handle to kenal1 (see GCBO)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
% eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of kenal1 as text % str2double(get(hObject,'String')) returns contents of
kenal1 as a double
% --- Executes during object creation, after setting all
properties. function kenal1_CreateFcn(hObject, eventdata, handles) % hObject handle to kenal1 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function databenar1_Callback(hObject, eventdata, handles) % hObject handle to databenar1 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of databenar1 as
text % str2double(get(hObject,'String')) returns contents of
databenar1 as a double
% --- Executes during object creation, after setting all
properties. function databenar1_CreateFcn(hObject, eventdata, handles) % hObject handle to databenar1 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
function totaldata1_Callback(hObject, eventdata, handles) % hObject handle to totaldata1 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of totaldata1 as
text % str2double(get(hObject,'String')) returns contents of
totaldata1 as a double
% --- Executes during object creation, after setting all
properties. function totaldata1_CreateFcn(hObject, eventdata, handles) % hObject handle to totaldata1 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function akurasi_Callback(hObject, eventdata, handles) % hObject handle to akurasi (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of textakurasi as
text % str2double(get(hObject,'String')) returns contents of
akurasi as a double
% --- Executes during object creation, after setting all
properties. function akurasi_CreateFcn(hObject, eventdata, handles) % hObject handle to akurasi (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function node1_Callback(hObject, eventdata, handles) % hObject handle to node1 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of node1 as text % str2double(get(hObject,'String')) returns contents of
node1 as a double
% --- Executes during object creation, after setting all
properties. function node1_CreateFcn(hObject, eventdata, handles) % hObject handle to node1 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function node2_Callback(hObject, eventdata, handles) % hObject handle to node2 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of node2 as text % str2double(get(hObject,'String')) returns contents of
node2 as a double
% --- Executes during object creation, after setting all
properties. function node2_CreateFcn(hObject, eventdata, handles) % hObject handle to node2 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function epoch_Callback(hObject, eventdata, handles) % hObject handle to epoch (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of epoch as text % str2double(get(hObject,'String')) returns contents of
textepoch as a double
% --- Executes during object creation, after setting all
properties. function epoch_CreateFcn(hObject, eventdata, handles) % hObject handle to epoch (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on button press in proseskenal. function proseskenal_Callback(hObject, eventdata, handles) % hObject handle to proseskenal (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA) load 'pilihciri.mat'; load 'net.mat'; direktori=get(handles.InputTF,'String'); [fituruji1,fituruji2,fituruji3,fituruji4,fituruji5,fituruji6,fitur
uji7,fituruji8]=preposessing_uji(direktori); if pilihciri == 1 data_seion=fituruji1; elseif pilihciri == 2 data_seion=fituruji2; elseif pilihciri == 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
data_seion=fituruji3; elseif pilihciri == 4 data_seion=fituruji4; elseif pilihciri == 5 data_seion=fituruji5; elseif pilihciri == 6 data_seion=fituruji6; elseif pilihciri == 7 data_seion=fituruji7; elseif pilihciri == 8 data_seion=fituruji8; else data_seion=zeros(168,45); end datapca=processpca(data_seion,0.02); datauji=mapstd(datapca)'; output=sim(net,datauji); output=compet(output); display(output); [q, r]=max(output); display(r); if r==1 hasil_huruf='BA'; set(handles.kenal1,'String',hasil_huruf); elseif r==2 hasil_huruf='TA'; set(handles.kenal1,'String',hasil_huruf); elseif r==3 hasil_huruf='DA'; set(handles.kenal1,'String',hasil_huruf); elseif r==4 hasil_huruf='GA'; set(handles.kenal1,'String',hasil_huruf); elseif r==5 hasil_huruf='HA'; set(handles.kenal1,'String',hasil_huruf); elseif r==6 hasil_huruf='I'; set(handles.kenal1,'String',hasil_huruf); elseif r==7 hasil_huruf='JA'; set(handles.kenal1,'String',hasil_huruf); elseif r==8 hasil_huruf='KA'; set(handles.kenal1,'String',hasil_huruf); elseif r==9 hasil_huruf='LA'; set(handles.kenal1,'String',hasil_huruf); elseif r==10 hasil_huruf='MA'; set(handles.kenal1,'String',hasil_huruf); elseif r==11 hasil_huruf='MBA'; set(handles.kenal1,'String',hasil_huruf); elseif r==12 hasil_huruf='NA';
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
set(handles.kenal1,'String',hasil_huruf); elseif r==13 hasil_huruf='NDA'; set(handles.kenal1,'String',hasil_huruf); elseif r==14 hasil_huruf='NGA'; set(handles.kenal1,'String',hasil_huruf); elseif r==15 hasil_huruf='PA'; set(handles.kenal1,'String',hasil_huruf); elseif r==16 hasil_huruf='RA'; set(handles.kenal1,'String',hasil_huruf); elseif r==17 hasil_huruf='SA'; set(handles.kenal1,'String',hasil_huruf); elseif r==18 hasil_huruf='YA'; set(handles.kenal1,'String',hasil_huruf); elseif r==19 hasil_huruf='U'; set(handles.kenal1,'String',hasil_huruf); elseif r==20 hasil_huruf='WA'; set(handles.kenal1,'String',hasil_huruf); elseif r==21 hasil_huruf='CA'; set(handles.kenal1,'String',hasil_huruf); end
% --- Executes during object creation, after setting all
properties. function proses1_CreateFcn(hObject, eventdata, handles) % hObject handle to proses1 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% --- Executes on button press in proses1. function proses1_Callback(hObject, eventdata, handles) % hObject handle to proses1 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA) fea1=get(handles.ciri1,'Value'); fea2=get(handles.ciri2,'Value'); fea3=get(handles.ciri3,'Value'); fea4=get(handles.ciri4,'Value'); fea5=get(handles.ciri5,'Value'); fea6=get(handles.ciri6,'Value'); fea7=get(handles.ciri7,'Value'); fea8=get(handles.ciri8,'Value'); Hidden1=str2double(get(handles.node1,'String'));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
Hidden2=str2double(get(handles.node2,'String')); iterasi=str2double(get(handles.epoch,'String')); if fea1 == 1 load feature1.data; data_seion = feature1(:,:); pilihciri=1; elseif fea2 == 1 load feature2.data; data_seion = feature2(:,:); pilihciri=2; elseif fea3 == 1 load feature3.data; data_seion = feature3(:,:); pilihciri=3; elseif fea4 == 1 load feature4.data; data_seion = feature4(:,:); pilihciri=4; elseif fea5 == 1 load feature5.data; data_seion = feature5(:,:); pilihciri=5; elseif fea6 == 1 load feature6.data; data_seion = feature6(:,:); pilihciri=6; elseif fea7 == 1 load feature7.data; data_seion = feature7(:,:); pilihciri=7; elseif fea8 == 1 load feature8.data; data_seion = feature8(:,:); pilihciri=8; else data_seion = zeros(21,168); end datapca=processpca(data_seion,0.02); datanormal=mapstd(datapca)';
target = target_data; [N,O] = size(target'); data = datanormal; k = 4; %k-fold 4
target_kelas = vec2ind(target); t1 = find(target_kelas == 1); t2 = find(target_kelas == 2); t3 = find(target_kelas == 3); t4 = find(target_kelas == 4); t5 = find(target_kelas == 5); t6 = find(target_kelas == 6); t7 = find(target_kelas == 7); t8 = find(target_kelas == 8); t9 = find(target_kelas == 9); t10 = find(target_kelas == 10);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
t11 = find(target_kelas == 11); t12 = find(target_kelas == 12); t13 = find(target_kelas == 13); t14 = find(target_kelas == 14); t15 = find(target_kelas == 15); t16 = find(target_kelas == 16); t17 = find(target_kelas == 17); t18 = find(target_kelas == 18); t19 = find(target_kelas == 19); t20 = find(target_kelas == 20); t21 = find(target_kelas == 21);
ind0 = 1:N; M = floor((N/21)/k); %bagi data masing2 huruf untuk testing
rng(0); if Hidden2 == 0 net =
newff(minmax(data),[Hidden1,21],{'logsig','purelin'},'trainrp'); else net =
newff(minmax(data),[Hidden1,Hidden2,21],{'logsig','logsig','pureli
n'},'trainrp'); end
net = init(net); net.trainParam.epochs = iterasi; net.divideFcn = 'divideind';
conf_mat=zeros(21,21); maks=0; for i=1:k tstind = 1 + M*(i-1):M*i; if i == k trnind = 1:tstind(1)-1; elseif i == 1 trnind = tstind(end)+1:N/21; else trnind = [1:tstind(1)-1,tstind(end)+1:N/21]; end
trnInd =
[ind0(t1(trnind)),ind0(t2(trnind)),ind0(t3(trnind)),ind0(t4(trnind
)),...
ind0(t5(trnind)),ind0(t6(trnind)),ind0(t7(trnind)),ind0(t8(trnind)
),...
ind0(t9(trnind)),ind0(t10(trnind)),ind0(t11(trnind)),ind0(t12(trni
nd)),...
ind0(t13(trnind)),ind0(t14(trnind)),ind0(t15(trnind)),ind0(t16(trn
ind)),...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
ind0(t17(trnind)),ind0(t18(trnind)),ind0(t19(trnind)),ind0(t20(trn
ind)),... ind0(t21(trnind))]; tstInd =
[ind0(t1(tstind)),ind0(t2(tstind)),ind0(t3(tstind)),ind0(t4(tstind
)),...
ind0(t5(tstind)),ind0(t6(tstind)),ind0(t7(tstind)),ind0(t8(tstind)
),...
ind0(t9(tstind)),ind0(t10(tstind)),ind0(t11(tstind)),ind0(t12(tsti
nd)),...
ind0(t13(tstind)),ind0(t14(tstind)),ind0(t15(tstind)),ind0(t16(tst
ind)),...
ind0(t17(tstind)),ind0(t18(tstind)),ind0(t19(tstind)),ind0(t20(tst
ind)),... ind0(t21(tstind))];
net.divideParam.trainInd = trnInd; net.divideParam.testInd = tstInd;
[net,tr] = train(net,data,target);
ytst = net(data(:,tr.testInd)); ttst = target(:,tr.testInd);
[c,cm,ind,per]=confusion(ttst,ytst); conf_mat=conf_mat+cm; benar=sum(diag(cm)); totaldata=sum(sum(cm)); akurasi=(benar/totaldata)*100; if akurasi > maks save('net.mat','net'); maks=akurasi; end end benar_total=sum(diag(conf_mat)); totalseluruhdata=sum(sum(conf_mat)); akurasi_total=(benar_total/totalseluruhdata)*100;
save('pilihciri.mat','pilihciri'); set(handles.databenar1,'String',num2str(benar_total)); set(handles.totaldata1,'String',num2str(totalseluruhdata)); set(handles.akurasi,'String',num2str(round(akurasi_total))); h = msgbox('Pelatihan Jaringan SELESAI', 'Pelatihan
Backpropagation','warn');
Preprossesing.m [file,path]=uigetfile('*/*.JPG','ambil gambar'); image=imread([path file]); %mengubah citra menjadi keabuan grayimage=rgb2gray(image); % mengubah citra keabuan menjadi hitam putih
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
image2=im2bw(grayimage); %merize citra menjadi 600x600 pixel resized_bw = imresize(image2,[600,600]); %penipisan citra thin=Rosenfeld(resized_bw); [im1,im2,im3,im4,im5,im6,im7,im8,im9]=divide(thin); %EKSTRAKSI CIRI subplot(3,3,1), subimage(im1) subplot(3,3,2), subimage(im2) subplot(3,3,3), subimage(im3) subplot(3,3,4), subimage(im4) subplot(3,3,5), subimage(im5) subplot(3,3,6), subimage(im6) subplot(3,3,7), subimage(im7) subplot(3,3,8), subimage(im8) subplot(3,3,9), subimage(im9)
[vert_1,horz_1,dig1_1,dig2_1] = MarkDirection(im1); [vert_2,horz_2,dig1_2,dig2_2] = MarkDirection(im2); [vert_3,horz_3,dig1_3,dig2_3] = MarkDirection(im3); [vert_4,horz_4,dig1_4,dig2_4] = MarkDirection(im4); [vert_5,horz_5,dig1_5,dig2_5] = MarkDirection(im5); [vert_6,horz_6,dig1_6,dig2_6] = MarkDirection(im6); [vert_7,horz_7,dig1_7,dig2_7] = MarkDirection(im7); [vert_8,horz_8,dig1_8,dig2_8] = MarkDirection(im8); [vert_9,horz_9,dig1_9,dig2_9] = MarkDirection(im9);
[black_1] = IoC(im1); [black_2] = IoC(im2); [black_3] = IoC(im3); [black_4] = IoC(im4); [black_5] = IoC(im5); [black_6] = IoC(im6); [black_7] = IoC(im7); [black_8] = IoC(im8); [black_9] = IoC(im9);
a1=[black_1,black_2, black_3,
black_4,black_5,black_6,black_7,black_8,black_9...
dig1_1,dig1_2,dig1_3,dig1_4,dig1_5,dig1_6,dig1_7,dig1_8,dig1_9...
dig2_1,dig2_2,dig2_3,dig2_4,dig2_5,dig2_6,dig2_7,dig2_8,dig2_9...
horz_1,horz_2,horz_3,horz_4,horz_5,horz_6,horz_7,horz_8,horz_9...
vert_1,vert_2,vert_3,vert_4,vert_5,vert_6,vert_7,vert_8,vert_9,];
black = [black_1, black_2, black_3, black_4, black_5, black_6,
black_7, black_8, black_9]; vert = [vert_1, vert_2, vert_3, vert_4, vert_5, vert_6, vert_7,
vert_8, vert_9]; horz = [horz_1, horz_2, horz_3, horz_4, horz_5, horz_6, horz_7,
horz_8, horz_9];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
dig1 = [dig1_1, dig1_2, dig1_3, dig1_4, dig1_5, dig1_6, dig1_7,
dig1_8, dig1_9]; dig2 = [dig2_1, dig2_2, dig2_3, dig2_4, dig2_5, dig2_6, dig2_7,
dig2_8, dig2_9]; feature1 = [black]; feature2 = [dig1]; feature3 = [dig2]; feature4 = [black, dig1]; feature5 = [black, dig2]; feature6= [horz,vert]; feature7 = [dig1,dig2]; feature8 = [black, dig1, dig2, horz, vert];
Ioc.m
function [black] = IoC(newimage) %summary [rows,columns]=size(newimage); count=0; for i=1:rows for j=1:columns if newimage(i,j)==0 count=count+1; end end end black=count; end
Preprocesing Uji function
[fitur1,fitur2,fitur3,fitur4,fitur5,fitur6,fitur7,fitur8] =
preposessing_uji( direktori ) %UNTITLED Summary of this function goes here % Detailed explanation goes here image=imread(direktori); %mengubah citra menjadi keabuan grayimage=rgb2gray(image); % mengubah citra keabuan menjadi hitam putih image2=im2bw(grayimage); %merize citra menjadi 600x600 pixel resized_bw = imresize(image2,[600,600]); %penipisan citra thin=Rosenfeld(resized_bw); [im1,im2,im3,im4,im5,im6,im7,im8,im9]=divide(thin); %EKSTRAKSI CIRI [vert_1,horz_1,dig1_1,dig2_1] = MarkDirection(im1); [vert_2,horz_2,dig1_2,dig2_2] = MarkDirection(im2); [vert_3,horz_3,dig1_3,dig2_3] = MarkDirection(im3); [vert_4,horz_4,dig1_4,dig2_4] = MarkDirection(im4); [vert_5,horz_5,dig1_5,dig2_5] = MarkDirection(im5); [vert_6,horz_6,dig1_6,dig2_6] = MarkDirection(im6); [vert_7,horz_7,dig1_7,dig2_7] = MarkDirection(im7); [vert_8,horz_8,dig1_8,dig2_8] = MarkDirection(im8); [vert_9,horz_9,dig1_9,dig2_9] = MarkDirection(im9); [black_1] = IoC(im1);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
[black_2] = IoC(im2); [black_3] = IoC(im3); [black_4] = IoC(im4); [black_5] = IoC(im5); [black_6] = IoC(im6); [black_7] = IoC(im7); [black_8] = IoC(im8); [black_9] = IoC(im9); black = [black_1, black_2, black_3, black_4, black_5, black_6,
black_7, black_8, black_9]; vert = [vert_1, vert_2, vert_3, vert_4, vert_5, vert_6, vert_7,
vert_8, vert_9]; horz = [horz_1, horz_2, horz_3, horz_4, horz_5, horz_6, horz_7,
horz_8, horz_9]; dig1 = [dig1_1, dig1_2, dig1_3, dig1_4, dig1_5, dig1_6, dig1_7,
dig1_8, dig1_9]; dig2 = [dig2_1, dig2_2, dig2_3, dig2_4, dig2_5, dig2_6, dig2_7,
dig2_8, dig2_9]; fitur1 = [black]; fitur2 = [dig1]; fitur3 = [dig2]; fitur4 = [black, dig1]; fitur5 = [black, dig2]; fitur6 = [horz,vert]; fitur7 = [dig1,dig2]; fitur8 = [black, dig1, dig2, horz, vert]; end
MarkDirection.m function [vert,horz,dig1,dig2] = MarkDirection(newimage)
%UNTITLED2 Summary of this function goes here % Detailed explanation goes here [rows,columns]=size(newimage); % %Mask Vertical % ver=[1 0 1; 1 0 1; 1 0 1]; % %Mask Horizontal % hor=[1 1 1; 0 0 0; 1 1 1]; % %Mask Diagonal 1 % dg1=[0 1 1; 1 0 1; 1 1 0]; % %Mask Diagonal 1 % dg2=[1 1 0; 1 0 1; 0 1 1]; vert=0; horz=0; dig1=0; dig2=0; for i=2:rows-1 for j=2:columns-1 if newimage(i,j)==0 if newimage(i,j)+newimage(i-1,j)+newimage(i+1,j)==0 if newimage(i-1,j-1)+newimage(i-1,j+1)+newimage(i,j-
1)+newimage(i,j+1)+newimage(i+1,j-1)+newimage(i+1,j+1)==6 vert=vert+1; end end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
if newimage(i,j)+newimage(i,j-1)+newimage(i,j+1)==0 if newimage(i-1,j-1)+newimage(i-1,j)+newimage(i-
1,j+1)+newimage(i+1,j-1)+newimage(i+1,j)+newimage(i+1,j+1)==6 horz=horz+1; end end if newimage(i,j)+newimage(i-1,j-1)+newimage(i+1,j+1)==0 if newimage(i-1,j)+newimage(i-1,j+1)+newimage(i,j-
1)+newimage(i,j+1)+newimage(i+1,j-1)+newimage(i+1,j)==6 dig1=dig1+1; end end if newimage(i,j)+newimage(i-1,j+1)+newimage(i+1,j-1)==0 if newimage(i-1,j-1)+newimage(i-1,j)+newimage(i,j-
1)+newimage(i,j+1)+newimage(i+1,j)+newimage(i+1,j+1)==6 dig2=dig2+1; end end end end end end
Load_Data.m load .data
% data_seion = feature4(:,:); data_seion = feature8 (:,:);
datapca=processpca(data_seion,0.02); datanormal=mapstd(datapca)'; % datanormal = mapminmax(datapca)';
Otomaticsproses.m tempLebar = 0; tempPanjang = 0; for i = 1:168 [file,path] = uigetfile('*/*.JPG','ambil gambar'); image = imread([path file]); [lebar, panjang] = size(image); if tempLebar < lebar tempLebar = lebar; else tempLebar = tempLebar; end if tempPanjang < panjang tempPanjang = panjang; else tempPanjang = tempPanjang; end end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
Train_machine.m clear,clc Load_Data_2; target = target_data; [N,O] = size(target'); data = datanormal; k = 4; %k-fold 4
target_kelas = vec2ind(target); t1 = find(target_kelas == 1); t2 = find(target_kelas == 2); t3 = find(target_kelas == 3); t4 = find(target_kelas == 4); t5 = find(target_kelas == 5); t6 = find(target_kelas == 6); t7 = find(target_kelas == 7); t8 = find(target_kelas == 8); t9 = find(target_kelas == 9); t10 = find(target_kelas == 10); t11 = find(target_kelas == 11); t12 = find(target_kelas == 12); t13 = find(target_kelas == 13); t14 = find(target_kelas == 14); t15 = find(target_kelas == 15); t16 = find(target_kelas == 16); t17 = find(target_kelas == 17); t18 = find(target_kelas == 18); t19 = find(target_kelas == 19); t20 = find(target_kelas == 20); t21 = find(target_kelas == 21);
ind0 = 1:N; M = floor((N/21)/k); %bagi data masing2 huruf untuk testing
rng(0); net =
newff(minmax(data),[20,35,21],{'logsig','logsig','purelin'},'train
rp'); % net = newff (minmax(data),
[45,21],{'logsig','purelin'},'trainrp'); net.trainParam.epochs = 500;
net.divideFcn = 'divideind'; net = init(net);
acc = [];
conf_mat=zeros(21,21); for i=1:k tstind = 1 + M*(i-1):M*i; if i == k trnind = 1:tstind(1)-1; elseif i == 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
trnind = tstind(end)+1:N/21; else trnind = [1:tstind(1)-1,tstind(end)+1:N/21]; end
trnInd = benar=sum(diag(cm)); totaldata=sum(sum(cm)); akurasi=(benar/totaldata)*100 conf_mat=conf_mat+cm; end % avgacc = mean(acc) benar_total=sum(diag(conf_mat)) totalseluruhdata=sum(sum(conf_mat)) akurasi_total=(benar_total/totalseluruhdata)*100
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
DATA AKSARA:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
89
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
90
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI