• Tidak ada hasil yang ditemukan

PERLUASAN METODE FEATURE POINT EXTRACTION UNTUK PENGENALAN HURUF JEPANG HIRAGANA SKRIPSI

N/A
N/A
Protected

Academic year: 2019

Membagikan "PERLUASAN METODE FEATURE POINT EXTRACTION UNTUK PENGENALAN HURUF JEPANG HIRAGANA SKRIPSI"

Copied!
111
0
0

Teks penuh

(1)

PERLUASAN METODE

FEATURE POINT

EXTRACTION

UNTUK PENGENALAN

HURUF JEPANG

HIRAGANA

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Sains

Program Studi Ilmu Komputer

Oleh:

Antonius Willy Setiawan

NIM: 043124003

PROGRAM STUDI ILMU KOMPUTER JURUSAN MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA

(2)

METHOD FOR JAPANESE

HIRAGANA

LETTER

RECOGNITION

A THESIS

Presented as Partial Fulfillment of the Requirements to Obtain the Sarjana Sains Degree

in Computer Science Study Program

By:

Antonius Willy Setiawan

ID: 043124003

COMPUTER SCIENCE STUDY PROGRAM DEPARTMENT OF MATHEMATIC FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY YOGYAKARTA

(3)
(4)
(5)
(6)

vi Kupersembahkan skripsi ini untuk:

• Tuhan Yesus Kristus, Bunda Maria, dan Santo Yusuf, serta Santo

Antonius dan Santo Aloysius di Surga atas segala rahmat, kasih,

perlindungan, dan bimbingan-Nya.

• Papa, Mama, dan Ko Ai atas kasih, dukungan, dan doa.

• Almamaterku Universitas Sanata Dharma, khususnya Ilmu Komputer

(7)

vii

HALAMAN MOTTO

శ㒶⍫

ߎ߁޿ࠎ߿

ߩᅤ

ߏߣ

ߒޕ

(Time is running like an arrow.)

ࠊߚߒ

ߪ૗

ߥࠎ

ߩߚ߼ߦ↢

޿

߈ߡ޿ࠆߩ㧫

(What am I still living for?)

޿

߈ߡ޿ࠆ㒢

߆߉

ࠅޔ⧰

ߊࠆ

ߒ޿ߎߣ߇޽ࠆޕ

(People will always face problem as long as they live.)

߭ߣ

ߩᝄ

߰

ࠅ⷗

ߺ

ߡᚒ

ࠊࠇ

߇ᝄ

߰

ࠅ⋥

ߥ߅

ߖޕ

(The wise one always fixes his/her own mistake.)

߭ߣ

ߪㆊ෰

߆ߎ

ߦ↢

޿

߈ࠆ߽ߩߦ޽ࠄߕޔ੹

޿߹

ߢ߈ࠆߎߣࠍ

߿ࠇ߫޿޿ߩߢߔޕ

(8)
(9)

ix

ABSTRAK

PERLUASAN METODE FEATURE POINT EXTRACTION

UNTUK PENGENALAN HURUF JEPANG HIRAGANA

Bagi para penggemar kebudayaan Jepang, huruf Hiragana merupakan huruf dasar di Jepang yang digunakan untuk menuliskan kata-kata Jepang asli, dimana salah satu kesulitan yang dialami para peminat bahasa Jepang ialah mengenali tulisan huruf Jepang. Manusia mengenali objek berdasarkan ciri-ciri dan pengetahuan yang pernah diamatinya dari objek tersebut. Tujuan dari pengenalan pola adalah mengklarifikasi dan mendeskripsikan objek. Salah satu metode pengenalan pola yang relatif awal ialah Feature Point Extraction.

Dalam Feature Point Extraction, digunakan tabel hubungan ketetanggaan antarpiksel. Matriks dari karakter input dicocokkan dengan tabel untuk mendapatkan nilai tertentu, dan dicari selisihnya dengan tiap template. Karakter input digolongkan ke dalam template yang memiliki total selisih minimum.

(10)

x

THE EXTENSION OF FEATURE POINT EXTRACTION METHOD FOR JAPANESE HIRAGANA LETTER RECOGNITION

For those who are interested about Japanese cultural, Hiragana is a basic letter used to write Japanese words, which unfortunately, one of many difficulties in learning Japanese cultural is recognizing these Japanese letters. Human recognize object based on characteristics and knowledge which they have observed from that object. The purpose of pattern recognition is to clarify and to describe an object. Feature Point Extraction is one of many methods of pattern recognition, which is used earlier.

Feature Point Extraction method uses table of enumeration of possible pixel neighborhood. Matrix from the character input is matched with those in the table to gain a value, and then this value is used to count the subtraction between the input and the template. The character input is concluded as a template which has a minimum total of subtraction.

(11)

xi

KATA PENGANTAR

Puji dan syukur penulis haturkan ke hadapan Tuhan Yesus Kristus karena

atas berkat dan kasih-Nya yang tiada henti, penulis dapat menyelesaikan skripsi

yang berjudul “PERLUASAN METODE FEATURE POINT EXTRACTION UNTUK PENGENALAN HURUF JEPANG HIRAGANA” pada waktunya. Terima kasih karena Engkau selalu memberikan yang terbaik untukku.

Adapun skripsi ini ditulis untuk memenuhi salah satu syarat memperoleh

gelar Sarjana Sains pada Program Studi Ilmu Komputer, Jurusan Matematika,

Fakultas Sains dan Teknologi, Universitas Sanata Dharma Yogyakarta.

Penulis tentu tidak sendirian selama masa studi; bantuan demi bantuan

penulis terima dari berbagai pihak dalam berbagai bentuk. Oleh karena itu, pada

kesempatan ini, dengan rendah hati, penulis ingin mengucapkan rasa syukur dan

terima kasih sebesar-besarnya kepada:

1. Romo Greg selaku dekan FST, Bu Rosa selaku Kaprodi Ikom, Pak Eko

Hari selaku dosen pembimbing akademik, dan Pak Joko selaku dosen

pembimbing TA, serta Mas Tukijo dan Mbak Linda atas pelayanannya di

Sekretariat. Terima kasih atas kesempatan, perhatian, dukungan,

bimbingan, dan bantuannya kepada saya selama masa perkuliahan,

khususnya masa-masa skripsi.

2. Papa, Mama, Ko Ai, dan Cie Kristin yang tak henti-hentinya memberikan

doa, dukungan moral dan materi, serta Lessie dan anjing-anjingku lainnya

(12)

3. Para kerabat: Ku Khing sekeluarga, Ik Liang, Ik Gwat sekeluarga, dan Ku Nga sekeluarga, yang selalu memberi bantuan dan perhatian selama studi.

4. Opa Harjoko beserta kerabat-kerabat lainnya di Surga atas jasa-jasanya.

5. Mbah Dasro sekeluarga yang bersedia memberikan tempat kos yang

murah dan nyaman, serta makanan yang enak-enak.

6. Sahabat-sahabat terbaikku di Yogya: Agung “Acenk”, Budi “Ndut”, Beny

“Bendot”, Maman “Coeman”, Henry “Ondie”, Hendra “Ganyong”, Dicky,

Jimy “Jigo”, Frans “Njoohe”, Andy “Cimeng”, Prast, Adi “Gemblung”,

Mas Agung “Sawitri”, Toak, Raymond “Emon”, Vandi, Hermez, Bayu

“Celeng”, Fery, dan teman-teman lainnya, khususnya teman-teman Tasura

52. Aku tidak akan pernah melupakan kegilaan, kebrutalan, kebersamaan,

persahabatan, petualangan, dan pengalaman yang sangat mengesankan

selama bersama kalian. Kalian telah memberikan semangat dan motivasi

sehingga aku dapat terus berkarya. Go on top yuu’…pengen ngulti neh…! 7. Terima kasih juga untuk sahabat-sahabat cewek: Nanda “Nandut”, Cie

Lian, Intan “Singo”, Mbak Ina, Kadek “Krik2”, Ayu, Bella, Wiwit, Fany,

Ratna Asien, Vera “Kero”, dan lain-lain, atas pengalaman dan

persahabatan yang mengesankan.

8. Teman-temanku di Jember, khususnya teman-teman SMUK Santo Paulus:

David “Ping-ping”, Kiki “Mashimaro”, Vena “Bokong”, Teddy “Tweety”, Eliana “Ayam”, Pak Gora “Goraemon”, dan teman-temanku lainnya

terlebih III IPA3 tahun 2003/2004; teman-teman spiritualku: Romo Agung

(13)

xiii

cucu-cucuku Ayu, Astrid, Lia, Yuke, dkk; serta EPSILON CLUB: Vico, Brahma, Petrus (sekarang sudah Frater), Santoso, Teddy “GPC”, Bayu

“Bayek”, Adi “Timbul”, Fauzan “Uyan”, Hambar, Teguh, Yones, dan

Aditya “Mbah”, atas kenangan dan persahabatannya hingga sekarang.

