i
SASTRA JAWA MENGGUNAKAN ALGORITMA WATERSHED
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik
Jurusan Teknik Informatika
Oleh :
Kartono Pinaryanto 055314067
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
i
OF THE JAVANESE LITERATURE DOCUMENT TEXT IMAGE
USING ALGORITHM WATERSHED
A THESIS
Presented as a Partial Fulfillment of the Requirements To Obtain Sarjana Teknik Degree
In Informatics Engineering
By :
Kartono Pinaryanto 055314067
INFORMATICS ENGINEERING STUDY PROGRAM
INFORMATICS ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2009
iv
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 29 Juli 2009 Penulis
v
Dokumen teks sastra jawa merupakan akar budaya bangsa Indonesia yang perlu dilestarikan. Pengenalan huruf pada sebuah citra dokumen teks sastra Jawa adalah salah satu cara untuk melestarikan kebudayaan tersebut. Segmentasi adalah salah satu proses dalam pengolahan citra pada citra dokumen teks yang bertujuan untuk memisahkan obyek-obyek yang ada pada citra dokumen teks. Hasil pemisahan obyek tersebut akan digunakan sebagai masukan untuk proses pengenalan huruf citra dokumen teks sastra Jawa.
Pada tugas akhir ini dibuat perangkat lunak untuk melakukan segmentasi citra dokumen teks sastra Jawa menggunakan algoritma watershed. Algoritma watershed menganggap sebuah citra merupakan bentuk tiga dimensi yaitu posisi x, posisi y dan tinggi dengan tingkat warna piksel paling gelap menjadi dasarnya. Data masukan untuk perangkat lunak ini adalah sebuah file gambar dengan format *.jpg. Perangkat lunak ini dikembangkan dengan menggunakan bahasa pemrograman Java dan bahasa pemrograman MATLAB 6.5 yang dihubungkan dengan JMATLink.
Berdasarkan pengujian terhadap 10 citra dokumen teks sastra Jawa, diperoleh segmentasi obyek watershed dengan rata-rata prosentase kebenaran dan rata-rata prosentase akurasi masing-masing sebesar 97,123% dan 84,932% sehingga dapat disimpulkan bahwa pemilihan metode segmentasi obyek ini relatif baik. Untuk segmentasi karakter watershed rata-rata prosentase kebenaran sebesar 57,443% sehingga dapat disimpulkan bahwa pemilihan metode segmentasi karakter ini kurang baik dan rata-rata waktu yang dibutuhkan adalah 39,7267 detik yang menjelaskan bahwa metode segmentasi yang digunakan relatif singkat.
vi
The Javanese literature texts are the roots of Indonesian people’s culture which need to be preserved. Knowing the image document texts of the Javanese litetures is one of the methods to process image in the image document texts which is inteded to split the objects on the image document text. The result of the splitting the objects would be used as the entry for the process to know the letters of image document texts in the Javanese literature texts.
In this final project, a software was made to do the segmenting of the image document texts from the Javanese literature documents using Watershed algorithm. Watershed algorithm considers an image as a tridemtional form of X position, Y position and its height with the deepest cell colour as its background. The entry of this software was an image file with .jpg format. This software was developed using Java language programing and MATLAB 6.5 language programming which was linked to JMATLink.
Based on the test result on the 10 document image texts of the Javanese literatures, the watershed object segmentation achieved the average of 97,123% validity and average of 84,932% accuration which then concluded that this selection of the object segmentation method was quite good. Because the average accuration of Watershed segmentation carachter achieved 57,443% it was concluded that the choice of character segmentation method was not really good and the average time needed was 39,7267 seconds which showed that this used segmentation method was quite short.
vii
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN KAMPUS
Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma : Nama : Kartono Pinaryanto
NIM : 055314067
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul:
”Implementasi Segmentasi Citra Dokumen Teks Sastra jawa menggunakan algoritma watershed ” Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan, dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet dan media lain untuk kepentingan akademis tanpa perlu minta izin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Yogyakarta, 29 Juli 2009 Penulis,
KATA PENGANTAR
Puji syukur ke hadirat Tuhan Yang Maha Esa atas berkat dan kasihnya sehingga penulis dapat menyelesaikan skripsi ini.
Skripsi ini ditulis untuk memenuhi salah satu syarat dalam memperoleh gelar Sarjana Teknik, Program Studi Teknik Informatika di Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.
Dalam penulisan skripsi ini penulis menyadari banyak pihak yang telah memberikan sumbangan baik pikiran, waktu, tenaga, bimbingan dan dorongan kepada penulis sehingga akhirnya skripsi ini dapat selesai. Oleh karena itu pada kesempatan ini penulis menyampaikan ucapan terimakasih kepada :
1. Anastasia Rita Widiarti, S.Si., M.Kom. selaku dosen pembimbing yang telah memberikan bimbingan, arahan dan petunjuk selama penulisan skripsi.
2. Yosef Agung Cahyanta, S.T., M.T. selaku Dekan Fakultas Sains dan Teknologi. 3. Puspaningtyas Sanjoyo Adi, S.T., M.T. selaku Kepala Program Studi Teknik
Informatika.
4. Eko Hari Parmadi, S.Si., M.Kom selaku dosen penguji yang telah memberikan masukan, saran dan kritik yang membangun untuk skripsi ini.
5. Drs. C. Kuntoro Adi, SJ, MA, M.Sc.,Ph.D. selaku dosen penguji yang telah memberikan masukan, saran dan kritik yang membangun untuk skripsi ini.
6. Sri Hartati Wijono, S.Si., M.Kom. yang telah membantu penulis dalam penulisan skripsi ini.
ix
memberikan dukungan secara moril maupun materi kepada penulis selama penyusunan skripsi ini.
8. Teman-temanku angkatan 2005 yang telah memberikan semangat kepada penulis selama penyusunan skripsi ini.
Penulis menyadari bahwa skripsi ini masih banyak kekurangan dan jauh dari kesempurnaan, sehingga segala kritik dan saran yang bersifat membangun sangat penulis harapkan demi perbaikan skripsi ini. Akhirnya dengan segala kekurangan yang ada, penulis berharap agar skripsi ini masih dapat diambil manfaatnya.
Yogyakarta, 29 Juli 2009 Penulis
x
HALAMAN JUDUL ……….. i
HALAMAN PERSETUJUAN PEMBIMBING ………. ii
HALAMAN PENGESAHAN ……… iii
PERNYATAAN KEASLIAN KARYA ………..………..……... iv
ABSTRAK ………..………..………..………... v
ABSTRACT ………..………..………..………... vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI ... vii
KATA PENGANTAR ………..………..………..…... viii
DAFTAR ISI ………..………..………..……….... x
DAFTAR GAMBAR ………..………..………..……... xiv
DAFTAR TABEL ………..………..………..………... xvii
DAFTAR LAMPIRAN ………..………..………... xix
BAB I PENDAHULUAN ………..………..………... 1
1.1 Latar Belakang Masalah ………..………..…………... 1
1.2 Rumusan Masalah ………..………..……….... 2
1.3 Batasan Masalah ………..………..………... 2
1.4 Tujuan dan Manfaat Penelitian ………..………..…….... 3
1.4.1 Tujuan Penelitian ………..………..……….. 3
1.4.2 Manfaat Penelitian ………..………..………….... 3
1.5 Metode Penelitian ………..………..……….... 4
BAB II LANDASAN TEORI ………..………..………... 7
2.1 Pengertian Citra ………..………..………... 7
2.2 Citra Dokumen Teks ………..………..………... 9
2.3 Grayscaling ………..………..………...…... 10 2.4 Binerisasi ………..………..………..………... 11 2.5 Morphological Processing ………..………..………... 15 2.5.1 Dilasi ... 17 2.5.2 Erosi ... 19 2.5.3 Morphological Gradient ... 21 2.6 Segmentasi Citra ………..………..………..………..………... 22 2.7 Morphologi Watershed ………..………..………..………... 23 2.7.1 Pembentukan Dam ………..………..………..……….. 25
2.7.2 Algoritma Morphologi Watershed ………..………..……… 27
2.7.3 Contoh Algoritma Morphologi Watershed ………..………..…… 30
2.8 Huruf Jawa ………..………..………..………...………..…… 34 2.8.1 Aksara Jawa ………..………..………..………...……. 34 2.8.2 Aksara Pasangan ………..………..………..………... 34 2.8.3 Aksara Murda ………..………..………..………...… 34 2.8.4 AksaraWilangan ………..………..………..………... 35 2.8.5 Aksara Swara ………..………..………..………... 35
2.8.6 Tanda Baca (Sandangan) ………..………..………..…...…. 35
2.9 Matlab ………..………..………..………...………..……….. 36
2.11 JMATLink ………..………..………..………...………... 37
2.12 Kompleksitas Waktu Asimptotik ………..………..………... 37
BAB III ANALISA DAN PERANCANGAN SISTEM ………..………... 39
3.1 Analisa Sistem ………..………..………..………... 39
3.1.1 Gambaran Sistem secara Umum ………..………..………... 39
3.1.2 Pre-processing ………..………..………..…………... 42
3.1.2.1 Proses Binerisasi ………..………..………... 42
3.1.2.2 Proses Morphological Gradient ………..…………... 43
3.1.2.2.1 Proses Dilasi ………..………..…... 43
3.1.2.2.2 Proses Erosi ………..………..…... 44
3.1.3 Proses Segmentasi ………..………..…....………..……... 44
3.2 Perancangan Sistem ………..………..…....………..………... 45
3.2.1 Perancangan Halaman Utama ………..………..…....……... 46
3.2.2 Perancangan Halaman Segmentasi Citra ………..………... 47
3.2.3 Perancangan Halaman Daftar Data Hasil Segmentasi ... 48
3.2.4 Perancangan Halaman Tentang Program ………..………... 49
3.2.5 Perancangan Halaman Bantuan ………..………..…... 49
3.2.6 Perancangan Halaman Keluar ………..………..…....……... 50
3.3 Perancangan Cara Pengujian ………..………..…....………..……... 51
3.4 Spesifikasi Hardware dan Software ………..………..…....………... 52
3.4.1 Hardware ………..………..…....………..………..…... 52
3.4.2 Software ………..………..…....………..………..…... 52
4.1 Tampilan Halaman Utama ………..………..…....………..………... 53
4.2 Tampilan Halaman Segmentasi ………..………..…....………... 54
4.3 Tampilan Halaman Daftar Data Hasil Segmentasi ... 55
4.4 Tampilan Tentang Program ………..………..…....………..……... 56
4.5 Tampilan Halaman Bantuan ………..………..…....………..……... 57
4.6 Tampilan Halaman Keluar ………..………..…....………..………... 58
BAB V HASIL DAN PEMBAHASAN ………..………..…....………..…... 59
5.1 Data Masukan ………..………..…....………..………..…... 59
5.2 Pengujian Data Masukan ………..………..…....………..………... 60
5.3 Analisa Kompleksitas Waktu ... 67
5.4 Analisa Hasil Proses Pengujian ... 82
5.5 Analisa Hasil Segmentasi ………..………..…....………..………... 85
5.6 Rangkuman Hasil Segmentasi ………..………..…....………..…... 110
5.7 Kelemahan Sistem ………..………..…....………..………... 114
BAB VI KESIMPULAN DAN SARAN ………..………..…....………... 115
6.1 Kesimpulan ………..………..…....………..………..…... 115
6.2 Saran ………..………..…....………..………..…....………... 116
DAFTAR PUSTAKA ………..………..…....………..………..…... 117
xiv
Gambar 1.1 Model Waterfall ………..………..…....………..………..…... 4
Gambar 2.1 Citra biner dan representasinya dalam data digital ………..……….. 8
Gambar 2.2 Citra skala keabuan dan representasinya dalam data digital ………..…... 8
Gambar 2.3 Citra warna dan representasinya dalam data digital ………..….……... 9
Gambar 2.4 Citra dokumen teks ………..………..…....………..………... 10
Gambar 2.5 Contoh perubahan data digital citra warna menjadi citra grayscale ... 11
Gambar 2.6 Contoh perubahan data digital citra warna menjadi citra baru ... 14
Gambar 2.7 Contoh citra warna sebelum mengalami proses binerisasi ... 15
Gambar 2.8 Contoh citra warna setelah mengalami proses binerisasi ... 15
Gambar 2.9 Moore Neighborhood ………..………..…....………..………... 16
Gambar 2.10 Titik Terisolasi, Titik Ujung dan Titik Batas ………..………... 17
Gambar 2.11 Contoh perubahan data digital citra baru menjadi citra dilasi ... 18
Gambar 2.12 Contoh citra baru sebelum mengalami proses dilasi ………...……... 19
Gambar 2.13 Contoh citra baru setelah mengalami proses dilasi ………..…….…... 19
Gambar 2.14 Contoh perubahan data digital citra baru menjadi citra erosi ... 20
Gambar 2.15 Contoh citra baru sebelum mengalami proses erosi …….…..………... 21
Gambar 2.16 Contoh citra baru setelah mengalami proses erosi ………..……..…... 21
Gambar 2.17 Hasil operasi Morphological Gradient dalam bentuk data digital ……... 22
Gambar 2.18 Contoh hasil operasi Morphological Gradient dalam bentuk citra …..… 22
Gambar 2.19 Konsep dasar Morphological Watershed ………..…….……….…... 25
xv
Gambar 2.22 Contoh digital algoritma Watershed Langkah 2 ………..………….…... 31
Gambar 2.23 Contoh digital algoritma Watershed Langkah 3 ………..………….…... 32
Gambar 2.24 Contoh digital algoritma Watershed Langkah 4 ………..……….... 33
Gambar 2.25 Aksara Jawa ………..………..…....………..………..…... 34
Gambar 2.26 Aksara Pasangan ………..………..…....………..………... 34
Gambar 2.27 Aksara Murda ………..………..…....………..………..…... 34
Gambar 2.28 Aksara Wilangan ………..………..…....………..………... 35
Gambar 2.29 Aksara Swara ………..………..…....………..………..…... 35
Gambar 2.30 Tanda Baca (Sandangan) ………..………..…....………..……….... 35
Gambar 3.1 Diagram Konteks ………..………..…....………..………..….... 40
Gambar 3.2 DFD Level 1 ………..………..…....………..………..…... 40
Gambar 3.3 DFD Level 2 Proses 1 ………..………..…....………..………... 41
Gambar 3.4 Diagram proses Binerisasi ………..………..…....………..……….... 42
Gambar 3.5 Diagram proses Morphological Gradient ………..………..…....…... 43
Gambar 3.6 Diagram proses Dilasi ………..………..…....………..……….. 43
Gambar 3.7 Diagram Proses Erosi ………..………..…....………..………... 44
Gambar 3.8 Diagram proses Segmentasi Watershed ………..………..…..……... 45
Gambar 3.9 Perancangan Halaman Utama ………..………..…....……..……... 46
Gambar 3.10 Perancangan Halaman Segmentasi Citra ………..………... 47
Gambar 3.11 Perancangan Halaman Daftar Data Hasil Segmentasi ... 48
Gambar 3.12 Perancangan Halaman Tentang Program ……..…..…………..…... 49
xvi
Gambar 4.1 Halaman Utama ………..………..…....………..………..…... 53
Gambar 4.2 Halaman Segmentasi ………..………..…....………..……….... 54
Gambar 4.3 Halaman Daftar Data Hasil Segmentasi ... 55
Gambar 4.4 Halaman Tentang Program ………..………..…....………..………... 56
Gambar 4.5 Halaman Bantuan ………..………..…....………..………..….... 57
Gambar 4.6 Halaman Keluar ………..………..…....………..………..…... 58
Gambar 5.1 Citra dokumen 1 ………..………..…....………..………..…... 60
Gambar 5.2 Citra dokumen 1 hasil proses binerisasi ………..………..…... 60
Gambar 5.3 Citra dokumen 1 hasil proses dilasi ………..………..…....……….... 61
Gambar 5.4 Citra dokumen 1 hasil proses erosi ………..………..…....………... 61
Gambar 5.5 Citra dokumen 1 hasil proses Morphological Gradient ………... 62
Gambar 5.6 Potongan citra Morphological Gradient dokumen 1 ………..…....…….... 63
Gambar 5.7 Data digital potongan citra Morphological Gradient dokumen 1 ……... 63
Gambar 5.8 Inisialisasi daerah minima-minima baru pada data digital Potongan citra morphological gradient dokumen 1 ………..…....………..…... 64
Gambar 5.9 Proses segmentasi pada data digital potongan citra Morphological Gradient dokumen 1 ………..…....………..…....………..…....………..…... 65
Gambar 5.10 Hasil segmentasi potongan citra Morphological Gradient dokumen 1 ... 66
xvii
Tabel 2.1 Perbandingan pertumbuhan T(n) dengan n2 ………..…....………..…....….. 37 Tabel 5.1 Kriteria citra dokumen masukan …..…....………..…....……..…....……….. 59 Tabel 5.2 Daftar Data Hasil Segmentasi Citra Dokumen 1 …..…....………..…....…... 82 Tabel 5.3 Waktu Proses awal dan proses segmentasi watershed …..…....………..….. 86 Tabel 5.4 Besar file Proses awal dan proses segmentasi watershed …..…....……….... 87 Tabel 5.5 Hasil obyek citra dokumen 1 proses segmentasi watershed ..…....………… 89 Tabel 5.6 Hasil obyek citra dokumen 2 proses segmentasi watershed ..…....………… 90 Tabel 5.7 Hasil obyek citra dokumen 3 proses segmentasi watershed ..…....………... 91 Tabel 5.8 Hasil obyek citra dokumen 4 proses segmentasi watershed ..…....………… 92 Tabel 5.9 Hasil obyek citra dokumen 5 proses segmentasi watershed ..…....………… 93 Tabel 5.10 Hasil obyek citra dokumen 6 proses segmentasi watershed ..…....……….. 94 Tabel 5.11 Hasil obyek citra dokumen 7 proses segmentasi watershed ..…....……….. 95 Tabel 5.12 Hasil obyek citra dokumen 8 proses segmentasi watershed ..…....……….. 96 Tabel 5.13 Hasil obyek citra dokumen 9 proses segmentasi watershed ..…....……….. 97 Tabel 5.14 Hasil obyek citra dokumen 10 proses segmentasi watershed ..…....……… 98 Tabel 5.15 Hasil karakter citra dokumen 1 proses segmentasi watershed ..…....…….. 99 Tabel 5.16 Hasil karakter citra dokumen 2 proses segmentasi watershed ..…....…….. 100 Tabel 5.17 Hasil karakter citra dokumen 3 proses segmentasi watershed ..…....…….. 101 Tabel 5.18 Hasil karakter citra dokumen 4 proses segmentasi watershed ..…....……... 102 Tabel 5.19 Hasil karakter citra dokumen 5 proses segmentasi watershed ..…....……... 103 Tabel 5.20 Hasil karakter citra dokumen 6 proses segmentasi watershed ..…....……... 104
xviii
Tabel 5.22 Hasil karakter citra dokumen 8 proses segmentasi watershed ..…....…….. 106 Tabel 5.23 Hasil karakter citra dokumen 9 proses segmentasi watershed ..…....…….. 107 Tabel 5.24 Hasil karakter citra dokumen 10 proses segmentasi watershed ..…....…… 108 Tabel 5.25 Hasil percobaan proses penyaringan hasil segmentasi citra ... 109 Tabel 5.26 Rangkuman hasil segmentasi obyek dan bukan obyek ..…....………... 110 Tabel 5.27 Rangkuman hasil Analisis segmentasi obyek ..…....……… ..…....……… 111 Tabel 5.28 Rangkuman hasil Analisis segmentasi karakter ..…....……….. .…....…… 112
xix
Lampiran 1 Listing Program ..…....……….. ..…....……….. ..…....………. 118 Lampiran 2 Data Citra Dokumen Masukan dan Hasil ..…....……….. ..…....………... 133 Lampiran 3 Daftar Data Hasil Segementasi Obyek ..…....……….. ..…....…………... 144
1
PENDAHULUAN
1.1 Latar Belakang Masalah
Kota Yogyakarta kaya akan budaya-budaya karya sastra Jawa (aksara Jawa) yang merupakan akar budaya bangsa Indonesia dan mempunyai kekuatan untuk menyaring pengaruh kebudayaan asing serta meningkatkan kehidupan masyarakat Jawa khususnya dan bangsa Indonesia umumnya. Namun dengan berubahnya zaman, dimana sastra Jawa hanya sebagai pendukung bahasa dan budaya nasional, maka tradisi penerjemahan sastra Jawa perlu dihidupkan kembali. Penerjemah ini diharapkan mampu mengambil unsur yang dapat mengembangkan peradaban Jawa dalam sastra Indonesia atau sastra asing.
Seiring dengan perkembangan teknologi di bidang komputer khususnya dalam penerapan pengolahan citra maka untuk menerjemahkan huruf aksara Jawa menjadi bahasa latin memerlukan beberapa proses awal (pre-processing) yang harus dilalui. Salah satu proses yang harus dilalui adalah proses segmentasi. Proses segmentasi merupakan proses untuk membagi sebuah gambar (citra) menjadi obyek-obyek berdasarkan karakteristik tertentu dan kemudian masing-masing obyek dapat digunakan sebagai input bagi proses yang lain. Sebagai contoh, pada proses pengenalan jenis obyek, proses segmentasi diperlukan untuk melakukan pemisahan masing-masing obyek terhadap latar sehingga pada saat proses pengenalan, bagian latar tidak ikut terproses. Begitu pula untuk proses pengenalan huruf pada sebuah citra teks, diperlukan juga proses segmentasi untuk mendapatkan huruf yang akan dikenali. Mengingat pentingnya proses segmentasi tersebut sebagai
proses awal, maka dibutuhkan algoritma segmentasi yang dapat melakukan pemisahan obyek dengan akurat, salah satunya adalah algoritma watershed. Menurut penelitian (Adipranata,dkk, 2008) algoritma watershed adalah algoritma yang menganggap sebuah citra merupakan bentuk tiga dimensi yaitu posisi x, posisi y dan tinggi dengan tingkat warna piksel (gray-scale) yang dimiliki, dan dari hasil penelitian mereka diperoleh informasi bahwa algoritma watershed baik digunakan untuk melakukan segmentasi citra gambar. Dari sini maka dalam penulisan tugas akhir ini, penulis akan mencoba menggunakan algoritma watershed untuk menguji apakah algoritma watershed baik digunakan untuk melakukan segmentasi pada citra dokumen teks sastra Jawa.
1.2 Rumusan Masalah
Berdasarkan latar belakang yang dikemukakan, timbul permasalahan yang ingin dibahas yaitu :
1. Bagaimana cara kerja dan implementasi algoritma Watershed pada segmentasi ? 2. Bagaimana cara menguji unjuk kerja algoritma Watershed pada segmentasi citra
dokumen teks sastra Jawa ?
1.3 Batasan Masalah
Agar penulisan laporan tugas akhir ini lebih terarah, maka Penulis membatasi masalah :
1. Pembuatan program yang hanya dapat mengimplementasikan segmentasi citra dengan menggunakan algoritma Watershed.
2. Data sumber citra yang digunakan adalah citra dokumen teks sastra Jawa yang telah mengalami proses menghilangkan noise dan pengisian atau penebalan piksel.
3. Citra yang dapat diproses adalah citra dokumen teks sastra Jawa dengan ekstensi jpg dan memiliki ukuran baris diantara 285 sampai dengan 310 piksel dan ukuran kolom diantara 1270 sampai dengan 1300 piksel.
4. Menggunakan Sistem Operasi Windows XP.
5. Menggunakan bahasa pemrograman Java (NetBeans IDE 5.5) dan bahasa pemrograman MATLAB 6.5 yang dihubungkan dengan JMATLink.
1.4 Tujuan dan Manfaat Penelitian 1.4.3 Tujuan Penelitian
Tujuan Penelitian dalam penulisan laporan tugas akhir ini adalah :
1. Memahami konsep dasar membuat program aplikasi segmentasi citra dengan algoritma Watershed.
2. Menguji unjuk kerja algoritma Watershed pada segmentasi citra dokumen teks sastra Jawa.
1.4.4 Manfaat Penelitian
Hasil penelitian ini diharapkan dapat bermanfaat untuk kepentingan perkuliahan Teknologi Citra dan perkembangan sistem informasi dalam hal komputasi serta memberikan program yang dapat digunakan oleh umum guna melakukan manipulasi dan mengolah citra.
1.5 Metode Penelitian
Metode penelitian yang ditempuh penulis adalah sebagai berikut :
1. Studi pustaka tentang teknik segmentasi citra dengan algoritma Watershed melalui buku-buku pendukung, browsing di internet, handout dari materi kuliah Teknologi Citra.
2. Mengembangkan sistem segmentasi sebagai alat bantu pengujian perangkat lunak, yang menggunakan metode “Waterfall” (Pressman, 1992).
Tahapan metode ini meliputi :
a. System Engineering (Rekayasa Sistem)
Pada tahap rekayasa sistem ditentukan tujuan dari perangkat lunak yang akan dibuat. Setelah menentukan tujuan perangkat lunak barulah dapat menentukan kebutuhan-kebutuhan dari perangkat lunak yang akan dibuat, kemudian mengalokasikan kebutuhan-kebutuhan tersebut ke dalam pembentukan perangkat lunak. Perangkat lunak dalam tugas akhir ini dibuat dengan tujuan untuk melakukan segmentasi citra. Kebutuhan-kebutuhan
dari perangkat lunaknya adalah teori-teori dasar yang berhubungan dengan topik (segmentasi citra), metode yang digunakan prosedure, perangkat lunak, dan perangkat keras.
b. Analysis (Analisis)
Pada tahap analisis ini dilakukan penentuan spesifikasi sistem yang akan dikembangkan.
c. Design (Perancangan)
Pada tahap perancangan dilakukan perancangan prosedure detil dan karakteristik antarmuka pemakai. Dalam penulisan tugas akhir ini tahap perancangan dimulai dari perancangan perangkat lunak yang terdiri dari perancangan proses detil dan perancangan antarmuka pemakai.
d. Code (Penulisan Program)
Pada tahap penulisan program ini, perangkat lunak diterjemahkan ke dalam bentuk program komputer. Didalam tugas akhir ini hasil dari rancangan perangkat lunak diterjemahkan ke dalam bentuk program menggunakan bahasa pemrograman Matlab dan Java yang dihubungkan dengan JMatLink.
e. Testing (Pengujian)
Pada tahap pengujian dilakukan pencarian segala kemungkinan kesalahan dan memeriksa apakah hasil segmentasi sudah sesuai dengan tujuan penelitian.
1.6 Sistematika Penulisan
Sistematika penulisan skripsi ini adalah sebagai berikut : BAB I PENDAHULUAN
Bab ini secara umum menjelaskan mengenai latar belakang masalah, rumusan masalah, batasan masalah, tujuan dan manfaat penelitian, metode penelitian, serta sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini membahas teori – teori mengenai pengertian citra, pengertian dan tujuan segmentasi, metode-metode segmentasi, algoritma watershed dan metode yang akan digunakan dalam pengembangan perangkat lunak. BAB III ANALISIS DAN PERANCANGAN SISTEM
Bab ini membahas analisa dan perancangan sistem secara umum, rancangan proses serta rancangan antar muka yang akan digunakan.
BAB IV IMPLEMENTASI
Bab ini membahas implementasi dalam bentuk program berdasarkan analisa dan perancangan yang telah dilakukan
BAB V HASIL DAN PEMBAHASAN
Bab ini berisi mengenai analisa hasil implementasi segmentasi citra dokumen teks sastra Jawa serta pembahasannya.
BAB VI. KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dan saran dari hasil analisa, perancangan, dan implementasi sistem.
7
LANDASAN TEORI
Pada bab ini membahas teori–teori mengenai pengertian citra, pengertian dan tujuan segmentasi, metode-metode pre-processing dan segmentasi, algoritma watershed dan metode yang akan digunakan dalam pengembangan perangkat lunak.
2.1 Pengertian Citra
Citra merupakan suatu gambar pada bidang dua dimensi (Achmad dan Firdausy, 2004). Secara umum citra dapat dikelompokkan menjadi citra tampak seperti foto keluarga dan citra tak tampak seperti data gambar dalam file yang sering disebut citra digital. Dari antara kelompok citra tersebut, hanya citra digital yang dapat diolah menggunakan komputer.
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 lebar citra digital) dan N merupakan height (nilai tinggi citra digital). Setiap piksel memiliki nilai berupa angka digital yang mempresentasikan informasi yang mewakili piksel tersebut.
Format nilai piksel (Achmad dan Firdausy, 2004) ditentukan oleh format citra digital antara lain :
1. Citra Biner
Citra biner biasanya juga disebut citra monokrom. Pada citra biner, setiap titik bernilai 0 atau 1, masing-masing merepresentasikan warna tertentu
(misalnya : warna hitam bernilai 0 dan warna putih bernilai 1). Setiap titik pada citra hanya membutuhkan 1 bit, sehingga setiap byte dapat menampung informasi 8 titik.
Gambar 2.1 Citra biner dan representasinya dalam data digital (Achmad dan Firdausy, 2004)
2. Citra Skala Keabuan
Citra skala keabuan biasanya juga disebut citra gray-level. Gray-level adalah tingkat warna abu-abu dari sebuah piksel, dapat juga dikatakan tingkat cahaya dari sebuah piksel. Maksudnya nilai yang terkandung dalam piksel menunjukkan tingkat terangnya piksel tersebut dari hitam ke putih. Biasanya ditetapkan nilainya antara 0 hingga 255 (untuk 256 gray-level), dengan 0 adalah hitam dan 255 adalah putih. Karena hanya terbatas 1 byte saja maka untuk mempresentasikan nilai piksel cukup 8 bit saja. Grayscale adalah citra yang memiliki gray-level sebagai nilai dari tiap piksel-nya.
Gambar 2.2 Citra skala keabuan dan representasinya dalam data digital (Achmad dan Firdausy, 2004)
3. Citra Warna
Pada citra warna, setiap titik mempunyai warna yang spesifik yang merupakan kombinasi dari tiga 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 adalah 255.255.0. Dengan demikian setiap tiitk 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.
Gambar 2.3 Citra warna dan representasinya dalam data digital (Achmad dan Firdausy, 2004)
2.2 Citra Dokumen Teks
Dokumen teks merupakan sebuah tulisan yang memuat informasi (Anonim, 2009). Biasanya dokumen ditulis atau dicetak diatas kertas dan informasinya ditulis menggunakan tinta baik menggunakan tangan ataupun media elektronik seperti komputer.
Sama halnya dengan dokumen teks, citra dokumen teks merupakan suatu citra yang berisi kumpulan teks atau tulisan, namun dalam format digital. Citra dokumen teks masukan yang diperlukan dalam proses segmentasi adalah berupa citra dokumen keabuan atau citra dokumen biner. Jika citra masukan berupa citra berwarna, maka citra tersebut akan diproses dan diubah menjadi citra keabuan (melalui proses grayscaling) atau menjadi citra biner (melalui proses binerisasi).
Gambar 2.4 Citra dokumen teks
2.3 Grayscaling
Grayscaling adalah proses perubahan nilai piksel dari warna (RGB) menjadi gray-level (Gonzales and Woods, 2002). Pada dasarnya proses ini dilakukan dengan mencari nilai rerata dari ketiga nilai elemen warna, sehingga nilai keabuan yang merepresentasikan intensitas dapat dihitung (Achmad dan Firdausy, 2004) dengan rumus :
Ri + Gi + Bi
K0 =
Gambar 2.5 Contoh perubahan data digital citra warna menjadi citra grayscale
Untuk gambar 2.5 (a) adalah representasi citra warna yang terdiri dari 3 keping warna yaitu keping I (red), keping II (green) dan keping III (blue) yang digunakan adalah citra warna seperti gambar 2.3. Berdasarkan 3 keping warna tersebut maka dicari nilai rata-ratanya sehingga akan menghasilkan representasi citra grayscale seperti gambar 2.5 (b).
Pada proses grayscaling yang merupakan metode asli dari segmentasi watershed (Adipranata dkk, 2008), tetapi untuk penulisan tugas akhir ini, Penulis tidak menggunakan proses grayscaling melainkan menggunakan proses binerisasi.
2.4 Binerisasi
Proses binerisasi adalah proses perubahan format skala keabuan menjadi citra biner, yang hanya memiliki 2 buah nilai (0 dan 1). Dalam proses binerisasi pertama kali akan mencari nilai ambang (thersholding), selanjutnya titik dengan nilai rentang nilai keabuan tertentu diubah menjadi berwarna hitam (0) dan sisanya menjadi putih (1) (Achmad dan Firdausy, 2004). Untuk penulisan tugas akhir ini,
penulis memodifikasi nilai warna putih menjadi nilai 255. Sehingga akan dihasilkan citra baru yang telah mengalami proses binerisasi.
Dalam proses binerisasi menggunakan metode otsu. Tujuan dari metode otsu adalah membagi histogram citra gray level kedalam dua daerah yang berbeda secara otomatis tanpa membutuhkan bantuan user untuk memasukkan nilai ambang (Darma Putra, 2009). Pendekatan yang dilakukan oleh metode otsu adalah dengan melakukan analisis diskriminan yaitu menentukan suatu variabel yang dapat membedakan antara dua atau lebih kelompok yang muncul secara alami. Analisis Diskriminan akan memaksimumkan variabel tersebut agar dapat membagi objek latardepan (foreground) dan latarbelakang (background).
Formulasi dari metode otsu adalah sebagai berikut :
Nilai Ambang yang akan dicari dari suatu citra gray level dinyatakan dengan k. Nilai berkisar antara 1 sampai dengan L, dengan nilai L = 255. Probabilitas setiap pixel pada level ke i dapat dinyatakan:
Pi = ni / N (2-2)
Keterangan : ni menyatakan jumlah pixel pada level ke i dan N menyatakan total jumlah pixel pada citra.
Nilai Zeroth cumulative moment, First cumulative moment, dan total nilai mean berturut-turut dapat dinyatakan dengan rumus berikut.
k ω(k) = ∑ Pi i=1 (2-3) k µ(k) = ∑i . Pi i=1 (2-4)
L
µT = ∑i . Pi i=1
(2-5) Nilai ambang k dapat ditentukan dengan memaksimumkan persamaan :
σ2B (k*) = max σ2B (k) 1≤k<L (2-6) Dengan [µTω(k) - µ(k)]2 σ2B(k) = ω(k)[1 - ω(k)] (2-7)
Gambar 2.6 Contoh perubahan data digital citra warna menjadi citra baru
Pada gambar 2.6 (a) citra warna keping I, II dan III diubah menjadi citra grayscale seperti gambar 2.6 (b). Selanjutnya citra grayscale diubah menjadi citra baru dengan menggunakan Threshold yang didapatkan dari proses perhitungan metode Otsu. Nilai piksel citra baru akan bernilai 0 jika nilai piksel citra grayscale kurang dari nilai Threshold dan nilai piksel citra baru akan bernilai 255 jika nilai piksel
citra grayscale lebih dari nilai Threshold seperti gambar 2.6 (c). Pada gambar 2.7 adalah citra warna sebelum mengalami proses binerisasi dan gambar 2.8 merupakan citra warna yang telah mengalami proses binerisasi.
Gambar 2.7 Contoh citra warna sebelum mengalami proses binerisasi
Gambar 2.8 Contoh citra warna setelah mengalami proses binerisasi
2.5 Morphological Processing
Operasi morfologi adalah teknik pengolahan citra yang didasarkan pada bentuk segmen atau region dalam citra ( - , Morphologi.pdf, 2008). Operasi ini difokuskan pada bentuk obyek, maka operasi ini biasanya diterapkan pada citra biner. Biasanya segmen tadi didasarkan pada obyek yang menjadi perhatian. Segmentasi dilakukan dengan membedakan antara obyek dan latar, antara lain dengan memanfaatkan operasi pengambangan yang mengubah citra warna dan skala keabuan menjadi citra biner. Nilai biner dari citra hasil merepresentasikan 2 keadaan: obyek dan latar. Meskipun lebih banyak dipakai pada citra biner, operasi morfologi sering pula digunakan pada citra skala keabuan dan warna. Hasil operasi
morfologi dapat dimanfaatkan untuk pengambilan keputusan dengan analisis lebih lanjut. Operasi ini antara lain meliputi: dilasi, erosi dan morphologi gradient.
Operasi morfologi biasanya didasarkan pada nilai-nilai dari tetangga langsung di sekeliling titik obyek yang ditinjau (Moore neighborhood). Untuk operasi terhubung-4 (4-connected) maka tetangga yang diperhatikan hanya yang langsung bersebelahan, yaitu titik di sebelah kiri, kanan, atas dan bawah, sedangkan untuk operasi terhubung-8 (8-connected) tetangga diagonalnya diikutsertakan (Gambar 2.9).
Gambar 2.9 Moore Neighborhood ( - , Morphologi.pdf, 2008)
Beberapa definisi yang dipakai dalam operasi morfologi (- ,Morphologi.pdf, 2008) : • Titik obyek, adalah titik yang merupakan bagian dari obyek (p1 = obyek)
• Titik latar, adalah titik yang merupakan bagian dari latar (p1 = latar)
• B(p1) = banyaknya tetangga dari p1 yang merupakan titik obyek A(p1) = banyaknya pola “latar, obyek” untuk urutan p2-p4-p6-p8-p2 pada operasi terhubung-4 atau urutan p2-p3-p4-p5-p6-p7-p8-p9-p2 pada operasi terhubung-8. • Titik terisolasi, adalah titik obyek yang semua tetangganya adalah titik latar.
• Titik ujung, adalah titik obyek yang mempunyai tepat sebuah tetangga yang merupakan titik obyek juga. B(p1) = 1.
• Titik batas, adalah titik obyek yang salah satu atau lebih tetangganya adalah titik latar. B(p1) < 4 pada operasi terhubung-4 dan B(p1) < 8 pada operasi terhubung-8. Apabila semua titik tetangganya adalah titik obyek maka dapat dipastikan titik tersebut berada di dalam obyek (bukan titik batas).
• Titik simpel, adalah titik obyek yang jika diubah menjadi titik latar maka tidak mengubah kondisi hubungan antar titik-titik obyek tetangganya.
Gambar 2.10 Titik terisolasi, titik ujung dan titik batas ( - , Morphologi.pdf, 2008)
2.5.1 Dilasi
Operasi dilasi berfungsi untuk menghaluskan gambar sehingga lebih mudah untuk disegmentasi. Operasi ini dilakukan untuk memperbesar ukuran segmen obyek dengan menambah lapisan di sekeliling obyek ( - , Morphologi.pdf, 2008). Cara kerja operasi ini yaitu dengan mengubah semua titik di sekeliling titik obyek menjadi titik obyek.
Algoritma untuk operasi dilasi adalah sebagai berikut :
Untuk semua titik dalam citra, cek apakah titik tersebut adalah titik obyek :
Jika ya maka ubah semua tetangganya menjadi titik obyek
Jika tidak maka lanjutkan ke titik berikutnya.
Berdasarkan algoritma operasi dilasi maka proses perubahan data digital citra baru menjadi citra dilasi dapat dilihat pada gambar 2.11. Karena proses dilasi adalah proses mengubah titik tetangga menjadi titik obyek maka proses pemeriksaan nilai piksel (nilai obyek) akan dimulai dari nilai obyek yang terkecil sampai nilai obyek yang terbesar. Pada gambar 2.12 dan gambar 2.13 adalah contoh citra baru sebelum dan setelah mengalami proses dilasi.
Gambar 2.12 Contoh citra baru sebelum mengalami proses dilasi
Gambar 2.13 Contoh citra baru setelah mengalami proses dilasi
2.5.2 Erosi
Operasi erosi berfungsi untuk menghaluskan gambar sehingga lebih mudah untuk disegmentasi. Operasi ini adalah kebalikan dari operasi dilasi. Pada operasi ini, ukuran obyek diperkecil dengan mengikis sekeliling obyek ( - , Morphologi.pdf, 2008). Cara kerja operasi ini yaitu dengan mengubah semua titik di sekeliling titik latar menjadi titik latar.
Algoritma untuk operasi erosi adalah sebagai berikut :
Untuk semua titik dalam citra, cek apakah titik tersebut adalah titik latar :
Jika ya maka ubah semua tetangganya menjadi titik latar
Jika tidak maka lanjutkan ke titik berikutnya.
Berdasarkan algoritma operasi erosi maka proses perubahan data digital citra baru menjadi citra erosi dapat dilihat pada Gambar 2.14. Karena proses erosi adalah proses mengubah titik tetangga menjadi titik latar maka proses pemeriksaan nilai piksel (nilai obyek) akan dimulai dari nilai latar yang terbesar sampai nilai latar yang terkecil. Pada gambar 2.15 dan gambar 2.16 adalah contoh citra baru sebelum dan setelah mengalami proses erosi.
Gambar 2.15 Contoh citra baru sebelum mengalami proses erosi
Gambar 2.16 Contoh citra baru setelah mengalami proses erosi
2.5.3 Morphological Gradient
Morphological gradient merupakan salah satu aplikasi morphological processing yang melibatkan dilasi dan erosi. Morphological gradient adalah proses yang menghasilkan output berupa citra yang didapat dari pengurangan hasil dilasi citra asli dengan hasil erosi citra asli (Adipranata dkk, 2008), dan didefinisikan sebagai berikut :
g = (f b)-( f θ b) (2-8)
Gambar 2.17 Hasil operasi morphological gradient dalam bentuk data digital
Berdasarkan definisi morphological gradient maka proses perubahan data digital pada citra hasil dilasi dan citra hasil erosi menjadi data digital citra morphological gradient dapat dilakukan dengan menggunakan proses pengurangan kedua nilai citra tersebut (gambar 2.17). Contoh hasil akhir citra operasi morphological gradient dapat dilihat pada gambar 2.18.
Gambar 2.18 Contoh hasil operasi morphological gradient dalam bentuk citra
2.6 Segmentasi Citra
Segmentasi citra adalah pemisahan obyek yang satu dengan obyek yang lain dalam suatu citra (Adipranata,dkk, 2008). Ada 2 macam segmentasi, yaitu full segmentation dan partial segmentation (Adipranata,dkk, 2008). Full segmentation adalah pemisahan suatu obyek secara individu dari latar dan diberi ID (label) pada
tiap-tiap segmen. Partial segmentation adalah pemisahan sejumlah data dari latar dimana data yang disimpan hanya data yang dipisahkan saja untuk mempercepat proses selanjutnya.
Ada 3 tipe dari segmentasi (Adipranata,dkk, 2008) yaitu:
1 Classification-based yaitu segmentasi berdasarkan kesamaan suatu ukuran dari nilai piksel. Salah satu cara paling mudah adalah thresholding. Thresholding ada 2 macam yaitu global dan lokal. Pada thresholding global, segmentasi berdasarkan pada sejenis histogram. Pada thresholding lokal, segmentasi dilakukan berdasarkan posisi pada citra, citra dibagi menjadi bagian-bagian yang saling melengkapi.
2 Edge-based yaitu mencari garis yang ada pada citra, dan garis tersebut digunakan sebagai pembatas dari tiap segmen.
3 Region-based yaitu segmentasi dilakukan berdasarkan kumpulan piksel yang memiliki kesamaan (tekstur, warna atau tingkat warna abu-abu) dimulai dari suatu titik ke titik-titik lain yang ada disekitarnya.
2.7 Morphologi Watershed
Konsep morphologi watershed adalah dengan menganggap sebuah citra merupakan bentuk tiga dimensi yaitu posisi x dan y dengan tingkat warna piksel yang dimilikinya (Adipranata dkk, 2008). Posisi x dan y merupakan bidang dasar dan tingkat warna piksel, yang dalam hal ini adalah gray-level merupakan ketinggian dengan anggapan nilai yang makin mendekati warna putih mempunyai
ketinggian yang semakin tinggi. Dengan anggapan bentuk topografi tersebut, maka didapat tiga macam titik yaitu : (a) titik yang merupakan minimum regional, (b) titik yang merupakan tempat dimana jika setetes air dijatuhkan, maka air tersebut akan jatuh hingga ke sebuah posisi minimum tertentu, dan (c) titik yang merupakan tempat dimana jika air dijatuhkan, maka air tersebut mempunyai kemungkinan untuk jatuh ke salah satu posisi minimum (tidak pasti jatuh ke sebuah titik minimum, tetapi dapat jatuh ke titik minimum tertentu atau titik minimum yang lain). Untuk sebuah minimum regional tertentu, sekumpulan titik yang memenuhi kondisi (b) disebut sebagai catchment basin, sedangkan sekumpulan titik yang memenuhi kondisi (c) disebut sebagai garis watershed.
Dari penjelasan diatas, segmentasi dengan metode watershed ini mempunyai tujuan untuk melakukan pencarian garis watershed. Ide dasar untuk cara kerja segmentasi ini adalah diasumsikan terdapat sebuah lubang yang dibuat pada minimum regional dan kemudian seluruh topografi dialiri air yang berasal dari lubang tersebut dengan kecepatan tetap. Ketika air yang naik dari dua catchment basin hendak bergabung, maka dibangun sebuah dam untuk mencegah penggabungan tersebut. Aliran air akan mencapai tingkat yang diinginkan dan berhenti mengalir ketika hanya bagian atas dari dam yang terlihat. Tepi dam yang terlihat inilah yang disebut dengan garis watershed dan garis watershed inilah yang merupakan hasil dari segmentasi, dengan anggapan bahwa garis watershed tersebut merupakan tepi dari obyek yang hendak disegmentasi. Untuk lebih jelas mengenai penggambaran dapat dilihat pada gambar dibawah ini.
Gambar 2.19 Konsep dasar morphological watershed (Adipranata,dkk, 2005)
Pada gambar 2.19 (a) ditampilkan gambar dua dimensi dari konsep transformasi watershed dimana dua bagian yang berwarna gelap adalah dua buah catchment basin dan bagian di tengah kedua catchment basin merupakan daerah dimana garis watershed akan berada, sedangkan pada gambar 2.19 (b) ditampilkan gambar tiga dimensi dari konsep transformasi watershed.
2.7.1 Pembentukan Dam
Pembentukan dam atau garis watershed adalah hal yang paling penting dalam proses transformasi watershed. Pembuatan dam didasarkan pada citra biner, yang merupakan anggota dari ruang integer dua dimensi Z2. Cara termudah untuk membuat dam adalah dengan menggunakan morphological dilation (operasi dilasi). Dasar pembentukan dam digambarkan pada gambar 2.20. Gambar 2.20 (a) menunjukan dua bagian catchment basin pada langkah aliran air n-1, sedangkan gambar 2.20 (b) menunjukan hasil aliran air pada langkah n. Air telah bergabung dari satu kolom (basin) ke kolom yang lain, sehingga perlu dibangun sebuah dam untuk mencegah bergabungnya air tersebut. Terdapat M1 dan M2 yang
merupakan kumpulan koordinat titik pada dua regional minima. Terdapat pula sekumpulan koordinat titik pada catchment basin yang berasosiasi dengan dua regional minima tersebut pada tahap n-1 aliran air dan diberi tanda Cn-1 (M1) dan Cn-1 (M2). Bagian ini ditandai dengan warna hitam pada gambar 2.20 (a).
Union dari dua kumpulan tersebut diberi tanda C[n-1]. Terdapat dua komponen terkoneksi pada gambar 2.20 (a) dan hanya satu komponen terkoneksi pada gambar 2.20 (b). Perubahan dari dua komponen menjadi satu komponen terkoneksi mengindikasikan bahwa air antara dua catchment basin telah bergabung pada langkah ke n. Komponen yang terkoneksi ini diberi simbol q. Dua komponen dari langkah n-1 dapat diambil dari q dengan menggunakan operasi AND q∩C[n-1]. Semua titik individu lain yang terdapat pada catchment basin juga membentuk sebuah komponen terkoneksi.
Diasumsikan bahwa setiap komponen terkoneksi pada gambar 2.20 (a) telah dilakukan dilasi menggunakan matriks 3x3 oleh elemen yang terdapat pada gambar 2.20 (c) dengan dua kondisi :
1) Dilasi harus dibatasi oleh q dan
2) Dilasi tidak dapat dilakukan pada titik yang dapat menyebabkan kumpulkan titik yang satu dengan kumpulan titik yang lain menjadi bergabung.
Maka hasilnya terdapat pada gambar 2.20 (d) dimana pada dilasi pertama menyebabkan tepi komponen terkoneksi menjadi berkembang dan pada
dilasi kedua, beberapa titik tidak dapat memenuhi kondisi (1) yang disyaratkan, sehingga menyebabkan terputusnya perimeter seperti ditunjukkan pada gambar tersebut. Dengan demikian, maka hanya titik pada q yang dapat memenuhi dua kondisi di atas dan tebal q adalah satu piksel dan merupakan dam yang dibentuk.
Gambar 2.20 Pembentukan dam (Adipranata,dkk, 2008)
2.7.2 Algoritma Morphologi Watershed
Diketahui M1, M2, M3,……, MR adalah kumpulan koordinat titik dalam regional minima sebuah gambar g(x,y). Terdapat C(M1) yang merupakan kumpulan koordinat pada catchment basin dan berhubungan dengan daerah minimum Mi. Notasi min dan max digunakan untuk menandai nilai minimum dan nilai maksimum dari g(x,y). Kemudian dianggap T[n] adalah kumpulan koordinat (s,t) di mana g(s,t) < n, sehingga dapat didefinisikan :
Secara geometri, T[n] adalah kumpulan koordinat dari titik yang berada pada g(x,y) dan terletak di bawah bidang g(x,y) = n.
Topografi akan dialiri dengan penambahan integer mulai dari n = min hingga n = max+1. Pada setiap penambahan n, algoritma perlu mengetahui jumlah titik yang berada di bawah kedalaman aliran. Pada umumnya, daerah yang berada di bawah g(x,y) = n diberi warna hitam atau nilai 0 dan yang berada diatasnya diberi warna putih atau nilai 1.
Kemudian diasumsikan Cn(Mi) merupakan kumpulan koordinat titik didalam catchment basin yang berhubungan dengan minimum Mi yang dialiri pada tahap n. Cn(Mi) dapat dilihat sebagai gambar pada tahap n. Cn(Mi) dapat dilihat sebagai gambar biner dengan menggunakan persamaan :
Cn(Mi)=C(Mi) ∩ T[n] (2-10)
Dengan kata lain Cn(Mi) = 1 terletak pada lokasi (x,y) jika (x,y) є T[n], selain itu maka nilai Cn(Mi)= 0. Berikutnya, diasumsikan C[n] merupakan gabungan dari aliran di catchment basin pada tahap n :
C[n] =
R
U Cn(Mi) i=1
(2-11) dan C[max + 1] adalah gabungan dari semua catchment basin.
C[max+1] = R
U C(Mi) i=1
(2-12)
1] adalah subset dari C[n] dan C[n] adalah subset dari T[n] maka C[n-1] adalah subset dari T[n]. Dari sini didapatkan bahwa tiap komponen
terkoneksi dari C[n-1] terdapat pada persis satu komponen terkoneksi dari T[n]. Algoritma untuk mencari garis watershed pertama kali diinisialisasi dengan :
C[min+1] = T[min+1] (2-13)
Algoritma tersebut akan diproses secara rekursif dengan asumsi pada tahap n maka 1] telah terbentuk. Prosedur untuk mendapatkan C[n] dari C[n-1] adalah sebagai berikut. Diasumsikan Q merupakan kumpulan komponen terkoneksi dalam T[n]. Maka untuk tiap komponen terkoneksi qEQ[n], terdapat tiga kemungkinan :
a. q∩C[n-1] adalah kosong.
b. q∩C[n-1] mempunyai 1 komponen terkoneksi dari C[n-1]
c. q∩C[n-1] mempunyai lebih dari 1 komponen terkoneksi dari C[n-1]. Jika kondisi c terjadi maka pengisian lebih lanjut akan menyebabkan air di catchment basin yang berbeda menjadi bergabung, sehingga perlu dibangun dam di dalam q untuk mencegah mengalirnya air di antara catchment basin yang berbeda. Dam dengan tebal satu piksel dapat dibangun dengan melakukan dilasi q∩C[n-1] dengan elemen 3x3.
2.7.3 Contoh algoritma morphologi watershed Langkah 1
Gambar 2.21 Contoh digital algoritma watershed langkah 1
Terdapat 3 Citra yaitu citra morphological gradient (MG), citra T[n] dengan nilai seluruh piksel adalah 1 dan citra C[n] dengan nilai seluruh piksel adalah 0 yang masing-masing citra memiliki ukuran matrik 10 X 10 piksel. Citra MG adalah hasil proses awal sedangkan citra T[n] dan citra C[n] berguna untuk membantu dalam pembentukan garis dam (watershed).
Langkah 2
Gambar 2.22 Contoh digital algoritma watershed langkah 2
Untuk nilai minimum piksel pada citra MG adalah n=0 maka citra MG dengan nilai piksel 0 akan dialiri air sehingga akan terendam air. Untuk selanjutnya citra T[0] akan diganti dengan nilai 0 (sesuai dengan posisi citra MG (n=0)) dan citra C[0] (masih dalam proses inisialisasi daerah minima) akan membentuk daerah-daerah baru. Untuk tahap ini, citra C[0] akan membentuk 2 daerah minima.
Langkah 3
Gambar 2.23 Contoh digital algoritma watershed langkah 3
Citra MG Dialiri aliran dengan nilai n=255 (maksimum) maka citra MG dengan nilai piksel 255 akan terendam aliran n. Untuk selanjutnya citra T[255] akan diganti dengan nilai 0 (sesuai dengan posisi citra MG (n=255)) dan jika T[255] dan C[0] kosong maka akan membuat daerah baru, jika mengandung 1 komponen dari C[0] maka buat titik tersebut menjadi minima yang telah ada dan jika mengandung lebih dari 1 komponen maka buat menjadi dam (X). Hasil pembentukan dam (n=255) dapat dilihat pada citra C[255].
Langkah 4
Gambar 2.24 Contoh digital algoritma watershed langkah 4
Setelah selesai dalam proses aliran air (maksimum n=255) maka akan terbentuk citra watershed hasil segmentasi. Dimana citra ini menghasilkan 3 daerah minima dan terlihat hasil bendungannya yang berupa nilai “X” dengan ketebalan 1 piksel.
2.8 Huruf Jawa 2.8.7 Aksara Jawa
Aksara Jawa (caraka) adalah abjad atau alat tulis yang digunakan oleh suku Jawa. Jumlah aksara atau huruf pada hanacaraka berjumlah 20 buah. Aksara tersebut dapat dilihat pada gambar 2.25.
Gambar 2.25 Aksara Jawa (Ayo-belajar-nulis-aksara-jawa, 2008) 2.8.8 Aksara Pasangan
Aksara pasangan memiliki fungsi untuk menghubungkan suku kata yang tertutup (diakhiri) konsonan dengan suku kata berikutnya.
Gambar 2.26 Aksara Pasangan (Ayo-belajar-nulis-aksara-jawa, 2008) 2.8.9 Aksara Murda
Aksara murda digunakan untuk huruf awal penulisan nama kota atau nama orang yang dihormati, yaitu
Gambar 2.27 Aksara Murda (Ayo-belajar-nulis-aksara-jawa, 2008)
2.8.10 AksaraWilangan
Untuk penulisan bilangan dalam bahasa Jawa,
yaitu angka 1 s/d 10 dalam aksara Jawa.
Gambar 2.28 Aksara Wilangan (Ayo-belajar-nulis-aksara-jawa, 2008) 2.8.11 Aksara Swara
Biasanya untuk huruf awal penulisan nama kota atau nama orang yang dihormati yang diawali dengan huruf hidup, yaitu : A, I, U, E, O.
Gambar 2.29 Aksara Swara
(Ayo-belajar-nulis-aksara-jawa, 2008) 2.8.12 Tanda Baca (Sandangan)
Merupakan tanda baca yang biasa digunakan, huruf vokal serta huruf konsonan yang biasa dipakai dalam bahasa sehari-hari, yaitu tanda : koma, titik, awal kalimat, dan lain-lain.
Gambar 2.30 Tanda Baca (Sandangan) (Ayo-belajar-nulis-aksara-jawa, 2008)
2.9 Matlab
Dalam proses segmentasi citra ini dibutuhkan Bahasa pemrograman yang dapat melakukan komputasi matematis. Salah satunya adalah bahasa pemrograman Matlab. Bahasa pemrograman Matlab ini memiliki kemampuan antara lain :
• Mengolah data dan menyimpan informasi matematis yang rumit, seperti penanganan array dan matriks, linear algebra, komputasi geometri, sistem koordinat Cartesian, dsb. • Mampu menangani pengolahan citra hingga ke skala piksel.
• Mampu membangun hasil olahan data ke dalam visualisasi 2D maupun 3D yang interaktif.
• Multiplatform, yang artinya dapat dijalankan pada Sistem Operasi berbeda.
2.10 Java
Java merupakan bahasa pemrograman yang memiliki keunggulan antara lain:
• Berbasis GUI yaitu Java bisa membuat tampilan berbasis grafik (Graphic User Interface/GUI) untuk memudahkan pemakai berinteraksi dengan program.
• Berorientasi obyek yaitu Java merupakan salah satu bahasa yang memiliki dukungan penuh terhadap konsep pemrograman berorientasi obyek.
• Multiplatform yaitu Java dapat dijalankan pada komputer dengan platform yang berbeda.
• Keamanan yaitu Java tepat digunakan untuk menangani kebutuhan aplikasi enterprise (keampuhannya dalam soal keamanan).
• Mendukung software Mission-Critical yaitu Java bisa digunakan untuk pengembangan software dimana tingkat error yang terjadi sangat diperhatikan, dimana sebuah error pada eksekusi program bisa mengakibatkan kerusakan fatal.
2.11 JMATLink
Dalam menghubungkan bahasa pemrograman Java dan Matlab yang berjalan secara bersamaan dibutuhkan alat bantu yaitu JMatLink. JMatLink merupakan metode native untuk memampukan mesin komputasi Matlab bekerja di dalam aplikasi Java yang berupa applet maupun servlet.
2.12 Kompleksitas Waktu Asimptotik
Dalam praktek, kompleksitas waktu dihitung berdasarkan jumlah operasi abstrak yang mendasari suatu algoritma, dan memisahkan analisisnya dari implementasi (Suryadi, 1995). Kompleksitas waktu asimptotik biasanya diberi dengan Notasi “O” disebut notasi “O-Besar” atau (Big-O).
Tinjau T(n) = 2n2 + 6n + 1
Tabel 2.1 Perbandingan pertumbuhan T(n) dengan n2 N T(n) = 2n2 + 6n + 1 n2 10 100 1000 10.000 261 20.601 2.006.001 200.060.001 100 10.000 1.000.000 100.000.000
Keterangan :
Untuk n yang besar, pertumbuhan T(n) sebanding dengan n2. Pada kasus ini, T(n) tumbuh seperti n2 tumbuh.
T(n) tumbuh seperti n2 tumbuh saat n bertambah. Kita katakan bahwa T(n) berorde n2 dan kita tuliskan T(n) = O(n2).
39
ANALISA DAN PERANCANGAN SISTEM
Pada bab ini membahas analisa dan perancangan sistem secara umum, rancangan proses, rancangan antar muka yang akan digunakan serta rancangan cara pengujian.
3.1 Analisa Sistem
Pada analisa sistem ini penulis hanya menggunakan proses binerisasi sebagai proses awal untuk melakukan segmentasi, sedangkan untuk proses grayscaling pada metode asli segmentasi watershed tidak digunakan dalam perancangan sistem ini. Hal ini dikarenakan data citra masukan pada metode asli adalah citra berupa gambar (memiliki obyek besar) sedangkan untuk penulisan tugas akhir ini menggunakan citra dokumen teks sastra jawa (memiliki obyek kecil), selain itu karena adanya pertimbangan bahwa citra yang diproses secara grayscaling memiliki intensitas warna piksel antara 0 sampai dengan 255, sehingga akan menghasilkan segmentasi yang tidak akurat atau berlebihan karena ketidak akuratan hasil segmentasi akan mempengaruhi proses selanjutnya yaitu proses pengenalan karakter.
3.1.1 Gambaran Sistem secara Umum
Sistem yang dibangun akan dipakai untuk melakukan segmentasi citra dokumen teks sastra Jawa menggunakan algoritma watershed. Sistem menerima masukan berupa file citra dokumen teks sastra Jawa dengan ekstensi *.jpg. Pada citra dokumen yang diinputkan kemudian dilakukan pre-processing yang meliputi binerisasi, dilasi, erosi dan morphological gradient. Tahap pre-processing berfungsi untuk menyederhanakan representasi citra teks sastra jawa, sehingga akan mempermudah dalam proses
segmentasi. Setelah dilakukan pre-processing tahap selanjutnya adalah melakukan segmentasi citra sehingga menghasilkan citra hasil segmentasi. Secara umum gambaran sistem ditunjukkan pada Gambar 3.1.
DFD Level 0 / Diagram Konteks
Gambar 3.1 Diagram Konteks
Pada Gambar 3.1 terdapat proses sistem segmentasi watershed dimana dalam proses tersebut mempunyai masukan berupa citra dokumen teks sastra jawa dan menghasilkan keluaran berupa citra segmentasi watershed, waktu proses segmentasi watershed, ukuran citra dokumen teks sastra jawa citra baru, waktu proses binerisasi, citra erosi, waktu proses erosi, citra dilasi, waktu proses dilasi, citra morphological gradient dan waktu proses morphological gradient.
DFD Level 1
Gambar 3.2 DFD Level 1
Pada Gambar 3.2 terdapat proses pre-processing dan proses segmentasi watershed. Citra masukan untuk proses pre-processing adalah citra dokumen teks sastra jawa dan menghasilkan citra morphological gradient yang akan dijadikan input untuk proses segmentasi watershed. Hasil proses segmentasi watershed adalah citra segmentasi
watershed, waktu proses segmentasi watershed, ukuran citra dokumen teks sastra jawa, citra baru, waktu proses binerisasi, citra erosi, waktu proses erosi, citra dilasi, waktu proses dilasi, citra morphological gradient, dan waktu proses morphological gradient.
DFD Level 2 Proses 1
Gambar 3.3 DFD Level 2 Proses 1
Pada Gambar 3.3 DFD Level 2 Proses 1 menjelaskan bahwa pada proses pre-processing (Proses 1 dalam DFD Level 1) dipecah lagi menjadi 4 proses yaitu proses binerisasi, proses dilasi, proses erosi dan proses morphological gradient. Citra dokumen teks sastra jawa akan masuk dalam proses binerisasi. Hasil proses binerisasi yang berupa citra baru dan waktu proses binerisasi akan dijadikan masukan untuk proses dilasi dan proses erosi. Pada proses dilasi akan menghasilkan citra dilasi dan waktu proses dilasi sedangkan pada proses erosi akan menghasilkan citra erosi dan waktu proses erosi. Dari hasil kedua proses tersebut maka akan dijadikan input untuk proses selanjutnya yaitu proses morphological gradient dan hasil proses ini adalah citra morphological gradient. Hasil citra morphological gradient ini akan dijadikan input untuk proses segmentasi watershed.
3.1.2 Pre-processing
Pre-processing merupakan kumpulan dari proses yang digunakan untuk menyederhanakan dan menghasilkan segmentasi yang baik. Tahap pre-processing terdiri dari proses binerisasi, proses dilasi, proses erosi dan proses morphological gradient yang menghasilkan citra morphological gradient.
3.1.2.1 Proses Binerisasi
Proses binerisasi adalah proses untuk mengubah citra berwarna atau citra skala keabuan menjadi citra biner (hitam dan putih). Untuk penulisan tugas akhir ini citra biner akan diganti namanya menjadi citra baru karena nilai piksel yang dihasilkan adalah 0 dan 255. Pada gambar 3.4 dijelaskan bagaimana cara kerja proses binerisasi dalam bentuk diagram proses.
Gambar 3.4 Diagram proses binerisasi
Pada citra asli akan dicari nilai Threshold. Selanjutnya citra asli diubah menjadi citra baru dengan menggunakan nilai Threshold. Nilai piksel citra baru akan bernilai 0 (hitam) jika nilai piksel citra asli kurang dari nilai Threshold dan nilai piksel citra baru akan bernilai 255 (putih) jika nilai piksel citra asli lebih dari nilai Threshold.
3.1.2.2 Proses Morphological Gradient
Proses morphological gradient adalah proses di mana citra baru yang dihasilkan merupakan hasil selisih dari proses dilasi dengan proses erosi. Gambar 3.5 menjelaskan bagaimana cara kerja algoritma morphological gradient.
Gambar 3.5 Diagram proses morphological gradient
Proses ini memerlukan hasil dari proses erosi dan dilasi. Proses dilasi dan erosi dapat dilihat pada gambar 3.6 dan gambar 3.7.
3.1.2.2.1 Proses Dilasi
Proses dilasi berfungsi untuk menghaluskan gambar sehingga lebih mudah untuk disegmentasi. Gambar 3.6 menjelaskan bagaimana cara kerja algoritma dilasi.
Citra temp1 adalah sebuah citra hasil proses binerisasi (citra baru). Se adalah elemen 3X3 yang berguna untuk melakukan dilasi dan imdilate adalah fungsi matlab yang berguna untuk melakukan proses dilasi.
3.1.2.2.2 Proses Erosi
Proses erosi berfungsi untuk menghaluskan gambar sehingga lebih mudah untuk disegmentasi. Gambar 3.7 menjelaskan bagaimana cara kerja algoritma dari erosi.
Gambar 3.7 Diagram proses erosi
Citra temp2 adalah sebuah citra hasil proses binerisasi (citra baru). Se adalah elemen 3X3 yang berguna untuk melakukan erosi dan imerode adalah fungsi matlab yang berguna untuk melakukan proses erosi.
3.1.3 Proses Segmentasi
Proses segmentasi dengan menggunakan morphological watershed dijelaskan lengkap pada gambar 3.8. Min dan max di sini adalah nilai minimum dan maksimum dari piksel-piksel pada gambar. Ini digunakan untuk mempersingkat waktu, sehingga tidak diperlukan untuk memulai dari 0 hingga 255. Penentuan daerah dan garis dicek mulai dari piksel dengan nilai minimum hingga maksimum. Seperti yang dijelaskan pada