PENGENALAN POLA HURUF JAWA MENGGUNAKAN ALGORITMA BACKPROPAGATION

PENGENALAN POLA HURUF JAWA MENGGUNAKAN ALGORITMA BACKPROPAGATION

  Skripsi Diajukan untuk Memenuhi Salah Satu Syarat

  Memperoleh Gelar Sarjana Sains Program Studi Ilmu Komputer

  Oleh: Damianus Beni Cahyo Nugroho

  NIM : 043124004 PROGRAM STUDI ILMU KOMPUTER JURUSAN MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA

PATTERN RECOGNITION OF JAVANESE CHARACTER USING BACKPROPAGATION ALGORITHM

  A Thesis Presented as Partial Fulfillment of the Requirements to obtain Sarjana Sains Degree in Computer Science

  By: Damianus Beni Cahyo Nugroho

  Student Number : 043124004 COMPUTER SCIENCE STUDY PROGRAM DEPARTEMENT OF MATHEMATIC FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY

  PERSEMBAHAN Tugas akhir ini kupersembahkan untuk:

  1. Kedua orang tuaku, Bapak dan Ibu Terima kasih atas semua perjuangannya untuk selalu setia menemaniku hingga selesai semuanya.

  2. Kakak dan adik, Bambang dan Erni Atas segala bantuannya.

  

ABSTRAK

PENGENALAN POLA HURUF JAWA MENGGUNAKAN

ALGORITMA BACKPROPAGATION

  Huruf jawa (hanacaraka) merupakan salah satu warisan budaya dari masyarakat jawa kuno yang digunakan untuk menuliskan karya sastra mereka. Keberadaan dari huruf jawa wajib untuk dilestarikan. Tetapi hal tersebut tidak didukung sepenuhnya oleh generasi muda. Hal ini ditunjukkan dengan kurang berminatnya atau enggannya generasi muda untuk mempelajari tulisan huruf-huruf jawa sehingga semakin sedikit jumlah orang yang dapat mengetahui bentuk huruf- huruf jawa. Oleh karena itu, peneliti membuat sistem pengenalan pola huruf jawa menggunakan jaringan syaraf tiruan backpropagation.

  Sistem pengenalan pola huruf jawa tersebut digunakan untuk mengenali huruf jawa carakan (nglegeno) dan sandhangan. Sistem akan melatih jaringan

  

backpropagation menggunakan template / data pelatihan yang disimpan dalam

  database. Jaringan backpropagation dilatih agar mendapatkan bobot jaringan yang mampu mengenali gambar template dan masukan yang sejenis dengan template. Masukan berupa sebuah karakter huruf jawa. Masukan dapat menggunakan mouse atau file bitmap. Masukan akan dikenai preprocessing dan selanjutnya diolah dengan jaringan backpropagation.

  Dari hasil pengujian, sistem mampu mengenali data uji sebesar 58,75 % dengan benar dan dapat mengenali data template yang telah dilatih dengan jaringan

  backpropagation sebesar 91,15%.

  ABSTRACT PATTERN RECOGNITION OF JAVANESE CHARACTER USING BACKPROPAGATION ALGORITHM

  Javanese character (hanacaraka) is one of culture legacies from old Javanese peoples that is used to write their literary work. The existence of Javanese character must be conserved. However it’s not supported fully by young generation. It is showed by the lack of young generation’s interest or the unwilling to study Javanese characters article so that fewer of number of people who can understand Javanese characters pattern. Therefore, researcher is developing the system of Javanese character pattern recognition using backpropagation neural network.

  The system of Javanese character pattern recognition is used to recognize Javanese character of carakan (nglegeno) and sandhangan. The system will train the backpropagation network using template or training data which saved in database.

  The backpropagation network is trained to get network weight which can recognize template image and input that is same as template. The input is a Javanese character. The input can use mouse or bitmap file. The input will do preprocessing and then processed with backpropagation network.

  From the result of test, system can recognize test data in the amount of 58,75% well and can recognize template data that have been trained by backpropagation network in the amount of 91,15 %.

  Puji syukur penulis persembahkan kepada Tuhan Yesus Kristus atas rahmat, pertolongan dan selalu setia mendampingi sehingga penulis dapat menyelesaikan penelitian dan penyusunan skripsi berjudul “Pengenalan Pola Huruf Jawa Menggunakan Algoritma Backpropagation”. Skripsi ini disusun sebagai salah satu syarat memperoleh gelar Sarjana Sains (S.Si) Program Studi Ilmu Komputer.

  Dalam pelaksanaan penelitian dan penyusunan skripsi ini tidak terlepas dari bantuan berbagai pihak. Oleh karena itu penulis ucapkan terima kasih kepada:

  1. Paulina Heruningsih Prima Rosa, S.Si., M.Sc. selaku kaprodi Ilmu Komputer. Terima kasih atas kebijakan-kebijakan yang diberikan dan telah menemani kami hingga akhir.

  2. Anastasia Rita Widiati, S.Si., M.Kom. selaku dosen pembimbing. Terima kasih atas bantuannya.

  3. Yanuaris Joko Nugroho, S.Si. selaku dosen pembimbing. Terima kasih atas bantuannya.

  4. Eko Hari Parmadi, S.Si., M.Kom dan Sri Hartati Wijono, S.Si., M.Kom. selaku dosen penguji.

  5. Kedua orang tuaku, Bapak dan Ibu.

  6. Kakak dan adikku, Bambang dan Erni.

  7. Bpk Tukija dan Mbak Linda di Sekretariat. Terima kasih atas bantuannya.

  8. Mas Susilo selaku Laboran LKD.

  9. Teman-teman Ilmu Komputer angkatan 2004 yaitu Kornel, Beni Leo, Henry, Willy, Hali, Ipung, Seto, Thomas, Wenggo, Bosgenk (Agung), B’li Adi, Steven, Adit, Yo, Gita, Pakdhe Ndari, Debby, Mia, Dewi, Via, Tina, Madya, Fitria, Amel, Eka, Desy, Trivo, Elin, Arum, Monik, Anas, Mita. Terima kasih atas bantuan dan kerjasamanya.

  10. Teman-teman lab TA: Yus, Gurit, Lilik, Henry Kriting, Puguh, Fatso, Wiwid. Terima kasih atas bantuan dan informasinya.

  11. Pihak-pihak lain yang belum saya sebutkan diatas. Penulis menyadari masih adanya kekurangan dalam skripsi ini dan jauh dari sempurna.

  Yogyakarta, 10 Oktober 2008 Penulis

  

