• Tidak ada hasil yang ditemukan

Penipisan citra huruf Jawa nmenggunakan algoritma Zhang Suen - USD Repository

N/A
N/A
Protected

Academic year: 2019

Membagikan "Penipisan citra huruf Jawa nmenggunakan algoritma Zhang Suen - USD Repository"

Copied!
182
0
0

Teks penuh

(1)

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika

Oleh :

Margareta Ratna Kurnianita 055314061

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)

i

PENIPISAN CITRA HURUF JAWA MENGGUNAKAN

ALGORITMA ZHANG SUEN

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika

Halaman judul bahasa indonesia

Oleh :

Margareta Ratna Kurnianita 055314061

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(3)

ii

THINNING IMAGE OF JAVANESE CHARACTER USING

ZHANG SUEN ALGORITHM

A Thesis

Presented as Partial Fullfillment of The Requirements to Obtain The Scholar Degree Engineering in Informatics Engineering Study Program

Halaman judul bahasa Inggris

By :

Margareta Ratna Kurnianita 055314061

INFORMATICS ENGINEERING STUDY PROGRAM

INFORMATICS ENGINEERING DEPARTMENT

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

(4)
(5)
(6)

v

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa skripsi 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, 25 Juni 2005 Penulis

(7)

vi

LEMBAR PERNYATAAN PERSETUJUAN

PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Lembar persetujuan publikasi

Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma :

Nama : Margareta Ratna Kurnianita

NIM : 055314061

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah yang berjudul :

PENIPISAN CITRA HURUF JAWA

MENGGUNAKAN ALGORITMA ZHANG SUEN

Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data mendistribusikan secara terbatas, dan mempublikasikannya di Internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini yang saya buat dengan sebenarnya.

Dibuat di Yogyakarta Pada tanggal: 25 Juni 2009 Yang menyatakan

(8)

vii

ABSTRAK

Penelitian ini berfokus pada proses penipisan citra huruf jawa dengan menggunakan algoritma zhang suen dan analisa rangka yang dihasilkan. Penipisan bertujuan untuk mengurangi bagian yang tidak perlu hingga menyisakan bagian yang disebut rangka yang dianggap mewakili obyek tersebut tanpa merubah bentuk aslinya, sehingga dapat digunakan untuk pemrosesan lebih lanjut seperti proses pengenalan karakter huruf jawa.

Analisa rangka citra huruf jawa yang dihasilkan dengan menggunakan algoritma zhang suen dilakukan dengan beberapa pengujian berdasarkan kriteria tertentu serta melalui pengamatan secara visual. Pengamatan secara visual dilakukan dengan membandingkan citra asli dengan rangka hasil penipisan menggunakan algoritma zhangsuen dan hilditch.

Hasil pengamatan visual yang dilakukan oleh 50 responden yang mengamati 40 rangka huruf jawa yang berbeda mencatat bahwa rata-rata setiap responden menyatakan 57,76% dari 40 rangka yang dihasilkan menggunakan algoritma penipisan zhang suen lebih mirip dengan citra asli dari pada algoritma

hilditch yang hanya sebesar 55,70%. Hal itu menunjukkan bahwa rangka yang dihasilkan menggunakan algoritma zhang suen relatif lebih mirip dengan citra asli dari pada algoritma hilditch.

(9)

viii

ABSTRACT

This research focuses on the process of image thinning uses zhang suen algorithm and analysis of generated Javanese character skeleton. Thinning aims to reduce unnecessary part of pattern leaving until the skeleton is deemed to represent an object without changing the original pattern, so it can be used for further processing such as Javanese character recognition.

Similarity analysis of the Javanese character image which is generated using by the zhang suen algorithm done by several testing based on certain criteria and visual observations. The analysis done by comparing the original image with the skeleton generated from zhang suenand hilditch thinning algorithm.

Visual observation‟s results that is made by the 50 respondents view of 40 different skeleton of the Javanese character make a note that the average of each respondent explain 57,76% of 40 skeletons generated from zhang suen thinning algorithm more resembler the original image then hilditch algorithm only 55,70%. That is show skeletons generated from zhang suen thinning algorithm relatively more resembler the original image then hilditch algorithm.

Experimental results on the 60 Javanese character images show that most of the pixels of skeleton has one pixel thickness with the average is 90,26% of the entire pixels in the skeleton. This algorithm successfully removed a large number of the pixel object with the average is 82,08% from the entire pixels in the original image. This algorithm takes time relatively quick to thin the image of Javanese characters with the average is 0,029 seconds. The size of image file is relatively small with the average is 9,61% of the original image. The other experimental result based on the skeleton pixels connectivity shows this algorithm preserve the skeleton pixel connectivity accordance with the original pattern.

(10)

ix

KATA PENGANTAR

Puji syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas segala berkat dan karunia-Nya, sehingga penulis dapat menyelesaikan Laporan Tugas Akhir yang berjudul “Penipisan Citra Huruf Jawa Menggunakan Algoritma Zhang-Suen”.

Penulis menyadari bahwa selama proses penelitian dan penyusunan laporan tugas akhir ini, banyak pihak yang telah memberikan perhatian, dukungan, semangat, kritik dan saran yang sangat membantu penulis, sehingga pada kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar-besarnya, antara lain kepada:

1. Yosef Agung Cahyanta, S.T., M.T., selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma.

2. Puspaningtyas Sanjaya Adi, S.T., M.T., selaku Ketua Jurusan Teknik Informatika Universitas Sanata Dharma.

3. Anastasia Rita Widiarti, S.Si., M.Kom., selaku dosen pembimbing akademik sekaligus pembimbing tugas akhir, atas kesabarannya dalam membimbing penulis, memberikan waktunya, dukungan, motivasi, serta saran yang sangat membantu penulis.

4. Keluargaku tercinta, kedua orang tuaku, Antonius Soenarwoko dan Fr. Endang Diatmiasih, kedua kakakku Agustina Emmi Kurniastuti dan

Florentina Septantia Kurniadini, serta adikku Ignatius Yani Satrio Wibowo, atas doa, semangat, dukungan baik moril maupun finansial serta cinta yang begitu besar, selalu ada dan tak akan pernah berhenti.

5. Lusia Krismiyati Budiasih, S.Si., M.Si., dan Sri Hartati Wijono, S.Si., M.Kom., yang bersedia meluangkan waktu dan pikirannya untuk membimbing dan membantu penulis ketika penulis mengalami kendala dalam memahami suatu materi. Serta Dr. G. Budi Subanar, SJ., yang telah memberikan motivasi dan membuka wawasan penulis.

(11)

x

7. Fransiska Kristi, Phalita Nariwastu, Agnes Tyas, dan Kartono Pinaryanto, rekan satu tim yang telah bekerja sama dengan penulis dalam menyelesaikan tugas akhir ini.

8. Serta semua pihak yang telah membantu kelancaran dalam penulisan tugas akhir ini, baik secara langsung maupun tidak langsung. Penulis mengucapkan banyak terima kasih.

Penulis menyadari bahwa masih banyak kekurangan yang terdapat pada laporan tugas akhir ini. Saran dan kritik sangat penulis harapkan untuk perbaikan-perbaikan dimasa yang akan datang. Akhir kata, penulis berharap tulisan ini bermanfaat bagi kemajuan dan perkembangan ilmu pengetahuan serta berbagai pengguna pada umumnya.

Yogyakarta, 25 Juni 2009

(12)

xi

DAFTAR ISI

HALAMAN JUDUL BAHASA INDONESIA ... i

HALAMAN JUDUL BAHASA INGGRIS ... ii

HALAMAN PERSETUJUAN PEMBIMBING ... iii

HALAMAN PENGESAHAN ... iv

PERNYATAAN KEASLIAN KARYA ... v

LEMBAR PERSETUJUAN PUBLIKASI ... vi

ABSTRAK ...vii

ABSTRACT ...viii

KATA PENGANTAR ... ix

DAFTAR ISI ... xi

DAFTAR GAMBAR ...xii

DAFTAR TABEL ... xv

DAFTAR LAMPIRAN ...xvii

BAB I. PENDAHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Rumusan Masalah ... 3

1.3. Batasan Masalah ... 3

1.4. Tujuan Penelitian ... 4

1.5. Manfaat Penelitian ... 5

1.6. Metodologi Penelitian ... 5

1.7. Sistematika Penulisan ... 7

BAB II. LANDASAN TEORI ...10

2.1. Aksara Jawa ...10

2.2. Citra ...11

2.3. Binerisasi ...15

2.3.1. Algoritma Threshold Otsu ...16

2.4. Penipisan ...18

2.4.1. Algoritma Penipisan Zhang Suen ...22

(13)

xii

2.4.2.1. One-Pixel Thickness ...37

2.4.2.2. Connectivity ...39

2.5. Kompleksitas Waktu ...39

2.5.1. Kompleksitas Waktu Asimptotik ...41

2.6. Java Programing ...46

2.7. JMatlink ...47