9. Teman-temanku dari USD: Campus Ministry: Mas Darto, Mbak Nita,

Gaudeamus Choir, dan teman-teman lainnya atas pengalaman yang tidak terlupakan; teman-teman KKN angkatan XXXV kelompok 24: Mono,

Silvi “Bundo”, Mayora “Beng-beng”, Linda, Ita, Alfa “Galon”, Naomi

“Mami”, beserta Pak DPL-nya: Pak Hery Santoso, atas kegilaan dan

pengalaman yang mengesankan; teman-teman Ikom, khususnya angkatan

2004: Henry, Kornel, Damian, Beni, Ipung, Hali, Beli, Amel, Deby, Desy,

Eka, dan semuanya atas kebersamaan dan perjuangannya selama kuliah.

10. Beserta pihak-pihak lain yang tidak mungkin dapat disebutkan satu per

satu yang telah banyak berjasa.

Penulis sadar bahwa skripsi ini masih belum sempurna. Oleh karena itu,

penulis memohon maaf atas ketidaksempurnaan ini dan bersedia menerima

masukan demi kebaikan bersama. Akhir kata, penulis berharap semoga karya ini

berguna bagi para pembaca sekalian. Terima kasih.

Yogyakarta, Agustus 2008

(14)

xiv

halaman

Halaman Judul ……… i

Title ……… ii

Halaman Persetujuan ……… iii

Halaman Pengesahan ……… iv

Halaman Pernyataan Keaslian Karya ……… v

Halaman Persembahan ……… vi

Halaman Motto ……… vii

Halaman Persetujuan Publikasi ……… viii

Abstrak ……… ix

Abstract ……… x

Kata Pengantar ……… xi

Daftar Isi ……… xiv

Daftar Gambar ……… xviii

Daftar Tabel ……… xxi

BAB I PENDAHULUAN ……… 1

1.1 Latar Belakang Masalah ……… 1

1.2 Rumusan Masalah ……… 3

1.3 Batasan Masalah ……… 3

(15)

xv

1.5 Manfaat Penelitian ……… 4

1.6 Metode Penelitian ……… 4

1.7 Sistematika Penulisan ……… 6

BAB II LANDASAN TEORI ……… 7

2.1 Pengolahan Citra ……… 7

2.1.1 Definisi ……… 7

2.1.2 Preprocessing ……… 8

2.1.2.1Thresholding ……… 8

2.2 Pengenalan Pola (Pattern Recognition) ……… 12

2.3 Feature Point Extraction ……… 16

2.4 Huruf Hiragana ……… 22

BAB III DESAIN ……… 26

3.1 Gambaran Sistem Secara Umum ……… 26

3.2 Desain Proses ……… 32

3.2.1 Proses binerisasi ……… 32

3.2.2 Proses menghilangkan pinggiran putih ………… 36

3.2.3 Proses segmentasi 9 bagian ……… 38

3.2.4 Proses pencocokan dengan tabel ……… 39

3.2.5 Proses mencari selisih minimum dengan template … 40 3.3 Navigasi Menu ……… 43

(16)

3.4.1 Home ……… 44

3.4.2 Daftar Hiragana ……… 45

3.4.3 Bantuan ……… 45

3.4.4 Tentang Program ……… 46

3.4.5 Input Gambar ……… 46

3.4.6 Kesimpulan ……… 47

3.4.7 Kesimpulan untuk input salah ……… 48

3.5 Spesifikasi Hardware dan Software ……… 48

3.5.1 Hardware ……… 48

3.5.2 Software ……… 49

BAB IV HASIL DAN PEMBAHASAN ……… 50

4.1 Hasil Tampilan User Interface ……… 50

4.1.1 Tampilan Home ……… 50

4.1.2 Tampilan Daftar Hiragana ……… 51

4.1.3 Tampilan Bantuan ……… 52

4.1.4 Tampilan Tentang Program ……… 53

4.1.5 Tampilan Input Gambar ……… 53

4.1.6 Tampilan Kesimpulan ……… 54

4.1.7 Tampilan Kesimpulan untuk Input yang Salah …… 55

4.2 Hasil Pengujian Karakter ……… 55

(17)

xvii

4.4 Implementasi dengan 512 Hubungan Ketetanggaan

Antarpiksel ……… 64

4.5 Analisis Unjuk Kerja ……… 67

4.6 Kelemahan Aplikasi ……… 72

BAB V PENUTUP ……… 74

5.1 Kesimpulan ……… 74

5.2 Saran ……… 75

DAFTAR PUSTAKA ……… 76

LAMPIRAN ……… 77

Cuplikan Listing Program ……… 78

(18)

xviii

halaman

Gambar 2.1 Jenis distribusi intensitas citra ……… 9

Gambar 2.2 Citra dengan distribusi intensitas yang jelas ……… 9

Gambar 2.3 Hasil threshold yang baik ……… 10

Gambar 2.4 Citra dengan distribusi intensitas yang hampir sama ……… 10

Gambar 2.5 Hasil threshold yang kurang baik ……… 11

Gambar 2.6 Thresholding setelah operasi deteksi tepi ……… 11

Gambar 2.7 Skema umum proses pengenalan pola……… 14

Gambar 2.8 Template matching ……… 15

Gambar 2.9 Pemecahan matriks 9x9 menjadi 9 bagian ……… 19

Gambar 2.10 Karakter input dan karakter template ……… 19

Gambar 2.11 Karakter-karakter yang dipecah menjadi 9 bagian ……… 20

Gambar 2.12 Contoh segmentasi karakter “A” ……… 21

Gambar 2.13 Perbandingan penulisan Hiragana dan Katakana ………… 22

Gambar 2.14 Contoh aturan penulisan huruf Hiragana ……… 22

Gambar 2.15 Karakter dasar Hiragana ……… 23

Gambar 2.16 Karakter-karakter tambahan Hiragana ……… 24

Gambar 2.17 Contoh penulisan Furigana ……… 25

Gambar 3.1 Diagram gambaran sistem secara umum ……… 27

Gambar 3.2 Diagram pemrosesan citra input ……… 27

(19)

xix

Gambar 3.4 Diagram proses binerisasi secara keseluruhan ………… 32

Gambar 3.5 Diagram proses thresholding ……… 33

Gambar 3.6 Diagram proses binerisasi ……… 34

Gambar 3.7 Diagram proses penukaran piksel hitam dan piksel putih jika objek berwarna putih ……… 35

Gambar 3.8 Diagram proses menghilangkan pinggiran putih ………… 37

Gambar 3.9 Diagram proses segmentasi 9 bagian ……… 38

Gambar 3.10 Diagram proses pencocokan dengan tabel ……… 39

Gambar 3.11 Diagram proses mencari selisih minimum dengan template ……… 40

Gambar 3.12 Diagram proses menghitung prosentase kemiripan ……… 42

Gambar 3.13 Navigasi menu ……… 43

Gambar 3.14 Desain interface Home ……… 44

Gambar 3.15 Desain interface Daftar Hiragana ……… 45

Gambar 3.16 Desain interface Bantuan ……… 45

Gambar 3.17 Desain interface Tentang Program ……… 46

Gambar 3.18 Desain interface Input Gambar ……… 46

Gambar 3.19 Desain interface Kesimpulan ……… 47

Gambar 3.20 Desain interface Kesimpulan untuk input yang salah …… 48

Gambar 4.1 Tampilan interface Home ……… 50

Gambar 4.2 Tampilan interface Daftar Hiragana ……… 51

Gambar 4.3 Tampilan interface Bantuan ……… 52

(20)

Gambar 4.5 Tampilan interface Input Gambar sebelum memilih

Huruf ……… 53

Gambar 4.6 Tampilan Interface Input Gambar setelah memilih

Huruf ……… 54

Gambar 4.7 Tampilan Interface Kesimpulan ……… 54 Gambar 4.8 Tampilan Interface Kesimpulan untuk Input yang Salah … 55 Gambar 4.9 Karakter input beserta hasil-hasil pemrosesan citranya … 62 Gambar 4.10 Hasil segmentasi karakter input ……… 62 Gambar 4.11 Bagian segmentasi karakter input yang memenuhi

kriteria ……… 67

(21)

xxi

DAFTAR TABEL

halaman

Tabel 2.1 Tabel hubungan ketetanggaan antarpiksel,

piksel pada posisi (2,2) bernilai 0 ……… 17

Tabel 2.2 Tabel perbandingan I ……… 21

Tabel 2.3 Tabel perbandingan II ……… 21

Tabel 2.4 Tabel komposisi nilai karakter “A” ……… 22

Tabel 3.1 Tabel hubungan ketetanggaan antarpiksel, piksel pada posisi (2,2) bernilai 1 ……… 30

Tabel 4.1 Tabel hasil pengujian karakter ……… 55

Tabel 4.2 Tabel komposisi nilai karakter input berdasarkan tabel 256 hubungan ketetanggaan antarpiksel ……… 63

