Implementasi Jaringan Saraf Tiruan Untuk Pengenalan Pola Dan Penerjemah Aksara Karo Dengan Metode Associative Memory Tipe Hetero-Association

(1)

IMPLEMENTASI JARINGAN SARAF TIRUAN UNTUK

PENGENALAN POLA DAN PENERJEMAH

AKSARA KARO DENGAN METODE

ASSOCIATIVE MEMORY

TIPE

HETERO-ASSOCIATION

SKRIPSI

JAKUP GINTING

091401055

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014


(2)

IMPLEMENTASI JARINGAN SARAF TIRUAN UNTUK

PENGENALAN POLA DAN PENERJEMAH

AKSARA KARO DENGAN METODE

ASSOCIATIVE MEMORY

TIPE

HETERO-ASSOCIATION

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijasah Sarjana Ilmu Komputer

JAKUP GINTING

091401055

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014


(3)

PERSETUJUAN

Judul : IMPLEMENTASI JARINGAN SARAF TIRUAN UNTUK PENGENALAN POLA DAN

PENERJEMAH AKSARA KARO DENGAN METODE ASSOCIATIVE MEMORY TIPE HETERO- ASSOCIATION

Kategori : SKRIPSI

Nama : JAKUP GINTING

Nomor Induk Mahasiswa : 091401055

Program Studi : S1 ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, April 2014 Komisi Pembimbing :

Pembimbing 1 Pembimbing 2

Dr. Poltak Sihombing, M.Kom Romi Fadillah Rahmat, B.Comp.Sc, M.Sc NIP. 196203171991031001 NIP. 198603032010121004

Diketahui/disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001


(4)

PERNYATAAN

IMPLEMENTASI JARINGAN SARAF TIRUAN UNTUK PENGENALAN POLA DAN PENERJEMAH AKSARA KARO DENGAN METODE ASSOCIATIVE

MEMORY TIPE HETERO-ASSOCIATION

SKRIPSI

Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, April 2014

Jakup Ginting 091401055


(5)

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus, yang telah memberikan berkat dan kasih-Nya, serta segala sesuatu dalam hidup, sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, Program Studi S1 Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara.

Ucapan terima kasih penulis sampaikan kepada semua pihak yang telah membantu penulis dalam menyelesaikan skripsi ini baik secara langsung maupun tidak langsung. Pada kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada:

1. Bapak Prof. Dr. Dr. Syahril Pasaribu, DTM&H, Msc(CTM), Sp.A(K) selaku Rektor Universitas Sumatera Utara.

2. Bapak Prof. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

3. Bapak Dr. Poltak Sihombing, M.Kom. selaku Ketua Program Studi S1 Ilmu Komputer dan Dosen Pembimbing I yang telah banyak meluangkan waktunya dan memberikan masukan yang bermanfaat bagi penulis.

4. Ibu Maya Silvi Lydia, B.Sc. M.Sc. selaku Sekretaris Program Studi S1 Ilmu Komputer.

5. Bapak Romi Fadillah Rahmat, B.Comp.Sc, M.Sc selaku Dosen Pembimbing II yang telah banyak meluangkan waktunya dalam memberikan masukan-masukan yang bermanfaat kepada penulis.

6. Ibu Dr. Erna Budhiarti Nababan, MIT selaku Dosen Pembanding I yang telah banyak meluangkan waktunya dalam memberikan masukan-masukan kepada penulis.

7. Bapak Amer Sharif, S.Si, M.Kom selaku Dosen Pembanding II yang telah banyak meluangkan waktunya dalam memberikan masukan-masukan kepada penulis.

8. Semua dosen serta pegawai di Program Studi S1 Ilmu Komputer Fasilkom-TI USU.

9. Ayahanda (Alm) M.Ginting dan Ibunda A. Br Tarigan yang selalu memberikan dukungan baik materi maupun non-materi, dukungan, kasih sayang, perhatian, serta doa tanpa henti kepada penulis.

10.Keempat kakakku, ketiga abang iparku dan kedua keponakanku yang selalu memberikan sukacita kepada penulis saat mengerjakan skripsi.

11.Teman seperjuangan 2009 Samuel, Septian, Jhonri, Yudhi, kelompok rohaniku Ressurexit Dominus, Kak Debora, Ales, Juni, (alm)Harmanto, Santo, Bertua, adik-adikku Mey, Winda, Dhini, Vera dan Satya, yang telah banyak memberikan inspirasi dan berdoa untuk penulis.


(6)

12.Teman-teman Koordinasi FMIPA 2011, 2012 dan 2013 yang menjadi teman dalam suka duka dan berbagi dalam pengerjaan skripsi

13.Semua pihak yang terlibat langsung maupun tidak langsung yang tidak dapat penulis ucapkan satu demi satu yang telah membantu penyelesaian skripsi ini. Penulis menyadari bahwa skripsi ini masih terdapat kekurangan. Oleh karena itu, penulis mengharapkan kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini. Penulis berharap skripsi ini dapat bermanfaat terutama untuk diri sendiri dan juga kepada seluruh pembaca.

Medan, April 2014

Penulis,


(7)

ABSTRAK

Jaringan saraf tiruan adalah sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan saraf biologi. Jaringan saraf tiruan dibentuk sebagai generalisasi model matematika dari jaringan saraf biologi. Prinsip jaringan saraf tiruan ini meniru cara kerja sistem saraf otak manusia. Pengenalan pola merupakan salah satu fungsi dari pemanfaatan jaringan saraf tiruan, dimana suatu obyek dikenali polanya sehingga nantinya dapat membantu proses pengenalan dari suatu obyek yang polanya mengalami kerusakan. Metode associative memory tipe hetero-association merupakan arsitektur jaringan saraf tiruan yang dapat mengenali pola baik dengan data yang tidak lengkap atau dengan Noise. Proses kerja pada penelitian ini dimulai dengan digitalisasi citra Aksara Karo dari tulisan tangan pada kertas ke dalam citra digital dengan scanner kemudian diproses untuk memperoleh citra biner yang akhirnya diubah ke dalam bipolar dengan nilai 1 dan -1. Tahap selanjutnya nilai piksel dari citra tersebut dijadikan inputan bagi jaringan saraf tiruan. Akhir dari proses ini akan menghasilkan matriks bobot yang akan dijadikan sebagai tolak ukur untuk pengujian pengenalan pola karakter Aksara Karo. Penelitian ini memiliki dua pengujian, pertama pengujian terhadap data pengujian pola karakter Aksara Karo yang telah dilatih diperoleh tingkat pengenalan sebesar 82,7419%, kedua pengujian terhadap data pengujian pola karakter Aksara Karo yang tidak dilatih (testing) yang memiliki tingkat pengenalan sebesar 79,0323%. Kesimpulan yang diperoleh dari penelitian ini adalah metode associative memory tipe hetero-association dapat mengenal pola cukup baik, walaupun dengan proses pelatihan hanya 1 epoch.

Katakunci: Jaringan Saraf Tiruan, Associative Memory tipe Hetero-association, Pengenalan Pola, Aksara Karo.


(8)

IMPLEMENTATION OF NEURAL NETWORK FOR AKSARA KARO PATTERN RECOGNITION AND TRANSLATION WITH ASSOCIATIVE MEMORY

HETERO-ASSOCIATION TYPE METHOD ABSTRACT

Artificial neural networks are information processing systems that have characteristics similar to biological neural networks. Neural network was formed as a generalization of mathematical models of biological neural networks. Principles of artificial neural networks mimic the way the human brain nerve system working. Pattern recognition is one of the functions of utilization of artificial neural networks, where the pattern of an object is recognized so as to help in identification of damaged patterns. Associative memory hetero-association type is a method of neural network which is able to recognize both pattern with incomplete data or with Noise. This research begins by digitalizing the Aksara Karo character from handwritten on paper using scanner and processed to obtain binary images and in the end converted to bipolar with pixel value of 1 and -1. These images are then used as input for the neural network. The end result is a weight matrix that will be used for Aksara Karo character recognition. Test result using characters were used as training sample obtained a recognition rate of 82,7419%. Test using testing sample produced a recognition rate of 79,0323%. It may be concluded that method is Associative memory hetero-association type method can recognise the pattern well even with just 1 epoch train.

Keyword: Neural Network, Associative Memory Hetero-association Type, Pattern Recognition, Aksara Karo


(9)

DAFTAR ISI

Hal .

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

Abstract vii

Daftar Isi viii

Daftar Gambar x

Daftar Tabel xi

Bab 1 Pendahuluan

1.1. Latar Belakang 1

1.2. Rumusan Masalah 2

1.3. Batasan Masalah 2

1.4. Tujuan Penelitian 3

1.5. Manfaat Penelitian 3

1.6. Sistematika Penelitian 3

Bab 2 Landasan Teori

2.1. Jaringan Saraf Tiruan

2.1.1. Arsitektur Jaringan Saraf Tiruan 2.1.2. Manfaat Jaringan Saraf Tiruan

2.2. Pengenalan Pola

2.2.1. Proses Pra Pengolahan 2.2.2. Ekstraksi Fitur

2.2.3. Klasifikasi dan Segmentasi 2.2.4. Seleksi Ciri

2.2.5. Latihan

2.3. Pengenalan Pola Asosiatif 2.4. Citra

2.5. Aksara Karo

2.6. Tinjauan Penelitian Yang Berhubungan 5 7 8 11 12 12 13 13 13 13 16 16 18 Bab 3 Analisis Dan Perancangan Sistem

3.1. Analisis Sistem

3.1.1 Analisis Masalah 3.1.2 Analisis Persyaratan

3.1.2.1 Persyaratan Fungsional 3.1.2.2 Persyaratan NonFungsional 3.1.3. Analisis Proses

3.2. Pemodelan

3.2.1. Pemodelan Sistem

3.2.1.1. Perancangan Unified Modelling Language (UML) 3.2.1.1.1. Use Case Diagram

3.2.1.1.2. Activity Diagram (Diagram Aktivitas) 3.2.1.1.3. Sequence Diagram

31 31 32

3.3. Perancangan Flowchart 32

19 19 19 19 20 20 21 28 28 29 29 31 34


(10)

3.4. Perancangan Antarmuka Sistem 3.4.1. Form Utama

3.4.2. Form Pengolahan dan Pelatihan Citra 3.4.3. Form Pengujian Citra

3.5. Tahapan Sistem

3.6. Perancangan Arsitektur Jaringan 3.7. Pseudocode Program

3.7.1. Pseudocode Proses Pelatihan JST 3.7.2. Pseudocode Proses Pengujian JST Bab 4 Implementasi dan Pengujian Sistem

4.1. Implementasi Sistem

4.1.1. Tampilan Antarmuka Sistem 4.1.1.1. Form Utama

4.1.1.2. Form Tentang

4.1.1.3. Form Pengolahan dan Pelatihan

4.1.1.4. Form Bantuan Pengolahan dan Pelatihan 4.1.1.5. Form Pengujian

4.1.1.4. Form Bantuan Pengujian 4.2. Pengujian