BAB III. ANALISA DAN PERANCANGAN SISTEM ...48

3.1. Analisa Sistem ...48

3.1.1. Gambaran Umum Sistem ... 48

3.1.2. Analisa Kebutuhan ...50

3.1.2.1. Analisa Kebutuhan Hardware - Software ...50

3.2. Perancangan Sistem ...51

3.2.1. Rancangan Proses Sistem ... 51

3.2.1.1. Diagram Konteks ... 51

3.2.1.2. DAD Level 1 ...52

3.2.1.2.1 Rancangan Proses Binerisasi ...54

3.2.1.2.2 Rancangan Proses Penipisan Menggunakan i Algoritma Zhang Suen ...56

3.2.2. Rancangan Proses Pengujian ...75

3.2.3. Rancangan User Interface ... 77

BAB IV. IMPLEMENTASI SISTEM DAN ANALISA HASIL ...85

4.1. Implementasi Program ...85

4.1.1. Algoritma Penipisan Zhang Suen ...85

4.1.1.1 Kompleksitas Waktu Asimptotik Algoritma Zhang Suen 87 4.2. Implementasi User Interface ...91

4.2.1. Implementasi Halaman Intro...91

4.2.2. Implementasi Halaman Utama ...91

4.2.2.1.Implementasi Halaman Home ...92

4.2.2.2.Implementasi Halaman Thinning ...93

4.2.3.Implementasi Halaman Peringatan ...96

(14)

xiii

4.2.5.Implementasi Halaman Help and How to ...99

4.2.6.Implementasi Halaman About Zhang Suen ...99

4.2.7.Implementasi Halaman About Program...100

4.3. Analisa Hasil ...101

4.3.1. Analisa Citra Hasil Penipisan ...101

4.3.2. Pengamatan Visual...107

4.3.3. Jumlah Piksel yang Berhasil Dihapus ...111

4.3.4.Waktu Komputasi ...114

4.3.5.Ukuran Citra Setelah Penipisan ...116

4.3.6.One Pixel Thickness ...119

4.3.7.Connectivity ...124

BAB V. Penutup ...128

5.1. Kesimpulan ...128

5.2. Saran ...129

(15)

xiv

DAFTAR GAMBAR

No. Keterangan Gambar Halaman

Gambar 2.1. Aksara Konsonan Jawa ( -, 2008).……… 11 Gambar 2.2. (a) Citra biner, (b) Representasi citra biner dalam data

digital. ………...………...………...………...………... 13

Gambar 2.3. (a) Citra Skala Keabuan; (b) Representasi citra skala keabuan dalam data digital…… 13 Gambar 2.4. (a) Citra Warna; (b)Representasi citra warna dalam data

digital ……...………...………...………...………...… 14

Gambar 2.5. Citra warna berindeks dan representasinya dalam data

digital... 15 Gambar 2.6. Citra Huruf Jawa „Ra’...……...… 18 Gambar 2.7. Rangka Hasil Proses Penipisan yang didapat dari 4

Algoritma (Dawoud dan Kamel, 2003)……… 19 Gambar 2.8. Notasi 8 Titik Tetangga dari Titik (i, j) Pada Jendela 3x3

(Zhang dan Suen, 1984)... ………... 22 Gambar 2.9. Contoh Titik yang tidak memenuhi kondisi (1) (- , 2008)... 25 Gambar 2.10. Penghitungan Transisi Pola 0-1 dari Urutan Piksel

P2,P3, P4,P5,P6,P7, P8,P9 (Zhang dan Suen, 1984)…… 25

Gambar 2.11. Kemungkinan-kemungkinan Jumlah A(P1)

(Martin dan Tosunoglu, -) ……… 26

Gambar 2.12. Contoh Penghitungan B(P1) dan A(P1) ………...………...… 26 Gambar 2.13.(a) Citra Awal, (b) Citra Hasil Subiterasi I,

(c) Citra Hasil Subiterasi II, (d) Hasil akhir Setelah Melalui

Beberapa Iterasi...……….. 30

Gambar 2.14.(a) 4-neigbors dan 8-neigbors dari titik p,

(16)

xv

Gambar 2.16.(a) citra T. (b) 4-connected-component juga 8-connected-component dari S dan S c adalah 4-connected. (c)

8-connected-component dari S dan S c adalah 4-connected... 34 Gambar 2.17.(a) Citra T, yang memuat anggota S, (b) Border dari S,dan

(c) Interior dari S. ... 35 Gambar 2.18.(a) Citra T, yang memuat anggota S, (b) Background dari S,

dan (c) Holes dalam S.

... 36

Gambar 2.19. Struktur template A. ………...………. 38

Gambar 2.20. Struktur template B dan C. ………...………...………...…… 38 Gambar 3.1. Diagram Konteks ... 52

Gambar 3.2. DAD Level 1……….. 53

Gambar 3.3. Diagram Alir Proses Binerisasi Menggunakan

threshold……...………...………...………...………...… 55

Gambar 3.4. Diagram Alir Proses Penipisan Zhang Suen Secara

Keseluruhan ……… 58

Gambar 3.5. Diagram Alir Proses Penipisan Zhang Suen Subiterasi 1 .... 61 Gambar 3.6. Diagram Alir Proses Penipisan Zhang Suen

Kondisi 1 Pada Subiterasi 1………... 63

Gambar 3.7. Diagram Alir Proses Penipisan Zhang Suen

Kondisi 2 Pada Subiterasi 1 ……….. 65

Gambar 3.8. Diagram Alir Proses Penipisan Zhang Suen Kondisi 3 dan Kondisi 4 Pada Subiterasi 1……… 66 Gambar 3.9. Diagram Alir Proses Penipisan Zhang Suen Subiterasi 2 …. 69 Gambar 3.10. Diagram Alir Proses Penipisan Zhang Suen

Kondisi 1 Pada Subiterasi 2……….. 71

Gambar 3.11. Diagram Alir Proses Penipisan Zhang Suen

Kondisi 2 Pada Subiterasi 2 ……….. 73

(17)

xvi

Gambar 3.13. Rancangan Halaman Home ………... 78

Gambar 3.14. Rancangan Halaman Thinning / Proses Penipisan Zhang Suen………... 79

Gambar 3.15. Rancangan Menu File Pada Menu Bar ………. 80

Gambar 3.16. Rancangan Menu Help Pada Menu Bar ……… 81

Gambar 3.17. Rancangan Halaman Help andHow-to ………..…… 82

Gambar 3.18. Rancangan Halaman About Zhang Suen Thinning…………... 82

Gambar 3.19. Rancangan Halaman About Zhang Suen Thinning ………... 82

Gambar 3.20. Rancangan Halaman About Program ……… 83

Gambar 3.21. Rancangan Halaman Peringatan ………... 83

Gambar 4.1 Analisa Ketebalan Rangka Citra Huruf Jawa „Ra_4.JPG’. 123 Gambar 4.2 Component Pada Rangka Huruf “Ra_4.JPG”…...……. 126

(18)

xvii

DAFTAR TABEL

No.Tabel Keterangan Tabel Halaman

Tabel 2.1. Pengelompokkan algoritma berdasarkan notasi O-Besar45

Tabel 4.1. Rangka Hasil Penipisan Algoritma Zhang Suen

Menggunakan Citra Asli Hasil Binerisasi (Bagian1) …… 102 Tabel 4.2. Rangka Hasil Penipisan Algoritma Zhang Suen

Menggunakan Citra Asli Hasil Binerisasi (Bagian 2) …… 103 Tabel 4.3. Rangka Hasil Penipisan Algoritma Zhang Suen

Menggunakan Citra Asli Hasil Binerisasi (Bagian 3) …… 104 Tabel 4.4. Rangka Hasil Penipisan Algoritma Zhang Suen

Menggunakan Citra Asli Hasil Binerisasi (Bagian 4) …… 105 Tabel 4.5. Rangka Hasil Penipisan Algoritma Zhang Suen

Menggunakan Citra Asli Hasil Binerisasi (Bagian 5) …… 106 Tabel 4.6. Hasil Kuisioner (Bagian 1) ………...………...………...… 108 Tabel 4.7. Hasil Kuisioner (Bagian 2) ………...………...………...… 109 Tabel 4.8. Persentase Hasil Kuisioner (Bagian 1) ………...………... 110 Tabel 4.9. Persentase Hasil Kuisioner (Bagian 2) ………...………... 111 Tabel 4.10. Persentase Jumlah Piksel Obyek yang Dihapus (Bagian 1) 112 Tabel 4.11. Persentase Jumlah Piksel Obyek yang Dihapus (Bagian 2) 113 Tabel 4.12. Waktu Komputasi (Bagian 1) ………...………...………... 115 Tabel 4.13. Waktu Komputasi (Bagian 2) ………...………...………... 116 Tabel 4.14. Perbandingan ukuran file citra asli dengan citra setelah

penipisan (Bagian 1) ………...………...………...……….. 117 Tabel 4.15. Perbandingan ukuran file citra asli dengan citra setelah

