PENGENALAN KARAKTER BERBASIS JARINGAN SYARAF TIRUAN TUGAS AKHIR - Pengenalan karakter berbasis jaringan syaraf tiruan = Character recognition based on neural network - USD Repository

  PENGENALAN KARAKTER BERBASIS JARINGAN SYARAF TIRUAN TUGAS AKHIR Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro Oleh: Nama : Yosef Morris NIM : 015114006 PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS SANATA DHARMA YOGYAKARTA 2007

  CHARACTER RECOGNITION BASED ON ARTIFICIAL NEURAL NETWORK FINAL PROJECT Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Teknik Degree In Electrical Engineering Study Program By: Name : Yosef Morris Student Number: 015114006 ELECTRICAL ENGINEERING STUDY PROGRAM DEPARTMENT OF ELECTRICAL ENGINEERING FACULTY OF ENGINEERING SANATA DHARMA UNIVERSITY YOGYAKARTA 2007

HALAMAN PERNYATAAN KEASLIAN KARYA

  “Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.”

  Yogyakarta, Juli 2007 Yosef Morris

  HALAMAN PERSEMBAHAN Kupersembahkan karya tulis ini kepada : Tuhan Yesus Kristu s, Bapak dan Ibu Tercinta, Kedua saudaraku Connery dan Hillary, Titik dan Cindy, Almamaterku Teknik Elektro USD

HALAMAN MOTO

  

“Barangsiapa  setia pada perkara‐perkara kecil, ia 

setia  juga pada perkara‐perkara besar. Dan 

barangsiapa  tidak benar dalam perkara‐perkara 

kecil,  ia tidak benar juga dalam perkara‐perkara 

besar”.  

  

INTISARI

  Tujuan tugas akhir ini adalah membuat program simulasi pengenalan karakter menggunakan teknologi jaringan syaraf tiruan. Masukan untuk program adalah file dengan format windows bitmap dan keluarannya adalah file dengan format text.

  Arsitektur jaringan syaraf tiruan yang digunakan adalah Backpropagation. Jaringan terdiri dari tiga lapisan, yaitu lapisan input (input layer) yang terdiri dari 600 neuron, lapisan tersembunyi (hidden layer) yang terdiri dari 100 neuron dan lapisan output (output layer) yang terdiri dari satu neuron.

  Jaringan harus dilatih terlebih dahulu agar bisa mengenali pola-pola karakter yang terdapat pada data masukan. Parameter yang digunakan untuk melatih jaringan adalah target, error target, learning rate, dan maximum epoch.

  Untuk mengenali pola karakter yang terdapat pada data masukan, program akan menganalisa gambar terlebih dahulu. Langkah selanjutnya adalah memisahkan karakter-karakter yang terdapat pada data masukan dan mengubahnya menjadi matriks dengan ukuran 30 x 20. Setelah itu program akan melakukan komputasi terhadap matriks dengan data-data hasil pelatihan jaringan, sehingga didapat sebuah nilai keluaran. Nilai tersebut merupakan kode desimal dari karakter ASCII, dan program akan mengubah kode tersebut menjadi karakter ASCII. Jenis font yang digunakan adalah Arial, Courier New, danTimes New Roman. Dari tiga jenis font yang digunakan, Courier New adalah jenis font yang dapat dikenali dengan baik.

  Kata kunci: pengenalan karakter, jaringan syaraf tiruan, backpropagation

  

ABSTRACT

  This final project’s aim to make the simulation program of character recognition that uses the artificial neural network technology. The input for the program is file with the windows bitmap format and the output’s is file with the text format.

  The architecture of artificial neural network that used is Backpropagation. The network consists three layers, which is input layer that consisted by 600 neurons, hidden layer consisted by 100 neurons and output layer that consisted by one neuron.

  The network has to be trained first so that it can recognize the character patterns on input data. The parameters that are use to train the network are target, error target, learning rate, and maximum epoch. To recognize the character pattern on input data, the program will analyze the image first. The next step is separate the characters on input data and then convert it to be 30 x 20 matrix. After that, program will compute the matrix with the data’s of network training results, so that will result an output value. This value represents the decimal code of ASCII character, and program will convert the code to ASCII character. The font type that used is Arial, Courier New, and Times New Roman. From three-font type that used, Courier New is font type that can be recognized better.

  Keyword: character recognition, artificial neural network, backpropagation