4.2.1. Pengujian Pada Citra Yang Telah Dilatih 4.2.2. Pengujian Pada Citra Testing

4.3.Analisis Penyebab Kegagalan Dalam Pengenalan Karakter Bab 5 Kesimpulan dan Saran

5.1. Kesimpulan 5.2. Saran Daftar Pustaka

Lampiran Listing Program Lampiran Curriculum Vitae Lampiran Citra Aksara Karo

33 34 35 36 36 37 45 45 46 48 48 48 48 49 50 52 52 54 54 54 57 58 60 60 60 61 A-1 B-1 C-1


(11)

DAFTAR GAMBAR

Hal. Gambar 1.1 Beberapa contoh penulisan huruf “A” 1 Gambar 2.1 Neuron dalam jaringan saraf tiruan 6

Gambar 2.2 Jaringan Lapis Tunggal 7

Gambar 2.3 Jaringan Multi Lapis 8

Gambar 2.4 Jaringan kompetitif

Gambar 2.5 Model pengenalan pola dengan pendekatan statistik Gambar 2.6 Karakter Aksara Karo

8 12 17 Gambar 3.1 Use Case Diagram Sistem 30 Gambar 3.2 Activity Diagram Pelatihan 32 Gambar 3.3 Activity Diagram Pengujian 33

Gambar 3.4 Sequence Diagram Sistem 34

Gambar 3.5 Flowchart Proses Pelatihan dan Pengujian 36

Gambar 3.6 Rancangan Form Utama 37

Gambar 3.7 Rancangan Form Pengolahan dan Pengujian Citra 38 Gambar 3.8 Rancangan form Pengujian Citra 39 Gambar 3.9 Diagram Proses Sistem Secara Umum 40

Gambar 3.10 Urutan Pemrosesan Citra 42

Gambar 3.11 Arsitektur Jaringan Saraf Tiruan Metode associative memory tipe hetero-association untuk Pengenalan Pola Karakter Aksara Karo

45

Gambar 4.1 Tampilan Form Utama 48

Gambar 4.2 Tampilan Form Tentang 48

Gambar 4.3 Proses Pengambilan serta Pengubahan Ukuran Citra 49 Gambar4.4 Proses Binerisasi Citra

Gambar 4.5 Proses Ekstraksi Fitur

Gambar 4.6 Tampilan Antarmuka Form Bantuan Pengolahan dan Pelatihan

Gambar 4.7 Proses Pengujian Citra Gambar 4.8 Proses Pengujian Banyak Citra

Gambar 4.9 Tampilan Antarmuka Form Bantuan Pengujian

50 50 51 52 52 53


(12)

DAFTAR TABEL

Hal. Tabel 3.1 Dokumentasi Naratif Use Case Pelatihan Sistem

Tabel 3.2 Dokumentasi Naratif Use Case Pengujian Sistem Tabel 3.3 Simbol dan Keterangan Pada Flowchart

30 31 35 Tabel 4.1 Hasil Pengujian Citra yang Dilatih

Tabel 4.2 Citra yang Mengalami Kesalahan Dalam Pengenalan Tabel 4.3 Hasil Pengujian Citra yang Tidak Dilatih

Tabel 4.4 Citra yang Mengalami Kesalahan Dalam Pengenalan Tabel 4.5 Tabulasi Kemiripan Karakter Pada Aksara Karo

54 55 56 57 58


(13)

ABSTRAK

Jaringan saraf tiruan adalah sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan saraf biologi. Jaringan saraf tiruan dibentuk sebagai generalisasi model matematika dari jaringan saraf biologi. Prinsip jaringan saraf tiruan ini meniru cara kerja sistem saraf otak manusia. Pengenalan pola merupakan salah satu fungsi dari pemanfaatan jaringan saraf tiruan, dimana suatu obyek dikenali polanya sehingga nantinya dapat membantu proses pengenalan dari suatu obyek yang polanya mengalami kerusakan. Metode associative memory tipe hetero-association merupakan arsitektur jaringan saraf tiruan yang dapat mengenali pola baik dengan data yang tidak lengkap atau dengan Noise. Proses kerja pada penelitian ini dimulai dengan digitalisasi citra Aksara Karo dari tulisan tangan pada kertas ke dalam citra digital dengan scanner kemudian diproses untuk memperoleh citra biner yang akhirnya diubah ke dalam bipolar dengan nilai 1 dan -1. Tahap selanjutnya nilai piksel dari citra tersebut dijadikan inputan bagi jaringan saraf tiruan. Akhir dari proses ini akan menghasilkan matriks bobot yang akan dijadikan sebagai tolak ukur untuk pengujian pengenalan pola karakter Aksara Karo. Penelitian ini memiliki dua pengujian, pertama pengujian terhadap data pengujian pola karakter Aksara Karo yang telah dilatih diperoleh tingkat pengenalan sebesar 82,7419%, kedua pengujian terhadap data pengujian pola karakter Aksara Karo yang tidak dilatih (testing) yang memiliki tingkat pengenalan sebesar 79,0323%. Kesimpulan yang diperoleh dari penelitian ini adalah metode associative memory tipe hetero-association dapat mengenal pola cukup baik, walaupun dengan proses pelatihan hanya 1 epoch.

Katakunci: Jaringan Saraf Tiruan, Associative Memory tipe Hetero-association, Pengenalan Pola, Aksara Karo.


(14)

IMPLEMENTATION OF NEURAL NETWORK FOR AKSARA KARO PATTERN RECOGNITION AND TRANSLATION WITH ASSOCIATIVE MEMORY

HETERO-ASSOCIATION TYPE METHOD ABSTRACT

Artificial neural networks are information processing systems that have characteristics similar to biological neural networks. Neural network was formed as a generalization of mathematical models of biological neural networks. Principles of artificial neural networks mimic the way the human brain nerve system working. Pattern recognition is one of the functions of utilization of artificial neural networks, where the pattern of an object is recognized so as to help in identification of damaged patterns. Associative memory hetero-association type is a method of neural network which is able to recognize both pattern with incomplete data or with Noise. This research begins by digitalizing the Aksara Karo character from handwritten on paper using scanner and processed to obtain binary images and in the end converted to bipolar with pixel value of 1 and -1. These images are then used as input for the neural network. The end result is a weight matrix that will be used for Aksara Karo character recognition. Test result using characters were used as training sample obtained a recognition rate of 82,7419%. Test using testing sample produced a recognition rate of 79,0323%. It may be concluded that method is Associative memory hetero-association type method can recognise the pattern well even with just 1 epoch train.

Keyword: Neural Network, Associative Memory Hetero-association Type, Pattern Recognition, Aksara Karo


(15)

BAB I

PENDAHULUAN

1.1Latar Belakang

Manusia memiliki kemampuan yang luar biasa untuk mengenali objek-objek berdasarkan ciri-ciri atau pengetahuan yang pernah diamatinya dari objek-objek bersangkutan. Misalnya manusia dapat dengan mudah membedakan antara tiang listrik dengan pohon, atau antara kursi dengan meja.

Tidak sulit bagi manusia untuk mengenali setiap contoh seperti pada Gambar 1.1 sebagai huruf “A”. Sama mudahnya dengan mengenali tulisan tangan atau tulisan cetak dimana ketepatan pengenalan huruf tidak begitu penting. Jelas bahwa konteks sangat berperan pada kemampuan manusia untuk mengenali suatu objek. Hal inilah yang membuat sulit bila komputer untuk melakukan proses pengenalan suatu objek(Murni, 1992).

(a) (b) (c) (d) (e) (f)

Gambar 1.1. Beberapa contoh penulisan huruf “A”

Dengan adanya jaringan saraf tiruan maka permasalahan ini dapat diatasi. Jaringan saraf tiruan meniru jaringan saraf biologis manusia. Jaringan saraf biologis memiliki aktivitas-aktivitas seperti aktivitas mengingat, memahami, menyimpan, dan memanggil kembali apa yang pernah dipelajari oleh otak. Dalam prosesnya jaringan saraf biologis bekerja secara parallel dan berhubungan antara satu elemen dengan yang lainnya. Aktivitas dan proses inilah yang diadopsi oleh jaringan saraf tiruan.

Jaringan saraf tiruan sudah banyak berkembang saat ini baik dalam hal aplikasi juga metode. Ada berbagai macam aplikasi yang dapat ditemui di berbagai bidang seperti prediksi saham, peramalan cuaca, identifikasi risiko kanker, serta pengenalan pola. Metode-metode jaringan saraf yang telah umum dipakai baik dalam penelitian


(16)

atau pembangunan sebuah aplikasi adalah perceptron, back propagation, kohonen, LVQ, adaline, associative memory dan sebagainya. Jaringan saraf associative memory inilah yang akan digunakan penulis sebagai metode untuk membangun aplikasi pengenalan pola ini. Alasan penulis memilih associative memory karena metode ini dapat mengenali pola yang cacat (noisy) karena pola yang cacat juga akan dijadikan sampel untuk diasosiasikan bersama pola yang tepat(Rojas,1996).

Objek pengenalan pola yang dipilih oleh penulis adalah Aksara Karo. Aksara Karo dipilih karena kompleksitas hurufnya yang tidak sama dengan huruf latin. Aksara Karo memiliki dua bagian yaitu Induk Surat dan Anak Surat. Induk surat terdiri dari satu konsonan atau lebih dan huruf vokal a. Misalnya:ba, ka, na. Sedangkan anak surat adalah pengubah pengucapan/lafal dari induk surat. Setiap induk surat selalu berakhir dengan huruf vokal a, sehingga bila ingin mengubah induk surat menjadi huruf vokal yang lain maka harus menambahkan anak surat di depan induk surat. Misalnya: bo, ke ,nu.

Penelitian sebelumnya mengenai aksara sudah pernah dilakukan oleh Nurmila,dkk, untuk mengenali pola aksara Jawa dengan menggunakan metode back propagation. Untuk lebih jelasnya serta penelitian lainnya dapat dilihat di bagian tinjauan penelitian yang berhubungan.

1.2Rumusan Masalah

Bahwa karakter aksara Karo berbeda dengan karakter huruf Latin karena aksara Karo memiliki kompleksitas dalam bentuk dan dengan karakteristiknya yang unik maka diperlukan suatu pendekatan untuk melakukan pengenalan pola aksara Karo.

1.3Batasan Masalah

Adapun batasan masalah dalam penelitian ini adalah :

1. Pengenalan citra objek hanyalah dengan menggunakan metode associative memory.

2. Karakter yang dikenali adalah 21 huruf dan 10 angka.

3. Aplikasi ini dibangun hanya untuk mengenali terjemahan abjad dari karakter aksara Karo.


(17)

4. Citra yang akan diolah dalam bentuk satu karakter bukan dalam bentuk kalimat. 5. Bahasa pemrograman yang dipakai dalam tugas akhir ini adalah Matlab.

6. Input berupa citra aksara Karo dalam bentuk tulisan tangan yang diambil dengan menggunakan scanner kemudian diubah menjadi input vektor.

7. File citra yang akan digunakan adalah file citra JPEG(.jpg). 8. Sampel yang digunakan dalam training sebanyak 20 buah.

