PENIPISAN CITRA AKSARA JAWA MENGGUNAKAN ALGORITMA NAGENDRAPRASAD-WANG-GUPTA

PENIPISAN CITRA AKSARA JAWA
MENGGUNAKAN ALGORITMA
NAGENDRAPRASAD-WANG-GUPTA
Skripsi
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Informatika

Oleh:
SASONGKO HADI
065314062

PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2010

THE THINNING OF JAVANESE CHARACTER
IMAGE USING NAGENDRAPRASAD-WANG-GUPTA

ALGORITHM
A Thesis

Presented as a Partial Fulfillment of the Requirements
To Obtain The Sarjana Teknik Degree
In Informatics Engineering

 
 
 
 

 

By :
Sasongko Hadi
065314062

INFORMATICS ENGINEERING STUDY PROGRAM
INFORMATICS ENGINEERING DEPARTMENT

FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2010

 
iii 
 

  
iv 
 

ABSTRAK
Rangka citra digital dianggap sebagai informasi esensial sebuah obyek
yang berguna untuk menganalisis lebih lanjut seperti pengenalan karakter. Skripsi
ini mengusulkan algoritma penipisan Nagendraprasad-Wang-Gupta untuk
mendapatkan sebuah rangka yang memenuhi syarat one-pixel thickness dan
connectivity. Tujuan penelitian ini adalah untuk mengetahui apakah algoritma
Nagendraprasad-Wang-Gupta dapat menghasilkan kerangka yang baik jika

diaplikasikan kepada sejumlah citra aksara jawa. Berdasarkan dokumentasi
Nagendraprasad-Wang-Gupta, algoritma ini telah diketahui dapat digunakan
untuk penipisan citra aksara latin dan memiliki kecepatan yang relatif lebih baik
dari algoritma Wang-Zang.
Penelitian dilakukan dengan menganalisa citra rangka yang dihasilkan
oleh algoritma Nagendraprasad-Wang-Gupta menurut beberapa parameter yaitu
connectivity, one-pixel thickness, kecepatan proses penipisan, persentase jumlah
piksel yang dihapus, ukuran file input dan output penipisan dan kompleksitas
waktu algoritma. Selain itu sebagai tambahan disebarkan kuisioner kepada 50
orang responden untuk melihat kemiripan citra hasil penipisan dengan citra asli,
dimana algoritma Rosenfeld digunakan sebagai pembanding karena algoritma ini
telah diuji oleh Kristi Krisnawati dan menghasilkan rangka yang relatif baik
ketika diaplikasikan pada citra aksara jawa. Penipisan dan pengujian secara
otomatis dilakukan dengan membangun aplikasi berbasis Matlab.
Dari pengujian yang dilakukan terhadap 60 buah citra aksara jawa
diketahui bahwa citra rangka hasil penipisan menggunakan algoritma
Nagendraprasad-Wang-Gupta memenuhi syarat connectivity. Algoritma
Nagendraprasad-Wang-Gupta memiliki akurasi rata-rata one-pixel thickness
sebesar 99.64% atau relatif kurang baik dibandingkan algoritma Rosenfeld yang
memenuhi sebesar 99.98%. Algoritma Nagendraprasad-Wang-Gupta memiliki

kecepatan rata-rata proses penipisan sebesar 0.00678 detik atau relatif lebih cepat
dibandingkan algoritma Rosenfeld yang memiliki kecepatan proses penipisan
sebesar 0.03713 detik. persentase jumlah rata-rata piksel yang terhapus sebesar
84.28% atau relatif lebih baik dibandingkan algoritma Rosenfeld yang memiliki
persentase jumlah piksel terhapus sebesar 84.11%. Berdasarkan ukuran file input
dan output penipisan algoritma Nagendraprasad-Wang-Gupta berkurang sebesar
89.83% atau relatif lebih baik dibandingkan algoritma Rosenfeld yang sebesar
89.77%. Menurut 50 responden kuisioner, algoritma Nagendraprasad-WangGupta memiliki tingkat kemiripan yang lebih baik dibandingkan dengan algoritma
Rosenfeld, yaitu rata-rata sebesar 70.33% untuk algoritma Nagendraprasad-WangGupta dan 66.87% untuk algoritma Rosenfeld. Namun kedua algoritma ini sama
baiknya dalam kompleksitas waktu algoritma, yaitu O(n3) atau termasuk dalam
kategori algoritma polinomial, dengan demikian kedua algoritma tergolong
algoritma yang mangkus.

v

ABSTRACT
Skeleton of digital image was often assumed as object’s essential
information of the object which was useful for further analysis such as character
recognition. This thesis proposed Nagendraprasad-Wang-Gupta thinning
algorithm to obtain skeleton of a digital image because this algorithm has proven