KATA PENGANTAR

  Syukur dan terima kasih kepada Tuhan Yesus Kristus atas segala rahmat dan karunia-Nya sehingga tugas akhir dengan judul “Pengenalan Karakter Berbasis Jaringan Syaraf Tiruan” ini dapat diselesaikan dengan baik.

  Selama menulis tugas akhir ini, penulis menyadari bahwa ada begitu banyak pihak yang telah memberikan bantuan dengan caranya masing-masing, sehingga tugas akhir ini bisa diselesaikan. Oleh karena itu penulis ingin mengucapkan terima kasih kepada:

  1. Kedua orang tua yang tercinta atas doa, kesabaran dan dukungan baik secara moril ataupun materil.

  2. Bapak Ir. Greg. Heliarko, SJ., B.ST., MA., M.Sc, selaku dekan fakultas teknik.

  3. Bapak Damar Wijaya, S.T., M.T., selaku dosen pembimbing yang telah dengan sabar membimbing, memberi semangat dan saran yang membantu penulis dalam menyelesaikan tulisan ini.

  4. Seluruh dosen teknik elektro dan laboran yang telah banyak memberikan pengetahuan kepada penulis selama kuliah.

  5. Kedua adikku Connery dan Hillary atas dukungan dan pengertiannya.

  6. Bapak A.M. Yoesro sekeluarga atas bantuan dan dukungan yang diberikan.

  7. Thitik tercinta dan Cindy yang nakal atas kesabaran, doa dan pengertiannya serta penghiburan disaat susah.

  8. Om Aris sekeluarga atas bantuan dan dukungan yang diberikan.

  9. Teman-teman kost AdiDua: Uliz, Teguh, Coxy, Samsul, Li-Jun, Edvan, dan Tomple atas motivasi yang diberikan.

  10. Teman-teman kost Flamboyan: Funny, Anenk, Umay, Ike dan Dian atas bantuan dan kebersamaannya.

  11. Teman-teman yang sudah lulus: Leo, Koko, Nesty, Jimboy, Christ dan Frankie.

  12. Teman-teman IPKMS: Mr. Bene dan Telly.

  13. Berbagai pihak yang tidak bisa penulis sebutkan satu-persatu atas bantuan, bimbingan, kritik dan saran.

  Dengan rendah hati penulis menyadari bahwa tugas akhir ini masih jauh dari sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas akhir ini sangat diharapkan. Akhir kata, semoga tugas akhir ini dapat bermanfaat bagi semua pihak. Terima kasih.

  Yogyakarta, Juni 2007 Penulis

  

DAFTAR ISI

JUDUL .................................................................................................................... i

HALAMAN PERSETUJUAN ............................................................................ iii

HALAMAN PENGESAHAN.............................................................................. iv

HALAMAN PERNYATAAN KEASLIAN KARYA ......................................... v

HALAMAN PERSEMBAHAN .......................................................................... vi

HALAMAN MOTO ............................................................................................ vii

  

INTISARI ........................................................................................................... viii

ABSTRACT .......................................................................................................... ix

KATA PENGANTAR........................................................................................... x

DAFTAR ISI........................................................................................................ xii

DAFTAR GAMBAR........................................................................................... xv

DAFTAR TABEL ............................................................................................... xx

  BAB I 1 PENDAHULUAN.................................................................................................. 1 I.1 Judul............................................................................................................... 1 I.2 Latar Belakang............................................................................................... 1 I.3 Batasan Masalah dan Spesifikasi Perangkat Lunak....................................... 4 I.4 Tujuan Penelitian ........................................................................................... 5 I.5 Manfaat Penelitian ......................................................................................... 5 I.6 Sistematika Penulisan .................................................................................... 6

  BAB II 7 DASAR TEORI ..................................................................................................... 7 II.1 Jaringan Syaraf Biologis............................................................................... 7 II. 2 JST............................................................................................................... 9 II.2.1 Sejarah JST.......................................................................................... 10 II.2.2 Model Neuron Pada JST...................................................................... 11 II.2.3 Fungsi Aktivasi Pada JST.................................................................... 13 II.3 Backpropagation........................................................................................ 17 II.3.1 Bias ...................................................................................................... 19 II.3.2 Parameter-Parameter Pada Backpropagation...................................... 21 II.3.3 Pelatihan Jaringan................................................................................ 23 II.4 Pengenalan Karakter.................................................................................. 43 II.4.1 Segmentasi........................................................................................... 43 II.4.2 Normalisasi Ukuran............................................................................. 47 II.4.3 Matriks Pixel ....................................................................................... 49 BAB III 52 PERANCANGAN PERANGKAT LUNAK ..................................................... 52 III.1 Perancangan JST ....................................................................................... 53 III.2 Diagram Alir Program............................................................................... 55 III.2.1 Diagram Alir Pelatihan Jaringan........................................................ 55 III.2.1.1 Diagram Alir Subrutin Analisa Gambar ..................................... 55 III.2.1.2 Diagram Alir Inisialisasi Jaringan............................................... 64 III.2.1.3 Diagram Alir Modifikasi Bobot .................................................. 65

  III.2.1.4 Diagram Alir Pengujian Jaringan................................................ 67

  III.2.1.5 Diagram Alir Penghitungan Error .............................................. 68

  III.2.2 Pengenalan Karakter .......................................................................... 68

  III.2.2.1 Diagram Alir Inisialisasi Jaringan............................................... 69

  III.2.2.2 Diagram Alir Untuk Mencari Keluaran Jaringan........................ 71

  III.3 Tampilan Program................................................................................. 72

  BAB IV 78 HASIL DAN PEMBAHASAN ........................................................................... 78 IV.1 Pengujian Tampilan program.................................................................... 78 IV.2 Menentukan Jumlah Hidden Neuron ........................................................ 82 IV.3 Pengujian Program.................................................................................... 84 IV.3.1 Pengujian Program Dengan Variasi Nilai Error target dan Nilai Learning rate

  ................................................................................................. 84

  IV.3.2 Pengujian Program Secara Keseluruhan............................................ 88

  IV.3.2.1 Pengujian Program Untuk Font Arial ........................................ 89

  IV.3.2.2 Pengujian Program Untuk Font Courier New ........................... 98

  IV.3.2.3 Pengujian Program Untuk Font Times New Roman ................. 99

  BAB V 103 KESIMPULAN DAN SARAN ......................................................................... 103 V.1 Kesimpulan .............................................................................................. 103 V.2 Saran......................................................................................................... 103 DAFTAR PUSTAKA LAMPIRAN

  