1.4Tujuan Penelitian

Tujuan dari penelitian ini adalah mengenali pola karakter aksara Karo dengan menggunakan metode associative memory tipe hetero-association.

1.5 Manfaat Penelitian

Penelitian ini bermanfaat untuk mengembangkan wawasan keilmuwan dan menambah pengetahuan, khususnya permasalahan untuk mengenali berbagai macam aksara dari berbagai suku di Indonesia dan sebagai kontribusi positif untuk kemajuan wawasan dalam ilmu komputer. Kedepannya juga diharapkan penelitian ini menjadi topik yang dapat dikembangkan lebih lanjut oleh peneliti lainnya yang tertarik di bidang jaringan saraf tiruan.

1.6Sistematika Penulisan

Agar pembahasan lebih sistematis, maka tulisan ini dibuat dalam lima bab, yaitu : Bab I Pendahuluan

Berisi latar belakang, perumusan masalah, batasan masalah, tujuan dan manfaat penelitian dan sistematika penulisan.

Bab II Landasan Teori

Berisi tentang penjelasan singkat mengenai definisi jaringan saraf tiruan, metode associative memory tipe hetero-association, pengolahan citra, pengenalan pola.


(18)

Bab III Analisis dan Perancangan Sistem

Berisi tentang analisis mengenai proses kerja metode associative memory tipe hetero-association dan perancangan tampilan form dari aplikasi.

Bab IV Implementasi dan Pengujian

Berisi tentang algoritma dan implementasi aplikasi yang sesuai dengan analisis dan perancangan.

Bab V Kesimpulan dan Saran

Berisi tentang kesimpulan yang diperoleh setelah menyelesaikan tugas akhir ini dan saran-saran yang dapat diberikan untuk melakukan pengembangan perangkat lunak lebih lanjut.


(19)

BAB II

LANDASAN TEORI

2.1. Jaringan Saraf Tiruan

Jaringan saraf tiruan bisa dibayangkan seperti otak buatan di dalam cerita-cerita fiksi ilmiah. Otak buatan ini dapat berpikir seperti manusia, dan juga sepandai manusia dalam menyimpulkan sesuatu dari potongan-potongan informasi yang diterima. Khayalan manusia tersebut mendorong para peneliti untuk mewujudkannya. Komputer diusahakan agar bisa berpikir sama seperti cara berpikir manusia. Caranya adalah dengan melakukan peniruan terhadap aktivitas-aktivitas yang terjadi di dalam sebuah jaringan saraf biologi.

Ketika manusia berpikir, aktivitas-aktivitas yang terjadi adalah aktivitas mengingat, memahami, menyimpan, dan memanggil kembali apa yang pernah dipelajari oleh otak. Salah satu contoh pengambilan ide dari jaringan saraf biologis adalah adanya elemen-elemen pemrosesan pada jaringan saraf tiruan yang saling terhubung dan beroperasi secara parallel. Ini meniru jaringan saraf biologis yang tersusun dari sel-sel saraf (neuron). Cara kerja dari elemen-elemen pemrosesan jaringan saraf tiruan juga sama seperti cara neuron meng-encode informasi yang diterimanya.

Jaringan saraf tiruan “tidak diprogram”untuk menghasilkan keluaran tertentu. Semua keluaran atau kesimpulan yang ditarik oleh jaringan didasarkan pengalamannya selama mengikuti proses pembelajaran. Pada proses pembelajaran, ke dalam jaringan saraf tiruan dimasukkan pola-pola masukan (dan keluaran) lalu jaringan akan diajari untuk memberikan jawaban yang bisa diterima(Puspitaningrum, 2006).

Jaringan saraf tiruan mengizinkan terjadinya proses komputasi yang sangat sederhana (penjumlahan, pengurangan dan elemen logika dasar lainnya) untuk menyelesaikan masalah yang kompleks dalam bidang matematika, masalah nonlinier


(20)

ataupun masalah stokastik. Sebuah algoritma yang konvensional akan menggunakan himpunan persamaan yang kompleks dan hanya cocok untuk masalah yang diiberikan saja. Jaringan saraf tiruan memiliki (a) kemampuan komputasi dan algoritma yang sangat sederhana (b) kemampuan untuk mengorganisir dirinya (self-organizing feature) yang memampukannya untuk mengatasi cakupan masalah yang luas(Rojas, 1996).

JST dibentuk sebagai generalisasi model matematika dari jaringan saraf biologis manusia, dengan asumsi bahwa:

• Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron).

• Sinyal dikirimkan di antara neuron-neuron melalui penghubung-penghubung.

• Penghubung antar neuron memiliki bobot yang akan memperkuat atau memperlemah sinyal.

• Untuk menentukan keluaran, Setiap neuron menggunakan fungsi aktivasi (biasanya bukan fungsi linier) yang dikenakan pada jumlahan masukan yang diterima. Besarnya keluaran ini selanjutnya dibandingkan dengan suatu batas ambang.

JST ditentukan oleh 3 hal :

a. Pola hubungan antar neuron (disebut arsitektur jaringan)

b. Metode untuk menentukan bobot penghubung (disebut metode training/learning/algoritma)

c. Fungsi aktivasi

w1

w2

w3

Gambar 2.1. Neuron dalam jaringan saraf tiruan

Pada Gambar 2.1. Y menerima masukan dari neuron x1,x2, dan x3, dengan bobot

hubungan masing-masing adalah w1, w2, dan w3. Ketiga impuls neuron yang ada

dijumlahkan seperti dapat dilihat pada persamaan (2.1):

X1

X2 Y

X3


(21)

X1

Xn

Xi

Ym Yj

Y1

W11

W1m W1j

Wi1

Wij

Wim

Wn1 Wnj

Wnm

Lapisan Output Lapisan Input

Net = x1w1 + x2w2 + x3w3...(2.1)

Keterangan:

- Net = total semua perkalian nilai input dengan bobot - x = input

- w = bobot

Besarnya impuls yang diterima oleh Y mengikuti fungsi aktivasi y = f(net). Apabila nilai fungsi aktivasi cukup kuat, maka sinyal akan diteruskan. Nilai fungsi aktivasi (keluaran model jaringan) juga dapat dipakai sebagai dasar untuk merubah bobot(Siang, 2004).

2.1.1. Arsitektur Jaringan Saraf Tiruan

Jaringan saraf tiruan dibagi dalam 3 macam arsitektur,yaitu: a. Jaringan lapis tunggal

Jaringan yang memiliki arsitektur jenis ini hanya memiliki satu buah lapisan bobot terkoneksi. Jaringan lapisan-tunggal terdiri dari unit-unit masukan yang menerima sinyal dari dunia luar, dan unit-unit keluaran dimana kita bisa membaca respons dari jaringan saraf tiruan tersebut. Pada Gambar 2.2. jelas terlihat bahwa unit masukan sepenuhnya terkoneksi dengan unit keluaran, sedangkan unit masukan dengan masing-masing unit masukan tidak terkoneksi demikian juga di antara unit keluaran dengan unit keluaran yang lain tidak terkoneksi.

Gambar 2.2. Jaringan Lapis Tunggal


(22)

A1

Ai

A

Aj -∈

-∈

-∈

-∈ -∈

-∈ X1

Xn

Xi

Zp

Zj

Z1

V11

V1p V1j

Vi1

Vij

Vip

Vn1 Vnj

Vnp

Lapisan Output Lapisan Input

Ym Yk

Y1

W11

W1k

W1m

Wj1 W jk

Wjm

Wp1 Wpk

Wpm

Lapisan Tersembunyi

Merupakan jaringan dengan satu atau lebih lapisan tersembunyi (hidden layer). Jaringan multi lapis ini memiliki kemampuan lebih dalam memecahkan masalah bila dibandingkan dengan jaringan lapis tunggal, namun pelatihannya mungkin lebih rumit. Pada beberapa kasus, pelatihan pada jaringan ini lebih baik karena memungkinkan bagi jaringan untuk memecahkan masalah yang tidak dapat diselesaikan jaringan berlapis tunggal karena jaringan tidak bisa dilatih untuk menampilkan secara benar. Jaringan ini dapat dilihat pada Gambar 2.3.

Gambar 2.3. Jaringan Multi Lapis

c. Jaringan kompetitif

Bentuk lapisan kompetitif merupakan jaringan saraf tiruan yang sangat besar. Interkoneksi antarneuron pada lapisan ini tidak ditunjukkan pada arsitektur seperti jaringan yang lain. Pada jaringan ini sekumpulan neuron bersaing untuk mendapatkan hak menjadi aktif atau sering pula disebut dengan prinsip winner takes all atau yang menanglah yang mengambil semua bagiannya(Puspitaningrum, 2006).

Gambar 2.4. Jaringan Kompetitif

2.1.2. Manfaat Jaringan Saraf Tiruan


(23)

Jaringan saraf tiruan menawarkan kemampuan sebagai berikut:

1. Nonlinearity. Sebuah neuron buatan bisa saja linier dan tidak linier. Jaringan saraf tiruan yang terdiri dari interkoneksi neuron yang nonlinier yang membuat jaringan saraf itu nonlinier. Ketidaklinieran adalah sifat yang sangat penting secara khusus jika mekanisme fisik yang berperan untuk membangkitkan sinyal input bersifat nonlinier.

2. Input-output mapping. Sebuah paradigma popular dari pembelajaran disebut learning with a teacher (belajar dengan guru) atau supervised learning (pembelajaran terbimbing) yang melibatkan modifikasi bobot sinapsis jaringan saraf tiruan dengan mengaplikasikan kumpulan sampel training. Setiap contoh terdiri dari sebuah input sinyal yang sangat unik dan respon yang diinginkan. Jaringan direpresentasikan dengan sebuah contoh yang diambil secara acak, dan bobot sinapsis (parameter bebas) dari jaringan, dimodifikasikan untuk meminimalisasi perbedaan antara hasil yang diinginkan dengan hasil yang sebenarnya yang dihasilkan oleh jaringan dengan sinyal input sesuai dengan kriteria statistika. Pelatihan jaringan diulangi sampai mencapai kondisi dimana tidak ada perubahan yang signifikan pada bobot sinapsis.

3. Adaptivity. Neural network memiliki kemampuan untuk menyesuaikan bobot sinaptik mereka terhadap perubahan pada lingkungannya. Secara khusus, jaringan saraf dilatih untuk beroperasi pada lingkungan tertentu terlebih dalam menghadapi perubahan kecil yang terjadi dalam kondisi lingkungan operasi. Arsitektur alami jaringan saraf untuk klasifikasi pola, pemrosesan sinyal dan aplikasi kontrol, ditambah dengan kemampuan adaptif jaringan, membuatnya menjadi alat yang berguna dalam klasifikasi pola adaptif, pengolahan kemampuan adaptif dan kontrol adaptif. Secara umum, dapat dikatakan bahwa semakin adaptif kita membuat sebuah sistem memastikan bahwa sistem akan semakin stabil dan semakin kuat daya gunanya ketika sistem diperlukan untuk beroperasi di lingkungan nonstasioner. Harus ditekankan, bagaimanapun adaptivitas tidak selalu menimbulkan kekuatan, sebaliknya dapat berlawanan. Misalnya, sistem adaptif dengan konstanta waktu yang singkat cenderung untuk merespon gangguan palsu, menyebabkan drastis pada kinerja sistem.