DAFTAR ISI

  HALAMAN JUDUL................................................................................................ i HALAMAN PERSETUJUAN PEMBIMBING ..................................................... ii HALAMAN PENGESAHAN................................................................................ iii HALAMAN PERSEMBAHAN ............................................................................ iv ABSTRAK .............................................................................................................. v ABSTRACT........................................................................................................... vi KATA PENGANTAR .......................................................................................... vii PERNYATAAN KEASLIAN KARYA ................................................................ ix DAFTAR ISI........................................................................................................... x DAFTAR TABEL................................................................................................ xiii DAFTAR GAMBAR ........................................................................................... xiv

  BAB I PENDAHULUAN ....................................................................................... 1 A. Latar Belakang ........................................................................................... 1 B. Perumusan Masalah ................................................................................... 2 C. Batasan Masalah ........................................................................................ 2 D. Tujuan Penelitian ....................................................................................... 4 E. Manfaat Penelitian ..................................................................................... 4 F. Metode Penelitian ...................................................................................... 4 G. Sistematika Penulisan ................................................................................ 5 BAB II LANDASAN TEORI ................................................................................. 7

  B. Preprocessing ........................................................................................... 10

  1. Grayscaling........................................................................................ 10

  2. Binerisasi........................................................................................... 10

  C. Jaringan Syaraf Tiruan............................................................................. 12

  1. Arsitektur Jaringan ............................................................................ 12 2.

   Metode Pembelajaran (Learning) atau Training............................... 13

  3. Fungsi Aktivasi ................................................................................. 14 D.

Jaringan Syaraf Tiruan Backpropagation................................................ 16

  1. Arsitektur Jaringan Backpropagation ............................................... 17

  2. Algoritma Pelatihan Jaringan Backpropagation ............................... 18

  BAB III ANALISA DAN PERANCANGAN SISTEM....................................... 22 A. Gambaran Umum Sistem......................................................................... 22 B. Analisa Sistem ......................................................................................... 23 C. Perancangan Sistem ................................................................................. 25

  1. Perancangan Proses ........................................................................... 25

  2. Perancangan Menu ............................................................................ 44

  3. Perancangan Antarmuka / Interface.................................................. 45

  BAB IV IMPLEMENTASI .................................................................................. 52 A. Implementasi Proses ................................................................................ 52 B. Implementasi Menu ................................................................................. 61 C. Implementasi Antarmuka......................................................................... 62 BAB V PENGUJIAN DAN ANALISA HASIL................................................... 66

  B. Hasil Pengujian ........................................................................................ 69

  C. Analisa Hasil............................................................................................ 85

  BAB VI PENUTUP .............................................................................................. 91 A. Kesimpulan .............................................................................................. 91 B. Saran ........................................................................................................ 92 DAFTAR PUSTAKA ........................................................................................... 93 LAMPIRAN.......................................................................................................... 94

  

DAFTAR TABEL

Tabel 5.1 Hubungan jumlah neuron lapisan tersembunyi dengan MSE dan waktu. .. 66Tabel 5.2 Hubungan Laju Pemahaman dengan MSE dan Waktu Pelatihan ............... 67Tabel 5.3 Hubungan Target Kesalahan dengan Waktu Pelatihan............................... 68Tabel 5.4 Hubungan Jumlah Epoch dengan MSE dan Waktu Pelatihan .................... 69Tabel 5.5 Hasil Pengujian Data Kelompok 1 (Citra Tulisan Tangan yang Di-scan).. 70Tabel 5.6 Hasil Pengujian Data Kelompok 2 (Citra Tulisan Tangan yang Di-scan).. 73Tabel 5.7 Hasil Pengujian Data Kelompok 3 (Huruf Jawa Cetak) ............................. 76Tabel 5.8 Hasil Pengujian Data Kelompok 4 (Huruf Jawa Cetak) ............................. 79Tabel 5.9 Hasil Pengujian Data Kelompok 5 (Citra Masukan Melalui Mouse) ......... 82Tabel 5.10 Contoh kesalahan pengenalan................................................................... 90

  

DAFTAR GAMBAR

