• Tidak ada hasil yang ditemukan

Penipisan citra aksara Bali menggunakan A fast and flexible thinning algorithm.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Penipisan citra aksara Bali menggunakan A fast and flexible thinning algorithm."

Copied!
85
0
0

Teks penuh

(1)

Abstrak

Dalam proses pengenalan pola, terdapat banyak proses sebelum akhirnya melalui proses mengenali pola, yaitu preprosesing. Preprosesing adalah proses mengolah data agar data dapat siap dipakai dan diolah menjadi informasi yang bermakna. Salah satu cara mengolah data agar siap pakai adalah thinning. Thinning merupakan teknik menipiskan citra sampai ketebalan satu piksel. Tujuannya agar hasil pengenalan pola lebih akurat dan data juga waktu yang digunakan lebih ringkas.

Pada penelitian ini, penulis akan menguji metode A Fast and Flexible Thinning Algorithm pada citra aksara Bali. Aksara Bali yang akan ditipiskan adalah Aksara Wianjana dan Aksara angka, totalnya semua mencapai 28 karakter. Tujuan menggunakan Aksara Bali sebagai data adalah memudahkan penelitian selanjutnya tentang pengenalan pola terkait Aksara Bali.

Hasil penipisan terhadap citra Aksara Bali menggunakan A Fast and Flexible Thinning Algorithm terbukti baik dengan memenuhi berberapa syarat, yaitu One pixel thickness, time

(2)

Abstract

In Pattern Recognition process, there are many processes before we finally recognize the pattern, one of all is preprocessing. Preprocessing is to process data so it can be used and be a meaningful information . One of the way to process data is thinning. Thinning is the way to thin image until it’s thickness is one pixel. The purpose is for more accurate and faster pattern recognition process.

To this research, writer will test A Fast and Flexible Thinning Algorithm on Aksara Bali image. The Aksara that will be thinned are Wianjana and number, its total is 28 characters. The aim use Aksara Bali as data is to make next research related to pattern recognition using Aksara Bali easier.

(3)

i

PENIPISAN CITRA AKSARA BALI MENGGUNAKAN A FAST

AND FLEXIBLE THINNING ALGORITHM

SKRIPSI

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Oleh :

Elizabeth Febrina Cornelia

125314064

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

(4)
(5)
(6)
(7)
(8)

vi

Abstrak

Dalam proses pengenalan pola, terdapat banyak proses sebelum akhirnya melalui proses mengenali pola, yaitu preprosesing. Preprosesing adalah proses mengolah data agar data dapat siap dipakai dan diolah menjadi informasi yang bermakna. Salah satu cara mengolah data agar siap pakai adalah thinning. Thinning merupakan teknik menipiskan citra sampai ketebalan satu piksel. Tujuannya agar hasil pengenalan pola lebih akurat dan data juga waktu yang digunakan lebih ringkas.

Pada penelitian ini, penulis akan menguji metode A Fast and Flexible Thinning Algorithm pada citra aksara Bali. Aksara Bali yang akan ditipiskan adalah

Aksara Wianjana dan Aksara angka, totalnya semua mencapai 28 karakter. Tujuan menggunakan Aksara Bali sebagai data adalah memudahkan penelitian selanjutnya tentang pengenalan pola terkait Aksara Bali.

Hasil penipisan terhadap citra Aksara Bali menggunakan A Fast and Flexible Thinning Algorithm terbukti baik dengan memenuhi berberapa syarat, yaitu One pixel thickness, time consuming, dan Thinning rate yang baik. Dengan rata – rata One pixel thickness sebesar 95%, time consuming rata – ratanya 0,04 detik, dan thinning

ratenya 0,7. Maka A Fast and Flexible Thinning Algoritm dapat dikatakan baik

(9)

vii

Abstract

In Pattern Recognition process, there are many processes before we finally recognize the pattern, one of all is preprocessing. Preprocessing is to process data so it can be used and be a meaningful information . One of the way to process data is thinning. Thinning is the way to thin image until it’s thickness is one pixel. The purpose is for more accurate and faster pattern recognition process.

To this research, writer will test A Fast and Flexible Thinning Algorithm on Aksara Bali image. The Aksara that will be thinned are Wianjana and number, its total is 28 characters. The aim use Aksara Bali as data is to make next research related to pattern recognition using Aksara Bali easier.

(10)

viii

KATA PENGANTAR

Puji syukur kepada Tuhan Yang Maha Esa, atas segala rahmat dan karunia-Nya yang telah diberikan, sehingga penulis dapat menyelesaikan Tugas Akhir “Penipisan Citra Aksara Bali Menggunakan A Fast and Flexible Thinning Algorithm” ini dengan baik.

Dalam penyelesaian tugas akhir ini, penulis tidak lepas dari dukungan dan bantuan dari sejumlah pihak, oleh sebab itu penulis ingin mengucapkan terima kasih kepada :

1. Tuhan Yesus Kristus, atas kasih-Nya yang melimpah, penyertaan, dan segala perkenanan yang diberikan sehingga penulis dapat menyelesaikan tugas akhir ini.

2. Ibu Anastasia Rita Widiarti, S.Si. M.Kom., selaku pembimbing skripsi dan ketua prodi atas saran, waktu, dan kesabaran beliau membimbing penulis menyelesaikan tugas akhirnya.

3. Kedua orang tua penulis, Mama dan Papa, serta adik – adik (Oki dan Fani) untuk dukungan dan kasih sayang yang selalu ada, terlebih doa yang mengiringi.

4. Kak Vanda yang selalu mendukung, membimbing, dan menginspirasi. Terima kasih sudah berbagi berbagai hal. Semoga segera ketemu laki – laki bule ganteng brewokan yang cinta Tuhan dan sayang kak Vanda.

5. Anak – anak Miracle 11, Revival Generation, Real Army, Ce Icha Alviana, serta seluruh keluarga Gereja Mawar Sharon Miracle Yogyakarta sebagai keluarga kedua di Yogyakarta.

(11)

ix

7. Petra Tiblola, selaku pacar penulis, inspirasi bermusik, partner dikala senang dan sedih yang sudah meluangkan waktu, hati, dan telinga untuk menunjang curhatan – curhatan.

8. MSCS, yang membuat saya lebih semangat dalam menyelesaikan tugas akhir ini.

9. Israel and New Breed, Echa Soemantri, JPCC worship, GMS Live, NDC worship, Isyana Sarasvati, Raisa, Tulus, Yura, Zayn, dan Bruno Mars atas lagu – lagu yang menemani pembuatan skripsi.

10.Serta seluruh pihak yang membantu secara langsung maupun tidak langsung dalam penyelesaian Tugas Akhir ini yang tidak bisa penulis sebutkan satu persatu.

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

Yogyakarta, Juni 2016

(12)

x

MOTTO

You are stronger than you know

Tundalah penundaan

It always seems imposs

ible until it’s

(13)

xi

DAFTAR ISI

LEMBAR JUDUL...i

LEMBAR PERSETUJUAN PEMBIMBING...ii

HALAMAN PENGESAHAN ... ii

PERNYATAAN KEASLIAN HASIL KARYA ... Error! Bookmark not defined. PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH ... Error! Bookmark not defined.

2.4. Metode Thinning A Fast and Flexible Thinning... 8

2.5. One Pixel- Thickness ... 10

2.6. Kompleksitas Waktu ... 11

(14)

xii

2.7. Thinning Rate... 14

METODE PENELITIAN ... 16

3.1. Gambaran Umum Penelitian ... 16

3.2. Data ... 16

3.2.1. Sumber Data ... 16

3.2.2. Data yang digunakan ... 16