DAFTAR GAMBAR

Gambar 2. 1

  Anatomi sebuah neuron pada jaringan syaraf biologis [9] ............... 8

  

Gambar 2. 2 Blok diagram JST secara umum [4] ................................................. 9

Gambar 2. 3 Sebuah jaringan sederhana [3]........................................................ 12

Gambar 2. 4

  Grafik keluaran Threshold Function [3]......................................... 14

  

Gambar 2. 5 Grafik keluaran Symetric Hard Limit Function [5] ........................ 14

Gambar 2. 6

  Grafik keluaran sigmoid function ................................................... 15

  

Gambar 2. 7 Grafik keluaran Piecewise Linear Function [3] ............................. 16

Gambar 2. 8 Grafik keluaran Identitiy Function ................................................. 16

Gambar 2. 9

  Struktur dasar jaringan Backpropagation [16] ............................... 17

  

Gambar 2. 10 Arsitektur Backpropagation ......................................................... 18

Gambar 2. 11

  Jaringan yang ditambah bias ........................................................ 19

  

Gambar 2. 12 Arah sinyal dalam backpropagation [3] ....................................... 23

Gambar 2. 13 Arsitektur Backpropagation tanpa bias ........................................ 27

Gambar 2. 14

  Grafik hasil pelatihan pada jaringan yang tidak menggunakan bias ............................................................................................................................... 33

  Gambar

  2. 15 Arsitektur Backpropagation dengan bias ..................................... 34

  

Gambar 2. 16 Hasil pelatihan dengan menambahkan bias pada jaringan ........... 40

Gambar 2. 17 Hasil pelatihan dengan nilai learning rate=10............................. 42

Gambar

  2. 18 Hasil pelatihan dengan nilai learning rate = 70 ........................... 42

  

Gambar 2. 19 Contoh hasil pemisahan baris karakter ........................................ 44

Gambar

  2. 20 Contoh hasil segementasi ............................................................. 46

  

Gambar 2. 21 Contoh hasil pencarian garis atas dan garis bawah pada karakter 47

Gambar 2. 22 Normalisasi ukuran....................................................................... 48

Gambar

  2. 23 Matriks pixel dengan ukuran 4 x 4 [7].......................................... 49

  

Gambar 2. 24 Matriks pixel dengan ukuran 30 x 20 [7]...................................... 50

Gambar 2. 25 Hubungan antara matriks pixel dengan JST [20] ......................... 51

Gambar 3. 1 Diagram blok pelatihan jaringan.....................................................52

Gambar 3. 2 Diagram blok pengenalan karakter................................................. 52

Gambar

  3. 3 Diagram blok perancangan JST...................................................... 53

  Gambar 3. 4 Grafik hubungan antara jumlah hidden neuron , akurasi dan waktu

  pelatihan [2] .......................................................................................................... 54

  

Gambar 3. 5 Rancangan Jaringan ........................................................................ 55

Gambar 3. 6 Diagram alir pelatihan jaringan ...................................................... 56

Gambar

  3. 7 Diagram alir pemisahan baris karakter ........................................... 57

  

Gambar 3. 8 Diagram alir segmentasi ................................................................. 58

Gambar

  3. 9 Diagram alir segmentasi (sambungan) ........................................... 59

  

Gambar 3. 10 Diagram alir Cari Atas.................................................................. 60

Gambar 3. 11 Diagram alir Cari Bawah .............................................................. 61

Gambar

  3. 12 Diagram alir Normalisasi Ukuran................................................. 61

  

Gambar 3. 13 Contoh hasil proses sampling pixel .............................................. 62

Gambar

  3. 14 Diagram alir untuk membuat matriks pixel .................................. 63

  