(24)

4. Evidential Response. Dalam konteks klasifikasi pola, jaringan saraf dapat dirancang untuk memberikan informasi tidak hanya tentang pola yang khusus, tetapi juga kepercayaan (confidence) tentang keputusan yang dibuat. Informasi yang terakhir ini dapat digunakan untuk menolak pola ambigu, dengan demikian meningkatkan kinerja klasifikasi jaringan.

5. Contextual Information. Pengetahuan direpresentasikan oleh struktur dan aktivasi dari jaringan saraf. Setiap neuron dalam jaringan berpotensi dipengaruhi oleh aktivitas global semua neuron lain dalam jaringan. Akibatnya, informasi kontekstual ditangani secara alami oleh jaringan saraf.

6. Fault Tolerance. Jaringan saraf yang diimplementasikan pada bentuk hardware, memiliki potensi untuk bersifat fault tolerant (toleran terhadap kesalahan), dalam arti bahwa kinerjanya menurun dalam kondisi operasi buruk. Contohnya, jika neuron atau link penghubung rusak, pemanggilan pola yang tersimpan akan terganggu kualitasnya. Berhubungan denga sifat distribusi informasi yang tersimpan dalam jaringan, kerusakan harus segera diperbaiki sebelum respon keseluruhan jaringan menurun secara drastis. Pada prinsipnya, sebuah jaringan saraf menunjukkan penurunan dalam kinerjanya. Ada beberapa bukti empiris untuk komputasi yang kuat, tetapi biasanya hal ini tidak terkendali. Untuk memastikan bahwa jaringan saraf toleran terhadap kesalahan, mungkin perlu untuk membuat pengukuran kolektif dalam merancang algoritma yang digunakan untuk melatih jaringan.

7. VLSI Implementability. Sifat dasar dari jaringan saraf tiruan yang parallel membuatnya berpotensi untuk mengkomputasikan tugas-tugas tertentu dengan cepat. Fitur yang sama ini membuat jaringan saraf tiruan tepat pada implementasi penggunaan teknologi VLSI (Very Large Scale Integrated). Salah satu manfaat dari VLSI adalah menyediakan sebuah cara untuk mendapatkan sebuah tingkah laku yang kompleks dalam sebuah kebiasaan yang hirarki.

8. Uniformity of Analysis and Design. Pada dasarnya, jaringan saraf tiruan dikenal sebagai pemroses informasi. Dikatakan demikian sama dengan notasi yang digunakan pada semua domain yang melibatkan aplikasi


(25)

jaringan saraf tiruan. Fitur ini memanifestasikan dirinya dengan cara yang berbeda:

a. Neuron, antara satu dengan yang lain, merepresentasikan sebuah bahan yang sama terhadap semua jaringan saraf tiruan.

b. Keadaan yang sama ini membuat jaringan saraf tiruan mungkin untuk berbagi teori dan algoritma pembelajaran dalam aplikasi yang berbeda. c. Jaringan modular dapat dibangun melalui integrasi tanpa hubungan

pada modul-modul.

9. Neurobiological Analogy. Rancangan jaringan saraf tiruan dianalogikan dengan otak manusia, yang merupakan bukti nyata bahwa toleransi terhadap kesalahan pada pemrosesan parallel tidak hanya mungkin tetapi juga cepat dan kuat(Nainggolan, 2011).

2.2.Pengenalan Pola

Secara umum teknik pengenalan pola bertujuan untuk mengklasifikasikan dan mendeskripsikan pola atau objek kompleks melalui pengukuran sifat-sifat atau ciri-ciri objek bersangkutan.

Pola adalah entitas yang terdefinisi dan dapat diberi suatu identifikasi atau nama, seperti gelombang suara, sidik jari, raut wajah, dan lain sebagainya. Suatu sistem pengenalan pola melakukan akuisisi data melalui sejumlah alat pengindera atau sensor, mengatur bentuk representasi data, serta melakukan proses analisis dan klasifikasi data. Data bisa berbentuk gambar seperti pada klasifikasi sel darah putih menggunakan citra makroskopis. Data juga dapat berbentuk berbentuk sinyal satu dimensi menurut perubahan waktu, misalnya untuk identifikasi seorang pembicara berdasarkan suaranya, maka digunakan pola hasil transformasi gelombang suara dari orang tersebut.

Terdapat dua pendekatan utama pada pengenalan pola yaitu pendekatan geometrik atau statistik dan pendekatan struktural atau sintaktik. Kedua pendekatan tesebut sebenarnya mempunyai tahapan yang analoginya dapat dinyatakan sebagai berikut. Kalau pada pendekatan statistik perbedaan antara objek dilakukan berdasarkan ciri objek dan fungsi kerapatan pola, maka pada pendekatan sintaktik


(26)

dilakukan melalui penentuan primitif yang dapat menggambarkan objek bersangkutan dan penyusunan tata bahasanya. Selanjutnya kalau pada pendekatan statistik proses pengelompokan polanya dilakukan melalui proses estimasi dan klasifikasi, pada pendekatan sintaktik dilakukan melalui proses inferensi dan deskripsi. Secara intuitif, pendekatan sintaktik lebih menarik, karena lebih dekat dengan strategi pengenalan yang dilakukan manusia. Akan tetapi dalam penetapannya lebih sulit dibandingkan dengan pendekatan statistik, terutama dalam penentuan primitif serta penentuan hubungan strukturalnya diantara primitif. Di lain pihak pendekatan statistik dapat lebih diterima karena menggunakan dasar-dasar yang lebih mapan, yaitu teori keputusan berdasarkan statistik. Model pengenalan pola dari pendekatan statistik dapat dilihat pada Gambar 2.5.(Murni, 1992)

Gambar 2.5. Model pengenalan pola dengan pendekatan statistik

2.2.1. Proses Pra Pengolahan

Proses awal yang dilakukan untuk memperbaiki kualitas citra (edge enhancement) menggunakan teknik-teknik pengolahan citra.

2.2.2. Ekstraksi Fitur

Proses mengambil ciri-ciri yang terdapat pada objek dalam citra. Pada proses ini objek dalam citra dapat dideteksi bagian tepinya, lalu dihitung properti-properti objek

Pola Sampel Fase Latihan

Fase Pengenalan

Pola Proses

Pra-pengolahan

Ektraksi Ciri Klasifikasi Citra

Seleksi Ciri Latihan


(27)

yang berkaitan sebagai ciri. Beberapa ekstraksi fitur mungkin perlu mengubah citra masukan sebagai citra biner, melakukan penipisan pola, dan sebagainya. Ekstraksi fitur yang digunakan pada penelitian ini adalah Diagonal Based Feature Extraction.

2.2.3. Klasifikasi dan Segmentasi

Klasifikasi adalah proses mengelompokkan objek ke dalam kelas yang sesuai. Proses klasifikasi citra dilakukan dengan memasukkan setiap piksel citra tersebut ke dalam suatu kategori objek yang sudah diketahui.

Segmentasi adalah proses membagi suatu citra menjadi wilayah-wilayah yang homogen berdasarkan kriteria keserupaan yang tertentu antara tingkat keabuan suatu piksel dengan tingkat keabuan piksel-piksel tetangganya.

2.2.4. Seleksi Ciri

Proses memilih ciri pada suatu objek agar diperoleh ciri yang optimum, yaitu ciri yang dapat digunakan untuk membedakan suatu objek dengan objek yang lainnya.

2.2.5. Latihan

Proses belajar membuat aturan klasifikasi sehingga jumlah kelas yang tumpang tindih dibuat sekecil mungkin(Sitorus, 2006).

2.3. Pengenalan Pola Asosiatif

Tujuan dari pengenalan pola ini adalah untuk mengasosiasikan vektor masukan yang diketahui dengan vektor keluaran yang diberikan. Masukan vektor yang mengalami gangguan (noise)(Rojas, 1996). Associative memory terdiri dari dua jenis pengenalan pola, yaitu:

a. Heteroassociative networks memetakan m masukan vektor x1,x2,…,xm


(28)

k-dimensional. Ini diperoleh dari algoritma pembelajaran, namun akan menjadi sangat sulit ketika jumlah m vector yang akan dipelajari terlalu besar(Rojas, 1996).

Contoh:

Pasangan pola biner x:y di mana |x| = 4 dan |y| = 2. Total bobot input ke neuron output : ...(2.2)

Keterangan: j,k = 1,2,3... Fungsi aktivasi:

Bobot dihitung dengan aturan Hebbian (jumlah outer products semua pasangan training) ...(2.3)

4 sampel training : xp yp

p=1 (1 0 0 0) (1, 0) p=2 (1 1 0 0) (1, 0) p=3 (0 0 0 1) (0, 1) p=4 (0 0 1 1) (0, 1)

Perhitungan bobot:

Proses Recall:

Recall dikatakan benar apabila S(y) yang dihasilkan setelah diubah dengan fungsi aktivasi, sama dengan target yang ditentukan dari awal.

Contoh: x = (1 0 0 0)

= k k j k

j x w