Gambar 1.1 Aksara Jawa Sandhangan......................................................................... 3Gambar 1.2 Aksara Jawa Carakan / Nglegena............................................................. 3Gambar 2.1 Skema pengenalan pola secara umum...................................................... 8Gambar 2.2 Sigmoid biner ......................................................................................... 14Gambar 2.2 Sigmoid bipolar...................................................................................... 15Gambar 2.4 Arsitektur jaringan syaraf tiruan Backpropagation dengan 1 lapisan tersembunyi ............................................................................................ 16Gambar 3.1 (a)Gambaran umum sistem (b) Contoh proses dengan data .................. 22Gambar 3.2 DAD level 0 / Diagram Konteks............................................................ 25Gambar 3.3 DAD level 1 ........................................................................................... 26Gambar 3.4 DAD level 2 Proses 1 / Pengenalan Pola ............................................... 29Gambar 3.5 DAD level 2 Proses 2 / Pengolahan Data Pelatihan............................... 31Gambar 3.6 DAD level 3 Proses 1.2 / binerisasi ....................................................... 32Gambar 3.7 Flowchart Grayscaling........................................................................... 33Gambar 3.8 Flowchart Cari Nilai Ambang................................................................ 36Gambar 3.9 Flowchart Ubah Biner ............................................................................ 37Gambar 3.10 Flowchart Penghilangan Pinggiran Putih.............................................. 38Gambar 3.11 Ekstraksi Data ....................................................................................... 39Gambar 3.12 Flowchart Ekstraksi Data ...................................................................... 40Gambar 3.13 Flowchart Proses Pelatihan (training)................................................... 42Gambar 3.14 Flowchart Proses Pengujian (testing).................................................... 43Gambar 3.15 Perancangan Menu ................................................................................ 44Gambar 3.16 Rancangan antarmuka Splash Screen.................................................... 45Gambar 3.17 Rancangan Tampilan Utama ................................................................. 46Gambar 3.18 Rancangan Antarmuka Tampilan Pengujian......................................... 47Gambar 3.19 Rancangan Antarmuka Tampilan Pelatihan.......................................... 48Gambar 3.20 Rancangan Antarmuka Tampilan Data Pelatihan ................................. 49Gambar 3.21 Rancangan Antarmuka Tampilan Matriks Bobot dan Bias................... 50Gambar 3.22 Rancangan Antarmuka Tampilan Form Tentang .................................. 50Gambar 3.23 Rancangan Antarmuka Tampilan Form Bantuan.................................. 51Gambar 4.1 Tampilan Menu ...................................................................................... 61Gambar 4.2 Form Splash Screen ............................................................................... 62Gambar 4.3 Form Utama ........................................................................................... 62Gambar 4.4 Form Pengujian ...................................................................................... 63Gambar 4.5 Form Pelatihan (training)....................................................................... 63Gambar 4.6 Form Data Pelatihan............................................................................... 64Gambar 4.7 Form Bobot dan Bias ............................................................................. 64Gambar 4.8 Form Tentang ......................................................................................... 65Gambar 4.9 Form Bantuan......................................................................................... 65Gambar 5.1 Contoh kesalahan pengenalan ................................................................ 86Gambar 5.2 Template huruf Ja................................................................................... 86Gambar 5.3 Huruf Nga .............................................................................................. 87Gambar 5.4 Hasil Ektraksi Ciri Huruf Nga Uji ......................................................... 87Gambar 5.5 Hasil ekstraksi ciri gambar template huruf nga...................................... 88Gambar 5.6 Huruf Ca................................................................................................. 88Gambar 5.7 Hasil Ektraksi Ciri Huruf Ca Uji............................................................ 88Gambar 5.8 Hasil Ekstraksi Ciri Gambar Template Huruf Ca .................................. 89

  keberadaan dari huruf-huruf jawa tersebut, seperti halnya kitab-kitab, naskah-naskah jawa kuno, tembang-tembang jawa, prasasti-prasasti, cara penulisan huruf jawa, bentuk huruf jawa dan lain sebagainya (Rochkyatmo, 1997). Pelestarian budaya atau keberadaan huruf-huruf jawa tidak didukung sepenuhnya oleh generasi muda. Hal ini ditunjukkan dengan kurang berminatnya atau enggannya generasi muda untuk mempelajari tulisan huruf-huruf jawa sehingga semakin sedikit jumlah orang yang dapat mengetahui bentuk huruf-huruf jawa (Sayoga, 2006).

  Saat ini bentuk huruf-huruf jawa kuno tersebut dapat diterjemahkan ke huruf jawa latin secara otomatis dengan menggunakan sebuah sistem komputer.

  Perkembangan komputer sudah semakin pesat dimana komputer dapat digunakan untuk penyelesaian permasalahan-permasalahan yang kompleks, pengolahan gambar, dan pengenalan pola gambar. Sebagai contoh adalah telah banyak dikembangkan sistem-sistem pengenalan pola huruf seperti sistem pengenalan pola huruf latin, huruf arab, huruf cina dan huruf jepang. Jaringan syaraf tiruan merupakan salah satu pendekatan pengenalan pola dimana jaringan tersebut merupakan sistem komputasi

  2 yang disusun dengan meniru proses alamiah yang terjadi dalam jaringan syaraf biologis pada otak manusia. Jaringan syaraf tiruan ini juga memiliki keunggulan yaitu dapat menangani noise sehingga bentuk huruf-huruf yang tidak begitu bagus atau rusak tetap dapat dikenali. Salah satu metode jaringan syaraf tiruan adalah jaringan

  

backpropagation . Sebagai perwujudan pelestarian huruf jawa dan menyediakan alat

  bantu untuk mengenali huruf jawa maka peneliti melakukan penelitian pengenalan pola huruf jawa menggunakan algoritma backpropagation untuk membangun suatu sistem pengenalan pola huruf jawa.

  B. PERUMUSAN MASALAH

  Berdasarkan latar belakang, penulis membuat rumusan masalah sebagai berikut : Bagaimana membuat sistem pengenalan pola huruf jawa dengan menerapkan algoritma jaringan syaraf tiruan backpropagation ?

  C. BATASAN MASALAH

  1. Huruf-huruf yang akan diidentifikasi adalah huruf jawa carakan (nglegena) dan sandhangan.

  3