Gambar 3. 15 Diagram alir Inisialisasi Jaringan ................................................. 64

Gambar 3. 16 Diagram alir untuk memodifikasi bobot jaringan......................... 65

Gambar

  3. 17 (sambungan) Diagram alir untuk memodifikasi bobot jaringan... 66

  

Gambar 3. 18 Diagram alir pengujian jaringan ................................................... 67

Gambar 3. 19 Diagram alir penghitungan error.................................................. 68

Gambar

  3. 20 Diagram alir pengenalan karakter................................................. 69

  Gambar 3. 21 Diagram alir Inisialisasi Jaringan dengan nilai bobot didapat dari

file jaringan ........................................................................................................... 70

Gambar 3. 22 Diagram alir untuk mencari keluaran jaringan ............................. 71

Gambar 3. 23 Hubungan antara user dengan komputer ...................................... 72

Gambar

  3. 24 Rancangan tampilan utama program ............................................ 73

  

Gambar 3. 25 Tab Training ................................................................................. 76

Gambar 3. 26 Tab Training Results .................................................................... 76

Gambar 3. 27 Rancangan Form About ................................................................ 77

Gambar 4. 1 Tampilan awal program saat pertama kali dijalankan .................... 78

Gambar 4. 2

  Tampilan program jika Tab Training dipilih.................................. 79

  

Gambar 4. 3 Tampilan form About...................................................................... 79

Gambar 4. 4

  Tampilan form help ........................................................................ 80

  

Gambar 4. 5 Kotak dialog yang ditampilkan jika Button Load Image atau Button

Load Trainer ditekan ............................................................................................ 81

Gambar 4. 6

  Data pelatihan untuk menguji jaringan dengan jumlah hidden

  

neuron 100 ............................................................................................................ 83

Gambar 4. 7

  Hasil pelatihan jaringan dengan jumlah hidden neuron 100 .......... 83

  

Gambar 4. 8 Data pelatihan untuk font Arial...................................................... 84

Gambar 4. 9 Data pelatihan untuk font Courier New ......................................... 85

Gambar 4. 10

  Data pelatihan untuk font Times New Roman............................. 85

  

Gambar 4. 11 Grafik hasil pelatihan dengan variasi nilai error target ............... 86

Gambar 4. 12 Grafik hasil pelatihan dengan variasi nilai learning rate ............. 87

Gambar 4. 13

  Data pelatihan font Arial............................................................... 88

  

Gambar 4. 14 Data pelatihan font Courier New .................................................. 88

Gambar 4. 15 Data pelatihan font Times New Roman........................................ 89

Gambar 4. 16 Hasil pelatihan untuk font Arial setelah peltihan berjalan selama 2

  jam 5 menit 56 detik.............................................................................................. 89

  Gambar 4. 17

  Hasil pelatihan untuk font Arial setelah pelatihan berjalan selama 3 jam 12 menit 30 detik......................................................................................... 90

  

Gambar 4. 18 Data pelatihan dengan huruf kapital untuk font Arial ................. 90

Gambar 4. 19 Data pelatihan dengan huruf kecil untuk font Arial..................... 91

Gambar 4. 20 Hasil pelatihan setelah proses berjalan selama 1 jam 18 menit 38

  detik....................................................................................................................... 91

  Gambar 4. 21 Hasil pelatihan setelah proses berjalan selama 1 jam 48 menit 8

  detik....................................................................................................................... 92

  

Gambar 4. 22 Karakter yang memiliki bentuk yang sama .................................. 92

Gambar 4. 23 Data pelatihan yang tidak terdiri dari karakter-karakter yang

  memiliki bentuk yang sama .................................................................................. 93

  Gambar 4. 24 Hasil pelatihan untuk data masukan yang tidak terdiri dari

  karakter-karakter yang memiliki bentuk yang sama ............................................. 93

  Gambar 4. 25 Data pelatihan untuk font Arial tanpa karakter “l” dan karakter

  “_” ......................................................................................................................... 95

  Gambar 4. 26 Hasil pelatihan jaringan menggunakan data pelatihan yang tidak

  terdiri dari karakter “l” dan karakter “_”............................................................... 95

  Gambar 4. 27

  Data pelatihan untuk font Arial yang digunakan untuk pengujian program ................................................................................................................. 96

  

Gambar 4. 28 Data masukan untuk font Arial ..................................................... 97

Gambar 4. 29 Hasil pengujian program untuk font Arial .................................... 97

Gambar 4. 30 Hasil pelatihan jaringan untuk font Courier New ......................... 98

Gambar 4. 31

  Data masukan untuk font Courier New ........................................ 98

  

Gambar 4. 32 Hasil pengujian program untuk font Courier New ....................... 99

Gambar 4. 33 Hasil pelatihan jaringan untuk font Times New Roman............. 100

Gambar 4. 34 Data masukan untuk font Times New Roman ............................ 100

