• Tidak ada hasil yang ditemukan

PE IPISA CITRA AKSARA JAWA ME GGU AKA ALGORITMA GE ERIC THI I G

N/A
N/A
Protected

Academic year: 2019

Membagikan "PE IPISA CITRA AKSARA JAWA ME GGU AKA ALGORITMA GE ERIC THI I G"

Copied!
146
0
0

Teks penuh

(1)

PE IPISA CITRA AKSARA JAWA

ME GGU AKA ALGORITMA GE ERIC

THI

I G

Oleh:

DA IEL A TO IUS KRISTA TO

075314050

PROGRAM STUDI TEK IK I FORMATIKA

JURUSA TEK IK I FORMATIKA

FAKULTAS SAI S DA TEK OLOGI

U IVERSITAS SA ATA DHARMA

YOGYAKARTA

(2)

THE THI

I G OF JAVA ESE CHARACTER

IMAGE USI G GE ERIC THI

I G

ALGORITHM

! "#

$ %

By:

DA IEL A TO IUS KRISTA TO

075314050

I FORMATICS E GI EERI G STUDY PROGRAM

I FORMATICS E GI EERI G DEPARTME T

FACULTY OF SCIE CE A D TECH OLOGY

SA ATA DHARMA U IVERSITY

(3)
(4)
(5)

! "

#

$ %& % & %' '

(

#

)*

+) ,+- %

.**- %