Gambar 1.1 Aksara Jawa SandhanganGambar 1.2 Aksara Jawa Carakan / Nglegena 2. Pola masukan berupa sebuah karakter huruf jawa.

  3. Masukan huruf pada sistem menggambar menggunakan mouse atau menggunakan file bitmap.

  4. Ukuran matriks masukan dan template adalah 40x40.

  5. Perangkat lunak yang digunakan dalam pembuatan sistem ini adalah Borland Delphi 7.

  4

D. TUJUAN PENELITIAN

  Berdasarkan rumusan masalah, tujuan dari penelitian ini adalah : Membuat suatu sistem pengenalan pola yang dapat mengidentifikasi huruf-huruf jawa dengan menerapkan algoritma jaringan syaraf tiruan backpropagation.

E. MANFAAT PENELITIAN

  Manfaat dari penelitian ini adalah

  1. Hasil penelitian ini (sistem pengenalan pola huruf jawa) dapat digunakan sebagai alat bantu untuk mengidentifikasi huruf-huruf jawa khususnya huruf jawa carakan dan sandhangan.

  2. Hasil penelitian ini (sistem pengenalan pola huruf jawa) diharapkan dapat menjadi informasi atau tambahan referensi bagi Universitas Sanata Dharma dan mahasiswa untuk menambah pengetahuan tentang pengenalan pola.

  F. METODE PENELITIAN

  Metode yang digunakan dalam pembuatan tugas akhir ini adalah sebagai berikut:

  1. Analisa Pada tahap ini yang akan dilakukan adalah mengumpulkan kebutuhan sistem seperti pengumpulan template yang digunakan untuk data pelatihan jaringan syaraf tiruan backpropagation, menganalisa masalah dan bagaimana

  5 penyelesaiannya, peneliti mempelajari metode jaringan syaraf tiruan backpropagation .

  2. Perancangan Sistem Tahap ini dilakukan untuk membuat suatu rancangan sistem yang akan digunakan untuk pengembangan sistem pengenalan pola. Ada beberapa hal yang dilakukan yaitu perancangan antarmuka (interface design), menentukan input dan output dari sistem.

  3. Implementasi Implementasi berarti peneliti melakukan pemrograman (coding) atau pengembangan sistem pengenalan pola, melakukan testing (pengecekan kesalahan

  / error yang terjadi pada sistem), perbaikan sistem pada kesalahan / error yang terjadi.

  4. Pengujian Sistem yang telah dibuat diuji apakah sistem tersebut sudah sesuai mengidentifikasi huruf-huruf jawa yang dimasukkan dan telah sesuai dengan rancangan sistem.

G. SISTEMATIKA PENULISAN

  masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian dan sistematika penulisan.

  6

  BAB II LANDASAN TEORI Berisi landasan teori yang dipakai penulis dalam membuat skripsi yang

  meliputi materi jaringan syaraf tiruan backpropagation dan teori-teori lainnya yang digunakan dalam pembuatan skripsi.

  BAB III ANALISA DAN PERANCANGAN SISTEM Bab ini meliputi analisa tentang permasalahan yang diteliti dan bagaimana

  penyelesaiannya dan perancangan sistem yang meliputi desain antarmuka (interface), desain menu dan desain proses.

  BAB IV IMPLEMENTASI Bab ini berisi implementasi rancangan proses, implementasi rancangan

  menu, dan implementasi rancangan antarmuka (interface) yang dikembangkan dari hasil analisa dan perancangan sistem.

  BAB V PENGUJIAN DAN ANALISA HASIL H asil pengujian sistem pengenalan pola huruf jawa dan analisa hasil. BAB VI PENUTUP Merupakan penutup yang berisi kesimpulan dan saran terhadap hasil penelitian.

BAB II LANDASAN TEORI A. PENGENALAN POLA Pola merupakan deskripsi kuantitatif atau struktural pada sebuah objek

  atau beberapa entitas lain. Kelas pola merupakan sekumpulan pola yang terdiri atas beberapa properties / ciri yang sama (Bow, 2002).

  Pengenalan pola merupakan suatu aktivitas manusia secara normal dimana manusia menerima informasi melalui berbagai sensor tubuh yang diproses seketika oleh otak, dan dalam sekejap manusia dapat mengenali sumber informasi tanpa melakukan usaha yang tampak. Hal yang lebih mengesankan adalah keakuratan manusia untuk dapat melakukan tugas-tugas pengenalan dengan kondisi yang tidak ideal, misalnya, ketika informasi yang dibutuhkan untuk pemrosesan tersebut tidak jelas atau tidak lengkap. Sesungguhnya, sebagian besar aktivitas sehari-hari kita berdasarkan pada berhasilnya kita dalam melakukan berbagai tugas pengenalan pola. Contohnya, ketika kita membaca buku, kita mengenali huruf, kata, dan pada akhirnya konsep dan pemikiran, dari sinyal- sinyal visual yang diterima oleh otak kita yang diprosesnya secara cepat dan mungkin dilakukan oleh sebuah jaringan syaraf biologi yang mengimplementasikan pencocokan template (Sankar, 2004).

  Pengenalan pola (pattern recognition) merupakan suatu proses untuk mengenali pola-pola yang terdapat pada sekumpulan data dan menggolongkannya

  8 satu kelompok mempunyai derajat kemiripan yang tinggi dan pola-pola yang berada dalam kelompok yang berbeda mempunyai derajat kemiripan yang rendah (Susilo, 2006).

  Pengenalan pola bertujuan menentukan kelompok atau kategori pola berdasarkan ciri-ciri yang dimiliki oleh pola tersebut. Dengan kata lain, pengenalan pola dapat membedakan suatu objek dengan objek lain (Munir, 2004). Skema pengenalan pola secara umum ditunjukkan oleh skema berikut:

Gambar 2.1 Skema pengenalan pola secara umum(Majumdar,1985)

  Sistem pengenalan pola memiliki beberapa pendekatan diantaranya (Friedman,1999) yaitu:

  • Pendekatan Statistik • Pendekatan Sintaktik • Pendekatan Logika Kabur • Pendekatan Jaringan Syaraf Tiruan

  9 Pendekatan yang digunakan dalam penelitian ini adalah pendekatan menggunakan jaringan syaraf tiruan. Jadi pendekatan yang akan dibahas lebih lanjut pada subbab berikutnya adalah pendekatan menggunakan jaringan syaraf tiruan.

Grayscaling

  Citra grayscale merepresentasikan setiap piksel hanya dengan satu nilai warna dalam skala keabuan. Grayscaling adalah proses pengubahan nilai piksel dari citra RGB menjadi citra gray-level. Pengubahan warna RGB ke perkiraan tingkat keabuannya (gray-level) diawali dengan mendapatkan nilai- nilai utamanya yaitu merah (red), hijau (green), dan biru (blue) atau RGB. Kemudian jumlahkan 30% nilai merah, 59% nilai hijau dan 11% nilai biru. Persentase tersebut tidak menjadi persoalan untuk skala apapun yang digunakan, misalnya 0.0 sampai 1.0, 0 sampai 255, atau 0% sampai 100%.

  Secara matematis dinyatakan sebagai berikut: Gray = 0,30*Red + 0,59*Green + 0,11*Blue

  Tingkat (level) yang dihasilkan merupakan nilai abu-abu yang diharapkan. Persentase tersebut dipilih karena kepekaan relatif yang tidak sama pada mata normal manusia untuk setiap warna-warna utama, lebih tinggi untuk warna hijau dan lebih rendah untuk warna biru.

  10

  2. Binerisasi Binerisasi merupakan proses untuk memisahkan objek gambar dengan latar belakangnya. Gambar biner tersebut bernilai 0 dan 1, nilai 0 sebagai objek dan nilai 1 sebagai latar belakang. Proses binerisasi ini menggunakan algoritma iterative selection. Iterative selection merupakan suatu proses memperkirakan nilai ambang awal yang menyaring gambar kedalam objek dan latar belakang secara berulang kali dan menggunakan tingkatan-tingkatan (levels) dalam setiap kelompok untuk memperbaiki nilai ambang tersebut. Algoritma iterative selection (Parker,1997)adalah sebagai berikut:

  a) Asumsikan tidak diketahui lokasi objek yang sebenarnya. Anggaplah sebagai perkiraan pertama bahwa empat pojok gambar berisi piksel-piksel latar belakang (background) dan sisanya berisi piksel-piksel objek. t t

  μ

  b) Pada langkah t, hitung μ dan sebagai nilai rata-rata background dan B O objek tingkat keabuan, dimana pembagian background dan objek pada t langkah t ditetapkan dengan nilai threshold T yang ditentukan pada langkah sebelumnya.

t ( i , j ) ∈ background t ( i , j ) ∈ object

f ( i , j ) f ( i , j )

  ∑ ∑

  = = μ B μ O

  # background _ pixels # object _ pixels ( t + 1 )

  T

  c) Hitung nilai yang merupakan nilai ambang yang baru, dengan rumus: ( t 1 ) μ + μ t t

  • B O

  T =

  2

  11 ( t 1 )

  • Nilai T digunakan untuk memperbaharui perbedaan background dan obyek.
  • ( t 1 ) t<
  • d) Jika T sama dengan T maka iterasi dihentikan. Jika kondisi sebaliknya maka kembali ke langkah b.