generating a thin and connected skeleton. The aim of this research was finding
whether Nagendraprasad-Wang-Gupta thinning algorithm can produces skeleton
if using Javanese character image. Based on the documentation of
Nagendraprasad-Wang-Gupta, this algorithm had been known that it was able to
use in reducing thickness of character images. Besides, this algorithm has rapidity
better than Wang-Zang algorithm.
This research was done by analyzing skeleton image which was produced
by Nagendraprasad-Wang-Gupta algorithm. It was according to several
parameters; connectivity, one-pixel thickness, rapidity of thinning process, and
percentage of pixel which was deleted, file input dimension and output of the
thinning, and algorithm time complexity. Besides, questionnaires as the
instrument of this research were also distributed to 50 respondents to observe the
resemblance of the result and the original images, which Rosenfeld algorithm was
used to compare, in as much as this algorithm was tested by Kristi Krisnawati and
produced skeletons which good quality when it applied to Javanese character
images. Thinning and testing were done by building the application which had a
Matlab-based application.
From the testing which was done to 60 Javanese character images, it
produced the result that skeletons images using Nagendraprasad-Wang-Gupta
algorithm fulfilled connectivity rule. Its algorithm had one-pixel thickness mean

accuracy 99,64% or worse than Rosenfeld which had mean accuracy 99,98%. It
also had thinning rapidity 0,00678 second or more faster than Rosenfeld
algorithm, which had rapidity 0,03713 second. The percentage of the average total
number of pixels were removed using Nagendraprasad-Wang-Gupta algorithm
was 84.28% or relative better than the Rosenfeld algorithm with the percentage of
pixels removed was 84.11%. Based on input and output file size of
Nagendraprasad-Wang-Gupta algorithm after thinning was decreased by 89.83%
or relatively better than the Rosenfeld algorithm was decreased by 89.77%.
According to the 50 questionnaire respondents, the Nagendraprasad-Wang-Gupta
algorithm had a better level of similarity compared with the Rosenfeld algorithm,
with average 70.33% for the Nagendraprasad-Wang-Gupta algorithm and 66.87%
for the Rosenfeld algorithm. But both algorithms were equally good algorithm in
algorithm time complexity was O(n3) or included in the category of polynomial
algorithm, thus the both algorithms were effective algorithm.

vi

 

MOTTO


“Kalau Kamu Mau Pasti Mampu!”
(Doraemon: Petualangan Negeri Robot)

“Doing What You Can Doing!”
(Center Stage: Turn It Up)

“Believe!”
(The Polar Express)

vii 
 

 

viii 
 

 


ix 
 

KATA PENGANTAR

Puji syukur kepada Allah SWT yang telah memberikan kesempatan,
waktu, tenaga dan pikiran serta rasa, sehingga penulis dapat menyelesaikan tugas
akhir yang berjudul “Penipisan Citra Aksara Jawa Menggunakan Algoritma
Negendraprasad-Wang-Gupta” ini dengan baik.
Dalam pengerjaan tugas akhir ini, penulis tidak lepas dari bantuan
sejumlah pihak, oleh karena itu penulis ingin mengucapkan terimakasih kepada:
1. Bapak dan Ibu tercinta, atas diberikannya kesempatan dan dukungan.
2. Anastasia Rita Widiarti, S.Si., M.Kom., selaku dosen pembimbing
tugas

akhir,

atas

kesabarannya


dalam

membimbing

penulis,

memberikan waktunya, dukungan, serta saran yang sangat membantu
penulis.
3. Ermilinda Y. Pati, Bayu Sanjaya dan Tulus Wardoyo, atas bantuan
selama mengalami hambatan.
4. Responden Kuisioner, atas kerjasamannya dalam mengerjakan
kuisioner pengamatan visual.
5. 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 perbaikanperbaikan dimasa yang akan datang. Akhir kata, penulis berharap tulisan ini
bermanfaat bagi kemajuan dan perkembangan ilmu pengetahuan serta berbagai
pengguna pada umumnya.

Yogyakarta, 24 Agustus 2010

Penulis

xi 
 

DAFTAR ISI

LEMBAR JUDUL………………………………………………………..

i

HALAMAN PERSETUJUAN PEMBIMBING……………………….. iii
HALAMAN PENGESAHAN……………………………………………


iv

ABSTRAK………………………………………………………………… v
ABSTRACT………………………………………………………………. vi
MOTTO…………………………………………………………………… vii
PERNYATAAN KEASLIAN KARYA…………………………………. viii
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH
UNTUK KEPENTINGAN AKADEMIS………………………..

ix

KATA PENGANTAR……………………………………………………. x
DAFTAR ISI……………………………………………………………… xii
DAFTAR GAMBAR……………………………………………………... xvi
DAFTAR TABEL………………………………………………………… xii

BAB I : PENDAHULUAN………………………………………………. 1
1.1

Latar Belakang Masalah…………………………………… 1

1.2

Rumusan Masalah…………………………………………. 2

1.3

Tujuan……………………………………………………… 2

1.4

Batasan Masalah…………………………………………… 3

1.5

Metodologi Penelitian……………………………………... 3

1.6