Tabel 4.3 Tabel komposisi nilai karakter input berdasarkan tabel 512 hubungan ketetanggaan antarpiksel ……… 64

(22)

1

PENDAHULUAN

1.1 Latar Belakang Masalah

Kemampuan manusia yang banyak bermanfaat dalam aktivitas sehari-harinya ialah kemampuan mengindera, baik dengan mata, telinga,

maupun indera lainnya. Dengan mata, manusia dapat melihat serta

memutuskan objek apa yang dilihatnya. Walaupun beberapa objek yang

dilihat tidak sama persis, tetapi manusia mampu melihat kesamaannya

sebagai satu golongan yang sejenis. Misalnya, manusia melihat berbagai

macam jenis gelas. Walaupun bentuknya berbeda-beda, tetapi manusia tetap

tahu bahwa itu semua adalah gelas. Kemampuan manusia ini disebabkan

karena dalam ingatan manusia telah terdapat begitu banyak ciri yang

membedakan antara satu objek dengan objek yang lain. Contohnya, dalam ingatan, manusia telah menyimpan begitu banyak objek gelas, yang tentu

saja memiliki ciri-ciri khusus yang dapat membedakannya dengan objek lain.

Sehingga di hadapan berbagai jenis gelas yang berbeda bentuk dan

penampakannya, dengan begitu mudahnya, manusia masih tetap dapat

berkata bahwa itu adalah gelas. Bagaimana manusia melakukan generalisasi

terhadap sekian banyak ciri-ciri objek (padahal tidak semua objek pernah

dilihat manusia) masih sulit untuk dijelaskan.

Komputer, yang kecerdasannya mendekati manusia, mulai banyak

(23)

2

sebagai mesin penghitung (masalah sederhana), sekarang dapat

menyelesaikan masalah-masalah manusia yang lebih kompleks, misalnya

mengidentifikasi tanda tangan, mengidentifikasi wajah, mengidentifikasi

tulisan/huruf, dsb. Metode-metode yang dipakai dalam mengenali suatu pola

ada bermacam-macam, misalnya Jaringan Syaraf Tiruan, seperti ADALINE dan Back Propagation, Feature Point Extraction, Logika Kabur, dan sebagainya.

Kebudayaan Jepang sekarang banyak peminatnya, termasuk penulis

sendiri, baik musik, film, anime, hingga seni penulisan huruf Jepang. Huruf

Hiragana merupakan huruf dasar yang digunakan untuk menuliskan kata-kata Jepang asli, dimana penulisannya mirip seperti huruf Jawa, yaitu per

suku kata. Selain huruf Hiragana ada juga huruf Katakana (untuk menuliskan kata-kata serapan/asing dan bunyi-bunyian) serta huruf Kanji (gabungan dari huruf Hiragana yang tiap hurufnya sudah memiliki arti kata tersendiri dan lebih rumit cara penulisannya). Salah satu kesulitan yang dialami para peminat bahasa Jepang adalah dalam mengenali huruf Jepang

karena bentuk hurufnya lebih rumit dibandingkan dengan huruf alfabet biasa.

Berdasarkan masalah seperti telah diungkapkan di atas, penulis ingin

membuat suatu aplikasi yang dapat mengenali huruf Jepang, yaitu huruf

Hiragana dengan menggunakan metode Feature Point Extraction. Metode ini merupakan metode yang relatif awal berkaitan dengan pengenalan

(24)

ialah susunan piksel dalam matriks dari tiap karakter. Metode ini juga

memiliki syarat, yaitu hanya matriks yang memiliki ketentuan tertentu saja

yang akan dipakai, sedangkan yang tidak memenuhi ketentuan tersebut akan

diabaikan.

1.2 Rumusan Masalah

Bagaimana membangun sebuah aplikasi untuk dapat mengenali huruf

Jepang Hiragana dengan metode Feature Point Extraction?

1.3 Batasan Masalah

1. Input berupa file gambar berekstensi *.jpg, *.jpeg, *.bmp, atau *.gif. 2. Aplikasi yang dirancang hanya dapat mengenali satu karakter untuk tiap

pengenalannya dari total 46 huruf Hiragana dasar.

3. Tingkat pengenalan terbatas pada jumlah template sebanyak 5 buah untuk tiap karakter, dan tidak dapat dilakukan penambahan template. 4. Semakin besar dimensi file gambar, tingkat pengenalan juga semakin

berkurang (penulis menggunakan resolusi 100x100 piksel).

5. Software yang digunakan adalah MatLab.

1.4 Tujuan Penelitian

(25)

4

1.5 Manfaat Penelitian

1. Sebagai bahan studi bagi peneliti lainnya untuk mengembangkan

aplikasi serupa yang lebih baik.

2. Sebagai bantuan bagi penggemar kebudayaan Jepang mengenali huruf

Hiragana.

1.6 Metode Penelitian

Metode yang digunakan dalam penelitian ini adalah sebagai berikut:

1. Analisis Kebutuhan

Yang dilakukan dalam analisis kebutuhan ialah mengumpulkan

sampel tulisan Hiragana dalam berbagai jenis tulisan. Caranya ialah dengan membagi-bagikan contoh tulisan Hiragana kepada banyak orang untuk ditulis ulang. Sampel yang diperoleh ini akan digunakan sebagai

template untuk pengenalan huruf Hiragana.

Selain itu, peneliti juga mengumpulkan serta meninjau berbagai bahan/referensi mengenai algoritma yang digunakan dalam pengenalan

pola, yaitu Feature Point Extraction, baik secara teoritis maupun secara praktis. Hasilnya ialah berbagai macam sampel tulisan Hiragana serta bahan-bahan/referensi mengenai algoritma Feature Point Extraction. 2. Desain

Dalam desain, peneliti mulai menyusun tampilan antarmuka serta

(26)

Hasilnya ialah sebuah aplikasi yang telah mempunyai tampilan

antarmuka lengkap beserta fasilitas input-outputnya tetapi belum

berfungsi.

3. Implementasi/Coding

Dalam tahap ini, peneliti mulai mengimplementasikan algoritma

Feature Point Extraction ke dalam bahasa komputer sesuai dengan desain yang telah disusun. Hasilnya ialah sebuah aplikasi yang dapat

membaca tulisan Hiragana dan memberikan output-nya. 4. Evaluasi

Setelah aplikasi dibangun, perlu dilakukan pengujian atas

kemungkinan terjadinya kesalahan. Proses perbaikan dilakukan

terus-menerus hingga aplikasi yang dibuat relatif tidak memuat kesalahan

(kesalahan yang mungkin muncul adalah kesalahan yang memang

merupakan kelemahan dari algoritma Feature Point Extraction). Hasilnya ialah sebuah aplikasi pengenalan huruf Hiragana yang lebih akurat.

5. Penyusunan Laporan

Dalam tahap ini, peneliti menyusun laporan ilmiah tertulis

tentang penelitian yang dilakukan, mulai dari tahap awal hingga akhir.

Proses penyusunan laporan ini dapat dimulai bersamaan dengan

dimulainya penelitian serta mengalami revisi sejalan dengan perubahan

(27)

6

1.7 Sistematika Penulisan

Berikut adalah garis besar dari isi karya ilmiah yang akan disusun:

BAB I PENDAHULUAN

Bab I tersusun atas latar belakang masalah, rumusan masalah,

batasan masalah, tujuan penelitian, manfaat penelitian, metode

penelitian, serta sistematika penulisan.

BAB II LANDASAN TEORI

Bab II berisi tentang teori-teori yang dipakai dalam implementasi,

contohnya adalah teori tentang pengolahan citra dan Feature

Point Extraction.

BAB III DESAIN

Pada bagian desain, berisi mengenai bagaimana rancangan dari

aplikasi yang akan dibangun, misalnya ialah gambaran sistem

secara umum, desain proses, serta desain interface.

BAB IV HASIL DAN PEMBAHASAN

Bab IV berisi mengenai hasil implementasi dari program yang

dibuat serta pembahasannya.

BAB V PENUTUP

(28)

7

LANDASAN TEORI

2.1 Pengolahan Citra 2.1.1 Definisi

Berikut ini adalah definisi mengenai pengolahan citra.

Citra adalah gambar dua dimensi yang dihasilkan dari gambar analog dua dimensi yang kontinu menjadi gambar diskrit melalui proses

sampling. Gambar analog dibagi menjadi N baris dan M kolom sehingga menjadi gambar diskrit. Persilangan antara baris dan kolom tertentu disebut

dengan piksel. Contohnya adalah gambar/titik diskrit pada baris n dan kolom m disebut dengan piksel [n,m].

Sampling adalah proses untuk menentukan warna pada piksel tertentu pada citra dari sebuah gambar yang kontinu. Pada proses sampling biasanya dicari warna rata-rata dari gambar analog yang kemudian

dibulatkan. Proses sampling sering juga disebut proses digitasi.