C. JARINGAN SYARAF TIRUAN

  Jaringan syaraf tiruan merupakan suatu sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologi. Jaringan syaraf tiruan dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologi, dengan asumsi bahwa:

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

  2. Sinyal dikirimkan diantara neuron-neuron melalui penghubung-penghubung.

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

  4. Untuk menentukan hasil keluaran, setiap neuron menggunakan fungsi aktivasi yang dikenakan pada jumlahan masukan yang diterima.

  Jaringan syaraf tiruan ditentukan oleh 3 komponen yaitu arsitektur jaringan, metode pembelajaran (learning) atau training dan fungsi aktivasi

  1. Arsitektur Jaringan.

  Arsitektur jaringan di dalam jaringan syaraf tiruan adalah pola hubungan antar neuron. Arsitektur jaringan syaraf tiruan terbagi atas jaringan layar tunggal,

  12 a) Jaringan Layar Tunggal (single layer network)

  Semua unit masukan neuron dihubungkan dengan semua unit keluarannya dan menggunakan bobot yang berbeda-beda. Tidak ada unit masukan yang dihubungkan dengan unit masukan lainnya dan begitu juga dengan unit keluarannya. Selama proses pelatihan, bobot yang digunakan mengalami modifikasi untuk meningkatkan keakuratan hasil.

  b) Jaringan Layar Jamak (multi layer network) Jaringan ini memiliki satu atau beberapa layar lainnya selain layar masukan dan keluaran yaitu layar tersembunyi. Unit-unit dalam satu layar tidak saling berhubungan. Semua unit masukan berhubungan dengan semua unit layar tersembunyi, semua unit layar tersembunyi berhubungan dengan semua unit layar tersembunyi lainnya (jika ada) dan berhubungan dengan semua unit keluaran.

  c) Jaringan Reccurent Model jaringan ini mirip dengan jaringan layar tunggal maupun layar jamak, hanya saja ada neuron keluaran yang memberikan sinyal pada unit masukan yang sering dsebut feedback loop.

  2. Metode pembelajaran (learning) atau training.

  Metode pembelajaran ini digunakan untuk menentukan bobot penghubung dan akan selalu dilakukan modifikasi bobot sampai didapatkan bobot yang paling optimal untuk mengenali pola. Pelatihan dibagi menjadi 2 macam yaitu pelatihan

  13 dengan supervisi memiliki sejumlah pasangan data (masukan dan target keluaran) yang digunakan untuk melatih jaringan hingga memperoleh bobot yang diinginkan. Suatu masukan diberikan pada jaringan dan jaringan memproses dan menghasilkan keluaran. Setiap pelatihan hasil keluaran dibandingkan dengan target keluaran. Jika berbeda maka jaringan akan menghitung kesalahan yang terjadi dengan cara menghitung selisih antara keluaran jaringan dengan target keluaran. Kesalahan tersebut digunakan jaringan untuk memodifikasi bobot jaringan. Salah satu jaringan yang menggunakan pelatihan dengan supervisi adalah jaringan backpropagation.

  Pelatihan tanpa supervisi tidak menggunakan pasangan data hasil keluaran dan target keluaran untuk mengarahkan proses pelatihan. Perubahan bobot jaringan dilakukan berdasarkan parameter tertentu dan jaringan dimodifikasi menurut ukuran parameter tersebut.

  3. Fungsi aktivasi.

  Fungsi aktivasi dipakai untuk menentukan keluaran suatu neuron. Ada beberapa fungsi aktivasi yang sering dipakai yaitu fungsi threshold (batas ambang), fungsi sigmoid dan fungsi identitas.

  a) Fungsi threshold (batas ambang) 1 jika xa

  f ( ) x = a = nilai threshold

  ⎨

  jika x &lt; a

  ⎩ Fungsi threshold diatas adalah fungsi threshold biner karena

  14 b) Fungsi sigmoid

  Fungsi sigmoid terbagi atas fungsi sigmoid biner dan fungsi sigmoid bipolar.

  1) Fungsi Sigmoid Biner (binary sigmoid function) Fungsi ini memiliki jangkauan (range) antara 0 dan 1 dan didefinisikan sebagai

  1

  f ( ) x = 1

  1 exp x

  ( ) − +

  dengan turunan : '

  1

  f ( ) x = f ( ) x [ − f ( ) x ] 1 1 1

f(x)

x Sigmoid Biner, range(0,1)

Gambar 2.2 Sigmoid biner

  2) Fungsi Sigmoid Bipolar (bipolar sigmoid function) Fungsi ini memiliki jangkauan (range) antara -1 dan 1 dan didefinisikan sebagai

  2

  f ( ) x = −

  1 2 + 1 exp

  ( ) − x

  dengan turunan:

  15

  f(x) x Sigmoid Bipolar, range(-1,1)

Gambar 2.3 Sigmoid bipolar

  c) Fungsi identitas Fungsi identitas menghasilkan nilai output sama dengan nilai masukannya.

  f x = x ( )

  Jaringan syaraf tiruan backpropagation merupakan salah satu algoritma pembelajaran jaringan syaraf tiruan yang paling populer. Jaringan telah berhasil digunakan untuk menyelesaikan berbagai aplikasi

  backpropagation

  (Siang,2005). Jaringan backpropagation merupakan salah satu jaringan yang menggunakan pelatihan dengan supervisi. Inti dari algoritma pembelajaran

  