Sistematika Penulisan……………………………………... 5

BAB II : LANDASAN TEORI………………………………………….. 7
2.1

Citra………………………………………………………... 7
2.1.1

Pengertian Citra……………………………….. 7

2.1.2

Format Citra…………………………………… 8

2.2

Pemrosesan Citra…………………………………………... 11

2.3

Penipisan/Thinning………………………………………... 13

2.4

Algoritma Nagendraprasad-Wang-Gupta…………………. 15
xii 

 

2.4.1

Analisa Algoritma Penipisan…………………. 22
2.4.1.1 Connectivity…………………………..

23

2.4.1.2 One-Pixel Thickness………………….. 23
2.4.1.3 Analisa menurut Jang dan Chin (1990). 23
2.4.2

Kompleksitas Waktu………………………….. 29
2.4.2.1

Kompleksitas Waktu Asimtotik…… 29

2.5

Algoritma Rosenfeld………………………………………. 36

2.6

Aksara Jawa………………………………………………… 37

BAB III : ANALISA DAN PERANCANGAN SISTEM………………. 38
3.1

Gambaran Umum Sistem…………………………………. 38

3.2

Analisa Kebutuhan Proses………………………………… 39

3.3

3.4

3.2.1

Proses Binerisasi………………………………. 39

3.2.2

Proses Penipisan……………………………….. 40

Perancangan Pengujian…………………………………… 41
3.5.1

Pengamatan Ukuran Citra…………………….. 41

3.5.2

Sum Template A dan Sum Not Critical Point….

3.5.3

One-pixel Thickness……………………………. 44

3.5.4

Sum of Pixel Object……………………………. 46

3.5.5

Sum of Remove Pixel…………………………... 47

3.5.6

Running Time…………………………………... 48

3.5.7

Connectivity……………………………………. 49

3.5.8

Waktu Asimtotik Algoritma………………….. 50

3.5.9

Pengamatan Visual……………………………. 50

Perancangan Tampilan Antarmuka………………………. 50
3.4.1

Halaman Utama………………………………. 50

3.4.2

Halaman About………………………….……... 51

3.4.3

Halaman Help…………………………………. 52

3.4.4

Halaman Input Citra…………………………... 53

3.4.5

Halaman Simpan Citra………………………... 54

3.4.6

Halaman Keluar Aplikasi……………………... 55
xiii 

 

42

3.5

Kebutuhan Perangkat Lunak Keras………………………. 56

BAB IV : IMPLEMENTASI……………………………………………… 57
4.1

Implementasi Algoritma Nagendraprasad-Wang-Gupta…. 57

4.2

Implementasi Binerisasi…………………………………… 59

4.3

Implementasi Pengujian…………………………………… 59
4.3.1

Implementasi Pengamatan Ukuran Citra…….. 60

4.3.2

Implementasi Sum Template A dan Sum Not
Critical Point…………………………………... 60

4.4

4.5

4.3.3

Implementasi One-pixel thickness…………….. 61

4.3.4

Implementasi Sum of Pixel Object……………. 62

4.3.5

Implementasi Sum of Remove Pixel.................. 62

4.3.6

Implementasi Running Time…………………… 63

4.3.7

Implementasi Connectivity……………………. 63

4.3.8

Implementasi Waktu Asimtotik Algoritma….. 64

4.3.9

Implementasi Pengamatan Visual……………. 65

Implementasi Interface……………………………………. 65
4.1.1

Halaman Utama……………………………….. 66

4.1.2

Halaman Input Citra…………………………... 67

4.1.3

Halaman Simpan Citra………………………… 68

4.1.4

Halaman About………………………………... 69

4.1.5

Halaman Help…………………………………. 70

Implementasi Error-Handling…………………………….. 71
4.2.1

Error-Handling Thining………………………. 71

4.2.2

Error-Handling Clear………………………….. 72

4.2.3

Error-Handling Save…………………………… 73

4.2.4

Error-Handling Exit…………………………… 73

BAB V: HASIL DAN PEMBAHASAN………………………………… 76
5.1. Analisa Citra Hasil Penipisan………………………………

76

5.1.1. Pengamatan Ukuran Citra…………………….. 85
xiv 
 

5.1.2. Pengamatan Sum of Remove Pixel …………… 88
5.1.3. Pengamatan Running Time……………………. 90
5.1.4. Pengujian One-Pixel Thickness……………….. 93
5.1.5. Pengujian Connectivity………………………… 96
5.2. Pengamatan Visual…………………………………………. 108
5.3. Kompleksitas Waktu……………………………………….. 112
5.4. Rangkuman Perbandingan Algoritma
Nagendraprasad-Wang-Gupta dengan Algoritma Rosenfeld. 117

BAB VI : PENUTUP…………………………………………………….. 118
6.1

Kesimpulan………………………………………………… 118

6.2

Saran……………………………………………………….. 120

DAFTAR PUSTAKA…………………………………………………….. 121
LAMPIRAN