penipisan (Bagian 2) ………...………...………...……….. 118 Tabel 4.16. Ketebalan Rangka Citra Hasil Penipisan Algoritma Zhang

Suen (Bagian 1) ………...………...………...………...… 121 Tabel 4.17. Ketebalan Rangka Citra Hasil Penipisan Algoritma Zhang

(19)

xviii

DAFTAR LAMPIRAN

No Keterangan Tabel Halaman

Lampiran 1. Intensitas Warna Citra Huruf Jawa „Ra‟………. 134

Lampiran 2. Proses Pencarian Nilai Ambang dari Citra Huruf Jawa „Ra‟ 135 Lampiran 3. Citra Asli dengan Obyek Huruf Jawa „Ra‟.……… 142

Lampiran 3. Citra Asli dengan Obyek Huruf Jawa „Ra’.……… 142

Lampiran 4. Citra Huruf Jawa „Ra‟yang Ditandai Akan Dihapus Pada Iterasi 1 - Subiterasi 1, menggunakan algoritma zhang suen 143 Lampiran 5. Citra Huruf Jawa „Ra’Hasil Iterasi 1 - Subiterasi ……… 144

Lampiran 6. Citra Huruf Jawa „Ra‟yang Ditandai Akan Dihapus Pada Iterasi 1 - Subiterasi 2, menggunakan algoritma zhang suen 145 Lampiran 7. Citra Huruf Jawa „Ra’Hasil Iterasi 1 - Subiterasi 2……… 146

Lampiran 8. Citra Huruf Jawa „Ra‟yang Ditandai Akan Dihapus Pada Iterasi 2 - Subiterasi 1, menggunakan algoritma zhang suen 147 Lampiran 9. Citra Huruf Jawa „Ra’Hasil Iterasi 2 - Subiterasi 1……… 148

Lampiran 10. Citra Huruf Jawa „Ra‟yang Ditandai Akan Dihapus Pada Iterasi 2 - Subiterasi 2, menggunakan algoritma zhang suen 149 Lampiran 11. Citra Huruf Jawa „Ra’Hasil Iterasi 2 - Subiterasi 2 ……… 150

Lampiran 12. Citra Huruf Jawa „Ra‟yang Ditandai Akan Dihapus Pada Iterasi 3 - Subiterasi 1, menggunakan algoritma zhang suen 151 Lampiran 13. Citra Huruf Jawa „Ra’Hasil Iterasi 3 - Subiterasi 1 ……… 152

Lampiran 14. Citra Huruf Jawa „Ra‟yang Ditandai Akan Dihapus Pada Iterasi 3 - Subiterasi 2, menggunakan algoritma zhang suen 153

Lampiran 15. Kuisioner (halaman 1) ……… 155

Lampiran 16. Kuisioner (halaman 2) ……… 156

Lampiran 17. Kuisioner (halaman 3) ……… 157

Lampiran 18. Kuisioner (halaman 4) ……… 158

(20)

xix

Lampiran 20. Kuisioner (halaman 6) ……… 160

Lampiran 21. Kuisioner (halaman 7) ……… 161

(21)

1

BAB I

. PENDAHULUAN

PENDAHULUAN

1.1.Latar Belakang

Pengolahan citra mempunyai peranan yang sangat penting dalam

berbagai bidang kehidupan, salah satunya pada bidang kesusastraan. Kitab-kitab

kuno bertuliskan huruf jawa merupakan salah satu kekayaan budaya Indonesia

yang mungkin didalamnya terkandung suatu makna yang dapat menyingkapi

kejadian ataupun gejala yang terjadi dimasa kini dan telah dialami pada masa

lampau. Bahkan dapat pula berisi nilai-nilai budaya bangsa Indonesia yang

menjadi ciri khas dan menunjukkan jati diri bangsa Indonesia. Nilai-nilai budaya

tersebut harus dapat diwariskan dan disebarluaskan kepada generasi muda bangsa

Indonesia, agar tetap lestari. Namun sayangnya, hanya sedikit orang yang mampu

menterjemahkan isi yang terkandung didalam kitab-kitab tersebut, untuk itu

diperlukan suatu alat bantu agar dapat menterjemahkan huruf jawa tersebut,

kedalam bahasa yang dapat lebih dipahami oleh manusia zaman sekarang, seperti

misalnya diubah kedalam bahasa latin jawa.

Proses penerjemahan huruf jawa menjadi bahasa latin jawa

membutuhkan proses yang panjang dan kompleks. Salah satu proses yang harus

dilalui adalah proses penipisan. Proses penipisan merupakan salah satu proses

pada tahap pra-pemprosesan (preprocessing) dari keseluruhan proses

penerjemahan huruf jawa menjadi bahasa latin jawa, yang akan digunakan untuk

(22)

jawa tersebut.

Proses penipisan citra huruf jawa mengambil rangka dari huruf jawa

dengan cara membuang titik-titik atau lapisan terluar hingga seluruh garis atau

kurva hanya kurang lebih selebar satu piksel. Rangka yang dihasilkan ini disebut

skeleton. Skeleton memberikan representasi yang lebih sederhana dari suatu bentuk dengan mempertahankan karakteristik ukuran dan topologi dari bentuk

aslinya. Dengan penipisan, suatu ciri dari obyek pada suatu citra dapat dikenali

dan diekstrak, tanpa merubah bentuk aslinya, sehingga dapat digunakan untuk

pemrosesan lebih lanjut. Hasil proses penipisan dapat membantu mempermudah

dalam menganalisa struktur bentuk dari suatu obyek, sebab melalui proses

penipisan akan mengurangi informasi yang tidak diperlukan dan hanya dihasilkan

rangka dari obyek tersebut (Dawoud dan Kamel, 2003). Selain itu hasil dari

proses penipisan dapat digunakan untuk proses pengenalan suatu pola, khususnya

pada character recognition yang tidak memperhatikan ketebalan piksel dari pola

aslinya (Zhang dan Wang, 1992).

Proses penipisan dapat dilakukan dengan berbagai algoritma

(Lam et al., 1992), masing–masing algoritma memiliki kelebihan dan kekurangan

dalam menghasilkan rangka dari suatu obyek. Secara umum algoritma penipisan

yang efektif harus mampu melakukan penipisan dengan cepat tanpa merubah

karakteristik ukuran dan topologi dari bentuk asli obyek yang ditipiskan, selain itu

algoritma penipisan tersebut harus dapat memperkecil ukuran data setelah

mengalami proses penipisan. Salah satu algoritma yang penulis gunakan untuk

(23)

(Zhang dan Suen, 1984). Algoritma ini dipilih sebab algoritma ini dikenal sebagai

algoritma yang cepat dalam proses penipisan bila dibandingkan dengan algoritma

penipisan hilditch (Lam dan Suen, 1995), selain itu algoritma zhang suen mudah

untuk diimplementasikan (Engkamat, 2005) serta dapat digunakan untuk

menipiskan berbagai jenis pola digital (Zhang dan Suen, 1984).

1.2.Rumusan Masalah

Berdasarkan permasalahan – permasalahan seperti telah dijabarkan dalam

latar belakang, maka dapat dibuat rumusan masalah sebagai berikut :

1. Bagaimana cara kerja proses penipisan citra aksara jawa dengan menggunakan

algoritma penipisan zhang suen.

2. Apakah algoritma penipisan zhang suen merupakan algoritma yang efektif

untuk melakukan penipisan citra huruf jawa dengan tujuan mendapatkan

rangka hasil penipisan sesuai dengan kriteria.

3. Berapa kompleksitas algoritma penipisan zhang suen.

1.3.Batasan Masalah

1. Proses utama yang dilakukan adalah proses penipisan citra huruf jawa dengan

menggunakan algoritma penipisan zhang suen, sebagai proses tambahan

adalah proses binerisasi. Proses binerisasi dilakukan sebagai preprocessing

dari citra masukkan yang bukan biner, sehingga nantinya citra masukkan

(24)

2. Data masukkan proses penipisan berupa citra huruf jawa dalam bentuk cetak

dan tulisan tangan, dengan file citra berekstensi *.jpg.

3. Keluaran proses penipisan dalam bentuk gambar disimpan dalam file

berekstensi *.jpg, sedangkan keluaran representasi matrik citra hasil

penipisan disimpan dalam file dokumen berekstensi *.mat, *.txt.

4. Penelitian ini diimplementasikan menggunakan bahasa pemrograman Java dan

bahasa pemrograman Matlab, kedua bahasa pemrograman tersebut akan

dihubungkan dengan JMatlink.

5. Pengujian keberhasilan proses penipisan yang dilakukan dengan menguji

keterhubungan antar piksel rangka dan ketebalan rangka yang dihasilkan.

6. Merumuskan kompleksitas algorima penipisan zhang suen.

1.4.Tujuan Penelitian

Berdasarkan masalah-masalah yang ditemui, seperti yang telah dijelaskan

