IMPLEMENTASI METODE DETEKSI TEPI
DENGAN OPERATOR SOBEL UNTUK OPTIMASI
SEGMENTASI CITRA DOKUMEN BERAKSARA JAWA
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Oleh:
Maria Fransiska Fanny Puspandari 065314021
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
i
IMPLEMENTASI METODE DETEKSI TEPI
DENGAN OPERATOR SOBEL UNTUK OPTIMASI
SEGMENTASI CITRA DOKUMEN BERAKSARA JAWA
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Oleh:
Maria Fransiska Fanny Puspandari 065314021
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
ii
IMPLEMENTATION OF EDGE DETECTION METHOD
WITH SOBEL OPERATOR FOR OPTIMIZATION
DOCUMENT IMAGE SEGMENTATION
OF JAVANESE CHARACTER
A Thesis
Presented as Partial Fullfillment of The Requirements
to Obtain The Sarjana Computer Degree in Informatics Engineering Study Program
By:
Maria Fransiska Fanny Puspandari 065314021
INFORMATICS ENGINEERING PROGRAM
INFORMATICS ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
vii
ABSTRAK
Penelitian ini berfokus pada implementasi metode deteksi tepi dengan
operator sobel untuk optimasi segmentasi citra dokumen beraksara Jawa. Deteksi
tepi pada suatu citra adalah suatu proses yang menghasilkan tepi-tepi dari
obyek-obyek gambar, yang bertujuan untuk meningkatkan penampakan garis batas suatu
daerah atau objek di dalam citra. Untuk melihat kegunaan deteksi tepi pada citra
dokumen beraksara Jawa, maka dilakukan proses segmentasi menggunakan profil
proyeksi sehingga nantinya dapat terlihat bahwa dengan adanya proses deteksi
tepi ini dapat meningkatkan prosentase keberhasilan segmentasi.
Untuk membandingkan prosentase keberhasilan segmentasi, dilakukan
pengujian dengan cara pengamatan secara visual hasil-hasil citra karakter yang
dihasilkan dari segmentasi dengan adanya deteksi tepi mempergunakan operator
sobel dengan deteksi tepi mempergunakan operator canny dan juga deteksi tepi
dengan operator sobel yang tersedia pada toolbox MATLAB.
Berdasarkan hasil pengujian terhadap 5 citra dokumen dari penggunaan
deteksi tepi mempergunakan operator sobel untuk segmentasi citra dokumen
beraksara Jawa, diperoleh rata-rata prosentase keberhasilan segmentasi sebesar
84,76%. Sementara, jika pada dokumen yang sama dilakukan segmentasi tanpa
terlebih dahulu dilakukan deteksi tepi, diperoleh rata-rata prosentase
keberhasilannya 81,98%. Dan terhadap hasil pengujian dari penggunaan deteksi
tepi mempergunakan operator canny untuk segmentasi citra dokumen beraksara
Jawa, diperoleh rata-rata prosentase keberhasilan segmentasi sebesar 53,88%.
Sedangkan hasil pengujian dari penggunaan deteksi tepi menggunakan operator
sobel yang tersedia pada toolbox MATLAB, untuk segmentasi citra dokumen
beraksara Jawa, diperoleh rata-rata prosentase keberhasilan segmentasi sebesar
72,42%. Maka dapat disimpulkan bahwa deteksi tepi mempergunakan operator
sobel yang diimplementasikan pada tugas akhir ini relatif lebih baik dibandingkan
dengan operator canny atau operator sobel MATLAB serta dapat membantu
meningkatkan prosentase keberhasilan segmentasi karena terjadi proses
viii ABSTRACT
This research focuses on the implementation of edge detection method with
sobel operator to optimize the segmentation of document image of Javanese
character. The edge detection on an image is a process that produces edges of
image objects, which aims to improve the appearance of an area boundary lines or
of objects in the image. To see the usefulness of edge detection in Javanese
character document image, thus undertaken a segmentation process using
projection profile so that later it can be seen that with the edge detection process,
it may increase the percentage of successful segmentation.
To compare the percentage of successful segmentation, a test was carried
out by visually observing the results of character images produced by
segmentation with the existence of edge detection using sobel operator which was
carried out in this thesis by the edge detection using canny operator and sobel
operator available on the MATLAB toolbox.
Based on the test result of 5 document images from the usage of edge
detection using sobel operator which was undertaken in this thesis to document
images segmentation of Javanese characters, obtained the average of successful
segmentation percentage for 84,76%. Meanwhile, if in the same document was
carried out a segmentation without being conducted the edge detection first,
obtained the average successful percentage for 81,98 %. And for the result test of
edge detection usage used canny operator available on MATLAB toolbox to
document images segmentation of Javanese characters, acquired the average
successful percentage of segmentation for 53,88%. While the test result of edge
detection usage utilized sobel operator available on MATLAB toolbox, for
document images segmentation of Javanese characters, obtained the average of
successful segmentation for 72,42%. Thus, it can be concluded that the edge
detection using sobel operator which is implemented in this thesis is relatively
better than MATLAB canny operator or sobel operator because thinning process
ix
KATA PENGANTAR
Puji dan syukur kepada Tuhan Yesus Kristus atas segala berkat dan
karunia-Nya, sehingga penulis dapat menyelesaikan tugas akhir yang berjudul
“Implementasi Metode Deteksi Tepi dengan Operator Sobel untuk Optimasi
Segmentasi Citra Dokumen Beraksara Jawa” ini dengan baik.
Penulis menyadari bahwa selama proses penelitian dan penyusunan
laporan tugas akhir ini, banyak pihak yang telah memberikan bantuan baik berupa
dukungan, perhatian, semangat, kritik dan saran yang sangat penulis butuhkan,
sehingga pada kesempatan ini penulis ingin mengucapkan terima kasih yang
sebesar-besarnya, antara lain kepada :
1. Anastasia Rita Widiarti, S.Si., M.Kom., selaku dosen pembimbing tugas
akhir, atas kesabarannya dalam membimbing penulis, meluangkan
waktunya, memberikan dukungan, motivasi, serta saran yang sangat
membantu penulis.
2. Eko Hari Parmadi, S.Si., M.Kom, selaku dosen penguji yang telah
memberikan saran dan masukan yang berguna dalam tugas akhir ini.
3. Sri Hartati Wijojo, S.Si., M.Kom, selaku dosen penguji yang telah
memberikan saran dan masukan yang berguna dalam tugas akhir ini.
4. Y. Joko Nugroho, S.Si, selaku dosen penguji yang telah memberikan saran
dan masukan yang berguna dalam tugas akhir ini.
5. Ayahku Fx. Heri Sulistya dan Ibuku Catharina Kusumandari serta adikku
Sesilia Paramitha Novitasari, atas doa, semangat, dukungan baik moril
xi
DAFTAR ISI
HALAMAN JUDUL BAHASA INDONESIA ... i
HALAMAN JUDUL BAHASA INGGRIS ... ii
HALAMAN PERSETUJUAN PEMBIMBING ... iii
HALAMAN PENGESAHAN ... iv
PERNYATAAN KEASLIAN KARYA ... v
LEMBAR PERSETUJUAN PUBLIKASI ... vi
xii
BAB III. ANALISA DAN PERANCANGAN SISTEM ... 29
A. Analisa Sistem ... 29
B. Analisa Kebutuhan Hardware – Sofware ... 31
1. Analisa Kebutuhan Hardware ... 31
2. Analisa Kebutuhan Software ... 31
C. Rancangan Proses Sistem ... 31
1. Data Flow Diagram Level 0 ... 32
2. Data Flow Diagram Level 1 ... 32
3. Flowchart Deteksi Tepi ... 33
4. Diagram Alir Proses Segmentasi ... 35
xiii
BAB IV. IMPLEMENTASI ... 38
A. Implementasi Program ... 38
1. Implementasi Deteksi Tepi ... 38
2. Implementasi Segmentasi ... 41
BAB V. ANALISA HASIL DAN PEMBAHASAN ... 42
A. Data Masukan ... 42
B. Analis Hasil ... 44
Bab VI. Kesimpulan dan Saran ... 70
A. Kesimpulan ... 70
B. Saran ... 71
Daftar Pustaka ... 72
xiv
DAFTAR GAMBAR
Gambar 2.1 Citra biner dan representasinya dalam data digital ... 8
Gambar 2.2 Citra keabuan dan representasinya dalam data digital ... 9
Gambar 2.3 Citra warna dan representasinya dalam data digital ... 9
Gambar 2.4 Citra warna berindeks dan representasinya dalam data digital 10 Gambar 2.5 Tepi curam ... 13
Gambar 2.6 Tepi landai ... 14
Gambar 2.7 Tepi curam dengan derau ... 14
Gambar 2.8 Proses deteksi tepi citra ... 16
Gambar 2.9 Susunan piksel pada konvolusi Sobel ... 17
Gambar 2.10 Matriks operator sobel untuk persamaan Sx ... 18
Gambar 2.11 Matriks operator sobel untuk persamaan Sy ... 18
Gambar 2.12 Citra semula ... 19
Gambar 2.13 Citra hasil konvolusi ... 23
Gambar 2.14 Profil proyeksi horisontal dan vertikal ... 25
Gambar 2.15 Gambar asli ... 27
Gambar 2.16 Hasil deteksi tepi Prewitt ... 28
Gambar 2.17 Hasil deteksi tepi Canny ... 28
Gambar 2.18 Hasil deteksi tepi Sobel ... 28
Gambar 2.19 Hasil deteksi tepi Roberts ... 28
Gambar 3.1 Citra karakter hasil segmentasi dengan deteksi tepi ... 30
Gambar 3.2 Data flow diagram level 0 ... 32
xv
Gambar 3.4 Flowchart proses deteksi tepi ... 34
Gambar 3.5 Diagram alir proses segmentasi ... 36
Gambar 5.1 Citra dokumen masukan data 1 ... 43
Gambar 5.2 Citra data 1 hasil konvolusi dengan Gradien X ... 45
Gambar 5.3 Citra data 1 hasil konvolusi dengan Gradien Y ... 46
Gambar 5.4 Hasil deteksi tepi citra dokumen data 1 ... 47
Gambar 5.5 Potongan baris 1 dari citra dokumen data 1 ... 48
xvi
DAFTAR TABEL
Tabel 5.1 Kriteria citra dokumen masukan ... 42
Tabel 5.2 Analisis output segmentasi citra dokumen data 1
melalui deteksi tepi ... 49
Tabel 5.3 Analisis output segmentasi citra dokumen data 1
tanpa melalui deteksi tepi ... 50
Tabel 5.4 Analisis output segmentasi citra dokumen data 2
melalui deteksi tepi ... 52
Tabel 5.5 Analisis output segmentasi citra dokumen data 2
tanpa melalui deteksi tepi ... 54
Tabel 5.6 Analisis output segmentasi citra dokumen data 3
melalui deteksi tepi ... 57
Tabel 5.7 Analisis output segmentasi citra dokumen data 3
tanpa melalui deteksi tepi ... 58
Tabel 5.8 Analisis output segmentasi citra dokumen data 4
melalui deteksi tepi ... 59
Tabel 5.9 Analisis output segmentasi citra dokumen data 4
tanpa melalui deteksi tepi ... 60
Tabel 5.10 Analisis output segmentasi citra dokumen data 5
melalui deteksi tepi ... 63
Tabel 5.11 Analisis output segmentasi citra dokumen data 5
tanpa melalui deteksi tepi ... 64
xvii
melalui deteksi tepi ... 66
Tabel 5.13 Rangkuman hasil analisis output segmentasi
tanpa deteksi tepi ... 66
Tabel 5.14 Rangkuman hasil analisis output segmentasi
melalui deteksi tepi dengan operator cannyMATLAB ... 67
Tabel 5.15 Rangkuman hasil analisis output segmentasi
1
BAB I PENDAHULUAN
A. Latar Belakang
Yogyakarta sebagai kota yang kaya akan keanekaragaman budayanya
menyimpan banyak sekali aset yang merupakan warisan budaya, salah
satunya buku-buku kuno yang ditulis dengan aksara Jawa. Sayang sekali
jika buku-buku tersebut hanya disimpan, padahal buku-buku tersebut perlu
dilestarikan. Akan lebih bermanfaat lagi jika buku-buku tersebut dikonversi
ke dalam format digital, sehingga kualitas dapat diperbaiki dan mudah
dilakukan analisa citra untuk pengenalan citra dokumen.
Ada berbagai tahapan untuk sampai ke tahap pengenalan citra
dokumen. Untuk proses awal akan dilakukan deteksi tepi pada citra
dokumen. Deteksi tepi atau edge detection pada suatu citra adalah suatu
proses yang menghasilkan tepi-tepi dari obyek-obyek gambar. Suatu titik
(x,y) dikatakan sebagai tepi (edge) dari suatu citra bila titik tersebut
mempunyai perbedaan yang tinggi dengan tetangganya (Sigit,2005). Bila
dua buah atau lebih obyek saling tumpang tindih, bila intensitas mereka
tidak sama, akan meninggalkan jejak tepi sehingga diketahui obyek yang
satu berada di depan obyek yang lain atau sebaliknya. Hal ini penting untuk
mengembalikan atau merekonstruksi bentuk yang seharusnya dari obyek
yang berada di belakang obyek lainnya, atau memisahkan obyek yang
tepi suatu obyek juga berguna untuk memisahkan obyek yang saling
bersinggungan sehingga mereka tidak dianggap sebagai satu obyek yang
besar dan dapat dianalisis secara individu. Setelah didapatkan tepi-tepi dari
obyek tersebut maka dapat diambil untuk diolah ke proses selanjutnya, yaitu
segmentasi yang berarti memisahkan obyek gambar dengan latar
belakangnya. Oleh sebab itu, dalam penelitian ini diharapkan dengan
adanya deteksi tepi akan membantu meningkatkan keberhasilan segmentasi.
Segmentasi dalam tugas akhir ini akan menggunakan segmentasi dengan
profil proyeksi yang akan diimplementasikan sesuai dengan acuan Widiarti
(Widiarti,2007).
Dalam tugas akhir ini, akan digunakan operator Sobel sebagai metode
dalam melakukan deteksi tepi pada citra dokumen teks beraksara Jawa.
Dengan operator Sobel batas tepian akan terlihat dengan jelas dan lebih
halus, tetapi di situ akan terlihat banyak respon yang dihasilkan
(Kusno,2009). Operator Sobel merupakan operator yang paling banyak
digunakan sebagai pelacak tepi karena kesederhanaan dan keampuhannya
(Hamidah,2010).
Dalam melakukan pengujian digunakan operator canny dan operator
sobel yang tersedia dalam toolbox MATLAB sebagai pembanding dalam
mendeteksi tepi citra dokumen beraksara Jawa. Menurut Uma Hamidah
(Hamidah,2010) operator canny dapat mendeteksi dan melokalisasi dengan
baik yang menghasilkan jarak yang minimum antara tepi yang dideteksi
dengan tepi asli. Dan juga respon yang jelas yaitu hanya ada satu respon
B. Rumusan Masalah
Berdasarkan latar belakang di atas, maka dapat dirumuskan beberapa
masalah sebagai berikut :
1. Bagaimana mengimplementasikan metode deteksi tepi dengan operator
sobel pada citra dokumen teks beraksara Jawa ?
2. Berapakah prosentase keberhasilan proses segmentasi pada citra
dokumen teks beraksara Jawa dengan adanya deteksi tepi menggunakan
operator sobel ?
3. Apakah deteksi tepi menggunakan operator sobel yang dilakukan pada
tugas akhir ini lebih baik bila dibandingkan dengan deteksi tepi
menggunakan operator canny dan operator sobel yang tersedia dalam
toolbox MATLAB?
C. Tujuan
Penelitian dalam tugas akhir ini mempunyai tujuan yaitu :
1. Memahami cara kerja proses deteksi tepi pada citra dokumen teks
beraksara Jawa menggunakan operator sobel.
2. Mengukur keberhasilan proses segmentasi pada citra dokumen teks
beraksara Jawa yang sudah melalui proses deteksi tepi dengan
menggunakan operator sobel.
3. Membandingkan keberhasilan deteksi tepi menggunakan operator
sobel pada tugas akhir ini dengan deteksi tepi menggunakan operator
canny dan operator sobel yang tersedia dalam toolbox MATLAB yang
diimplementasikan pada citra dokumen beraksara Jawa untuk
D. Batasan Masalah
Adapun permasalahan yang akan diselesaikan akan dibatasi oleh
hal-hal sebagai berikut :
1. File citra dokumen masukan yang diproses adalah file dengan extensi
*.jpg. Citra dokumen masukan yang ideal adalah citra dokumen
beraksara Jawa yang tidak miring, bebas dari derau atau noise, dan
merupakan citra keabuan. File data merupakan koleksi dari hasil
penelitian Widiarti, dkk (Widiarti,dkk, 2010).
2. Sistem yang akan dibangun hanya akan membahas proses deteksi tepi
dan sedikit proses segmentasi. Apabila ada proses yang perlu dilakukan
sebelum proses deteksi tepi ataupun segmentasi, maka proses tersebut
akan dilakukan secara manual dan tidak dibahas dalam tugas akhir ini.
3. Program dalam tahap perancangan sistem dinyatakan dengan
menggunakan bahasa pemrograman MATLAB.
4. Pengujian yang dilakukan dengan melakukan pengamatan secara visual
atau kasat mata dari hasil segmentasi tanpa deteksi tepi dengan
segmentasi yang sudah melalui proses deteksi tepi dan dengan
membandingkan antara operator sobel yang dilakukan dalam tugas
akhir ini dengan operator canny dan operator sobel yang tersedia dalam
toolbox MATLAB.
E. Metodologi Penelitian
Di dalam melakukan penelitian ini, penulis melakukan metodologi
1. Studi literatur.
Melakukan studi kepustakaan terhadap berbagai referensi yang
berhubungan dengan penelitian yang dilakukan, pendalaman MATLAB,
serta penentuan masalah yang akan dianalisis.
2. Melakukan perancangan sistem.
Melakukan perancangan sistem berupa diagram aliran data pada
masing-masing proses yang akan dilakukan.
3. Penulisan program.
Mengimplementasikan proses-proses dalam diagram aliran data dalam
tahap perancangan sistem dinyatakan dengan menggunakan bahasa
pemrogramana MATLAB.
4. Melakukan pengujian.
Melakukan pengujian terhadap hasil segmentasi melalui deteksi tepi
dengan operator sobel.
5. Analisis hasil.
Melakukan analisis hasil terhadap citra-citra karakter hasil segmentasi
melalui deteksi tepi dengan citra-citra karakter hasil segmentasi tanpa
deteksi tepi.
F. Sistematika Penulisan Bab I. Pendahuluan
Dalam bab ini akan dijelaskan mengenai latar belakang masalah, rumusan
masalah, batasan masalah, tujuan penelitian, metodologi penelitian, dan
Bab II. Landasan Teori
Dalam bab ini akan dijelaskan mengenai pengetahuan yang menjadi dasar
teori untuk mengimplementasikan metode deteksi tepi dengan
menggunakan operator sobel pada citra aksara Jawa.
Bab III. Analisa dan Perancangan Sistem
Dalam bab ini berisi analisa sistem yang dibutuhkan untuk penelitian ini.
Berdasarkan analisa sistem tersebut, akan dirancang sistem untuk
menyelesaikan masalah dalam penelitian ini. Analisa sistem tersebut
meliputi gambaran umum sistem, analisa kebutuhan. Perancangan sistem
meliputi diagram aliran data masing-masing proses yang akan dilakukan.
Bab IV. Implementasi
Bab ini berisi penjelasan mengenai tahapan-tahapan penelitian dalam
mengubah rancangan yang telah dibuat ke dalam bentuk program dengan
menggunakan bahasa pemrograman MATLAB.
Bab V. Hasil dan Pembahasan
Dalam bab ini hasil dan pembahasan menguraikan dan membahas tentang
analisa hasil penelitian yang dilakukan penulis.
Bab VI. Kesimpulan dan Saran
Bab ini berisi kesimpulan yang dapat diambil penulis selama melakukan
penelitian berdasarkan hasil-hasil pada bab sebelumnya, dan juga berisi
7
BAB II
LANDASAN TEORI
Bab ini akan menjelaskan mengenai teori yang berhubungan dengan
penelitian dalam tugas akhir ini, yaitu mencakup citra, pengolahan citra, deteksi
tepi, operator sobel, histogram, segmentasi, profil proyeksi, dan Matlab.
A. Citra
Citra merupakan suatu gambar pada bidang dua dimensi (Munir,
2004), secara umum citra dapat dikelompokkan menjadi 2, yaitu citra
tampak seperti foto keluarga, gambar burung dan citra tak tampak seperti
data gambar dalam file yang sering disebut dengan citra digital. Dari
kelompok citra tersebut, hanya citra digital yang dapat diolah menggunakan
komputer, sehingga yang akan dibahas dalam tugas akhir ini hanya citra
digital sebagai obyek yang diteliti dalam penelitian ini.
Citra digital tersusun atas kumpulan titik atau elemen-elemen gambar
yang disebut piksel (picture element). Piksel merupakan elemen terkecil dari
sebuah citra digital, dengan jumlah total piksel adalah M x N, dimana M
merupakan width (nilai tinggi citra digital) dan N merupakan height (nilai
lebar citra digital). Setiap piksel memiliki nilai berupa angka digital yang
merepresentasikan informasi yang mewakili piksel tersebut.
Menurut Achmad dan Firdausy (Achmad dan Firdausy,2005), format
1. Citra Biner
Citra biner merupakan citra yang hanya mempunyai dua nilai derajat
keabuan yaitu hitam dan putih. Setiap piksel pada citra biner memiliki
nilai 0 untuk warna hitam atau 1 untuk warna putih dan hanya
membutuhkan representasi 1 bit. Beberapa contoh citra biner antara
lain, citra logo instansi (yang hanya terdiri atas warna hitam dan
putih), citra kode barang yang tertera pada label barang, dan citra teks
(hasil pemindaian dokumen).
Gambar 2.1 Citra biner dan representasinya dalam data digital
2. Citra Skala Keabuan
Skala keabuan memberikan kemungkinan warna yang lebih
banyak daripada citra biner. Banyaknya kemungkinan nilai dan nilai
maksimumnya bergantung pada jumlah bit yang digunakan. Misalnya
untuk skala keabuan 8 bit, maka jumlah kemungkinan nilainya adalah
28 = 256, dan nilai maksimumnya adalah 28– 1 = 255. Format citra ini
disebut skala keabuan karena pada umumnya warna yang dipakai
adalah antara hitam sebagai warna minimal dan putih sebagai warna
Gambar 2.2 Citra keabuan dan representasinya dalam data digital
3. Citra Warna
Pada citra warna, setiap titik mempunyai warna yang spesifik
yang merupakan kombinasi dari 3 warna dasar, yaitu : merah, hijau,
dan biru. Format citra seperti ini sering disebut sebagai citra RGB
(red-green-blue). Setiap warna dasar mempunyai intensitas sendiri
dengan nilai maksimum 255 (8 bit), misalnya warna kuning
merupakan kombinasi warna merah dan hijau sehingga nilai RGB-nya
adala 255 255 0. Dengan demikian setiap titik pada citra warna
membutuhkan data 3 byte.
Jumlah kombinasi warna yang mungkin untuk format citra ini
adalah 224 atau lebih dari 16 juta warna, dengan demikian bisa
dianggap mencakup semua warna yang ada.
4. Citra Warna Berindeks
Jumlah memori yang dibutuhkan untuk format citra warna
adalah 3 kali jumlah titik yang ada dalam citra yang ditinjau. Di lain
pihak, pada kebanyakan kasus, jumlah warna yang ada dalam suatu
citra terkadang sangat terbatas, karena banyaknya warna dalam sebuah
citra tidak mungkin melebihi banyaknya titik dalam citra itu sendiri.
Untuk kasus tersebut, disediakan format citra warna berindeks. Pada
format ini, informasi setiap titik merupakan indeks dari suatu tabel
yang berisi informasi warna yang tersedia, yang disebut palet warna.
Palet warna merupakan bagian dari citra warna berindeks,
sehingga pada saat menyimpan citra ini ke dalam file, informasi palet
warna juga harus disertakan.
Gambar 2.4 Citra warna berindeks dan representasinya dalam data digital
B. Pengolahan Citra
Pengolahan citra digital adalah pemrosesan citra, khususnya dengan
Pengolahan citra digital bertujuan memperbaiki kualitas citra agar mudah
diinterpretasi oleh manusia atau mesin.
Operasi-operasi yang dilakukan di dalam pengolahan citra banyak
ragamnya. Namun secara umum, operasi pengolahan citra dapat
diklasifikasikan dalam beberapa jenis (Munir, 2004) sebagai berikut :
1. Perbaikan kualitas citra
Jenis operasi ini bertujuan untuk memperbaiki kualitas citra dengan
cara memanipulasi parameter-parameter citra. Dengan operasi ini,
ciri-ciri khusus yang terdapat di dalam citra lebih ditonjolkan.
2. Pemugaran citra
Operasi ini bertujuan menghilangkan / meminimumkan cacat pada
citra. Tujuan pemugaran citra hampir sama dengan operasi perbaikan
citra. Bedanya, pada pemugaran citra penyebab degradasi gambar
diketahui.
3. Pemampatan citra
Jenis operasi ini dilakukan agar citra dapat direpresentasikan dalam
bentuk yang lebih kompak sehingga memerlukan memori yang lebih
sedikit. Hal penting yang harus diperhatikan dalam pemampatan
adalah citra yang telah dimampatkan harus tetap mempunyai kualitas
gambar yang bagus.
4. Segmentasi citra
Jenis operasi ini bertujuan untuk memecah citra ke dalam beberapa
5. Analisis citra
Jenis operasi ini bertujuan menghitung besar kuantitatif dari citra
untuk menghasilkan deskripsinya. Teknik analisis citra mengekstraksi
ciri-ciri tertentu yang membantu dalam mengidentifikasi obyek.
Proses segmentasi kadangkala diperlukan untuk melokalisasi obyek
yang diinginkan dari sekelilingnya.
6. Rekonstruksi citra
Jenis operasi ini bertujuan untuk membentuk ulang obyek dari
beberapa citra hasil proyeksi. Operasi rekonstruksi citra banyak
digunakan dalam bidang medis.
Pengolahan citra pada dasarnya dilakukan dengan cara memodifikasi
setiap titik dalam citra tersebut sesuai keperluan. Menurut Achmad dan
Firdausy (Achmad dan Firdausy, 2005), secara garis besar modifikasi
tersebut dikelompokkan menjadi :
1. Operasi titik, dimana setiap titik diolah secara tidak berhubungan
terhadap titik-titik yang lain.
2. Operasi global, dimana karakteristik global (biasanya bersifat statistik)
dari citra yang digunakan untuk memodifikasi nilai setiap titik.
3. Operasi temporal/ berbasis bingkai, dimana sebuah citra diolah
dengan cara dikombinasikan dengan citra lain.
4. Operasi geometri, dimana bentuk, ukuran, atau orientasi citra
dimodifikasi secara geometris.
5. Operasi banyak titik tetangga, dimana data dari titik-titik yang
mengubah nilai.
6. Operasi morfologi, yaitu operasi yang berdasarkan segmen atau
bagian dalam citra yang menjadi perhatian.
C. Deteksi Tepi 1. Tepi (Edge)
Yang dimaksud dengan tepi atau edge dalam hal ini adalah perubahan nilai derajat keabuan pada citra yang besar dalam jarak yang singkat. Perbedaan intensitas inilah yang menandakan adanya perbedaan objek, sehingga selanjutnya dapat diketahui objek-objek yang berbeda pada citra yang dianalisis. Tepi pada umumnya berada pada batas antara dua objek yang berbeda. Tepi dapat diorientasikan dengan suatu arah, dan arah ini dapat berbeda-beda tergantung pada perubahan intensitasnya.
Menurut Munir (Munir,2004) ada tiga macam tepi yang terdapat di
dalam citra yaitu :
a. Tepi curam, dimana tepi memiliki perubahan intensitas yang
sangat tajam dengan arah tepi 90o. Dapat dilihat pada gambar 2.5.
b. Tepi landai yaitu tepi dengan sudut arah yang kecil. Tepi landai
dapat dianggap terdiri dari sejumlah tepi-tepi lokal yang lokasinya
berdekatan, seperti yang terlihat pada gambar 2.6.
Gambar 2.6 Tepi Landai
c. Tepi curam dengan derau seperti pada gambar 2.7. Umumnya tepi
yang terdapat pada aplikasi visi computer mengandung derau.
Operasi peningkatan kualitas citra dapat dilakukan terlebih dahulu
sebelum pendeteksian tepi.
2. Deteksi Tepi
Deteksi tepi ( Edge Detection ) pada suatu citra adalah suatu proses
yang menghasilkan tepi-tepi citra pada obyek citra (Sigit, 2005). Deteksi
tepi merupakan langkah pertama untuk melingkupi informasi di dalam citra.
Tepi mencirikan batas-batas obyek dan karena itu tepi berguna untuk proses
segmentasi dan identifikasi obyek di dalam citra. Tujuan operasi deteksi tepi
adalah untuk meningkatkan penampakan garis batas suatu daerah atau
obyek di dalam citra (Munir, 2004).
Terdapat beberapa teknik yang digunakan untuk mendeteksi tepi,
antara lain (Munir, 2004) :
a. Operator gradien pertama, contoh beberapa gradien pertama yang
dapat digunakan untuk mendeteksi tepi di dalam citra, yaitu operator
gradien selisih-terpusat, operator Sobel, operator Prewitt, operator
Roberts, operator Canny.
b. Operator turunan kedua, disebut juga operator Laplace. Operator
Laplace mendeteksi lokasi tepi khususnya pada citra tepi yang curam.
Pada tepi yang curam, turunan keduanya mempunyai persilangan nol,
yaitu titik di mana terdapat pergantian tanda nilai turunan kedua,
sedangkan pada tepi yang landai tidak terdapat persilangan nol.
Contohnya adalah operator Laplacian Gaussian, operator Gaussian.
c. Operator kompas, digunakan untuk mendeteksi semua tepi dari
berbagai arah di dalam citra. Operator kompas yang dipakai untuk
deteksi tepi menampilkan tepi dari 8 macam arah mata angin yaitu
Barat Laut. Deteksi tepi dilakukan dengan mengkonvolusikan citra
dengan berbagai mask kompas, lalu dicari nilai kekuatan tepi
(magnitude) yang terbesar dan arahnya. Operator kompas yang
dipakai untuk deteksi tepi menampilkan tepi dari 8 macam arah mata
angin, yaitu Utara, Timur Laut, Timur, Tenggara, Selatan, Barat, Barat
Daya, dan Barat Laut.
Gambar 2.8 Proses deteksi tepi citra
Gambar 2.8 menggambarkan proses deteksi tepi citra. Citra awal
merupakan citra biner, sehingga dapat terlihat dengan jelas perbedaan
antara obyek dengan latar belakang. Dari citra awal kemudian
dilakukan differensial arah vertikal sehingga didapatkan edge yang
sejajar dengan sumbu x, dilakukan juga differensial arah horisontal
sehingga didapatkan edge yang sejajar dengan sumbu y. Setelah
didapatkan edge horisontal dan vertikal, kemudian keduanya
digabungkan, sehingga akan menghasilkan deteksi tepi citra yang
D. Operator Sobel
Sobel edge detection adalah salah satu metode dalam image
processing yang berguna untuk mendeteksi tepi (edge) suatu obyek dalam
gambar digital (Gonzales & Woods, 2000).
Satu cara untuk menghindari gradien yang dihitung pada titik
interpolasi dari piksel-piksel yang terlibat dengan cara menghaluskan citra
digital. Proses penghalusan yang digunakan merupakan proses konvolusi
dari jendela yang ditetapkan terhadap citra yang terdeteksi dengan
menggunakan jendela 3 x 3 untuk perhitungan gradien, sehingga perkiraan
gradien berada tepat di tengah jendela.
Agar perkiraan gradien tepat di tengah jendela, dalam konvolusi Sobel
menggunakan susunan piksel-piksel disekitar piksel (x,y) seperti pada
gambar 2.9.
Gambar 2.9 Susunan Pixel Pada Konvolusi Sobel
Sehingga besar gradien dihitung dengan menggunakan persamaan :
Sx = (a2 + ca3 + a4) - (a0 + ca7 + a6) ……… (2.1)
Sy = (a0 + ca1 + a2) - (a6 + ca5 + a4) ……… (2.2)
dengan Sx = gradien piksel x, Sy = gradien piksel y, dan c = konstanta yang
bernilai 2. Dari persamaan di atas, diperoleh dua buah matriks operator
Gambar 2.10 Matriks Operator Sobel untuk Persamaan Sx
Gambar 2.11 Matriks Operator Sobel untuk Persamaan Sy
Dari matriks di atas terlihat bahwa Sobel memberikan pembobotan
pada piksel-piksel yang lebih dekat dengan titik pusat. Matriks ini dapat
digunakan secara terpisah pada gambar masukan, untuk menghasilkan
pengukuran yang terpisah dari komponen gradien pada setiap orientasi
untuk mencari skala absolut dari gradien pada setiap titik dan orientasi
gradien tersebut. Pada umumnya digunakan pendekatan nilai gradien
tersebut dengan nilai absolut :
…………(2.3)
Contoh berikut ini memperlihatkan proses konvolusi dalam deteksi
tepi dengan operator Sobel. Terdapat gambar botol yang merupakan citra
biner seperti pada gambar 2.12 di bawah ini yang digunakan sebagai contoh
Gambar2.12 Citra semula
Dari citra di atas, diambil sample gambar diujung bawah yang
ditandai dengan kotak berwarna merah. Dari sample gambar tersebut,
kemudian didapatkan matriks gambar seperti yang terlihat pada tabel 2.1.
Tabel 2.1 Matriks dari citra sample
Setelah didapatkan matriks dari sample, kemudian akan dilakukan
proses konvolusi. Dan dari matriks sample tersebut diambil contoh 3 titik
pusat untuk dilakukan proses konvolusi dengan operator sobel.
Untuk konvolusi contoh pertama, dengan titik pusat yang ditandai
dengan warna merah :
Dengan dan
1. Lakukan konvolusi dengan mask Sx, yaitu :
Gx = (0)(-1) + (1)(-2) + (1)(-1) + (0)(0) + (1)(0) + (1)(0) + (0)(1) +
(1)(2) + (1)(1) = 0
2. Lakukan konvolusi dengan mask Sy, yaitu :
Gy = (0)(1) + (0)(2) + (0)(1) + (1)(0) + (1)(0) + (1)(0) + (1)(-1) +
(1)(-2) + (1)(-1) = - 4
3. Maka diperoleh M = |0| + |-4| = 4.
Untuk konvolusi contoh kedua, dengan titik pusat yang ditandai
Dengan dan
1. Lakukan konvolusi dengan mask Sx, yaitu :
Gx = (0)(-1) + (1)(-2) + (1)(-1) + (0)(0) + (1)(0) + (1)(0) + (1)(1) +
(1)(2) + (1)(1) = 0
2. Lakukan konvolusi dengan mask Sy, yaitu :
Gy = (0)(1) + (0)(2) + (1)(1) + (1)(0) + (1)(0) + (1)(0) + (1)(-1) +
(1)(-2) + (1)(-1) = - 3
3. Maka diperoleh M = |1| + |-3| = 4.
Untuk konvolusi contoh ketiga, dengan titik pusat yang ditandai
dengan warna hijau :
Dengan dan
1. Lakukan konvolusi dengan mask Sx, yaitu :
Gx = (0)(-1) + (0)(-2) + (1)(-1) + (0)(0) + (1)(0) + (1)(0) + (0)(1) +
(1)(2) + (1)(1) = 2
2. Lakukan konvolusi dengan mask Sy, yaitu :
Gy = (0)(1) + (0)(2) + (0)(1) + (0)(0) + (1)(0) + (1)(0) + (1)(-1) +
3. Maka diperoleh M = |2| + |-4| = 6.
Setelah dilakukan proses konvolusi terhadap masing-masing titik
pusat, maka secara keseluruhan matriks hasil konvolusi dari citra sample
dapat dilihat pada tabel 2.2. Pada tabel tersebut yang ditandai dengan warna
merah merupakan hasil konvolusi dari contoh pertama, kemudian yang
ditandai dengan warna biru adalah hasil konvolusi dari contoh kedua,
sedangkan yang ditandai dengan warna hijau adalah hasil konvolusi dari
contoh ketiga.
Tabel 2.2 Matriks hasil konvolusi dari citra sample
Untuk hasil konvolusi dari citra semula dapat dilihat pada gambar
2.13. Dimana yang ditandai dengan kotak merah tersebut merupakan citra
sample yang sudah dilakukan proses konvolusi.
Gambar 2.13 Citra hasil konvolusi
E. Segmentasi 1. Segmentasi
Segmentasi adalah proses pemecahan citra ke dalam obyek-obyek
yang terkandung di dalamnya (Katsuri et al., 2002). Dalam analisis citra
dokumen, segmentasi dilaksanakan dalam dua tahap, yaitu :
1. Memisahkan teks dan grafis kalau dalam dokumen tersebut
terdapat teks maupun grafis.
2. Melakukan proses pemisahan selanjutnya dari hasil tahap
pertama.
Pada komponen teks, tahap kedua segmentasi melakukan pemisahan
kolom, paragraf, kata dan karakter, sedangkan komponen grafis, segmentasi
Proses segmentasi pada citra dokumen dapat dilakukan dengan
mempergunakan histogram citra serta profil proyeksi dari citra tersebut.
2. Histogram
Histogram citra adalah grafik yang menggambarkan penyebaran
nilai-nilai intensitas warna suatu piksel pada citra atau bagian tertentu di dalam
citra (Gonzales & Woods, 1992). Dari histogram dapat diketahui frekuensi
kemunculan intensitas warna pada suatu citra.
Misalkan diketahui sebuah citra digital memiliki L derajat keabuan,
yaitu dari nilai 0 sampai L-1 (misalnya pada suatu citra dengan kuantisasi
derajat keabuan 8-bit, nilai derajat keabuan dari 0 sampai 255). Secara
matematis frekuensi kemunculan intensitas derajat keabuan i, yaitu hi
dihitung dengan rumus :
hi = 𝑛𝑖𝑛 , 𝑖= 0, 1,…,𝐿 −1 ... (2.4)
di mana ni menyatakan banyaknya piksel yang memiliki derajat keabuan i,
dan n menyatakan banyaknya piksel di dalam citra.
F. Profil Proyeksi
Zramdini dan Ingold (Zramdini dan Ingold, 1993) merumuskan,
apabila terdapat sebuah citra teks biner S(N,M), di mana N menyatakan
banyaknya baris citra dan M adalah banyaknya kolom citra seperti
ditunjukkan pada gambar 2.14 maka dapat ditentukan profil vertikal dan
piksel hitam yang tegak lurus sumbu y, sedangkan profil horisontal adalah
banyaknya piksel hitam yang tegak lurus dengan sumbu x.
Profil vertikal direpresentasikan dengan suatu vektor (Pv) berukuran
kecil N. Profil vertikal pada baris ke-i, yaitu (Pv[i]), didefinisikan sebagai
Sedangkan profil horisontal direpresentasikan dengan suatu vektor
(Ph) berukuran M. Profil horisontal pada kolom ke-j, yaitu (Ph[j]),
G. Matlab
Menurut Muhammad Iqbal (Iqbal, 2009), MATLAB (matrix
laboratory)adalah sebuah bahasa dengan (high-performance) kinerja tinggi
untuk komputasi masalah teknik. Matlab mengintegrasikan komputasi,
visualisasi, dan pemrograman dalam suatu model yang sangat mudah untuk
dipakai, dimana masalah-masalah dan penyelesaiannya diekspresikan dalam
notasi matematika yang familiar.
Dalam lingkungan perguruan tinggi teknik, Matlab merupakan
perangkat standar untuk memperkenalkan dan mengembangkan penyajian
materi matematika, rekayasa dan kelimuan. Di industri, MATLAB
merupakan perangkat pilihan untuk penelitian dengan produktifitas yang
tingi, pengembangan dan analisanya.
Fitur-fitur MATLAB sudah banyak dikembangkan, dan lebih kita
kenal dengan nama toolbox. Sangat penting bagi seorang pengguna Matlab,
toolbox mana yang mendukung untuk learn dan apply technology yang
sedang dipelajarinya. Toolbox-toolbox ini merupakan kumpulan dari
fungsi-fungsi MATLAB (Mfiles) yang telah dikembangkan ke suatu lingkungan
kerja MATLAB untuk memecahkan masalah dalam kelas particular.
Area-area yang sudah bisa dipecahkan dengan toolbox saat ini meliputi
pengolahan sinyal, system kontrol, neural networks, fuzzy logic, wavelets,
dan lain-lain.
Dengan MATLAB proses pendeteksian tepi dilakukan dengan
perintah / fungsi edge. Ada beberapa metode yang dapat dilakukan pada
laplacian of gaussian, metode zero cross, dan Canny. Yang penting
diperhatikan pada deteksi tepi bahwa hanya dapat dilakukan menggunakan
citra grayscale atau citra 2-D.
Contoh penggunaan metode deteksi tepi :
I = imread('emo.jpg');
gray=rgb2gray(I);
BW1 = edge(gray,'prewitt');
BW2 = edge(gray,'canny');
BW3 = edge(gray,'sobel');
BW4 = edge(gray,'roberts');
imshow(BW1);
imshow(BW2);
imshow(BW3);
imshow(BW4);
Gambar 2.16 Hasil deteksi tepi Gambar 2.17 Hasil deteksi tepi
Prewit Canny
Gambar 2.18 Hasil deteksi tepi Gambar 2.19 Hasil deteksi tepi
Sobel Roberts
Gambar 2.15 merupakan gambar asli masukan yang akan dikenai
proses deteksi tepi. Gambar 2.16 merupakan hasil deteksi tepi dengan
menggunakan operator prewitt, gambar 2.17 merupakan hasil deteksi tepi
dengan menggunakan operator canny, gambar 2.18 merupakan hasil deteksi
tepi dengan menggunakan operator sobel, gambar 2.19 merupakan hasil
29
BAB III
ANALISA DAN PERANCANGAN SISTEM
Dalam bab ini membahas analisa dan perancangan sistem secara umum,
rancangan data masukan, rancangan proses, dan rancangan pengujian.
A. Analisa Sistem
Dalam tugas akhir ini, program dalam tahap perancangan sistem
dinyatakan dengan menggunakan bahasa pemrograman MATLAB. Karena di
dalam MATLAB sudah terdapat toolbox yang merupakan kumpulan dari
fungsi-fungsi MATLAB yang telah dikembangkan ke suatu lingkungan kerja
MATLAB untuk memecahkan masalah dalam kelas particular (Iqbal, 2009).
Data masukan dalam tugas akhir ini berupa citra dokumen teks
beraksara Jawa modern yang merupakan citra dengan derajat keabuan yang
merupakan koleksi penelitian Widiarti (Widiarti dkk, 2010). Sebelum
menjadi input dalam proses deteksi tepi, ada beberapa proses yang harus
dilakukan terlebih dahulu terhadap citra dokumen tersebut. Proses-proses
tersebut adalah :
1. Normalisasi orientasi, berfungsi untuk mengurangi kesalahan
orientasi, misalnya citra miring saat pembacaan data citra dokumen
2. Binerisasi, berfungsi untuk membagi citra menjadi 2 kelompok yaitu
kelompok obyek yang dinyatakan dengan nilai 1 dan kelompok latar
yang dinyatakan dengan nilai 0.
3. Filling, berfungsi untuk menghapus sebanyak mungkin noise yang
muncul pada citra dokumen.
Proses normalisasi orientasi, binerisasi dan filling akan dilakukan
secara manual dan tidak akan dibahas lebih lanjut dalam tugas akhir ini.
Proses utama yang dilakukan dalam penelitian ini adalah proses
deteksi tepi dengan menggunakan operator sobel yang akan menghasilkan
citra dokumen beraksara Jawa yang sudah dideteksi tepi. Hasil tersebut
kemudian akan digunakan dalam proses segmentasi, dan keluarannya akan
menghasilkan citra-citra karakter penyusun citra dokumen yang menjadi
masukan seperti pada gambar 3.1. Hasil citra karakter yang melalui proses
deteksi tepi tersebut akan dianalisa dengan hasil citra karakter tanpa melalui
proses deteksi tepi. Hasil analisa tersebut akan digunakan untuk mengukur
tingkat keberhasilan proses deteksi tepi menggunakan operator sobel yang
diterapkan pada citra dokumen beraksara Jawa.
B. Analisa Kebutuhan Hardware - Software
Analisa kebutuhan hardware merupakan analisa kebutuhan akan
perangkat keras komputer yang diperlukan selama mengembangkan sistem,
sedangkan analisa kebutuhan software untuk mendukung pengoperasian dan
pembuatan sistem. Kebutuhan-kebutuhan akan hardware dan sofrware
dijelaskan sebagai berikut :
1. Analisa Kebutuhan Hardware
Satu unit komputer dengan sistem operasi Windows XP, dengan
spesifikasi sebagai berikut :
a. Processor : Intel Core 2 Duo
b. Memory : RAM 2 GB
c. VGA : Mobile Intel X3100
2. Analisa Kebutuhan Software
a. Matlab menggunakan Matlab versi 7.8.0.347 (R2009a).
C. Rancangan Proses Sistem
Berdasarkan dari gambaran sistem secara umum di atas, maka akan
dilakukan tahap perancangan proses sistem dalam bentuk diagram konteks
1. Data Flow Diagram Level 0
Secara umum sistem yang akan dibangun adalah sistem yang
menitikberatkan pada operasi sobel terhadap citra masukan berupa
citra dokumen beraksara Jawa yang akan dikenai proses deteksi tepi.
User
Masukan dari proses deteksi tepi yang terlihat pada gambar 3.2
berupa citra dokumen yang diberikan kepada pengguna kepada sistem
akan diproses dengan sistem deteksi tepi dan pengujiannya. Dan
sebagai hasil keluarannya akan diperoleh citra-citra karakter.
2. Data Flow Diagram Level 1
User 1
kemudian akan diproses dengan deteksi tepi dan keluarannya akan
diproses dengan sistem segmentasi, dan hasil keluaran akhir akan
diperoleh citra karakter penyusun citra dokumen yang menjadi
masukan.
3. Flowchart Proses Deteksi Tepi
Proses deteksi tepi pada citra dokumen dengan menggunakan
operator sobel seperti terlihat dalam gambar 3.4, secara keseluruhan
sebagai berikut :
Input : citra dokumen
Output : citra hasil deteksi tepi.
Algoritma :
a. Set N = tinggi citra, M = lebar citra
b. Inisialisasikan mask Sx dan Sy.
c. Set tinggi = 2
d. Jika tinggi kurang dari tinggi matriks – 1, maka set lebar = 2, dan
lakukan langkah (e).
Jika tidak, lakukan penjumlahan absolut hasil konvolusi citra
dengan mask sobel, dan kemudian lakukan thinning dengan
metode morfologi. Selesai, dan menampilkan citra hasil deteksi
tepi.
e. Jika lebar kurang dari lebar matriks – 1, maka lakukan konvolusi
citra terhadap masing-masing mask sobel, dan set lebar + 1.
Mulai
(Sy(1,2) * citra(tinggi-1,lebar)) + (Sy(1,3) * citra(tinggi-1,lebar+1)) +
(Sy(2,1) * citra(tinggi,lebar-1)) + (Sy(2,2) * citra(tinggi,lebar)) + (Sy(2,3) * citra(tinggi,lebar+1)) + (Sy(3,1) * citra(tinggi+1,lebar-1)) + (Sy(3,2) * citra(tinggi+1,lebar)) + (Sy(3,3) * citra(tinggi+1,lebar+1)) ;
Dalam deteksi tepi dengan operator sobel dilakukan proses
thinning. Proses thinning dilakukan karena deteksi tepi seringkali
mengakibatkan garis pada gambar output menjadi lebar beberapa
piksel karena efek smoothing dari operator sobel. Maka proses
thinning diperlukan untuk membantu memperkecil piksel tersebut
(Fisher,2003).
4. Diagram Alir Proses Segmentasi
Proses proyeksi vertikal akan menghitung nilai dari profil
vertikal citra masukan dengan rumus 2.5. Nilai profil vertikal
kemudian dipergunakan dalam proses cari indeks baris untuk
menemukan indeks-indeks baris yang akan menjadi acuan untuk
memotong citra masukan menjadi baris-baris karakter citra pada
proses potong baris. Dari proses potong baris akan diperoleh
baris-baris citra karakter yang akan disimpan dalam suatu file dan akan
dikirim ke setiap kolom pada citra masukan dengan mempergunakan
rumus 2.6. Nilai profil horisontal kemudian dipergunakan dalam
proses cari indeks kolom untuk menemukan indeks-indeks kolom
setiap baris data yang akan menjadi acuan untuk memotong citra
masukan menjadi citra karakter yang pada proses potong karakter.
Hasil akhir dari keseluruhan proses segmentasi adalah citra karakter
2.1
Gambar 3.5 Diagram Alir Proses Segmentasi (Widiarti, 2007)
D. Rancangan Pengujian
Pada penelitian ini akan dilakukan pengujian tingkat keberhasilan
deteksi tepi menggunakan operator sobel yang diterapkan pada citra
beraksara Jawa.
Dalam pengujian ini, citra hasil keluaran akan dianalisis menggunakan
1. Pengamatan visual / kasat mata terhadap citra-citra karakter aksara
Jawa yang dihasilkan dari proses segmentasi melalui deteksi tepi
dengan membandingkan citra-citra karakter aksara Jawa yang
dihasilkan dari proses segmentasi tanpa melalui deteksi tepi.
2. Akan dilakukan pengamatan secara visual atau kasat mata dari hasil
segmentasi menggunakan profil proyeksi dengan adanya deteksi tepi
dengan menggunakan 2 buah operator yang berbeda, yakni operator
sobel, dan operator canny dan juga operator sobel yang tersedia dalam
toolbox MATLAB. Operator canny dipilih sebagai pembanding
karena berdasarkan hasil uji coba, metode deteksi tepi dengan operator
38
BAB IV IMPLEMENTASI
Pada bab ini berisi mengenai implementasi deteksi tepi menggunakan
operator sobel pada citra aksara jawa yang kemudian digunakan untuk membantu
proses segmentasi. Implementasi proses-proses dalam diagram aliran data dalam
tahap perancangan sistem dinyatakan dengan menggunakan bahasa pemrograman
MATLAB versi 7.8.0.347 (R2009a).
A. Implementasi Program
Implementasi program dalam tugas akhir ini, direpresentasikan dalam
bahasa pemrograman MATLAB.
1. Implementasi Deteksi Tepi Operator Sobel
Berikut ini, deteksi tepi dengan operator sobel yang dituliskan
dalam bahasa pemrograman MATLAB :
function citrahasil = deteksiTepi(citra)
tinggi = 2;
(Sx(2,1) * citra_bw(tinggi,lebar-1)) + (Sx(3,1) * citra_bw(tinggi+1,lebar-1)) + (Sx(1,2) * citra_bw(tinggi-1,lebar)) + (Sx(2,2) * citra_bw(tinggi, lebar)) + (Sx(3,2) * citra_bw(tinggi+1,lebar)) + (Sx(1,3) * citra_bw(tinggi-1,lebar+1)) + (Sx(2,3) * citra_bw(tinggi, lebar+1)) + (Sx(3,3) * citra_bw(tinggi+1,lebar+1)) ;
konvolusiY(tinggi, lebar) =
(Sy(1,1) * citra_bw(tinggi-1,lebar-1)) +
(Sy(1,2) * citra_bw(tinggi-1,lebar)) + (Sy(1,3) * citra_bw(tinggi-1,lebar+1)) + (Sy(2,1) * citra_bw(tinggi,lebar-1)) + (Sy(2,2) * citra_bw(tinggi,lebar)) + (Sy(2,3) * citra_bw(tinggi,lebar+1)) + (Sy(3,1) * citra_bw(tinggi+1,lebar-1)) + (Sy(3,2) * citra_bw(tinggi+1,lebar)) + (Sy(3,3) * citra_bw(tinggi+1,lebar+1)) ;
citrakonvolusi = abs(konvolusiX) + abs(konvolusiY);
citrahasil = bwmorph(citrakonvolusi,'thin',Inf);
Sintak di atas merupakan sintak untuk deteksi tepi dengan
operator sobel. Mula-mula dilakukan proses baca citra yang akan
digunakan untuk mengubah citra masukan menjadi citra biner.
Kemudian mencari ukuran matriks citra [N,M], N untuk tinggi, dan M
untuk lebar.
Selanjutnya mendeklarasikan kernel Sobel. Sx untuk konvolusi
arah horisontal, dan Sy untuk konvolusi arah vertikal, serta membuat
matriks zero untuk menampung masing-masing nilai konvolusi
dengan dimensi yang sesuai dengan lebar dan tinggi citra.
Setelah itu lakukan konvolusi citra terhadap masing-masing
mask sobel. Untuk letak masing-masing piksel pada citra tersebut,
dengan menggunakan jendela 3x3 yang terdiri dari 8 titik tetangga,
yang dimulai dengan tinggi = 2 dan lebar = 2. Variabel konvolusiX
digunakan untuk menampung hasil konvolusi dengan Sx, sedangkan
variabel konvolusiY digunakan untuk menampung hasil konvolusi
dengan Sy.
Setelah dilakukan konvolusi terhadap masing-masing mask
sobel, lakukan penjumlahan absolut keduanya.Variabel citrakonvolusi
menyimpan hasil penjumlahan absolut antara konvolusiX dan
konvolusiY.
Kemudian dilakukan proses thinning. Variabel citrahasil
merupakan hasil akhir citra yang sudah mengalami proses deteksi tepi
dengan thinning. Proses thinning tersebut dengan menggunakan fungsi
2. Implementasi Segmentasi
Dalam melakukan implemantasi segmentasi, penulis
42
BAB V
ANALISA HASIL DAN PEMBAHASAN
Dalam bab ini berisi mengenai analisa hasil implementasi deteksi tepi
menggunakan operator sobel pada citra aksara jawa yang digunakan untuk
membantu proses segmentasi serta pembahasannya.
A. Data Masukan
Data masukan untuk pengujian adalah citra dokumen aksara jawa
yang relatif bebas noise dan tidak miring. Terdapat 5 citra dokumen yang
akan dijadikan input untuk penelitian ini. Data yang dipergunakan dalam
tugas akhir ini adalah data dari dokumen buku sastra Jawa modern Menak
Sorangan I (Yasadipura,1963) halaman 3 sampai halaman 7. Karakteristik
data citra dokumen masukan dapat dilihat pada tabel berikut :
Tabel 5.1 Kriteria citra dokumen masukan
No. Nama File Dokumen Ukuran panjang dan
lebar citra (piksel) Besar File
1 Data1.jpg 1582 x 2208 1.04 MB
2 Data2.jpg 1520 x 2312 857KB
3 Data3.jpg 1529 x 2340 987 KB
4 Data4.jpg 1531 x 2390 0.98 MB
Gambar 5.1 Citra dokumen masukan data 1 (Widiarti, 2007)
Gambar 5.1 merupakan citra masukan yang berupa citra dokumen
miring. Citra masukan tersebut selanjutnya akan dikenai proses deteksi tepi
dengan operator sobel.
B. Analisis Hasil
Dari citra masukan yang kemudian dikenai proses deteksi tepi. Proses
pertama dalam deteksi tepi yaitu melakukan konvolusi citra masukan
dengan gradient Sx dan Sy. Konvolusi dengan gradient Sx bertujuan untuk
mendapatkan tepi-tepi yang searah dengan sumbu x, seperti terlihat pada
gambar 5.2. Sedangkan konvolusi dengan gradient Sy bertujuan untuk
mendapatkan tepi-tepi yang searah dengan sumbu y, seperti terlihat pada
gambar 5.3.
Dari citra masukan dengan latar belakang yang bernilai 1 (putih),
setelah dilakukan proses konvolusi maka akan berubah menjadi bernilai 0
(hitam) untuk latar belakang. Untuk memudahkan dalam melakukan
analisis, maka citra hasil keluaran tersebut, dilakukan proses invert sehingga
Setelah dilakukan konvolusi terhadap masing-masing gradien pada
citra masukan, kemudian dilakukan penjumlahan absolut dan proses
thinning sehingga didapatkan hasil akhir dari proses deteksi tepi. Gambar
5.4 merupakan citra dokumen data 1 yang sudah melalui tahapan-tahapan
dalam proses deteksi tepi.
Dari citra dokumen masukan yang kemudian dikenai proses deteksi
tepi dan kemudian dilakukan proses segmentasi, maka diperoleh hasil
output berupa citra karakter penyusun citra dokumen. Analisis output ini
berfungsi untuk membandingkan banyaknya citra karakter hasil proses
segmentasi yang dikenai deteksi tepi, dengan proses segmentasi yang tidak
dikenai deteksi tepi.
Sebagai contoh untuk citra dokumen data1, setelah dilakukan proses
deteksi tepi, kemudian selanjutnya dilakukan dengan proses segmentasi,
yang akan menghasilkan citra-citra karakter. Gambar 5.5 merupakan baris
pertama dalam data 1 setelah dilakukan proses poong baris dalam proses
segmentasi.
Gambar 5.5 Potongan baris 1 dari citra data 1
Kemudian setelah semua proses segmentasi dilakukan, maka hasil
keluarannya berupa citra-citra karakter seperti yang terlihat pada gambar
citra karakter yang benar dan utuh, sehingga dalam analisis output
selenjutnya citra-citra karakter seperti ini yang akan dihitung kebenarannya.
Gambar 5.6 Citra-citra karakter baris 1 data1
Untuk citra dokumen data 1 diperoleh tabel data analisis output
segmentasi citra dokumen sebagai berikut :
Tabel 5.2 Analisis output segmentasi citra dokumen data 1 melalui deteksi tepi
Baris
Banyak
Karakter Benar Keterangan
Citra Hasil tersebut terpotong menjadi 12 kolom 8 25
Baris
Banyak
Karakter Benar Keterangan
Citra Hasil
10 23 25 21 Ada 2 karakter terpotong menjadi 2 kolom 11 21 22 14 Ada 8 karakter tergabung dengan baris 12
12 24 27 15
Ada 7 karakter tergabung dengan baris 11 Ada 1 karakter terpotong menjadi 2 kolom Ada 1 karakter terpotong menjadi 3 kolom 13 23 24 22 Ada 1 karakter terpotong menjadi 2 kolom
14 23 29 18 Ada 2 karakter tergabung dengan baris 13 Ada 4 karakter terpotong menjadi 2 kolom
15 26 26 26 -
16 24 25 23 Ada 1 karakter terpotong menjadi 2 kolom
17 24 25 20 Ada 2 karakter terpotong menjadi 2 kolom Ada 2 karakter tergabung menjadi 1 kolom
18 26 26 26 -
19 1 1 1 -
20 36 37 32 Ada 2 karakter terpotong menjadi 2 kolom Ada 2 karakter tergabung menjadi 1 kolom
21 26 26 26 -
Total 476 463 388
Tabel 5.3 Analisis output segmentasi citra dokumen data 1 tanpa deteksi tepi
Baris
Banyak
Karakter Benar Keterangan
Citra Hasil
1 17 18 16 Ada 1 karakter terpotong menjadi 2 baris 2 11 14 8 Ada 3 karakter terpotong menjadi 3 baris
3 22 28 17 Ada 4 karakter terpotong menjadi 2 kolom Ada 1 karakter terpotong menjadi 3 kolom
4 25 31 20 Ada 3 karakter terpotong menjadi 2 kolom Ada 1 karakter terpootng menjadi 3 kolom
6 24 31 19 Ada 4 karakter terpotong menjadi 2 kolom Ada 1 karakter terpotong menjadi 4 kolom
7 23 26 12
Ada 2 karakter terpotong menjadi 2 kolom Ada 1 karakter terpotong menjadi 3 kolom Ada 7 karakter tergabung dengan baris 8
8 25 31 15
Ada 3 karakter terpootng menjadi 2 kolom Ada 2 karakter terpotong menjadi 3 kolom Ada 5 karakter tergabung dengan baris 7 9 26 29 23 Ada 3 karakter terpotong menjadi 2 kolom
10 23 28 19 Ada 3 karakter terpotong menjadi 2 kolom Ada 1 karakter terpotong menjadi 3 kolom
11 21 23 14 Ada 1 karakter terpotong menjadi 2 kolom Ada 7 karakter tergabung dengan baris 12
12 24 33 13
Ada 1 karakter terpotong menjadi 2 kolom Ada 4 karakter terpotong menjadi 3 kolom Ada 6 karakter tergabung dengan baris 11 13 23 25 21 Ada 2 karakter terpotong menjadi 2 kolom
14 23 37 15
Ada 4 karakter terpotong menjadi 2 kolom Ada 2 karakter terpotong menjadi 3 kolom Ada 1 karakter terpotong menjadi 4 kolom Ada 1 karakter terpotong menjadi 2 baris
15 26 26 26 -
16 24 26 23 Ada 1 karakter terpotong menjadi 3 kolom 17 24 26 23 Ada 1 karakter terpotong menjadi 3 kolom
18 26 29 24 Ada 1 karakter terpotong menjadi 2 kolom Ada 1 karakter terpotong menjadi 3 kolom
19 1 1 1 -
20 36 40 32 Ada 4 karakter terpotong menjadi 2 kolom
21 26 26 26 -
Total 476 554 393
Dari hasil analisis output dari citra dokumen data 1 pada tabel 5.2,
diperoleh 476 karakter dalam citra dokumen. Melalui proses deteksi tepi
yang kemudian disegmentasi diperoleh 463 karakter secara keseluruhan dan
388 karakter yang tersegmentasi dengan benar dan utuh. Sehingga dari hasil
dokumen melalui proses deteksi tepi yaitu sebesar 81,51% yang diperoleh
dari (388/476) x 100%.
Dari hasil analisis output dari citra dokumen data 1 pada tabel 5.3,
diperoleh 476 karakter dalam citra dokumen. Tanpa melalui proses deteksi
tepi yang kemudian disegmentasi diperoleh 554 karakter secara keseluruhan
dan 393 karakter yang tersegmentasi dengan benar dan utuh. Sehingga dari
hasil tersebut dapat dihitung prosentase derajat keberhasilan segmentasi
citra dokumen yaitu sebesar 82,56% yang diperoleh dari (393/476) x 100%.
Berdasarkan hasil analisis dari data 1, maka dapat dilihat bahwa hasil
prosentase segmentasi tanpa deteksi tepi lebih baik dibandingkan dengan
segmentasi tanpa deteksi tepi. Dikarenakan beberapa baris citra dalam
segmentasi dengan deteksi tepi tidak terpotong dengan baik.
Untuk citra dokumen data 2 diperoleh tabel data analisis output
segmentasi citra dokumen sebagai berikut :
Tabel 5.4 Analisis output segmentasi citra dokumen data 2 melalui deteksi tepi
Baris
Banyak
Karakter Benar Keterangan
Citra Hasil
Baris
Banyak
Karakter Benar Keterangan
Citra Hasil
6 26 28 25 Ada 1 karakter terpotong menjadi 3 kolom
7 25 34 15
Ada 4 karakter terpotong menjadi 2 kolom Ada 1 karakter terpotong menjadi 3 kolom Ada 1 karakter terpotong menjadi 4 kolom Ada 5 karakter terpotong menjadi 2 baris 8 26 27 25 Ada 1 karakter terpotong menjadi 2 kolom
9 24 42 10
Ada 5 karakter terpotong menjadi 2 kolom Ada 1 karakter terpotong menjadi 3 kolom Ada 1 karakter terpotong menjadi 5 kolom Ada 2 karakter tergabung menjadi 1 kolom Ada 8 karakter terpotong menjadi 2 baris
10 24 28 21 Ada 2 karakter terpotong menjadi 2 kolom Ada 1 karakter terpotong menjadi 3 kolom 11 22 24 20 Ada 2 karakter terpotong menjadi 2 kolom
12 24 28 19
Ada 1 karakter terpotong menjadi 2 kolom Ada 1 karakter terpotong menjadi 4 kolom Ada 2 karakter tergabung menjadi 1 kolom 13 27 30 24 Ada 3 karakter terpotong menjadi 2 kolom 14 25 29 21 Ada 4 karakter terpotong menjadi 2 kolom
15 22 30 17 Ada 2 karakter terpotong menjadi 2 kolom Ada 3 karakter terpotong menjadi 3 kolom
16 22 28 14 Ada 6 karakter terpotong menjadi 2 kolom Ada 2 karakter tergabung menjadi 1 kolom
17 22 27 15
Ada 1 karakter terpotong menjadi 2 kolom Ada 2 karakter terpotong menjadi 3 kolom Ada 4 karakter tergabung dengan baris 18
18 23 29 15 Ada 6 karakter terpotong menjadi 2 kolom Ada 4 karakter tergabung dengan baris 17
19 24 46 11
Ada 5 karakter terpotong menjadi 2 kolom Ada 3 karakter terpotong menjadi 3 kolom Ada 2 karakter terpotong menjadi 4 kolom Ada 4 karakter terpotong menjadi 2 baris
Ada 2 karakter terpotong menjadi 3 kolom Ada 5 karakter terpotong menjadi 2 baris 23 23 26 20 Ada 2 karakter terpotong menjadi 2 kolom
Total 527 676 404
Tabel 5.5 Analisis output segmentasi citra dokumen data 2 tanpa deteksi tepi
Baris
Banyak
Karakter Benar Keterangan
Citra Hasil
1 1 1 1 -
2 24 29 20 Ada 3 karakter terpotong menjadi 2 kolom Ada 1 karakter terpotong menjadi 3 kolom
3 23 26 21 Ada 1 karakter terpotong menjadi 2 kolom Ada 1 karakter terpotong menjadi 3 kolom
4 23 31 17 Ada 4 karakter terpotong menjadi 2 kolom Ada 2 karakter terpotong menjadi 3 kolom
5 24 48 11
Ada 5 karakter terpotong menjadi 2 kolom Ada 2 karakter terpotong menjadi 3 kolom Ada 1 karakter terpotong menjadi 4 kolom Ada 7 karakter terpotong menjadi 2 baris
6 26 34 21 Ada 3 karakter terpotong menjadi 2 kolom Ada 2 karakter terpotong menjadi 3 kolom
7 25 46 12
Ada 5 karakter terpotong menjadi 2 kolom Ada 5 karakter terpotong menjadi 3 kolom Ada 5 karakter terpotong menjadi 2 baris 8 26 29 22 Ada 4 karakter terpotong menjadi 2 kolom
9 24 50 10
Ada 2 karakter terpotong menjadi 2 kolom Ada 4 karakter terpotong menjadi 3 kolom Ada 1 karakter terpotong menjadi 4 kolom Ada 1 karakter terpotong menjadi 6 kolom
10 24 32 18 Ada 4 karakter terpotong menjadi 2 kolom Ada 2 karakter terpotong menjadi 3 kolom