xv 
 

DAFTAR GAMBAR
Gambar 1.1: Model Waterfall……………………………………………...

4

Gambar 2.1: Bentuk citra digital................................................................... 7
Gambar 2.2: Komposisi Citra Warna............................................................ 9
Gambar 2.3: Contoh Citra Grayscale........................................................... 10
Gambar 2.4: Contoh Citra Warna, Citra Grayscale dan Citra Biner............ 10
Gambar 2.5: Hasil sebelum dan sesudah thinning........................................ 14
Gambar 2.6: Gambar 8-tetangga................................................................... 15   
Gambar 2.7: Nilai c(p)…………………………………………………….. 16
Gambar 2.8: Citra Angka 3………………………………………………... 17
Gambar 2.9: Algoritma Nagendraprasad-Wang-Gupta …………………… 19
Gambar 2.10: B(p) bernilai 1 jika dilakukan penghapusan……………….. 20
Gambar 2.11: B(p) bernilai 7 jika dilakukan penghapusan……………….. 21
Gambar 2.12: A(p) bernilai 4 jika dilakukan penghapusan……………….. 21
Gambar 2.13: c(p) bernilai 1………………………………………………. 22
Gambar 2.14: Struktur template A ………………………………………... 23
Gambar 2.15: Struktur template B dan C………………………………….. 24
Gambar 2.16: Gambar Inisialisasi a, b, c, d ………………………………. 25
Gambar 2.17: 8-path ataupun 4-path ……………………………….. ……. 26
Gambar 2.18: (a) citra T. (b) 4-connected- component juga
8-connected- component dari S dan SC adalah
4-connected. (c) 8-connected- component juga
8-connected- component dari S dan SC adalah
4-connected…………………………………………………. 27
Gambar 2.19: (a) citra T, yang memuat anggota S (b) Border
dari S. (c) Interior dari S…………………………………… 28
Gambar 2.20: (a) citra T, yang memuat anggota S (b) Bacground
dari S. (c) Holes dari S……………………………………… 29
Gambar 2.21: Flowchart algoritma Rosenfeld (Krinawati, 2009)……….. 35
Gambar 2.22: Aksara Jawa………………………………………………… 37
xiv 
 

Gambar 3.1: Diagram Konteks…………………………………………….. 38
Gambar 3.2: DFD level 1………………………………………………….. 39
Gambar 3.3: Proses Binerisasi…………………………………………….. 40
Gambar 3.4: Pengujian Sum Template A dan Sum Not Critical Point…… .. 43
Gambar 3.5: One-pixel thickness…………………………………………..

45

Gambar 3.6: Sum of Pixel Object………………………………………….. 46
Gambar 3.7: Sum of Pixel Object………………………………………….. 47
Gambar 3.8: Running Time………………………………………………… 49
Gambar 3.9: Halaman Utama……..……………………………………… . 51
Gambar 3.10: Halaman About…………………………………………………… 52
Gambar 3.11: Halaman Help………………………………………………. 53
Gambar 3.12: Halaman Input Citra………………………………………... 54
Gambar 3.13: Halaman Simpan Citra……………………………………... 55
Gambar 3.14: Halaman Keluar Aplikasi…………………………………..

55

Gambar 4.1: Gambar citra asli, citra rangka sebelum ada D dan E dan citra
rangka sesudah ada D dan E (Carasco,-)…………………….

58

Gambar 4.2: Halaman Utama……………………………………………… 68
Gambar 4.3: Halaman Input Image………………………………………... 69
Gambar 4.4: Halaman Simpan Citra………………………………………. 70
Gambar 4.5: Halaman About………………………………………………. 71
Gambar 4.6: Halaman Help……………………………………………….. 71
Gambar 4.7: Error-Handling Thinning……………………………………. 72
Gambar 4.8: Error-Handling Thinning 2………………………………….. 72
Gambar 4.9: Error-Handling Thinning 3………………………………….. 73
Gambar 4.10: Error-Handling Clear 1……………………………………

73

Gambar 4.11: Error-Handling Clear 2……………………………………. 74
Gambar 4.12: Error-Handling Clear 3……………………………………. 74
Gambar 4.13: Error-Handling Save 4……………………………………..

74

Gambar 4.14: Error-Handling Save 5……………………………………..

75

Gambar 4.15: Error-Handling Save 6……………………………………..

75

Gambar 4.16: Error-Handling Exit 1……………………………………… 76
xv 
 

Gambar 4.17: Error-Handling Exit 2……………………………………… 76
Gambar 5.1: Gambar Citra Ba_1 kerangka………………………………… 98
Gambar 5.2: Gambar Citra Ba_1 kerangka terhadap citra asli……………. 99
Gambar 5.3: Gambar Citra Ca_2 kerangka………………………………. 100
Gambar 5.4: Gambar Citra Ca_2 sesudah Binerisasi…………..………… 101
Gambar 5.5: Gambar Citra Ca_2 Asli/ Sebelum Binerisasi ………………… 103
Gambar 5.6: Gambar Citra Da_2.JPG Asli/ Sebelum Binerisasi………… 105
Gambar 5.7: Gambar Citra Da_2.JPG Sesudah Binerisasi……………….. 106
Gambar 5.8: Gambar Citra Da_2.JPG Sesudah Penipisan……………….. 107