3.3. Hardware dan Software... 17

3.4. Tahapan – Tahapan Rinci Penelitian ... 18

3.4.1. Studi Kasus ... 18

3.4.2. Penelitian Pustaka ... 18

3.4.3. Perancangan dan Pembuatan Alat Uji ... 19

3.4.4. Pengujian ... 19

3.4.5. Analisis dan Pembuatan Laporan ... 19

3.5. Perancangan Sistem ... 19

3.6. Algoritma A Fast and Flexible Thinning ... 20

IMPLEMENTASI SISTEM ... 24

4.1. Implementasi Algoritma ... 24

4.1.1. Implementasi Algoritma readFile... 24

4.1.2. Implementasi Algoritma Search_prev ... 24

4.1.3. Implementasi Algoritma Successor ... 25

4.1.4. Implementasi Algoritma A Fast and Flexible Thinning Algorithm (Wang-Zhang) 31 4.1.5. Implementasi Algoritma OnePixelThickness... 32

4.1.6. Implementasi Algoritma Time Consuming ... 32

4.1.7. Implementasi Algoritma Not Critical Point ... 32

4.1.8. Implementasi Algoritma Critical Point ... 33

4.1.9. Implementasi Algoritma Thinning Rate ... 33

4.1.10. Implementasi Algoritma Contour Loop ... 34

4.2. Implementasi User Interface ... 37

HASIL DAN ANALISA ... 41

5.1. Analisa Hasil penipisan ... 41

(15)

xiii

5.3. Analisa Pengamatan Citra ... 51

KESIMPULAN DAN SARAN ... 55

6.1. Kesimpulan ... 55

6.2. Saran ... 55

(16)

xiv

Daftar Gambar

Gambar 2. 1 Representasi citra biner berupa matriks (Wang, 1989) ... 5

Gambar 2. 2 Representasi Citra Grayscale (Putra, D., 2004) ... 6

Gambar 2. 3 Representasi Citra RGB ... 7

Gambar 2. 4 Pixel dan Neighbours ... 8

Gambar 2. 5 Digit pattern huruf ‘Y’ menurut Wang-Zhang (1988) ... 8

Gambar 2. 6 Pseudocode A Fast and Flexible Thinning Algorithm (Wang dan Zhang, 1988) ... 10

Gambar 2. 7 Struktur Template A (Jang dan Chin, 1990) ... 11

Gambar 2. 8 Struktur Template B dan C (Jang dan Chin, 1990) ... 11

Gambar 2. 9 Format triangle (segitiga) ... 15

Gambar 3. 1 Citra asli (kiri) dan citra hasil penipisan (kanan) ... 16

Gambar 3. 2 Gambar Aksara Bali Wianjana Wreasta (Sudiarta, 2014) ... 17

Gambar 3. 3 Gambar Aksara Bali Wianjana Wilangan (Sudiarta, 2014) ... 17

Gambar 3. 4 DFD level 1 proses Thinning ... 20

Gambar 4. 1 Halaman Utama ... 37

Gambar 4. 2 Halaman utama setelah meng-klik tombol Thinning ... 38

Gambar 4. 3 Halaman Open File ... 38

Gambar 4. 4 Halaman Save Image... 39

Gambar 4. 5 Halaman Utama setelah meng-klik tombol THINNING ... 40

Gambar 5. 1 Representasi hasil penipisan huruf Ja dalam bentuk biner untuk membuktikan bahwa piksel yang tidak dapat dikategorikan One pixel thickness adalah critical point ... 49

Gambar 5. 2 Citra Asli ... 51

(17)

xv

(18)

xvi

Daftar Tabel

Tabel 2. 1 Pengelompokkan Algoritma bedasarkan notasi Big-O nya ... 14

Tabel 5. 1 Tabel citra sebelum dan setelah penipisan ... 41

Tabel 5. 2 Tabel data jumlah piksel sebelum dan setelah penipisan ... 44

Tabel 5. 3 Tabel One Pixel Thickness ... 45

Tabel 5. 4 Tabel Thinning Rate ... 47

(19)

1

BAB I

PENDAHULUAN

1.1. Latar Belakang

Aksara Bali adalah salah satu kearifan lokal yang dimiliki oleh Provinsi Bali. Aksara Bali masih berkerabat dekat dengan Aksara Jawa dan memiliki banyak kemiripan bentuk. Perbedaan terdapat dalam aksara dasar keduanya, yakni jumlah aksara Bali berjumlah 18 karakter, sedangkan aksara Jawa berjumlah 20 karakter. Pemanfaatan dan pelestarian aksara Bali masih sangat sempit, sedangkan Bali memilki potensi wisata yang bertaraf internasional, sangat disayangkan apabila potensi budaya kurang dipromosikan. Aksara Bali yang memiliki nilai sejarah tersebut ditulis pada permukaan daun lontar dan kertas, dan cara mendokumentasikan dokumen manuscript tersebut adalah dengan cara menyalin atau difoto. Tindak lanjut pendokumentasian setelah proses foto adalah digitalisasi, yakni untuk mengubah citra aksara menjadi suatu karakter terpsisah non-citra.

Dalam proses digitalisasi citra atau yang sering disebut Pemrosesan Citra, proses penipisan citra (Thinning) sangat diperlukan untuk memperingan proses komputasi dan memudahkan proses pengenalan pola. Proses penipisan secara komputasi adalah mengganti representasi citra terluar yang ketebalannya melebihi 1 pixel dari bernilai 1 ke representasi bernilai 0, sehingga ketebalan citra mencapai 1

pixel. Berbagai metode Thinning hasil penelitian sudah diterapkan pada berbagai

tujuan yang berbeda – beda. Dengan kata lain, metode tertentu belum tentu cocok diterapkan pada berbagai kasus. Contoh penerapan metode thinning : menganalisis sel yang abnormal dengan metode Izzo-Coles dan Preston, mengklasifikasi sidik jari dengan metode Moayer-Fu, dan prosesing circuit board dengan metode Ye-Danielsson (Wang dan Zhang, 1989).

(20)

Zhang dan P. S. P. Wang (1989) proses Thinning dengan metode Holt yang dikenakan pada citra daun dengan menggunakan personal computer IBM dan pemrograman menggunakan Turbo Pascal memakan waktu sebanyak 19,39 detik. Hasil ini adalah yang paling tinggi dibandingkan dengan metode Zhang-Suen, Rotovitz, dan A Fast and Flexible Thinning. Dari ke- 4 metode A Fast and Flexible Thinning yang memiliki time consuming dan consuming yang paling rendah. Maka

dari itu, penulis ingin menguji apakah dengan time consuming dan consuming yang rendah metode ini adalah juga metode yang handal, efektif, dan efisien.

1.2. Tujuan Penelitian

Maksud dan tujuan dari penelitian ini adalah :

1. Mengetahui persentase akurasi metode A Fast and Flexible Thinning.

2. Mengetahui persentase one-pixel-thickness metode A Fast and Flexible Thinning. 3. Mengetahui persentase konsumsi waktu metode A Fast and Flexible Thinning. 4. Mengetahui persentase thinning rate metode A Fast and Flexible Thinning.

1.3. Batasan Masalah

Untuk membahas topik yang lebih terarah dan terfokus pada tujuan yang ingin dicapai, maka batasan masalahnya sebagai berikut :

1. Aksara yang dipakai adalah Aksara Bali Wianjana Wreasta dan Wilangan 2. Input adalah citra Aksara Bali dengan format .jpg atau .png

3. Citra Aksara Bali yang dipakai adalah citra hasil scan dari huruf cetak

(21)