Derau (noise) adalah gambar atau piksel yang mengganggu kualitas citra. Derau dapat disebabkan oleh gangguan fisis (optik) pada alat

akuisisi maupun secara disengaja akibat proses pengolahan yang tidak

sesuai. Contohnya adalah bintik hitam atau putih yang muncul secara acak

yang tidak diinginkan di dalam citra. Bintik acak ini disebut dengan derau

(29)

8

2.1.2 Preprocessing

Preprocessing merupakan suatu langkah dalam pengolahan citra yang perlu dilakukan untuk menghilangkan objek-objek yang tidak

diperlukan, bahkan dapat mengganggu suatu citra, sehingga proses

pengenalan pola dapat menjadi lebih akurat (Pearson, 2001: 96).

2.1.2.1 Thresholding

Dalam berbagai pemrosesan citra, sangat membantu jika dapat

dipisahkan antara daerah/citra sebagai objek (yang dikehendaki) dari citra

yang merupakan latar belakang (background) dari keseluruhan citra.

Thresholding memberikan kemudahan dalam melakukan segmentasi ini berdasarkan perbedaan intensitas warna dari kedua citra tersebut.

Input dari thresholding dapat berupa citra grayscale ataupun berwarna. Dalam implementasi yang paling sederhana, outputnya

merupakan citra biner yang merepresentasikan segmentasi. Piksel hitam

menggambarkan background sedangkan piksel putih menggambarkan

foreground (atau bisa juga sebaliknya). Segmentasi dilakukan berdasarkan sebuah parameter yang disebut sebagai intensitas threshold. Tiap piksel dari suatu citra dibandingkan dengan parameter ini. Jika piksel citra

nilainya lebih tinggi dari threshold, piksel tersebut diset menjadi putih atau bernilai 1 sebagai outputnya. Jika tidak, diset menjadi hitam atau

bernilai 0 (atau sebaliknya).

(30)

ditentukan dengan melihat histogram intensitas dari citra. Jika

memungkinkan untuk memisahkan foreground dari citra berdasarkan intensitas piksel maka intensitas piksel pada objek foreground harus benar-benar berbeda dari intensitas piksel background. Dalam hal ini, dapat dilihat dari perbedaan puncak dalam histogram.

Gambar 2.1 Jenis distribusi intensitas citra

Gambar 2.1 A) menunjukkan distribusi intensitas bi-modal. Citra ini dapat disegmentasi menggunakan threshold tunggal T1. Gambar 2.1 B)

terlihat lebih kompleks. Dianggap bahwa puncak di tengah merupakan

objek yang diinginkan maka segmentasi memerulukan dua threshold: T1 dan T2. Pada gambar 2.1 C), kedua puncak dari distribusi bi-modal terlihat hampir sama maka hampir tidak mungkin untuk dapat melakukan

segmentasi dengan baik menggunakan threshold tunggal.

(31)

10

Gambar 2.2 di atas menunjukkan distribusi bi-modal yang baik; pada histogram, puncak yang lebih rendah merepresentasikan objek,

sedangkan yang lebih tinggi merepresentasikan background.

Citra pada gambar 2.2 dapat disegmentasi menggunakan threshold tunggal dengan nilai intensitas piksel 120. Hasilnya adalah seperti pada

gambar 2.3 sebagai berikut:

Gambar 2.3 Hasil threshold yang baik

Tetapi dengan adanya gradasi pencahayaan yang cukup jelas,

seperti gambar 2.4 di bawah ini, puncak yang merepresentasikan

foreground dan background dapat tampak memiliki kesamaan, maka threshold yang sederhana tidak dapat memberikan hasil yang baik.

Gambar 2.4 Citra dengan distribusi intensitas yang hampir sama

(32)

Gambar 2.5 Hasil threshold yang kurang baik

Thresholding juga dapat dipakai untuk memfilter output maupun input untuk operator lain. Sebagai contoh, deteksi tepi, seperti operasi

Sobel, akan menandai daerah dari citra yang memiliki gradien tinggi. Jika yang diinginkan hanya gradien di atas nilai tertentu (misalnya tepi yang tajam), maka thresholding dapat digunakan hanya untuk menyeleksi garis-garis yang tajam saja dan mengeset piksel lainnya menjadi hitam.

(a) (b) (c)

Gambar 2.6 Thresholding setelah operasi deteksi tepi

Pada gambar 2.6, gambar (a) merupakan gambar mula-mula,

kemudian dikenai operasi Sobel dan menghasilkan gambar (b). Hasil akhirnya, yaitu gambar (c), diperoleh setelah gambar (b) dikenai

(33)

12

Berikut ini adalah langkah-langkah dalam melakukan iterative

thresholding:

1. Dipilih sembarang nilai untuk inisalisasi awal threshold (T) 2. Citra disegmentasi menjadi objek dan background, yang

menghasilkan dua bagian:

a. G1 = {f(m,n):f(m,n)>=T} (piksel objek) b. G2 = {f(m,n):f(m,n)<T} (piksel background)

Sebagai catatan, f(m,n) adalah nilai dari piksel yang terletak pada kolom ke-m dan baris ke-n.

3. Rata-rata dari tiap bagian dihitung.

a. m1 = nilai rata-rata G1 b. m2 = nilai rata-rata G2

4. Nilai threshold baru diperoleh dari rata-rata m1 dan m2

T’ = (m1+m2)/2

5. Kembali ke langkah kedua, tetapi dengan menggunakan nilai

threshold yang baru didapat dari langkah (4). Terus diulang sampai nilai threshold yang diperoleh sama dengan nilai

threshold sebelumnya.

2.2 Pengenalan Pola (Pattern Recognition)

Membaca merupakan kegiatan yang berperan penting dalam hidup

(34)

memang sedang belajar membaca maupun yang sedang mengajari membaca.

Langkah pertama dalam belajar membaca adalah pembelajaran huruf alfabet.

Kemampuan untuk mengenali huruf dan karakter sangat penting dalam

mengartikan suatu bahasa; tetapi, untuk komputer, sebuah karakter dalam

suatu halaman lebih sebagai gambar atau objek yang mesti dikenali. Hanya

untuk mengenali huruf a saja, pemrograman komputer memerlukan berbagai teknik untuk dapat melakukannya.

Tidak diketahui bagaimana manusia mengenali objek visual dengan

begitu mudahnya, yang jelas tidak serumit komputer. Kemampuan otak

manusia dan komputer memiliki detail yang berbeda. Permasalahan dalam

Optical Character Recognition (OCR) ini harus diselesaikan dengan pendekatan dari sudut pandang komputer.

Dalam mengenali sebuah pola, sistem OCR harus melakukan beberapa hal dengan tingkat kemiripan yang tinggi. Misalkan inputnya

berupa gambar tulisan. Hal pertama yang perlu dilakukan adalah mengecek orientasi gambar pada halaman tersebut. Gambar juga perlu disegmentasi

menjadi biner (hitam dan putih). Jika karaker yang diuji merupakan karakter

dimana sistem pernah dilatih untuk mengenalinya, ada kemungkinan

pengenalan dilakukan dengan tepat.

Karena komputer merupakan mesin penghitung yang sangat cepat,

sangat mungkin untuk mengecek karakter input di antara sekian banyak

(35)

14

harus dilatih untuk mengenali semua kemungkinan karakter (Parker, 1997:

275-277).

Pattern recognition muncul dikarenakan kemampuan manusia yang mampu mengenali objek-objek yang ada. Manusia mengenali objek

berdasarkan ciri-ciri dan pengetahuan yang pernah diamatinya dari objek

tersebut. Tujuan dari pengenalan pola adalah mengklarifikasi dan mendeskripsi pola atau objek kompleks melalui pengukuran sifat-sifat atau

ciri objek tertentu.

Ada tiga macam pendekatan pada Pattern Recognition yang dikenalkan yang meliputi: pendekatan sintaktis, pendekatan statistika, dan

pendekatan jaringan saraf tiruan (JST). Pendekatan sintaktis adalah

pengenalan pola dimana data yang disimpan dan dibandingkan adalah

aturan-aturan pola yang diberikan saja. Pendekatan statistika adalah pengenalan pola

dimana data yang disimpan adalah pola/ciri-ciri objek tersebut. Sedangkan

pendekatan jaringan saraf tiruan (JST) adalah gabungan dari metode sintaktis dan metode statistika (Scratchz, 2007).

Gambar 2.7 Skema umum proses pengenalan pola

dokumen scanning preprocessing

ekstraksi ciri pengambilan

keputusan pengenalan

karakter

karakter digital

masukan digitalisasi matriks

karakter

pencocokan identifikasi

karakter

(36)

Database dapat dipakai sebagai sarana dalam template matching. Dalam hal ini, dilakukan perbandingan tiap piksel antara karakter yang

disimpan (template) dengan karakter yang diinputkan.

(a) (b) (c)

Gambar 2.8Template matching

Pada gambar 2.8, bagian (a) merupakan karakter yang diinputkan.