xvi 
 

 

DAFTAR TABEL
Tabel 2.1: Pengelompokan Algoritma Berdasarkan Notasi O-Besar…… 34
Tabel 5.1: Data Citra Input dan Output ………………………………… 76
Tabel 5.2: Hasil Pengamatan Ukuran Citra …………………………….. 86
Tabel 5.3: Hasil Pengamatan Jumlah Piksel Terhapus………………..... 88
Tabel 5.4: Hasil Pengamatan Waktu Komputasi ……………………..... 91
Tabel 5.5: Hasil Pengujian One-Pixel Thickness ………………………….

93

Tabel 5.6: Hasil Pengamatan Visual …………………………………….. .. 108
Tabel 5.7: Persentase Hasil Pengamatan Visual ………….…………….. 110
Tabel 5.8: Perbandingan Algoritma Nagendraprasad-Wang-Gupta
dengan Algoritma Rosenfeld…………………………………. 117

xvii 
 

BAB I
PENDAHULUAN
.
1.1

Latar Belakang
Bangsa Indonesia telah mengenal tulisan sejak waktu yang lampau.
Salah satu tulisan lampau itu adalah tulisan aksara Jawa, seperti umumnya
tulisan kuno, aksara jawa banyak ditulis pada buku, kertas dan lontar. Sebuah
media yang memiliki kemungkinan untuk mengalami kerusakan, baik oleh
rayap, sobek dan basah serta termakan oleh zaman. Selain itu, huruf-huruf
kuno seiring perkembangan zaman menjadi sebuah huruf asing yang sudah
tidak lagi dikenali oleh orang-orang sehingga banyak naskah-naskah kuno
jawa tidak dapat dipahami.
Proses digitalisasi merupakan salah satu langkah penting yang dapat
digunakan untuk mempermudah mengungkap isi dari naskah-naskah kuno dan
melindungi naskah-naskah kuno jawa dari kemungkinan kerusakan. Salah satu
bagian dari proses digitalisasi naskah-naskah kuno jawa adalah dengan
penipisan.

Proses penipisan adalah salah satu tahap untuk mendapatkan

rangka/skeleton dari aksara jawa. Rangka ini memiliki fungsi sebagai
informasi esensial dari aksara jawa agar dapat menjadi acuan untuk proses
pengenalan karakter aksara jawa.
Melihat pentingnya proses penipisan dalam proses digitalisasi naskahnaskah kuno, penulis ingin ikut serta menjadi bagian dalam proses digitalisasi
naskah-naskah kuno. Dalam hal ini penulis akan melakukan proses penipisan

1

2

menggunakan algoritma Nagendraprasad-Wang-Gupta. Algoritma ini salah
satu algoritma yang dapat digunakan untuk melakukan proses penipisan yang
memiliki keunggulan dalam kecepatan yang lebih baik dibandingkan
algoritma Wang-Zang ketika diuji cobakan pada huruf latin (Nagendraprasad,
1993). Sehingga algoritma Nagendraprasad-Wang-Gupta patut untuk di uji
coba terhadap data citra aksara jawa utuk mendapatkan hasil skeleton yang
lebih baik.

Dalam hal ini penulis melakukan pengujian connectivity,

ketebalan (One-pixel thickness), pengamatan ukuran citra, pengamatan jumlah
piksel terhapus, pengamatan waktu komputasi, kompleksitas waktu dan
pengamatan visual dengan menggunakan pembanding algoritma Rosenfeld
yang telah terbukti dengan baik untuk melakukan penipisan citra aksara jawa
(Krisnawati, 2009).
1.2

Rumusan Masalah
Dari latar belakang di atas, masalah dapat dirumuskan sebagai berikut:
1. Bagaimana cara kerja algoritma Nagendraprasad-Wang-Gupta?
2. Bagaimana mengimplementasikan algoritma Nagendraprasad-WangGupta pada penipisan citra aksara jawa dengan matlab?
3. Apakah algoritma Nagendraprasad-Wang-Gupta dapat menghasilkan
kerangka citra aksara jawa yang memenuhi kriteria operasi penipisan?

1.3

Tujuan
Tujuan penelitian skripsi ini adalah untuk mengetahui cara kerja
algoritma Nagendraprasad-Wang-Gupta terhadap hasil berupa kerangka dari

3