1.4. Manfaat Penelitian

Manfaat dari penelitian ini adalah :

1. Untuk menguji apakah algoritma A Fast and Flexible Thinning cukup baik diterapkan pada aksara Bali.

1.5. Metode Penelitian

1. Studi Kasus

Pada pemrosesan citra, yang terpenting adalah menghasilkan citra yang terolah sehingga menjadi citra baru. Tetapi penerapan pemrosesan citra sangatlah luas, citra dipakai untuk image retrieval, medical data mining, Jaringan syaraf tiruan dan sebagainya. Tentu citra yang baik akan menghasilkan analisa yang akurat, maka dari itu sebelum diolah akan sangat baik jika citra mengalami pemrosesan sehingga hasilnya akan lebih efektif dan efisien. Thinning adalah salah satu langkah untuk memproses citra, selain fungsinya untuk mengkompresi ukuran citra, tentu saja membuat pengolahan citra menjadi lebih cepat karena hasil citra lebih kecil dan banyak membuang elemen pixel yang tidak perlu. Maka akan sangat penting sebelum melakukan pengolahan citra untuk terlebih dulu melakukan thinning.

2. Penelitian Pustaka

Pada penelitian pustaka, akan dicantumkan teori – teori terkait dengan judul tugas akhir, diantaranya teori thinning, cara menguji one pixel thickness, cara menguji konsumsi waktu dalam algoritma. Selain itu akan sedikit dibahas tentang latar belakang aksara Bali yang digunakan, yakni aksara Bali Wreasta dan Wilangan, dimana terdiri dari 18 karakter dasar dan 10 angka.

3. Perancangan dan Pembuatan Alat Uji

Untuk mengetes keberhasilan metode yang akan dijadikan tugas akhir, maka akan diiplementasikan lewat aplikasi yang dibangun oleh penulis.

4. Pengujian

(22)

menjalankan implementasi dari tujuan utama penulisan tugas akhir ini, yaitu penipisan citra menggunakan algoritma A Fast and Flexible Thinning.

5. Analisa dan Pembuatan Laporan

Analisa dan pembuatan laporan adalah tahap akhir setelah semua proses dijalankan, kemudian akan membuat analisa dari hasil pengujian yang muncul. Dari analisa tersebut dapat ditarik kesimpulan serta laporan.

1.6. Sistematika Penulisan

Sistematika penulisan Tugas Akhir ini dibagi menjadi berberapa bab dengan susunan sebagai berikut :

BAB I : PENDAHULUAN

Bab ini membahas latar belakang, rumusan masalah, tujuan, batasan masalah, dan sistematika penulisan.

BAB II : LANDASAN TEORI

Bab ini membahas teori – teori dasar yang berkenaan dengan penelitian, yang meliputi metode dan objek penelitian, seperti : teori tentang penggunaan Aksara Bali, teori algoritma A Fast and Flexible Thinning, dan teori dasar tentang Thinning Citra. BAB III : ANALISIS DAN PERANCANGAN SISTEM

Bab ini membahas mengenai analisa komponen – komponen yang akan digunakan utnuk melakukan penelitian, sertaperancagan sistem secara lengkap.

BAB IV : IMPLEMENTASI SISTEM

Bab ini menjelaskan pengaplikasian dari rancangan yang sudah dituliskan pada Bab III, kemudian diimplementasikan melalui program.

BAB V : KESIMPULAN

(23)

5

Bab II

LANDASAN TEORI

2.1. Citra

Citra adalah informasi yang direpresentasikan secara visual, datanya lebih kaya daripada teks. Citra dapat melukiskan sebuah maksud lebih baik dari kata – kata. Informasi citra bisa kita dapatkan melalui proses pengambilan gambar secara digital. Citra terdiri dari 2 macam, yaitu citra diam dan citra bergerak. Citra diam adalah citra tunggal yang tidak memiliki pergerakan, contoh citra diam misalnya foto. Sedangkan citra bergerak adalah serangkaian citra diam yang dijalankan kemudian menghasilkan pergerakan.

2.1.1. Citra Biner

Citra Biner adalah citra dwi nilai, yakni 0 dan 1. Citra hanya memiliki 2 representasi berwarna hitam (0) dan putih (1). Yang harus dilakukan untuk membuat citra biner adalah menetapkan titik berat, kemudian bedasarkan titik berat tersebut representasi warna citra akan dikelompokkan ke dalam warna hitam dan putih. Penggunaan warna biner biasanya digunakan pada penerapan barcode, dan citra logo.

(24)

2.1.2. Citra Grayscale

Citra grayscale memiliki warna yang lebih kaya daripada citra biner. Angka minimal dari grayscale adalah 0 dan maksimalnya adalah 255. Citra keabuan terdiri dari 8 bit, kemudian 2 dipangkatkan 8 (dari 8 bit), hasilnya adalah 256, tetapi karena 0 dihitung sebagai nilai minimal, maka interval grayscale adalah dari 0-255.

2.1.3. Citra RGB

Citra RGB adalah citra yang paling sering kita jumpai didalam kehidupan sehari – hari. Citra RGB yang sering kita sebut citra True color memiliki 3 keping warna, yaitu Red, Green, dan Blue yang kemudian digabungkan untuk menghasilkan warna yang lebih luas. Untuk citra RGB, rentang color encoding-nya mencapai 224

yang artinya terdapat 16.777.216 warna, tetapi untuk setiap keping warna (red, green, blue) memiliki rentang maksimum 255.

(25)

Gambar 2. 3 Representasi Citra RGB

2.2. Binarisasi

Binarisasi adalah proses untuk membuat warna citra menjadi hitam dan putih. Binarisasi yang baik adalah proses binarisasi yang mampu membedakan antara background dengan foreground. Pemisahan background dan foreground tersebut

didapatkan dari hasil pencarian nilai ambang (thresholding).

Ada 3 kemungkinan ketika mengenakan proses threshold kepada citra, yaitu :

a. Nilai Threshold terlalu tinggi, akibatnya citra yang terpisah menjadi tergabung.

b. Nilai Threshold terlalu rendah, akibatnya sebuah citra menjadi terpotong – potong.

c. Nilai Threshold sesuai dengan kebutuhan.

2.3. Thinning

Thinning adalah proses menghapus titik hitam dan mentransformasikannya

(26)

inti dari pattern dan mengurangi memori yang tidak perlu sehingga dalam pemrosesan citra menjadi lebih ringan. Dimulai pada tahun 1950-an keinginan untuk meminimumkan informasi yang penting untuk diproses, sehingga muncullah ide untuk membuat algoritma thinning. Dan sampai sekarang sudah banyak berkembang algoritma yang serial maupun parallel.

2.4. Metode Thinning A Fast and Flexible Thinning

Sebelum menggunakan A Fast and Flexible Thinning, berikut adalah istilah dan peraturan dalam algoritma A Fast and Flexible Thinning :

1) Neighbours

Untuk setiap pixel yang memenuhi syarat, memiliki masing – masing 8 tetangga. Syarat urutan untuk setiap tetangga adalah mulai dari pixel yang akan dihapus tersebut, kemudian ke pixel yang berada diatasnya lalu mengikuti arah jarum jam. Pixel yang akan dihapus dilambangkan dengan q(i,j), citra yang akan menjadi

input adalah citra biner. Dengan kata lain, q(i,j) hanya akan bernilai 0 atau 1.

Gambar 2. 4 Pixel dan Neighbours

(27)

2) Contour Point

Contour point adalah pixel yang memiliki paling sedikit 1 pixel tetangga yang

