KARAKTER
SKRIPSI
Disusun oleh :
RYCHE DESTYANI YUNIAR
NPM. 0934010096
J URUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL
"
VETERAN
"
J AWA TIMUR
SURABAYA
SKRIPSI
Diajukan Untuk Memenuhi Sebagai Persyaratan Dalam Memperoleh Gelar Sarjana Komputer
Jurusan Teknik Informatika
Disusun oleh :
RYCHE DESTYANI YUNIAR
NPM. 0934010096
J URUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
J AWA TIMUR
SURABAYA
PERBANDINGAN METODE THINNING ZHANG SUEN
DENGAN STENTIFORD PADA PENGENALAN KARAKTER
Disusun Oleh :
RYCHE DESTYANI YUNIAR
NPM. 0934010096
Telah disetujui untuk mengikuti Ujian Negar a Lisan Gelombang IV Tahun Akademik 2013/2014
Pembimbing Utama Pembimbing Pendamping
Wahyu S.J . Saputra, S.Kom, M.Kom EVA YULIA P. S.Kom
NPT. 3 8608 100 295 1 NPT. 38907 1303 461
Mengetahui,
Ketua J urusan Teknik Infor matika Fakultas Teknologi Industri UPN ”Veteran” J awa Timur
DENGAN STENTIFORD PADA PENGENALAN KARAKTER
Disusun Oleh :
RYCHE DESTYANI YUNIAR NPM. 0934010096
Telah dipertahankan di hadapan dan diterima oleh Tim Penguji Skr ipsi J ur usan Teknik Infor matika Fakultas Teknologi Industri
Univer sitas Pembangunan Nasional ”Veteran” J awa Timur Pada Tanggal 15 J anuar i 2014
Pembimbing : Tim Penguji :
1. 1.
Wahyu S.J . Saputra, S.Kom, M.Kom Budi Nugroho, S.Kom, M.Kom NPT. 3 8608 100 295 1 NPT. 38006 050 205 1
2. 2.
EVA YULIA PUSPANINGRUM. S.Kom Rizky Par lika, S.Kom, M.Kom
NPT. 38907 1303 461 NPT. 3 8006 040 198
3.
Yisti Vita Via, S.ST, M.Kom NPT. 3 8604 130 347 1 Mengetahui,
Dekan Fakultas Teknologi Industri
Univer sitas Pembangunan Nasional ”Veteran” J awa Timur
Jl. Rungkut Madya Gunung Anyar Surabaya 60294 Tlp. (031) 8706369, 8783189 Fax. (031) 8706372 Website. www.upnjatim.ac.id
KETERANGAN REVISI
Kami yang bertanda tangan di bawah ini menyatakan bahwa mahasiswa berikut : Nama : Ryche Destyani Yuniar
NPM : 0934010096
Program Studi : Teknik Informatika
Telah mengerjakan REVISI SKRIPSI Ujian Lisan Gelombang IV TA 2013/2014 dengan judul :
“PERBANDINGAN METODE THINNING ZHANG SUEN DENGAN
STENTIFORD PADA PENGENALAN KARAKTER “
Surabaya, Januari 2014 Dosen penguji yang memeriksa revisi 1. Budi Nugr oho, S.Kom, M.Kom
NPT. 38006 050 205 1 { }
2. Rizky Par lika, S.Kom, M.Kom
Puji syukur alhamdulillaahi rabbil ‘alamiinpenulis ucapkan kehadirat Allah SWT atas segala rahmat serta karunia-Nyayang diberikan kepada penulis sehingga penulis dapat menyelesaikan skripsi yang berjudul“PENGENALAN WAJ AH MANUSIA MENGGUNAKAN ALGORITMA EIGENFACE”.
Skripsi dengan beban 4 SKS ini disusun sebagai salah satu syarat untuk menyelesaikan program Strata Satu (S1) pada jurusan Teknik Informatika, Fakultas Teknologi Industri, UPN “Veteran” Jawa Timur.
Penulis menyadari bahwa penulisan skripsi ini masih jauh dari kesempurnaan dikarenakan pengetahuan dan pengalaman yang dimiliki olehpenulis masih sangat terbatas dan masih perlu diperbaiki baik dari segi penyajian maupun isinya. Oleh karena itu, penulis mengharapkan kritik dan saran yang bersifat membangun dari semua pihak yang membaca skripsi ini. Semoga skripsi ini bermanfaat bagi semua pembaca pada umumnya dan bagi penulis pada khususnya. Amiin.
Surabaya, Januari 2014
Skripsi ini dapat diselesaikan dengan baik karena dukungan, bimbingan dan bantuan dari berbagi pihak. Oleh karena itu dalam kesempatan ini perkenankan penulis mengucapkan rasa terima kasih yang sebesar-besarnya kepada :
1) Allah SWT., karena berkat rahmat dan karunia-Nya penulis dapat menyusun dan menyelesaikan skripsi ini.
2) Bapak Prof. Dr. Ir. Teguh Soedarto, MP selaku Rektor Universitas Pembangunan Nasional “Veteran” Jawa Timur.
3) Bapak Sutiyono, MT selaku Dekan Fakultas Teknologi Industri UPN “Veteran” Jawa Timur.
4) Ibu Dr. Ir. Ni Ketut Sari, MT selaku Ketua Jurusan Teknik Informatika UPN “Veteran” Jawa Timur.
5) Ibu Yisti Vita Via, S.ST, M.Kom selaku PIA Tugas Akhir Teknik Informatika UPN “Veteran” Jawa Timur.
6) Bapak Wahyu S.J Saputra, S.Kom, M.Kom, dan Ibu Eva Yulia P S.Kom selaku dosen pembimbing skripsi ini di UPN “Veteran” Jawa Timur yang telah banyak memberikan waktu, bimbingan dan petunjuk sejak awal hingga terselesainya skripsi ini.
7) Abah dan Umi tercinta yang selalu memberikan kasih sayang, dukungan moril, doa, semangat dan materiil yang tiada henti-hentinya.
9) Nur Slamet, Suami tercinta yang selalu mendampingi, memberikan semangat dan motivasi.
10) Adik Chacha dan saudara-saudara tersayang yang selalu memberikan doa dan semangat.
11) Teman-teman ku, Mas Rully, Novia, Nindy , Fibri, dll terima kasih atas bantuan, doa dan semangatnya.
2.1.3. Digitalisasi ... 13
2.1.4. Citra Teks ... 14
2.1.4.1. Optical Character Recognition (OCR) ... 14
2.2. Pengolahan Citra ... 17
BAB III METODOLOGI PENELITIAN ... 39
3.1. Analisis Sistem ... 39
3.2. Flowchart Algoritma Zhang Suen ... 41
3.4. Flowchart Algotirma Stentiford ... 46
3.5. Simulasi Proses Cara Kerja Algoritma Stentiford ... 50
3.6. Perancangan Interface ... 56
3.6.1. Interface Tampilan GUI ... 56
BAB IV HASIL DAN PEMBAHASAN... 58
4.1. Implementasi Data ... 58
4.2. Implementasi Interface ... 58
4.3. Uji Coba Program ... 60
4.4. Evaluasi Aplikasi ... 63
4.4.1.Analisis Proses Thinning ... 63
4.1.1.1 Analisis Akurasi Hasil Thinning ... 64
BAB V KESIMPULAN DAN SARAN ... 76
5.1. Kesimpulan ... 76
5.2. Saran ... 77
KARAKTER
PENYUSUN : RYCHE DESTYANI YUNIAR
DOSEN PEMBIMBING I : WAHYU S.J SAPUTRA S.KOM M.KOM
DOSEN PEMBIMBING II : EVA YULIA P S.KOM
ABSTRAK
Image thinning merupakan salah satu aplikasi dari segmentasi citra untuk
menghasilkan bentuk kerangka dari sebuah citra digital dan mengolah citra digital tersebut agar lebih padat. Dengan kata lain, image thinning bertujuan untuk memproses pixel-pixel pada sebuah citra digital agar menghasilkan sebuah citra digital yang lebih kecil ukurannya namun tetap memiliki informasi yang sama seperti sebelum dilakukan proses thinning.
Ada beberapa algoritma untuk metode thinning. Pada penelitian ini menggunakan algoritma Zhang Suen dan algoritma Stentiford dengan bahasa pemrograman MATLAB. Kedua algoritma tersebut dibandingkan sehingga dapat diketahui algoritma manakah yang terbaik untuk proses pengenalan karakter dengan cara membandingkan hasil thinning citra digital asli dengan hasil thinning citra original dari scanning. Dengan menggunakan pemrosesan awal, dilakukan
resize dan RGB ke gray. Kemudian dilakukan Threshold untuk mendapatkan dua
keadaan warna yaitu hitam dan putih, Binerisasi. Setelah itu di thinning dengan algotirma Zhang Suen dan algoritma Stentiford.
Dari percobaan dan pengujian perbandingan algoritma yang telah dilakukan, dapat dilihat bahwa pada hasil Validasi yang dilakukan pada kedua algoritma menggunakan metode Kappa Cohen, algoritma Zhang Suen menghasilkan nilai value 0,415 sedangkan algoritma Stentiford menghasilkan nilai value 0,514.
PENDAHULUAN
1.1 Latar Belakang
Segmentasi citra (image segmentation) merupakan langkah awal pada proses analisa citra yang bertujuan untuk mengambil informasi yang terdapat di dalam suatu citra. Langkah ini akan menentukan berhasil atau tidaknya proses analisa citra.
Dalam proses Normalization pada pengenalan karakter dapat menggunakan metode thinning untuk merubah dimensi region tiap karakter dan ketebalan karakter (Arief, Sukmawan. 2009).
Thinning merupakan suatu proses penting sebelum melakukan
proses-proses atau operasi-operasi pengolahan citra, seperti dalam proses-proses pengenalan karakter optic, pengenalan sidik jari, pemrosesan teks, dan lain sebagainya dengan mengurangi bagian yang tidak perlu (redundant).
Dengan melakukan thinning pada sebuah citra digital, dapat dihasilkan sebuah citra digital dengan ukuran objek yang lebih kecil namun tidak mengurangi kualitas dari citra digital tersebut. Metode image thinning yang dapat digunakan adalah Zhang Suen dan Stentiford.
Metode Stentiford merupakan algoritma thinning dengan menggunakan teknik template-based mark-and-delete. Metode thinning jenis ini menggunakan
template untuk dicocokkan dengan citra yang akan di thinning. Algoritma ini
bersifat iterative yang berguna untuk mengikis lapisan pixel terluar sampai tidak ada lapisan lagi yang dapat dihilangkan.
Untuk itu penulis akan melakukan analisa terhadap kedua metode tersebut dengan menganalisis akurasi dari hasil thinning kedua algoritma untuk pengenalan karakter secara visual dan membandingkan hasil validasi yang dilakukan pada kedua algoritma menggunakan metode Kappa Cohen.
1.2 Rumusan Masalah
Berdasarkan beberapa uraian latar belakang di atas maka dapat dirumuskan masalah, yaitu :
1. Bagaimana mengimplementasikan metode Zhang Suen dan Stentiford pada proses thinning.
2. Bagaimana membandingkan hasil thinning menggunakan algoritma
Zhang Suen dengan Stentiford.
1.3 Batasan Masalah
Adapun batasan-batasan masalah yang dibuat agar dalam pengerjaan tugas akhir ini dapat berjalan dengan baik adalah sebagai berikut :
1. Citra yang digunakan berukuran 200x200 piksel.
3. Format gambar .bmp.
4. Yang diukur pada hasil thinning yaitu akurasi kedua algoritma untuk pengenalan karakter secara visual dan hasil Validasi yang dilakukan pada kedua algoritma menggunakan metode Kappa Cohen.
1.4 Tujuan
Tujuan dari tugas akhir ini adalah untuk membandingkan metode thinning
Zhang Suen dengan Stentiford pada pengenalan karakter.
1.5 Manfaat
Manfaat dari pembuatan aplikasi adalah untuk mengetahui metode mana yang terbaik dari kedua metode tersebut untuk proses pengenalan karakter.
1.6. Metode Penelitian
Metode yang digunakan dalam penulisan tugas akhir ini antara lain : 1. Metode Pengumpulan Data
Metode pengumpulan data dalam penulisan ini menggunakan studi kepustakaan dengan membaca dan mempelajari buku-buku literatur, jurnal-jurnal, artikel-artikel yang berhubungan dengan pengenalan citra berbasis komputer dan pembuatan interface.
2. Metode Analisis
b. Analisis penggunaan Algoritma untuk menghasilkan hasil thinning yang kemudian akan dibandingkan.
3. Perancangan dan Pembuatan Aplikasi
Melakukan perancangan Algoritma yang digunakan, perancangan
interface yang digunakan untuk aplikasi yang dibuat.
4. Pengujian dan Evaluasi Aplikasi
Melakukan pengujian pada aplikasi yang telah dibuat dan mengevaluasi hasil yang diperoleh sehingga dapat mengetahui apakah aplikasi sesuai dengan tujuan yang diharapkan.
5. Pembuatan Naskah Skripsi
Melakukan dokumentasi dari semua tahap agar dapat dipelajari untuk pengembangan lebih lanjut. Memaparkan dasar-dasar teori dan metode yang terlibat di dalamnya, diantaranya desain perangkat lunak dan implementasinya, hasil pengujian aplikasi termasuk juga perbaikan.
1.7. Sistematika Penulisan
Pada penyusunan tugas akhir, sistematika pembahasan diatur dan disusun dalam lima bab, dan tiap-tiap bab terdiri dari sub-sub bab. Untuk memberikan gambaran yang lebih jelas, maka diuraikan secara singkat mengenai materi dari bab-bab dalam penulisan tugas akhir ini sebagai berikut:
BAB I PENDAHULUAN :
BABII TINJAUAN PUSTAKA :
Pada bab ini menjelaskan mengenai landasan teori-teori pendukung pembuatan tugas akhir ini.
BABIII METODOLOGI PENELITIAN :
Pada bab ini berisi tentang analisis dan perancangan aplikasi dalam pembuatan tugas akhir ini.
BAB IV HASIL DAN PEMBAHASAN :
Pada bab ini akan membahas tentang kerja dari aplikasi secara keseluruhan, menjelaskan tentang pelaksanaan uji coba dan evaluasi dari pelaksanaan uji coba dari program yang dibuat. Uji coba dilakukan pada akhir dari tahap-tahap analisis aplikasi, desain aplikasi dan tahap penerapan aplikasi atau implementasi.
BAB V KESIMPULAN DAN SARAN :
Pada bab ini berisi kesimpulan dan saran dari penulis untuk pengembangan aplikasi.
DAFTAR PUSTAKA :
TINJ AUAN PUSTAKA
2.1. Citr a
Citra (image) adalah gambar pada bidang dua dimensi. Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dua dimensi. Citra sebagai output dari suatu sistem perekaman data dapat bersifat :
1. Optik, berupa foto.
2. Analog berupa sinyal video, seperti gambar pada monitor televisi.
3. Digital yang dapat langsung disimpan pada suatu pita magnetik.
Citra dapat dikelompokkan menjadi dua bagian yaitu citra diam (still
image) adalah citra tunggal yang tidak bergerak dan citra bergerak (moving image) yaitu rangkaian citra diam yang ditampilkan secara beruntun (sekuensial),
sehingga memberi kesan pada mata sebagai gambar yang bergerak. Setiap citra didalam rangkaian itu disebut frame. Gambar-gambar yang tampak pada film layar lebar atau televisi yaitu terdiri dari ratusan sampai ribuan frame.
1. Gelombang pengindera (sensing waves). 2. Benda (object).
3. Alat pengindera (sensor).
2.1.1. Definisi Citra
Secara harfiah citra (image) adalah gambar pada bidang dua dimensi. Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dua dimensi.(Sitorusdkk, 2006)
Citra didefinisikan sebagai fungsi intensitas cahaya dua dimensi f(x,y) dimana x dan y menunjukkan koordinat spasial, dan nilai f pada suatu titik (x,y) sebanding dengan tingkat kecerahan (gray level) dari citra di titik tersebut.(Purwanto Ari, 2009)
Citra dapat dikelompokkan menjadi dua bagian yaitu citra diam (still
images) dan citra bergerak (moving images). Citra diam adalah citra tunggal yang
tidak bergerak. Sedang citra bergerak adalah rangkaian citra diam yang ditampilkan secara beruntun (sekuensial), sehingga memberi kesan pada mata sebagai gambar yang bergerak.(Sitorus dkk, 2006)
2.1.2 Citr a digital
Citra digital adalah citra dengan f(x,y) yang nilainya didigitalisasikan baik dalam koordinat spasial maupun dalam gray level. Digitalisasi dari koordinat spasial citra disebut dengan image sampling. Sedangkan digitalisasi dari gray
level citra disebut dengan gray-level quantization. Citra digital dapat dibayangkan
dalam citra, dan nilai elemen matriks tersebut menunjukkan gray level di titik tersebut.(Purwanto Ari, 2009)
Hal tersebut dapat diilustrasikan pada Gambar 2.1.
Gambar 2.1. Citra Digital
Citra digital merupakan representatif dari citra yang diambil oleh mesin dengan bentuk pendekatan berdasarkan sampling dan kuantitasi. Sampling menyatakan besarnya kota-kotak yang disusun dalam baris dan kolom. Dengan kata lain sampling pada citra menyatakan besar kecilnya ukuran pixel (titik) pada citra, jika kuantitasi menyatakan besarnya nilai tingkat kecerahan yang dinyatakan dalam nilai tingkat keabuan (gray scale) sesuai dengan jumlah bit Biner yang digunakan oleh mesin, maka dapat dikatakan bahwa kuantitasi pada citra menyatakan jumlah warna yang ada pada citra.
penggunaan palette untuk penentuan warna piksel. Sebagai studi kasus dalam tugas akhir ini akan digunakan format citra *.bmp yang dikeluarkan oleh Microsoft.
2.1.2.1Citr a BMP
Format BMP, disebut dengan bitmap atau format DIB (Device Independent
Bitmap) adalah sebuah format citra yang digunakan untuk menyimpan citra bitmap
digital terutama pada sistem operasi Microsoft Windows atau OS/2. Pada citra
berformat *.bmp (bitmap) yang tidak terkompresi, piksel citra disimpan dengan
kedalaman warna 1, 4, 8, 16 atau 24 bit per piksel. (Ahmad, 2005).
Gambar 2.2 Citra BMP
Pada umumnya citra bitmap teridir dari 4 blok data yaitu: BMP header, Bit
Information (DIB header), Color Pallete, dan Bitmap Data. BMP header berisi
bitmap, yang akan digunakan untuk menampilkan citra pada layar. Color pallete berisi informasi warna yang digunakan untuk indeks warna bitmap, dan bitmap data berisi data citra yang sebenarnya, piksel per piksel.
2.1.2.2Elemen-elemen Citra Digital
Citra digital mengandung sejumlah elemen-elemen dasar. Elemen-elemen dasar tersebut dimanipulasi dalam pengolahan citra dan dieksploitasi lebih lanjut dalam computer vision. Elemen-elemen dasar yang penting diantaranya adalah:
1. Kecerahan (brightness).
Kecerahan adalah kata lain untuk intensitas cahaya. Sebagaimana telah dijelaskan pada bagian penerokan, kecerahan pada sebuah titik (pixel) di dalam citra bukanlah intensitas yang riil, tetapi sebenarnya adalah intensitas rata-rata dari suatu area yang melingkupinya.
Gambar 2.3 Kecerahan
2. Kontras (contrast).
Kontras menyatakan sebaran terang (lightness) dan gelap (darkness) di dalam sebuah gambar. Citra dengan kontras rendah dicirikan oleh sebagian besar komposisi citranya adalah terang atau sebagian besar gelap. Pada citra dengan kontras yang baik, komposisi gelap dan terang tersebar secara merata.
3. Kontur (contour)
Kontur adalah keadaan yang ditimbulkan oleh perubahan intensitas pada
pixel-pixel yang bertetangga. Karena adanya perubahan intensitas inilah mata kita
mampu mendeteksi tepi-tepi (edge) objek di dalam citra. 4. Warna (color)
Warna adalah persepsi yang dirasakan oleh sistem visual manusia terhadap panjang gelombang cahaya yang dipantulkan oleh objek. Setiap warna mempunyai panjang gelombang (l) yang berbeda.
Warna merah mempunyai panjang gelombang paling tinggi, sedangkan warna ungu (violet) mempunyai panjang gelombang paling rendah. Warna-warna yang diterima oleh mata (sistem visual manusia) merupakan hasil kombinasi cahaya dengan panjang gelombang berbeda. Penelitian memperlihatkan bahwa kombinasi warna yang memberikan rentang warna yang paling lebar adalah red (R), green (G), dan blue (B).
Gambar 2.5 Citra RGB
2.1.3 Digitalisasi
Agar dapat diolah dengan dengan komputer digital, maka suatu citra harus direpresentasikan secara numerik dengan nilai-nilai diskrit. Representasi citra dari fungsi malar (kontinu) menjadi nilai-nilai diskrit disebut digitalisasi . Citra yang dihasilkan inilah yang disebut citra digital (digital image). Pada umumnya citra
digital berbentuk empat persegipanjang, dan dimensi ukurannya dinyatakan
sebagai tinggi ´ lebar (atau lebar ´ panjang).
Citra digital dihasilkan dengan proses digitalisasi terhadap citra kontinu. Sama halnya Proses digitalisasi dalam bentuk data lain, proses digitalisasi pada citra juga merupakan proses pengubahan suatu bentuk data citra dari yang bersifat analog ke digital. Yang mana proses ini dihasilkan dari peralatan digital yang langsung bisa diproses oleh komputer. Proses ini dapat dijelaskan sebagai berikut. Ada sebuah objek yang akan diambil gambarnya untuk dijadikan citra digital.
Sumber cahaya diperlukan untuk menerangi objek, yang berarti ada intensitas cahaya (brightness) yang diterima oleh objek. Oleh objek, intensitas cahaya ini sebagian diserap dan sebagian lagi dipantulkan ke lingkungan sekitar objek secara radikal. Sistem pencitraan (imaging) menerima sebagian dari intensitas cahaya yang dipantul oleh objek tadi.
2.1.4 Citr a Teks
Teks adalah data yang terdiri dari karakter-karakter yang menyatakan kata-kata atau lambang-lambang untuk berkomunikasi oleh manusia dalam bentuk tulisan. Terdapat dua jenis teks, antara lain:
1. Teks tulisan tangan, merupakan data yang terdiri dari karakter-karakter yang menyatakan kata-kata untuk berkomunikasi dalam bentuk tulisan tangan manusia.
2. Teks digital, merupakan data yang terdiri dari karakter-karakter yang menyatakan kata-kata untuk berkomunikasi dalam bentuk tulisan di dalam sistem komputer. Dengan arti lainnya, teks digital adalah suatu jenis penggambaran dari rangkaian karakter pada sistem komputer.
2.1.4.1Optical Character Recognition (OCR)
Manusia mengenali objek-objek yang ada di sekelilingnya, dengan cara ini mata menerapkan mekanisme optik. Namun sementara otak melihat input, kemampuan untuk memahami sinyal-sinyal ini bervariasi pada setiap orang sesuai dengan banyak faktor.
Begitu halnya dengan OCR (Optical Character Recognition). Teknologi ini memungkinkan mesin untuk secara otomatis mengenali karakter melalui mekanisme optik. (AIM.Inc, 2000) AIM. Inc dalam artikel berjudul Optical
Character Recognition pada tahun 2000 juga menjelaskan, OCR banyak
mengkomputerisasi sistem pencatatan misalnya di kantor, atau untuk mempublikasikan teks pada website.
OCR memungkinkan untuk mengedit teks, mencari kata atau frase, dan menerapkan teknik seperti mesin penerjemahan, text-to-speech dan text mining. OCR biasa digunakan untuk bidang penelitian dalam pengenalan pola, kecerdasan buatan (artificial intelligent) dan computer vision.
Sistem OCR memerlukan kalibrasi untuk membaca font yang spesifik, versi awal harus diprogram dengan gambar karakter masing-masing, dan bekerja pada satu font pada suatu waktu. Sistem cerdas (intelligent system) dengan tingkat akurasi yang tinggi pengakuan untuk font yang paling sekarang umum. Beberapa sistem mampu mereproduksi output diformat yang erat mendekati halaman yang dipindai asli termasuk gambar, kolom dan non-tekstual komponen.
Secara umum, proses pengenalan karakter yang dilakukan oleh OCR disajikan pada gambar diagram di bawah ini.
Proses segmentasi bertujuan untuk memisahkan wilayah (region) objek dengan wilayah latar belakang agar objek dalam citra mudah dianalisis dalam rangka mengenali objek. Dengan demikian citra yang besar terdiri dari objek karakter dapat disegmentasi menjadi masing-masing karakter.
Proses selanjutnya adalah normalisasi, yang di dalamnya masih terdapat 2 proses lagi yaitu:
1. Scalling, adalah fungsi untuk mengubah ukuran suatu gambar dimana
scalling merupakan istilah yang cenderung untuk memperbesar gambar,
dan shrink untuk memperkecil gambar.
2. Thinning, adalah operasi morfologi yang digunakan untuk menghapus
piksel foreground yang terpilih dari gambar Biner, biasanya digunakan untuk proses mencari tulang dari sebuah objek.
Langkah selanjutnya adalah ekstraksi fitur (feature extraction). Feature
Extraction adalah suatu proses analisis citra dalam mengidentifikasi sifat-sifat
yang melekat dari tiap-tiap karakter atau disebut juga dengan fitur dari sebuah objek yang terdapat dalam citra.
Karakteristik ini digunakan dalam mendeskripsikan sebuah objek atau atribut dari sebuah obyek, kemudian fitur yang dimiliki oleh karakter dapat digunakan sebagai proses recognition.
2.2 Pengolahan Citr a
Pengolahan citra digital adalah pemrosesan citra menjadi citra yang lain dengan kualitas yang lebih baik, yaitu pemrosesan pada usaha untuk memanipulasi. Citra yang telah menjadi gambar lain menggunakan algoritma atau teknik tertentu. Pengolahan citra mempunyai tujuan yaitu:
1. Proses memperbaiki kualitas citra agar mudah diinterpretasikan oleh manusia atau computer.
2. Teknik pengolahan citra dengan mentrasformasikan citra menjadi citra lain.
3. Pengolahan citra merupakan proses awal dari komputer visi.
Ada beberapa hal yang penting didalam pengolahan citra digital, antara lain teknik-teknik pengambilan citra, model citra digital, sampling dan kuantitasi, histogram, proses filtering, perbaikan citra sampai pada pengolahan citra digital yang lebih lanjut seperti segmentasi, image clustering dan ekstrasi ciri.
Proses pengolahan citra secara diagram yaitu proses dimulai dari pengambilan citra, perbaikan citra sampai dengan pernyataan representatif citra digambarkan denga gambar:
Secara umum teknik pengolahan citra digital dibagi menjadi 3 tingkat pengolahan, yakni:
1. Tahap 1 yang dinamakan dengan Low-Level Processing (pengolahan tingkat rendah). Pengolahan ini operasional-operasional dasar dalam pengolahan citra, seperti pengurangan noise (noise redution), perbaikan citra (image enhancement) dan restorasi citra (image restoration).
2. Tahap 2 yang dinamakan dengan Mid-Level Processing (pengolahan tingkat menengah). Pengolahan ini meliputi segmentasi pada citra, deskripsi objek dan klasifikasi objek secara terpisah.
3. Tahap 3 yang dinamakan dengan High-Level Processing (pengolahan tingkat tinggi), yang meliputi analisis citra.
Operasi – operasi pengolahan citra meliputi perbaikan kualitas citra, yakni perbaikan kualitas citra ini bertujuan memperbaiki kualitas citra dengan memanipulasi parameter-parameter citra. Melalui operasi ini, ciri-ciri khusus yang terdapat dalam didalam citra dapat lebih ditonjolkan.
Dalam perbaikan kualitas citra dapat dilakukan operasi – operasi citra, seperti yang tertulis dalam buku Pengolahan Citra Digital yaitu :
a. Perbaikan kontras gelap dan terang. b. Perbaikan tepian objek.
c. Penajaman.
2.3 Citr a RGB
Suatu citra biasanya mengacu ke citra RGB. Citra (image) merupakan suatu yang menggambarkan objek dan biasanya dua dimensi. Citra merupakan suatu representasi, kemiripan atau imitasi dari suatu objek atau benda.
Citra dalam komputer tidak lebih dari sekumpulan sejumlah piksel dimana setiap triplet terdiri atas variasi tingkat keterangan (brightness) dari elemen red, green dan blue. Representasinya dalam citra, triplet akan terdiri dari 3 angka yang mengatur intensitas dari Red (R), Green (G) dan Blue (B) dari suatu triplet. Setiap triplet akan merepresentasikan 1 piksel (picture element). Suatu triplet dengan nilai 67, 228 dan 180 berarti akan mengeset nilai R ke nilai 67, G ke nilai 228 dan B ke nilai 180. Angka-angka RGB ini yang seringkali disebut dengan color
values.
Model RGB digunakan pada citra yang ditampilkan di layar monitor semakin kecil presentase maka warna yang dihasilkan semakin terang, semakin besar presentase makan warna yang dihasilkan semakin gelap. Pada format .bmp citra setiap piksel pada citra direpresentasikan dengan dengan 24 bit, 8 bit untuk R, 8 bit untuk G dan 8 bit untuk B, dengan pengaturan seperti pada gambar dibawah ini ( Sitorus, S dkk. 2006).
Setiap piksel panjangnya 24 bit, karena setiap piksel langsung menyatakan komponen warna merah, komponen warna hijau, dan komponen warna biru. Masing-masing komponen panjangnya 8 bit. Citra 24 bit disebut juga citra 16 juta warna, karena citra ini mampu menghasilkan 16.777.216 kombinasi warna.
2.4 Piksel
Piksel merupakan informasi terkecildari sebuah citra yang terdiri dari 3 buah layer yaitu Red layer,Green layer dan Blue layer yang membentuk sebuah warna.
Gambar 2.9 Piksel
Ketiga unsur warna tersebut ( Red = Merah, Green = Hijau, Blue = Biru) dapat membentuk 2553 kombinasi warna. Ketiga unsur warna pembentuk warna piksel ini dapat dipisah-pisahkan untuk membantu dalam pengolahan citra.
2.5 Pengenalan Pola
dengan pola yang lain. Pengenalan pola bertujuan untuk menentukan kelompok untuk kategori pola berdasarkan ciri-ciri yang dimiliki oleh pola tersebut. Dengan kata lain pengenalan pola membedakan objek dengan objek lain.
Ada 3 pendekatan yang digunakan dalam menerapkan pattern recognition (pengenalan pola), yaitu :
1. Statistik
Semakin banyak pola yang disimpan, maka sistem akan semakin cerdas. Salah satu contoh penerapannya banyak pada pola pengenalan iris scan. Kelemahannya : hanya bergantung pada data yang disimpan saja, tidak memiliki sesuatu struktur yang unik yang dapat menjadi kunci pengenalan pola.
2. Sintaks (rule)
Dengan rule / aturan maka sistem yang lebih terstruktur sehingga memiliki sesuatu ciri yang unik. Salah satu contoh penerapannya pada pola pengenalan sidik jari / fingerprint.
3. Jaringan Saraf Tiruan (JST)
Merupakan gabungan dari pendekatan statistik dan pendekatan sintaks. Dengan gabungan dari dua metode maka JST merupakan pengenalan pola yang lebih akurat.
2.6 Citr a Grayscale
Citra yang ditampilkan dari citra jenis ini terdiri atas warna abu-abu, bervariasi pada warna hitam pada bagian yang intensitas terlemah dan warna putih pada intensitas terkuat. Citra Grayscale berbeda dengan citra ”hitam-putih”, dimana pada konteks komputer, citra hitam putih hanya terdiri atas 2 warna saja yaitu ”hitam” dan ”putih” saja.
Pada citra Grayscale warna bervariasi antara hitam dan putih, tetapi variasi warna diantaranya sangat banyak. Citra Grayscale seringkali merupakan perhitungan dari intensitas cahaya pada setiap pixel pada spektrum elektromagnetik single band ( Sitorus, S dkk. 2006).
Hal tersebut dapat diilustrasikan pada Gambar 2.3. berikut ini.
Gambar 2.10 Citra Grayscale
Untuk mengubah citra berwarna yang mempunyai nilai matrik masing-masing R, G dan B menjadi citra Grayscale dengan nilai X, maka konversi dapat dilakukan dengan mengambil rata-rata dari nilai R, G dan B sehingga dapat dituliskan menjadi:
X = (R + G + B) / 3 Warna = (X)
Proses Grayscale dapat dilihat seperti gambar algoritma 2.11.
Gambar 2.11 Proses Greyscale
Menginput citra RGB yang berukuran 200x200 piksel, menghitung Grayscale dengan rumus X=(R+G+B)/3, misalkan suatu piksel memiliki nilai R=200, G=200, B=200 maka nilai X=200, setelah itu keluar piksel berwarna abu-abu yang memiliki nilai derajat keabu-abuan 200.
2.7 Citr a Biner
Citra Threshold Dilakukan dengan mempertegas citra dengan cara mengubah citra hasil yang memiliki derajat keabuan 256 (8bit), menjadi hanya dua buah yaitu hitam dan putih. Hal yang perlu diperhatikan pada Proses Thresholding adalah memilih sebuah nilai Threshold dimana piksel yang bernilai dibawah nilai Threshold akan diset menjadi citra biner nilai (0) mewakili hitam dan piksel yang bernilai diatas nilai Threshold akan diset menjadi citra biner nilai (1) mewakili warna putih.
J ika X <128 maka X = 0 J ika tidak, maka X = 1 Warna = (X)
Proses Binerisasi dapat dilihat seperti gambar algoritma 2.12.
2.8 Operasi Morfologi
Berdasarkan etimologi bahasa, Morphologi berasal dari kosakata bahasa Jerman yaitu morphologie yang terdiri dari morph+logie/logy. Morph adalah suatu kerja yang berupa singkatan dari metamorphose yang artinya perubahan bentuk atau karakter akibat perubahan pada struktur atau komposisi (transformasi). Sesuai dengan arti dasarnya, konsep Morphological Operation pada pengolahan citra adalah operasi-operasi perubahan bentuk pada binary
image. Berbagai jenis Morphological Operation antara lain: Erosion, dilation,
opening, closing, thinning, dan thickness. Saat ini yang dibahas adalah thinning
(Sitorus, S dkk. 2006).
2.9 Algoritma Thinning
Thinning merupakan salah satu image processing yang digunakan untuk
mengurangi ukuran dari suatu image (image size) dengan tetap mempertahankan informasi dan karakteristik penting dari image tersebut. Hal ini diimplementasikan dengan mengubah image awal dengan pola binary menjadi representasi kerangka (skeletal representation) image tersebut.
Terdapat cukup banyak algoritma untuk image thinning dengan tingkat kompleksitas, efisiensi dan akurasi yang berbeda-beda. Citra yang digunakan untuk proses thinning adalah citra Biner, jika data masukannya berupa citra RGB maka haruslah citra tersebut dimanipulasi menjadi citra Grayscale, citra
Grayscale merupakan syarat guna menghasilkan suatu citra Biner. Namun untuk
maka citra Biner dapat dicari. Citra Biner ini yang kemudian akan diproses dalam proses thinning. Citra hasil dari algoritma thinning biasanya disebut dengan
skeleton (kerangka) (H.E.Burdick, dan Mc Graw Hill. 1997).
2.9.1 Algoritma Zhang Suen
Algoritma ini adalah algoritma untuk citra Biner, dimana piksel
background citra bernilai 0, dan piksel foreground (region) bernilai 1. Algoritma
ini cocok digunakan untuk bentuk yang diperpanjang (elongated) dan dalam aplikasi OCR (Optical Character Recognition).
Algoritma ini terdiri dari beberapa penelusuran, dimana setiap penelusurannya terdiri dari 2 langkah dasar yang diaplikasikan terhadap titik objek (titik batas) region. Titik objek ini dapat didefinisikan sebagai sembarang titik yangpikselnya bernilai 1, dan memiliki paling sedikit 1 piksel dari 8-tetangganya yang bernilai 0.
Gambar berikut ini mengilustrasikan titik objek P1 dan 8-tetangganya:
Gambar 2.13 Contoh Piksel P1 dengan 8 tetangga
b. S(P1) = 1 c. P2 * P4* P6 = 0 d. P4 * P6 * P8 = 0 Keterangan :
1. Jumlah dari tetangga titik objek P1, yang pikselnya bernilai 1, yaitu:
N(P1) = P2 + P3 + P4 + ... + P9
2. S(P1) adalah jumlah perpindahan nilai dari 0 (nol) ke 1 (satu) mulai dari P2, P3,… P8, P9.
3. P2 * P4 * P6 = 0, memiliki arti P2 atau P4 atau P6 bernilai 0 (nol).
Dan pada langkah kedua, kondisi (a) dan (b) sama dengan langkah pertama, sedangkan kondisi (c) dan (d) diubah menjadi:
(c’) P2 * P4 * P8 = 0; (d’) P2 * P6 * P8 = 0
Langkah pertama dilakukan terhadap semua titik obyek di citra. Jika salah satu dari keempat kondisi di atas tidak dipenuhi atau dilanggar maka nilai piksel yang bersangkutan tidak ditandai untuk dihapus. Sebaliknya jika semua kondisi tersebut dipenuhi maka piksel tersebut ditandai untuk penghapusan.
Prosedur ini dilakukan secara iteratif sampai tidak ada lagi titik yang dapat dihapus, pada saat algoritma ini selesai maka akan dihasilkan skeleton dari citra awal. Sebagai contoh :
Gambar 2.14 Contoh piksel N(P1) = 4 dan S(P1) = 3
2.9.2 Algoritma Stentiford
Metode ini adalah algoritma thinning dengan menggunakan teknik
template-based mark-and-delete. Metode ini cukup terkenal karena reliable dan
kefektifannya. Metode thinning jenis ini menggunakan template untuk dicocokkan dengan citra yang akan di-thinning. Algoritma ini bersifat iteratif yang berguna untuk mengikis lapisan piksel terluar sampai tidak ada lapisan lagi yang dapat dihilangkan. Didalam algoritma ini terdiri dari empat kondisi.
Template yang dipakai adalah 4 buah template 3 x 3 yaitu,
Berikut ini akan dijelaskan langkah–langkah algoritma Stentiford :
1. Cari piksel pada lokasi (i,j) dimana piksel-piksel pada image cocok dengan
template T1. Dengan template ini, maka semua piksel di bagian atas dari
image akan dihilangkan (remove). Pencocokkan template ini bergerak dari kiri ke kanan dan dari atas ke bawah.
2. Bila piksel tengah bukan merupakan endpoint dan mempunyai jumlah konektivitas (connectivity number) 1, maka tandai piksel tersebut untuk kemudian dihilangkan (remove).
Endpoint piksel : piksel yang merupakan batas akhir dan hanya terhubung
dengan 1 piksel saja. Contoh : suatu piksel hitam hanya mempunyai satu tetangga saja yang hitam juga dari kemungkinan delapan tetangga.
Connectivity number : merupakan suatu ukuran berapa banyak obyek yang
terhubung dengan piksel tertentu (dihitung berdasarkan rumus di bawah).
Nk merupakan nilai dari 8 tetangga di sekitar piksel yang akan dianalisa (Titik
obyek). N0 adalah nilai dari piksel tengah (Titik obyek). N1 adalah nilai dari
piksel pada sebelah kanan titik obyek dan sisanya diberi nomor berurutan dengan arah berlawanan jarum jam.
Contoh :
Gambar 2.17 Contoh Tampilan Jumlah Konektivitas
a. menjelaskan tentang jumlah konektivitas (connectivity number) = 0. b. menjelaskan tentang jumlah konektivitas (connectivity number) = 1. c. menjelaskan tentang jumlah konektivitas (connectivity number) = 2. d. menjelaskan tentang jumlah konektivitas (connectivity number) = 3. e. menjelaskan tentang jumlah konektivitas (connectivity number) = 4.
3. Ulangi langkah 1 dan 2 untuk semua piksel yang cocok dengan template T1. 4. Ulangi langkah 1–3 untuk template T2, T3 dan T4.
a. Pencocokkan template T2 akan dilakukan pada sisi kiri dari obyek dengan arah dari bawah ke atas dan dari kiri ke kanan.
b. Pencocokkan template T3 akan dilakukan pada sisi bawah dari obyek dengan arah dari kanan ke kiri dan dari bawah ke atas.
c. Pencocokkan template T4 akan dilakukan pada sisi kanan dari obyek dengan arah dari atas ke bawah dan dari kanan ke kiri.
5. Piksel-piksel yang ditandai untuk dihilangkan (remove) dibuat sama dengan
2.10 MATLAB
MATLAB (Matrix Laboratory) adalah bahasa tingkat tinggi dan interaktif yang memungkinkan untuk melakukan komputasi secara intensif. MATLAB telah berkembang menjadi sebuah environment pemrograman yang canggih yang berisi fungsifungsi builtin untuk melakukan pengelolahan sinyal, aljabar linear dan kalkulasi matematis lainnya.
Menurut Noore (2009, p15) Matlab adalah sebuah bahasa pemograman dengan kemampuan tinggi untuk melakukan komputasi teknis yang menggabungkan komputasi, visualisasi, dan pemograman dalam satu kesatuan yang mudah digunakan dimana masalah dan penyelesaiannya diekspresikan dalam notasi matematik yang sudah dikenal.
MATLAB juga berisi toolbox yang berisi fungsi-fungsi tambahan untuk aplikasi khusus. Penggunaan MATLAB meliputi bidang:
1. Matematikadan Komputasi 2. Pembentukan Algorithm 3. Akuisisi Data
4. Pemodelan, simulasi dan Pembuatan Prototype 5. Analisis Data, Explorasi, dan Visualisasi 6. Grafik Keilmuan dan Bidang Rekayasa
MATLAB merupakan integrasi komputasi, visualisasi, dan pemrograman yang mudah digunakan. Sehingga MATLAB dapat bertindak sebagai :
1. Kalkulator
Ketika bertindak sebagai kalkulator, MATLAB memberikan hasil seketika setelah perintah operasi diberikan.
2. Bahasa pemrograman
Perintah – perintah operasi dengan urutan dan logika tertentu, serta digunakan berulang – berulang dapat dibuat sebagai suatu program yang akan dijelaskan pada unit selanjutnya.
Adapun macam – macam operasi yang dapat dilakukan oleh MATLAB adalah : 1. Skalar : Berupa bilangan real atau kompleks.
2. Matriks dan vektor : Dengan elemen bilangan real atau kompleks. 3. Teks : Pengolahan kata.
Jendela-jendela yang ada di MATLAB adalah sebagai berikut :
1. Command window
Digunakan untuk menjalankan fungsi-fungsi MATLAB.
2. Command history
Digunakan untuk menyimpan baris-baris perintah yang telah diketikkan di
command window. Kita dapat melihat fungsi-fungsi yang digunakan
sebelumnya, mengkopi dan menjalankannya kembali dari command
history.
3. Launch pad
Menyediakan akses yang mudah ke tools, demo dan dokumentasi.
4. Help browser
Untuk mencari dan menampilkan dokumentasi semua produk MathWorks.
5. Current diectory browser
Operasi MATLAB file menggunakan current directory dan search path sebagai referensi. File yang akan dijalankan harus berada di current
directory atau ada pada search path.
6. Workspace browser
Berisi kumpulan variabel yang terbentuk sepanjang sesi MATLAB dan di simpan di memory.
7. Array editor
Menampilkan isi array dalam format tabel dan dapat digunakan untuk mengedit isi array.
8. Editor/Debugger
9. Figure
Figure adalah jendela untuk menampilkan gambar grafik seperti perintah plot dan sejenisnya. Gambar pada jendela figure ini dapat disimpan ke
dalam sebuah file yang sewaktu-waktu dapat dipanggil kembali.
10. Help
Untuk menghafalkan semua perintah MATLAB mungkin akan menemui banyak kesulitan. Untuk menemukan perintah-perintah itu, MATLAB menyediakan bantuan dengan menyediakan help online. Kemampuan ini meliputi perintah MATLAB untuk memperoleh keterangan cepat pada
command window atau pada help browser.
2.10.1 Operator Komputasi
Operator komputasi mempunyai prioritas dengan urutan tertentu. Untuk menentukan prioritas, digunakan tanda kurung ‘( )’. Adapun beberapa operator komputasi dalam MATLAB adalah :
2.10.2 Bilangan Kompleks
Bilangan kompleks adalah bilangan yang terdiri dari bagian imaginer dan bagian riil. Bagian imaginer ditandai dengan simbol imaginer “i“ atau ”j” . Operasi bilangan kompleks juga menggunakan operator komputasi di atas. Bilangan kompleks selain dapat dinyatakan dalam koordinat kartesian , dapat juga dinyatakan dalam koordinat polar dan diagram fasor yang berupa magnitude dan sudut fase.
Beberapa fungsi dasar yang berhubungan dengan bilangan kompleks adalah:
Gambar 2.20 Bilangan Kompleks
2.10.3 Fungsi Matematis
Sebagai kalkulator, MATLAB mempunyai berbagai fungsi umum yang penting untuk matematika, teknik, dan ilmu pengetahuan. Sebagai tambahan atas fungsi-fungsi tersebut, MATLAB juga menyediakan ratusan fungsi yang berguna untuk menyelesaikan permasalahan tertentu.
Gambar 2.21 Fungsi Matematis
2.10.4 Variabel
Data dan variabel yang dibuat dalam command window tersimpan dalam
workspace MATLAB. Ada beberapa aturan dalam penamaan variabel :
1. Nama variabel harus terdiri atas satu kata. 2. Nama variabel harus tanpa spasi.
3. Nama variabel dibedakan antara huruf besar dan huruf kecil (case
sensitive).
4. Panjang maksimum nama variabel adalah 31 karakter, karakter setelahnya akan diabaikan.
5. Nama variabel harus diawali dengan huruf.
6. Nama variabel harus diikuti dengan sembarang bilangan, huruf atau garis bawah (under line).
MATLAB mempunyai beberapa variabel spesial yakni :
Gambar 2.22 Variabel
2.10.5 Kelengkapan pada Sistem MATLAB
Sebagai sebuah system, MATLAB tersusun dari 5 bagian utama: 1. Development Environment.
Merupakan sekumpulan perangkat dan fasilitas yang membantuanda untuk menggunakan fungsi-fungsi dan file-file MATLAB. Beberapa perangkat ini merupakan sebuah graphical user interfaces (GUI). Termasuk didalamnya adalah MATLAB desktop dan Command Window, command history, sebuah editor dan debugger, dan browsers untuk melihat help, workspace, files, dan search path.
2. MATLAB Mathematical Function Library.
fungsi-fungsi yang lebih kompek seperti matrix inverse, matrix eigenvalues, Bessel functions, dan fast Fourier transforms.
3. MATLAB Language.
Merupakan suatu high-level matrix/array language dengan control flow statements, functions, data structures, input/output, dan fitur-fitur object-oriented programming. Ini memungkinkan bagi kita untuk melakukan kedua hal baik "pemrograman dalam lingkup sederhana " untuk mendapatkan hasil yang cepat, dan "pemrograman dalam lingkup yang lebih besar" untuk memperoleh hasil-hasil dan aplikasi yang komplek. 4. Graphics.
MATLAB memiliki fasilitas untuk menampilkan vector dan matrices sebagai suatu grafik. Didalamnya melibatkan high-level functions (fungsi-fungsi level tinggi) untuk visualisasi data dua dikensi dan data tiga dimensi, image processing, animation, dan presentation graphics.
5. MATLAB Application Program Interface (API).
METODOLOGI PENELITIAN
Pada bab ini akan dijelaskan mengenai proses pembuatan aplikasi perbandingan Algoritma Zhang Suen dan Algoritma Stentiford.
3.1 Analisis Sistem
Secara garis besar proses perancangan aplikasi akan dibagi menjadi beberapa tahap seperti pada Gambar 3.1.
Keterangan Gambar Flowchart 3.1 : 1. Start, Program dijalankan.
2. Input Picture RGB Ukuran 200x200, Pada aplikasi perbandingan ini data yang diproses berupa citra berukuran 200x200 piksel, dan bertipe file .Bmp.
3. Greyscale, Citra yang telah diinput akan di Grayscale untuk mendapatkan
derajat keabuan warna citra.
4. Biner, Kemudian pada citra dilakukan Threshold untuk mendapatkan dua
keadaan warna yaitu hitam dan putih. Citra biner bernilai (0) mewakili hitam dan citra biner bernilai (1) mewakili warna putih.
5. Setelah itu di Thinning dengan Algotirma Zhang Suen dan Algoritma
Stentiford.
3.2. Flowchart Algoritma Zhang Suen
3.3. Simulasi Pr oses Car a Kerja Algoritma Zhang Suen
Penulusuran dimulai dari kiri kekanan dan dari atas kebawah. Penulusuran objek dimulai dari kolom 2 sampai 199 dan baris 2 sampai 199. Dengan perintah : For b = 2 To 199
For k = 2 To 299
Dimulai dari titik P1 dengan syarat dimana titik P1 harus bernilai 1. Contoh Algoritma Zhang Suen :
Gambar 3.4 Contoh Citra Awal Zhang Suen
Hasil Penulusuran Pertama (Langkah A dan B). Langkah A, harus memenuhi kondisi 1 sampai dengan 4 yaitu :
a. 2 ≤ N (P1) ≤ 6 b. S(P1) = 1 c. P2* P4 * P6 = 0 d. P4 * P6 * P8 = 0
Untuk Piksel P1 = (P1) pada Gambar 3.4: N(P1) = 3; TRUE
P4 * P6 * P8 = 0; TRUE
Kondisi dapat terpenuhi semua dengan nilai TRUE sehingga dapat disimpulkan bahwa P1 ditandai untuk dirubah menjadi background (nol).
Untuk Piksel P1 = (P2) pada Gambar 3.4: N(P1) = 5; TRUE
S(P1) = 1; TRUE P2 * P4 * P6 = 0; TRUE P4 * P6* P8 = 0; FALSE
Kondisi tidak dapat bernilai TRUE semua untuk P1 = (P2), hal ini diakibatkan karena kondisi P4* P6* P8 = 1 bernilai FALSE, sehingga tidak ditandai ataupun dirubah pada langkah A dan B.
Setelah melakukan cara yang sama untuk P1 = (P3), P1 = (P4), P1 = (P5), P1 = (P6), P1 = (P7), P1 = (P8), P1 = (P9), diperoleh Gambar 3.5:
Gambar 3.5 Hasil Proses langkah 1 pada Algoritma Zhang Suen
Dan pada langkah kedua, kondisi (a) dan (b) sama dengan langkah pertama, sedangkan kondisi (c) dan (d) diubah menjadi:
Untuk Piksel P1 = (P1) pada gambar 3.5 N(P1) = 4; TRUE
S(P1) = 1; TRUE
P2 * P4 * P8 = 0; TRUE P2 * P6 * P8 = 0; TRUE
Kondisi dapat terpenuhi semua dengan nilai TRUE sehingga dapat disimpulkan bahwa P1 ditandai untuk dirubah menjadi background (nol). Setelah dilakukan cara yang sama terhadap P1 = (P2), P1 = (P3) didapatkan citra seperti citra dibawah ini Gambar 3.6
Gambar 3.6 Hasil objek langkah 2 pada Zhang Suen
Pada Gambar 3.6 diproses kembali kedalam langkah 1 untuk algoritma
ZhangSuen. Dan menghasilkan bentuk objek yang sama, kemudian diuji kembali
kebentuk langkah ke-2 menghasilkan bentuk objek yang sama juga.
3.4. Flowchart Algoritma Stentiford
Y I
F or b = 199 To 2 S tep -1 F or k = 2 T o 199
IF C itraS tentiford (k,b) and C itraS tentiford (k+ 1,b) = 1 and
CitraS tentiford(k-1,b) <>1
IF N P 1 = 1
IF S P 1 = 1
P enandaS tentiford (k,b) = 0
Lanjut2 : Next k
3.5. Simulasi Pr oses Car a Kerja Algoritma Stentiford Contoh Algoritma Stentiford:
Gambar 3.11 Contoh citra awal Stentiford
Template yang dipakai adalah 4 buah template 3x3 yaitu,
Gambar 3.12 Template Stentiford
Berikut ini akan dijelaskan langkah–langkah algoritma Stentiford :
1. Pencocokkan template ini bergerak dari kiri ke kanan dan dari atas ke bawah.
For b = 2 To 199
For k = 2 To 199
Cari piksel pada lokasi (i,j) dimana piksel-piksel pada image cocok dengan
template T1. Dimana, P1dan P8 bernilai 1 dan P4 bernilai 0. Pencarian piksel
Gambar 3.13 Urutan nilai konektivitas Algoritma Stentiford
2. Bila piksel tengah bukan merupakan endpoint (jumlah tetangga titik objek minimal 2<=NP1<=7) dan mempunyai jumlah konektivitas S(P1) sebanyak 1, Dimulai dari P2- P3- P4- P5- P6- P7- P8- P9- P2 atau dengan rumus:
Atau S(P1) jumlah perpindahan nilai dari 0(nol) ke 1(satu) sebanyak 1, dimulai dari P2, P3,…, P9. Nk merupakan nilai dari 8 tetangga di sekitar
piksel yang akan dianalisa (Titik obyek). N0 adalah nilai dari piksel tengah
(Titikobyek). N1 adalah nilai dari piksel pada sebelah kanan titik obyek dan sisanya diberi nomor berurutan dengan arah berlawanan jarum jam.
Untuk Piksel P1 = (P1) pada pada Gambar 3.11 Pencocokkan Template 1 bernilai; TRUE
Jumlah tetangga objek N(P1)=3; TRUE Jumlah number konektifitas S(P1)=1; TRUE
Kondisi tidak dapat bernilai TRUE semua untuk P1 = (P4), hal ini diakibatkan karena pencocokkan template tidak sesuai atau FALSE, sehingga tidak ditandai untuk proses penghapusan. Setelah melakukan cara yang sama untuk P1= P2, P1= P3, P1= (P5), P1= (P6), P1= (P7), P1= (P8), P1= (P9). Hasilnya dapat dilihat pada Gambar 3.14.
Gambar 3.14 Hasil Proses Langkah 1 Pada Algoritma Stentiford
3. Ulangi langkah 1 dan 2 untuk semua piksel yang cocok dengan Template T1. 4. Ulangi langkah 1-3 untuk template T2, T3 dan T4.
Untuk P1=P4 Pencocokan template ini dimulai dari bawah ke atas dan dari kiri ke kanan.
For b = 199 To 2 Step -1
For k = 2 To 199
Cari piksel pada lokasi (i,j) dimana piksel-piksel pada image cocok dengan
template T2. Dimana titik P1dan P2 bernilai 1 dan P6 bernilai 0.
Untuk Piksel P1 = (P4) pada Gambar 3.14 Pencocokkan template; TRUE,
jumlah konektifitas Number S(P1)=1; TRUE
Kondisi dapat terpenuhi semua dengan nilai TRUE sehingga dapat disimpulkan bahwa P1 ditandai dan dirubah menjadi background (nol).
Kondisi tidak dapat bernilai TRUE semua untuk P1 = (P5), hal ini diakibatkan karena pencocokkan template tidak sesuai atau FALSE. Sehingga tidak dapat diubah. Setelah dilakukan cara yang sama terhadap P1 = (P5), P1 = (P6), P1 = (P1), P1 =( P2), P1 = (P3). Hasilnya dapat dilihat pada Gambar 3.15.
Gambar 3.15 Hasil Objek Langkah 2 Pada Algoritma Stentiford
5. Pencocokan template T3, akan dilakukan pada sisi bawah dari obyek dengan arah dari kanan ke kiri dan dari bawah ke atas.
For b = 199 To 2 Step -1
For k = 199 To 2 Step -1
Untuk pencocokan T3, Cari piksel pada lokasi (i,j) dimana piksel-piksel pada image cocok dengan template T3. Dimana titik P1 dan P4 bernilai 1 dan P8 bernilai 0.
jumlah tetangga N(P1)=3 bernilai TRUE, jumlah konektifitas Number S(P1)=1 TRUE
Kondisi dapat terpenuhi semua dengan nilai TRUE sehingga dapat disimpulkan bahwa P1 ditandai dan dirubah menjadi background (nol).
Kondisi tidak dapat bernilai TRUE semua untuk P1= (P2). hal ini diakibatkan karena pencocokkan template tidak sesuai atau FALSE. Sehingga tidak dapat diubah Setelah dilakukan cara yang sama terhadap P1 = (P3), P1 = (P1). Hasilnya dapat dilihat pada Gambar 3.16
Gambar 3.16 Hasil Objek Langkah 3 Pada Algoritma Stentiford
6. Pencocokkan template T4 akan dilakukan pada sisi kanan dari obyek dengan arah dari atas ke bawah dan dari kanan ke kiri.
For b = 2 To 199
For k = 199 To 2 Step -1
Untuk pencocokan T4, Cari piksel pada lokasi (i,j) dimana piksel-piksel pada image cocok dengan template T3. Dimana titik P1 dan P6 bernilai 1 dan P2 bernilai 0.
jumlah tetangga N(P1)=1 bernilai FALSE, jumlah konektifitas Number S(P1)=1 TRUE.
Kondisi dapat terpenuhi semua dengan nilai FALSE sehingga dapat disimpulkan bahwa S2 tidak ditandai dan tidak dirubah menjadi background (nol). Setelah dilakukan cara yang sama terhadap P1 = (P1).
Didapatkan hasil akhir seperti citra dibawah ini Gambar 3.17. Jika dilakukan langkah 3 hasil yang diperoleh dari citra tersebut tidak berubah, sehingga dapat disimpulkan bahwa pengeksekusian algoritma Thinning citra sudah selesai.
7. Piksel-piksel yang ditandai untuk dihilangkan (remove) dibuat sama dengan
background (di-set 0 untuk binary image).
Gambar 3.17 Hasil Proses Langkah 4 Pada Algoritma Stentiford
Dari Gambar 3.17 dideperoleh kesimpulan bahwa jumlah:
3.6. Perancangan Interface
Interface merupakan suatu halaman perangkat lunak sebagai tempat
interaksi bagi pengguna dan perangkat lunak tersebut. Tujuan dari perancangan
interface berikut ini agar pengguna dapat memahami jalan kerja program dengan
mudah.
3.6.1. Interface Tampilan GUI
Pada tampilan ini terdapat 5 Axes yaitu, Citra Original, Citra Grayscale untuk hasil Citra Grayscale, Citra Biner untuk hasil Citra Biner, Citra Zhang Zuen untuk hasil Citra Algoritma Zhang Zuen, Citra Stentiford untuk hasil Citra Algoritma Stentiford. Terdapat 3 Push Button yaitu Browse, Clear All, dan Proses. Dan terdapat 8 Static Text yaitu Judul untuk judul Aplikasi, Nama Gambar, Grayscale, Biner, Zhang, Stentiford, Time1 untuk hasil timer Algoritma
HASIL DAN PEMBAHASAN
Pada bab IV ini akan dijelaskan mengenai implementasi dari rancangan program yang telah dibuat pada bab III. Bagian implementasi aplikasi perbandingan algoritma Zhang Suen dengan algoritma Stentiford meliputi : implementasi data, implementasi interface, implementasi proses, ujicoba dan evaluasi aplikasi.
4.1. Implementasi Data
Data yang akan di implementasikan pada proses pembuatan aplikasi perbandingan algoritma Zhang Suen dengan algoritma Stentiford menggunakan MATLAB berupa citra gambar dari hasil Scanning yang telah di crop per karakter yang diambil dari tulisan tangan.
kemudian gambar-gambar tersebut akan diproses melalui beberapa tahapan untuk menyimpan dan melakukan perbandingan pada kedua algoritma tersebut.
4.2. Implementasi Interface
Pada Awal menjalankan aplikasi akan ditampilkan tampilan utama aplikasi ini seperti pada Gambar 4.1.
Gambar 4.1. Tampilan Utama Aplikasi
Menu utama dirancang sedemikian rupa guna untuk mempermudah dalam proses perbandingan masing-masing algoritma. Menu utama terdiri dari 3 tombol
Button yaitu Browse untuk memilih citra RGB yang akan diinput, tombol Clear
All untuk membersihkan layar pada gambar dan tombol proses untuk memproses citra Original, setelah proses selesai maka terlihat hasil thinning dari kedua metode tersebut.
Terdapat 8 static text dan 5 Axes untuk letak gambar Original, hasil proses
Grayscale, hasil proses biner dan hasil dari algoritma Zhang Suen dan Stentiford
Tabel 4.1 Komponen Menu Utama
KOMPONEN J UMLAH PROPERTI
Static Text 8
Judul, citra Original, Grayscale, biner, Zhang
Suen, Stentiford, time1, Time2, nama gambar
Push Button 3 Browse, Process, Clear
Axes 5 axes1, axes2, axes3, axes4, axes5
4.3. Uji Coba Program
Pada Gambar 4.2 merupakan gambar yang tampil setelah tombol Browse di klik. Tombol ini berfungsi untuk menginput citra berukuran 200x200 Piksel yang akan diproses untuk melakukan proses thinning.
Gambar 4.2 Tampilan Tombol Browse
Gambar 4.3 Tampilan Citra Awal
Setelah di klik open citra awal muncul di axes1. Ketika tombol process di klik maka keluar tampilan Loading seperti Gambar 4.4.
Ketika proses selesai maka hasil dari proses akan ditampilkan pada kotak-kotak axes seperti Gambar 4.5.
Gambar 4.5 Hasil Proses Thinning Huruf a
Setelah proses selesai dan hasil dari proses muncul di kotak-kotak axes, yang mana didibawah axes algoritma Zhang Suen dan algoritma Stentiford masing-masing terdapat time proses yaitu waktu penelusuran dari masing-masng algoritma guna untuk mengukur lamanya poses thinning.
Gambar 4.6 Folder Penyimpanan Hasil Thinning
4.4. Evaluasi Aplikasi
Berdasarkan hasil uji coba yang telah dilakukan, maka akan dilakukan evaluasi meliputi analisis antara lain sebagai berikut :
4.4.1. Analisis Pr oses Thinning
Pada tahap pengujian perbandingan kedua algoritma ini pertama citra original diproses ke dalam format Grayscale, setelah format Grayscale kemudian diproses ke dalam format biner, kemudian hasil dari citra biner tersebut diproses
thinning dengan 2 algoritma yang berbeda yaitu algoritma Zhang Suen dan
algoritma Stentiford.
4.4.1.1. Analisis Akurasi Hasil Thinning
Pada tahap pengujian perbandingan hasil thinning menggunakan algoritma Zhang Suen dan algoritma Stentiford yang diukur dengan menganalisis akurasi dari hasil thinning kedua algoritma untuk pengenalan karakter secara visual. Hasil proses tersebut dapat dilihat seperti pada Tabel 4.2 dan Tabel 4.3.
Tabel 4.2 Analisis akurasi hasil thinning citra original dengan citra Zhang Suen
No Citra
Original Dikenali
Citra
Zhang Suen Dikenali Hasil
1 4 4 B
2 4 4 B
3 4 4 B
4 4 4 B
6 4 4 B
7 4 4 B
8 4 U S
9 4 4 B
10 4 H S
11 - 9 S
13 4 Y S
14 4 Y S
15 4 4 B
16 4 U S
17 4 4 B
18 - 9 S
20 - 9 S
21 4 4 B
22 4 4 B
23 4 4 B
24 4 4 B
25 4 4 B
27 4 4 B
28 4 Y S
29 4 y S
30 - - S
Dari analisa akurasi hasil thinning citra original dengan citra Zhang Suen ini dilakukan pada 30 gambar namun terdapat 5 gambar yang tidak dikenali, dari 25 gambar yang dikenali menghasilkan 17 gambar yang dikenali sebagai angka 4 dan 13 gambar yang tidak dikenali.
Tabel 4.3 Analisis akurasi hasil thinning citra original dengan citra Stentiford
No Citra
Original Dikenali
Citra
Stentiford Dikenali Hasil
2 4 4 B
3 4 4 B
4 4 4 B
5 4 4 B
6 4 4 B
7 4 4 B
9 4 4 B
10 4 4 B
11 - 9 S
12 4 4 B
13 4 Y S
14 4 Y S
16 4 U S
17 4 4 B
18 - 9 S
19 - H S
20 - 9 S
21 4 4 B
23 4 4 B
24 4 4 B
25 4 4 B
26 4 Y S
27 4 4 B
28 4 Y S
30 - - S
Dari analisa akurasi hasil thinning citra original dengan citra Stentiford ini dilakukan pada 30 gambar namun terdapat 5 gambar yang tidak dikenali, dari 25 gambar yang dikenali menghasilkan 19 gambar yang dikenali sebagai angka 4 dan 11 gambar yang tidak dikenali.
Untuk menguji validasi dari algoritma Zhang Suen dan algoritma
Stentiford disini diukur menggunakan metode KAPPA COHEN untuk
mendapatkan nilai validasi dari masing-masing algoritma. Nilai validasi dari kedua algoritma tersebut dapat dilihat pada Gambar 4.7 dan Gambar 4.8
Gambar 4.8 Validasi Algoritma Stentiford
Dari hasil validasi kedua algoritma tersebut, algoritma Zhang Suen menghasilkan nilai value 0,415 sedangkan algoritma Stentiford menghasilkan nilai value 0,514.
Fleiss (1981) mengkategorikan tingkat reliabilitas antar rater menjadi tiga kategori, antara lain:
1. Kappa < 0.4 : buruk (bad) 2. Kappa 0.4 – 0.60 : cukup (fair)
KESIMPULAN DAN SARAN
Berdasarkan seluruh kegiatan yang dilakukan mulai dari pembahasan teori, perancangan aplikasi hingga pengujian terhadap aplikasi perbandingan metode
thinning Zhang Suen dengan Stentiford pada pengenalan karakter ini maka dapat
diambil beberapa kesimpulan dan memberikan beberapa saran sebagai berikut.
5.1. Kesimpulan
Setelah melakukan uji coba dan evaluasi pada tugas akhir ini maka dapat diambil kesimpulan sebagai berikut:
1. Dari hasil validasi yang dilakukan pada kedua algoritma menggunakan metode Kappa Cohen, algoritma Zhang Suen menghasilkan nilai value 0,415 sedangkan algoritma Stentiford menghasilkan nilai value 0,514. 2. Berdasarkan nilai value dari hasil validasi kedua algoritma tersebut
menurut Fleiss (1981) bahwa kedua algoritma tersebut termasuk dalam kategori cukup namun nilai value algoritma Stentiford besar dari pada algoritma Zhang Suen .
5.2. Sar an
1. Hasil thinning dari algoritma Zhang Zuen dan algoritma Stentiford dapat digunakan untuk bahan uji coba proses pengenalan karakter selanjutnya yaitu merubah gambar menjadi teks.
Kormel Simanjuntak. 2012 “ Algoritma Thinning Stentiford ”.
http://www.kormel.com/2012/03/algoritma-Thinning-stentiford.html.
Di akses tanggal 12 September 2013.
Sigit Wasista. Pengolahan Citra Digital PENS-ITS. 2009 “ Thinning dan Skeletoning ”
http://wasista-eepis.blogspot.com/2009/06/Thinning-danskeletoning.html.
Di akses tanggal 12 September 2013.
Sitorus, S dkk. 2006. Pengolahan Citra Digital. Medan:USU Press. Basuki, A. 2005. Pengolahan Citra Digital. Yogyakarta: Graha Ilmu.
Dr.P.Subashini, S.Jansi, “ Optimal Thinning Algorithm for detection of FCD in MRI Images ”
http://www.ijser.org/researchpaper%5COptimal-Thinning-Algorithm-for-detection-of-FCD-in-MRI-Images.pdf.
Di akses tanggal 15 September 2013. Jason Rupard. “Skeletonization (part 1)”.
http://www.rupj.net/portfolio/docs/skeletonization.pdf.
Diakses tanggal 7 oktober 2013.
H.E.Burdick, dan Mc Graw Hill. 1997. Morphological Operations.
Http://ppsc.pme.nthu.edu.tw/.../Chapter%209%20Morphological%20opera
tions.pdf.
Diakses tanggal 17 Oktober 2013.