Gambar 4. 35 Hasil pengujian program untuk font Times New Roman ........... 101

Gambar 4. 36

  Data masukan untuk font Times New Roman dengan penambahan spasi diantara setiap karakter .............................................................................. 102

  Gambar 4. 37

  Hasil pengujian program untuk font Times New Roman dengan penambahan spasi di antara karakter pada data masukan ................................... 102

  

DAFTAR TABEL

Tabel 2. 1 Tabel kebenaran logika XOR .............................................................. 27

Tabel 2. 2 Inisialisasi nilai bobot antara input layer dan hidden layer ................ 28

Tabel 2. 3 Inisialisasi nilai bobot antara input layer dan hidden layer ................ 28

Tabel 2. 4 Nilai bobot antara input layer dan hidden layer hasil pelatihan dengan

  pola pertama (x1 = 1, x2 = 1, dan d = 0)............................................................... 31

  

Tabel 2. 5 Nilai bobot antara hidden layer dan ouput layer hasil pelatihan dengan

  pola pertama (x1 = 1, x2 = 1, dan d = 0)............................................................... 31

  Tabel 2. 6 Bobot antara input layer dan hidden layer hasil pelatihan pada epoch

  pertama.................................................................................................................. 32

  Tabel 2. 7

  Nilai bobot antara hidden layer dan output layer hasil pelatihan pada

  

epoch pertama ....................................................................................................... 32

Tabel 2. 8

  Hasil pengujian jaringan menggunakan bobot pada epoch pertama ... 32

  

Tabel 2. 9 Hasil pengujian jaringan menggunakan bobot pada epoch ke-11.432 34

Tabel 2. 10 Inisialisasi nilai bobot antara input layer dan hidden layer............... 35

Tabel 2. 11

  Inisialisasi nilai bobot antara input layer dan hidden layer............... 35

  

Tabel 2. 12 Nilai bobot antara input layer dan hidden layer hasil pelatihan dengan

  pola pertama (x1 = 1, x2 = 1, dan d = 0)............................................................... 38

  Tabel 2. 13 Nilai bobot antara hidden layer dan ouput layer hasil pelatihan

  dengan pola pertama (x1 = 1, x2 = 1, dan d = 0) .................................................. 38

  Tabel 2. 14

  Nilai bobot antara input layer dan hidden layer hasil pelatihan dengan pola pertama (x1 = 1, x2 = 1, dan d = 0)............................................................... 39

  Tabel 2. 15 Nilai bobot antara hidden layer dan ouput layer hasil pelatihan

  dengan pola pertama (x1 = 1, x2 = 1, dan d = 0) .................................................. 39

  Tabel 2. 16

  Hasil pengujian jaringan menggunakan bobot pada epoch pertama . 39

  

Tabel 2. 17 Hasil pengujian jaringan menggunakan bobot pada epoch ke-6.546 41

Tabel 4. 1 Hasil pengujian program untuk variasi nilai error target ................... 85

Tabel 4. 2 Hasil pengujian program untuk variasi nilai learning rate ................. 86

Tabel 4. 3 Hasil pengujian program dengan kombinasi karakter dengan bentuk

  yang sama.............................................................................................................. 94