backpropagation terletak pada kemampuannya untuk mengubah nilai-nilai

  bobotnya untuk merespon adanya kesalahan (error). Agar dapat menghitung kesalahan, data pelatihan harus mengandung serangkaian pola-pola masukan beserta pola-pola keluaran yang menjadi targetnya.

  16

  1. Arsitektur Jaringan Backpropagation Arsitektur jaringan backpropagation terdiri dari 3 lapisan yaitu lapisan masukan, lapisan tersembunyi dan lapisan keluaran. Jaringan

  backpropagation bisa memiliki lebih dari satu lapisan tersembunyi. Gambar

  2.4 menunjukan arsitektur jaringan backpropagation dengan n buah masukan (ditambah dengan bias), sebuah layar tersembunyi yang terdiri dari p unit (ditambah dengan bias), serta m buah unit keluaran.

  V ij merupakan bobot garis dari unit masukan x i ke unit layar tersembunyi z (v merupakan bobot garis yang menghubungkan bias di unit

  j j0

  masukan ke unit layar tersembunyi z j ). w kj merupakan bobot dari unit layar tersembunyi z ke unit keluaran y (w merupakan bobot dari bias di layar

  j k k0 tersembunyi ke unit keluaran z k ).

  17

  2. Algoritma Pelatihan Jaringan Backpropagation Pelatihan sebuah jaringan dengan backpropagation meliputi 3 tahap yaitu perambatan maju (feedforward) pelatihan pola masukan, penghitungan kesalahan (error) propagasi mundur, dan perubahan bobot.

  Selama perambatan maju, setiap unit masukan (X i ) menerima sebuah sinyal masukan dan menyebarkan sinyal ini ke setiap unit pada lapisan tersembunyi (hidden unit) Z

  1 ,…,Z p . Setiap unit tersembunyi kemudian

  menghitung fungsi aktivasinya dan mengirimkan sinyal yang dihasilkan dari fungsi aktivasi ke setiap unit lapisan tersembunyi diatasnya dan setiap unit lapisan tersembunyi yang terakhir mengirimkan sinyal yang dihasilkan dari fungsi aktivasi ke setiap unit lapisan keluaran (output unit). Setiap unit keluaran (Y k ) menghitung fungsi aktivasinya dengan membentuk tanggapan (response) pada jaringan untuk pola masukan yang diberikan.

  Selama pelatihan, perhitungan aktivasi setiap unit keluaran dibandingkan dengan nilai target yang harus dicapai untuk menentukan kesalahan yang terjadi pada pola. Kesalahan dihitung dari nilai selisih target dikurangi hasil fungsi aktivasi unit lapisan keluaran. Secara matematis dinyatakan sebagai berikut: m 2

  1 E = ( ty ) k k

  2 k = 1 Rata-rata kuadrat kesalahan(error) dalam satu epoch: N

  1 MSE = E k

  18 Berdasarkan kesalahan (error) ini, faktor gradien dihitung dan digunakan untuk mendistribusikan kembali kesalahan pada unit keluaran ke semua unit pada lapisan sebelumnya (unit tersembunyi yang terhubung langsung ke unit lapisan keluaran). Faktor gradien juga digunakan untuk memperbarui bobot antara lapisan keluaran dan lapisan tersembunyi yang terhubung langsung ke lapisan keluaran. Dengan cara yang sama, faktor gradien dihitung untuk setiap unit lapisan tersembunyi. Faktor tersebut bukan dibutuhkan untuk mendistribusikan kesalahan kembali ke lapisan masukan (input layer), tetapi faktor tersebut digunakan untuk memperbarui bobot antara lapisan tersembunyi dengan lapisan tersembunyi dibawahnya dan memperbarui bobot antara lapisan input dengan lapisan tersembunyi yang berhubungan langsung lapisan input.

  Setelah semua faktor gradien dihitungkan, bobot untuk semua lapisan (layer) disetel secara bersamaan. Penyetelan bobot (dari unit tersembunyi ke unit output) berdasarkan pada faktor gradien dan aktivasi pada unit tersembunyi. Penyetelan bobot (dari unit masukan ke unit tersembunyi) berdasarkan pada faktor gradien dan aktivasi pada unit masukan.

  Proses diatas dilakukan ulang secara terus-menerus hingga kondisi penghentian terpenuhi. Kondisi penghentian yang sering digunakan adalah jumlah iterasi atau kesalahan. Iterasi akan dihentikan jika jumlah iterasi yang telah dilakukan melebihi jumlah maksimum iterasi yang ditetapkan, atau kesalahan yang terjadi sudah lebih kecil dari batas toleransi yang diijinkan.

  19 Algoritma pelatihan pada jaringan syaraf tiruan Backpropagation (Fausett,1994) adalah

  Langkah 0 : Inisialisasi semua bobot dengan bilangan acak kecil. Langkah 1 :

  Jika kondisi penghentian masih salah (belum terpenuhi) maka lakukan langkah 2 – 9.

  Langkah 2 : Untuk setiap pasang data pelatihan lakukan langkah 3 - 8. Perambatan Maju (Feedforward) : Langkah 3 :

  Setiap unit masukan menerima sinyal masukan dan menyebarkan sinyal ini ke semua unit pada lapisan berikutnya (unit lapisan tersembunyi/ hidden

  unit ).

  Langkah 4 :

  Setiap unit lapisan tersembunyi menghitung masukan bobot dengan rumus: n j j i ij + z _ in = v x v

  ∑ i = 1

  dan gunakan fungsi aktivasi yang ditentukan untuk menghitung sinyal keluaran dengan rumus:

  

z = f z _ in ; f z _ in = fungsi aktivasi

j ( j ) ( j )

  Unit lapisan tersembunyi mengirimkan semua sinyal ini ke semua unit pada

  20

  Langkah 5 :

  Setiap unit keluaran menghitung masukan bobot dengan rumus: p k k j jk + y _ in = w z w

  ∑ j = 1

  dan gunakan fungsi aktivasi yang ditentukan untuk menghitung sinyal keluaran dengan rumus:

  

y = f ( y _ in ) ; f ( y _ in ) = fungsi aktivasi