data citra berupa aksara jawa dengan membuat aplikasi Matlab, serta untuk
mengetahui apakah algoritma Nagendraprasad-Wang-Gupta merupakan
algoritma yang efektif untuk melakukan proses penipisan citra aksara jawa,
sesuai dengan syarat-syarat penipisan yaitu connectivity, ketebalan (Onepixel thickness), dengan tambahan pengamatan ukuran citra, pengamatan
jumlah piksel terhapus, pengamatan waktu komputasi, kompleksitas waktu
dan pengamatan visual dengan menggunakan pembanding algoritma
Rosenfeld yang telah terbukti dengan baik untuk melakukan penipisan citra
aksara jawa (Krisnawati, 2009).
1.4

Batasan Masalah
Dalam membuat program implementasi algoritma NagendraprasadWang-Gupta pada penipisan citra aksara jawa ini ditentukan

beberapa

batasan masalah sebagai berikut:
1. Citra yang diproses adalah citra biner atau citra skala keabuan
(grayscale) dengan ekstensi *.jpg.
2. Program dibuat dengan matlab.
3. Proses yang dilakukan program adalah proses penipisan sebagai
proses tambahan adalah proses binerisasi. Proses ini dilakukan
sebagai preprocessing dari citra masukan yang bukan biner
sehingga dapat diproses oleh program.
4. Pengujian hasil penipisan yang dilakukan adalah pengujian
connectivity, one-pixel thickness, pengamatan ukuran citra hasil
penipisan, pengamatan jumlah piksel terhapus, pengamatan

4

waktu komputasi/ running time, kompleksitas waktu dan
pengamatan visual dengan pembanding algoritma Rosenfeld.
1.5

Metodologi Penelitian
Metodologi penelitian dilakukan sebagai berikut:
1. Studi pustaka yang bertujuan untuk mempelajari teori citra dan proses
pengolahan citra digital untuk penipisan menggunakan algoritma
Nagendraprasad-Wang-Gupta.
2. Pengembangaan program aplikasi menggunakan model Waterfall
(Pressman, 1997).

System
Engineering
Analisis
Desain
Implementasi
Pengujian

Gambar 1.1: Model Waterfall
Tahapan:
-

System Enginering
System Enginering adalah tahap untuk mengumpulkan dan
menentukan semua kebutuhan elemen sistem.

-

Analisis
Analisis

adalah

tahap

untuk

menentukan

analisis

terhadap

permasalahan yang dihadapi dan menentukan kebutuhan software.

5

Kebutuhan tersebut meliputi performance dan interfacing.
-

Desain
Desain adalah proses menterjemahkan kebutuhan sistem ke dalam
sebuah gambaran program.

-

Implementasi
Implementasi merupakan proses penterjemahan desain ke dalam
bentuk yang dapat dieksekusi.

-

Pengujian
Pengujian memastikan apakah semua fungsi-fungsi program berjalan
dengan baik dan menghasilkan output yang sesuai dengan yang
dibutuhkan.

3. Menganalisa hasil yang diperoleh dari penipisan dengan syarat-syarat
hasil penipisan citra yang sudah ditentukan sebelumnya dan mengambil
kesimpulan dari percobaan yang telah dilakukan.
1.6

Sistematika Penulisan
Berikut ini akan dijabarkan sistematika penulisan sebagai berikut:
BAB I: PENDAHULUAN
Bab ini berisi tentang latar belakang masalah, rumusan masalah,
tujuan penelitian, batasan masalah, metodologi penelitian dan sistematika
penulisan.
BAB II : LANDASAN TEORI
Bab ini membahas tentang citra, algoritma Nagendraprasad-WangGupta dan pengujian yang dilakukan.

6

BAB III : ANALISA DAN PERANCANGAN SISTEM
Bab ini berisi rancangan aplikasi yang akan dibuat. Hal-hal yang
akan dirancang seperti algoritma program, diagram alir dari algoritma
program dan desain user interface aplikasi yang akan dibuat.
BAB IV : IMPLEMENTASI
Berisi tentang implementasi hasil dari analisis dan perancangan
sistem dalam bentuk program (proses, interface dan cara kerja program).

BAB V : HASIL DAN PEMBAHASAN
Bab ini menyajikan hasil penelitian berupa hasil percobaan dan
kuisioner, dan analisa terhadap hasil penelitian tersebut yang ditinjau dari
syarat-syarat penipisan citra.
BAB VI : PENUTUP
Bab ini berisi tentang kesimpulan yang dapat diambil dari
pembahasan sebelumnya. Serta saran yang diperlukan untuk pengembangan
selanjutnya.

BAB II
LANDASAN TEORI

Dalam bab ini dituliskan landasan teori yang menjadi acuan pengerjaan
skripsi:

2.1 Citra
2.1.1 Pengertian Citra
Citra adalah gambar pada bilangan dwi matra (dua dimensi)
(Munir, 1994). Citra terbagi menjadi dua yaitu citra kontinyu dan citra
diskrit, agar semua citra dapat diolah dengan komputer digital, maka
suatu citra harus direpresentasikan secara numerik dengan nilai-nilai
diskrit. Representasi citra dari fungsi malar (kontinyu) menjadi nilainilai diskrit disebut dengan digitalisasi citra dan citra yang dihasilkan
disebut dengan citra digital. Pada umumnya citra digital terbentuk
empat persegi panjang dengan dimensi ukuran dinyatakan sebagai
tinggi x lebar (atau lebar x panjang) (Munir, 2004) seperti yang
ditunjukkan pada gambar Gambar 2.1.