pada rumusan masalah, maka tujuan dari penelitian ini adalah:

1. Mengetahui cara kerja proses penipisan citra aksara jawa dengan

menggunakan algoritma penipisan zhang suen.

2. Menganalisa keefektifan algoritma zhang suen untuk melakukan penipisan

citra huruf jawa berdasarkan ketebalan rangka aksara jawa dan keterhubungan

antar piksel (konektivitas) rangka.

(25)

1.5.Manfaat Penelitian

Penelitian ini diharapkan dapat memberikan manfaat dalam beberapa hal,

diantaranya yaitu :

1. Proses penipisan dapat digunakan oleh pengguna yang lebih menitik beratkan

pada struktur bentuk suatu obyek dari pada ukuran obyek sebab dengan

penipisan dapat mempermudah dalam menganalisa struktur bentuk obyek

tersebut.

2. Hasil dari proses penipisan dapat digunakan untuk proses pengenalan pola

(pattern recognition), khususnya pada character recognition yang tidak

memperhatikan ketebalan piksel dari pola aslinya.

3. Citra hasil penipisan memiliki ukuran file yang lebih kecil sebab melalui

proses penipisan akan mengurangi informasi yang tidak diperlukan dan hanya

dihasilkan rangka dari obyek citra tersebut, sehingga dapat menghemat

penggunaan memory untuk menyimpan file citra tersebut.

1.6.Metodologi Penelitian

Metodologi penelitian yang digunakan dalam peyusunan dan penulisan

laporan hasil peneliti ini adalah dengan langkah-langkah sebagai berikut :

1) Metodologi Kepustakaan (Literature)

Studi pustaka dengan membaca dan mempelajari referensi dari berbagai

sumber, baik dari buku, laporan penelitian, jurnal ilmiah, makalah dari internet

(26)

2) Metodologi Perancangan Perangkat Lunak

Metodologi dalam perancangan perangkat lunak ini dengan

menggunakan model proses rekayasa perangkat lunak waterfall yang pertama kali

diperkenalkan oleh Winston Royce tahun 1970 (Kristanto, 2004).

Tahapan-tahapan dalam model waterfall sesuai yang diperlukan dalam penelitian ini adalah

sebagai berikut (Pressman, 1997) :

a) Analisa Kebutuhan Perangkat Lunak

Proses pengumpulan kebutuhan, mengidentifikasi seluruh kebutuhan

sistem, khususnya pada perangkat lunak. Untuk memahami sifat program yang

dibangun, perangkat lunak yang dihasilkan harus memahami domain informasi,

tingkah laku, unjuk kerja, dan antarmuka (interface) yang diperlukan.

b) Desain

Desain perangkat lunak merupakan proses yang terdiri atas beberapa

tahap yang berfokus pada empat atribut program yang berbeda, yakni struktur

data, arsitektur perangkat lunak, representasi antarmuka, dan detail algoritma.

Desain didokumentasikan dan menjadi bagian dari pembuatan perangkat lunak.

c) Implementasi

Desain yang telah dirancang harus diterjemahkan kedalam bahasa yang

dapat dimengerti oleh mesin, atau dengan kata lain tahap ini merupakan tahap

(27)

dengan menggunakan bahasa pemrograman. Jika desain dilakukan dengan cara

yang lengkap, pembuatan kode dapat diselesaikan secara mekanis.

d) Pengujian

Tahap ini merupakan proses pengujian perangkat lunak yang berfokus

pada logika internal dari suatu perangkat lunak, yang bertujuan untuk memastikan

bahwa semua pernyataan telah diuji. Selain itu pengujian berfokus pada eksternal

fungsional, yang akan mengarahkan penulis untuk menemukan kesalahan –

kesalahan dan memastikan bahwa data masukan yang dibatasi akan memberikan

hasil yang valid dan aktual sesuai dengan hasil yang dibutuhkan. Tahapan ini

perlu dilakukan sebab setiap kali kode dibuat maka akan dilanjutkan dengan

pengujian kode.

3) Analisa hasil implementasi untuk menyatakan unjuk kerja dari algoritma

zhang suen.

1.7.Sistematika Penulisan

Sistem penulisan yang digunakan dalam penyusunan laporan tugas akhir

ini terdiri dari beberapa bab, sehingga mempermudah penulisan serta pembahasan.

Adapun sistematika penulisan sebagai berikut :

Bab I . Pendahuluan

Bab ini sebagai pengantar sebelum memasuki isi tulisan yang

sesungguhnya meliputi latar belakang dan rumusan masalah yang akan diteliti,

(28)

penelitian, tujuan dan manfaat dari penelitian ini, metodologi penelitian yang akan

digunakan oleh penulis, dan sistematika penulisan hasil penelitian.

Bab II . Landasan Teori

Bab ini berisi mengenai konsep dasar dari teori-teori yang dipergunakan

dalam penelitian ini dan saling berhubungan erat. Adapun teori yang akan dibahas

mengenai aksara jawa, definisi citra, pengertian dan tujuan penipisan, klasifikasi

algoritma penipisan, termasuk algoritma yang akan digunakan dalam penelitian,

penjelasan mengenai bahasa pemrograman Java yang digunakan untuk aplikasi

pengolahan citra dokumen, serta penjelasan mengenai JMatlink yang digunakan

untuk menghubungkan Java dengan Matlab.

Bab III . Analisa Dan Perancangan Sistem

Bab ini berisi analisa sistem yang dibutuhkan dalam penelitian ini.

Berdasarkan hasil analisa sistem tersebut, akan dirancang sistem untuk

menyelesaikan masalah dalam penelitian ini.

Analisa sistem meliputi gambaran umum sistem dan analisa kebutuhan.

Sedangkan perancangan sistem meliputi proses kerja sistem.

Bab IV . Implementasi Sistem dan Analisa Hasil

Bab ini berisi penjelasan mengenai tahapan kegiatan penelitian dalam

mengubah rancangan yang telah dibuat ke dalam bentuk program dengan

(29)

JMatlink.

Bab ini juga terdapat analisa hasil penelitian yang penulis lakukan selama

penelitian.

Bab V . Penutup

Bab ini berisi kesimpulan yang dapat diambil penulis selama melakukan

penelitian, berdasarkan hasil-hasil pada bab sebelumnya, selain itu juga berisi

beberapa saran yang dapat penulis ajukan untuk pengembangan lebih lanjut.

(30)

10

BAB II

. LANDASAN TEORI

LANDASAN TEORI

Penelitian ini lebih menekankan pada proses penipisan dengan

menggunakan algoritma penipisan zhang suen dan obyek yang akan dikenai

proses penipisan berupa citra digital bertuliskan huruf jawa. Kemudian

dilanjutkan dengan mengevaluasi hasil keluaran proses penipisan. Bab ini akan

menguraikan beberapa teori dan konsep yang mendasari penelitian ini diantaranya

adalah jenis huruf Jawa, teori citra dan pengelompokannya, konsep binerisasi dan

cara mendapatkan nilai ambang, teori penipisan dan algoritma penipisan zhang

suen, serta penjelasan singkat mengenai beberapa bahasa pemrograman untuk membangun sistem untuk membantu memudahkan penelitian.

2.1.Aksara Jawa

Aksara Jawa dalam lafalan baku memiliki urutan tertentu, yang diwakili

oleh 20 aksara dasar (ha, na, ca, ra, ka, da, ta, sa, wa, la, pa, dha, ja, ya, nya, ma,

ga, ba, tha, nga) (Molen, 1993), seperti yang ditunjukkan pada Gambar 2.1.

Aksara tersebut dikenal sebagai aksara biasa yang tergolong aksara konsonan,

(31)

ha na ca Ra Ka

da ta sa Wa la

pa dha ja Ya nya

ma ga ba Tha nga

Gambar 2.1. Aksara Konsonan Jawa ( -, 2008).

2.2.Citra

Citra merupakan istilah lain dari gambar, sebagai bentuk informasi secara

visual, dengan demikian sebuah citra pasti mengandung informasi tentang obyek

yang direpresentasikan. Menurut Rinaldi Munir, citra adalah gambar pada bidang

dwimatra atau dua dimensi (Munir, 2004).

Citra secara umum dapat dikelompokkan menjadi 2 yaitu:

1) Citra tampak seperti foto keluarga, gambar burung.

2) Citra tak tampak seperti data gambar dalam file, yang sering disebut citra

digital.

(32)

menggunakan komputer, sehingga penulis menggunakan citra digital sebagai

obyek yang diteliti dalam penelitian ini, dimana citra digital yang digunakan

berbentuk citra dokumen bertuliskan aksara jawa.

Citra digital tersusun atas kumpulan titik atau elemen-elemen gambar

yang disebut piksel (picture element). Piksel merupakan elemen terkecil dari

sebuah citra digital, dengan jumlah total piksel adalah M x N, dimana M

merupakan width (nilai tinggi citra digital) dan N merupakan height (nilai lebar

citra digital). Setiap piksel memiliki nilai berupa angka digital yang