k k k Penghitungan kesalahan propagasi mundur (Backpropagation of error): Langkah 6 :

  Setiap unit keluaran membandingkan hasil pelatihan dengan target, kemudian menghitung kesalahan yang terjadi (selisih hasil pelatihan dengan target). Hitung faktor unit keluaran berdasarkan kesalahan tersebut dengan rumus:

  δ = ( ty ) ( f ' y _ in ) k k k k Hitung perbaikan bobot (digunakan untuk perubahan bobot(W jk ) pada proses selanjutnya),

  Δ = w αδ z jk k j

  Hitung perbaikan bias (digunakan untuk perubahan bias(W 0k ) pada proses selanjutnya), Δ w = αδ k k dan mengirimkan delta ke unit-unit pada lapisan dibawahnya.

  21

  Langkah 7 :

  Setiap unit tersembunyi menghitung masukan delta (dari unit-unit pada lapisan diatasnya), dengan rumus : m δ _ in = δ w j k jk

  ∑ k 1 =

  Kalikan delta dengan turunan fungsi aktivasi untuk menghitung kesalahannya, dengan rumus :

  =

  δ δ _ in f ' z _ in j j ( j ) Hitung perbaikan bobot (digunakan untuk perubahan bobot(V ij ) pada proses selanjutnya),

  Δ = αδ v x ij j i

  Hitung perbaikan bias (digunakan untuk perubahan bias(V ) pada proses

  0j

  selanjutnya),

  Δ = αδ v j j

  Perubahan bobot dan bias : Langkah 8 :

  Setiap unit keluaran mmemperbarui nilai bias dan bobot, dengan rumus :

  • = Δ

  w ( baru ) w ( lama ) w jk jk ij

  Setiap unit tersembunyi memperbarui niali bobot dan bias, dengan rumus :

  = Δ + v ( baru ) v ( lama ) ij ij ij v

  Langkah 9 :

  

BAB III

ANALISA DAN PERANCANGAN SISTEM A. GAMBARAN UMUM SISTEM Secara umum, program yang dibuat digunakan untuk mengenali gambar-

  gambar huruf jawa carakan (nglegeno) dan sandangan. Pengenalan gambar huruf jawa tersebut menggunakan algoritma jaringan syaraf tiruan backpropagation.

  Masukan yang diperlukan adalah gambar bitmap (*.bmp) atau menggambar menggunakan mouse. Sebelum diolah menggunakan jaringan backpropagation, masukan mengalami proses preprocessing. Dari sistem tersebut akan menghasilkan keluaran berupa nama huruf yang teridentifikasi dari gambar masukan tersebut.

  (a) (b)

Gambar 3.1 (a)Gambaran umum sistem (b) Contoh proses dengan data

  Pengguna dimungkinkan untuk meng-update data pelatihan backpropagation yang terdiri dari penambahan, pengubahan, dan penghapusan data.

B. ANALISA SISTEM

  Sistem pengenalan pola huruf jawa ini merupakan suatu alat bantu yang digunakan untuk mengidentifikasi masukan huruf jawa yang diberikan. Masukan terdiri dari dua macam yaitu masukan melalui mouse dan masukan berupa gambar yang diambil dari suatu file. Setiap masukan harus diubah terlebih dahulu ke bentuk biner (nilai setiap piksel dari masukan tersebut 0 atau 1) dan dihilangkan latarbelakang putih yang berada di luar objek lalu dinyatakan dalam ukuran 40x40. Citra masukan diubah ke ukuran 40x40 dimaksudkan agar ukuran file tidak terlalu besar sekitar 380 byte dan objek huruf jawa yang diperoleh tetap memiliki karakteristik dari huruf-huruf jawa atau tidak terlalu banyak kehilangan informasi piksel-piksel dari huruf tersebut. Selanjutnya masukan disegmentasi 8 x 8 agar diperoleh bagian-bagian dengan ukuran 5x5 dan objek huruf jawa terbagi dengan baik. Dari proses segmentasi diperoleh 64 region dan jumlahkan piksel yang aktif (berwarna hitam) untuk setiap regionnya. 64 region ini akan digunakan sebagai input jaringan backpropagation. Sebelumnya 64 data tersebut harus diubah kedalam interval [0,1]. Karena fungsi aktivasi yang digunakan adalah fungsi sigmoid dan fungsi sigmoid bersifat asimtotik atau tidak akan pernah mencapai nilai 0 dan 1 maka data tersebut dinormalisasikan terlebih dahulu ke interval [0.1,0.9] menggunakan rumus berikut (Siang,2005):

  . 8 ( xa )

  • x ' .

  1 = ba

  dimana: a = minimum data b = maksimum data Sistem ini akan menggunakan algoritma jaringan syaraf tiruan standard

  

backpropagation dengan 1 buah lapisan tersembunyi. Untuk mengenali huruf

jawa yang dimasukkan, sistem melakukan dua proses yaitu training dan testing.

  Pada proses training, diciptakan suatu bobot dan bias pada jaringan dimana bobot dan bias tersebut digunakan untuk mengenali pola masukan. Proses ini juga membutuhkan beberapa huruf jawa untuk dijadikan template dan disimpan ke dalam database. Nilai bobot dan bias tersebut akan berubah secara terus-menerus hingga jaringan tersebut mampu mengenali template atau data pelatihan pada kondisi jumlah maksimum iterasi (epoch) atau batas kesalahan / MSE (Mean

  

Square Error ) terpenuhi. Nilai bobot dan bias yang dihasilkan akan disimpan ke

  suatu file sehingga bobot dan bias tersebut dapat digunakan sewaktu-waktu pada saat proses testing. Hal ini bertujuan agar proses training tidak selalu dilakukan karena proses training memerlukan waktu yang cukup lama. Pada proses testing, data masukan huruf jawa dimasukkan ke lapisan masukan jaringan

  

backpropagation dan diolah oleh jaringan tersebut menggunakan bobot dan bias.

  Bobot dan bias yang digunakan adalah hasil proses training yang terakhir atau diambil dari file yang menyimpan bobot dan bias tersebut. Dari proses ini akan dihasilkan suatu keluaran dimana keluaran tersebut akan dibandingkan dengan target data pelatihan, jika tidak ada yang sesuai maka data masukan tersebut tidak dikenali tetapi jika ada yang sesuai maka data masukan tersebut dikenali sebagai huruf yang memiliki target tersebut dan dihasilkan suatu nilai error / kesalahannya.

  1. Perancangan Proses

  a). Diagram Aliran Data (DAD) 1). DAD level 0 / Diagram Konteks

Gambar 3.2 DAD level 0 / Diagram Konteks

  Sistem pengenalan pola huruf jawa membutuhkan input berupa gambar data pelatihan, nama huruf, target dan gambar input.

  Target merupakan suatu keluaran jaringan backpropagation yang ingin dicapai dari gambar template yang berupa bilangan biner 5 bit contoh 00100. Data gambar data pelatihan, nama huruf dan target nantinya akan disimpan dalam database sebagai template. Gambar