BAB I PENDAHULUAN I.1 Judul Pengenalan Karakter Berbasis Jaringan Syaraf Tiruan (Character Recognition Based on Artificial Neural Networks ). I.2 Latar Belakang Sering dijumpai begitu banyak karakter-karakter ASCII (American

  ) Standards Code for Information Interchange yang disimpan di dalam

  komputer menggunakan format file gambar, misal hasil scanner dan hasil

  ®

  foto. File gambar yang terdapat pada sistem operasi Windows , biasanya disimpan menggunakan format Windows Bitmap (.bmp), Joint Photographic

  Experts Group (.JPEG), Graphics Interchange Format (.GIF) dan lain-lain [1], [2].

  Karakter-karakter ASCII yang disimpan menggunakan format file gambar, tidak bisa langsung diolah menggunakan teks editor. Hal ini disebabkan oleh perbedaan format file teks dengan format file gambar. File yang bisa diolah menggunakan teks editor adalah file yang menggunakan

  ®

  format teks. Pada sistem operasi Windows , file teks disimpan menggunakan format word document (.doc), rich text format (.rtf) dan text (.txt).

  Jika ingin mengolah karakter-karakter ASCII yang terdapat pada file gambar menggunakan teks editor, karakter-karakter tersebut harus diketik lagi. Hal ini tentu saja tidak praktis, karena membuang banyak waktu dan tenaga. Maka dari itu, dibutuhkan perangkat lunak yang bisa mengkonversi karakter-karakter ASCII yang terdapat pada file gambar, menjadi karakter- karakter ASCII yang bisa diolah menggunakan teks editor.

  Agar karakter ASCII yang terdapat pada file gambar bisa dikonversi, pola-pola karakter harus dikenali terlebih dahulu. Untuk mengenali pola- pola karakter yang ada pada file gambar, dibutuhkan metode ataupun teknologi yang tepat untuk melakukan fungsi tersebut. Ada beberapa teknologi dan metode yang bisa melakukan proses pengenalan pola (pattern

  

recogniton ), antara lain metode Statistik, metode Sintaktik dan teknologi

  Jaringan Syaraf Tiruan (JST). Metode Statistik adalah metode yang membandingkan data masukan dengan sekumpulan data yang ada, kemudian keluarannya adalah data yang memiliki selisih terkecil dengan data masukannya. Metode Sintaktik adalah metode yang mengenali pola dengan cara membandingkan struktur pola masukan, dengan struktur pola yang sudah ada. Contoh penerapan Metode Sintaktik adalah untuk mengecek tatabahasa (grammar) formal, karena tatabahasa formal memiliki aturan dan standar yang baku. JST adalah teknologi yang dikembangkan dengan mengambil prinsip dan cara kerja jaringan syaraf biologis. Proses pengenalan pola, dilakukan dengan cara mengalikan dan menjumlahkan sinyal masukan dengan bobot-bobot jaringan sehingga terbentuk sebuah

  Jaringan syaraf tiruan membutuhkan proses pelatihan agar bisa mengenali pola-pola masukan [3], [4], [5].

  Dari semua metode atau teknologi yang disebutkan di atas, yang sering digunakan pada proses pengenalan pola, khususnya pengenalan karakter adalah JST. Teknologi ini tergolong mudah karena tidak membutuhkan perhitungan-perhitungan statistik yang rumit. Selain itu, jaringan yang dibuat bisa dilatih untuk mengenali pola-pola agar sesuai dengan target yang diharapkan. Pelatihan jaringan adalah salah satu kelebihan JST dibandingkan dengan teknologi yang lain.

  Pengenalan karakter menggunakan JST pernah dilakukan oleh Shashank Araokar, seorang mahasiswa Jurusan Elektronik dan Telekomunikasi Universitas Mumbai India. Shashank Araokar membuat sebuah perangkat lunak yang bisa mengenali pola-pola karakter yang terdapat pada file gambar yang memiliki format bitmap. Aplikasi yang dibuat hanya bisa mengenali satu karakter saja. Hasil yang didapat tidak berupa karakter-karakter ASCII, tetapi hanya menunjukkan berapa persen karakter yang menjadi masukannya bisa dikenali sebagai karakter ASCII [6], [7].

  Penulis akan melakukan pengembangan pada aplikasi yang telah dibuat oleh Shashank Araokar. Aplikasi yang dirancang mampu mengenali lebih dari satu karakter dalam sebuah file yang menjadi masukan. Parameter- parameter yang dibutuhkan untuk pelatihan jaringan juga dapat diatur oleh

  

user , sehingga user bisa melihat pengaruh parameter-parameter yang disimpan ke dalam sebuah file dengan format text (txt). Dengan adanya perangkat lunak ini, diharapkan bisa membantu orang-orang yang ingin mengolah teks yang disimpan menggunakan format file gambar.

I.3 Batasan Masalah dan Spesifikasi Perangkat Lunak

  Pada pelaksanaan dan penyusunan karya ilmiah ini akan dibatasi oleh beberapa hal, yaitu

  File

  1. masukan untuk sistem terdiri dari karakter ASCII yang terdapat pada keyboard, kecuali karakter petik ganda (“) dan karakter pipe ( | ).

  2. File masukan tidak hanya terdiri dari karakter-karakter disjoint (karakter yang tidak menyambung, seperti i, =, !, ?, :, dan ;).

  3. Jenis font yang digunakan adalah Arial, Courier New, dan Times New

  Roman dengan ukuran minimal adalah 36 pt.

  4. Font style yang digunakan adalah regular (normal) dan tidak menggunakan font effect subscript dan superscript.

  5. Tidak bisa digunakan pada karakter-karakter yang bertindihan (ortogonal) dan karakter yang bersentuhan (touch).

  File

  6. masukan terdiri dari dua warna, yaitu warna hitam dan warna putih. Karakter berwarna hitam dan background berwarna putih.

  7. Hanya bisa digunakan untuk mengenali karakter yang memiliki bentuk yang sama persis dengan karakter yang dilatih.

  8. Jumlah iterasi (epoch) maksimum yang digunakan untuk proses pelatihan jaringan adalah 100.000.

  Sedangkan spesifikasi perangkat lunak yang akan dibuat adalah sebagai berikut

  1. Format file gambar yang dijadikan masukan untuk sistem adalah

  windows bitmap (.bmp).

  2. Format file yang digunakan untuk menyimpan hasil adalah text (.txt) dan menggunakan huruf Microsoft Sans Serif dengan ukuran 12 pt (ukuran font yang sering digunakan adalah 12 pt).

  3. Arsitektur jaringan yang digunakan adalah Backpropagation.

  4. Algoritma pelatihan yang digunakan adalah algoritma Backpropagation .

  5. Bahasa pemrograman yang digunakan adalah Visual C#.

  I.4 Tujuan Penelitian

  Tujuan penelitian ini adalah untuk membuat sebuah perangkat lunak menggunakan JST untuk mengenali pola-pola karakter yang terdapat pada

  file gambar yang memiliki format windows bitmap (.bmp).

  I.5 Manfaat Penelitian

  Hasil karya ilmiah ini bermanfaat bagi mahasiswa yang ingin mempelajari JST dan proses pelatihan yang menggunakan algoritma

  Backpropagation . Selain itu, hasil penelitian ini juga akan bermanfaat bagi

  orang yang ingin mengembangkan dan mengaplikasikan JST ke tahap yang lebih tinggi.