berwarna putih, dengan kata lain pixel yang berada di pinggir dari pattern tersebut. Bedasarkan Gambar 2.5. yang menjadi contour point adalah a, b, c, d, dan seterusnya.

3) Contour Loop

Contour loop adalah serangkaian contour point yang berkesinambungan

membentuk sebuah pola. Dalam Gambar 2.5. terlihat bahwa jumlah contour loop pada pola ‘Y’ adalah 1, sedangkan pada kasus – kasus tertentu jumlah contour loop bisa lebih dari satu.

4) Sucessor dan Previous point

Dalam Gambar 2.5. misalkan kita mengambil contoh point k, maka sucessor-nya adalah j, dan k. Sebaliknya, maka previous point-nya adalah l jika menghitung dari pixel n. Sucessor adalah pixel yang ada setelah pixel yang sudah ditentukan untuk dihapus, sedangkan previous adalah pixel sebelum mengenai pixel target. 5) Sucessor function

Misalkan saja p menjadi pixel yang diproses, maka x adalah previous point, dan z menjadi sucessor point dari p. Kemudian sucessor function-nya menjadi z = s(x,p).

6) Syarat – syarat penghapusan

a) 1 < B(p) <7, dimana B(p) adalah jumlah pixel yang nilainya taknol

b) A(p) = 1, A(p) adalah jumlah transisi dari 1 ke 0 mulai dari p sampai p7.

(28)

Gambar 2. 6 Pseudocode A Fast and Flexible Thinning Algorithm

(Wang dan Zhang, 1988)

2.5. One Pixel- Thickness

One pixel thickness adalah keadaan dimana sebuah citra memiliki ketebalan

(29)

Gambar 2. 8 Struktur Template B dan C (Jang dan Chin, 1990)

Gambar 2. 7 Struktur Template A (Jang dan Chin, 1990)

2.6. Kompleksitas Waktu

Menurut Wang dan Zhang (1989), running time dari algoritma A Fast and Flexible Thinning relatif lebih singkat daripada algoritma Zhang-Suen, sehingga

(30)

juga membuat algoritma tersebut handal digunakan. Kompleksitas waktu diwakili oleh T(n), laju waktu dapat dihitung sesuai dengan besar masukan n.

2.6.1. Kompleksitas Waktu Asimptotik

Jika nilai n tersebut terlalu besar atau mungkin tak hingga nilainya, maka perlu untuk mengetahui kompleksitas waktunya berdasarkan waktu tempuh dari algoritma tersebut. Notasi yang digunakan untuk mengetahui kompleksitas waktu adalah notasi asimptotik (Azizah, 2013). Terdapat 3 macam Kompleksitas waktu, yaitu best case, average case, dan worst case. Best case dilambangkan dengan

