Implementasi Jaringan Saraf Tiruan Untuk Pengenalan Pola Dan Penerjemah Aksara Karo Dengan Metode Associative Memory Tipe Hetero-Association
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 kj 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 yxT
[
]
= = ⋅ 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 yxT
[
]
= = ⋅ 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] =
⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎡−−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⎦
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤
x_a2T.y_a = w_a2
⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎡−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_a = (x_a1T.y_a+ x_a2T.y_a)
⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎡−−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⎦
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ + ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎡−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⎦
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ = ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎡−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] =
⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎡ 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 ⎦
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤
x_ka2T.y_ka = w_ka2
⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎡−−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_ka = (x_ka1T.y_ka+ x_ka2T.y_ka)
⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎡ 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 ⎦
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ + ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎡ 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 ⎦
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤
(38)
x_ba1T.y_ba = w_ba1 ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎡−−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⎦
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤
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 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⎦
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ + ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎡−−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⎦
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ + ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎡ 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 ⎦
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ + ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎡−−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