Karekter ini yang nantinya hendak dikenali. Dalam database telah disimpan masing-masing huruf “A” dan angka “8”, seperti pada bagian (b) dan (c) atas.

Pada saat proses pencocokan, nilai piksel dari karakter inputan yang sesuai

dengan nilai piksel dari karakter dalam database tampak berwarna hitam,

sedangkan yang tidak sesuai tampak berwarna abu-abu. Dalam kasus ini,

(37)

16

2.3 Feature Point Extraction

Yang dimaksudkan dengan feature point ialah suatu titik dari citra yang diperhatikan oleh manusia. Titik dapat merupakan perpotongan antara

dua garis, atau merupakan sebuah pojok, atau juga hanya titik begitu saja.

Titik-titik ini dapat membantu dalam mendefinisikan suatu keterhubungan

dalam dua garis yang berbeda. Dua garis dapat saja bersilangan penuh satu dengan yang lain, berpotongan seperti dalam huruf “Y” atau “T”, membentuk

sebuah pojok, atau tidak berpotongan sama sekali. Orang-orang cenderung

sensitif dengan keterhubungan semacam ini; susunan titik-titik sedemikian

rupa yang membentuk sebuah huruf “Z” lebih diperhatikan daripada jumlah

titiknya. Jenis keterhubungan inilah yang digunakan dalam pengenalan

karakter.

Algoritma-algoritma yang banyak digunakan dalam OCR mampu memberikan tingkat keakuratan yang tinggi dan cepat, tetapi tetap saja

hampir semuanya melakukan kesalahan yang tidak masuk akal dari sudut pandang manusia. Jika kesalahannya dalam membedakan karakter “5”

dengan “S”, masih termasuk wajar karena kemiripan kedua karakter tersebut.

Tetapi kesalahan dalam membedakan “5” dari “M” sangat di luar dugaan.

Kesalahan semacam ini disebabkan karena algoritma-algoritma tersebut

umumnya lebih memperhatikan sekumpulan ciri-ciri yang berbeda dari sudut

(38)

Kesalahan dalam mengenali karakter juga disebabkan oleh karena

terbatasnya jumlah ciri yang dikumpulkan. Apabila ciri-ciri dari karakter

diperbanyak maka keakurasian akan meningkat.

Algoritma ini pada dasarnya membandingkan susunan piksel dalam

tiap matriks biner 3x3 dengan tabel yang memuat nilai-nilai untuk tiap

kemungkinan susunan piksel tersebut. Yang dibandingkan ialah matriks yang memiliki piksel di posisi (2,2) bernilai 0 atau berwarna hitam saja. Karena piksel tersebut memiliki 8 tetangga dan tiap tetangga memiliki

kemungkinan bernilai 0 atau 1 maka seluruhnya memiliki 256 (28)

kemungkinan susunan piksel. Nilai yang ada dalam tabel bernilai 0 sampai

dengan 255 (Brown, 1992).

Tabel 2.1 Tabel hubungan ketetanggaan antarpiksel, piksel pada posisi (2,2) bernilai 0

(39)
(40)

Contoh Penerapan Feature Point Extraction

Contoh yang digunakan berikut ini menggunakan matriks awal

berukuran 9x9. Apabila dipecah-pecah menjadi submatriks berukuran 3x3

maka akan menjadi seperti terlihat pada gambar berikut ini:

Gambar 2.9 Pemecahan matriks 9x9 menjadi 9 bagian

Sebagai contoh, gambar 2.10 (a) di bawah ini adalah karakter input, sedangkan gambar 2.10 (b) dan (c) adalah karakter template.

(a) (b) (c)

Gambar 2.10 (a) Karakter input, (b) dan (c) karakter template

Karakter-karakter tersebut kemudian dipecah menjadi 9 buah matriks

(41)

20

(a) (b) (c)

Gambar 2.11 Karakter-karakter yang dipecah menjadi 9 bagian

Tiap potongan matriks 3x3 pada gambar 2.11 di atas dicocokkan

dengan tabel untuk kemudian dicari nilainya. Pencocokan dimulai dari bagian

A sampai dengan bagian I.

Tanda + pada tabel menunjukkan posisi (2,2), sedangkan tanda * menunjukkan piksel-piksel di sekeliling tanda + yang bernilai 0. Jadi, misalnya dalam matriks, hanya piksel di posisi (2,2) yang bernilai 0 maka

nilai matriks 3x3 ini adalah 0, tetapi seandainya semua piksel bernilai 0 maka nilainya 255, dan seterusnya. Metode ini digunakan untuk kesembilan

matriks 3x3.

Dalam pengambilan keputusan untuk menentukan pengenalan

karakter yang diujikan, untuk setiap matriks yang bersesuaian dari karakter

input dan tiap karakter template, dihitung selisihnya (sehingga akan menghasilkan 9 buah nilai selisih). Nilai-nilai selisih ini kemudian

dijumlahkan. Karakter input akan digolongkan ke dalam kelompok karakter yang memiliki total nilai selisih paling sedikit.

A B C

D E F

G H I

A B C

D E F

G H I

A B C

D E F

(42)

Hasilnya dapat dilihat pada Tabel 2.2 dan Tabel 2.3:

Tabel 2.2 Tabel perbandingan I

A B C D E F G H I

(a) 119 199 197 135 199 205 220 124 118

(b) 119 199 197 245 68 64 221 124 116

Selisih 0 0 0 110 131 141 1 0 2

Tabel 2.3 Tabel perbandingan II

A B C D E F G H I

(a) 119 199 197 135 199 205 220 124 118

(c) 119 199 221 103 199 205 220 124 118

Selisih 0 0 24 32 0 0 0 0 0

Dari kedua tabel di atas tampak bahwa perbandingan I menghasilkan jumlah selisih 385, sedangkan pada perbandingan II menghasilkan jumlah

selisih 56. Sehingga karena nilai selisih pada tabel perbandingan II lebih kecil dari nilai selisih pada tabel perbandingan I maka karakter (a) digolongkan

sebagai karakter (c).

Berikut ini adalah contoh lain pemrosesan karakter beserta komposisi

nilai yang didapat dari hasil pencocokan dengan tabel.

Gambar 2.12 Contoh segmentasi karakter “A”

A B C

D E F

(43)

22

Tabel 2.4 Tabel komposisi nilai karakter “A”

A B C D E F G H I

52 199 88 253 124 127 241 ? 31

Tanda “?” menunjukkan matriks yang memiliki piksel di posisi (2,2)

bernilai 1 atau berwarna putih. Tanda “?” ini tidak diperhitungkan

(diabaikan). Oleh karena itu, karakter yang memuat tanda “?” tidak dapat ikut dibandingkan.

2.4 Huruf Hiragana

Sekitar abad ke-9, Jepang mengembangkan sistem penulisan sendiri

berdasarkan suku kata: Hiragana dan Katakana (dikenal sebagai Kana). Dari kedua sistem Kana ini, huruf Hiragana lebih banyak lengkungannya (kursif), sedangkan huruf Katakana lebih banyak sudutnya (anguler), seperti pada gambar 2.13. Dalam penulisan huruf-huruf Jepang, harus diperhatikan urutan

dan arah garis dalam tiap karakter, seperti pada gambar 2.14.

Gambar 2.13 Perbandingan penulisan (a) Hiragana dan (b) Katakana

Gambar 2.14 Contoh aturan penulisan huruf Hiragana

߁

߁

߁

(44)

Hiragana dan Katakana masing-masing terdiri dari 46 lambang, yang dapat dilihat pada gambar 2.15. Karakter-karakter ini sebenarnya merupakan

huruf Kanji yang sekarang telah jauh disederhanakan selama berabad-abad. Saat melihat teks dalam huruf Jepang, pembaca dapat dengan mudah

membedakan antara huruf Kanji yang rumit dan Kana yang lebih sederhana. Suku kata-suku kata tersebut di antaranya ialah 5 bunyi hidup (a i u e o). Sisanya adalah suku kata yang merupakan kombinasi dari bunyi hidup dan

konsonan (ka ki ku ke ko ra ri ru re ro …). Satu pengecualian ialah n.

(45)

24

Sebagai tambahan, beberapa suku kata dapat diperhalus atau

dipertajam dengan menambahkan semacam tanda petik ganda atau bulatan

kecil di pojok kanan atas dari karakter yang bersangkutan, sebagai berikut.

Gambar 2.16 Karakter-karakter tambahan Hiragana

Walaupun secara teoritis diperbolehkan menulis seluruh tulisan

Jepang dengan huruf Hiragana, tetapi huruf ini biasanya digunakan hanya untuk akhiran kata, kata benda, dan kata sifat, partikel, dan beberapa

kata-kata Jepang asli (tidak seperti kata-kata serapan yang ditulis dengan Katakana) yang tidak ditulis dalam Kanji. Hiragana adalah huruf yang pertama kali diajarkan kepada anak-anak di Jepang. Buku-buku untuk anak-anak pun