I.6 Sistematika Penulisan

  Sistematika penulisan yang digunakan dalam karya ilmiah ini adalah sebagai berikut:

  BAB I PENDAHULUAN Bab ini berisi judul, latar belakang penulisan, batasan masalah dan spesifikasi perangkat lunak, tujuan penelitian, manfaat penelitian dan sistematika penulisan.

  BAB II DASAR TEORI Bab ini berisi teori JST, teori Backpropagation dan algoritma pelatihan jaringan serta teori pengenalan karakter. BAB III PERANCANGAN PERANGKAT LUNAK Bab ini berisi perancangan tampilan program, flow chart program, cara kerja program, dan cara-cara menentukan parameter- parameter yang digunakan.

  BAB IV HASIL DAN PEMBAHASAN Bab ini berisi pembahasan data yang didapat. BAB V PENUTUP Bab ini berisi kesimpulan akhir dan saran-saran yang berguna untuk mengatasi segala kekurangan dalam karya ilmiah ini yang berguna untuk pengembangan selanjutnya.

BAB II DASAR TEORI Kecerdasan Buatan (Artificial Intelligence), merupakan bagian dari

  teknologi komputer yang dikembangkan untuk membuat perangkat lunak (software) dan perangkat keras (hardware) yang bisa bekerja seperti otak manusia [8]. Salah satu teknologi yang mendukung sistem kecerdasan buatan adalah JST, yang dibuat dengan mengambil prinsip dan cara kerja jaringan syaraf biologis.

  JST adalah sebuah teknologi yang berwujud algoritma dan perhitungan matematis, yang bisa diimplementasikan ke dalam perangkat keras ataupun perangkat lunak.

II.1 Jaringan Syaraf Biologis

  Otak manusia memiliki struktur yang sangat kompleks dan memiliki

  12

  18

  kemampuan yang luar biasa. Manusia memiliki 10 neuron dan 6 x 10 sinapsis,

  3

  4 sedangkan dalam sebuah neuron diperkirakan ada 10 sampai 10 sinapsis [3], [9].

  Neuron adalah suatu komponen dalam jaringan syaraf yang berfungsi untuk mengolah sinyal-sinyal yang diterima, sedangkan sinapsis adalah bagian yang menangani proses interaksi antara neuron satu dengan neuron yang lain [10]. Dengan jumlah yang begitu banyak, otak manusia mampu mengenali pola, melakukan perhitungan, dan mengontrol organ-organ tubuh yang lain dengan kecepatan yang tinggi.

  Setiap neuron pada jaringan syaraf biologis bekerja karena ada pengaruh dari neuron lain. Namun ada neuron yang bekerja bukan karena pengaruh neuron lain, neuron tersebut adalah input neuron (reseptor). Input neuron bekerja karena ada pengaruh rangsangan dari luar (suhu, tekanan, gesekan), kemudian keluaran neuron ini yang membuat neuron-neuron lain bekerja .

  Neuron memiliki 3 bagian penting, yaitu dendrit, soma dan axon. Dendrit berfungsi untuk menerima sinyal-sinyal yang dikirim oleh neuron lain. Sinyal- sinyal tersebut dimodifikasi (dikuatkan atau dilemahkan) oleh suatu bagian yang disebut sinapsis. Kemudian sinyal-sinyal tersebut dijumlahkan oleh soma.

  Penjumlahan yang dilakukan oleh soma berfungsi menguatkan sinyal-sinyal yang diterima. Jika sinyal-sinyal yang telah dijumlahkan oleh soma cukup kuat dan telah melebihi batas ambang (threshold), maka sinyal tersebut akan diteruskan ke neuron-neuron lain melalui axon [9 - 11]. Anatomi sebuah neuron pada jaringan syaraf biologis ditunjukkan pada Gambar 2.1.

  