y ,     ≤ > = 0 0 0 1 ) ( j j j y if y if y S

= ⋅ = P p p T p y x W 1

[

]

            =             = ⋅ 0 0 0 0 0 0 0 1 0 1 0 0 0 1 1 1 y

xT

[

]

            =             = ⋅ 0 0 0 0 0 1 0 1 0 1 0 0 1 1 2 2 y xT

[

]

            =             = ⋅ 1 0 0 0 0 0 0 0 1 0 1 0 0 0 3 3 y

xT

[

]

            =             = ⋅ 1 0 1 0 0 0 0 0 1 0 1 1 0 0 4 4 y xT             =             +             +             +             = 2 0 1 0 0 1 0 2 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 W

[

]

(2 0) ( ) (1 0),

2 0 1 0 0 1 0 2 0 0 0

1 = =

           

= S y

y


(29)

Recall Y1, Recall benar.

x = (0 1 1 0) (tidak memiliki kemiripan sama sekali dengan masukan training yang ada)

x = (0 1 0 0) (memiliki kemiripan dengan i1 dan i2)

(Peng, 1995)

b. Autoassociative networks adalah subset yang istimewa dari jaringan hetero-associative, dimana setiap vektor diasosiasikan dengan vektor itu sendiri, misalnya: yi=xi untuk i = 1,…,m. Fungsi dari jaringan ini adalah

untuk memperbaiki masukan vektor yang mengalami kerusakan(Rojas, 1996).

Contoh:

Hampir sama dengan jaringan hetero-associative,kecuali xp =yp untuk

semua p=1,…,P. Sebuah pola tunggal i = (1,1,1,-1) (bobot dihitung dengan aturan Hebbian – outer product.

Proses Recall:

(Peng, 1995)

[

]

gagal Recall sesuai, tidak pola , ) 1 1 ( ) ( ) 1 1 ( 2 0 1 0 0 1 0 2 0 1 1 0 = =             = y S y

[

]

benar call Y y S y _ Re , recalls , ) 0 1 ( ) ( ) 0 1 ( 2 0 1 0 0 1 0 2 0 0 1 0 1 = =             =

[

]

            − − − − − − = −             − = ⋅ = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 x x W T

(

)

(

) (

)

(

)

(

) (

)

(

)

(

) (

)

(

1 1 1 1

)

(

0 0 0 0

)

tidak dikenali! noisy more 1 1 1 1 2 2 2 2 1 1 0 0 info missing 1 1 1 1 2 2 2 2 1 1 1 1 pat. noisy 1 1 1 1 4 4 4 4 1 1 1 1 pat. training → = ⋅ − − − − → − = ⋅ − − → − = ⋅ − − − → − = ⋅ − W W W W


(30)

2.4. Citra

Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari suatu objek. Citra analog adalah citra yang bersifat kontinu, seperti pada gambar pada monitor televisi, foto sinar-X, foto yang tercetak di kertas foto, lukisan, pemandangan alam, hasil CT-Scan, gambar-gambar yang terekam pada pita kaset, dan lain sebagainya. Citra analog tidak dapat dipresentasikan dalam komputer sehingga tidak bisa diproses di komputer secara langsung. Oleh sebab itu, agar citra ini dapat diproses di komputer, proses konversi analog ke digital harus dilakukan terlebih dahulu. Citra digital adalah citra yang dapat diolah oleh komputer. Monitor akan menampilkan kotak-kotak kecil . Namun yang disimpan dalam memori hanyalah angka-angka yang menunjukkan besar intensitas pada masing-masing pixel tersebut(Sutoyo, 2009).

Format Joint Photographers Experts Group (JPEG) suatu jenis format citra yang umumnya digunakan untuk menampilkan foto dan gambar dalam html, www atau layanan online yang lain. Format JPEG mendukung pewarnaan CMYK, RGB, dan grayscale. JPEG menggunakan format 24-bit dan oleh sebab itu informasi semua warna dalam gambar RGB dipertahankan tetapi kompresi ukuran secara selektif menghilangkan data awal warna persepsi manusia. Jika suatu kompresi dilakukan dengan level tinggi, maka kualitas gambar akan kurang baik, sebaliknya jika kompresi dilakukan dengan level rendah, maka kualitas gambar akan semakin tinggi(Parekh, 2006).

2.5. Aksara Karo

Aksara Karo adalah kumpulan tanda-tanda (karakter/simbol-simbol) utuk menyatakan sesuatu, yang pemakaiannya dimengerti dan disepakati, yakni oleh masyarakat Karo itu sendiri. Aksara Karo merupakan aksara milik masyarakat (etnis) Karo atau dengan kata lain, tulisan yang tumbuh dan berkembang di masyarakat (etnis) Karo serta tersebar luas, dipergunakan dan diajarkan (awalnya dengan bahasa pengantar, cakap Karo) di ruang lingkup Karo yang dulunya meliputi pesisir timur di Sumatera(Oostkust van Sumatera) bagian utara dan dataran tinggi Karo yang terbentang luas diatas pegunungan Bukit Barisan.

Aksara Karo termasuk dalam lima varian surat Batak bersama dengan aksara Toba, aksara Dairi, aksara Simalungun dan aksara Mandailing. Varian ini memiliki


(31)

kesamaan penulisan, namun tidak semuanya sama. Aksara Karo yang merupakan varian surat Batak merupakan bagian rumpun tulisan Brahmi (India). 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 dan lainnya).

Tidak banyak literatur-literatur kuno yang dapat mendukung kapan Aksara Karo itu mulai eksis (dipergunakan secara luas di wilayah Karo), namun ada beberapa syair cinta, ramalan (katika), puisi, turi-turin (cerita), mangmang/tabas (mantra), kitab ketabib-pan, ratapan/rintihan (bilang-bilang), kitab mayan (beladiri), serta cerita sejarah adanya interaksi berupa surat-menyurat antara kerajaan Haru (Karo) dengan kerajaan-kerajaan lainnya, seperti: Johor, Malaka, Portugis, dan Aceh (walau tidak dijelaskan bahasa dan aksara apa yang dipergunakan) yang ditemukan. Selain itu aksara Karo juga dipakai sebagai media serta instrumen pengnatar ilmu pengetahuan, adat istiadat, seni, surat tenah kerja (undangan), juga ragam hias pada rumah adat dan alat-alat musik tradisional, serta bahan pembelajaran (muatan lokal).

Cara penulisan perlu dilengkapi dengan anak huruf seperti o= ketolongen, x= sikurun, ketelengen dan pemantek. Ini dikarenakan setiap karakter pada Aksara Karo selalu berakhiran dengan huruf vokal a, sehingga bila ingin mengubah huruf vokalnya, perlu adanya anak huruf. Pada Gambar 2.6. dapat dilihat bentuk dari aksara karo.


(32)

2.6 Tinjauan Penelitian Yang Berhubungan

Banyak penelitian tentang pengenalan pola yang menggunakan metode dan objek yang berbeda.

Penelitian Nurmila,dkk. Tujuan utama dari penelitian ini adalah untuk menemukan karakteristik training dari jaringan saraf bacpropagation dari setiap sampel. Penelitian ini juga memberikan akurasi pengenalan pola karakter aksara jawa dengan menggunakan jaringan saraf back propagation.(Nurmila,2007)

Penelitian Adfriyansah. Permasalahan pada penelitian ini adalah bagaimana mengenali karakter pada plat nomor kendaraan yang kondisi cacat. Pada skripsi ini dijelaskan bagaimana pengenalan karakter pada plat kendaraan dilakukan dengan menggunakan jaringan saraf tiruan back propagation, dimana pengenalan akan melalui tahapan pemrosesan citra untuk mendapatkan data input, tahap segmentasi dan pengenalan karakter.(Adfriyansah,2012)

Penelitian Hidayatno,dkk. Identifikasi tanda tangan manusia adalah sebuah proses untuk mengenali sebuah tanda tangan serta diketahui siapa pemiliknya. Teknologi pengenalan tanda tangan termasuk dalam sistem biometrik yang menggunakan karakteristik perilaku manusia. Sepanjang perjalanan waktu ada banyak sekali kasus pemalsuan tanda tangan yang dapat merugikan si pemilik tanda tangan. Untuk itu dibutuhkan sebuah sistem yang dapat mengenali tanda tangan seseorang.(Hidayatno,2008)


(33)

BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Dalam pembuatan sistem ini, sebelum melakukan pemrograman, terlebih dahulu menganalisis permasalahan yang ada dan syarat-syarat yang diperlukan dalam pembuatan sistem ini.

3.1.1 Analisis Masalah

Permasalahan yang akan diselesaikan dengan menggunakan sistem ini adalah pengenalan pola citra aksara Karo. Citra aksara Karo didapatkan melalui proses scanning tulisan tangan aksara Karo dan dikonversi ke dalam citra digital.

Sebelum diolah, citra digital harus melalui beberapa tahap pengolahan citra seperti proses pra pengolahan serta proses ekstraksi fitur. Melalui proses ini akan diperoleh nilai dari citra yang selanjutnya akan digunakan untuk pengenalan pola dengan jaringan saraf tiruan.

Sistem ini menggunakan metode jaringan saraf tiruan associative memory tipe hetero-association.Metode ini akan mengasosiasikan input dengan output yang telah disediakan sebelumnya. Dalam metode ini akan dilakukan proses pelatihan untuk melatih sistem agar dapat mengenali masukan citra aksara Karo serta proses pengujian untuk menguji apakah sistem mampu mengenali pola citra aksara Karo baik itu dalam kondisi baik ataupun cacat (noisy).

Banyaknya data pelatihan adalah 620 (masing-masing 20 data dari 31 pola karakter), terdiri dari 420 huruf dan 200 angka.

3.1.2 Analisis Persyaratan

Analisis persyaratan dilakukan untuk mengidentifikasi dan menyatakan persyaratan. Dalam suatu sistem analisis persyaratan dibagi menjadi dua bagian yaitu persyaratan fungsional (functional requirement) dan persyaratan nonfungsional (nonfunctional


(34)

requirement). Persyaratan fungsional adalah deskripsi mengenai aktivitas dan layanan yang harus diberikan / disediakan oleh sebuah sistem, dan persyaratan nonfungsional merupakan deskripsi mengenai fitur, karakteristik, dan batasan lainnya yang menentukan apakah sistem memuaskan atau tidak.

3.1.2.1 Persyaratan Fungsional

Dalam pengenalan pola karakter aksara Karo dengan metode associative memory tipe hetero-association ini, persyaratan fungsional yang harus dipenuhi, antara lain:

1. File citra aksara Karo yang akan diproses adalah file citra yang berformat *.jpg

3.1.2.2 Persyaratan NonFungsional

Persyaratan nonfungsional meliputi performa, mudah untuk dipelajari dan digunakan, hemat biaya, dokumentasi, manajemen kualitas, dan kontrol.

1. Performa

Perangkat lunak yang akan dibangun harus dapat menunjukkan hasil dari proses pelatihan dan pengenalan pola aksara Karo yang dilakukan oleh sistem.

2. Mudah dipelajari dan digunakan

Perangkat lunak yang akan dibangun harus sederhana agar mudah dipelajari oleh pengguna (user).

3. Hemat Biaya

Perangkat lunak yang dibangun tidak memerlukan perangkat tambahan ataupun perangkat pendukung dalam proses eksekusinya.

4. Dokumentasi

Perangkat lunak yang akan dibangun dapat menyimpan nilai citra saat proses pengolahan citra serta nilai bobot yang dihasilkan saat citra dilatih. Persen akurasi yang diperoleh saat proses pengujian akan disimpan pada perangkat lunak ini. 5. Manajemen Kualitas

Perangkat lunak yang akan dibangun harus memiliki kualitas yang baik yaitu proses pengolahan citra, pelatihan, dan pengujian yang relatif cepat.

6. Kontrol


(35)

Perangkat lunak yang dibangun harus memiliki message error (pesan kesalahan) jika pengguna tidak lengkap memasukkan masukan ataupun jika masukan yang dimasukkan salah.

3.1.3 Analisis Proses

Secara umum ada empat proses yang terjadi pada sistem ini, yaitu: pengolahan citra, ekstraksi fitur, pelatihan serta pengujian. Tapi yang akan dianalisis adalah proses pelatihan dan pengujian. Berikut ini adalah langkah-langkah dalam pelatihan dan pengujian dalam contoh sederhana:

1. Inisialisasi vektor masukan

x_a1 = [1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1]

x_a2 = [-1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1]

x_ka1 = [-1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1]

x_ka2 = [-1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1]

x_ba1 = [-1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1]

x_ba2 = [-1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1]

2. Inisialisasi vektor keluaran y_a = [-1 -1 1]

y_ka = [-1 1 -1] y_ba = [1 -1 -1]

3. Lakukan proses pelatihan dan hitung bobot

w_a = (x_a1T.y_a+ x_a2T.y_a)

w_ka = (x_ka1T .y_ka+ x_ka2T .y_ka)

w_ba = (x_ba1T .y_ba+ x_ba2T .y_ba)

= ⋅

= P

p

p T

p y

x w


(36)

x_a1T.y_a = w_a1 ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎡ 11

−1 −1 −1 −1 −1 −1 −1 −1 −1

−1⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤

. [−1 −1 1] =

⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎡−1111 11

1 1 −1

1 1 −1

1 1 −1

1 1 −1

1 1 −1

1 1 −1

1 1 −1

1 1 −1

1 1 −1

1 1 −1⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤

x_a2T.y_a = w_a2

⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎡−11

1 −1 −1 −1 −1 −1 −1 −1 −1

−1⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤

. [1 −1 1] =

⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

11 1111 −1 −1 1

1 1 −1

1 1 −1

1 1 −1

1 1 −1

1 1 −1

1 1 −1

1 1 −1

1 1 −1

1 1 −1⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤

w_a = (x_a1T.y_a+ x_a2T.y_a)

⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎡−1111 11

1 1 −1

1 1 −1

1 1 −1

1 1 −1

1 1 −1

1 1 −1

1 1 −1

1 1 −1

1 1 −1

1 1 −1⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ + ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

11 1111 −1 −1 1

1 1 −1

1 1 −1

1 1 −1

1 1 −1

1 1 −1

1 1 −1

1 1 −1

1 1 −1

1 1 −1⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ = ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

02 02 02

0 0 0

2 2 −2

2 2 −2

2 2 −2

2 2 −2

2 2 −2

2 2 −2

2 2 −2

2 2 −2

2 2 −2⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤


(37)

x_ka1T.y_ka = w_ka1 ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎡−11

−1 1 1 −1 −1 −1 −1 −1 −1

−1⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤

. [−1 1 −1] =

⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎡ 1111 11

1 −1 1

−1 1 −1

−1 1 −1

1 −1 1

1 −1 1

1 −1 1

1 −1 1

1 −1 1

1 −1 1

1 −1 1 ⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤

x_ka2T.y_ka = w_ka2

⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎡−11

−1 −1 1 1 −1 −1 −1 −1 −1

−1⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤

. [1 1 −1] =

⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎡ 1111 11

1 −1 1

1 −1 1

−1 1 −1

−1 1 −1

1 −1 1

1 −1 1

1 −1 1

1 −1 1

1 −1 1

1 −1 1 ⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤

w_ka = (x_ka1T.y_ka+ x_ka2T.y_ka)

⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎡ 1111 11

1 −1 1

−1 1 −1

−1 1 −1

1 −1 1

1 −1 1

1 −1 1

1 −1 1

1 −1 1

1 −1 1

1 −1 1 ⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ + ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎡ 1111 11

1 −1 1

1 −1 1

−1 1 −1

−1 1 −1

1 −1 1

1 −1 1

1 −1 1

1 −1 1

1 −1 1

1 −1 1 ⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ = ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎡ 2222 22

2 −2 2

−2 2 −2

−2 2 −2

2 −2 2

2 −2 2

2 −2 2

2 −2 2

2 −2 2

2 −2 2

2 −2 2 ⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤


(38)

x_ba1T.y_ba = w_ba1 ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎡−11

−1 −1 −1 −1 −1 1 1 −1 −1

−1⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤

. [1 −1 −1] =

⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎡−11 1111 −1 1 −1

−1 1 −1

−1 1 −1

−1 1 −1

−1 1 −1

1 −1 1

1 −1 1

−1 1 −1

−1 1 −1

−1 1 −1⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤

x_ba2T.y_ba = w_ba2

⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎡−11

−1 −1 −1 −1 −1 −1 1 1 −1

−1⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤

. [1 1 −1] =

⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎡−11 11 11 −1 1 1

−1 1 1

−1 1 1

−1 1 1

−1 1 1

−1 1 1

1 −1 −1

1 −1 −1

−1 1 1

−1 1 1 ⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤

w_ba = (x_ba1T.y_ba+ x_ba2T.y_ba)

⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎡−11 1111 −1 1 −1

−1 1 −1

−1 1 −1

−1 1 −1

−1 1 −1

1 −1 1

1 −1 1

−1 1 −1

−1 1 −1

−1 1 −1⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ + ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎡−11 11 11 −1 1 1

−1 1 1

−1 1 1

−1 1 1

−1 1 1

−1 1 1

1 −1 −1

1 −1 −1

−1 1 1

−1 1 1 ⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ = ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎡−22 22 22 −2 2 2

−2 2 2

−2 2 2

−2 2 2

−2 2 2

2 −2 −2

2 −2 −2

−2 2 2

−2 2 2

−2 2 2 ⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤


(39)

wtotal = w_a+w_ka+w_ba ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

02 02 02

0 0 0

2 2 −2

2 2 −2

2 2 −2

2 2 −2

2 2 −2

2 2 −2

2 2 −2

2 2 −2

2 2 −2⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ + ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎡ 2222 22

2 −2 2

−2 2 −2

−2 2 −2

2 −2 2

2 −2 2

2 −2 2

2 −2 2

2 −2 2

2 −2 2

2 −2 2 ⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ + ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎡−22 22 22 −2 2 2

−2 2 2

−2 2 2

−2 2 2

−2 2 2

2 −2 −2

2 −2 −2

−2 2 2

−2 2 2

−2 2 2 ⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ = ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

02 02 46

0 0 4

−2 6 −2

−2 6 −2

2 2 2

2 2 2

6 −2 −2

6 −2 −2

2 2 2

2 2 2

2 2 2 ⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤

4. Lakukan proses pengujian citra dengan bobot yang telah didapatkan

Fungsi aktivasi pada sistem ini berbeda dengan fungsi aktivasi pada umumnya. Nilai diubah jadi “1” apabila elemen pada vektor hasilnya adalah yang paling positif, sedangkan nilai yang diubah jadi “-1” adalah sisanya.

x_a1.w = y_a

[1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1] .

⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

02 02 46

0 0 4

−2 6 −2

−2 6 −2

2 2 2

2 2 2

6 −2 −2

6 −2 −2

2 2 2

2 2 2

2 2 2 ⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤


(40)

[-20 -20 4] berarti akan berubah menjadi [-1 -1 1] yang merupakan y_a. Berarti x_a1 berhasil dikenali

x_a2.w = y_a

[-1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1] .

⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

02 02 46

0 0 4

−2 6 −2

−2 6 −2

2 2 2

2 2 2

6 −2 −2

6 −2 −2

2 2 2

2 2 2

2 2 2 ⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤

= [-20 -20 4]

[-20 -20 4] berarti akan berubah menjadi [-1 -1 1] yang merupakan y_a. Berarti x_a2 berhasil dikenali

x_ka1.w = y_ka

[-1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1] .

⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

02 02 46

0 0 4

−2 6 −2

−2 6 −2

2 2 2

2 2 2

6 −2 −2

6 −2 −2

2 2 2

2 2 2

2 2 2 ⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤

= [-24 8 -24]

[-24 8 -24] berarti akan berubah menjadi [-1 1 -1] yang merupakan y_ka. Berarti x_ka1 berhasil dikenali

x_ka2.w = y_ka

[-1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1] .

⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

02 02 46

0 0 4

−2 6 −2

−2 6 −2

2 2 2

2 2 2

6 −2 −2

6 −2 −2

2 2 2

2 2 2

2 2 2 ⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤

= [-16 0 -16]


(41)

[-16 0 -16] berarti akan berubah menjadi [-1 1 -1] yang merupakan y_ka. Berarti x_ka2 berhasil dikenali

x_ba1.w = y_ba

[-1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1] .

⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

02 02 46

0 0 4

−2 6 −2

−2 6 −2

2 2 2

2 2 2

6 −2 −2

6 −2 −2

2 2 2

2 2 2

2 2 2 ⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤

= [8 -24 -24]

[8 -24 -24] berarti akan berubah menjadi [1 -1 -1] yang merupakan y_ba. Berarti x_ba1 berhasil dikenali

x_a1.w = y_a

[-1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1] .

⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

02 02 46

0 0 4

−2 6 −2

−2 6 −2

2 2 2

2 2 2

6 −2 −2

6 −2 −2

2 2 2

2 2 2

2 2 2 ⎦

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤

= [0 -16 16]

[0 -16 -16] berarti akan berubah menjadi [1 -1 -1] yang merupakan y_ba. Berarti x_ba2 berhasil dikenali

Dalam penelitian ini, dilakukan modifikasi pada fungsi aktivasinya. Fungsi aktivasi yang umum digunakan pada hetero-association yaitu:

Ini dikarenakan tipe hetero-associative memiliki kapasitas memori yang sangat sedikit sehingga menyebabkan hetero-associative sangat sulit dalam mempelajari dan mengenali pola dalam jumlah yang banyak(Rojas,1996). Pada

    ≤ − > = 0 1 0 1 ) ( j j j y if y if y S


(42)

penelitian ini digunakan 620 sampel untuk pelatihan. Melihat kondisi tersebut, maka perlu penyesuaian dalam fungsi aktivasinya. Bila diamati, semua nilai hasil perkalian vektor input dan bobot bernilai <-10.000 ,sehingga dengan fungsi aktivasi biasa, semua nilai itu akan diubah menjadi “-1” dan menyebabkan gagal dalam pengenalan. Namun dari semua nilai itu terdapat satu nilai yang paling positif. Oleh karena itu, fungsi aktivasi diubah menjadi: apabila terdapat nilai yang paling positif atau paling maksimal di antara elemen lainnya maka nilai itu akan diubah menjadi “+1” dan sisanya nilai dibawah nilai maksimum tersebut diubah menjadi “-1”. Ini membuat kapasitas memori menjadi meningkat dikarenakan proses aktivasi hanya berfokus pada 1 elemen saja pada vektor output.. Fungsi aktivasi yang telah dimodifikasi tersebut adalah sebagai berikut :

3.2 Pemodelan

3.2.1 Pemodelan Sistem

Sistem ini menggunakan metode jaringan saraf tiruan associative memory tipe hetero-association. Untuk mengambil nilai masukan dari citra aksara Karo, maka terlebih dahulu citra diproses dengan metode pengolahan citra. Nilai yang dihasilkan dari proses itu akan menjadi masukan pada proses pelatihan jaringan saraf tiruan. Pada proses pelatihan nilai citra aksara Karo dalam bentuk biner akan diasosiasikan dengan nilai dari pasangannya. Pasangan yang dimaksud disini adalah karakter abjad dari aksara Karo tersebut. Proses asosiasi dilakukan dengan cara melakukan perkalian antar dua vektor yang akan menghasilkan sebuah bobot. Untuk itu nilai citra dari aksara Karo harus diubah ke dalam bentuk vektor, karena nilai citra yang dihasilkan saat pengolahan citra berada dalam bentuk matriks. Bobot yang dihasilkan dari proses asosiasi ini akan disimpan dan digunakan sebagai nilai untuk menguji pola yang akan dikenali oleh sistem. Nilai citra dari aksara Karo yang akan diuji akan dikalikan dengan bobot yang dihasilkan sebelumnya. Untuk sampel yang lebih dari satu, maka bobot yang dihasilkan dari masing-masing sampel akan diakumulasikan menjadi satu bobot. Bobot akan disimpan pada database.

   

< −

= =

) max( 1

) max( 1

) (

y y

if

y y

if y

S

j j j


(43)

User

Pengujian Pelatihan

Kontrol Proses

Pra Pengolahan Citra

Perkalian Vektor Aksara dengan Vektor Abjad

Pra Pengolahan Citra

Perkalian Vektor Aksara dengan Matriks Bobot «uses»

«uses»

«uses»

«uses» «uses»

Sistem

«uses» «uses»

Hitung Akurasi 3.2.1.1 Perancangan Unified Modelling Language (UML)

3.2.1.1.1 Use Case Diagram

Use case adalah deskripsi fungsi dari sebuah sistem dari perspektif pengguna. Use case mendeskripsikan tipikal interaksi antara user (pengguna) sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai. Use case adalah alat bantu terbaik untuk menjelaskan kepada pengguna untuk menjelaskan sebuah sistem. Diagram use case menunjukkan 3 aspek dari sistem yaitu: actor, use case, dan system/sub system boundary. Stereotype adalah sebuah model khusus yang terbatas untuk kondisi tertentu. Untuk menunjukkan stereotype digunakan simbol”<<” diawalnya dan ditutup ">>” diakhirnya. <<extends>> digunakan untuk menunjukkan bahwa satu use case merupakan tambahan fungsional dari use case lain jika kondisi atau syarat tertentu yang terpenuhi. Sedangkan <<include>> digunakan untuk menggambarkan bahwa suatu use case seluruhnya merupakan fungsionalitas dari use case lainnya. Gambaran use case diagram untuk sistem yang akan dibangun dapat dilihat pada Gambar 3.1


(44)

User mempunyai kontrol untuk melakukan beberapa fungsi yang diinginkan, yaitu pelatihan dan pengujian. Pada pelatihan terjadi beberapa fungsi yaitu pengolahan citra aksara Karo yaitu pengubahan citra RGB ke dalam citra biner, pengambilan nilai dengan ektraks fitur, serta perkalian vektor aksara Karo dengan vektor abjad dari aksara Karo tersebut. Pada pengujian fungsi yang ada yaitu pengolahan citra, perkalian vektor aksara Karo serta penghitungan persentase akurasi saat pengujian. Dokumentasi naratif use case pelatihan dan pengujian dapat dilihat pada Tabel 3.1. dan Tabel 3.2.

Tabel 3.1 Dokumentasi Naratif Use Case Pelatihan Sistem Nama Use case Pelatihan Sistem

Aktor Programmer dan user

Deskripsi Use case ini mendeskripsikan proses pelatihan sistem Prakondisi Sudah masuk dalam tampilan antarmuka Pelatihan

Bidang khas

Kegiatan user Respon system

1. Masukkan nama aksara yang akan dilatih pada field text

2. Tekan tombol ubah ukuran

3. Tekan tombol binerisasi dan fitur ekstraksi

4.Tekan tombol latih

5. Tekan tombol reset bobot

1. Sistem menampilkan citra aksara dalam bentuk .jpeg

2.Sistem mengubah ukuran citra aksara yang telah

ditampilkan 3.Sistem mengubah

citra aksara menjadi citra biner dan mengambil dan menyimpan nilai ekstraksinya

4.Sistem melatih citra dan menyimpan bobot 5.Sistem mengubah

bobot menjad nol Bidang

Alternatif

1. Tekan tombol Keluar 1. Sistem menampilkan form utama

Post-kondisi Sistem telah menyimpan hasil proses pelatihan.


(45)

Tabel 3.2 Dokumentasi Naratif Use Case Pengujian Sistem Nama Use case Pengujian Citra

Aktor User

Deskripsi Use case ini mendeskripsikan proses pengujian citra

Prakondisi Sudah masuk dalam tampilan antarmuka pengujian

Bidang khas

Kegiatan user Respon system 1. Tekan tombol buka 1. Sistem

menampilkan antarmuka pengambilan gambar 2. Pilih citra aksara yang

akan dikenali

2. Sistem

menampilkan citra aksara pada axes

3. Tekan tombol uji 3. Sistem melakukan proses pengujian dan pengenalan serta

memberikan hasil nama citra Bidang

Alternatif

1. Tekan tombol keluar 1. Sistem

menampilkan form utama Post-kondisi Sistem menampilkan nama citra aksara yang diuji

3.2.1.1.2 Activity Diagram (Diagram Aktivitas)

Activity diagram adalah teknik untuk menggambarkan logika prosedural, proses bisnis, dan jalur kerja. Dalam beberapa situasi, diagram ini mirip dengan diagram alir, namun perbedaan prinsip antara diagram ini dengan diagram alir adalah diagram ini mendukung behaviour paralel. Activity diagram bersifat dinamis. Pada sistem ini terdapat dua proses utama yaitu proses pengolahan citra serta pelatihan citra dan proses pengujian dan pengenalan citra aksara Karo. Prosedur masing-masing proses

dapat dilihat pada Activity diagram dibawah. . Activity Diagram dari proses pelatihan dapat dilihat pada Gambar 3.2.


(46)

User mengetik nama aksara pada kotak teks

menampilkan citra pada aplikasi

User menekan tombol ekstraksi fitur

Sistem melakukan proses feature extraction

User menekan tombol latih User menekan tombol ubah ukuran dan binerisasi

Sistem melakukan proses scaling dan mengkonversi citra rgb ke biner

Sistem mengubah nilai aksara ke dalam vektor

Sistem melakukan perkalian transpose vektor aksara dengan vektor abjad

Sistem mengakumulasikan semua hasil perkalian dari sampel

Sistem menampilkan keterangan berhasil

User Sistem

Sistem menyimpan hasil perkalian User menekan tombol buka aksara

Gambar 3.2. Activity Diagram Pelatihan

Pada Gambar 3.2. dapat dilihat bahwa user memilih sampel citra yang akan dilatih serta melakukan pra pengolahan dengan menggunakan tombol yang ada pada aplikasi. Sebelum dilakukan pelatihan, terlebih dahulu user memilih abjad yang sesuai


(47)

dengan aksara yang akan dilatih. Kemudian nilai aksara yang telah berada dalam bentuk vektor, ditranspose kemudian diubah dikalikan dengan nilai abjadnya yang akan menghasilkan bobot. Setelah bobot semua sampel didapatkan, maka bobot itu akan diakumulasikan sehingga hanya akan memiliki satu bobot saja. Bila berhasil, maka sistem akan menampilkan dialog yang menyatakan proses pelatihan berhasil serta menampilkan nilai bobot yang diperoleh.

Activity diagram dari proses pengujian dapat dilihat pada Gambar 3.3

User menekan tombol buka aksara opendialog untuk memilih citra

Sistem melakukan scaling citra dan mengkonversi citra rgb ke biner User memilih citra yang akan diuji

Sistem melakukan proses feature extraction

Sistem mengubah nilai aksara ke dalam vektor User menekan tombol uji

Sistem melakukan perkalian antara vektor aksara dengan matriks bobot

Sistem menghitung akurasi

Sistem menampilkan abjad

User Sistem


(48)

Pada Gambar 3.3 dapat dilihat bahwa user tetap memilih serta melakukan proses pra pengolahan pada citra aksara. Setelah itu didapatkan nilai citra aksara yang kemudian diubah ke dalam bentuk vektor, setelah itu dikalikan dengan matriks bobot. Persen Akurasi juga akan dihitung sistem setelah dilakukan proses perkalian tersebut. Bila berhasil, maka sistem akan menampilkan dialog yang menyatakan proses pengujian berhasil dan akan menampilkan abjad sesuai dengan nilai yang diperoleh dari hasil perkalian.

3.2.1.1.3 Sequence Diagram

Sequence diagram digunakan untuk menggambarkan perilaku pada sebuah skenario. Diagram ini menunjukkan sejumlah contoh objek dan pesan yang diletakkan diantara objek-objek ini dalam usecase.

User

Pelatihan Pengenalan

Binerisasi Nilai Biner Aksara

Pra Pengolahan Nilai Aksara dalam Vektor

Latih Bobot dan Error

Binerisasi Nilai Biner Aksara

Pra Pengolahan Nilai Aksara dalam Vektor

Uji Abjad

Gambar 3.4. Sequence Diagram Sistem


(49)

Pada Gambar 3.4 menunjukkan, pertama sistem akan melakukan proses pelatihan. Pada proses pelatihan terdapat beberapa proses yaitu pra pengolahan, proses asosiasi (perkalian vektor aksara dengan vektor abjad) serta penghitungan nilai error. Setelah proses pelatihan selesai dilanjutkan ke proses pengujian dimana terjadi proses pra pengolahan citra, proses pengujian (perkalian antara vektor aksara dengan matriks bobot) serta penghitungan nilai error.

3.3 Perancangan Flowchart

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Setiap simbol pada flowchart menggambarkan proses tertentu, dan antara proses digambarkan dengan garis penghubung. Pada Tabel 3.3. dapat dilihat simbol yang terdapat pada flowchart dan keterangannya.

Tabel 3.3 Simbol dan Keterangan Pada Flowchart Gambar Simbol Untuk Keterangan

Proses/Langkah Menyatakan kegiatan yang akan ditampilkan dalam diagram alir.

Titik Keputusan Proses / Langkah dimana perlu adanya keputusan atau adanya kondisi tertentu.

Masukan/Keluaran Data

Digunakan untuk mewakili data masuk, atau data keluar.

Terminasi Menunjukkan awal atau akhir sebuah proses.

Garis Alir Menunjukkan arah aliran proses atau algoritma.

Kontrol/Inspeksi Menunjukkan proses / langkah dimana ada inspeksi atau pengontrolan.


(50)

Mulai

For i=1:620 Masukkan aksara karo dalam bentuk

citra jpeg

Pra pengolahan citra jpeg

Ekstraksi ciri untuk memperoleh citra

biner

Asosiasikan nilai citra biner aksara karo dengan nilai pasangannya

(abjad)

Hasil akumulasi

bobot

For i:1:620 Citra diuji dengan melakukan

perkalian antara citra biner aksara dan bobot total

Pengujian berhasil dan

ditampilkan abjad dari citra

aksara karo

Selesai

Citra biner

Apakah i=620? Tidak

Apakah i=620?

Ya

Tidak

Ya

Aplikasi yang akan dibangun ini mempunyai skema yang bisa digambarkan dengan flowchart. Proses mulai dari proses pelatihan sampai proses pengujian dapat dilihat pada Gambar 3.5.

Gambar 3.5. Flowchart Proses Pelatihan dan Pengujian


(51)

3.4. Perancangan Antarmuka Sistem

Antarmuka sistem dibuat dengan menggunakan Matlab R2007b. Adanya antarmuka sistem ini membuat user lebih mudah dalam menggunakan sistem pengenalan pola ini.

3.4.1 Form Utama

Form inilah yang pertama kali ditampilkan jika user menggunakan sistem pengenalan pola ini. Tampilan rancangan form utama dapat dilihat pada gambar 3.6.

Gambar 3.6. Rancangan Form utama Keterangan:

1. Menu Utama

Pada menu ini terdapat dua submenu dari sistem pengenalan pola karakter Aksara Karo, yaitu menu pengolahan serta pelatihan citra.

2. Menu Bantuan

Pada menu ini terdapat submenu tentang. Submenu ini memberikan keterangan atas sistem ini.

3. Menu Keluar

Berfungsi untuk keluar langsung dari sistem.


(52)

3.4.2 Form Pengolahan dan Pelatihan Citra

Pada form ini, citra akan diolah serta dilakukan pelatihan. Tampilan rancangan form pengolahan dan pelatihan dapat dilihat pada gambar 3.7.

Gambar 3.7. Rancangan Form Pengolahan dan Pelatihan Citra Keterangan:

1. Textfield

Berfungsi untuk menentukan citra Aksara Karo yang ingin ditampilkan dan diolah

2. Tombol Buka Citra

Berfungsi untuk membuka citra Aksara Karo yang sudah ditentukan pada textfield

3. Tombol Ubah Ukuran

Berfungsi untuk mengubah ukuran citra yang ditampilkan 4. Tombol Binerisasi

Berfungsi untuk mengubah citra RGB ke dalam citra biner. Citra yang diubah adalah citra yang telah dipilih melalui textfield

5. Tombol Ekstraksi Fitur

1 6

7 9

10

2

8

3

4

5

Axes 1

Axes 15 Axes 8

Axes 2

Axes 9

Axes 16 Axes 17

Axes 10

Axes 3 Axes 4 Axes 5 Axes 6 Axes 7

Axes 18

Axes 11 Axes 12

Axes 19

Axes 13 Axes 14

Axes 20 11


(53)

Berfungsi untuk mengekstraksi fitur citra yang telah dibinerisasi. Citra yang diubah adalah citra yang telah dipilih melalui textfield

6. Tombol Binerisasi

Berfungsi untuk mengubah citra RGB ke dalam citra biner. Citra yang diubah adalah semua citra yang terdapat pada penyimpanan data

7. Tombol Ekstraksi Fitur

Berfungsi untuk mengekstraksi fitur citra yang telah dibinerisasi. Citra yang diekstraksi adalah semua citra yang terdapat pada penyimpanan data

8. Tombol Latih

Berfungsi untuk melatih citra yang telah diekstraksi 9. Tombol Reset Bobot

Berfungsi untuk mengubah nilai bobot menjadi nol 10.Textfield

Berisi keterangan terhadap proses pengolahan dan pelatihan 11.Axes 1-20

Berfungsi sebagai tempat menampilkan citra yang akan diolah

3.4.3 Form Pengujian Citra

Pada form ini, citra akan diuji apakah dapat dikenali atau tidak oleh sistem. Tampilan rancangan form pengujian dapat dilihat pada gambar 3.8.

Gambar 3.8. Rancangan form Pengujian Citra

7 6

5 4

3 2


(54)

Keterangan: 1. Axes

Berfungsi sebagai tempat menampilkan citra yang akan diolah 2. Tombol Buka

Berfungsi untuk membuka file citra yang akan diuji 3. Tombol Uji

Berfungsi untuk menguji apakah citra yang dibuka dapat dikenali atau tidak 4. Tombol Uji Banyak

Berfungsi untuk menguji apakah citra yang dibuka dapat dikenali atau tidak. Citra yang akan diuji adalah seluruh citra yang terdapat dalam penyimpanan data

5. Fieldtext

Befungsi untuk menampilkan jumlah citra yang berhasil dikenali 6. Fieldtext

Berfungsi untuk menampilkan abjad dari citra yang telah dibuka dan diuji 7. Fieldtext

Berfungsi untuk menampilkan persen akurasi dari pengujian

3.5 Tahapan Sistem

Gambar 3.9. Diagram Proses Sistem Secara Umum


(55)

Tahapan yang dilakukan dalam penelitian ini adalah:

1. Pemrosesan citra, untuk mendapatkan citra biner dari Aksara Karo dengan melakukan proses scaling (pengubahan ukuran citra) dan threshold (pengubahan citra dari citra RGB ke dalam citra biner. Setelah itu citra akan diekstraksi fiturnya.

2. Proses pelatihan, untuk memperkenalkan kepada sistem setiap karakterisktik dari pola karakter Aksara Karo yang dimasukkan. Dari proses pelatihan akan dihasilkan bobot. Bobot adalah data yang digunakan untuk menyimpan karakteristik pola Aksara Karo yang didapat pada saat proses pelatihan. Bobot dihasilkan dari proses akumulasi setiap citra aksara Karo yang dilatih. Bobot disimpan di database.

3. Proses pengujian, untuk menguji citra Aksara Karo yang telah dilatih maupun citra testing. Bobot yang dihasilkan dari proses pelatihan akan digunakan untuk menguji setiap sampel citra.

Kumpulan citra dalam bentuk tulisan tangan akan di scan terlebih dahulu sehingga menjadi citra digital dalam format .jpg dengan menggunakan scanner. Citra digital yang diambil akan dipotong terlebih dahulu dengan menggunakan aplikasi Adobe Photoshop sehingga citra terpisah satu sama lain dengan citra lainnya. Semua citra yang dipotong tidak memiliki ukuran yang sama dantidak memiliki fokus posisi yang sama, sehingga akan menyulitkan dalam proses pelatihannya nanti. Ini dikarenakan cara penulisan yang berbeda pada setiap orang.

Citra yang tidak memiliki ukuran yang sama akan diubah ukurannya terlebih dahulu oleh sistem ini sehingga memiliki ukuran 120 x 120 piksel. Setelah itu citra akan diubah kedalam citra biner melalui proses binerisasi (threshold). Citra yang telah dibinerisasi ini akan diekstraksi fiturnya sehingga citra berubah menjadi ukuran 12 x 14 piksel. Citra inilah yang akan melalui proses pelatihan. Total citra yang akan dilatih ada sebanyak 620 citra dari 31 karakter masing-masing dengan 20 sampel. Pelatihan citra akan menghasilkan bobot. Setelah dilatih, maka akan dilakukan pengujian terhadap 620 citra yang telah dilatih sebelumnya dan terhadap 62 citra yang testing dengan menggunakan bobot yang telah dihasilkan sebelumnya. Urutan pemrosesan citra dapat dilihat pada Gambar 3.10.


(56)

Citra Asli Citra Setelah Dipotong Citra Setelah diubah (60 x 30 px) ukurannya

(120 x 120 px)

Citra Hasil Ekstraksi Citra Biner (12 x 14 px) (120 x 120 px)

Gambar 3.10 Urutan Pemrosesan Citra

3.6. Perancangan Arsitektur Jaringan

Pada penelitian ini, jaringan yang akan dirancang adalah jaringan associative memory tipe hetero-association yang terdiri dari dua lapis, yaitu lapisan input dan lapisan output. Masukan terdiri dari 620 neuron (sesuai dengan banyak citra Aksara Karo sebagai data masukan (lapisan input) dan selanjutnya akan dikonversi menjadi bipolar) dan 31 neuron untuk keluaran sebagai data yang akan diasosiasikan (lapisan output) target, dimana:

vektor keluaran target aksara a:

-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 vektor keluaran target aksara ka:

-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1


(1)

CA6 CA16 NDA6 NDA16

CA7 CA17 NDA7 NDA17

CA8 CA18 NDA8 NDA18

CA9 CA19 NDA9 NDA19

CA10 CA20 NDA10 NDA20

Nama Gambar Nama Gambar Nama Gambar Nama Gambar

MBA1 MBA11 I1 I11

MBA2 MBA12 I2 I12

MBA3 MBA13 I3 I13

MBA4 MBA14 I4 I14

MBA5 MBA15 I5 I15

MBA6 MBA16 I6 I16

MBA7 MBA17 I7 I17

MBA8 MBA18 I8 I18

MBA9 MBA19 I9 I19

MBA20 I10 I20

Nama Gambar Nama Gambar Nama Gambar Nama Gambar


(2)

U3 U13 1-3 1-13

U4 U14 1-4 1-14

U5 U15 1-5 1-15

U6 U16 1-6 1-16

U7 U17 1-7 1-17

U8 U18 1-8 1-18

U9 U19 1-9 1-19

U10 U20 1-10 1-20

Nama Gambar Nama Gambar Nama Gambar Nama Gambar

2-1 2-11 3-1 3-11

2-2 2-12 3-2 3-12

2-3 2-13 3-3 3-13

2-4 2-14 3-4 3-14

2-5 2-15 3-5 3-15

2-6 2-16 3-6 3-16

2-7 2-17 3-7 3-17

2-8 2-18 3-8 3-18

2-9 2-19 3-9 3-19


(3)

Nama Gambar Nama Gambar Nama Gambar Nama Gambar

4-1 4-11 5-1 5-11

4-2 4-12 5-2 5-12

4-3 4-13 5-3 5-13

4-4 4-14 5-4 5-14

4-5 4-15 5-5 5-15

4-6 4-16 5-6 5-16

4-7 4-17 5-7 5-17

4-8 4-18 5-8 5-18

4-9 4-19 5-9 5-19

4-10 4-20 5-10 5-20

Nama Gambar Nama Gambar Nama Gambar Nama Gambar

6-1 6-11 7-1 7-11

6-2 6-12 7-2 7-12

6-3 6-13 7-3 7-13


(4)

6-6 6-16 7-6 7-16

6-7 6-17 7-7 7-17

6-8 6-18 7-8 7-18

6-9 6-19 7-9 7-19

6-10 6-20 7-10 7-20

Nama Gambar Nama Gambar Nama Gambar Nama Gambar

8-1 8-11 9-1 9-11

8-2 8-12 9-2 9-12

8-3 8-13 9-3 9-13

8-4 8-14 9-4 9-14

8-5 8-15 9-5 9-15

8-6 8-16 9-6 9-16

8-7 8-17 9-7 9-17

8-8 8-18 9-8 9-18

8-9 8-19 9-9 9-19


(5)

Nama Gambar Nama Gambar

0-1 0-11

0-2 0-12

0-3 0-13

0-4 0-14

0-5 0-15

0-6 0-16

0-7 0-17

0-8 0-18

0-9 0-19

0-10 0-20

Citra Yang Tidak Dilatih

Nama Gambar Nama Gambar Nama Gambar Nama Gambar

A1 A2 JA1 JA2

KA1 KA2 DA1 DA2

BA1 BA2 RA1 RA2

PA1 PA2 MA1 MA2

NA1 NA2 TA1 TA2


(6)

Nama Gambar Nama Gambar Nama Gambar Nama Gambar

NGA1 NGA2 4-1 4-2

LA1 LA2 5-1 5-2

CA1 CA2 6-1 6-2

NDA1 NDA2 7-1 7-2

MBA1 MBA2 8-1 8-2

I1 I2 9-1 9-2

U1 U2 0-1 0-2

1-1 1-2

2-1 2-2