(46)

Hiragana kadang-kadang juga ditulis di atas atau di sebelah huruf Kanji untuk membantu pelafalan. Hiragana yang digunakan seperti ini disebut furigana atau ruby. Dalam teks horisontal, furigana diletakkan di atas huruf Kanji, sedangkan dalam teks vertikal, furigana terletak di sebelah kanan huruf Kanji.

(47)

26

BAB III

DESAIN

3.1 Gambaran Sistem Secara Umum

Sistem yang dibangun akan dipakai untuk mengenali huruf Hiragana menggunakan metode Feature Point Extraction. Karakter yang dapat dikenali ialah huruf-huruf dasar Hiragana, yaitu sebanyak 46 karakter, dimana pengenalannya dilakukan per karakter.

Input berupa file gambar dengan ekstensi *.jpg, *.jpeg, *.bmp, atau *.gif. Gambar yang di-input-kan kemudian dikenai ekstraksi ciri yang meliputi binerisasi, penghilangan pinggiran putih, perubahan ukuran menjadi

matriks 9x9, dan segmentasi menjadi 9 buah matriks berukuran 3x3. Lalu

masing-masing matriks 3x3 tersebut dicocokkan dengan tabel untuk

mendapatkan nilainya. Diagram proses citra input ada pada gambar 3.2. Langkah selanjutnya ialah melakukan ekstraksi ciri untuk template

-template yang telah ada, yaitu sebanyak 230 karakter (5 model untuk tiap karakter). Sama seperti karakter input, setelah disegmentasi menjadi 9 buah matriks berukuran 3x3, dilakukan pencocokan dengan tabel untuk memperoleh nilainya. Diagram proses citra template ada pada gambar 3.3.

(48)

Gambar 3.1 Diagram gambaran sistem secara umum

Gambar 3.2 Diagram pemrosesan citra input

mulai

mencari selisih minimum

input dengan template

kesimpulan

selesai pemrosesan citra input

pemrosesan citra template

mulai

citra input

binerisasi

menghilangkan pinggiran putih

segmentasi 9 bagian

mencocokkan dengan tabel

resizing jadi matriks 9x9

(49)

28

Gambar 3.3 Diagram pemrosesan citra template

Pada prinsipnya, matriks yang hendak dikenai algoritma Feature

Point Extraction merupakan matriks berukuran 3x3, dimana piksel di posisi (2,2) harus bernilai 0 atau berwarna hitam. Jika tidak maka matriks ini

diabaikan, atau dalam perhitungan nilainya berisi “?”. Dengan adanya

ketentuan ini maka hanya ada 8 piksel yang nilainya dapat berubah-ubah.

Selain itu, karena perubahan ini hanya antara 0 atau 1 maka total

kemungkinan perubahan posisi piksel ialah 28 atau sama dengan 256, dengan

jangkauan nilai dari 0 sampai dengan 255 seperti pada tabel. mulai

citra template

binerisasi

menghilangkan pinggiran putih

segmentasi 9 bagian

mencocokkan dengan tabel

resizing jadi matriks 9x9

selesai

(50)

Karakter yang hendak dikenali akan disegmentasi terlebih dahulu menjadi beberapa submatriks 3x3 sehingga matriks-matriks yang terbentuk

dapat dicocokkan dengan tabel untuk memperoleh nilai tertentu. Dengan

demikian, dengan diabaikannya matriks yang bernilai 1 di posisi (2,2), berarti

ada informasi yang terbuang, mengingat tidak semua matriks 3x3 yang

terbentuk pasti bernilai 0 di posisi (2,2), tetapi bisa saja bernilai 1. Tidak

menutup kemungkinan bahwa matriks yang diabaikan ini justru berpengaruh

besar dalam pengenalan karakter. Tetapi karena diabaikan maka matriks ini

tidak dapat diproses lebih lanjut karena tidak memiliki nilai untuk

dibandingkan.

Berdasarkan pertimbangan tersebut, penulis mencoba mencari jalan

keluar untuk mengatasi kelemahan di atas, yaitu memperhitungkan perubahan

piksel di posisi (2,2). Seluruh piksel pada matriks 3x3 pun bisa berubah

nilainya antara 0 atau 1. Sehingga, total kemungkinan perubahan piksel

berjumlah 29 atau 512. Dengan demikian, tidak ada matriks (informasi) yang

terbuang karena setiap matriks yang terbentuk pasti memiliki nilai sehingga

dapat dibandingkan.

Penulis menambahkan 256 hubungan ketetanggaan antarpiksel yang

(51)

30

Tabel 3.1 Tabel hubungan ketetanggaan antarpiksel, piksel pada posisi (2,2) bernilai 1

(52)

** + * ** + ** ** + * * ** + *** ** *+ * ** *+ ** ** *+ * * ** *+ *** *** + * *** + ** *** + * * *** + *** *** *+ * *** *+ ** *** *+ * * *** *+ *** 267 283 299 315 331 347 363 379 395 411 427 443 459 475 491 507 +* * +* ** +* * * +* *** *+* * *+* ** *+* * * *+* *** * +* * * +* ** * +* * * * +* *** * *+* * * *+* ** * *+* * * * *+* *** 268 284 300 316 332 348 364 380 396 412 428 444 460 476 492 508 * +* * * +* ** * +* * * * +* *** * *+* * * *+* ** * *+* * * * *+* *** ** +* * ** +* ** ** +* * * ** +* *** ** *+* * ** *+* ** ** *+* * * ** *+* *** 269 285 301 317 333 349 365 381 397 413 429 445 461 477 493 509 * +* * * +* ** * +* * * * +* *** * *+* * * *+* ** * *+* * * * *+* *** * * +* * * * +* ** * * +* * * * * +* *** * * *+* * * * *+* ** * * *+* * * * * *+* *** 270 286 302 318 334 350 366 382 398 414 430 446 462 478 494 510 ** +* * ** +* ** ** +* * * ** +* *** ** *+* * ** *+* ** ** *+* * * ** *+* *** *** +* * *** +* ** *** +* * * *** +* *** *** *+* * *** *+* ** *** *+* * * *** *+* *** 271 287 303 319 335 351 367 383 399 415 431 447 463 479 495 511

Perbedaannya dengan Tabel 2.1 hanya terletak pada nilai dan definisi

tanda “+”; jika pada Tabel 2.1 tanda + berarti piksel di posisi (2,2) yang

bernilai 0 maka pada Tabel 3.1, tanda + berarti piksel di posisi (2,2) yang

bernilai 1. Tanda * artinya tetap sama, yaitu piksel-piksel yang bernilai 0 atau

(53)

32

3.2 Desain Proses

3.2.1 Proses binerisasi

Input dari proses ini adalah citra awal, output-nya berupa citra biner. Proses ini terdiri dari 3 tahap, yaitu proses thresholding, proses binerisasi, dan proses menukar antara piksel hitam dan piksel putih

jika objek berwarna putih. Berikut ini adalah diagram-diagramnya.

Gambar 3.4 Diagram proses binerisasi secara keseluruhan

mulai

proses thresholding

proses binerisasi

menukar antara piksel hitam dan piksel putih jika objek

berwarna putih

selesai citra awal

(54)

Gambar 3.5 Diagram proses thresholding

mulai

citra grayscale

sembarang nilai T

for i=1:m j=1:n x=0; y=0

citra(i,j)

>=T y++

x++

m1=rata2 G1 m2=rata2 G2

T2=(m1+m2)/2

T2=T T=T2

ya tidak

tidak

ya

ya tidak

[m n]= size(citra)

selesai x=0 ||

y=0

G2(y)= citra(i,j)

ya

tidak

(55)

34

Pesan kesalahan pada gambar 3.5 di atas muncul karena gambar yang dipilih untuk diuji tidak memiliki objek. Penjelasan selengkapnya

akan dibahas pada bab berikutnya.

Gambar 3.6 Diagram proses binerisasi

for i=1:m

j=1:n

citra(i,j) >=T2

ya

tidak

ya

citra2(i,j)=1 tidak

citra2(i,j)=0 putih=0; hitam=0

putih++ hitam++ mulai

selesai T2 dari proses

(56)

Gambar 3.7 Diagram proses penukaran piksel hitam dan piksel putih jika objek berwarna putih

Proses binerisasi diawali dengan thresholding secara iteratif seperti gambar 3.5. Input berupa citra grayscale. Pertama, ditentukan

citra2

selesai hitam>

putih

for i=1:m

j=1:n ya

citra2(i,j) =0

citra2(i,j)=1 citra2(i,j)=0 ya

tidak ya

tidak tidak mulai

variabel hitam

dan putih dari proses binerisasi citra2 dari proses

(57)

36