* ( %

' %(

/*

,/-$ %& % %

* **)0+

% 1+

(6)
(7)
(8)

! "

# # $ "

%

! " &' ( )*&&

(9)

+

,-, ,. / , ,

0 ( /

" , ( 1

ama : Daniel Antonius Kristanto

IM : 075314050

( "

, ( 2 1

3Penipisan Citra Aksara Jawa Menggunakan Algoritma Generic Thinning”

. 4 5% (

, ( "

" !

" # "

6

! #

%

( %

! " &' ( )*&&

(10)

KATA PE

GA

TAR

! " # $ % & '

() *+ ! , -$ . ) $ $

/ 0 ) 1

$ &

2

* , & &

3 4 5 ) ) # $ $

"

6 . "

'

(11)

8 $

9 )

"

)

$

(12)

DAFTAR ISI

LEMBAR JUDUL... i

HALAMA PERSETUJUA PEMBIMBI G... iii

HALAMA PE GESAHA ...iv

ABSTRAK... v

ABSTRACT... vi

MOTTO... vii

PER YATAA KEASLIA HASIL KARYA... viii

PER YATAA PERSETUJUA PUBLIKASI KARYA ILMIAH U TUK KEPE TI GA AKADEMIS... ix

KATA PE GA TAR... x

DAFTAR ISI...xii

DAFTAR GAMBAR... xv

DAFTAR TABEL... xvii

(13)

( ( '

Connecitivity

One pixel Thickness +

( $ , #

Line of Points Determine Skew Angle

0% ! / 1

GrandUniforming +

FinalThinImage #

* ! 2

. " 2

Sum of Pixel Object &

Sum of Remove Pixel

Sum Template A Sum )ot Critical Point One pixel Thickness

Running Time

+ Connectivity

/ - / - /

BAB IV:IMPLEME TASI... 46

3 '

3 ' ( ) *

(14)

4

3 ' FinalThinImage &

3 ' GrandUniforming

3 '

3 ' . "

3 ' Sum of Pixel Object...

3 ' Sum of Remove Object

3 ' Sum Template A Sum )ot Critical Point

3 ' One pixel Thickness +

3 ' Connectivity 2

+ 3 ' Running Time. &

BAB V: HASIL DA PEMBAHASA ... 61

( " 5 '

. " +&

Sum of Remove Pixel... +

Running Time ... +

One pixel Thickness ++

Connectivity +2

(15)

waterfall

grayscale

! " ! #

$

! ! %

! ! MakeTwoTone &

(16)
(17)

! "# $ %

& % '

( ) # * &

+ ,! ,* - .# / - 0 1

(18)

BAB I

PE DAHULUA

1.1 Latar Belakang

!

! "

!

!

# !

#

$ %

(19)

! " !

# $ # %! et al && '

connectivity

Sum Template A Sum ot Critical Point One pixel Thickness Sum of

Pixel Object Sum of Remove Pixel Running Time

( ) % &*&' + # %, &&-'

(20)

1.1 Rumusan Masalah

+ 1

* $ 2

$

2 0

2 3

( )

+ # ) . . ! 2

1.3 Tujuan

1

* /

/

# #

0 /

3 /

( ) + # )

(21)

1.4 Batasan Masalah

1

* 4

(

) + # ) . . ! 4

%grayscale' 5

connectivity

Sum Template A Sum ot Critical Point One pixel

Thickness Sum of Pixel Object Sum of Remove Pixel %

' Running Time.

0 /

3

preprocessing

1.5 Metodologi Penilitian

1

* /

/

/ / waterfall

(22)

Gambar 1.1: / waterfall

1

System Engineering

8

9

System Engineering

8

(23)

/ # #

output

0 / output

1.6 Sistematika Penulisan

! 1

BAB I: PE$DAHULUA$ $

BAB II: LA$DASA$ TEORI $

BAB III: A$ALISA DA$ PERA$CA$GA$ SISTEM $

(24)

BAB IV: IMPLEME$TASI $

% '

BAB V: HASIL DA$ PEMBAHASA$ $

(25)

BAB II

LA DASA TEORI

2.1 Citra

!

" # $

% $ %

& '

( (

! )

* )& # ++,* " #

#

) # ++ * !

# #

(26)

y

lebar

x x1

y1

Pada umumnya citra digital berbentuk persegi panjang dengan dimensi ukuran dinyatakan sebagai panjang lebar atau tinggi lebar

(Munir, 2004) seperti yang ditunjukkan pada Gambar 2.1.

Dimensi citra digital

Citra digital dapat didefinisikan sebagai fungsi dua variabel, yaitu , di mana dan adalah koordinat spasial dan

nilai adalah intensitas citra pada koordinat tersebut (Simanjuntak, 2009), hal tersebut diilustrasikan pada Gambar 2.2 di bawah ini.

Contoh koordinat pada citra tinggi

panjang lebar

(27)

Pertemuan antara kedua garis putus)putus menunjukkan koordinat piksel citra digital, yaitu pada . Nilai merupakan

intensitas citra pada koordinat tersebut .

2.1.2 Jenis Citra Digital

Menurut intensitas warna, citra digital dapat dikategorikan sebagai berikut:

1. Citra RGB (True Color)

Citra RGB merupakan citra digital yang mengandung matriks data berukuran m x n x 3 yang merepresentasikan warna merah,

hijau, dan biru untuk setiap pikselnya. Setiap warna dasar diberi rentang nilai (Simanjuntak, 2009).

Monitor komputer mempunyai nilai rentangnya 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

(28)

dituliskan sebagai berikut: warna = RGB(30, 75, 255) (Rachmawati, 2008).

Komposisi Citra Warna (sumber:

http://www.ittelkom.ac.id/, diakses tanggal 20 Februari 2011)

Gambar 2.3 menunjukkan beberapa contoh warna yang

ditulis menurut komponen RGB. Warna tersebut antara lain kuning = (255,255,0), hijau = (0,255,0), cyan = (0,255,255), biru = (0,0,255),

(29)

2. Citra

Citra atau citra beraras keabuan adalah citra yang

hanya menggunakan warna pada tingkatan warna abu)abu. Warna abu)abu adalah satu)satunya warna pada ruang RGB mempunyai intensitas yang sama (Febrianty, 2008), misalnya abu)abu = RGB

(127,127,127). Oleh karena itu, citra disebut juga citra intensitas. juga dapat dikatakan sebagai warna)warna

piksel yang berada dalam rentang gradasi warna hitam dan putih (Rachmawati, 2008).

3. Citra Biner

Citra biner atau citra monokrom merupakan citra yang

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

(Hadi, 2010). Citra biner merupakan citra yang telah melalui proses pemisahan piksel ) piksel berdasarkan derajat keabuan yang dimiliki.

Pembentukan citra biner memerlukan nilai batas keabuan yang akan digunakan sebagai nilai patokan. dengan derajat keabuan lebih besar dari nilai batas akan diberi nilai 1 dan sebaliknya piksel dengan

(30)

Contoh citra warna, citra dan citra biner

(sumber: http://www.ittelkom.ac.id/, diakses tanggal 20 Februari 2011)

...(2.1) Jika a1 =0, a2 = 1, dan T adalah nilai intensitas warna, maka operasi ini akan mengubah suatu citra menjadi citra biner. Misal

suatu citra memiliki level 256, dipetakan menjadi citra biner, maka fungsi)fungsi transformasinya adalah sebagai berikut:

...(2.2) yang nilai intensitasnya di bawah 128 diubah menjadi hitam (nilai intensitas = 0), sedangkan yang nilai

(31)

205 128 0

215 127 100

99 129 254

Contoh citra warna dalam bentuk digital yang diubah menjadi citra biner

Gambar 2.5 menunjukkan contoh citra warna yang diubah menjadi citra biner. Piksel yang intensitasnya di bawah 128 diubah

menjadi hitam (intensitas=0), sedangkan yang di atas atau sama dengan 128 diubah menjadi putih (intensitas=1).

Pengolahan citra digital merupakan proses yang bertujuan untuk

memanipulasi dan menganalisis citra dengan bantuan komputer. Pengolahan citra digital dapat dikelompokkan dalam dua jenis kegiatan :

1. Memperbaiki kualitas suatu gambar, sehingga dapat lebih mudah

diinterpretasi oleh mata manusia.

2. Mengolah informasi yang terdapat pada suatu gambar untuk keperluan

pengenalan obyek secara otomatis (Kausari, 2009).

Pemrosesan citra merupakan salah satu tahap dalam analisa citra yang berfungsi untuk mempersiapkan citra untuk dianalisa. Tujuan

mempersiapkan citra agar, citra dapat lebih mudah untuk diproses.

1 1 0

1 0 0

(32)

Tahap)tahap yang akan dilakukan dalam pemrosesan citra antara lain sebagai berikut.

1.

adalah proses mengubah sebuah citra menjadi citra

. Citra merupakan citra yang representasi setiap piksel diwakili dengan satu nilai warna dalam skala keabuan. Proses untuk

mendapatkan nilai intensitas keabuan adalah dengan menjumlahkan 30% dari nilai , 50% , dan 11% pada citra RGB. Hasil penjumlahan tersebut kemudian direpresentasikan dalam intensitas yang

sama pada dan .

2.

merupakan proses mengubah sebuah citra

menjadi citra biner atau citra dengan 2 intensitas warna yaitu hitam dan

putih. disebut juga dengan .

adalah pemisahan warna dalam skala keabuan (Hadi,

2010).

Penipisan atau adalah proses mereduksi piksel sebanyak mungkin dari sebuah pola tanpa merubah bentuk umum dari pola

(33)

citra direduksi menjadi rangka yang menghampiri garis sumbu piksel citra (Munir, 2004). Kerangka atau diasumsikan sebagai representasi

bentuk dari suatu piksel citra dalam jumlah piksel yang relatif kecil, yang mana semuanya merupakan bagian yang struktural dan oleh karena itu representasinya dibutuhkan (Parker, 1997). Dengan kata lain, setelah

mereduksi piksel, pola tersebut harus tetap bisa dikenali. Hasil penipisan harus setipis mungkin, tetap tersambung ( , memenuhi syarat )

dan rangka merupakan bagian tengah dari pola yang ditipiskan seperti pada Gambar 2.6. Citra sesudah penipisan tersebut terlihat merupakan bagian tengah dari pola citra aslinya.

Banyak orang mengembangkan konsep penipisan, namun menurut J.R. Parker (1997), 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 citra sebelum dan sesudah penipisan (sumber:

(34)

Algoritma Generic Thinning merupakan algoritma penipisan yang

diusulkan oleh S. Ahmed, M. Sharmin dan Chowdhury Mofizur Rahman (2002). Algoritma Generic Thinning memiliki beberapa langkah, yaitu:

1. ! "

! " adalah proses pertama dari langkah penipisan.

Proses yang dilakukan adalah mengubah citra masukan seperti pada

Gambar 2.7 menjadi citra baru yang disimpan ke dalam array dua dimensi yang hanya terdiri dari warna hitam dan putih. Diasumsikan warna putih (0) merepresentasikan latar ( ) dan warna hitam (1)

merepresentasikan warna obyek ( ) seperti pada Gambar 2.8 berikut ini.

(35)

Citra setelah dikenai proses ! " (sumber: http://netfiles.uiuc.edu/, diakses tanggal 17 Februari 2011)

2. Proses #

Proses selanjutnya adalah proses . Proses adalah proses mengubah array gambar sedemikian rupa sehingga jika ada piksel berwarna putih dan setidaknya +1 piksel di sekitarnya adalah

berwarna hitam, maka piksel warna putih tersebut diubah menjadi warna hitam. Namun hal ini tidak akan dilakukan pada piksel berwarna hitam.

(36)

Sebelum (a) Sesudah

Sebelum (b) Sesudah

! (a) Citra yang memenuhi syarat proses (b) Citra yang tidak memenuhi syarat proses ( =3)

(sumber: http://netfiles.uiuc.edu/, diakses tanggal 17 Februari 2011)

3. Proses

Proses bertujuan untuk melakukan pemeriksaan apakah sebuah piksel layak berwarna hitam atau tidak. Oleh karena itu, jika di sekitar piksel berwarna hitam terdapat piksel warna hitam yang jumlahnya

melebihi , maka biarkan piksel itu layak berwarna hitam. Apabila sebaliknya, maka ubahlah piksel hitam tersebut menjadi putih seperti pada

(37)

Sebelum (a) Sesudah

Sebelum (b) Sesudah

" (a) Citra piksel yang layak dibiarkan berwarna hitam (b) Citra piksel yang tidak layak dibiarkan berwarna hitam ( =3)

(sumber: netfiles.uiuc.edu)

Setelah menerapkan proses , citra array tidak akan menjadi citra

yang sebenarnya lagi, tetapi akan menjadi citra array versi pembesaran dan mewakili/merepresentasikan citra array yang sebenarnya.

Proses dan akan dilakukan pada citra array dua warna untuk beberapa kali. Namun proses akan lebih banyak

(38)

4. Proses $

Proses $ akan diterapkan pada citra array yang akan dijelaskan

kemudian. Proses ini akan membuat seluruh citra menjadi miring ( " ) seperti pada Gambar 2.11.

Sebelum Sesudah

Citra yang telah dimiringkan ( " ) (sumber: http://netfiles.uiuc.edu/, diakses tanggal 17 Februari 2011)

5. % & " ' (Menentukan Sudut Kemiringan)

Untuk mengatasi masalah kemiringan ini, diperlukan pendeteksian besar

sudut pada citra yang miring. Proses ini disebut " ( Langkah pertama dari proses ini adalah menentukan setiap garis yang ada di dalam array citra yang telah ditipiskan dan citra yang telah mengalami

proses zoom)in. Garis)garis ini disebut dengan ) . Kemudian menentukan besar sudut antara masing)masing ) dengan garis

(39)

...(2.9) dengan:

) (

ψ = besar sudut putar

x(i) = ) ke)i

n = jumlah keseluruhan ) t = nilai dari jumlah )

Besar sudut antara ) dan garis horisontal (ψ( ())) dapat

dihitung dengan persamaan (2.10) di mana piksel pertama (x1, y1) dan

piksel terakhir (x2, y2) untuk masing)masing ) .

...(2.10)

6. & " (Perbaikan kemiringan)

Proses yang akan dilakukan selanjutnya adalah memperbaiki kemiringan citra. Jika besar sudut putar yang didapat tidak begitu kecil, maka citra

array dua warna harus diputar berdasarkan ψ( ) untuk memperbaiki

(40)

7. #

Proses yang akan dilakukan selanjutnya adalah # .

Sebenarnya proses ini sangat mirip dengan proses yang telah dijelaskan sebelumnya. Namun pada proses ini terdapat ketentuan tambahan pada pengecekan piksel tetangga. Ketentuan yang dimaksud

adalah memeriksa apakah ada lebih dari satu kombinasi warna putih)hitam di sekitar piksel warna putih atau tidak. Jika terdapat lebih dari satu

kombinasi warna putih)hitam, maka piksel tersebut harus diubah menjadi piksel warna hitam, seperti pada Gambar 2.12(a). Tetapi jika kombinasi warna putih)hitam tidak lebih dari satu, maka piksel tersebut akan tetap

(41)

(a)

Sebelum (b) Sesudah

(a) Citra piksel yang layak diubah menjadi hitam

(b) Citra piksel yang tidak layak diubah menjadi hitam ( =3) (sumber: netfiles.uiuc.edu)

8. Proses * $

Proses terakhir adalah proses $ seperti yang telah disebutkan

sebelumnya. Proses ini memeriksa apakah masih ada piksel hitam yang dapat dihilangkan dengan tepat atau tidak. Langkah pertama adalah

memeriksa jumlah piksel hitam yang melebihi di sekitar sebuah piksel hitam. Jika terdapat kurang dari 2, maka piksel tersebut tidak layak dihapus (diubah menjadi warna putih). Tetapi jika terdapat lebih dari 2,

maka harus dilakukan penghitungan jumlah kombinasi warna putih)hitam di sekitar piksel hitam tersebut. Jika jumlah kombinasi putih)hitam kurang

(42)

kombinasi warna putih)hitam, maka harus dilakukan satu dari dua jenis pengecekan, yaitu pengecekan dan

. Jika (i,j) merupakan piksel berwarna hitam (lihat Gambar 2.13), maka dilakukan , yaitu akan menjadi putih jika salah satu dari (i,j+1), atau (i+1,j), atau kedua (i)1,j) dan (i,j)1) berwarna putih.

Sedangkan , yaitu akan menjadi putih jika salah satu dari (i)1,j), atau (i,j)1), atau kedua (i,j+1) dan (i+1,j) adalah putih.

i)1, j)1 i)1, j i)1, j+1

i, j i, j i, j+1

i+1, j)1 i+1, j i+1, j+1

Array 3x3 dari piksel yang akan diubah

beserta 8 piksel disekitarnya

(sumber: http://netfiles.uiuc.edu/, diakses tanggal 17 Februari 2011)

Jadi keseluruhan algoritma Generic Thinning dapat dituliskan

sebagai berikut:

1. Generic Thinning

2. Melakukan proses ! " pada citra 3. for i=1 to 3 do

4. {

5. for j=1 to 7 do

(43)

7. lakukan proses 15. putar seluruh citra sebesar ) ψ

16. lakukan proses #

17. lakukan $ sebanyak 20 kali

Suatu algoritma penipisan dapat dinyatakan baik jika memenuhi beberapa syarat seperti + dan . Hal ini dilakukan

untuk menunjukkan suatu algoritma penipisan selalu menghasilkan rangka yang saling terhubung seperti bentuk citra yang asli serta memiliki ketebalan

sebesar 1 piksel (Jang dan Chin, 1990). Oleh karena itu, algoritma Generic Thinning yang akan digunakan sebagai algoritma penipisan citra aksara Jawa, perlu dilakukan analisis sebagai berikut:

(44)

(dua himpunan berhingga disebut jika terdapat koresponden satu)satu antara dari & dan $). Maka dari itu $

adalah 8) dan komplemennya mengandung 4) .

2.5.2+ : Sebuah kerangka yang dibentuk dari proses penipisan harus memiliki kriteria , atau memiliki

ketebalan 1 piksel. Syarat sebuah kerangka dapat disebut adalah sebagai berikut:

1. Bila tidak memuat A = { A1, A2, A3, A4 } yang berukuran

2x2 dengan struktur ditunjukkan pada Gambar 2.14 berikut ini.

A1 A2 A3 A4

Struktur template A

Susunan Gambar 2.13 adalah susunan pola yang ditemukan dalam komponen)komponen terhubung yang bukan merupakan rangka. 2. Apabila satu atau lebih A (A1, A2, A3, A4) terdapat rangka

(45)

menyebabkan piksel)piksel yang lain menjadi tidak terhubung atau menghasilkan lubang. Suatu kerangka dikatakan bila

sekurang)kurangnya memenuhi struktur templates B yang memiliki struktur B = (B1, B2, B3, B4), ataupun C yang memuat keempat struktur templates A seperti pada Gambar 2.15

B1 B2 B3 B4

C

Struktur template B dan C

# $ %

Aksara hanacaraka Jawa memiliki 20 huruf dasar, 20 huruf yang berfungsi menutup bunyi vokal, 8 huruf "utama" (

, ada yang tidak ber ), 8 huruf utama, lima aksara

swara (huruf vokal depan), lima aksara rekan dan lima pasangannya, beberapa sebagai pengatur vokal, beberapa huruf khusus, beberapa tanda baca, dan beberapa tanda pengatur tata penulisan ( ).

(46)

Aksara Jawa hanacaraka baku terdiri dari 20 huruf dasar (aksara ), seperti pada Gambar 2.16 berikut ini.

(47)

BAB III

A ALISA DA PERA CA GA SISTEM

3.1 Gambaran Umum Sistem

!

" #

$

" %

Gambar 3.1: & '

(48)

Gambaran umum dari aktivitas yang akan dilakukan antara user dan

sistem adalah user memasukkan input berupa citra aksara Jawa ke sistem

penipisan, kemudian citra hasil penipisan akan ditampilkan kepada user.

Beberapa proses yang harus dilakukan oleh sistem menurut uraian

mengenai gambaran umum sistem pada Gambar 3.1, yaitu proses melakukan

pengubahan citra menjadi citra biner (jika masukan bukan merupakan citra

biner). Proses binerisasi pada algoritma Generic Thinning juga disebut proses

MakeTwoTone. Setelah itu dilakukan proses penipisan.

Berdasarkan penjelasan proses pada Gambar 3.1, maka didapat Data

Flow Diagram (DFD) level 1 seperti pada Gambar 3.2 berikut ini.

Data Flow Diagram level 1

3.2.1 Proses Binerisasi

Mengingat citra yang diperlukan dalam proses pinipisan citra

adalah citra biner, maka proses yang harus dilakukan adalah mengubah

citra masukan menjadi citra biner. Proses ini disebut juga dengan proses Citra tipis

(49)

binerisasi. Pada algoritma Generic Thinning, proses ini disebut juga

proses MakeTwoTone. Proses MakeTwoTone yang akan dilakukan

ditunjukkan pada perancangan berikut ini.

Rancangan binerisasi ini menggunakan perintah Matlab, yaitu im2bw.

Inisialisasi array2 dengan citra masukkan, kemudian lakukan binerisasi

dengan menginisialisasi result dengan im2bw(array2). Maka hasil

binerisasi adalah result.

3.2.2 Proses Penipisan

Proses penipisan adalah proses utama yang akan dilakukan.

Proses ini dilakukan dengan menggunakan algoritma Generic Thinning.

Proses penipisan algoritma Generic Thinning yang akan dilakukan dapat

dituliskan sebagai berikut:

1. Generic Thinning

2. for i=1 to 3 do

3. {

4. for j=1 to 7 do

5. {

6. lakukan proses uniforming

7. }

8. lakukan proses zoom in Perancangan MakeTwoTone:

(50)

9. }

10. lakukan proses ThinImage sebanyak 3 kali

11. cari semua Line of Points

12.Determine Skew Angle (Menentukan Sudut Kemiringan) ψ

13. melakukan proses MakeTwoTone lagi

14. putar seluruh citra sebesar 9 ψ

15. lakukan proses GrandUniforming

16. lakukan ThinImage sebanyak 20 kali

3.2.2.1Uniforming

Proses Uniforming yang akan dilakukan ditunjukkan pada

perancangan berikut ini.

Proses uniforming dilakukan dengan menentukan nilai threshold

terlebih dahulu, kemudian membaca dimensi citra. Dimensi ini

digunakan untuk menentukan batas perulangan for (looping).

Jika terdapat piksel 1 atau off, maka dilakukan pengecekan Perancangan Uniforming:

1. Inisialisasi array2 dengan array citra biner. 2. Inisialisasi threshold dengan 3.

3. Inisialisasi dimensi citra.

4. Untuk setiap piksel (p) pada baris dan kolom pada input, lakukan langkah 4.1.

4.1 Uji apakah piksel (p) bernilai 1 (off), jika ya maka lakukan langkah a, jika tidak maka kembali lakukan langkah 4.

a. Hitung jumlah piksel on pada 89tetangga. Jika lebih banyak dibandingkan threshold, maka lakukan langkah b.

(51)

jumlah piksel on pada 89tetangga. Jika jumlah piksel on pada 89

tetangga lebih banyak dibandingkan nilai threshold, maka piksel

tersebut diubah menjadi warna hitam atau on.

3.2.2.2Zoom in

Proses zoom in yang akan dilakukan ditunjukkan pada

perancangan berikut ini.

Proses zoom in dilakukan dengan menentukan nilai threshold

terlebih dahulu, kemudian membaca dimensi citra. Dimensi ini

digunakan untuk menentukan batas perulangan for (looping).

Jika terdapat piksel 0 atau on, maka dilakukan pengecekan

jumlah piksel on pada 89tetangga. Jika jumlah piksel on pada 89

tetangga lebih sedikit dari nilai threshold, maka piksel tersebut

diubah menjadi warna putih atau off. Perancangan Zoom in:

1. Inisialisasi array2 dengan array citra biner. 2. Inisialisasi threshold dengan 3.

3. Inisialisasi dimensi citra.

4. Untuk setiap piksel (p) pada baris dan kolom pada input, lakukan langkah 4.1.

4.1 Uji apakah piksel (p) bernilai 0 (on), jika ya maka lakukan langkah a, jika tidak maka kembali lakukan langkah 4.

a. Hitung jumlah piksel on pada 89tetangga. Jika lebih sedikit dibandingkan threshold, maka lakukan langkah b.

(52)

3.2.2.3ThinImage

Proses ThinImage yang akan dilakukan ditunjukkan pada

perancangan berikut ini.

Proses ThinImage dilakukan dengan menginisialisasi array2

dengan citra biner masukkan. Kemudian memutar citra array2

sekitar 20 derajat. Setelah itu citra akan dikenai proses zoom in.

3.2.2.4Line of Points dan Determine Skew Angle (Deteksi Sudut

Kemiringan)

Proses Line of Points berguna untuk mengetahui garis9garis yang

akan menjadi patokan pengukuran sudut kemiringan. Sedangkan

Determine Skew Angle adalah menentukan berapa besar sudut

kemiringan pada citra masukkan berdasarkan garis9garis patokan

yang didapat dari proses Line of Points. Kedua proses ini

berfungsi untuk besar sudut putar yang terdapat pada citra untuk

memperbaiki kemiringan citra masukkan. Oleh karena itu, kedua

proses ini akan diganti dengan proses mendeteksi kemiringan

pada citra dokumen menggunakan Pendekatan Titik Pusat

Gravitasi mengingat hal ini telah dilakukan pada oleh Niko

Kurdianata pada Deteksi Kemiringan Pada Citra Dokumen Teks Perancangan ThinImage:

1. Inisialisasi array2 dengan array citra biner. 2. Putar citra array2 sekitar 20 derajat.

(53)

Sastra Jawa Menggunakan Pendektan Titik Pusat Gravitasi

(Center of Gravity), 2010. Proses yang akan dilakukan tersebut

ditunjukkan pada perancangan berikut ini.

Perancangan Deteksi Kemiringan:

1. Inisialisasi array2 dengan array citra biner. 2. Inisialisasi dimensi citra.

3. Inisialisasi jum_-, jum_m, jum_n dengan 0.

4. Untuk setiap piksel (p) pada baris dan kolom pada input, lakukan langkah 4.1.

7.1 Uji apakah piksel (p) bernilai on, jika ya maka lakukan langkah a, jika tidak maka kembali lakukan langkah 4.

a. Tambahkan nilai jum_- dengan 1, jum_m dengan indeks baris, dan jum_n dengan indeks kolom.

5. Inisialisasi m_aksen dengan hasil pembagian nilai jum_n dengan jum_-.

6. Inisialisasi n_aksen dengan hasil pembagian nilai jum_n dengan jum_-.

7. Inisialisasi miu_11, miu_20, dan miu_02 dengan 0. 8. Untuk setiap piksel (p) pada baris dan kolom pada

input, lakukan langkah 7.1.

7.1 Uji apakah piksel (p) bernilai on, jika ya maka lakukan langkah a, b dan c, jika tidak maka kembali lakukan langkah 7.

a. Tambahkan nilai miu_11 dengan hasil perkalian antara indeks baris dikurang m_aksen dengan indeks kolom dikurangi n_aksen.

b. Tambahkan nilai miu_20 dengan hasil perkalian antara indeks baris dikurang m_aksen dengan indeks kolom dikurangi m_aksen.

c. Tambahkan nilai miu_02 dengan hasil perpangkatan dari hasil indeks kolom dikurangi n_aksen.

(54)

3.2.2.5GrandUniforming

Proses GrandUniforming yang akan dilakukan ditunjukkan pada

perancangan berikut ini.

Proses GrandUniforming dilakukan dengan menentukan nilai

threshold terlebih dahulu, kemudian membaca dimensi citra.

Dimensi ini digunakan untuk menentukan batas perulangan for

(looping). Jika terdapat piksel 1 atau off, maka dilakukan

pengecekan jumlah piksel on pada 89tetangga. Jika jumlah piksel

on pada 89tetangga lebih banyak dibandingkan nilai threshold,

maka dilakukan pengecekan kombinasi putih hitam (off on) pada

89tetangga. Jika jumlah kombinasi lebih dari 1, maka piksel

tersebut diubah menjadi warna hitam atau on. Perancangan GrandUniforming:

1. Inisialisasi array2 dengan array citra biner. 2. Inisialisasi threshold dengan 3.

3. Inisialisasi dimensi citra.

4. Untuk setiap piksel (p) pada baris dan kolom pada input, lakukan langkah 4.1.

4.1 Uji apakah piksel (p) bernilai off, jika ya maka lakukan langkah a, jika tidak maka kembali lakukan langkah 4.

a. Hitung jumlah piksel on pada 89tetangga. Jika lebih banyak dibandingkan threshold, maka lakukan langkah b.

b. Hitung jumlah kombinasi putih9hitam (off on) pada 89tetangga. Jika jumlah kombinasi lebih dari 1, maka lakukan langkah c.

(55)

3.2.2.6FinalThinImage

Proses FinalThinImage yang akan dilakukan ditunjukkan pada

perancangan berikut ini.

Proses FinalThinImage dilakukan dengan menentukan nilai

threshold terlebih dahulu, kemudian membaca dimensi citra.

Dimensi ini digunakan untuk menentukan batas perulangan for

(looping). Jika terdapat piksel 0 atau on, maka dilakukan

pengecekan jumlah piksel on pada 89tetangga. Jika jumlah piksel

on pada 89tetangga lebih banyak atau sama dengan nilai

threshold, maka hitung jumlah kombinasi putih9hitam pada 89

tetangga. Jika jumlah kombinasi sama dengan 1, maka lakukan

pengecekan firstTypeChecking dan secondTypeChecking. Perancangan FinalThinImage:

1. Inisialisasi array2 dengan array citra biner. 2. Inisialisasi threshold dengan 3.

3. Inisialisasi dimensi citra.

4. Untuk setiap piksel (p) pada baris dan kolom pada input, lakukan langkah 4.1.

4.1 Uji apakah piksel (p) bernilai on, jika ya maka lakukan langkah a, jika tidak maka kembali lakukan langkah 4.

a. Hitung jumlah piksel on pada 89tetangga. Jika lebih banyak atau sama dengan threshold, maka lakukan langkah b.

b. Hitung jumlah kombinasi putih9hitam (off on) pada 89tetangga. Jika jumlah kombinasi sama dengan 1, maka lakukan langkah c dan d. c. Lakukan pengecekan firstTypeChecking. Jika

memenuhi syarat firstTypeChecking, maka piksel (p) dihapus (off).

(56)

Sebuah piksel (i,j) memenuhi syarat firstTypeChecking apabila

piksel tetangga (i,j+1) atau (i+1,j), atau kedua dari (i91,j) dan (i,j9

1) berwarna putih (off).

Sebuah piksel (i,j) memenuhi syarat secondTypeChecking apabila

piksel tetangga (i91,j) atau (i,j91), atau kedua dari (i,j+1) dan

(i+1,j) berwarna putih (off).

Jika memenuhi syarat firstTypeChecking atau

secondTypeChecking, maka piksel tersebut diubah menjadi

warna putih atau off.

Kerangka hasil proses penipisan harus memenuhi syarat utama

sebuah kerangka, yaitu one pixel thickness dan connectivity. Oleh karena itu,

diperlukan pengujian dari citra hasil penipisan untuk mengetahui apakah citra

tersebut baik atau tidak. Pengujian yang akan dilakukan sebagai berikut:

3.3.1 Pengamatan Ukuran Citra

Pengamatan Ukuran Citra berguna untuk mengetahui

perbandingan ukuran antara citra asli dan citra rangka. Citra rangka yang

mengalami proses penipisan akan mengalami pengurangan jumlah piksel

on. Pengurangan jumlah piksel on akan membuat ukuran citra menjadi

lebih tipis/kecil, sehingga dari pengamatan ini dapat diketahui apakah

(57)

menjadi semakin tebal/besar, atau tetap maka dapat dipastikan citra tidak

mengalami penghapusan piksel.

3.3.2Sum of Pixel Object

Perancangan Sum of Pixel Object ditunjukkan pseudocode

berikut ini.

Proses Sum of Pixel Object dilakukan dengan membaca

dimensi citra terlebih dahulu, dimensi ini digunakan untuk menentukan

batas perulangan for (looping). Jika terdapat piksel 0 atau “on”, maka

count akan ditambah satu hingga semua piksel pada citra dieksekusi. Perancangan Sum of Pixel Object:

1. Inisialisasi temp dengan array citra biner. 2. Inisialisasi dimensi citra.

3. Inisialisasi count dengan 0.

4. Untuk setiap piksel(p) pada baris dan kolom pada input, lakukan langkah 4.1.

4.2 Uji apakah piksel(p) bernilai 0, jika ya maka lakukan langkah a, jika tidak maka kembali lakukan langkah 4.

(58)

3.3.3Sum of Remove Pixel

Perancangan Sum of Remove Pixel ditunjukkan pseudocode

berikut ini.

Sebelum melakukan perhitungan Sum of Remove Pixel, terlebih

dahulu dilakukan perhitungan pada jumlah piksel citra sebelum

dilakukan penipisan dan menghitung jumlah piksel citra hasil penipisan.

3.3.4Sum Template A dan Sum -ot Critical Point

Perancangan Sum Template A dan Sum -ot Critical Point

ditunjukkan pseudocode berikut ini.

Peracangan Sum of Remove Pixel:

1. Hitung jumlah SumOfPixelObject seperti pada implementasi Sum of Pixel Object.

2. Hitung jumlah SumOfPixelSkeleton seperti pada implementasi Sum of Pixel Object dengan citra inputan adalah citra rangka.

(59)

Perancangan Sum Template A dan Sum -ot Critical Point: 1. Inisialisasi variabel contain_A=0

2. Inisialisasi variabel notCriticalPoint=0

3. Untuk setiap piksel obyek pada citra rangka, lakukan langkah 4

4. Uji apakah merupakan template A1, jika ya lakukan langkah 4.a, jika tidak lakukan langkah 5.

a. Uji apakah merupakan template B1 atau C,

i. jika ya, notCriticalPoint bertambah 1 dan lakukan langkah 5.

ii.jika tidak, nilai contain_A bertambah 1, lakukan langkah 5.

5. Uji apakah merupakan template A2, jika ya lakukan langkah 5.a, jika tidak lakukan langkah 6.

a. Uji apakah merupakan template B2 atau C,

i. jika ya, notCriticalPoint bertambah 1 dan lakukan langkah 6.

ii.jika tidak, nilai contain_A bertambah 1, lakukan langkah 6.

6. Uji apakah merupakan template A3, jika ya lakukan langkah 6.a, jika tidak lakukan langkah 7.

a. Uji apakah merupakan template B3 atau C,

i. jika ya, notCriticalPoint bertambah 1 dan lakukan langkah 7.

ii.jika tidak, nilai contain_A bertambah 1, lakukan langkah 7.

7. Uji apakah merupakan template A4, jika ya lakukan langkah 7.a.

(60)

3.3.5One pixel Thickness

Perancangan One pixel thickness akan menghasilkan

persentase piksel citra hasil penipisan yang memenuhi syarat One pixel

thickness. Perancangan One pixel thickness ditunjukkan pseudocode

berikut ini:

Sebelum menemukan persentase One pixel thickness

sebelumnya harus dilakukan perhitungan pada jumlah piksel citra hasil

penipisan. Selanjutnya dari implementasi Sum Template A dan Sum -ot

Critical Point didapat jumlah piksel yang merupakan -ot Critical Point,

piksel ini akan dijadikan pengurang pada jumlah piksel citra hasil

penipisan. Persentase One pixel thickness didapat dari mengurangi

jumlah piksel citra hasil penipisan dengan jumlah piksel -ot Critical

Point, kemudian dibagi dengan jumlah piksel citra hasil penipisan. Hasil

pembagian ini kemudian dikalikan dengan 100%. Perancangan One pixel thickness:

1. Hitung jumlah piksel citra rangka (sumOfPixelSkeleton) dengan cara yang sama pada implementasi sum of pixel object.

2. Hitung jumlah notCriticalPoint seperti pada implementasi sum template A dan sum not critical point.

3. Hitung OnepixelThickness dengan cara sumOfPixelSkeleton dikurangi dengan notCriticalPoint.

(61)

3.3.6Running Time

Perancangan Running Time yang akan dilakukan pada

ditunjukkan pada pseudocode berikut ini:

Perintah tic digunakan untuk memulai perhitungan waktu dan

toc untuk mengakhiri waktu eksekusi penipisan.

3.3.7Connectivity

Pengujian connectivity digunakan untuk melihat apakah citra

rangka serupa dengan bentuk asli dari citra masukan. Misal jika suatu

citra aksara memiliki lubang maka citra hasil juga harus memiliki lubang,

demikian juga jika citra asli tidak memiliki suatu piksel yang tidak putus

maka citra rangka juga tidak boleh putus.

Pengujian ini dilakukan dengan melakukan pengamatan

langsung dari tiap9tiap citra rangka dan citra masukan secara langsung. Perancangan Running Time:

1. Inisialisasi perintah “tac” sebelum implementasi algoritma Generic Thinning.

2. Inisialisasi perintah “toc” setelah implementasi algoritma Generic Thinning.

(62)

Spesifikasi perangkat keras yang akan digunakan untuk membuat

aplikasi dan proses penipisan ini adalah sebagai berikut;

1. Processor : Intel Core 2 Duo CPU P8600 @ 2.40GHz (2 CPUs)

2. Memory : 2042 MB (2 GB)

3. Operating System : Windows Vista Home Premium SP 1

Copyright © 2007 Microsoft Corporation. All

Rights Reserved

(63)

BAB IV

IMPLEME TASI

4.1 Implementasi Binerisasi

! "#

$ %

4.2 Implementasi Algoritma Generic Thinning & '

(64)

!

"

! "

#

$

$

!

$ $"

$

$

(65)

! "

! # $

%

& "

' ( ' (

' (

' ( & LA_3.jpg' ( & LA_3.jpg

' ( &

(66)
(67)
(68)

GrandUniforming

% GrandUniforming

GrandUniforming off ! on ! !

on + threshold,

+ "

! Sum of

Remove Pixel ! Sum of Pixel Object !

Running Time * Sum Template A ! Template A One pixel thickness

One pixel thickness Sum *ot

Critical Point ! critical point

(69)

" / &

/ &

% 0

+

Sum of Pixel Object

! Sum of Pixel Object !

Sum of Pixel Object

(70)

1 2

" Sum of Pixel Object

3

on 4

on 5 count

%

, 6 ,. ,"

7, 8

!7, 8

' !(,,.

, 9"

0

!,"

(71)

Sum of Remove Pixel

! Sum of Remove Pixel !

Sum of Remove

Pixel !

! Sum of Remove Pixel

%

, 6 ,. ,"

7, 8

!7, 8

' !(,,.

, 9"

0

(72)

1 2

" Sum of Remove Pixel

#

Sum of Pixel Object

on 4 on 5 count

Sum of Pixel Object

! Sum of Pixel Object'! ( 5 count '!

( 0

Sum of Remove Pixel

Sum Template A Sum *ot Critical Point

! Sum Template A Sum *ot Critical Point

!

templateA critical point Sum Template A Sum

(73)

! Sum Template A Sum *ot Critical Point

%

," $,. & ,.

;

7, 8

!7, 8 !,"; , 9";

& < !=,,.8

& $8

$, $9"

& 8

!,!9"

& , & 9"

(74)

1 2

" % ! templateA

" $ "

5 templateA 'templateA=templateA+1(

4 templateA

critical point

templateB templateC "- $

templateB templateC

not critical point

'notCriticalPoint=notCriticalPoint+1(

- One pixel Thickness

! One pixel thickness

"

1 " !

(75)

-1 2

" ! one pixel thickness

!

! not critical point

!

critical point

'one pixel thickness(

one pixel thickness

!

one pixel thickness !

"..> %

4 ;

4 not critical point;

one pixel thickness,! +! not critical point

One pixel thickness,' one pixel

thickness/! (?"..

0

(76)

: Connectivity Connectivity

+

template A

critical point

template A *

template A critical point !

0 !

4

* !

!

!

+ 4

!

(77)

Running Time

! running time *

Running

time ! :

running time

1 2

" running time

% tic * *

toc @ *

%

* ,

(78)

BAB V

HASIL DA PEMBAHASA

5.1 Analisa Citra Hasil Penipisan

!" " # " " $ " % " & " " ' " ( " ) " * " & " + " , " # " - " " " " #

. / ! "

&

Penipisan Citra Aksara Jawa

Menggunakan Algoritma agendraprasad Wang Gupta 0 " 1"

Penipisan Citra Aksara Jawa Menggunakan Algoritma Rosenfeld0% " 21" Penipisan Citra Aksara Jawa Menggunakan Algoritma Wang Zhang

0- " 1" Penipisan Citra Aksara Jawa Menggunakan Algoritma

Zhang Suen0% " 21

* threshold

threshold

(79)

Tabel 5.1: Data Citra Input dan Output

No. Nama file Citra asli Citra biner Citra rangka

Generic Thinning (threshold=3)

Citra rangka Generic Thinning (threshold=2)

1. HA_1.JPG

HA_2.JPG

HA_3.JPG

2. NA_1.JPG

NA_2.JPG

NA_3.JPG

(80)

CA_2.JPG

CA_12.JPG

4. RA_1.JPG

RA_2.JPG

RA_3.JPG

5. KA_1.JPG

KA_2.JPG

(81)

6. DA_1.JPG

DA_2.JPG

DA_3.JPG

7. TA_1.JPG

TA_2.JPG

TA_3.JPG

8. SA_1.JPG

(82)

SA_3.JPG

9. WA_1.JPG

WA_2.JPG

WA_3.JPG

10. LA_1.JPG

LA_2.JPG

LA_3.JPG

(83)

PA_2.JPG

PA_4.JPG

12. DHA_1.JPG

DHA_2.JPG

DHA_15.JPG

13. JA_1.JPG

JA_2.JPG

(84)

14. YA_1.JPG

YA_2.JPG

YA_3.JPG

15. NYA_1.JPG

NYA_2.JPG

NYA_15.JPG

16. MA_2.JPG

(85)

MA_4.JPG

17. GA_1.JPG

GA_2.JPG

GA_3.JPG

18. BA_1.JPG

BA_2.JPG

BA_3.JPG

(86)

THA_2.JPG

THA_14.JPG

20. NGA_1.JPG

NGA_2.JPG

NGA_3.JPG

Dari pengamatan langsung pada hasil penipisan yang ditunjukkan

Tabel 5.1 di atas, dapat dilihat bahwa citra rangka dengan menggunakan nilai

threshold=2 lebih baik dibandingkan dengan citra rangka menggunakan

threshold=3. Maka hasil yang akan diuji dan diamati adalah citra rangka hasil

penipisan algoritma Generic Thinning dengan menggunakan nilai threshold=2.

Tingkat keberhasilan penipisan algoritma Generic Thinning terhadap

citra aksara Jawa ditunjukkan melalui pengujian dan pengamatan sebagai

(87)

5.1.1 Pengamatan Ukuran Citra

Pengamatan ukuran citra berguna untuk mengetahui ukuran

citra aksara sesudah dan sebelum dilakukan proses penipisan. Hasil dari

pengamatan ukuran citra terdapat pada Tabel 5.2 berikut ini.

Tabel 5.2: Hasil Pengamatan Ukuran Citra

(88)

30. LA_3.JPG 13,5 1,44

Tabel 5.2 menunjukkan bahwa ukuran citra setelah penipisan

rata<rata menjadi 11,41% dari citra asli. Hal ini terjadi karena perubahan

piksel on menjadi off. Berkurangnya piksel on membuat ukuran citra

menjadi berkurang.

Citra hasil penipisan menggunakan algoritma Generic Thinning

(89)

Nagendraprasad<Wang<Gupta sebesar 89,83% (Hadi, 2010), algoritma

Rosenfeld sebesar 89,77% (Krisnawati, 2009), algoritma Zhang Suen

sebesar 90,39% (Marwadi, 2010), dan algoritma Wang<Zhang sebesar

90,13% (Kurnianita, 2009).

5.1.2 Pengamatan

Pengamatan Sum of Remove Pixel berguna untuk mengetahui

berapa banyak piksel sebelum dan sesudah proses penipisan dilakukan.

Hal ini berguna juga untuk mengetahui berapa banyak piksel yang telah

dihapus. Penghapusan ini erat kaitannya dengan apakah citra yang

dihasilkan memenuhi syarat one pixel thickness atau tidak. Apabila

jumlah piksel yang sudah terhapus lebih dari setengahnya, maka

kemungkinan syarat one pixel thickness akan terpenuhi.

Hasil pengamatan jumlah piksel citra sebelum dah sesudah

proses penipisan ditunjukkan pada Tabel 5.3 berikut ini.

Tabel 5.3: Hasil Pengamatan Jumlah Piksel Terhapus

(90)
(91)

51. GA_3.JPG 72 72 1471 210 1261 85,72

Tabel 5.3 menunjukkan rata<rata piksel yang berhasil dihapus

dengan menggunakan algoritma Generic Thinning sebesar 86,38%,

sedangkan algoritma Nagendraprasad<Wang<Gupta sebesar 84,12%

(Hadi, 2010), algoritma Rosenfeld sebesar 84,12% (Krisnawati, 2009),

algoritma Zhang Suen sebesar 82,08% (Mawardi, 2010), dan algoritma

Wang<Zhang sebesar 82,08% (Kurnianti, 2009).

5.1.3 Pengamatan Running Time

Pengamatan Running Time berguna untuk melihat berapa lama

waktu yang diperlukan pada proses penipisan terhadap suatu citra. Hasil

pengamatan waktu komputasi algoritma Generic Thinning ditunjukkan

(92)
(93)

41. YA_2.JPG 72 72 0.653029

Rata<rata 0,511893

Tabel 5.4 menunjukkan bahwa algoritma Generic Thinning

memiliki kecepatan yang lebih lambat dibandingkan lainnya, yaitu

0,511893 detik, sedangkan algoritma Nagendraprasad<Wang<Gupta

memiliki kecepatan rata<rata 0.00678 detik (Hadi, 2010), algoritma

Rosenfeld rata<rata 0,053488 detik (Krisnawati, 2009), algoritma Zhang

Suen rata<rata 0,029 detik (Mawardi, 2010), dan algoritma Wang<Zhang

(94)

5.1.4 Pengujian

One pixel thickness berguna untuk melihat apakah citra hasil

penipisan memiliki ketebalan satu piksel atau tidak. Hasil pengujian one

pixel thickness ditunjukkan pada Tabel 5.5 berikut ini.

Tabel 5.5: Hasil Pengujian one pixel thickness

(95)

29. LA_2.JPG 323 8 0 323 100

Tabel 5.5 menunjukkan presentase rata<rata citra rangka yang

memenuhi syarat one pixel thickness adalah 100%. Disimpulkan bahwa

algoritma Generic Thinning memenuhi syarat one pixel thickness.

Persentase ini lebih baik dibandingkan dengan algoritma lainnya.

(96)

99.64% (Hadi, 2010), algoritma Rosenfeld sebesar 99,88% (Krisnawati,

2009), algoritma Zhang Suen sebesar 90,26% (Mawardi, 2010), dan

algoritma Wang<Zhang sebesar 90,26% (Kurnianti, 2009).

5.1.5 Pengujian

Connectivity mengharuskan suatu citra hasil penipisan

mempertahankan keterhubungannya (connectivity), sehingga tidak ada

bagian yang seharusnya tidak terputus menjadi terputus yang

mengakibatkan citra rangka yang dihasilkan menjadi tidak serupa lagi

dengan citra aslinya. Hal ini membuat syarat connectivity menjadi salah

satu syarat utama seperti halnya one pixel thickness.

Connectivity citra berdasarkan hasil pengamatan secara

langsung ditunjukkan pada Tabel 5.6 berikut ini.

Tabel 5.6: Hasil pengamatan secara langsung pengujian connectivity

No Nama file Tidak

terputus Terputus

(97)
(98)

59. NGA_2.JPG √

60. NGA_3.JPG √

Jumlah 59 1

Tabel 5.6 menunjukkan jumlah citra rangka yang terputus

hanya ada 1 citra rangka, sedangkan citra rangka yang tidak terputus

sebanyak 59 dari 60 citra atau sebesar 98,33%.

Syarat connectivity pada rangka citra yang dihasilkan dengan

menggunakan algoritma Generic Thinning akan selalu terpenuhi sebab

jika menggunakan nilai threshold=2, maka proses penghapusan piksel on

pada FinalThinImage tidak akan dilakukan jika jumlah piksel on pada 8<

tetangga tidak lebih dari 1 (minimal 2 piksel on). Kondisi tersebut

menunjukkan syarat connectivity yang digunakan untuk

mempertahankan keterhubungan antar piksel<piksel obyek, di mana jika

menghilangkan suatu piksel on yang mempunyai jumlah piksel on pada

8<tetangga hanya 1, maka rangka akan menjadi terputus.

Citra rangka “CA_2.JPG” terdapat bagian yang terputus seperti

yang ditunjukkan pada Gambar 5.1. Hal ini terjadi karena kondisi

sejumlah piksel citra asli mendekati nilai piksel off seperti yang terlihat

pada Gambar 5.2, sehingga piksel tersebut akan diubah menjadi piksel

off ketika dilakukan proses MakeTwoTone atau binerisasi. Citra tersebut

memang telah putus seperti yang ditunjukkan Gambar 5.3, sehingga

dapat disimpulkan bahwa penyebab putusnya citra hasil penipisan

CA_2.JPG” dikarenakan oleh proses binerisasi, bukan disebabkan oleh

(99)
(100)

Gambar 5.2: Citra asli CA_2.JPG

Citra mendekati warna putih Citra mendekati warna putih Citra mendekati warna putih

(101)
(102)
(103)
(104)

Citra biner “(GA_2.JPG” pada Gambar 5.3 dan citra rangka

(GA_2.JPG” pada Gambar 5.4 terdapat daerah D2 dan daerah D3. Daerah D2

merupakan daerah citra yang membentuk pola secara vertikal seperti Gambar 5.5

berikut ini.

0 1 0

0 0 0

0 1 0

0 0 0

0 1 0

0 0 0

0 1 0

Gambar 5.5: Pola vertikal daerah D2

Pola yang mirip dengan “anak tangga” ini terbentuk dikarenakan proses

GrandUniforming. Proses GrandUniforming adalah proses mengubah sebuah

piksel off menjadi on jika terdapat jumlah kombinasi piksel putih<hitam di 8<

tetangga melebihi satu kombinasi. Hal ini ditunjukkan pada Gambar 5.6 berikut

(105)

0 1 0

Gambar 5.6: (a) Pola “anak tangga”

(b) Pola setelah mengalami proses FinalThinImage dan sebelum proses

GrandUniforming (c) pola “anak tangga” terbentuk setelah proses

GrandUniforming

Daerah D3 merupakan daerah hasil penipisan yang paling optimal

(menyisakan 1 piksel). Hasil penipisan yang optimal ini terjadi jika terdapat pola

piksel on yang membentuk garis vertikal dengan ketebalan rata<rata 2 piksel. Hal

ini ditunjukkan pada Gambar 5.7 berikut ini.

(a) (b)

Gambar 5.7: (a) Daerah D3 ketebalan rata<rata 2 piksel pada citra asli

(b) Hasil penipisan optimal daerah D3 (menyisakan 1 piksel)

(106)

5.2 Rangkuman Perbandingan Algoritma Generic Thinning dengan

)agendraprasad Wang Gupta, Rosenfeld, Zang Suen dan Wang Zhang

Kesimpulan perbandingan algoritma Generic Thinning dari uraian

pada tabel<tabel sebelumnya dengan Nagendraprasad<Wang<Gupta (Hadi,

2010), Rosenfeld (Krisnawati, 2009), Zhang Suen (Marwadi, 2010), dan

Wang<Zhang (Kurnianita, 2009) ditunjukkan pada Tabel 5.7 berikut ini.

Tabel 5.7: Perbandingan Algoritma Generic Thinning dengan

Nagendraprasad<Wang<Gupta, Rosenfeld, Zhang Suen, dan Wang<Zhang

)o. Pembanding Generic

Thinning

)WG Rosenfeld Zhang

Suen

Wang

Zhang

1. Persentase rata<rata

berkurangnya ukuran citra

88,59% 89,83% 89,77% 90,39% 90,13%

2. Persentase jumlah

piksel terhapus

86,38% 84,12% 84,12% 82,08% 82,08%

3. Rata<rata waktu

proses penipisan

4. Persentase rata<rata

piksel memenuhi

one pixel thickness

100% 99,64% 99,88% 90,26% 90,26%

5. Rata<rata jumlah

template A

6. Jumlah rata<rata

piksel not critical

point

7. Memenuhi syarat

keterhubungan

(107)

Algoritma Generic Thinning relatif lebih baik dibandingkan dengan

keempat algoritma lainnya jika ditinjau dari persentase jumlah piksel terhapus,

persentase rata<rata piksel memenuhi one pixel thickness, dan jumlah rata<rata

piksel not critical point. Sedangkan jika ditinjau dari persentase rata<rata

berkurangnya ukuran citra, algoritma Zhang Suen relatif lebih baik

dibandingkan algoritma lainnya. Jika ditinjau dari rata<rata waktu proses

penipisan, algoritma Nagendraprasad<Wang<Gupta relatif lebih baik

dibandingkan algoritma lainnya. Algoritma Rosenfeld memiliki hasi yang

relatif lebih baik dibandingkan dengan algoritma lainnya jika ditijau dari

jumlah rata<rata piksel not critical point. Namun, kelima algoritma tersebut

(108)

BAB VI

PE UTUP

6.1 Kesimpulan

!

""!# $ %

& & % !

'!( $ )* ! +' ',

+

"-!("$ . %

( !

'!# " (

.

/

(109)

!

"

# $

% & "

' " #& () !

*

% $

!

"

+

, "

- ! .

$ $ !

$ "

(110)

"

1

(111)

A

Generic Thinning Algorithm with Better Performance

! " # $ ## ! %&

1 2 !! . Hilditch’s Algorithm for Skeletonization.

(112)

0 #$ % Penipisan Citra Aksara Jawa Menggunakan Algoritma

#agendraprasad$Wang$Gupta = - $ $ , $ ' $ !

- $ ! # > 8 2 $

= # ) .? ! - % Analysis of thinning Algorithms

Using Mathematical Morphology IEEE transaction on Pattern Analysis

and Machine Intelligence @ ! % A / = % +B%.++%

? !$ Pengolahan Citra Digital

!$ " ! ( 6 78 9 "! :" 9%+

. !: 9B5B # ! ." .

# !: 9" ;" :, 9%+ $ ## ! ' (

%% , - $ ! # - !$

? ? Penipisan Citra Aksara Jawa Menggunakan Algoritma

Rosenfeld = - $ $ , $ ' $ ! - $ ! #

> 8 2 $

? # Penipisan Citra Aksara Jawa

Menggunakan Algoritma Zhang Suen = - $ $ , $ ' $ !

- $ ! # > 8 2 $

% Penipisan Citra Aksara Jawa Menggunakan

Algoritma Wang$Zhang = - $ $ , $ ' $ !

- $ ! # > 8 2 $

! Pengolahan Citra Digital dengan Pendekatan Algoritmik

) # , $ ) #

* $ = % & Algorithm for Image Processing and Computer Vision A

(113)

* # % & Software Enginering: a Practitioner’s Approach

"< .0 !! , "

" 5 Citra Digital

!$ " ! ( 6 78 9 "! :" 9%+

. !: 9B " . # !: 9" ;" :, 9%+

$ ## ! ' ( %% , - $ ! # - !$

3 $ ' Pengolahan citra digital

!$ " ! ( 6 78 9 "! :" 9%+

. !: 9B5B # ! ." .

# !: 9" ;" :, 9%+ $ ## ! ' (

%% , - $ ! # - !$

D ) E ? * F 0 3 F * % Pengenalan

Citra Dokumen Teks Sastra Jawa Modern ' $ ! - $ ! #

(114)
(115)

L.2

ALGORITMA GE ERIC THI I G YA G ME GALAMI

PE YESUAIA

Tahap tahap Algoritma Generic Thinning yang terdapat pada 3.2.2

Proses Penipisan yaitu:

1. Algoritma Generic Thinning

2. for i=1 to 3 do

3. {

4. for j=1 to 7 do

5. {

6. lakukan proses

7. }

8. lakukan proses

9. }

10. lakukan proses sebanyak 3 kali

11. cari semua

12. (Menentukan Sudut Kemiringan) ψ

13. melakukan proses lagi

14. putar seluruh citra sebesar ψ

15. lakukan proses

(116)

L.3

Tahap tahap di atas dapat dituliskan dengan modul sebagai berikut:

Tahap tahap ini menghasilkan citra rangka yang kurang optimal seperti

yang ditunjukkan pada gambar berikut ini:

(a) (b)

Gambar: (a) Citra asli !"#

(b) Citra rangka sesuai 3.2.2 Proses Penipisan ! "

" #

"

$

% & ' (

) " # )

(117)

L.4

Oleh karena itu, maka dilakukan proses penyesuaian tahapan algoritma Generic

Thinning.

Penyesuaian dimulai dari menghilangkan proses ,

, dan putar seluruh citra sebesar – ψ. Hal ini dilakukan

karena ketiga proses tersebut digunakan untuk memperbaiki citra masukkan yang

mengalami kemiringan, sedangkan semua citra asli yang digunakan untuk

masukkan telah tegak (tidak mengalami kemiringan). Maka ketiga proses ini tidak

dilakukan.

Rangkaian tahapan algoritma Generic Thinning setelah menghilangkan

ketiga proses tersebut, menjadi seperti berikut ini:

! " * #

" #

"

(

) " # )

(118)

L.5

Citra rangka yang dihasilkan oleh modul di atas masih belum optimal

seperti yang ditunjukkan pada gambar berikut ini.

Gambar: (a) Citra rangka !"# setelah menghapus proses ,

, dan proses putar seluruh citra sebesar – ψ.

Langkah penyesuaian tahapan algoritma Generic Thinning yang

selanjutnya adalah menghilangkan proses karena merupakan proses

penambahan piksel . Proses penambahan piksel akan menghasilkan citra

yang lebih tebal.

Rangkaian tahapan algoritma Generic Thinning setelah menghilangkan

proses , menjadi seperti berikut ini:

! " * #

" #

"

(

) " # )

(119)

L.6

Penyesuaian tahapan algoritma Generic Thinning ini menghasilkan citra

rangka seperti yang ditunjukkan pada gambar berikut ini:

Gambar: Citra rangka !"# setelah menghapus proses

Citra rangka yang ditunjukkan pada gambar di atas cukup optimal karena

jika diamati secara langsung, citra rangka sudah cukup tipis dan relatif mirip

dengan citra aslinya.

Tahapan penyesuaian ini sudah dapat menghasilkan citra rangka aksara

Jawa yang relatif baik, namun perulangan ( $ ) pada modul tersebut belum

tentu cukup atau mungkin terlalu banyak jika citra masukkan berbeda (sangat

tebal atau sangat tipis). Maka diperlukan penyesuaian jumlah $ .

Jumlah $ pada proses penipisan pada umumnya akan terus

dilakukan hingga citra yang dihasilkan tidak berbeda dengan citra yang dihasilkan

pada $ sebelumnya. Modul yang mengalami penyesuaian jumlah $

(120)

L.7

Masing masing $ pada modul penyesuaian ini terdapat varibel

bantu (variabel % & dan '). Variabel bantu ini masing masing akan bernilai 1

ketika citra yang dihasilkan sama dengan citra yang dihasilkan pada $

sebelumnya. Jika kondisi ini terpenuhi maka proses $ akan dihentikan.

(121)
(122)

ALGORITMA GE ERIC THI I G

a. Modul Algoritma Generic Thinning

!" # $ %%

&

!' ( # $ %% )

" )

*

" " *

* *

" " *

* *

" " *

* *

(123)

" " *

* *

" " *

* *

" " *

*

" " *

*

" " *

' "

(

$ %

!" # $ %%

+

' (

$ " , %

(124)
(125)

$, $ " , % )

)

*

*

-$,

$, $ " , % )

)

* - *

(126)

% . %

!" # $ %%

+

' (

(127)
(128)
(129)

PE IPISA CITRA AKSARA ALFABET

(130)
(131)
(132)
(133)
(134)

Gambar

Gambar 1.1: /�����waterfall
Gambar 2.3 menunjukkan beberapa contoh warna yang
Gambar 2.5 menunjukkan contoh citra warna yang diubah
Gambar 2.6. Citra sesudah penipisan tersebut terlihat merupakan bagian
+7

Referensi

Dokumen terkait

Syair lagu Garuda pancasila memiliki arti bahwa kita sebagai warga negara akan selalu mendukung Pancasila.. Warga negara Indonesia

Peranan praktikan adalah sebagai Design Specialist yang bertanggung jawab untuk merancang infografis untuk keperluan publikasi dan operasional LAPOR!, seperti

Karakteristik kopling sentrifugal yang digunakan pada bagian turbin angin sebagai rpm kontak dengan memindahkan energi putar guna mempermudah dan memaksimalkan kinerja turbi

Pem erint ah berencana unt uk m engurangi t arget penerbit an Surat Berharga Negara ( SBN) m enj adi Rp 799 t riliun dari yang sebelum nya m encapai Rp 822,27 t riliun t ahun

Pendataan Desa adalah proses penggalian, pengumpulan, pencatatan, verifikasi dan validasi data SDGs Desa, yang memuat data objektif kewilayahan dan kewargaan Desa berupa

(5) Dalam hal mahasiswa belum lulus mata kuliah disebabkan oleh tugas Universitas atau institusi resmi atas izin rektor yang dibuktikan dengan surat tugas resmi

Pengertian komunitas juga mengacu pada pengertian komunitas dalam arti komunitas local, seperti yang dikemukakan oleh Kenneth Wilkinson (1991) dalam Green and Haines (2004),

Dari definisi ḥalaqah yang penulis telah jelaskan diatas dapat ditarik kesimpulan bahwa itu sesuai dengan teori Sukardi yang menjelaskan bahwa bimbingan kelompok adalah layanan yang