Tinggi

Lebar

Lebar

Panjang

Gambar 2.1: Bentuk citra digital
7

8

2.1.2 Format Citra Digital
Menurut intensitas warna format citra digital dapat dikategorikan
seperti berikut:

1. Citra RGB (True Color)
Citra RGB merupakan citra yang memiliki 3 komponen
channel yaitu Red, Green dan Blue. Setiap channel memiliki nilai
intensitas yang berbeda, tergantung warna yang direpresentasikan.
Untuk monitor komputer, nilai rentang paling kecil = 0 dan paling
besar = 255. Pilihan skala 256 ini didasarkan pada cara mengungkap
8 digit bilangan biner yang digunakan oleh mesin komputer.
Dengan cara ini, akan diperoleh warna campuran sebanyak 256 x
256 x 256 = 1677726 jenis warna. Sebuah jenis warna, dapat
dibayangkan sebagai sebuah vektor di ruang 3 dimensi yang
biasanya dipakai dalam matematika, koordinatnya dinyatakan dalam
bentuk tiga bilangan, yaitu komponen-x, komponen-y dan
komponen-z. Misalkan sebuah vektor dituliskan sebagai r = (x,y,z).
Untuk warna, komponen-komponen tersebut digantikan oleh
komponen R(ed), G(reen), B(lue). Jadi, sebuah jenis warna dapat
dituliskan sebagai berikut: warna = RGB (30, 75, 255). Putih =
RGB (255,255,255), sedangkan untuk hitam= RGB (0,0,0).

9

Gambar 2.2: Komposisi Citra Warna
(Sumber: www.ittelkom.ac.id)

2. Citra Grayscale
Citra grayscale merupakan citra menggunakan fungsi
intensitas untuk menentukan warna. Fungsi intensitas yang
digunakan adalah fungsi intensitas warna keabuan (hitam-putih).
Fungsi intensitas warna yang digunakan pada citra grayscale
memiliki kedalaman piksel yang berbeda-beda. Namun, pada
kebanyakan aplikasi, citra grayscale dikuantisasi pada level 256
dan membutuhkan 1 byte (8 bit) untuk merepresentasikan setiap
pikselnya.

10

Gambar 2.3: Contoh Citra Grayscale
(Sumber: www.ittelkom.ac.id)

3. Citra Biner
Citra biner atau citra monokrom merupakan citra yang
memiliki 2 kemungkinan warna pada setiap pikselnya. Citra biner
hanya dikuantisasikan pada 2 level yaitu 0 dan 1, sehingga setiap
piksel pada citra cukup direpresentasikan dengan 1 bit (0 dan 1).

Gambar 2.4: Contoh Citra Warna, Citra Grayscale dan Citra Biner
(Sumber: www.ittelkom.ac.id)

……….. (2.1)

Jika

=0 dan

=

1,

maka operasi ini

akan

mentransformasikan suatu citra menjadi citra biner. Misal suatu

11

citra memiliki gray level 256, dipetakan menjadi citra biner, maka
fungsi trasformasinya adalah sebagai berikut:
……… (2.2)

piksel-piksel yang nilai intensitasnya di bawah 128 diubah menjadi
hitam (nilai intensitas = 0), sedangkan piksel-piksel yang nilai
intensitasnya di atas 128 diubah menjadi putih (nilai intensitas =1).

2.2 Pemrosesan Citra
Analisa dokumen citra memiliki tujuan untuk mengenali komponen
tulisan dan gambar yang terkandung dalam citra serta mengambil informasi
yang ada dalam citra. Analisa citra dokumen mempunyai 2 komponen penting
yaitu tekstual dan pemrosesan grafis.
Pemrosesan citra merupakan salah satu tahap dalam analisa dokumen
citra yang berfungsi untuk mempersiapkan citra untuk dianalisa. Pemrosesan
citra sendiri mempunyai tujuan agar citra dapat lebih mudah untuk diproses.
Dalam pemrosesan citra, beberapa tahap yang akan dilakukan dapat
dijabarkan sebagai berikut:

1.

Grayscaling
Citra grayscale merupakan citra dimana representasi setiap piksel
diwakili dengan hanya satu jenis

atau satu nilai warna dalam skala

keabuan. Untuk mendapatkan nilai intensitas keabuan, maka dapat

12

dihitung dengan menjumlahkan 30% dari nilai channel red pada citra
RGB, 59% channel green, dan 11% channel blue. Hasil penjumlahan dari
setiap elemen tersebut yang kemudian direpresentasikan dalam setiap
channel red, green dan blue dengan intensitas yang sama.

2.