sembarang nilai ambang (T) untuk memisahkan citra menurut objek dan background-nya. Lalu dicari rata-rata untuk objek dan background (m1 dan m2), didapat nilai ambang baru (T2) yaitu rata-rata m1 dan m2. Iterasi terus diulang hingga T2 sama dengan T. Perulangan dilakukan dengan nilai T yang dimodifikasi sama dengan T2. Binerisasi (gambar 3.6) dilakukan memakai nilai T2 yang terakhir diperoleh (optimum).

Pada gambar 3.7, jika objek berwarna putih (diketahui dari

jumlah piksel hitam yang lebih banyak daripada putih), dilakukan

reverse antara piksel hitam dan piksel putih. Langkah ini dilakukan atas pertimbangan proses selanjutnya, yaitu proses menghilangkan pinggiran putih. Jika background berwarna hitam maka pinggiran yang seharusnya tidak digunakan ialah yang berwarna hitam. Oleh karena

itu, background dijadikan putih dahulu apabila berwarna hitam.

3.2.2 Proses menghilangkan pinggiran putih

Tujuan proses ini adalah untuk mengurangi kemungkinan

pergeseran objek sehingga mengganggu keakuratan. Caranya adalah

dengan mencari piksel bernilai 0 (berwarna hitam) teratas, terkanan,

terbawah, dan terkiri. Keempat posisi piksel tersebut disimpan untuk digunakan sebagai batas citra yang hendak digunakan. Sehingga piksel

berwarna putih di luar batas-batas itu diabaikan dan citra yang diproses

hanya citra dengan batas-batas tersebut. Input berupa citra biner, dan

(58)

Gambar 3.8 Diagram proses menghilangkan pinggiran putih

mulai

citra (i,j)=0

tidak

ya

ya tidak

batas atas=i citra

[m n]= size(citra)

for i=1:m

j=1:n

A citra (i,j)=0

tidak

ya

ya tidak

batas kanan=j for j=n:1 i=1:m

A

selesai citra (i,j)=0

tidak

ya

ya tidak

batas bawah=i for i=m:1

j=1:n

citra (i,j)=0

tidak

ya

ya tidak

batas kiri=j for j=1:n i=1:m

(59)

38

3.2.3 Proses segmentasi 9 bagian

Gambar 3.9 Diagram proses segmentasi 9 bagian

mulai

citra 9x9

atas_kiri = citra(1:m/3 , 1:n/3) [m n]=

size(citra)

atas_tengah = citra(1:m/3 , n/3+1:2*n/3)

atas_kanan = citra(1:m/3 , 2*n/3+1:n)

tengah_kiri = citra(m/3+1:2*m/3 , 1:n/3)

tengah_tengah = citra(m/3+1:2*m/3 , n/3+1:2*n/3)

tengah_kanan = citra(m/3+1:2*m/3 , 2*n/3+1:n)

bawah_kiri = citra(2*m/3+1:m , 1:n/3)

bawah_tengah = citra(2*m/3+1:m , n/3+1:2*n/3)

bawah_kanan = citra(2*m/3+1:m , 2*n/3+1:n)

(60)

Citra yang digunakan dalam proses ini ialah citra berukuran 9x9, yaitu hasil resizing dari citra tanpa pinggiran putih. Citra berukuran 9x9 ini kemudian dipecah-pecah menjadi berukuran 3x3, sehingga

terbentuk 9 buah matriks dengan ukuran 3x3.

3.2.4 Proses pencocokan dengan tabel

Gambar 3.10 Diagram proses pencocokan dengan tabel

Tiap matriks 3x3 yang terbentuk kemudian dicocokkan dengan tabel, yaitu sebanyak 512, sehingga diperoleh suatu nilai tertentu

sesuai pada tabel. Karena nilainya dimulai dari 0 hingga 511

sedangkan indeks array dimulai dari 1 maka nilai yang didapat (berdasarkan indeks array yang bersangkutan) harus dikurangi 1.

mulai

selesai citra 3x3

for i=1:512

citra= tabel(i)

nilai=i-1 ya

tidak

ya

(61)

40

3.2.5 Proses mencari selisih minimum dengan template

mulai

nilai input= a2,b2,…,i2

nilai template= A,B,…,I

for i=1:230

hasil_a{i}=(a2-A{i})2

hasil_i{i}=(i2-I{i})2 ……

hasil_selisih{i}= sqrt(hasil_a{i}+hasil_b{i}+…+hasil_i{i}) ya

tidak hasil=1534

hasil_selisih{i}< hasil

cacah=1

indeks_hasil_selisih{cacah}=i

hasil= hasil_selisih{i} ya

indeks_hasil_selisih{cacah}=i cacah++

hasil_selisih{i}= hasil tidak

ya

tidak hasil_b{i}=(b2-B{i})2

(62)

Gambar 3.11 Diagram proses mencari selisih minimum dengan template cacah>1

hasil= -1

for i=1:cacah

hasil=kotak_sama{indeks_hasil_selisih{i}} kotak_sama

{indeks_hasil_selisih{i}}>hasil

indeks_kotak_sama=indeks_hasil_selisih{i} indeks=

indeks_hasil_selisih{1}

tidak

ya

ya

tidak

indeks=indeks_kotak_sama ya

tidak ya

tidak

selesai

kotak_sama {indeks_hasil_selisih{i}}++ a2= A{indeks_hasil_selisih{i}}

b2= B{indeks_hasil_selisih{i}} kotak_sama{indeks_hasil_selisih{i}}=0

tidak

tidak

ya i2= I{indeks_hasil_selisih{i}}

ya

kotak_sama {indeks_hasil_selisih{i}}++

kotak_sama {indeks_hasil_selisih{i}}++

(63)

42

Selanjutnya, seperti gambar 3.11 di atas, ialah mencari selisih miminum dengan tiap template, dengan menggunakan rumus jarak.

Misal, titik A(x1,y1), B(x2,y2) maka jaraknya

(

x2x1

) (

2+ y2y1

)

2 .

Penggunaan rumus jarak dimaksudkan agar nilai yang diperoleh lebih

teliti. Variabel hasil, dipakai untuk pembanding awal, diinisialisasi

dengan nilai terbesar yang mungkin terjadi, yaitu 5112×9+1=1534.

Jika hanya ada satu selisih minimum, indeks template yang sesuai disimpan. Banyak template yang memiliki nilai minimum disimpan di variabel cacah. Jika ditemukan lebih dari satu, dicari yang memiliki nilai sama dengan input (dari A hingga I) terbanyak. Jika ada, indeksnya disimpan kemudian dicocokkan dengan daftar template. Karakter uji digolongkan ke dalam template dengan indeks tersebut.

Terakhir ialah mencari prosentase kemiripan, yaitu dari matriks

9x9, jumlah piksel input yang sama dengan piksel template dibagi jumlah piksel seluruhnya. Berikut ini adalah diagramnya.

Gambar 3.12 Diagram proses menghitung prosentase kemiripan

mulai

sama=0

for i=1:9 j=1:9

sama++

input(i,j)=

template(i,j)

persen=(sama/81)*100

ya

tidak

ya tidak

(64)

3.3 Navigasi Menu

Berikut ini adalah jalur navigasi dari menu-menu yang dapat diakses.

Gambar 3.13 Navigasi Menu

Home

Bantuan

Tentang Program

Keluar Home

Pilih gambar

input

Bantuan

Tentang Program

Keluar

Kesimpulan

kembali ke menu sebelumnya

Bantuan

Tentang Program

Keluar

Pilih gambar

input

kembali ke menu sebelumnya

kembali ke menu sebelumnya

Home

Home Daftar

Hiragana

Daftar

Hiragana

Daftar

(65)

44

Dalam aplikasi tersedia 2 pilihan menu, yaitu Menu dan Informasi. Berikut ini submenu-submenu yang dapat diakses:

Menu

Home : Menuju ke tampilan awal program

Daftar Hiragana : Menampilkan daftar huruf Hiragana yang dapat dikenali oleh program

Keluar : Keluar dari program Informasi

Bantuan : Menampilkan informasi mengenai cara menggunakan program

Tentang Program : Menampilkan informasi mengenai program yang sedang dijalankan

3.4 Desain Interface

Berikut ini adalah rancangan user interface dari aplikasi yang akan dibangun.

3.4.1 Home

Gambar 3.14 Desain interface Home Menu

JUDUL

Oleh: …

Logo USD

Lanjut

(66)

3.4.2 Daftar Hiragana

Gambar 3.15 Desain interface Daftar Hiragana

3.4.3 Bantuan

Gambar 3.16 Desain interface Bantuan

JUDUL

Logo USD

Huruf-huruf Hiragana

OK

JUDUL

Logo USD

Isi

(67)

46

3.4.4 Tentang Program

Gambar 3.17 Desain interface Tentang Program

3.4.5 Input Gambar

Gambar 3.18 Desain interface Input Gambar

JUDUL

Logo USD

Isi

OK

Menu

JUDUL

Logo USD

Gambar huruf Hiragana yang dipilih

lihat

lokasi file cari

(68)