Ω( � ) (Big Omega), average case dilambangkan dengan Θ � (Big Theta,

sedangkan worst case dilambangkan dengan O(g(n)) (Big O).

Kompleksitas waktu asimptotik memiliki berberapa teorema dan definisi sebagai berikut :

1. Definisi 1 : T(n) = O(f(n))

Dibaca “T(n) adalah O(f(n))” yang artinya T(n) berorde paling besar f(n). Bila terdapat konstanta C dan n0 sedemikian hingga T(n) ≤ O(f(n)) untuk � > �0 dimana f(n) adalah batas dari T(n) untuk n yang besar

2. Teorema 1 : Bila T(n) = � ��+ ��− ��− + ⋯ + � � + � adalah

Untuk menghitung big O dalam setiap algoritma dan menerapkan teorema – teorema seperti yang telah disebutkan sebelumnya sebagai berikut :

 Operasi pengisian nilai, operasi perbandingan, operasi baca tulis,

(31)

Operasi pengaksesan elemen larik dan memilih field tertentu membutuhkan

Operasi perulangan for. Kompleksitas waktunya adalah jumlah pengulangan

dikali dengan kompleksitas waktu badan perulangan Contoh :

For i:=1 to n do

Jumlah:=jumlah + a[i]; O(1)

Operasi perulangan while-do dan repeat-until, utuk kedua perulangan

tersebut, kompleksitas waktunya adalah jumlah perulangan dikali dengan kompleksitas waktu C dan S.

i:=2 O(1)

while i <= n do O(1)

(32)

jumlah :=jumlah + a[i]; O(1)

i:=i+1; O(1)

end;

 Untuk operasi pemanggilan fungsi, waktu yang dibutuhkan adalah sebesar O(1)

Berikut tabel pengelompokkan algoritma bedasarkan notasi Big O nya :

Tabel 2. 1 Pengelompokkan Algoritma bedasarkan notasi Big-O nya

Kelompok Algoritma Nama O(1)

(33)

Gambar 2. 9 Format triangle (segitiga)

Nilai triangle akan dihitung dengan seberapa banyaknya jumlah pola yang terpenuhi oleh sebuah piksel. Jika sebuah piksel memenuhi semua pola maka nilai TTCnya (Total Triangle Count) adalah 4. Penghitungan TTC dilakukan sebelum proses penipisan dan setelah proses penipisan. Setelah mendapatkan kedua nilai TTC maka nilai TTC setelah penipisan (TTCt) akan dibagi nilai TTC sebelum proses penipisan (TTCo). Semakin hasilnya mendekati 1, maka hasil dari thinning rate semakin baik. Rumusnya adalah sebagai berikut :

TR = 1-

����

(34)

16

Bab III

METODE PENELITIAN

3.1. Gambaran Umum Penelitian

Sistem yang penulis bangun adalah sistem untuk menipiskan aksara Bali (Skeletonization), dan mengetahui informasi meliputi hasil penipisan tersebut (akurasi, kompleksitas, runtime). Inputnya adalah citra aksara yang sudah dalam posisi sudut yang benar, kemudian proses yang dikenakan adalah proses untuk membinarisasikan citra aksara tersebut, kemudian sesudah menjadi biner maka akan dikenakan penipisan. Setelah penipisan, maka akan terdapat citra baru, yakni hasil penipisan serta analisa hasil penipisan. Gambar 3.1 adalah hasil penipisan citra aksara Bali huruf Ja dengan algoritma A Fast and Flexible Thinning :

Gambar 3. 1 Citra asli (kiri) dan citra hasil penipisan (kanan)

3.2. Data

3.2.1. Sumber Data

Data bersumber dari Buku Cetak Bahasa Bali Pangkaja Sari untuk kelas VII SMP dengan penerbit Dwi Jaya Mandiri pada halaman 23 dan 25. Data yang kemudian di-scan kemudian di-crop agar siap diolah menjadi data baru.

3.2.2. Data yang digunakan

(35)

Data Aksara Bali adalah citra hasil scan dari Buku Aksara Bali yang sudah di-crop dan siap diproses.

Gambar 3. 2 Gambar Aksara Bali Wianjana Wreasta (Sudiarta, 2014)

Gambar 3. 3 Gambar Aksara Bali Wianjana Wilangan (Sudiarta, 2014)

3.3. Hardware dan Software

Perangkat keras yang digunakan adalah Laptop Lenovo Seri IdeaPad Z410 dengan spesifikasi sebagai berikut :

Processor : Intel(R) Core(TM) i5-4200M

RAM : 4096MB

(36)

Perangkat lunak yang digunakan adalah Matlab R2012b. Matlab R2012b adalah perangkat untuk membantu komputasi numerik dengan bahasa pemrograman high-level. Dalam perangkat tersebut tersedia fungsi – fungsi yang sudah bisa langsung digunakan yang berkaitan dengan proses komputasi, contohnya : Penambangan Data, image processing, dan perhitungan matematis sederhana lainnya. Hasil dari fungsi di Matlab R2012b dapat direpresentasikan secara teks maupun visual.

3.4. Tahapan – Tahapan Rinci Penelitian

3.4.1. Studi Kasus

Dewasa ini, kemajuan teknologi sudah merambah ranah citra. Berbagai pengaplikasian teknologi pada citra telah diterapkan, misalnya pengenalan pola, pemrosesan citra dan medical data mining. Citra menjadi data yang sangat penting untuk diolah ketika ciri dari suatu keadaan dilihat dari segi visualnya. Tetapi sebelum diproses dalam tahap lebih lanjut ada baiknya citra merupakan citra yang efektif dan efisien untuk diolah. Dalam pengenalan pola pada citra tentu pola citra yang dikenali tidak sedikit, jika ukuran citra besar atau kurang jelas maka akan lebih sulit untuk dikenali. Thinning adalah salah satu langkah awal untuk mengkompresi citra dan membuang data citra yang tidak perlu sehingga pengenalan pola akan lebih cepat dan efektif. Tanpa proses thinning tentu pemrosesan citra akan sangat lama dan berat, maka dalam penelitian ini diharapkan penerapan thinning dari algoritma A Fast and Flexible Thinning dapat memberikan sumbangsih dalam hal referensi apakah metode

ini baik untuk digunakan pada penelitian selanjutnya.

3.4.2. Penelitian Pustaka

(37)

3.4.3. Perancangan dan Pembuatan Alat Uji

Pada tahap ini perancangan alat uji akan dilakukan dengan perancangan interface dan perancangan alat uji yang diimplementasikan dengan cara pembuatan

sistem. Setelah perancangan, akan dibuat alat uji untuk menguji one pixel thickness dan kompleksitas waktu.

3.4.4. Pengujian

Pada tahap pengujian, data harus terlebih dahulu dikenai proses thinning, kemudian akan diuji dari aspek one pixel thickness dan konsumsi waktu. Berikut prosedur pengujiannya :

1. Data yang didapatkan dari sumber data kemudian dimasukkan dalam sistem 2. Data yang sudah dimasukkan dalam sistem kemudian dikenai proses thinning 3. Citra yang sudah di-thinning kemudian dicek apakah setiap pixel yang bukan

critical point masuk dalam kriteria template A, jika terdapat termasuk dalam

template A, maka dihitung jumlah persentase pixel yang sudah mencapai one

pixel thickness

4. Sambil mengecek one pixel thickness, dapat juga dihitung konsumsi waktunya dengan cara yang sudah dibahas dalam pembahasan subbab 2.6..

3.4.5. Analisis dan Pembuatan Laporan

Setelah proses dari pengujian, maka akan ada suatu citra untuk dianalisa. Yang menjadi tolak ukur pada algoritma A Fast and Flexible Thinning adalah konektivitas, one pixel thickness, dan konsumsi waktu. Ketiga hal ini dapat dianalisa dengan membuat alat uji yang berupa sebuah aplikasi. Aplikasi ini sangat penting dan harus bebas dari error agar setiap analisa yang diberikan adalah analisa yang benar.

3.5. Perancangan Sistem

(38)

3.6. Algoritma A Fast and Flexible Thinning

Proses Thinning pada penelitian menggunakan metode thinning paralel A Fast and Flexible Thinning yang disertai hasil pengujian one pixel thickness, pixel yang

dihapus, dan konsumsi waktu. Masukan dari proses thinning ini adalah citra yang sudah berbentuk citra biner, kemudian melalui proses thinning, kemudian akan keluar output gambar hasil thinning dan analisa. Gambar 3.5 yang akan menjelaskan alur

metode A Fast and Flexible Thinning.

(39)
(40)

Gambar 3. 5 Flowchart Metode A Fast and Flexible Thinning A

(41)

Secara konsep, citra yang melalui proses algoritma ini akan melalui berberapa tahap, yaitu mencari countour loop, mencari first dan prev, mencari successor, mencocokkan piksel dengan kondisi penipisan, dan kemudian menghapus piksel. Proses penghapusan piksel akan terjadi berkali – kali sesuai banyaknya countour loop, kemudian citra akan dikenai persyaratan penghapusan pertama secara

(42)

24

Bab IV

IMPLEMENTASI SISTEM

Rancangan yang sudah dituliskan dalam Bab III akan diimplementasikan menjadi sistem yang digunakan untuk otomatisasi proses penipisan citra. Proses implementasi adalah sebagai berikut :

4.1.Implementasi Algoritma

4.1.1. Implementasi Algoritma readFile

Algoritma readFile berfungsi untuk mendeteksi citra yang belum biner dan mengubah citra tersebut menjadi biner agar mudah dalam proses penipisan. Dalam algoritma ini, perintah binarisasi yang digunakan adalah perintah bawaan matlab, yaitu im2bw, sedangkan untuk thresholding menggunakan perintah graythresh.

1. Mulai 2. Baca citra

3. Jika citra tidak biner maka lakukan thresholding menggunakan perintah graythresh

4. Kemudian lakukan binarisasi menggunakan perintah im2bw 5. Selesai

4.1.2. Implementasi Algoritma Search_prev

(43)

1. Mulai

2. Jika titik tetangga sebelah diagonal kanan atas adalah daerah maka titik tersebut menjadi prev

3. Jika titik tetangga sebelah kanan adalah daerah maka titik tersebut menjadi prev

4. Jika titik tetangga sebelah diagonal kanan bawah adalah daerah maka titik tersebut menjadi prev

5. Jika titik tetangga sebelah bawah adalah daerah maka titik tersebut menjadi prev

6. Jika titik tetangga sebelah diagonal kiri bawah adalah daerah maka titik tersebut menjadi prev

7. Jika titik tetangga sebelah kiri adalah daerah maka titik tersebut menjadi prev

8. Jika titik tetangga sebelah diagonal kiri atas adalah daerah maka titik tersebut menjadi prev

9. Jika bukan semuanya maka prevnya adalah sebelah atas 10.Selesai

4.1.3. Implementasi Algoritma Successor

Sama seperti halnya search_prev, algoritma successor berfungsi untuk

mencari pengganti piksel yang akan diproses. Jika search_prev adalah untuk mencari prev, maka successor adalah untuk mencari piksel penerus terproses.

1. Mulai

2. Jika pixel terproses dan pixel terdekat yang on sejajar, maka lakukan : 2.1. Jika Pixel terproses ada disebelah kiri pixel on terdekat maka lakukan :

2.1.1. Cek apakah tetangga kanan atas dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

(44)

on, jika iya maka pixel tersebut adalah successor

2.1.3. Cek apakah tetangga kanan bawah dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

2.1.4. Cek apakah tetangga bawah dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

2.1.5. Cek apakah tetangga kiri bawah dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

2.1.6. Cek apakah tetangga kiri dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

2.1.7. Cek apakah tetangga kiri atas dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

2.1.8. Jika bukan semuanya maka successornya adalah tetangga atas 2.2. Jika pixel terproses ada di sebelah kanan pixel on maka lakukan

2.2.1. Cek apakah tetangga kanan bawah dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

2.2.2. Cek apakah tetangga bawah dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

2.2.3. Cek apakah tetangga kiri bawah dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

2.2.4. Cek apakah tetangga kiri dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

2.2.5. Cek apakah tetangga kiri atas dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

2.2.6. Cek apakah tetangga atas dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

2.2.7. Cek apakah tetangga kanan atas dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

(45)

3. Jika pixel on terdekat ada diatas pixel terproses maka lakukan

3.1. Jika pixel on terdekat ada di sebelah kanan atas pixel terproses maka lakukan :

3.1.1. Cek apakah tetangga atas dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

3.1.2. Cek apakah tetangga kanan atas dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

3.1.3. Cek apakah tetangga kanan dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

3.1.4. Cek apakah tetangga kanan bawah dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

3.1.5. Cek apakah tetangga bawah dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

3.1.6. Cek apakah tetangga kiri bawah dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

3.1.7. Cek apakah tetangga kiri dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

3.1.8. Jika bukan semuanya, maka tetangga kiri atas adalah successornya

3.2. Jika pixel on terdekat berada diatas pixel terproses maka lakukan : 3.2.1. Cek apakah tetangga kanan atas dari pixel on tersebut adalah

pixel on, jika iya maka pixel tersebut adalah successor

3.2.2. Cek apakah tetangga kanan dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

3.2.3. Cek apakah tetangga kanan bawah dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

(46)

3.2.5. Cek apakah tetangga kiri bawah dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

3.2.6. Cek apakah tetangga kiri dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

3.2.7. Cek apakah tetangga kiri atas dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

3.2.8. Jika bukan semuanya maka tetangga atas adalah successornya 3.3. Jika pixel terdekat yang on berada di kiri atas dari pixel terproses maka

lakukan :

3.3.1. Cek apakah tetangga kanan dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

3.3.2. Cek apakah tetangga kanan bawah dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

3.3.3. Cek apakah tetangga bawah dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

3.3.4. Cek apakah tetangga kiri bawah dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

3.3.5. Cek apakah tetangga kiri dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

3.3.6. Cek apakah tetangga kiri atas dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

3.3.7. Cek apakah tetangga atas dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

3.3.8. Jika bukan semuanya maka tetangga kanan atas adalah successornya

4. Jika pixel terdekat yang on berada dibawah pixel terproses maka lakukan : 4.1. Jika pixel terdekat yang on berada di sebelah kiri bawah dari pixel

(47)

4.1.1. Cek apakah tetangga bawah dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

4.1.2. Cek apakah tetangga kiri bawah dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

4.1.3. Cek apakah tetangga kiri dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

4.1.4. Cek apakah tetangga kiri atas dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

4.1.5. Cek apakah tetangga atas dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

4.1.6. Cek apakah tetangga kanan atas dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

4.1.7. Cek apakah tetangga kanan dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

4.1.8. Jika bukan semuanya maka tetangga kanan bawah adalah successornya

4.2. Jika pixel terdekat yang on berada tepat dibawah pixel terproses maka lakukan :

4.2.1. Cek apakah tetangga kiri bawah dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

4.2.2. Cek apakah tetangga kiri dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

4.2.3. Cek apakah tetangga kiri atas dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

4.2.4. Cek apakah tetangga atas dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

(48)

4.2.6. Cek apakah tetangga kanan dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

4.2.7. Cek apakah tetangga kanan bawah dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

4.2.8. Jika bukan semuanya maka tetangga bawah adalah successornya

4.3. Jika pixel terdekat yang on berada di sebelah kanan bawah pixel terproses, maka lakukan :

4.3.1. Cek apakah tetangga kiri dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

4.3.2. Cek apakah tetangga kiri atas dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

4.3.3. Cek apakah tetangga atas dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

4.3.4. Cek apakah tetangga kanan atas dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

4.3.5. Cek apakah tetangga kanan dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

4.3.6. Cek apakah tetangga kanan bawah dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

4.3.7. Cek apakah tetangga bawah dari pixel on tersebut adalah pixel on, jika iya maka pixel tersebut adalah successor

4.3.8. Jika bukan semuanya maka tetangga sebelah kiri bawah adalah successornya

(49)

4.1.4. Implementasi Algoritma A Fast and Flexible Thinning Algorithm

(Wang-Zhang)

1. Mulai

2. Lakukan inisialisasi nilai g =1

3. Lakukan perintah dibawah sampai h[k]=0 (sampai proses looping tidak memenuhi syarat penghapusan

3.1. Inisialisasikan Q=Q1 (melakukan penyalinan matriks citra asli) 3.2. Jika g=1, maka g=0, jika tidak, maka g=1

3.3. Untuk k=1 sampai dengan nilai m, lakukan : 3.3.1. Jika h[k]=1 maka lakukan :

3.3.1.1. Cari first (p), cari prev(x), set h[k]=0

3.3.1.2. Selama syarat loop-end test terpenuhi (pixel terproses adalah pixel on), maka lakukan :

3.3.1.2.1. Cari successor

3.3.1.2.2. Pixel terproses menjadi prev 3.3.1.2.3. Jika g=0, maka lakukan :

3.3.1.2.3.1. Jika 1<B(p)<7 & A(p)=1 | C(p)=1 & (p(2)+p(4))*p(0)*p(6)=0, maka lakukan penghapusan, h[k]=1

3.3.1.2.4. Jika tidak maka lakukan :

3.3.1.2.4.1. Jika 1<B(p)<7 & A(p)=1 | C(p)=1 & p(2)*p(4)*(p(0)+p(6))=0, maka lakukan penghapusan, h[k]=1

3.3.1.2.5. Successor menjadi pixel terproses 3.3.1.3. Selesai

(50)

4.1.5. Implementasi Algoritma OnePixelThickness

1. Mulai

2. Buat matriks sesuai dengan isi template A, B, dan C (sudah dibahas dalam bab III)

3. Input gambar yang akan diuji

4. Lakukan looping sebanyak jumlah pixel tinggi dan lebar citra, selama itu, lakukan :

4.1. Jika pixel tersebut pixel on, maka lakukan :

4.1.1. Cocokkan pixel on tersebut pada template A, B, dan C 4.2. Hitung pixel yang bukan critical

4.3. Kurangi jumlah pixel (citra setelah di thinning – pixel bukan critical) /pixel thinning kemudian kalikan 100%

5. Selesai

4.1.6. Implementasi Algoritma Time Consuming

Algoritma Time consuming menghitung berapa time consuming dari proses thinning tersebut. Perintah untuk memuat time consuming menggunakan bawaan matlab, yaitu tic toc.

4.1.7. Implementasi Algoritma Not Critical Point

(51)

1. Mulai

2. Membuat matriks menurut template A, B, dan C 3. Masukkan gambar

4. Cocokkan pixel on terproses dengan template

5. Jika pixel on terproses tidak cocok dengan template manapun maka akan dihitung sebagai Not Critical Point.

6. Selesai

4.1.8. Implementasi Algoritma Critical Point

Algoritma critical point berfungsi untuk mencari jumlah critical point dalam piksel hasil skeleton citra. Semakin banyak critical point dalam citra, semakin baik hasil penipisan tersebut, karena algoritma menipiskan hanya citra yang memiliki piksel berlebih dan bukan piksel dari citra yang memiliki persimpangan sehingga tidak mengubah pola asli citra tersebut.

1. Mulai

2. Membuat matriks menurut template A, B, dan C 3. Masukkan gambar

4. Cocokkan pixel on terproses dengan template

5. Jika pixel on terproses cocok dengan template A,B, atau C maka akan dihitung sebagai Critical Point.

6. Selesai

4.1.9. Implementasi Algoritma Thinning Rate

Pengujian Thinning Rate berfungsi untuk membuktikan bahwa algoritma thinning benar – benar menipiskan dengan cara menghitung pola triangle dari setiap piksel yang sudah ditipiskan dibagi dengan jumlah pola triangle dari citra yang belum ditipiskan. Semakin kecil jumlah dari thinning rate, hasil thinning semakin tipis.

(52)

2. Buat masking 3x3

3. Hitung jumlah (i-1,j-1) * (i,j-1) * (i,j) + (i-1,j-1) *(i-1,j)*(i,j)+(i-1,j)*(i-1,j+1)*(i,j)+ (i,j)*(i,j+1)*(i-1,j+1) pada pixel tersebut

4. Lakukan proses thinning 5. Buat masking baru 3x3

6. Hitung jumlah (i-1,j-1) * (i,j-1) * (i,j) + (i-1,j-1) *(i-1,j)*(i,j)+(i-1,j)*(i-1,j+1)*(i,j)+ (i,j)*(i,j+1)*(i-1,j+1) pada pixel tersebut

7. Thinning rate adalah jumlah perhitungan setelah thinning dibagi sebelum thinning

4.1.10.Implementasi Algoritma Contour Loop

Penghitungan countour loop berfungsi untuk jumlah looping yang dijalankan oleh algoritma. Singkatnya, algoritma ini menghitung dan mengolah jumlah garis pinggir dari citra tersebut.

1. Mulai

2. Membuat matriks salinan dari citra asli (tempku1 dan tempku3) 3. Mencari pixel pertama dari citra yang representasi hitam

4. Mencari jumlah pixel hitam pada citra

5. Inisialisasikan : tempku_no_daerah =0, iterasi=0, no_daerah=0 6. Selama jumlah piksel hitam lebih dari 0, maka lakukan :

6.1. Jika iterasi=1, maka lakukan : 6.1.1. Iterasi =0, cek =0

6.1.2. Looping sebanyak tinggi dan lebar citra (tempku1), lakukan : 6.1.2.1. Jika cek =0, maka lakukan

6.1.2.1.1. Jika pixel tersebut on(tempku1), jadikan pixel itu daerah (nilai awal :-1)

6.1.2.1.2. Cek =1

(53)

6.2.1. Periksa apakah pixel tetangga dari pixel on tersebut terdapat yang bernilai daerah (daerah bernilai awal -1)

6.2.2. Jika tidak ada lagi tetangga yang memiliki nilai daerah, maka nilai no_daerah ditambah satu

6.3. Jika no_daerah = tempku_no_daerah, maka lakukan : 6.3.1. Daerah = daerah -1

6.3.2. Iterasi = iterasi +1

6.4. Tempkku_no_daerah = no_daerah 6.5. No_daerah =0

6.6. Hitung jumlah pixel hitam dalam citra

7. Jumlah karakter = jumlah angka terkecil dalam tempku1 * -1 8. Inisialisasi cek=0, daerah=-1

9. Looping selama panjang dan lebar dari citra, lakukan : 9.1. Jika cek =0

9.1.1. Jika pixel terproses == daerah, maka lakukan : 9.1.1.1. Titik tersebut akan menjadi first

9.1.1.2. Cari prevnya 9.1.1.3. Cek =1

9.1.2. Cari jumlah pixel yang bernilai daerah 9.1.3. Cek =0

9.1.4. Mencari border citra yang on, kemudian dijadikan sebagai nilai daerah

9.1.5. Mencari jumlah pixel hitam dalam citra (tempku1)

9.1.6. Inisialisasi tempku_no_daerah =0, daerah=-1, no_daerah=0, iterasi=0

9.1.7. Selama jumlah pixel putih >0, maka lakukan : 9.2. Jika iterasi=1, maka lakukan :

(54)

9.2.2. Looping sebanyak tinggi dan lebar citra (tempku3), lakukan : 9.2.2.1. Jika cek =0, maka lakukan

9.2.2.1.1. Jika pixel tersebut putih(tempku1), jadikan pixel itu daerah (nilai awal :-1)

9.2.2.1.2. Cek =1

9.3. Cek apakah pixel tersebut putih, jika iya maka lakukan :

9.3.1. Periksa apakah pixel tetangga dari pixel on tersebut terdapat yang bernilai daerah (daerah bernilai awal -1)

9.3.2. Jika tidak ada lagi tetangga yang memiliki nilai daerah, maka nilai no_daerah ditambah satu

9.4. Jika no_daerah = tempku_no_daerah, maka lakukan : 9.4.1. Daerah = daerah -1

9.4.2. Iterasi = iterasi +1

9.5. Tempku_no_daerah = no_daerah 9.6. No_daerah =0

9.7. Hitung jumlah pixel putih dalam citra

10.Countour_loop = bilangan terkecil(representasi citra) *-1 11.Jika countour_loop >1, maka lakukan :

11.1. Cek=0, daerah = -2, counter=jumlahkarakter+1; 11.2. Looping sebanyak jumlah countour loop

11.2.1.Looping sejumlah tinggi dan lebar citra 11.2.1.1. Jika cek =0, maka lakukan :

11.2.1.1.1.Jika pixel terproses (tempku3) adalah daerah, maka lakukan :

11.2.1.1.1.1. Jadikan tetangga sebelah kiri adalah first 11.2.1.1.1.2. Jadikan tetangga atas prev

(55)

11.2.3.Daerah =-1, cek =0

12.M=countour_loop+(jumlah_karakter-1) 13.Selesai

4.2. Implementasi User Interface

Terdapat 3 halaman yang ada dalam Sistem Penipisan Citra Aksara Bali, yaitu halaman utama, halaman save image dan halaman open file. Halaman utama terdiri dari 4 tombol, untuk me-load gambar, untuk melakukan proses thinning, melakukan proses simpan dan untuk membersihkan area axes.

(56)

Gambar 4. 2 Halaman utama setelah meng-klik tombol Thinning

(57)

Gambar 4. 4 Halaman Save Image

(58)

Gambar 4. 5 Halaman Utama setelah meng-klik tombol THINNING

(59)

41

Bab V

HASIL DAN ANALISA

5.1. Analisa Hasil penipisan

Dari proses penipisan yang telah dilakukan, penulis mendapatkan 28 hasil dari 18 aksara Wianjana dan 10 angka aksara Bali.

Tabel 5. 1 Tabel citra sebelum dan setelah penipisan

NO Karakter Gambar Asli Gambar Hasil

Penipisan

1 ha

2 na

3 ca

4 ra

5 ka

(60)

7 ta

8 sa

9 wa

10 la

11 ma

12 ga

13 ba

14 nga

15 pa

16 ja

17 ya

(61)

19 0

20 1

21 2

22 3

23 4

24 5

25 6

26 7

27 8

28 9

(62)
(63)

24 5 973 118 87,8726

Tabel 5. 3 Tabel One Pixel Thickness

(64)

12 ga 98,4127 3 18

Pada Tabel 5.2 persentase piksel yang terhapus terbilang cukup tinggi, dengan rata – rata 92,0540%. Pengujian berikutnya adalah apakah piksel skeleton yang tersisa adalah memang piksel inti dari citra. Terdapat piksel yang tebalnya lebih dari satu piksel karena jika piksel tersebut dihapus akan mengubah bentuk asli dari citra tersebut. Dari Tabel 5.3 dapat dilihat hasil penipisan memiliki persentase one pixel thickness yang tinggi, dan rata – ratanya sebesar 95,5697%. Dapat dikatakan bahwa

(65)

One pixel thickness didapatkan dari pembagian jumlah critical point dan

jumlah piksel. Jadi bisa dikatakan jika semakin banyak jumlah critical point dalam suatu citra maka proses penipisan semakin berhasil. Pada citra huruf Na jumlah critical point-nya mencapai 86 piksel, sedangkan not critical point-nya mencapai 30

piksel. Berarti algoritma ini berhasil mereduksi sebagian besar piksel yang bukan critical point.

Tabel 5. 4 Tabel Thinning Rate

(66)

17 ya 5158 988 0,808453

Dari Tabel 5.4 bisa disimpulkan bahwa Algoritma A Fast and Flexible Thinning mereduksi cukup banyak triangle setelah penipisan. Dibuktikan banyaknya

selisih antara triangle setelah dan sebelum penipisan dan besarnya nilai Thinning rate. Contoh dari huruf Ja yang nilai thinning rate-nya paling kecil, algoritma menghapus sekitar 3000 triangle setelah penghapusan.

(67)

piksel yang memenuhi pola triangle. Dengan demikian dari segi ketipisan, algoritma A Fast and Flexible Thinning merupakan algoritma yang bagus.

Gambar 5. 1 Representasi hasil penipisan huruf Ja dalam bentuk biner untuk

membuktikan bahwa piksel yang tidak dapat dikategorikan One pixel thickness adalah critical point

5.2.Analisa Waktu Penipisan

Selain faktor keampuhan sebuah algoritma menipiskan citra, parameter lainnya yang membuat algoritma tersebut adalah algoritma yang baik adalah time consuming-nya. Semakin singkat time consuming tentu semakin baik algoritma

tersebut. Menurut penelitian dan artikel (Wang dan Zhang, 1989) Algoritma A Fast and Flexible Thinning relatif cepat, bahkan lebih cepat dari algoritma Zhang Suen

(68)

Tabel 5. 5 Tabel Time consuming

NO Karakter Time Consuming (sec)

(69)

26 7 0.0148686 27 8 0.0183656 28 9 0.0202159

Rata Rata 0,0488608 detik

Dari data diatas dapat dikatakan bila time consuming untuk aksara Bali tidak mencapai 1 detik. Dapat disimpulkan untuk sekali proses penipisan tidak memakan waktu yang lama. Dari segi time consuming, algoritma ini bisa dikatakan bagus.

5.3. Analisa Pengamatan Citra

Setelah mengamati bentuk fisik citra hasil secara subyektif, terlihat bahwa terdapat piksel yang terhapus sehingga mengurangi kemiripan dengan citra asli. Mengutip dari paper Wang dan Zhang terkait A Fast and Flexible Thinning Algorithm bahwa terkadang citra akan mengalami perubahan bentuk setelah

mengalami pemrosesan citra. Gambar 5.2 dibawah akan dikenakan algoritma A Fast and Flexible Thinning Algorithm dan akan dikerjakan secara manual dan sistematis.

(70)

Gambar 5. 3 Hasil penipisan dengan sistem

Citra Asli pada Gambar 5.2 berdimensi 20 x 10 piksel kemudian pada Gambar 5.3 adalah citra hasil penipisan. Terlihat bahwa citra tersebut sedikit mengalami perubahan bentuk. Salah satu faktor perubahan bentuk adalah besar citra, semakin kecil citra maka hasil semakin mengalami perubahan. Maka dilakukan penipisan secara manual dan didapatkan 3 kali iterasi. Berikut Gambar 5.4, Gambar 5.5, dan Gambar 5.6 yang menjelaskan iterasi pertama, kedua, dan ketiga.

(71)

Gambar 5. 4 Hasil dari penghitungan iterasi pertama

(72)
(73)

55

Bab VI

KESIMPULAN DAN SARAN

6.1. Kesimpulan

Dari hasil dan analisa diatas, maka dapat disimpulkan bahwa algoritma A Fast and Flexible Thinning ditinjau dari ketipisan citra hasilnya merupakan algoritma yang

baik dengan rata – rata One pixel thickness sebanyak 95,5697% dan dengan jumlah critical point lebih banyak daripada jumlah not critical point dalam satu citra

skeleton. Didukung dengan pengujian Thinning Rate dengan rata – rata 0,7259258, yang artinya tujuh persepuluh dari keseluruhan hasil akhir penipisan mengalami reduksi jumlah pola triangle.

Dan ditinjau dari segi time consuming, algoritma ini memiliki rata – rata 0,0488608 detik. Dibandingkan dengan penelitian sebelumnya (Kurnianita, 2009) dengan rata – rata time consuming 0,02 detik menggunakan algoritma Zhang-Suen, maka dapat disimpulkan dalam menjalankan algoritma ini sedikit lebih lama daripada algoritma Zhang-Suen tetapi tetap memiliki time consuming yang baik.

6.2. Saran

Algoritma A Fast and Flexible Thinning memiliki hasil – hasil yang baik dari syarat pengujian yang berupa One pixel thickness, Thinning rate, dan Time consuming. Maka dapat dikatakan algoritma ini dapat melakukan penipisan aksara

Bali dengan baik. Namun memang masih ada berberapa piksel yang bukan critical point yang tidak terhapus dengan baik. Sangat disarankan untuk menggunakan citra

(74)

xvii Daftar Pustaka

Azizah, U.N., (2013). “Perbandingan Detektor Tepi Prewitt dan Detector Tepi Laplacian Bedasarkan Kompleksitas Citra Hasil”. Repository.upi.edu : Universitas Pendidikan Indonesia.

Jang, B., dan Chin, R.T. (1990). “Analysis of Thinning Algorithms Using Mathematical Morphology”. IEEE Transaction on Pattern Analysis and Machine Intelligence, vol 12 no. 6, hal. 541-551.

Luthra, R., dan Goyal, G. (2015). “Performance Comparison of ZS and GH Skeletonization Algorithms”. International Journal of Computer Applications vol. 121 no. 24.

Mawardi, A(2010). “Penipisan Citra Aksara Jawa Menggunakan Algoritma Wang Zhang”. Yogyakarta : Universitas Sanata Dharma.

Putra, D(2004). “Binerisasi Citra Tangan dengan Metode Otsu”. Binerisasi Citra Tangan dengan Metode Otsu, vol 3 no.2.

Sudiarta, I. Md. Dkk (2014)., “Bahasa Bali Pangkaja Sari” . Denpasar : Dwi Jaya Mandiri.

Wang dan Zhang. (1989). “A Fast and Flexible Thinning Algorithm”.IEEE Transaction on Computers, vol 38 no. 5.

(75)

xviii

Zhou, R.W. dkk. (1995). “A Novel Single-pass Thinning Algorithm and An Effective Set of Performance Criteria”. Pattern Recognation Letter

(76)
(77)
(78)
(79)
(80)
(81)
(82)
(83)
(84)
(85)

Gambar

Gambar 5. 4 Hasil dari penghitungan iterasi pertama ...............................................
Tabel 5. 1 Tabel citra sebelum dan setelah penipisan ................................................
Gambar 2. 1 Representasi citra biner berupa matriks (Wang, 1989)
Gambar 2. 2 Representasi Citra Grayscale (Putra, 2004)
+7

Referensi

Dokumen terkait

Simpulan penelitian ini adalah melalui penerapan permainan kooperatif dapat meningkatkan kemampuan berhitung pada anak kelompok B TK Atraktif Widya Putra DWP

Dalam hal ini, Riyanto (2009: 4) menyatakan bahwa pendidikan Pancasila di perguruan tinggi merupakan suatu keniscayaan karena mahasiswa sebagai agen perubahan dan intelektual

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

Penghitungan Koefisien Korelasi Angket Motivasi Berprestasi dengan Pencapaian Prestasi Pemain Futsal ………. Penghitungan Koefisien Korelasi Angket Konsep Diri dengan Angket

Solusi yang bisa diberikan adalah membangun sebuah Arsitektur Bus Data Warehouse Bottom-Up dengan menerapkan konsep sharing dimensi yang akan mengintegrasikan

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

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

external frameworks: removing code may not even be possible, and tailoring then depends on the quality of the framework code and its documentation (e.g., tailoring will require