mempresentasikan informasi yang mewakili piksel tersebut.

Format nilai piksel ditentukan oleh format citra digital. Citra berdasarkan

nilai piksel dapat dikelompokan menjadi 4 macam citra

(Achmad dan Firdausy, 2005), yaitu :

1.Citra Biner

Citra biner merupakan citra yang hanya mempunyai dua nilai derajat

keabuan yaitu hitam dan putih. Setiap piksel pada citra biner memiliki nilai 0

untuk warna hitam atau 1 untuk warna putih dan hanya membutuhkan representasi

1 bit. Beberapa contoh citra biner antara lain, citra logo instansi (yang hanya

terdiri atas warna hitam dan putih), citra kode barang yang tertera pada label

barang, dan citra teks (hasil pemindaian dokumen).

Kesepakatan untuk menentukan format piksel pada citra biner bisa

berbeda-beda, seperti misalnya dengan mendeskripsikan nilai 1 sebagai warna

(33)

obyek), namun ketentuan ini bukan merupakan keharusan tergantung dari citra

biner yang dihasilkan.

0--- 0 0 0 0 --- 0 1 1 1 --- 0 0 0 1 --- 0 1 1 1 --- 0 1 1 1 (a) (b)

Gambar 2.2. (a) Citra biner, (b) Representasi citra biner dalam data digital.

2.Citra Skala Keabuan

Citra skala keabuan memberikan kemungkinan warna yang lebih banyak

daripada citra biner. Banyaknya kemungkinan nilai dan nilai maksimumnya

bergantung pada jumlah bit yang digunakan. Misalnya untuk skala keabuan 8 bit,

maka jumlah kemungkinan nilainya adalah 28 = 256, dan nilai maksimumnya adalah 28-1 = 255. Format citra ini disebut skala keabuan karena pada umumnya warna yang dipakai adalah antara hitam sebagai warna minimal dan putih sebagai

warna maksimalnya, sehingga warna antaranya adalah abu-abu.

---80 93 91

---89 126 120

---140 107 87

---84 166 84

(a) (b)

Gambar 2.3. (a) Citra Skala Keabuan; (b) Representasi citra skala keabuan dalam data digital

(34)

3.Citra Warna

Pada citra warna, setiap titik mempunyai warna yang spesifik yang

merupakan kombinasi dari 3 warna dasar, yaitu: merah, hijau dan biru. Format

citra seperti ini sering disebut sebagai citra RGB (red-green-blue). Setiap warna

dasar mempunyai intensitas sendiri dengan nilai maksimum 255 (8 bit), misalnya

warna kuning merupakan kombinasi warna merah dan hijau sehingga nilai

RGB-nya adalah 255 255 0. Dengan demikian setiap titik pada citra warna

membutuhkan data 3 byte.

Jumlah kombinasi warna yang mungkin unutk format citra ini adalah 224 atau lebih dari 16 juta warna, dengan demikian bisa dianggap mencakup semua

warna yang ada.

118 134 235 114 131 212 58 115 205 75 91 207 55 71 198 169 110 203 126 74 195 253 201 190 94 103 202 (a) (b)

Gambar 2.4. (a) Citra Warna; (b)Representasi citra warna dalam data digital

4.Citra Warna Berindeks

Jumlah memori yang dibutuhkan untuk format citra warna adalah 3 kali

jumlah titik yang ada dalam citra yang ditinjau. Di lain pihak, pada kebanyakan

kasus, jumlah warna yang ada dalam suatu citra terkadang sangat terbatas, karena

banyaknya warna dalam sebuah citra tidak mungkin melebihi banyaknya titik

dalam citra itu sendiri. Untuk kasus tersebut, disediakan format citra warna

(35)

tabel yang berisi informasi warna yang tersedia, yang disebut palet warna.

Palet warna merupakan bagian dari citra warna berindeks, sehingga pada

saat menyimpan citra ini ke dalam file, informasi palet warna juga harus

disertakan.

INDEKS R G B

0 1 2 3 4 5 ...15

108 104 198 139 110 203 124 122 195 122 93 201 130 115 198 183 168 235 110 98 200 = 5 11 9 7

= 12 0 15 3 = 2 13 10 8 = 14 4 1 6

Gambar 2.5. Citra warna berindeks dan representasinya dalam data digital.

2.3.Binerisasi

Pada tahap pra-pemrosesan, sebelum memasuki tahap penipisan, data

citra yang digunakan akan melewati beberapa tahap pra-pemrosesan salah satunya

adalah proses binerisasi. Proses ini bertujuan untuk menandai piksel-piksel dalam

citra menjadi bagian dari daerah foreground / object dan bagian dari daerah

background (O‟Gorman dan Kasturi, 1997). Sehingga melalui proses ini seluruh

piksel-piksel dalam citra akan terpisah dengan jelas antara obyek dan latarnya.

Pemisahan ini dilakukan dengan menguji apakah nilai dari piksel yang

bersangkutan lebih besar atau tidak dari nilai threshold / ambangnya. Nilai

ambang yang baik sangat dibutuhkan untuk menghasilkan keluaran berupa citra

biner yang baik pula. Salah satu algoritma pencarian nilai ambang adalah dengan

(36)

2.3.1. Algoritma Threshold Otsu

Algoritma penentuan nilai ambang (threshold) yang dikembangkan oleh

Nobuyuki Otsu, merupakan sebuah algoritma untuk memilih sebuah nilai ambang

(threshold pada level ke-k) secara otomatis dari sebuah histogram derajat keabuan

yang diperoleh dari sudut pandang analisa diskriminan. Analisa diskriminan

digunakan untuk mengevaluasi kebaikan / keefektifan dari nilai ambang yang

dihasilkan. Nilai ambang yang optimal dipilih berdasarkan kriteria diskriminan yaitu dengan memaksimalkan ukuran diskriminan (atau ukuran untuk

memisahkan kelas-kelas yang diperoleh dalam derajat keabuan). Dimana

(eta) setara dengan maksimal dari maksimal dari ukuran diskriminan

(sigma_b_kuadrat) atau varian antar kelas (between-class variance)

(Otsu, 1979).

Matlab menggunakan algoritma ini untuk menghasilkan nilai ambang

suatu citra secara otomatis, sebagai hasil keluaran dari sebuah fungsi yang diberi

nama fungsi graythresh.

Misal piksel-piksel citra diwakilkan dalam Lderajat keabuan [1,2, …, L],

dimana pada citra skala keabuan, derajat ke-i memiliki rentang nilai 1-256.

Jumlah dari piksel-piksel pada derajat ke-i, dinotasikan dengan dan jumlah total

piksel dinotasikan dengan N = n1 + n2 +

+ nL. Histogram derajat keabuan yang

sudah dinormalisasikan dianggap sebagai sebuah fungsi distribusi probabilitas /

(37)

Kemudian jumlah kumulatif dari probabilitas dan jumlah kumulatif dari

rata-rata dinotasikan sebagai berikut:

Pi= 1 dan μ (x) = i · Pi ω (x) =

dimana ω (x) adalah probabilitas moments comulative dan μ(x) adalah rata-rata

momentscomulative dari histogramnya, sampai derajat ke-x, sedangkan:

adalah rata-rata total dari citra asli.

Seperti yang telah dijelaskan sebelumnya, untuk mengevaluasi kebaikan /

keefektifan nilai ambang (threshold) yang dipilih (pada level ke-k), diberikan

suatu ukuran kriteria diskriminan (atau ukuran untuk memisahkan kelas) yang

digunakan dalam analisis diskriminan, ukuran kriteria diskriminan tersebut adalah

sebagai berikut:

Dimana, (baca: sigma_b_kuadrat) adalah variansi antar kelas, dan adalah

variansi total.

Nilai ambang optimal pada level k*, diperoleh dengan memaximalkan

ukuran kriteria diskriminan , atau setara dengan memaksimalkan nilai. Nilai

terbesar dipilih menggunakan pencarian berurut (sequential search)

berdasarkan jumlah kumulatif dari probabilitas ( ) dan jumlah kumulatif dari

rata-rata ( ).

Ukuran kriteria diskriminan dan nilai pada level ke-k, dinotasikan

(38)

Sedangkan nilai ambang optimal pada levelk*, yang didapat dari levelk* dengan

nilai terbesar, dinotasikan sebagai berikut:

Dimana nilai ambang optimal k* berada dalam rentang nilai [0, 1].

Pada Lampiran 1. – Lampiran 2. akan ditunjukkan proses penentuan

nilai ambang (threshold) untuk citra huruf jawa „ra‟ dengan menggunakan

algoritma otsu. Melalui proses tersebut citra dengan obyek huruf jawa „ra‟ yang

termasuk citra skala keabuan seperti Gambar 2.6, menghasilkan nilai ambang

sebesar 0,52549.

Gambar 2.6. Citra Huruf Jawa „Ra

2.4.Penipisan

Pada proses pengenalan pola, banyak bentuk terutama bentuk yang