Tresholding
Tresholding yang disebut juga dengan gray-level segmentation
(pemisahan warna dalam skala keabuan) merupakan proses pengubahan
dari sebuah citra dengan skala keabuan menjadi citra biner atau citra
dengan 2 intensitas warna yaitu hitam dan putih.
Salah satu algoritma yang digunakan untuk tresholding adalah
algoritma Otsu. Tujuan dari metode Otsu adalah membagi histogram citra
gray level ke dalam dua daerah yang berbeda secara otomatis tanpa
membutuhkan bantuan user untuk memasukkan nilai ambang. Pendekatan
yang dilakukan oleh metode Otsu adalah dengan melakukan analisis
diskriminan yaitu menentukan suatu variabel yang dapat membedakan
antara dua atau lebih kelompok yang muncul secara alami. Analisis
Diskriminan akan memaksimumkan variable tersebut agar dapat membagi
piksel citra on (foreground) dan latarbelakang (background).
Formulasi dari metode Otsu adalah sebagai berikut. Nilai Ambang
yang akan dicari dari suatu citra gray level dinyatakan dengan k. Nilai k
berkisar antara 1 sampai dengan L, dengan nilai L = 255. Probabilitas
setiap piksel pada level ke i dapat dinyatakan:

13

……….. (2.3)

dengan :
ni menyatakan jumlah piksel pada level ke i
N menyatakan total jumlah piksel pada citra.

Nilai Zeroth Cumulative Moment, First Cumulative Moment, dan total
nilai mean berturut-turut dapat dinyatakan dengan rumus berikut:

……….. (2.4)

Nilai ambang k dapat ditentukan dengan memaksimumkan
persamaan :

……….. (2.5)

2.3 Penipisan
Secara umum penipisan dapat dinyatakan sebagai proses pereduksian
wilayah dari tepi objek berupa citra hingga yang tersisa merupakan garis

14

tengahnya saja

atau dapat disebut juga sebagai rangka atau skeleton.

Penipisan memiliki definisi 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 piksel citra on direduksi menjadi
rangka yang menghampiri garis sumbu piksel citra (Munir, 2004). Skeleton
atau kerangka menurut J.R. Perker (1997), diasumsikan sebagai representasi
bentuk dari suatu piksel citra on dalam jumlah piksel on yang relatife kecil,
yang dimana kesemuanya merupakan bagian yang struktural dan oleh karena
itu representasi itu dibutuhkan. Sebuah kerangka diharapkan dapat
memberikan representasi bentuk dari piksel citra on dalam jumlah piksel on
yang lebih kecil.
Dalam konsep yang telah dikembangkan oleh banyak orang, J.R. Parker
(1997), mengatakan bahwa tidak semua piksel citra dapat dikenai operasi
penipisan, dan hasil dari operasi penipisan yang disebut sebagai kerangka
mempunyai kemungkinan untuk tidak berfungsi di semua situasi. Contoh
rangka/skeleton hasil dari proses penipisan ditunjukkan pada Gambar 2.5.

Gambar 2.5: Hasil sebelum dan sesudah penipisan
(sumber http://www.cs.mcgill.ca)

15

2.4 Algoritma Nagendraprasad-Wang-Gupta
Algoritma Nagendraprasad-Wang-Gupta merupakan algoritma penipisan
yang dikembangkan dari algoritma Wang-Zhang (1989) yang memiliki fungsi
untuk membentuk rangka yang memiliki konektivitas dari suatu citra yang
dibentuk kerangkanya (Carasco, -). Algoritma ini merupakan algoritma
penipisan paralel, dimana 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 setiap piksel
terhubung dengan 8 titik tetangga seperti pada gambar Gambar 2.6.

Gambar 2.6: Gambar 8-tetangga

Dalam melakukan pemrosesan, citra akan disimpan dalam matrik
Q dan mengikuti fungsi yang diberikan melalui algoritma dengan langkah
sebagai berikut:
1. awal: fungsi bahwa:
a. menghitung jumlah contour loop m;
b. menghitung contour point pertama FIRST[k], dan titik sebelumnya,
PREV[ k], untuk setiap contour loop L[k], (k = 1, 2,..., m); dan
c. set nilai awal dari variabel loop decision untuk h [k] =1. h[k]= 1 berarti
bahwa titik contour loop perlu ditipiskan.

16

2. loop-end-test (k): fungsi untuk uji coba apakah k contour loop diakhiri.
3.

Countour (p): sebuah fungsi untuk melihat dimana sebuah titik ada pada
garis atau tepi citra atau tidak.

4.

Successor (z,p): fungsi yang menghitung titik penerus dari titik
sebelumnya (x) sesuai dengan urutan searah jarum jam sekitar tetangga p
untuk memenuhi titik gelap pertama.

5. Deletion (Q,p): sebuah fungsi yang digunakan untuk menghapus sebuah
titik p di dalam Q (merubah piksel 1 menjadi 0) jika memenuhi 2 kondisi:
a.

1