PE IPISA CITRA AKSARA JAWA ME GGU AKA ALGORITMA GE ERIC THI I G
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
YOGYAKARTA
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
! "
# $ %& % & %' '
( #
)*
- ) ,+- % .**- %
- (
% ' %(
/* ,/- $ %& %
%
- )0+ %
1+ )*+ $
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
5 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
4
3 )*+
4
3 3 1+
3 /* ,/- $ %& % 3 * **)0+
6 2 ' %(
4
4
2 (
)*
& %' ' %( #
4 % 4 $ %& %
2
2
3
5 ! "
2 % 4
3
- ) ,+- 4 .**- % 4 4 *
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
FIGHT LIKE A TIGER! WI LIKE A CHAMPIO !
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
! " # #
$ " %
! " &' ( )*&& ( ! !
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
,-, ,. / , , ( /
" , (
1
ama : Daniel Antonius Kristanto
IM : 075314050
( " , (
2
1
3Penipisan Citra Aksara Jawa Menggunakan Algoritma Generic Thinning” . 4 5% ( , ( "
" ! " # "
6 ! #
% (
% ! " &' ( )*&&
( ! !
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
! " # $ % & ' () *+ ! , -$ . ) $ $
/ 0 )
1 $ &
2
- , & &
3
4 5 ) ) # $ $ " 6 . "
' 7 1 $ -$ '
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8 $ 9 ) "
) $
- $ *8 1 3:**
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI
LEMBAR JUDUL.............................................................................................. i HALAMA PERSETUJUA PEMBIMBIG.............................................. iii
HALAMA PE GESAHA ............................................................................iv
ABSTRAK.......................................................................................................... vABSTRACT........................................................................................................ vi
MOTTO.............................................................................................................. vii
PER YATAA KEASLIA HASIL KARYA.............................................. viii
PER YATAA PERSETUJUA PUBLIKASI KARYA ILMIAHU TUK KEPE TI GA AKADEMIS................................................. ix KATA PE GA TAR........................................................................................ x
DAFTAR ISI.......................................................................................................xii
DAFTAR GAMBAR.......................................................................................... xv
DAFTAR TABEL.............................................................................................. xvii
BAB I: PE DAHULUA ……………………………………………………. 1
!
BAB II: LA DASA TEORI..............……………………………………..... 8
" #
" #
$ " % &
" '
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
( ( '
Connecitivity One pixel Thickness
- ( $ ,
#
BAB III: A ALISA DA PERA CA GA SISTEM................................. 30
) - . ! &
( / - '
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 ' ( ) *
Uniforming Zoom in ThinImage Line of Points Determine Skew Angle
- 3 ' Running Time. &
- ( ) * 6 '
/ '
C.................................................................................................. L.15 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
B.................................................................................................... L.8 LAMPIRA
A.................................................................................................... L.1 LAMPIRA
LAMPIRA
2 DAFTAR PUSTAKA........................................................................................ 94
2 !
BAB VI: PE UTUP.......................................................................................... 91
3 ' FinalThinImage & 3 ' GrandUniforming 3 ' 3 ' . "
78 7) ' 9 : 9 ; ! 8 7; #2
Sum of Remove Pixel...... + Running Time ...... + One pixel Thickness ++ Connectivity +2
( " 5 ' . " +&
BAB V: HASIL DA PEMBAHASA ........................................................... 61
2
3 ' Sum of Pixel Object.......... 3 ' Sum of Remove Object 3 ' Sum Template A Sum )ot Critical Point 3 ' One pixel Thickness + 3 ' Connectivity
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
waterfall grayscale
! " ! # $
! ! % ! ! MakeTwoTone &
MakeTwoTone '
( ) " ! " uniforming ( ) " ! " uniforming (threshold* )
( ) " " ( ) " "
(threshold* )
- , " (skewing) +
( ) " " ! # ( ) " " ! # (threshold* ) +$
" " ! - ' "
- . ! !
- & . ! ! /
- '
,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2 3 " ! " ! ( ) LA_3.jpg
( ) 8 ( " ) ''
'' ( ) 7 +
GrandUniforming
5 6 !
( )
FinalThinImage ! GrandUniforming
4 + '& ( ) 4 5 6 ( ) 4
( ) LA_3.jpg ( ) LA_3.jpg
'$
'
CA_2.JPG '+ CA_2.JPG
4 ! running time %,
One'pixel thickness '
4 !# Sum of Remove Pixel $ 4 !# Sum Template A Sum %ot Critical Point %
3 " ! " ! $' 4 ! Sum of Pixel Object
2
CA_2.JPG
%GA_2.JPG ' %GA_2.JPG '%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
& % ' ( ) # * &
! "# $ %
- ,! ,* - .# / - 0 1 -
! ,0 2'
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB I PE DAHULUA
1.1 Latar Belakang
! !
" !
! #
! #
$ %
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
! " ! # $ # %! et al && '
connectivity Sum Template A Sum ot Critical Point One pixel Thickness Sum of Pixel Object Sum of Remove Pixel Running Time
( ) % &*&' + # %, &&-' ) . %/ &*&' . ! %, &&-'
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1.1 Rumusan Masalah
- 1
$ 2 * $
2
2
3 ( )
- # ) . . !
2
1.3 Tujuan
1
- /
/ # #
/ 3 / ) + ( # )
. . !
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
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.
/
3
preprocessing
1.5 Metodologi Penilitian
1 / * / / / waterfall
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
System Engineering
8
9 Gambar 1.1: / waterfall
1 System Engineering
8
9
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
: / # #
output
/ output
1.6 Sistematika Penulisan
!
1 BAB I: PE$DAHULUA$ $
BAB II: LA$DASA$ TEORI
$
BAB III: A$ALISA DA$ PERA$CA$GA$ SISTEM
$ !
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
BAB IV: IMPLEME$TASI
$ % '
BAB V: HASIL DA$ PEMBAHASA$
$
BAB VI: PE$UTUP
$
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB II LA DASA TEORI
2.1 Citra
! " # $
% $ %
& '
( (
! )
- )& # ++,* " #
# ) # ++ * !
# # #
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9 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. lebar tinggi panjang lebar
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. y f(x
1 ,y 1 )
y
1
x
1 x
Contoh koordinat pada citra
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11 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), magenta (255,0,255), dan merah = (255,0,0). Sedangkan untuk warna putih = RGB (255,255,255), dan warna hitam= RGB(0,0,0).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
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 derajat keabuan lebih kecil dari nilai batas akan diberi nilai 0 (Simanjuntak, 2009).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13 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 intensitasnya di atas 128 diubah menjadi putih (nilai intensitas =1) (Rachmawati, 2008).
14
205 128 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 diubahmenjadi 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
1
1
1 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16 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:
http://jeff.cs.mcgill.ca/ , diakses tanggal 20 Februari 2011)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17 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.
Citra masukan sebelum dikenai proses ! " (sumber: http://netfiles.uiuc.edu/ , diakses tanggal 17 Februari 2011)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
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.
Gambar 2.9 adalah contoh proses .PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19 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 Gambar 2.10.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20 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 dilakukan dibandingkan untuk mendapatkan keseragaman citra yang akan diperlukan pada proses selanjutnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
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 horisontal. Rata)rata dari perhitungan tersebut merupakan besar sudut yang diperlukan untuk memutar citra agar tidak miring lagi. Berikut persamaan dari perhitungan besar sudut tersebut:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22 .............................(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
ψ masalah kemiringan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23 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 berwarna putih, meskipun terdapat piksel hitam yang jumlahnya melebihi nilai , seperti pada Gambar 2.12(b).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24 (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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25 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 6. {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26 7. lakukan proses 8. } 9. lakukan proses 10. } 11. lakukan proses $ sebanyak 3 kali 12. cari semua ) 13. % & " ' (Menentukan Sudut Kemiringan) ψ 14. melakukan proses ! " lagi 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: 2.5.1 , : Suatu kerangka hasil penipisan ($) yang memiliki dengan citra asli (&) harus memiliki yang sama
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27 (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
2
3
4
1. Bila tidak memuat A = { A , A , A , A } yang berukuran 2x2 dengan struktur ditunjukkan pada Gambar 2.14 berikut ini.
1
1 x
1
1 X
1
1 1 x x
1
1
1
1
1
1
2
3
4 A A A A
Struktur template A Susunan Gambar 2.13 adalah susunan pola yang ditemukan dalam komponen)komponen terhubung yang bukan merupakan rangka.
1
2
3
4
2. Apabila satu atau lebih A (A , A , A , A ) terdapat rangka hasil penipisan, maka ada dua kemungkinan yaitu, rangka tersebut bukan rangka dengan ketebalan 1 piksel atau rangka merupakan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28 menyebabkan piksel)piksel yang lain menjadi tidak terhubung atau menghasilkan lubang. Suatu kerangka dikatakan bila sekurang)kurangnya memenuhi struktur templates B yang memiliki
1
2
3
4
struktur B = (B , B , B , B ), ataupun C yang memuat keempat struktur templates A seperti pada Gambar 2.15 1 x x
1 x 1 x x 1 x
1
1
1
1
1
1
1
1 x 1 x x
1 x x
1 1 x
1
2
3
4 B B B B
x 1 x
1
1
1 x 1 x
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29 Aksara Jawa hanacaraka baku terdiri dari 20 huruf dasar (aksara ), seperti pada Gambar 2.16 berikut ini.
Aksara Jawa (sumber: http://id.wikipedia.org/ , diakses tanggal
19 Februari 2011)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB III A ALISA DA PERA CA GA SISTEM
3.1 Gambaran Umum Sistem
! " #
$ " %
(
(
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31 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.
1
2 User
Citra Citra
Binerisasi Penipisan Citra
aksara biner
(MakeTwoTone) Citra tipis Informasi hasil penipisanData 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32 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. }
Perancangan MakeTwoTone: 1. Inisialisasi array2 dengan citra asli.
2. Inisialisasi result dengan im2bw(array2).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33 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.1 Uniforming Proses Uniforming yang akan dilakukan ditunjukkan pada perancangan berikut ini.
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.
b. Ubah piksel (p) menjadi on. Proses uniforming dilakukan dengan menentukan nilai threshold terlebih dahulu, kemudian membaca dimensi citra. Dimensi ini digunakan untuk menentukan batas perulangan for (looping).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34 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.2 Zoom in Proses zoom in yang akan dilakukan ditunjukkan pada perancangan berikut ini.
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.
b. Lakukan penghapusan pada piksel (p). 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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
3.2.2.3 ThinImage Proses ThinImage yang akan dilakukan ditunjukkan pada perancangan berikut ini.
Perancangan ThinImage: 1. Inisialisasi array2 dengan array citra biner.
2. Putar citra array2 sekitar 20 derajat.
3. Lakukan penipisan menggunakan proses zoom in. 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.4 Line 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7. Inisialisasi miu_11, miu_20, dan miu_02 dengan 0.
9. Inisilaisasi teta dengan 0.5*atand(2*miu_11/(miu_209 miu_02)).
c. Tambahkan nilai miu_02 dengan hasil perpangkatan dari hasil indeks kolom dikurangi n_aksen.
m_aksen dengan indeks kolom dikurangi m_aksen.
b. Tambahkan nilai miu_20 dengan hasil perkalian antara indeks baris dikurang
m_aksen dengan indeks kolom dikurangi n_aksen.
a. Tambahkan nilai miu_11 dengan hasil perkalian antara indeks baris dikurang
7.1 Uji apakah piksel (p) bernilai on, jika ya maka lakukan langkah a, b dan c, jika tidak maka kembali lakukan langkah 7.
8. Untuk setiap piksel (p) pada baris dan kolom pada input, lakukan langkah 7.1.
36
Sastra Jawa Menggunakan Pendektan Titik Pusat Gravitasi (Center of Gravity), 2010. Proses yang akan dilakukan tersebut
5. Inisialisasi m_aksen dengan hasil pembagian nilai jum_n dengan jum_-.
a. Tambahkan nilai jum_- dengan 1, jum_m dengan indeks baris, dan jum_n dengan indeks kolom.
7.1 Uji apakah piksel (p) bernilai on, jika ya maka lakukan langkah a, jika tidak maka kembali lakukan langkah 4.
4. Untuk setiap piksel (p) pada baris dan kolom pada input, lakukan langkah 4.1.
3. Inisialisasi jum_-, jum_m, jum_n dengan 0.
2. Inisialisasi dimensi citra.
Perancangan Deteksi Kemiringan: 1. Inisialisasi array2 dengan array citra biner.
ditunjukkan pada perancangan berikut ini.
6. Inisialisasi n_aksen dengan hasil pembagian nilai jum_n dengan jum_-.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
3.2.2.5 GrandUniforming Proses GrandUniforming yang akan dilakukan ditunjukkan pada perancangan berikut ini.
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.
c. Ubah piksel (p) menjadi on. 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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
3.2.2.6 FinalThinImage Proses FinalThinImage yang akan dilakukan ditunjukkan pada perancangan berikut ini.
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).
d. Lakukan pengecekan secondTypeChecking.
Jika memenuhi syarat secondTypeChecking, maka piksel (p) dihapus (off).
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40 menjadi semakin tebal/besar, atau tetap maka dapat dipastikan citra tidak mengalami penghapusan piksel.
3.3.2 Sum of Pixel Object Perancangan Sum of Pixel Object ditunjukkan pseudocode berikut ini.
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.