mengulur atau memanjang yang dapat dinyatakan dalam bentuk yang lebih tipis.

Bentuk yang lebih tipis tersebut terdiri dari garis – garis terhubung dengan tebal

(39)

obyek, biasa disebut sebagai rangka (skeleton).

Penipisan didefinisikan sebagai proses pengurangan pola (pattern) yang

secara umum diperpanjang (elongated) ke representasi yang menyerupai garis

(Lam et al., 1992). Sedangkan menurut Rinaldi Munir, penipisan adalah operasi

pemrosesan citra biner dimana obyek direduksi menjadi rangka yang

menghampiri garis sumbu obyek (Munir, 2004). Hasil dari proses penipisan

disebut sebagai rangka (skeleton), seperti yang ditunjukan pada Gambar 2.7.

Gambar 2.7. Rangka Hasil Proses Penipisan yang didapat dari 4 Algoritma (Dawoud dan Kamel, 2003)

Syarat-syarat yang harus dipenuhi sebuah rangka adalah sebagai berikut

(Toussaint, -):

1. Ketipisan : kerangka dari dari suatu citra terdiri dari garis tipis, yang diperoleh

dengan menghapus (merubah dari hitam ke putih) secara berturut-turut

(40)

yang tersisa lebarnya satu titik.

2. Konektivitas : kerangka dari suatu obyek terhubung satu sama lain sesuai

dengan topologi aslinya.

3. Posisi: letak kerangka setelah mengalami proses penipisan, tepat ditengah

obyek.

4. Stabilitas: setelah suatu bagian kerangka diperoleh, maka bagian tersebut tidak

akan terkikis oleh operasi pengikisan berikutnya.

Hampir seluruh algoritma penipisan diterapkan pada citra biner

(Lam et al., 1992), sehingga bila data yang akan ditipiskan masih merupakan citra

warna maupun citra skala keabuan, maka pada tahap pra-pemrosesan sebelum

memasuki proses penipisan, citra tersebut diubah terlebih dahulu menjadi citra

biner melalui operasi binerisasi. Meskipun lebih banyak digunakan citra biner,

ada beberapa algoritma penipisan menggunakan citra warna maupun citra skala

keabuan sebagai data masukkan (Verwer et al., 1993).

Proses penipisan secara umum dinilai baik bila memenuhi persyaratan

sebagai berikut:

1. Mampu memperkecil ukuran data (Lam et al., 1992).

2. Menghasilkan gambar garis yang tipis dari suatu obyek, dimana garis tersebut

terdiri atas piksel-piksel yang saling terhubung (Engkamat, 2005).

3. Mampu mempertahankan keterhubungan antar piksel-piksel obyek

(konektivitas), atau dengan kata lain tidak menyebabkan bentuk obyek menjadi

(41)

4. Mampu mempertahankan ciri penting dari suatu obyek (Lam et al., 1992).

5. Menghasilkan bentuk yang menyerupai bentuk aslinya dengan tidak

mengenalkan ciri baru dari suatu obyek dimana ciri tersebut bukan merupakan

bentuk aslinya, maupun tidak menghilangkan ciri dari obyek tersebut

(Engkamat, 2005).

Tujuan dari proses penipisan adalah mengurangi bagian yang tidak perlu

hingga tersisa hanya rangkanya saja, sehingga akan dihasilkan informasi yang

penting saja (Munir, 2004). Informasi tersebut mungkin terdiri atas

struktur-struktur dari suatu obyek seperti persimpangan (junctions), titik ujung (end points)

dantitik hubung (connection points).

Beberapa keuntungan yang akan diperoleh apabila proses penipisan

berhasil dengan baik

1. Ukuran data menjadi lebih kecil sebab hanya akan dihasilkan informasi yang

penting saja, dengan demikian mengurangi penggunaan memori. (Zhang dan

Wang, 1992) dan (Lam et al., 1992).

2. Memudahkan dalam analisa struktur bentuk suatu objek sebab proses

penipisan akan mengurangi informasi yang tidak diperlukan dan hanya

dihasilkan rangka dari obyek tersebut (Dawoud dan Kamel, 2003).

3. Rangka yang dihasilkan dapat digunakan untuk proses pengenalan pola

(pattern recognition), khususnya pada character recognition yang tidak

(42)

2.4.1. Algoritma Penipisan Zhang Suen

Citra digital biner didefinikan dengan sebuah matrik IT, dimana tiap

piksel dari matrik IT (i, j) bernilai 0 atau 1. Pola dari piksel yang menjadi obyek

memiliki nilai 1. Diasumsikan bahwa tetangga dari titik (i, j) adalah (i-1, j), (i-1,

j+1), (i, j+1), (i+1, j+1), (i+1, j), (i +1, j-1), (i, j-1) and (i-1, j-1), seperti ditunjukan pada Gambar 2.8.

Algoritma zhang suen termasuk kedalam algoritma penipisan paralel,

dimana pada algoritma ini, nilai baru yang diberikan untuk sebuah titik pada

iterasi sekarang (iterasi ke- n) tergantung pada nilai yang dihasilkan pada iterasi

sebelumnya (iterasi ke-(n-1)), dimana seluruh titik yang mewakili citra tersebut

diproses secara serentak, dengan asumsi bahwa menggunakan jendela 3x3 dan

tiap titik terhubung dengan 8 titik tetangga.

Gambar 2.8. Notasi 8 Titik Tetangga dari Titik (i, j) Pada Jendela 3x3 (Zhang dan Suen, 1984)

Algoritma oleh Zhang dan Suen (Zhang dan Suen, 1984), menghilangkan

titik-titik batas yang teridentifikasi dari pola citra, kecuali titik-titik yang termasuk

kerangka dari citra. Agar dapat menghasilkan rangka dengan tetap

mempertahankan hubungan antar piksel-piksel sebuah rangka, maka setiap iterasi (i-1, j-1) (i-1, j) (i-1, j+1)

(i, j-1) (i, j+1)

(43)

dibagi kedalam dua subiterasi.

Subiterasi pertama menentukan titik-titik batas yang terletak pada batas

selatan-timur dan ujung-ujung utara-barat. Subiterasi kedua menentukan titik-titik

batas yang terletak pada batas utara-barat dan ujung-ujung selatan-timur. Kedua

subiterasi tersebut dibutuhkan dan harus dipenuhi untuk menjaga hubungan dari

pola utama pada kerangka-kerangkanya karena titik-titik yang teridentifikasi

dipindah-pindahkan secara paralel. Proses penipisan selesai apabila tidak ada titik

batas yang teridentifikasi untuk dihapus sesuai dengan kedua ketentuan subiterasi

tersebut.

Langkah pada subiterasi pertama adalah menandai semua titik kontur

untuk dihapus, jika titik kontur tersebut memenuhi seluruh kondisi dibawah ini

(Zhang dan Suen, 1984):

(1). 2 B(P1) 6

B(P1) adalah banyaknya titik tetangga dari titik P1yang bukan nol / nonzero

(Zhang dan Suen, 1984), yaitu: B(P1) = P2+ P3+ P4+... + P8+ P9. Seperti

tampak pada Gambar 2.9.

(2). A (P1) = 1

A (P1) adalah banyaknya transisi pola 0 ke 1 dari nilai piksel P2, P3, P4, ... ,

P8, P9, P10 (P10 = P2) secara berurutan, untuk operasi terhubung 8 (8 titik

tetangga). Seperti tampak pada Gambar 2.10.

(3). P2

.

P4

.

P6 = 0
(44)

Kondisi (1), digunakan untuk menunjukkan bahwa tidak ada titik

terisolasi ataupun titik ujung yang terkikis, serta untuk mencegah pengecilan

rangka (-,2008). Titik terisolasi adalah titik obyek yang semua tetangganya adalah

titik latar atau dengan kata lain banyaknya B(P1) = 0, seperti pada Gambar 2.9 (a).

Sedangkan titik ujung adalah titik obyek yang mempunyai tepat sebuah tetangga

yang merupakan titik obyek juga atau dengan kata lain banyaknya B(P1) = 1,

seperti pada Gambar 2.9 (b). Demikian juga titik yang berada dalam obyek, atau

dengan kata lain B(P1) = 8, seperti pada Gambar 2.9 (d), sedangkan titik obyek

yang memiliki tetangga berjumlah 7 titik, dimana ketujuh titik tersebut juga

merupakan titik obyek, atau dengan kata lain banyaknya B(P1) = 7, seperti pada

Gambar 2.9 (c)., tidak boleh dihilangkan untuk mencegah pengecilan rangka

(-, 2008).

Kondisi (1) dilanggar jika titik P1memiliki hanya satu atau tujuh tetangga,

bahkan tidak memiliki tetangga dari 8-tetangganya yang pikselnya merupakan

titik obyek.

Kondisi (2), digunakan untuk mempertahankan keterhubungan antar

piksel-piksel obyek (-,(2008)) (Martin dan Tosunoglu, -), di mana ketika nilai