Gambar 2. 1Anatomi sebuah neuron pada jaringan syaraf biologis [9]

  Karena jumlah neuron dalam jaringan syaraf biologis sangat banyak, maka jaringan syaraf biologis memiliki sifat fault tolerance dalam dua hal [9], [12]. Pertama, masih bisa mengenali pola-pola masukan yang sedikit berbeda dengan pola-pola yang diterima sebelumnya. Kedua, masih mampu bekerja dengan baik walaupun ada sebuah ataupun sekelompok neuron mengalami gangguan.

II. 2 JST

  Pada dasarnya, JST terdiri dari elemen-elemen sederhana yang bekerja secara paralel, yang prinsip dan cara kerjanya sama dengan jaringan syaraf biologis [4]. Tujuan pembuatan teknologi ini adalah untuk mengatasi masalah- masalah komputasi yang sulit jika dikerjakan dengan perhitungan biasa.

  Secara garis besar, diagram blok JST ditunjukkan pada Gambar 2.2. Nilai

  

error pada diagram blok tersebut, digunakan untuk mengatur nilai-nilai bobot

  pada sinapsis agar keluaran jaringan sama dengan nilai target. Bobot adalah suatu nilai yang menunjukkan kemampuan sinapsis dalam menguatkan sinyal yang melewatinya. Semakin besar nilai bobot sebuah sinapsis, semakin besar pula amplitudo sinyal yang dihasilkan. Pengaturan nilai-nilai bobot pada sinapsis dilakukan pada proses pelatihan (training) yang akan dibahas pada bagian Pelatihan Jaringan.

  

Gambar 2. 2 Blok diagram JST secara umum [4]

II.2.1 Sejarah JST Era perkembangan JST dimulai pada tahun 1943 oleh McCulloch-Pitts.

  Warren S. McCulloch adalah seorang ahli psikologi syaraf yang telah 20 tahun berusaha mengimplementsikan proses-proses yang terjadi di dalam jaringan syaraf manusia ke dalam sebuah sistem perhitungan logika. Kemudian pada tahun 1942, Walter Pitts, seorang matematikawan, bergabung dengan penelitian yang dilakukan oleh McCulloch. McCulloch dan Pitts mendefinisikan perhitungan- perhitungan logika yang terjadi dalam jaringan syaraf manusia, dan mengimplementasikan menggunakan operasi-operasi logika untuk melakukan fungsi logika sederhana. Fungsi aktivasi yang digunakan adalah Threshold

  

Function [9], [10], [12], [13]. Threshold Function akan dibahas pada bagian

  Fungsi Aktivasi Perubahan besar selanjutnya dalam sejarah JST terjadi pada tahun 1949, dengan diterbitkan sebuah buku yang berjudul The Organization of Behaviour.

  Penulis buku tersebut adalah Donald Hebb, seorang ahli psikologi dari Universitas McGill. Di dalam buku tersebut, Hebb menuliskan konsep pelatihan untuk merubah bobot sinapsis pada jaringan. Hebb adalah orang yang pertama kali mengemukakan ide pelatihan jaringan. Hebb juga secara rinci menyebutkan bahwa jaringan di dalam otak terus menerus melakukan perubahan pada sinapsis setiap kali mempelajari sesuatu yang baru [10], [13] .

  Pada tahun 1958, Frank Rossenblatt dari Cornell Aeronautical Laboratory, memperkenalkan dan mulai mengembangkan jaringan yang disebut Perceptron.

  

Perceptron yang dikembangkan oleh Rossenblatt merupakan perpaduan antara model McCulloch-Pitts dan model Hebb. Perceptron adalah suatu arsitektur jaringan yang hanya terdiri dari input layer dan output layer, tetapi nilai-nilai bobot diubah melalui proses pelatihan jaringan, seperti yang dikemukakan oleh Hebb [9], [10], [13].

  Pada tahun 1960, Widrow dan Hoff mengembangkan pelatihan perceptron yang ditemukan oleh Rossenblatt. Mereka memperkenalkan aturan pelatihan jaringan yang lebih dikenal dengan aturan Delta atau Aturan Kuadrat Rata-Rata Terkecil [9], [12]. Aturan ini akan mengubah bobot pada jaringan perceptron apabila keluaran yang dihasilkan tidak sesuai dengan target yang diinginkan berdasarkan nilai selisih yang diperoleh antara masukan dan target [4].

  Pada tahun 1986, Rumelhart mengembangkan perceptron menjadi

  

Backpropagation. Backpropagation adalah suatu arsitektur jaringan yang terdiri

  dari lapisan-lapisan perceptron sehingga sering juga disebut sebagai Multilayer

  

Perceptron. Teknologi perceptron yang dikembangkan oleh McCulloch, Pitts,

  Rossenbalt, Widrow dan Hoff hanya memiliki satu layer (single layer). Teknologi yang ditemukan oleh Rumelhart memungkinkan jaringan diproses melalui beberapa layer, yang mampu memecahkan persoalan yang tidak bisa diselesaikan dengan satu layer [9].