Untuk memasukkan file gambar, klik tombol cari. Setelah didapat, jika ingin melihatnya, user dapat mengklik tombol lihat. Untuk melanjutkan, klik tombol lanjut.

3.4.6 Kesimpulan

Gambar 3.19 Desain interface Kesimpulan

Pada halaman kesimpulan, selain mengetahui hasil akhir pengenalan

karakter, user juga dapat melihat citra yang dipilih untuk diuji beserta

hasil-hasil pemrosesannya, meliputi gambar biner, gambar biner 9x9,

serta hasil segmentasi menjadi 9 buah matriks 3x3. Selain itu user juga

dapat melihat hasil perhitungan optimum dari algoritma Feature Point

Extraction. Tombol ulangi digunakan untuk kembali ke halaman Input

Gambar untuk memilih karakter lainnya.

Menu

JUDUL

Kesimpulan

Pola dikenali sebagai huruf … Prosentase kemiripan …%

Hasil Perhitungan

Logo USD

keluar home

gambar input

gambar biner

gambar biner

9x9

segmen tasi 9 bagian

gambar asli

(69)

48

3.4.7 Kesimpulan untuk input salah

Gambar 3.20 Desain interface Kesimpulan untuk input yang salah

Halaman ini muncul jika user memasukkan gambar yang tidak ada

objeknya, atau dengan kata lain, hanya gambar kosong/polos. Proses

akan terhenti pada saat binerisasi. Penjelasan selengkapnya akan

dibahas pada bab berikutnya.

3.5 Spesifikasi Hardware dan Software

Berikut adalah spesifikasi hardware dan software yang digunakan untuk membangun aplikasi pengenalan karakter:

3.5.1 Hardware

3.5.1.1 Intel Pentium D 2.66GHz

3.5.1.2 DDR 512MB Visipro

Menu

JUDUL

Pemberitahuan kesalahan

Logo USD

keluar home

gambar input

(70)

3.5.1.3 NVidia GeForce FX 5200 128MB 3.5.1.4 HDD 40GB Maxtor

3.5.2 Software

3.5.2.1 Microsoft Windows XP Professional Service Pack 2

3.5.2.2 Matlab 7

3.5.2.3 Adobe Photoshop 7

(71)

50

BAB IV

HASIL DAN PEMBAHASAN

4.1 Hasil Tampilan User Interface

4.1.1 Tampilan Home

(72)

4.1.2 Tampilan Daftar Hiragana

(73)

52

4.1.3 Tampilan Bantuan

(74)

4.1.4 Tampilan Tentang Program

Gambar 4.4 Tampilan Interface Tentang Program

4.1.5 Tampilan Input Gambar

(75)

54

Gambar 4.6 Tampilan Interface Input Gambar setelah Memilih Huruf

4.1.6 Tampilan Kesimpulan

(76)

4.1.7 Tampilan Kesimpulan untuk Input yang Salah

Gambar 4.8 Tampilan Interface Kesimpulan untuk Input yang Salah

4.2 Hasil Pengujian Karakter

Berikut ini adalah hasil dari pengujian karakter-karakter input dengan perluasan metode feature point extraction.

Tabel 4.1 Tabel hasil pengujian karakter

Input Hasil Pengenalan

Karakter Bunyi Bunyi Selisih Durasi Proses (detik)

(77)

56

Input Hasil Pengenalan

Karakter Bunyi Bunyi Selisih Durasi Proses (detik)

i i 94.5093 34.7031

fu fu 135.834 34.9531

mi mi 87.4528 34.7813

yu yu 181.488 34.7813

ha ha 21.9089 34.8906

yo yo 70.4273 34.3281

(78)

Input Hasil Pengenalan

Karakter Bunyi Bunyi Selisih Durasi Proses (detik)

ke ke 20.6155 34.7969

ro ro 248.753 34.5938

te te 258.706 34.7500

ku ku 264.992 34.7813

a a 79.1012 34.5938

ma ma 226.1 34.4688

(79)

58

Input Hasil Pengenalan

Karakter Bunyi Bunyi Selisih Durasi Proses (detik)

mo mo 172.722 34.8906

ru ru 148.354 34.2813

he he 137.717 34.1563

ko ko 144.941 34.1094

to to 34.5254 34.3281

me nu 284.255 34.3594

(80)

Input Hasil Pengenalan

Karakter Bunyi Bunyi Selisih Durasi Proses (detik)

no no 212.012 34.8750

ta ta 20.0998 34.3906

su su 168.392 34.6719

ra ra 64.8151 34.6250

hi hi 259.779 34.7031

mu mu 237.137 34.6719

(81)

60

Input Hasil Pengenalan

Karakter Bunyi Bunyi Selisih Durasi Proses (detik)

wa wa 189.808 34.8594

wo wo 300.683 34.7969

ya ya 140.855 34.8125

n n 176.187 34.7656

ho ho 154.738 34.9375

u u 151.37 34.9219

(82)

Input Hasil Pengenalan

Karakter Bunyi Bunyi Selisih Durasi Proses (detik)

o o 278.683 34.9688

re re 264.394 34.6406

ki ki 70.2638 34.7188

chi chi 73.1027 35.0469

tsu tsu 64.5058 34.7813

he he 62.8172 34.3438

(83)

62

4.3 Implementasi dengan 256 Hubungan Ketetanggaan Antarpiksel

Di bawah ini adalah salah satu contoh hasil implementasi dari

pengenalan suatu karakter input menggunakan metode feature point

extraction dengan 256 hubungan ketetanggaan antarpiksel.

(a) (b)

(c) (d)

Gambar 4.9 Karakter input beserta hasil-hasil pemrosesan citranya

(84)

Gambar 4.9 (a) merupakan gambar awal yang diinputkan. Gambar 4.9 (b) adalah hasil dari proses binerisasi, sehingga gambar menjadi hitam-putih. Gambar 4.9 (c) adalah hasil dari proses penghilangan pinggiran putih. Proses ini dilakukan untuk tetap menjaga konsistensi dari gambar sebelum

dan sesudah mengalami pemrosesan (preprocessing). Maksudnya, apabila gambar yang hendak dikenali tidak dihilangkan dulu pinggiran putihnya, ada

kemungkinan terjadi pergeseran posisi objek sehingga menyebabkan

ketidakakuratan dalam proses pengenalan. Dengan kata lain, hanya objeknya

saja yang nantinya akan diproses untuk dikenali polanya. Gambar 4.9 (d)

merupakan gambar hasil resizing menjadi berukuran 9x9. Pengubahan menjadi ukuran 9x9 adalah karena matriks yang dibutuhkan adalah matriks

ukuran 3x3 (kelipatan 3) untuk dicocokkan dengan tabel. Selain itu,

pengubahan ukuran ini juga dimaksudkan untuk mengurangi lama waktu

pengenalan. Maksudnya, semakin besar ukuran gambar, semakin lama pula

proses akan berlangsung. Oleh karena itu, penulis memilih 9 buah matriks

berukuran 3x3 untuk diproses. Gambar 4.10 adalah gambar hasil segmentasi menjadi 9 buah matriks berukuran 3x3, seperti yang baru saja dibahas.

Setelah dicocokkan dengan tabel, didapatkan 9 buah nilai untuk

tiap-tiap bagian dari A sampai dengan I sebagai berik

Gambar

Gambar 2.8 Template matching
Gambar 2.10 (a) Karakter input, (b) dan (c) karakter template
Tabel 2.2 Tabel perbandingan I
Gambar 2.14 Contoh aturan penulisan huruf Hiragana
+7

Referensi

Dokumen terkait

Dengan penegasan dan peneguhan kewenangan peradilan agama untuk menyelesaikan perkara ekonomi syariah, dalam penyelesaian sengketa niaga atau bisnis, yang selama

a) Dalam hal Penerbit Efek dinyatakan dalam proses pembubaran berdasarkan peraturan perundang-undangan yang berlaku, Penerbit Efek wajib menyampaikan permohonan

Memberikan wacana dan informasi tentang fenomena Lanjut Usia yang tinggal sendiri agar dapat memberikan pengetahuan kepada masyarakat terutama keluarga yang

You will certainly not be so tough to know something from this publication Writing History 7-11: Historical Writing In Different Genres From Routledge More, it will certainly help

Persamaan dari penelitian ini adalah penggunaan tabung vacutainer dengan atikoagulan litium heparin sebagai salah satu variabel bebas yang dibandingkan dengan tabung

Menurut Welbury (2005) seecara singkat proses terjadinya karies adalah: (1)Fermentasi karbohidrat menjadi asam organik oleh mikroorganisme dalam plak pada permukaan gigi;

al ini akan mengakibatkan suatu mekanisme proteksi dari otot'otot tulang belakang untuk menjaga keseimbangan, manifestasinya yang terjadi justru overuse pada salah satu sisi otot

Metode yang digunakan dalam pengaturan kecepatan motor BLDC dalam Tugas Akhir ini menggunakan metode kontrol Sliding Mode Controller berbasis PID yang merupakan kombinasi