A(P1) = 0 seperti pada Gambar 2.11 (a), maka titik P1 akan dihapus sebab

merupakan titik terasing, namun kondisi A(P1) = 0 tidak mungkin terjadi sebab

tidak memenuhi kondisi 1 karena seluruh tetangganya merupakan latar, jika

A(P1) = 1 seperti pada Gambar 2.11 (b), titik P1 dihapus maka tidak akan

(45)

menghilangkan suatu titik yang mempunyai nilai A(P1) lebih dari 1, seperti pada

Gambar 2.11 (c) nilai A(P1) = 2, Gambar 2.11 (d) nilai A(P1) = 3, dan

Gambar 2.11 (e) nilai A(P1) = 4, maka pola atau kerangka akan menjadi terputus.

Dengan demikian titik P1 pada kemungkinan tersebut tidak boleh dihapus.

Kondisi (3) dan (4) pada subiterasi pertama dipenuhi jika minimal

P4= 0 atau P6= 0 atau (P2= 0 dan P8= 0). Kedua kondisi ini menunjukkan bahwa

titik yang akan dihapus berada pada batas tepi selatan-timur atau ujung-ujung

utara-barat.

(a) B(P1) = 0 (b) B(P1) = 1 (c) B(P1) = 7 (d) B(P1) = 8 Gambar 2.9. Contoh Titik yang tidak memenuhi kondisi (1) (- , 2008)

1

A(P1) = 2

2

Gambar 2.10. Penghitungan Transisi Pola 0-1 dari Urutan Piksel

P2,P3, P4, P5, P6,P7, P8, P9 (Zhang dan Suen, 1984)

0 0 0

0 1 0

0 0 0

0 1 0

0 1 0

0 0 0

1 1 1

1 1 0

1 1 1

1 1 1

1 1 1

1 1 1

0 0 1

1 0

1 0 0

(46)

(a) A(P1) = 0 (b) A(P1) = 1 (c) A(P1) = 2 (d) A(P1) = 3

(e) A(P1) = 4

Gambar 2.11. Kemungkinan-kemungkinan Jumlah A(P1)

(Martin dan Tosunoglu, -)

Misalnya, untuk nilai P2, P3,P4,... , P8,P9, seperti pada 0.

Gambar 2.12. Contoh Penghitungan B(P1) dan A(P1)

0 0 0

0 1 0

0 0 0

0 1 0

0 1 0

0 0 0

0 1 0

0 1 0

0 1 0

1 0 1

0 1 0

0 1 0

1 0 1

0 1 0

(47)

Setelah subiterasi pertama selesai, hapus seluruh titik yang telah ditandai,

kemudian dilanjutkan dengan subiterasi kedua, yang diterapkan terhadap titik

kontur dari hasil subiterasi pertama (sebelumnya), dimana hanya kondisi (3) dan

(4) yang akan diubah, sedangkan kondisi (1) dan (2) sama seperti pada subiterasi

pertama:

(3'). P2

.

P4

.

P8 = 0

(4'). P2

.

P6

.

P8 = 0

Kondisi (3‟) dan (4‟) pada subiterasi kedua terpenuhi jika minimal

(P4 = 0 dan P6= 0) atau P2= 0 atau P8= 0. Kedua kondisi tersebut menunjukkan

bahwa titik yang akan dihapus berada pada batas ujung-ujung selatan-timur atau

batas tepi utara-barat.

Subiterasi pertama diterapkan ke seluruh titik batas pada citra biner. Jika

satu atau lebih syarat dari kondisi (1), (2), (3), dan (4) tidak dipenuhi, titik tersebut

tidak ditandai untuk dihapus. Sebaliknya, jika semua kondisi terpenuhi, maka titik

tersebut ditandai untuk dihapus. Titik–titik batas tersebut tidak dihapus terlebih

dahulu, sampai semua titik batas dievaluasi pada subiterasi pertama. Hal ini

mencegah perubahan struktur data selama eksekusi algoritma. Setelah subiterasi

pertama selesai dievaluasi terhadap semua titik batas, titik-titik yang diberi tanda

dihapus (misalnya dengan cara mengubah obyek menjadi latar atau mengubah

nilai piksel dari 1 ke 0).

Setelah subiterasi pertama selesai dilakukan, maka proses akan

(48)

subiterasi pertama. Pada subiterasi kedua, titik-titik batas juga tidak akan dihapus

terlebih dahulu, sampai semua titik dievaluasi. Selama proses evaluasi, titik hanya

akan ditandai untuk dihapus jika titik tersebut memenuhi seluruh kondisi pada

subiterasi kedua. Setelah seluruh titik pada subiterasi kedua selesai dievaluasi,

maka titik yang telah ditandai, akan dihapus.

Subiterasi pertama dan kedua diterapkan berulang-ulang, sampai tidak

ada lagi titik yang dapat dihapus.

Dari keterangan di atas, dapat diambil kesimpulan bahwa satu iterasi

pada algoritma penipisan ini terdiri atas 6 langkah, yaitu:

1. Membaca seluruh titik pada citra biner, untuk setiap titik yang merupakan

obyek citra terapkan subiterasi pertama.

2. Jika sebuah titik memenuhi ke-4 kondisi pada subiterasi pertama, tandai titik

tersebut sebagai titik yang akan dihapus.

3. Menghapus seluruh titik yang sudah diberi tanda.

4. Membaca seluruh titik citra hasil subiterasi pertama, untuk setiap titik yang

merupakan obyek citra terapkan subiterasi kedua.

5. Jika sebuah titik memenuhi ke-4 kondisi pada subiterasi kedua, tandai titik

tersebut sebagai titik yang akan dihapus.

(49)

Langkah 1-6 akan terus berulang hingga tidak ada lagi titik yang dapat

dihapus. Gambar 2.13 merupakan contoh hasil dari implementasi algoritma

penipisan zhang suen, dimana piksel yang ditandai dengan simbol “

.

” merupakan

piksel yang akan dihapus.

Pada Lampiran 3. – Lampiran 14. akan ditunjukkan proses penipisan huruf jawa „Ra‟ dengan menggunakan algoritma zhang suen. Melalui proses

tersebut, penipisan citra biner dengan obyek huruf jawa „Ra‟ yang berukuran

31x21 piksel, membutuhkan 3 kali iterasi dengan 6 kali subiterasi. Pada iterasi

ke-3 dan subiterasi ke-2, ketika seluruh piksel dievaluasi, ternyata tidak

ditemukan piksel yang akan dihapus, dengan kata lain rangka sudah terbentuk dan

(50)

(a) (b)

(c) (d)

Gambar 2.13. (a) Citra Awal, (b) Citra Hasil Subiterasi I,

(c) Citra Hasil Subiterasi II, (d) Hasil akhir Setelah Melalui Beberapa Iterasi (Zhang dan Suen, 1984)

2.4.2. Analisa Algoritma Penipisan

Menurut Jang dan Chin, algoritma penipisan dianalisa untuk

menunjukkan bahwa suatu algoritma penipisan selalu menghasilkan rangka yang

memliki ketebalan sebesar 1 piksel dan menghasilkan rangka yang saling

(51)

Menganalisa suatu algoritma diperlukan suatu alat ukur yang dapat

membuktikan apakah rangka yang dihasilkan memenuhi kriteria rangka yang

saling terhubung dengan ketebalan 1 piksel. Untuk itu pada penelitian ini penulis

akan menganalisa rangka hasil penipisan salah satu algoritma penipisan yakni

algoritma penipisan zhang suen, berdasarkan ketebalan rangka dan keterhubungan

antar piksel rangka apakah sesuai dengan topologi citra aslinya, sehingga analisa

dilakukan dengan menggunakan kedua pendekatan tersebut sesuai dengan yang

dijabarkan oleh Jang dan Chin (Jang dan Chin, 1990).

Ketentuan-ketentuan / definisi yang akan digunakan dalam analisa,

dijelaskan sebagai berikut (Jang dan Chin, 1990):

Sebuah himpunan disebut berhingga jika mengandung elemen-elemen

yang berhingga. Misalnya P adalah himpunan bagian berhingga dari Z2. Z2 adalah matrik 2 dimensi, sedangkan Z adalah himpunan bilangan bulat (integer). P

mewakili sebuah citra dengan luas yang berhingga yang seluruhnya mengandung

nilai 1, dan Q={0, 1} yaitu himpunan yang elemennya berisi 0 atau 1.

Sebuah citra biner berhingga adalah sebuah fungsi yang memetakan P ke

dalam Q. Kemudian citra biner X secara unik didefinisikan sebagai himpunan

obyek yaitu himpunan S.

S = {p P : X(p) = 1}

Kemudian mengidentifikasi citra biner dengan himpunan obyek (S).

Himpunan-himpunan ini adalah sembarang himpunan bagian dari P.

Definisi 1: Sebuah titik p mempunyai 4 tetangga yang disebut atas,

(52)

Gambar 2.14. Titik-titik ini disebut 4-neighbors dari p (atau 4-adjacent dari p).

Jika U, V S,dan beberapa titik dari U adalah 4-adjacent terhadap beberapa titik

dari V, maka U dikatakan 4-adjacent dari V.

Definisi 2: Sebuah titik p mempunyai 4 tetangga diagonal, yaitu titik e, f,

g, dan h seperti ditunjukkan pada Gambar 2.14. Ke-empat titik tersebut, bersama

dengan titik 4-neigbors seperti yang disebutkan pada definisi 1, maka akan

disebut 8-neigbors dari p (atau 8-adjacent dari p). Misalnya U, V S, dan beberapa titik dari U adalah 8-adjacent terhadap beberapa titik dari V, maka U dikatakan 8-adjacent terhadap V.

(a) (b)

Gambar 2.14. (a) 4-neigbors dan 8-neigbors dari titik p,

(b) koordinate 4-neigbors dan 8-neigbors dari titik p

Definisi 3: Sebuah 8-path ataupun 4-path yang disebut (x,y) yaitu

panjang n dari x ke y adalah sebuah urutan dari titik-titik ( x = x0, x1, x2, ...,xn = y),

dimana xi adalah 8-neigbors atau 4-neigbors dari xi-1, untuk 1 i n, seperti

ditunjukkan pada Gambar 2.15, (x,y) merupakan 8-path atau 4-path dengan

panjang n = 6 dari x ke y dengan urutan x0, x1, x2, ...,x6, dimana x1 merupakan

8-neigbors dari x0 , x2 merupakan 8-neigbors dari x1 , x3 merupakan 4-neigbors dari

x4 , begitu seterusnya hingga x6.

(-1,-1) (0,-1) (1,-1) (-1,0) (0,0) (1,0)

(-1,1) (0,1) (1,1)

e A f

d P b

(53)

Gambar 2.15. (a) 4-path dan 8-path (x,y)

Definisi 4: Misalkan x dan y adalah 2 titik yang berbeda dalam S. Titik x

disebut merupakan 8-path-connected atau 4-path-connected terhadap y, jika

terdapat sebuah 8-path ataupun 4-path, (x,y), dalam S. Definisi ini

menyiratkan bahwa jika x adalah 4-path-connected terhadap y, maka x juga

8-path-connected terhadap y. Namun keadaan sebaliknya tidak selalu terpenuhi. Definisi 5: Misalkan x S, 8-component (terkadang disebut juga sebagai

8-connected-component) atau 4-component dari S, Ks(x), didefinisikan sebagai:

Ks(x) = {y S : y adalah 8-path-connected ataupun 4-path-connected terhadap x}.

Seperti pada contoh Gambar 2.16.

X = x0 x2 x3

x1 x4

x5

(54)

(a) (b)

(c)

Gambar 2.16. (a) citra T. (b) 4-connected-component juga 8-connected

-component dari S dan S c adalah 4-connected. (c) 8-connected-component dari S

dan S c adalah 4-connected.

Definisi 6: S adalah 8-connected ataupun 4-connected jika S hanya

mempunyai satu 8-component ataupun 4-component.

Definisi 7: border dari S disebut S, yang didefinisikan oleh

S = {x : x adalah 4-adjacent terhadap y, x S, y S c }. Interior dari S

didefinisikan sebagai himpunan perbedaan antara S dan bordernya. Seperti

dijelaskan pada Gambar 2.17, (a) piksel-piksel obyek yang bernilai „1‟ adalah

anggota S, maka (b) piksel-piksel obyek yang termasuk border dan merupakan 0 0 0 0 0 1 0 0 0 0 0

0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0

(55)

4-adjacent terhadap piksel berwarna putih (S c), sedangkan (c) piksel-piksel obyek

yang termasuk interior dari S, yaitu piksel-piksel yang merupakan anggota S

tetapi bukan border.

(a) (b)

(c)

Gambar 2.17. (a) Citra T, yang memuat anggota S, (b) Border dari S,dan

(c) Interior dari S.

Definisi 8: Component dari Sc, c

S

K

, yang mengandung baris-baris

teratas dan dasar (baris pertama dan terakhir) maupun kolom paling kiri dan

paling kanan (kolom pertama dan terakhir) dari sebuah daerah segi empat

1 1 1 1 1 1

1 1 1 1 1 1

1 1 1 1 1 1

1 1 1 1 1 1 1 1 1

0 1 1 1 1 1 1 1 1 1 0

1 1 1 1 1 1 1 1 1

1 1 1 1 1 1

1 1 1 1 1 1

1 1 1 1 1 1

1 1 1 1 1 1

1 1 1 1

1 1 1 1

1 1 1 1 1

0 1 1 0

1 1 1 1 1

1 1 1 1

1 1 1 1

1 1 1 1 1 1

0 0

1 1

1 1

1 1 1 1

0 1 1 1 1 1 1 1 0

1 1 1 1

1 1

(56)

berhingga yang merupakan anggota S, disebut latar (background) dari S. Semua

komponen lain dalam Sc disebut lubang (holes) dalam S. Seperti ditunjukkan pada Gambar 2.18, (a) piksel-piksel obyek yang bernilai „1‟ adalah anggota S, maka (b)

piksel-piksel latar yang berwarna putih, diluar piksel obyek bernilai „1‟ adalah

background dari S, sedangkan (c) piksel-piksel berwarna kuning adalah holes dari

S, yaitu piksel-piksel lain yang bukan merupakan anggota S dan bukan

background.

(a) (b)

(c)

Gambar 2.18. (a) Citra T, yang memuat anggota S, (b) Background dari S,dan

(c) Holes dalam S.

X X X X X X X X X X X

X X X X

X X X

X X

X X

X X

X X X

X X

X X

X X

X X X

X X X X

X X X X X X X X X X X X X X X X X X X X X X

X 1 1 1 1 1 1 1 X X X X 1 1 1 1 1 1 1 1 X X X 1 1 v v v V v 1 1 X X 1 1 v 1 1 1 v 1 1 X X 1 1 v v v V v 1 1 X X 1 1 1 1 1 1 1 1 X X X 1 1 v v v V v 1 1 X X 1 1 v 1 1 1 v 1 1 X X 1 1 v v v V v 1 1 X X 1 1 1 1 1 1 1 1 X X X 1 1 1 1 1 1 1 X X X X X X X X X X X X X X

0 0 0 0 0 0

v v v v v

v v

v v v v v

v v v v v

v v

(57)

Definisi 9: S adalah simply connected jika S adalah 8-connected dan

tidak mempunyai holes. S disebut multiply connected jika S adalah 8-connected

tetapi mempunyai holes.

Definisi 10 : Diberikan sebuah object S yang adalah 8-connected dan Sc mengandung 4-connected component, skeleton dari S yaitu I harus memenuhi

kondisi connectivity dan one pixel thickness yang dijabarkan sebagai berikut :

2.4.2.1.One-Pixel Thickness

Suatu rangka hasil penipisan dikatakan memiliki ketebalan 1 piksel bila

tidak memuat template A = {A1, A2, A3, A4} yang berukuran 2x2, dengan struktur seperti ditunjukkan

Gambar

Gambar 2.1. Aksara Konsonan Jawa ( -, 2008).
Gambar 2.3. (a) Citra Skala Keabuan;
Gambar 2.7. Rangka Hasil Proses Penipisan yang didapat dari 4 Algoritma
Gambar 2.8.  Notasi 8 Titik Tetangga dari Titik (i, j) Pada Jendela 3x3     (Zhang
+7

Referensi

Dokumen terkait

Metode yang dilakukan pada riset ini adalah mempelajari literatur untuk pemodelan data dari karakteristik material pembentuk beton, tabel referensi dan grafik

Unsur yang membentuk biaya penuh suatu produk adalah terdiri dari biaya langsung yang berkaitan dengan produk ditambah dengan bagian biaya tidak langsung yang

Karena itu dengan menggunakan pendekatan algoritma klasifikasi data mining diharapkan untuk dapat menentukan ekstra kurikuler yang sesuai dan akan dipilih oleh

Kenaikan produksi kedelai tahun 2009 terbesar terjadi pada panen subround September-Desember sebesar 916 ton biji kering atau 85,69 persen dibandingkan dengan periode yang sama

disimpulkan oleh IBM, Big data adalah data yang memiliki scope informasi yang sangat besar, model informasi yang real-time, memiliki volume yang besar, dan berasalkan social media

• Bahwa saksi mengetahui pemohon dan termohon adalah suami istri yang telah menikah sekitar bulan Desember 2006 di Kabupaten Lombok Barat karena saksi turut

89 tanggal 19 Desember 2001 yang dibuat dihadapan Rachmat Santoso, S.H., notaris di Jakarta, disetujui Penawaran Umum Terbatas II kepada para pemegang saham dalam rangka penerbitan

kegiatan” dan “menyangkut jenis sumber daya tertentu” yang penentuanya akan diatur dalam peraturan perundang-undangan. Dengan demikian, maka penerapan asas strcit liability