SKRIPSI
Disusun oleh :
FIRNA ANAS OKTANIA
NPM. 0934010217
J URUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL
"
VETERAN
"
J AWA TIMUR
SURABAYA
PERBANDINGAN DALAM MENDETEKSI TEPI PADA KAIN BATIK
DENGAN METODE PREWITT, SOBEL, CANNY DAN ROBERTS
SKRIPSI
Diajukan Untuk Memenuhi Sebagai Persyaratan Dalam Memperoleh Gelar Sarjana Komputer
Jurusan Teknik Informatika
Disusun oleh :
FIRNA ANAS OKTANIA
NPM. 0934010217
J URUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” J AWA TIMUR
SURABAYA
2013
DENGAN METODE PREWITT, SOBEL, CANNY DAN ROBERTS
Disusun O leh :
FIRNA ANAS OKTANIA
NPM. 0934010217
Telah disetujui untuk mengikuti Ujian Negar a Lisan Gelombang IV Tahun Akademik 2012/2013
Pembimbing Utama Pembimbing Pendamping
Intan Yuniar Purbasari, S.Kom, M.Sc Dr. Ir. Ni Ketut Sari, MT NPT. 3 8006 04 01981 NPT. 19650731 199203 1 001
Mengetahui,
Ketua J urusan Teknik Infor matika Fakultas Teknologi Industri UPN ”Veteran” J awa Timur
SKRIPSI
PERBANDINGAN DALAM MENDETEKSI TEPI PADA KAIN BATIK
DENGAN METODE PREWITT, SOBEL, CANNY DAN ROBERTS
Disusun Oleh : FIRNA ANAS OKTANIA
NPM. 0934010217
Telah dipertahankan di hadapan dan diterima oleh Tim Penguji Skr ipsi J ur usan Teknik Infor matika Fakultas Teknologi Industri
Univer sitas Pembangunan Nasional ”Veteran” J awa Timur Pada Tanggal 14 J uni 2013
Pembimbing : Tim Penguji :
1. 1.
Intan Yuniar Pur basari, S.Kom, M.Sc Basuki Rahmat, S.Si, MT
NPT. 2 8006 04 401981 NPT. 3 6907 06 0209 1
2. 2.
Dr. Ir. Ni Ketut Sar i, MT Chrystia Aji Putra, S.Kom,
NPT. 19650731 199203 1 001 NPT. 3 8610 10 02961
3.
Achmad J unaidi, S.Kom NPT. 3 7811 04 01991 Mengetahui,
Dekan Fakultas Teknologi Industri
Univer sitas Pembangunan Nasional ”Veteran” J awa Timur
Ir. SUTIYONO, MT. NPT. 19600713 1987 03 1 001
KETERANGAN REVISI Mahasiswa di bawah ini :
Nama : Firna Anas Oktania NPM : 0934010217
Jurusan : Teknik Informatika
Telah mengerjakan revisi/ tidak ada revisi*) pra rencana (design)/ skripsi ujian lisan gelombang IV, TA 2012/2013 dengan judul:
“PERBANDINGAN DALAM MENDETEKSI TEPI PADA KAIN BATIK DENGAN METODE PREWITT, SOBEL, CANNY DAN ROBERTS”
Surabaya, 19 Juni 2013 Dosen Penguji yang memerintahkan revisi:
1) Basuki Rahmat, S.Si, MT NPTY. 3 6907 06 0209 1
2) Chrystia Aji Putra, S.Kom NPTY. 3 8610 10 0296 1 3) Achmad Junaidi, S.Kom
NPTY. 3 7811 04 0199 1
Mengetahui,
Pembimbing Utama Pembimbing Pendamping
Intan Yuniar Purbasari, S.Kom, M.Sc Dr. Ir. Ni Ketut Sari, MT
NPT. 3 8006 04 01981 NPT. 19650731 199203 1 001
{
}
{
}
terselesaikannya Laporan Skripsi. Ucapan terima kasih ini saya tujukan kepada : 1) Allah SWT., karena berkat Rahmat dan berkahNya kami dapat menyusun dan
menyelesaikan Laporan Skripsi ini hingga selesai.
2) Bapak Prof. Dr. Ir. Teguh Soedarto, MP selaku Rektor Universitas Pembangunan Nasional “Veteran” Jawa Timur.
3) Bapak Sutiyono, MT selaku Dekan Fakultas Teknologi Industri UPN “Veteran” Jawa Timur.
4) Ibu Dr. Ir. Ni Ketut Sari, MT. selaku Ketua Jurusan Teknik Informatika UPN “Veteran” Jawa Timur yang telah dengan sabar membimbing dengan segala kerendahan hati dan selalu memberikan kemudahan dan kesempatan bagi saya untuk berkreasi.
5) Intan Yuniar Purbasari S.Kom, M.Sc selaku dosen pembimbing utama pada Proyek Skripsi ini di UPN “Veteran” Jawa Timur yang telah banyak memberikan petunjuk, masukan, bimbingan, dorongan serta kritik yang bermanfaat sejak awal hingga terselesainya Skripsi ini.
6) Ibu Dr. Ir. Ni Ketut Sari, MT selaku dosen pembimbing Pendamping (Pembimbing II) yang telah memberikan banyak ide, petunjuk, masukan, bimbingan, dorongan serta bantuan yang sangat berarti dan bermanfaat bagi tugas akhir ini. Serta bersedia meluangkan waktu untuk membimbing dan membantu.
iv
8) Keluarga tercinta, terutama kedua orang tua Ayah & Mama tersayang, terima kasih atas semua doa, dukungan serta harapan-harapanya pada saat penulis menyelesaikan skripsi dan laporan ini. Yang penulis minta hanya doa restunya, sehingga penulis bisa membuat sesuatu yang lebih baik dari laporan ini.
9) Adikku tersayang Frida Anas Aprillia yang selalu setia mendengar keluh kesah dan memberikan senyuman indahnya.
10)Para Sahabatku Kanti Putri Rahayu, Ryan Raynaldi, Asep Kurnaivi Wardana, Mas Rully yang selalu menemani, menyumbangkan saran kritiknya dan tak bosan – bosan selalu memberi support.
11)Warga Informatic”dhe teman seperjuangan yang telah membantu dalam penyelesaian Laporan Skripsi ini. Yang telah memberikan dorongan dan doa, yang tak bisa penulis sebutkan satu persatu. Terima Kasih yang tak terhingga untuk kalian semua. Semoga Allah SWT yang membalas semua kebaikan dan bantuan tersebut.
segala limpahan Kekuatan-Nya sehingga dengan segala keterbatasan waktu, tenaga, pikiran dan keberuntungan yang dimiliki peneliti, akhirnya peneliti dapat menyelesaikan Skripsi yang berjudul “ PERBANDINGAN DALAM MENDETEKSI TEPI PADA KAIN BATIK DENGAN METODE PREWITT, SOBEL, CANNY DAN ROBERTS ” tepat waktu.
Skripsi dengan beban 4 SKS ini disusun guna diajukan sebagai salah satu syarat untuk menyelesaikan program Strata Satu (S1) pada jurusan Teknik Informatika, Fakultas Teknologi Industri, UPN ”VETERAN” Jawa Timur.
Melalui Skripsi ini peneliti merasa mendapatkan kesempatan emas untuk memperdalam ilmu pengetahuan yang diperoleh selama di bangku perkuliahan, terutama berkenaan tentang penerapan teknologi perangkat bergerak. Namun, penyusun menyadari bahwa Skripsi ini masih jauh dari sempurna. Oleh karena itu penyusun sangat mengharapkan saran dan kritik dari para pembaca untuk pengembangan aplikasi lebih lanjut.
Surabaya, April 2013
v
DAFTAR ISI
Halaman LEMBAR PENGESAHAN
ABSTRAK ... i
KATA PENGANTAR ... ii
UCAPAN TERIMA KASIH ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... viii
DAFTAR TABEL ... x
BAB I PENDAHULUAN ... 1
1.1. Latar Belakang ... 1
1.2. Rumusan Masalah ... 6
1.3. Batasan Masalah ... 6
1.4. Tujuan ……….. ... 7
1.5. Manfaat ... 7
1.6. Metodologi Penelitian ... 8
1.7. Sistematika Penulisan ... 9
BAB II TINJ AUAN PUSTAKA ... 11
2.1 Image ... 11
2.1.1 Analog Image ………... 11
2.1.2 Digital Image ……… ... 11
2.2. Pengolahan Citra Digital ... 12
2.4. Grayscale ... 17
2.5. Thresholding ... 18
2.6. Tepi ... 18
2.7. Deteksi Tepi ... 19
2.7.1 Metode Sobel ………... ... 22
2.7.2 Metode Prewittl ………... 25
2.7.3 Metode Canny ………... .. 25
2.7.4 Metode Roberts ………... 27
2.8. Precision dan Recall ... 28
2.9. MATLAB ... 28
2.9.1 Lima Bagian Utama Matlab ……… ... 31
2.9.1 Memulai Gui Matlab ……… ... 35
BAB III ANALISIS DAN PERANCANGAN SISTEM ... 36
3.1 Analisa Sistem ... 36
3.2 Gambaran Aplikasi secara Umum ... 37
3.3 Perancangan proses ... 38
3.3.1 Grayscale ... 38
3.3.2 Metode Sobel ... 40
3.3.3 Metode Prewitt ... 41
3.3.4 Metode Canny ... 42
3.3.5 Metode Roberts ... 43
3.3.6 Precision dan Recall ... 44
vii
BAB IV IMPLEMENTASI ... 47
4.1 Kebutuhan Hardware dan Software ... 47
4.2 Implementasi Data ... 48
4.3 Implementasi Antarmuka ... 48
4.4 Implementasi Proses ... 50
4.4.1 Proses Load ... 50
4.4.2 Proses Edge Detection ... 51
4.4.3 Proses Histogram ... 52
4.4.4 Proses Save ... 53
4.4.5 Proses Exit ... 53
4.5 Uji Coba Program ……… 54
4.5.1 Skenario Uji Coba ………... 54
4.5.2 Pelaksanaan Uji Coba ... 55
4.6 Analisa Aplikasi ... 61
4.6.1 Analisa Proses Berdasarkan Gambar ... 61
4.6.2 Analissa Proses Berdasarkan Jumlah Piksel Warna Putih 64 BAB V KESIMPULAN DAN SARAN ... 70
6.1. Kesimpulan ... 70
6.2. Saran ... 71
DAFTAR PUSTAKA ... 72
ABSTRAK
Batik merupakan bagian dari hasil kebudayaan Indonesia yang telah diakui dunia internasional. Dalam era globalisasi seperti saat ini minat masyarakat terhadap batik semakin meningkat. Berkaitan dengan hal tersebut, maka diperlukan penelitian tentang otomasi pembuatan batik tulis. Tugas Akhir ini bertujuan untuk mendapatkan hasil pendeteksian tepi yang paling baik dari keempat metode yaitu Prewitt, Sobel, Canny dan Roberts. Dari sini maka perlu dilakukan penelitian untuk mengembangkan canting elektrik sehingga menjadi suatu mesin pembatik otomatis.
Metode prewitt merupakan pengembangan dari gradient operator dengan menggunakan 2 mask (horizontal dan vertikal) ukuran 3x3. Metode Prewitt merupakan pengembangan metode Sobel dengan menggunakan filter HPF (High Pass Filter) yang diberi satu angka nol penyangga. Metode sobel menidentifikasi tepi dengan aproksimasi Sobel dengan turunannya. Metode ini memperlihatkan tepi pada area dimana gradiennya bernilai maksimum. Metode roberts merupakan salah satu operator yang menggunakan jendela matrik 2x2, operator ini melakukan perhitungan dengan mengambil arah diagonal untuk melakukan perhitungan nilai gradiennya. Metode canny mendeteksi tepi dengan mengidentifikasi maksimal lokal dari gradien pada citr.a. metode ini menggunakan dua nilai ambang/nilai batas (threshold) untuk mendeteksi tepi yang lemah dan yang kuat.
Analisis citra merupakan salah satu metode dalam pengolahan citra digital. Proses yang dilakukan dalam mendeteksi tepi dimulai dari masukan gambar asli kemudian akan dirubah menjadi citra grayscale, threshold dan metode Sobel, Prewitt, Canny dan Roberts. Perangkat yang digunakan dalam skripsi ini adalah Matlab 7.0
Penulisan ini membahas tentang perbandingan hasil deteksi tepi dengan berbagai metode operator menggunakan Matlab. Berdasarkan perbandingan dengan hasil dari keempat metode, dapat disimpulkan bahwa metode Canny memberikan hasil yang cukup baik mempunyai tingkat akurasi keberhasilan 92% dibandingkan dengan metode Prewitt, Sobel dan Roberts
J UDUL : DETEKSI TEPI CITRA UNTUK MENENTUKAN KUALITAS IMAGE PADA KAIN BATIK DENGAN METODE PREWITT, SOBEL, CANNY DAN ROBERTS PENYUSUN : FIRNA ANAS OKTANIA
DOSEN PEMBIMBING I : INTAN YUNIAR PURBASARI, S.KOM, M.SC DOSEN PEMBIMBING II : Dr. Ir . NI KETUT SARI, MT
ii
ABSTRACT
One of the main stages in the digital image processing is edge detection process, with the process object with the boundary between the background can be determined properly. Edge detection aims to improve the appearance of the boundary line of an area or object in the image and improve and change the image. There are many edge detection methods are currently known, in this study the edge detection method used is the Prewitt, Sobel, Canny and Roberts. Image analysis is a method of digital image processing. The process is done in detecting edges starting from the original input image will then be converted to grayscale images, threshold and method of Sobel, Prewitt, Canny and Roberts. The parameters of comparison used is visually and from the number of white pixels contained in the image of the edge detection. The device used in this paper is MATLAB 7.0
Writing is about comparison of the results with different methods of edge detection operators using Matlab. By comparison with the results of the four methods, it can be concluded that the method of Canny gives good results compared to the Prewitt, Sobel, and Roberts.
Keywords: Edge Detection, Image, Matlab 7.0
ABSTRAK
Mengukur luas tambak dalam sebuah citra gambar yang memiliki ketajaman atau yang berkaitan dengan proses transfer data sangat dibutuhkan untuk mendapatkan hasil citra gambar yang sesuai dengan yang dibutuhkan pada aplikasi ini, permasalahan diselesaikan dengan metode Sobel dengan dukungan pemilihan ukuran mask secara manual dari yang telah disediakan dalam aplikasi untuk mendapat hasil yang dibutuhkan. Tugas akhir ini bertujuan untuk “Mengukur Luas Tambak Dari Citra Google Satelit Dengan Menggunakan Metode Deteksi Tepi Sobel”. Sistem ini diimplementasikan menggunakan sobel untuk penghalusan data citra gambar, sehingga sistem harus dibangun sesuai dengan kebutuhan.
Operator sobel merupakan pengembangan Operator robert dengan menggunakan filter HPF(High Pass Filter) yang diberi satu angka nol penyangga. Operator ini mengambil prinsip dari fungsi laplacian dan gaussian yang dikenal sebagai fungsi untuk membangkitkan HPF. Kelebihan dari Operator sobel ini adalah kemampuan untuk mengurangi noise sebelum melakukan perhitungan deteksi tepi. Analisis citra merupakan salah satu metode dalam pengolahan citra digital. Proses yang dilakukan dalam mendeteksi tepi dimulai dari masukan gambar asli kemudian akan dirubah menjadi citra grayscale, sobel, dilasi, closing, invers, erosi, dan rekontruksi.
Operasi citra digital dalam mengukur luas tambak dari citra google satelit dengan menggunakan metode deteksi tepi sobel ini mempunyai tingkat akurasi keberhasilan 95% dengan hasil yang sempurna ditemukannya obyek tambak dengan intensitas gambar yang utuh dan kondisi jarak yang sesuai.
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Istilah “Kebudayaan” dan “Culture” . Kata “kebudayaan” berasal dari kata Sansekerta buddhayah, yang merupakan bentuk jamak dari buddhi yang berarti “budi atau “akal”. Kebudayaan menurut Koentjaraningrat (2005:72) adalah seluruh sistim gagasan dan rasa, tindakan, serta karya yang dihasilkan manusia dalam kehidupan bermasyarakat, yang dijadikan miliknya dengan belajar. Menurut Soekanto (2002:2) mengenai kebudayaan adalah mencakup semua yang didapat atau dipelajari oleh manusia sebagai anggota masyarakat yang meliputi segala sesuatu yang dipelajari dari pola-pola perikelakuan normatif yang mencakup segala cara atau pola pikir, merasakan, dan bertindak. (Asri Adetiani, 2007)
Kesenian merupakan segala sesuatu yang berhubungan dengan seni. Sedangkan menurut pengertian awam, seni adalah keindahan yang diciptakan oleh manusia. Bunga mawar yang indah bukan suatu karya seni, tetapi jika bunga tersebut dilukis maka lukisan tersebut merupakan sebuah karya seni. Ki Hajar Dewantara memberi batasan yang lebih luas lagi dengan pendapatnya, bahwa seni adalah perbuatan manusia yang timbul dari hidup perasaannya dan bersifat indah, sehingga dapat menggerakkan jiwa perasaan manusia. Seni dapat lahir dan berkembang karena pada umumnya manusia senang pada keindahan. Kesenian
mengacu pada nilai keindahan (estetika) yang berasal dari ekspresi hasrat manusia akan keindahan yang dinikmati dengan mata ataupun telinga. Sebagai makhluk yang mempunyai cita rasa tinggi, manusia menghasilkan berbagai corak kesenian mulai dari yang sederhana hingga perwujudan kesenian yang kompleks. Kesenian yang berkembang di masyarakat diantaranya adalah seni Batik. (Oxlay, 2011)
3
teknik cap. Dan guna melestarikan kesenian batik ,membuat suatu dokumentasi dan mengkoleksi batik merupakan langkah jitu untuk membuat generasi ang akan datang bisa melihat dan mengenali batik. Saat ini batik dapat digunakan oleh semua kalangan baik bentuk formal maupun non formal, dan membuat bentuk pola – pola baru dari deteksi tepi untuk batik agar tetap menarik dalam penggunaannya. Diharapkan untuk generasi mendatang warisan budaya batik akan tetap terlestarikan sebagai warisan budaya Indonesia. Batik Indonesia secara resmi diakui UNESCO dengan dimasukkannya ke dalam Daftar Representatif sebagai Budaya Tak-benda Warisan Manusia (Representative List of the Intangible Cultural Heritage of Humanity) dalam Sidang ke-4 Komite Antar-Pemerintah tentang Warisan Budaya Tak-benda di Abu Dhabi, Uni Emirat Arab, Jumat (2/9) malam.(Lucky Savitri, 2013)
Data atau informasi tidak hanya disajikan dalam bentuk teks, tetapi juga dapat berupa gambar, audio (bunyi, suara, musik), dan video. Keempat macam data atau informasi ini sering disebut multimedia. Citra (image), istilah lain untuk gambar, sebagai salah satu komponen multimedia yang berperan sangat penting sebagai bentuk informasi visual. Citra menurut kamus Webster adalah suatu representasi, kemiripan, atau imitasi dari suatu obyek atau benda.( Lia Amelia, 2012)
Citra (image) istilah lain untuk gambar, sebagai salah satu komponen multimedia memegang peranan sangat penting sebagai bentuk informasi visual. Citra mempunyai karakteristik yang tidak dimiliki oleh data teks, yaitu citra kaya dengan informasi. Ada sebuah peribahasa yang berbunyi “sebuah gambar lebih bemakna
dari seribu kata" (a picture is more than a thousand words). Maksudnya tentu sebuah gambar dapat memberikan informasi yang lebih banyak daripada informasi tersebut disajikan dalam bentuk kata-kata (tekstual). Secara harfiah, citra (image) adalah gambar pada bidang dwimatra (dua dimensi). Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dwimatra.(Agung Priyo, 2005)
5
pertama dan turunan kedua. Saat ini telah ada beberapa metode yang dapat digunakan dalam mendeteksi tepi, contohnya adalah metode Roberts, Sobel, Prewitt, Laplacian of Gaussian (LoG), Canny, dan sebagainya. Dalam penulisan skripsi ini, akan dibahas empat buah metode deteksi tepi, yaitu metode Prewitt, Sobel, Canny dan Roberts. Metode Prewitt merupakan metode yang menggunakan Operator Prewitt, Persamaan gradien pada operator prewitt sama dengan gradien pada operator sobel perbedaannya adalah pada prewitt menggunakan konstanta c=1. Metode Sobel merupakan metode yang menggunakan Operator Sobel. Operator ini menggunakan dua buah kernel yang berukuran 3x3 piksel untuk penghitungan gradiennya. Operator Robert Cross merupakan salah satu operator yang menggunakan jendela matrik 2x2. Beberapa manfaat yang bisa diperoleh dari deteksi tepi adalah untuk menentukan stadium kanker, mendeteksi tepi citra USG janin, dan mendeteksi karies pada gigi, sehingga bentuk citra yang dihasilkan dapat terlihat lebih jelas. Deteksi tepi juga dapat digunakan untuk aplikasi pengenalan plat kendaraan, aplikasi pengenalan sidik jari, dan untuk membedakan uang asli dengan uang palsu. Keempat metode deteksi tepi ini menghasilkan citra yang berbeda, dimana citra yang dihasilkan metode Canny lebih baik dan jumlah piksel warna putih yang diperoleh lebih banyak dibanding dengan metode Sobel, Prewitt dan Roberts. (Lia Amelia, 2012)
Dalam skripsi ini akan memberikan gambaran mengenai penerapan keempat metode dalam mendeteksi tepi pada suatu citra digital. Dan dari keempat metode ini akan dibandingkan hasil citra yang diperoleh dari
masing metode deteksi tepi.
1.2 Rumusan Masalah
Berdasarkan beberapa uraian latar belakang di atas maka dapat dirumuskan masalah, yaitu :
a. Merancang sebuah aplikasi deteksi tepi dengan mengimplementasikan empat metode yaitu Sobel, Prewitt, Canny dan Roberts.
b. Metode mana yang lebih baik dalam mendeteksi tepi suatu citra digital pada kain batik secara visual dan dari jumlah piksel warna putih yang diperoleh dari hasil deteksi tepi.
1.3 Batasan Masalah
Adapun batasan-batasan masalah yang dibuat agar dalam pengerjaan tugas akhir ini dapat berjalan degan baik adalah sebagai berikut :
a. Perangkat yang digunakan dalam skripsi ini adalah Matlab 7.0
b. Pembahasan pada deteksi tepi citra.
c. Inputan image berupa kain batik dan citra berwarna RGB.
d. Parameter perbandingan yang digunakan adalah secara visual dan dari jumlah piksel warna putih yang terdapat pada citra hasil deteksi tepi.
e. Menganalisis kestabilan piksel warna putih dari keempat metode.
f. Tidak menggunakan database karena tujuan penelitian hanya untuk menganalisa dari keempat metode.
7
1.4 Tujuan
Dari rumusan masalah di atas, maka tujuan dari penulisan tugas akhir ini adalah meningkatkan penampakan garis batas suatu daerah atau objek didalam citra. Menganalisa deteksi tepi dengan menggunakan beberapa operator deteksi untuk mengetahui metode mana yang lebih baik dalam mendeteksi tepi suatu citra pada kain batik secara visual dan dari jumlah piksel warna putih yang diperoleh dari hasil deteksi tepi.
1.5 Manfaat
Manfaat dari penulisan tugas akhir ini adalah :
a. Untuk mengetahui metode mana yang lebih optimal dalam mendeteksi tepi diantara empat metode yaitu Sobel, Prewitt, Canny dan Roberts.
b. Dapat dipergunakan sebagai dasar penelitian selanjutnya untuk pendeteksian tepi dan teknik – teknik pengolahan citra digital lainnya.
1.6 Metodelogi Penelitian
Beberapa metode dan teknik yang dipergunakan dalam pengumpulan dan pengolahan data skripsi ini antara lain :
1.1 Library Research
Pada tahap ini, penulis mempelajari dan membaca buku diktat, referensi, buletin perpustakaan sebagai acuan yang berkaitan dengan permasalahan yang akan dibahas.
2.1 Documentation
Penulis melakukan pencatatan terhadap aktifitas yang berhubungan dangan pengamatannya, apabila diperlukan pencatatan.
3.1 Perancangan dan Pembuatan Sistem
Melakukan analisa awal tentang sistem yang akan dibuat untuk menentukan langkah selanjutnya. Setelah sistem dirancang maka tahap berikutnya adalah pembuatan sistem yang benar, agar sesuai dengan rancangan. Pada tahap ini juga dilakukan perancangan struktur data, algoritma dan diagram alur yang akan digunakan untuk implementasi dalam perangkat lunak yang akan dibuat. Kemudian dilakukan pengimplementasian struktur data dan algoritma yang telah dirancang ke dalam bahasa pemrograman.
4.1 Pengujian dan Evaluasi Perangkat Lunak
Tahap ini dulakukan pengujian pada perangkat lunak yang telah dibuat, pengevaluasian hasil yang diperoleh serta perbaikan program (revisi), jika hasil belum sesuai dengan tujuan yang diharapkan.
5.1 Pembuatan Naskah Skripsi
9
metode yang terlibat di dalamnya, diantaranya desain perangkat lunak dan implementasinya, hasil pengujian sistem termasuk juga perbaikan.
1.7 Sistematika Penulisan
Dalam penyusunan tugas akhir, sistematika pembahasan diatur dan disusun dalam enam bab, dan tiap-tiap bab terdiri dari sub-sub bab. Untuk memberikan gambaran yang lebih jelas, maka diuraikan secara singkat mengenai materi dari bab-bab dalam penulisan tugas akhir ini sebagai berikut:
BAB I PENDAHULUAN
Bab ini berisi latar belakang, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, dan sistematika penulisan pembuatan tugas akhir ini.
BAB II TINJ AUAN PUSTAKA
Bab ini menjelaskan mengenai landasan teori-teori pendukung pembuatan tugas akhir ini.
BAB III METODOLOGI PENELITIAN
Bab ini berisi tentang analisa dan perancangan sistem dalam pembuatan Tugas Akhir yang digunakan untuk mengolah sumber data yang dibutuhkan sistem anatara lain: Flowchart
BAB IV HASIL DAN PEMBAHASAN
Pada bab ini akan membahas tentang kerja dari sistem secara keseluruhan. Pada bab ini menjelaskan tentang pelaksanaan uji coba dan evaluasi dari pelaksanaan uji coba dari program yang dibuat. Uji coba dapat dilakukan pada akhir dari tahap-tahap
analisa sistem, desain sistem dan tahap penerapan sistem atau implementasi. Sasaran dari ujicoba program adalah untuk menemukan kesalahn-kesalahan dari program yang mungkin terjadi sehingga dapat diperbaiki.
BAB V KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dan saran dari penulis untuk pengembangan sistem.
DAFTAR PUSTAKA
11
BAB II
TINJ AUAN PUSTAKA
2.1. Image
Data masukan yang diproses adalah suatu image. Image merupakan sebuah representasi khusus dari suatu obyek, baik obyek dua dimensi maupun tiga dimensi, dimana representasi tersebut dinyatakan dalam bentuk dua dimensi. Image dapat berbentuk nyata, maya, ataupun dalam bentuk optik. Selain itu, image juga dapat berupa rekaman, seperti video image, digital image, atau sebuah gambar (Haralick dan Shapiro, 1992, p1). Image dapat dikategorikan sebagai :
2.1.1 Analog Image
Menurut Shapiro dan Stockman (2001, p29), analog image adalah image 2D F(x,y) yang memiliki ketelitian tidak terbatas dalam parameter spasial x dan y dan ketelitian tak terbatas pada intensitas tiap titik spasial (x,y). 2.1.2 Digital Image
Menurut Shapiro dan Stockman (2001, p29), digital image adalah image 2D I[r,c] yang direpresentasikan oleh array diskrit 2D dari intensitas sampel, dimana masing-masing titik direpresentasikan dengan ketelitian terbatas. Digital image juga didefinisikan sebagai representasi dari gambar dua dimensi sebagai himpunan terbatas dari nilai digital yang disebut picture elements atau pixel. Umumnya pixel disimpan dalam komputer sebagai gambar raster, yaitu array dua dimensi dari integer. Nilai ini kadang disimpan dalam bentuk
terkompresi. Digital image dapat diperoleh dari berbagai macam alat dan teknik pengambil gambar, seperti kamera digital, scanner, radar, dan sebagainya. Dapat pula disintesis dari data seperti fungsi matematika dan lain lain. (Anonim, 2005a). Menurut Jain, Kasturi dan Schunck (1995, p12), pixel adalah sampel dari intensitas image yang terkuantisasi ke dalam nilai integer. Sementara Image merupakan array dua dimensi dari pixel-pixel tersebut. Image inilah yang akan menjadi input awal dalam Computer Vision.
Beberapa bentuk digital image yang sering digunakan dalam Computer Vision (Shapiro dan Stockman, 2001, p30):
• Binary image, yaitu digital image dengan nilai pixel 1 atau 0.
• Gray scale image, yaitu digital image monochrom dengan satu nilai intensitas
tiap pixel.
• Multispectral image, adalah image 2D yang memiliki vektor nilai pada tiap
pixel, jika image berwarna maka vektornya memiliki 3 elemen.
• Labeled image, adalah digital image dimana nilai pixel adalah simbol dari
alfabet terbatas. (Anonim, 1996)
2.2 Pengolahan Citr a Digital
13
oleh alat-alat optik, misalnya mata pada manusia, kamera, pemindai (scanner), dan sebagainya, sehingga bayangan objek yang disebut citra tersebut terekam. (Rinaldi Munir,2010)
Citra mempunyai karakteristik yang tidak dimiliki oleh data teks, yaitu bahwa citra kaya dengan informasi. Citra juga dapat dikelompokkan menjadi dua yaitu citra tampak (foto, gambar, lukisan, apa yang nampak di layar monitor/televisi, hologram, dan lain-lain) dan citra tidak tampak (data foto/gambar dalam bentuk file, citra yang direpresentasikan dalam fungsi matematis). Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat optik berupa foto, analog berupa sinyal video seperti gambar pada monitor televisi, dan digital yang dapat langsung disimpan pada media penyimpan magnetik. Citra digital adalah citra yang disimpan dalam format digital (dalam bentuk file). Hanya citra digital yang dapat diolah menggunakan komputer. Jenis citra lain jika akan diolah dengan komputer harus diubah dulu menjadi citra digital. Citra digital tersusun atas sejumlah berhingga elemen, masing-masing memiliki lokasi dan nilai/intensitas tertentu. Elemen-elemen ini disebut elemen gambar, elemen citra, pels, dan juga piksel. Pencitraan (imaging) adalah kegiatan mengubah informasi dari citra tampak/citra non digital menjadi citra digital. Beberapa alat yang dapat digunakan untuk pencitraan adalah scanner, kamera digital, kamera sinar-x/sinar infra merah, dan lain-lain. Jadi, pengolahan citra digital adalah proses yang bertujuan untuk memanipulasi dan menganalisis citra digital dengan bantuan komputer. Masukannya adalah citra dan keluarannya juga citra
tapi dengan kualitas lebih baik daripada citra masukan. (Lia Amelia, 2012)
Pengolahan citra bertujuan untuk memperbaiki kualitas citra agar mudah diinterpretasikan oleh manusia atau mesin. Teknik-teknik pengolahan citra mentransformasikan citra menjadi citra lain. Inputan pada proses ini adalah citra dan keluarannya juga berupa citra dengan kualitas lebih baik daripada citra inputan sebelumnya.
Gambar 2.1 Pengolahan citra (Agung Priyo,2005)
Pengenalan Pola, mengelompokkan data numeric dan simbolik (termasuk citra) secara otomatis, oleh mesin (dalam hal ini komputer). Tujuan pengelompokan adalah untuk mengenali suatu objek di dalam citra. Manusia bisa mengenali objek yang dilihatnya karena otak manusia telah belajar mengklasifikasi objek-objek di alam sehingga mampu membedakan suatu objek dengan objek lainnya. Kemampuan sistem visual manusia inilah yang dicoba ditiru oleh mesin. Komputer menerima masukan berupa citra objek yang akan diidentifikasi, memproses citra tersebut dan memberikan keluaran berupa deskripsi objek didalam citra. (Agung Priyo,2005)
Pengolahan
Citra
15
Pengenalan
Pola
citradeskripsi objek
Gambar 2.2 Pengenalan Pola (Agung Priyo,2005)
Selain dalam dunia fotografi pengolahan citra digunakan juga dalam dunia kedokteran terutama untuk memperjelas citra hasil sinar-x organ tubuh manusia, pengolahan citra juga digunakan dalam bidang lain seperti penyiaran, telekomunikasi digital, Sistem multimedia, bilogi, sistem penginderaan jauh, seni grafis, percetakan, militer, bidang pertanian dan masih banyak bidang lainnya. (Murinto, 2008)
2.3 Computer Vision
Terminologi lain yang berkaitan erat dengan pengolahan citra adalah Computer Vision atau Machine Vision. Pada hakikatnya, Computer Vision mencoba meniru cara kerja sistem visual manusia (Human Vision). Human Vision sesungguhnya sangat kompleks. Manusia melihat objek dengan indera penglihatan (mata), lalu citra objek diteruskan ke otak untuk diinterpretasi sehingga manusia mengerti objek apa yang tampak dalam pandangan matanya. Hasil interpretasi ini mungkin digunakan untuk pengambilan keputusan (misalnya menghindar, jika melihat mobil melaju di depan).
Computer vision merupakan proses otomatis yang mengintegrasikan sejumlah besar proses untuk persepsi visual, seperti akuisisi citra, pengolahan citra, klasifikasi, pengenalan (recognition) dan membuat keputusan. Computer vision
terdiri dari teknik-teknik untuk mengestimasi ciri-ciri objek di dalam citra, pengukuran ciri yang berkaitan dengan geometri objek dan menginterpretasi informasi geometri tersebut. Proses – proses di dalam computer vision dapat di golongkan menjadi tiga aktivitas
1. Memperoleh atau mengakuisisi citra digital.
2. Melakukan teknik komputasi untuk memperoses atau memodifikasi data citra (operasi - operasi pengolahan citra).
3. Menganalisis dan menginterpretasi citra dan menggunakan hasil pemrosesan untuk tujuan tertentu, misalnya memandu robot, mengontrol peralatan, memantau proses manufaktur dan lain sebagainya.
pengklasifikasian proses - proses di dalam computer vision dalam hirarkhi sebagai berikut :
Hirarkhi Pemrosesan Contoh Algoritma Preprocessing noise removal
contrast enhancement
Lowest level feature extraction edge detection texture detection
intermediate – level feature identification connectivity patern matching boundary coding high – level scene interpretation via images model – base
Gambar 2.3. Pengklasifikasian proses - proses di dalam computer vision
(Agung Priyo, 2005)
17
Dari penjelasan di atas, dapat kita lihat bahwa pengolahan citra dan pengenalan pola merupakan bagian dari computer vision. Pengolahan citra merupakan proses awal (preprocessing) pada computer vision, sedangkan pengenalan pola merupakan proses untuk menginterpretasi citra.
Teknik-teknik di dalam pengenalan pola memainkan peranan penting dalam computer vision untuk mengenali objek. Jika dihubungkan dengan grafika komputer, maka computer vision merupakan kebalikannya. (Agung Priyo,2005)
2.4 Grayscale
Mencari tingkat keabuan adalah proses pengubahan warna citra menjadi format warna yang hanya berdasarkan tingkat keabuan. Proses ini menghilangkan informasi hue dan saturation dari piksel dan hanya meninggalkan nilai brightness. Setiap piksel dari tingkat keabuan citra memiliki nilai brightness antara 0 (hitam) sampai 255 (putih). Foto hitam putih merupakan contoh umum dari model warna tingkat keabuan. Walaupun disebut hitam putih, sesungguhnya foto tersebut terbentuk dari banyak warna abu-abu yang berbeda. Tujuan perhitungan tingkat keabuan adalah memudahkan proses selanjutnya yaitu proses thresholding. Dengan algoritma perhitungan tingkat keabuan, piksel dari suatu citra yang mengandung warna-warna RGB (merah, hijau dan biru) diubah menjadi warna-warna dalam berbagai tingkat keabuan dengan menjumlahkan nilai warna merah, hijau dan biru kemudian dibagi tiga sehingga didapatkan nilai rata-rata dari ketiga warna. (Guntur Parikesit,2009)
2.5 Thersholding
Thresholding adalah proses untuk mengelompokkan semua piksel pada citra dengan nilai tertentu menjadi dua bagian dengan nilai gray level yang telah ditentukan.
Pembuatan citra biner adalah salah satu bentuk thresholding dengan nilai 0 dan 1, yaitu melakukan perubahan semua nilai piksel yang lebih besar atau sama dengan nilai ambang menjadi 1 dan semua nilai piksel yang lebih kecil dari nilai ambang menjadi 0. Untuk Thresholding tunggal, dapat dilihat melalui fungsi berikut :
g( , ) = 0 ( , ) <
1 ( , ) ≥ ...(2.1)
Nilai Thresholding (T) dapat di peroleh dengan berbagai cara, salah satu caranya adalah dengan melakukan perhitungan sederhana, dimana nilai rata-rata jumlah piksel yang memiliki nilai dibawah T sama dengan nilai rata-rata jumlah piksel yang memiliki nilai diatas T. Untuk perhitungan ini, nilai T yang didapat untuk gambar yang memiliki histogram yang telah ter-equalize adalah berkisar antara 127 dan 128. Nilai dari maksimum T adalah nilai tertinggi dari system warna yang digunakan dan nilai minimum dari T adalah nilai terendah dari system warna yang digunakan. Untuk 256 graylevel maka nilai tertinggi T adalah 255 dan nilai terendahnya adalah 0.(Eko Prasetyo, 2011)
2.6 Tepi
19
Perbedaan intensitas inilah yang menampakkan rincian pada gambar. Tepi biasanya terdapat pada batas antara dua daerah berbeda pada suatu citra. Tepi dapat diorientasikan dengan suatu arah, dan arah ini berbeda-beda pada bergantung pada perubahan intensitas. (Rinaldi Munir,2010)
Gambar 2.4 Model tepi satu matra (Rinaldi Munir, 2010)
2.7 Deteksi Tepi
Deteksi tepi merupakan sebuah proses di mana proses tersebut berfungsi untuk mendeteksi garis tepi yang membatasi dua wilayah citra. Saat ini telah banyak operator – operator yang dapat digunakan dalam pembuatan deteksi tepi, contohnya adalah operator Robert , prewitt, sobel, serta operator turunan seperti laplace. Deteksi tepi itu sendiri bertujuan untuk menandai bagian yang menjadi detail citra, dan memperbaiki serta mengubah citra.(Septian Dwi Cahyo,2010)
Pendeteksian tepi merupakan langkah pertama untuk melingkupi informasi di dalam citra. Tepi mencirikan batas-batas objek dan karena itu tepi berguna untuk proses segmentasi dan identifikasi objek di dalam citra. Tujuan operasi pendeteksian tepi adalah untuk meningkatkan penampakan garis batas suatu daerah atau objek di dalam citra. Karena tepi termasuk
ke dalam komponen berfrekuensi tinggi, maka pendeteksian tepi dapat dilakukan dengan penapis lolos-tinggi.(Rinaldi Munir,2010 )
Manfaat yang bisa diperoleh dari deteksi tepi dalam berbagai bidang, misalnya yang paling banyak digunakan dalam bidang kedokteran adalah untuk menentukan stadium kanker, mendeteksi tepi citra USG janin, mendeteksi karies pada gigi, sehingga bentuk citra yang dihasilkan dapat terlihat lebih jelas. Di bidang lainnya, deteksi tepi digunakan untuk aplikasi pengenalan plat kendaraan, aplikasi pengenalan sidik jari, dan untuk membedakan uang asli dengan uang palsu. (Lia Amelia, 2012)
Terdapat beberapa teknik yang digunakan untuk mendeteksi tepi, antara lain:
• Operator gradien pertama (differential gradient)
mendeteksi tepi di dalam citra, yaitu operator gradien selisih-terpusat, operator Sobel, operator Prewitt, operator Roberts, operator Canny.
• Operator turunan kedua (Laplacian)
21
• Operator kompas (compass operator)
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 Utara, Timur Laut, Timur, Tenggara, Selatan, Barat, Barat Daya, dan Barat Laut.
Contoh beberapa gradien pertama yang dapat digunakan untuk turunan pertama menghasilkan tepi yang lebih tebal, sedangkan turunan kedua menghasilkan tepi yang lebih tipis. Ada tiga macam tepi yang terdapat di dalam citra digital. Ketiganya adalah:
1. Tepi curam
Tepi dengan perubahan intensitas yang tajam. Arah tepi berkisar 90°. 2. Tepi landai
Disebut juga tepi lebar, yaitu tepi dengan sudut arah yang kecil. Tepi landau dapat dianggap terdiri dari sejumlah tepi-tepi lokal yang lokasinya berdekatan.
3. Tepi yang mengandung derau (noise)
Umumnya tepi yang terdapat pada aplikasi computer vision mengandung derau. Operasi peningkatan kualitas citra (image enhancement) dapat dilakukan terlebih dahulu sebelum pendeteksian tepi. (Rinaldi Munir,2010)
Gambar 2.5 Jenis – jenis tepi (Rinaldi Munir, 2010) 2.7.1 Metode Sobel
23
diperiksa (piksel tengah) ke dalam matrik. Cara yang demikian disebut spatial filtering.
Tabel 2.1 Matrik 3x3 pada area image(Lia Amelia,2012)
Didefenisikan Gy sebagai arah penelusuran secara vertical :
G = ( 0− 6) + ( 2− 4) + 2( 1− 5)...(2.5) G = ( 0 + 2 1 + 2) − ( 5 + 2 4 + 6)...(2.6) dan Gx sebagai penulusuran arah secara horizontal :
G = ( 0− 2) + ( 6− 4) + 2( 7− 3)...(2.7) G = ( 0 + 2 7 + 6)− ( 2 + 4 + 2 3)...(2.8)
definisi menggunakan nilai mutlak diberikan :
G = | Gx| + | Gy|...(2.9) Dimana, G : Besar Gradien Operator Sobel.
Gx : Gradien Sobel arah horizontal. Gy : Gradien Sobel arah vertical.
a0 – a7 : isi dari matrik seperti gambar diatas.
Membandingkan area diatas dari persamaan (2.6) kita lihat bahwa Gy berbeda antara baris pertama dan ketiga, dimana elemen terdekat aij yakni (a1 dan a5) lebih besar dua kali dibanding nilai yang disekelilignya (hal ini berdasarkan intusi wilayah/area 0 juga pada persamaan (2.7), Gx
berbeda antara kolom a3 dan a7. Gx arah dari x dan Gy merupakan arah dari y. persamaan dari (2.6) dan (2.7) dapat diimplementasikan dari operasi sobel didapat nilai hasil dari persamaan (2.8). Teknik spatial filtering menggunakan lagi sebuah matrik yang dinamakan mask. Ukuran matrik mask sama besar dengan matrik piksel yaitu N x N. Didalam mask ini intinya disimpan jenis operasi yang akan dilakukan terhadap matrik piksel, akan tetapi tidak semua filter spatial filtering menggunakan mask untuk menyimpan operasinya. Sobel operator diterapkan dalam dua buah mask, untuk itu perlu diperhatiakn terlebih dahulu.
Tabel 2.2 mask vertical Tabel 2.3 mask horizontal (Lia Amelia, 2012)
Mask pertama yaitu mask (a) digunakan untuk mengitung selisih titik pada sisi vertical sehingga dihasilkan titik penelusuran arah vertical. Mask kedua yaitu mask (b) digunakan untuk menghitung selisih titik pada sisi horizontal sehingga dihasilkan titik hasil penelusuran arah horizontal. (Lia Amelia, 2011)
25
2.7.2 Metode Prewit
Metode prewitt pengembangan dari gradient operator dengan menggunakan 2 mask (horizontal dan vertikal) ukuran 3x3. Pada operator ini kekuatan gradient ditinjau dari sudut pandang horizontal dan vertikal (memperhatikan titik disekitar pada posisi horizontal dan vertikal). Selain itu metode Prewitt merupakan pengembangan metode Sobel dengan menggunakan filter HPF (High Pass Filter) yang diberi satu angka nol penyangga. Metode ini mengambil prinsip dari fungsi laplacian yang dikenal sebagai fungsi untuk membangkitkan HPF. Kernel fillter yang digunakan dalam metode Prewitt ini adalah:
Gambar 2.6 Operator Prewitt (Eko Prasetyo, 2011)
Didalam Matlab untuk menghitung piksel warna putih dengan menggunakan fungsi nnz (number of nonzero entries). Pada callback edge detectionnya diberi imbuhan nnz kemudian pemanggilan variable dari deteksi tepi metode prewitt.
2.7.3 Metode Canny
Salah satu algoritma deteksi tepi modern adalah deteksi tepi dengan menggunakan metode Canny. Deteksi tepi Canny ditemukan oleh
Marr dan Hildreth yang meneliti pemodelan persepsi visual manusia. Ada beberapa kriteria pendeteksi tepian paling optimum yang dapat dipenuhi oleh algoritma Canny:
a. Mendeteksi dengan baik (kriteria deteksi)
Kemampuan untuk meletakkan dan menandai semua tepi yang ada sesuai dengan pemilihan parameter-parameter konvolusi yang dilakukan. Sekaligus juga memberikan fleksibilitas yang sangat tinggi dalam hal menentukan tingkat deteksi ketebalan tepi sesuai yang diinginkan.
b. Melokalisasi dengan baik (kriteria lokalisasi)
Dengan Canny dimungkinkan dihasilkan jarak yang minimum antara tepi yang dideteksi dengan tepi yang asli.
c. Respon yang jelas (kriteria respon)
Hanya ada satu respon untuk tiap tepi. Sehingga mudah dideteksi dan tidak menimbulkan kerancuan pada pengolahan citra selanjutnya. Pemilihan parameter deteksi tepi Canny sangat mempengaruhi hasil dari tepian yang dihasilkan. Beberapa parameter tersebut antara lain : (Elias Dianta Ginting, 2009)
1. Nilai Standart Deviasi Gaussian 2. Nilai Ambang
27
detectionnya diberi imbuhan nnz kemudian pemanggilan variable dari deteksi tepi metode canny.
2.7.4 Metode Roberts
Operator Robert adalah nama lain dari teknik differensial yang sedang dikembangkan, yaitu differensial pada arah horisontal dan differensial pada arah vertikal, dengan ditambahkan proses konversi biner setelah dilakukan differensial. Teknik konversi biner yang disarankan adalah konversi biner dengan meratakan distribusi warna hitam d a n p u t i h . Operator Robert ini juga disamakan dengan teknik DPCM (Differential Pulse Code Modulation). Operator Robert Cross merupakan salah satu operator yang menggunakan jendela matrik 2x2, operator ini melakukan perhitungan dengan mengambil arah diagonal untuk melakukan perhitungan nilai gradiennya.
=
1
0
0
− 1
=
0
1
− 1
0
Gambar 2.7 Operator Roberts (Lia Amelia, 2012)Sebenarnya operator sedehana ini hanya memeriksa sebuah piksel tambahan pada satu arah gradient tetapi karena yang diperiksa adalah piksel dalam arah diagonal, maka secara keseluruhan piksel-piksel yang terlibat membentuk jendela matrik 2x2. B entuk jendela yang demikian lebih menekankan pemeriksaan pada kedua arah diagonal, dari pada arah horizontal atau arah vertikal. Maka posisi titik
yang ditinjau tidak berada di pusta mask, sehingga tepi yang dihasilkan berada pada salah satu sisi tepi tersebut (tepi atas atau tepi bawah). Hasil konvolusi biasanya ada disekitar nilai 0 (nilai kecil), sehingga jika ditampilkan citra tepi kebanyakan berwarna hitam. Untuk nilai Gx dan nilai GY dapat dikombinasikan untuk mencari nilai mutlak gradient pada
suatu titik dengan persamaan sebagai berikut: (Lia Amelia, 2012) | G | = √ GX2 + GY2
dengan, G = besar gradien operator Roberts = gradien Roberts arah horisontal = gradien Roberts arah vertical.
Didalam Matlab untuk menghitung piksel warna putih dengan menggunakan fungsi nnz (number of nonzero entries). Pada callback edge detectionnya diberi imbuhan nnz kemudian pemanggilan variable dari deteksi tepi metode roberts.
2.8 Precision dan Recall
29
Terjemahan yang pas untuk istilah ini dalam bahasa Indonesia belum
ditemukan. Istilah recall digunakan pula dalam psikologi untuk menjelaskan
proses mengingat yang dikerjakan otak manusia. Kata lain untuk recall dalam
bahasa Inggris adalah remember, recollect, remind. Di bidang IR, recall berkaitan
dengan kemampuan menemukan-kembali butir informasi yang sudah tersimpan.
Jadi, terjemahan bebasnya mungkin adalah “penemuan-kembali”.
Precision dapat diartikan sebagai kepersisan atau kecocokan (antara
permintaan informasi dengan jawaban terhadap permintaan itu). Jika seseorang
mencari informasi di sebuah sistem, dan sistem menawarkan beberapa dokumen,
maka kepersisan ini sebenarnya juga adalah relevansi. Artinya, seberapa persis
atau cocok dokumen tersebut untuk keperluan pencari informasi, bergantung pada
seberapa relevan dokumen tersebut bagi si pencari.
Recall adalah proporsi jumlah dokumen yang dapat ditemukan-kembali
oleh sebuah proses pencarian di sistem IR. Rumusnya: Jumlah dokumen relevan
yang ditemukan / Jumlah semua dokumen relevan di dalam koleksi. Lalu,
precision adalah proporsi jumlah dokumen yang ditemukan dan dianggap relevan
untuk kebutuhan si pencari informasi. Rumusnya: Jumlah dokumen relevan yang
ditemukan / Jumlah semua dokumen yang ditemukan.
Kedua ukuran di atas biasanya diberi nilai dalam bentuk persentase, 1
sampai 100%. Sebuah sistem informasi akan dianggap baik jika tingkat recall
maupun precision-nya tinggi. Jika ada seseorang mencari dokumen tentang
“Pangeran Diponegoro” pada sebuah sistem, dan jika sistem tersebut memiliki
100 buku tentang Pangeran Diponegoro, maka kinerja terbaik adalah jika sistem
tersebut berhasil menemukan 100 dokumen tentang Pangeran Diponegoro.
Kalau sistem tersebut memberikan 100 temuan, dan di temuan tersebut ada
50 dokumen tentang “Pangeran Diponegoro”, maka nilai recall-nya adalah 0,5
(atau 50%) dan nilai precision-nya juga 0,5. Kalau sistem tersebut memberikan 1
dokumen saja, dan dokumen tersebut adalah tentang “Pangeran Diponegoro”,
maka recall-nya bernilai 0,01 dan precision-nya bernilai 1. Perhatikan bahwa nilai
precision yang tinggi ini sebenarnya terjadi karena sistem memberikan hanya 1
jawaban kepada si pencari informasi. Kalau sistem memberikan 100 dokumen,
dan hanya 1 yang relevan, maka nilai recall-nya tetap 0,01 dan precision-nya pun
ikut merosot ke 0,01.
Dalam perkembangan teori IR, ukuran dan eksperimen terhadap kinerja
sebuah sistem semakin diupayakan untuk mengakomodasi berbagai kemungkinan
dalam situasi yang sesungguhnya. Misalnya, Lancaster merumuskan matriks
terkenal berikut ini sebagai ukuran recall-precision:
Gambar 2.8 Rumus recall – precision
2.9Matlab
MATLAB merupakan suatu sistem interaktif yang memiliki elemen
data dalam suatu array sehingga tidak lagi kita dipusingkan dengan masalah
dimensi. Hal ini memungkinkan kita untuk memecahkan banyak masalah
31
matrix dan formulasi vektor, yang mana masalah tersebut merupakan momok
apabila kita harus menyelesaikannya dengan menggunakan bahasa level
rendah seperti Pascall, C dan Basic. Nama MATLAB merupakan singkatan
dari matrix laboratory. MATLAB pada awalnya ditulis untuk memudahkan
akses perangkat lunak matrik yang telah dibentuk oleh LINPACK dan
EISPACK. Saat ini perangkat MATLAB telah menggabung dengan LAPACK
dan BLAS library, yang merupakan satu kesatuan dari sebuah seni tersendiri
dalam perangkat lunak untuk komputasi matrix. 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 mandukung
untuk learn dan apply technologi yang sedang dipelajarinya. Toolbox
toolbox ini merupakan kumpulan dari fungsi-fungsi MATLAB (M-files)
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.
2.9.1 Lima bagian utama MATLAB:
Sebagai sebuah system, MATLAB tersusun dari 5 bagian utama:
1. Development Environment. Merupakan sekumpulan perangkat dan
fasilitas yang membantuanda untuk menggunakan fungsi-fungsi dan
file-file MATLAB. Beberapa perangkat ini merupakan sebuah
graphical user interfaces (GUI). Termasuk didalamnya adalah
MATLAB desktop dan Command Window, command history, sebuah
editor dan debugger, dan browsers untuk melihat help, workspace, files,
dan search path.
2. MATLAB Mathematical Function Library. Merupakan
sekumpulan algoritma komputasi mulai dari fungsi-fungsi dasar
sepertri: sum, sin, cos, dan complex arithmetic, sampai dengan
fungsi-fungsi yang lebih kompek seperti matrix inverse, matrix
eigenvalues, Bessel functions, dan fast Fourier transforms.
3. MATLAB Language. Merupakan suatu high-level matrix/array
language dengan control flow statements, functions, data structures,
input/output, dan fitur-fitur object-oriented programming. Ini
memungkinkan bagi kita untuk melakukan kedua hal baik
"pemrograman dalam lingkup sederhana" untuk mendapatkan hasil
yang cepat, dan "pemrograman dalam lingkup yang lebih besar" untuk
memperoleh hasil-hasil dan aplikasi yang komplek.
4. Graphics. MATLAB memiliki fasilitas untuk menampilkan vector dan
matrices sebagai suatu grafik. Didalamnya melibatkan high-level
functions (fungsi-fungsi level tinggi) untuk visualisasi data dua dikensi
dan data tiga dimensi, image processing, animation, dan presentation
33
bagi anda untuk membiasakan diri untuk memunculkan grafik mulai dari
benutk yang n sederhana sampai dengan tingkatan graphical user
interfaces pada aplikasi MATLAB anda.
5. MATLAB Application Program Interface (API). Merupakan
suatu library yang memungkinkan program yang telah anda tulis
dalam bahasa C dan Fortran mampu berinterakasi dengan MATLAB.
Ini melibatkan fasilitas untuk pemanggilan routines dari MATLAB
(dynamic linking), pemanggilan MATLAB sebagai sebuah
computational engine, dan untuk membaca dan menuliskan MAT-files.
2.9.2 Memulai GUI – MATLAB
Memulai GUIDE Matlab dapat dilakukan dengan dua cara, yaitu:
1) Melalui command matlab dengan mengetikkan: >> guide
2) Klik tombol Start Matlab dan pilihlah MATLAB, lalu pilih GUIDE (GUI
Bulder)
Gambar 2.9 Memulai GUIDE (Teuinsuksa)
Selanjutnya akan muncul tampilan kotak dialog pilihan GUIDE Quick Start.
Gambar 2.10 GUIDE Quick Start (Teuinsuksa)
GUIDE Quick Start memiliki dua buah pilihan, yaitu Create New GUI dan
Open Existing GUI. Create New GUI digunakan jika kita memang belum pernah
membuat aplikasi GUI Matlab atau jika kita memang ingin membuat sebuah
figure baru, sedangkan Open Existing GUI digunakan jika kita sudah memiliki file figure matlab atau akan memodifikasi filefigure yang telah kita simpan.
Pada pilihan Create New GUI terdapat menu GUIDE templates yang
memiliki beberapa tipe dasar dari GUI, sehingga kita dapat melakukan
modifikasi pada template agar menjadi GUI seperti yang kita harapkan. Sebagai
pemula, kita gunakan Blank GUI (Default) yang merupakan sebuah GUI
dengan figure kosong dan merupakan kondisi default dari GUIDE dan diplih jika
kita memang akan membuat sebuah aplikasi dengan komponen yang layout-nya
tidak terdapat pada GUI template yang lain. Setelah kita memilih Blank GUI
35
Gambar 2.11 Tampilan GUIDE (Teuinsuksa)
Komponen palet pada GUIDE Matlab terdiri dari beberapa uicontrol
(control user interface), seperti pada bahasa pemrograman visual lainnya,
yaitu: pushbutton, togglebutton, radiobutton, chexkboxes, edit text, static text,
slider, frames, listboxes, popup menu, dan axes. Kita dapat meletakkan semua
kontrol pada layout editor dan selanjutnya hanya tinggal mengaturnya melalui
property inspector. (Teuinsuksa,2009)
Gambar 2.11 Komponen GUIDE (Teuinsuksa)
Pada bab ini akan dijelaskan mengenai proses pembuatan aplikasi deteksi
tepi citra untuk menentukan kualitas image pada kain batik dengan menggunakan
emapt metode yaitu : Metode Sobel, Prewitt, Canny dan Roberts. Proses
perancangan aplikasi dalam sub-bab ini akan dibagi menjadi beberapa tahap
anatara lain : analisis, gambaran aplikasi secara umum, perancangan proses.
3.1 Analisa Sistem
Aplikasi untuk deteksi tepi citra untuk menentukan kualitas image pada kain
batik dengan empat metode yaitu Sobel, Prewitt, Canny dan Roberts
menggunakan bahasa pemrograman Matlab. Citra diambil dengan menggunakan
kamera digital dan proses yang pertama adalah resize image. Proses resize image
digunakan untuk mengecilkan gambar, karena ukuran gambar yang tertangkap
kamera terlalu besar ukurannya maka akan dikecilkan menjadi ukuran 256 x 256 ,
kemudian proses selanjutnya adalah grayscale dan setelah itu threshold. Proses
awal yang digunakan dalam image processing adalah mengubah citra berwarna ke
grayscale. Grayscale merupakan proses pengolahan citra dengan cara mengubah
nilai-nilai piksel awal citra menjadi sebuah citra keabuan. Hasil dari proses
grayscale yang telah kita lakukan, selanjutnya akan dijadikan citra biner. Citra
37
tersebut menjadi citra biner, maka kita perlu suatu threshold. Setelah kedua
proses tersebut selesai, maka akan dideteksi tepi dengan keempat metode yaitu
Sobel, Prewitt, Canny dan Roberts. Proses yang terakhir dalam pembuatan
aplikasi adalah menampilkan piksel warna putih dan histogram.
3.2 Gambaran Aplikasi secara Umum
Gambar 3.1 Alur pendeteksian tepi pada kain batik.
Secara garis besar untuk melakukan pendeteksian tepi pada kain batik
melalui bebarapa proses yaitu meliputi :
1. Citra masukan berupa citra berwarna
2. Baca inputan citra yang akan diproses menjadi :
Grayscale Thresholding 3. Output
Melakukan pendeteksian tepi setelah proses grayscale dan threshold.
Terdapat empat metode deteksi tepi yang digunakan yaitu Metode Sobel,
Metode Prewitt, Metode Canny dan Metode Roberts. Citra keluaran akan
berupa tampilan piksel warna putih dan histogram dari masing – masing
metode. Terdapat perhitungan Preccion dan Recall dari t iap m et ode yang akan
digunakan untuk perhit ungan akurasi.
Pada implementasinya aplikasi ini melakukan pengambilan gambar
sample memakai kamera digital secara manual. Gambar sample yang
diperoleh ini akan dtransfer ke komputer dengan format file JPEG.
3.3 Perancangan proses
Untuk mengetahui proses-proses yang dilakukan maka akan dijelaskan
sebagai berikut :
3.3.1 Grayscale
Grayscale merupakan proses pengolahan citra dengan cara mengubah
39
Gambar 3.2 Flowchart Grayscale
Langkah awal pada flowchart grayscale adalah citra masukan berwarna
yang kemudian akan diproses menjadi citra grayscale. Citra keabuan adalah citra
yang setiap pikselnya mengandung satu layer dimana nilai intensitasnya berada
pada interval 0-255, sehingga nilai-nilai piksel pada citra keabuan tersebut dapat
direpresentasikan dalam sebuah matriks yang dapat memudahkan proses
perhitungan pada operasi berikutnya. Di dalam MATLAB untuk menggubah
piksel RGB ( Red Green Blue) menjadi skala keabu – abuan dengan menggunakan
fungsi rgb2gray.
Gray=rgb2gray(I)
Variabel gray berfungsi untuk menampung hasil konversi citra RGB ke citra
abu – abu. Citra yang dikonversi adalah citra kain batik yang ditampung dalam
variabel I.
3.3.2 Metode Sobel
Pada proses ini akan dideteksi tepi. Deteksi tepi yang digunakan adalah
sobel. Kelebihan dari metode sobel ini adalah kemampuan untuk mengurangi
noise sebelum melakukan perhitungan deteksi tepi.
Gambar 3.3 Flowchart Sobel
Setelah proses grayscale langkah selanjutnya dalah deteksi tepi. Metode
yang digunakan adalah metode sobel. Operator sobel adalah operator yang paling
banyak digunakan sebagai pelacak tepi karena kesederhanaan dan keampuhannya.
Matriks yang digunakan adalah 3x3. Proses sobel ini, dilakukan dua penghitungan
yaitu vertical dan horizontal. Berikut ini adalah potongan baris program untuk
deteksi tepi Sobel.
41
Variabel BW berfungsi untuk menampung hasil konversi citra abu – abu
menjadi citra hitam putih. Citra yang dikonversi ialah citra abu – abu yang
ditampung dalam variabel gray kemudian akan dilakukan deteksi tepi sobel.
3.3.3 Metode Prewitt
Pada proses ini akan dideteksi tepi. Deteksi tepi yang digunakan adalah
prewitt. Metode ini merupakan perkembangan dari metode roberts.
Gambar 3.4 Flowchart Prewitt
Pada flowchart 3.3 adalah proses dari deteksi tepi prewitt. Setelah mendapat
nilai citra abu – abu kemudian akan diproses deteksi tepi dengan metode Prewitt.
Di dalam MATLAB operasi pendeteksian tepi menggunakan pemanggilan fungsi.
Berikut adalah potongan baris program metode prewitt.
BW=edge(gray,’prewitt’);
3.3.4 Metode Canny
Pada proses ini akan dideteksi tepi. Deteksi tepi yang digunakan adalah
canny.
Gambar 3.5 Flowchart Canny
Setelah didapatkan citra yang sudah dikonversi kemudian diberi fungsi
operator dengan metode deteksi yang diinginkan. Pada tahap ini deteksi yang
digunakan adalah deteksi tepi canny. Berikut adalah potongan baris program
43
BW=edge(gray,’canny’);
3.3.5 Metode Roberts
Pada proses ini akan dideteksi tepi. Deteksi tepi yang digunakan adalah
canny. Berikut adalah proses deteksi tepi dengan menggunakan metode
Roberts.
Gambar 3.6 Flowcahrt Roberts
Setelah proses grayscale langkah selanjutnya dalah deteksi tepi. Metode
yang digunakan adalah metode roberts. Berikut ini adalah potongan baris program
untuk deteksi tepi Sobel.
BW=edge(gray,’roberts’);
Variabel BW berfungsi untuk menampung hasil konversi citra abu – abu
menjadi citra hitam putih. Citra yang dikonversi ialah citra abu – abu yang
ditampung dalam variabel gray kemudian akan dilakukan pemanggilan fungsi
deteksi tepi roberts.
3.3.6 Precision dan Recall
Gambar 3.7 Flowcahrt Precion dan Recall
Cara menghitung tingkat akurasi menggunakan precision dan recall. Kedua
ukuran di atas biasanya diberi nilai dalam bentuk persentase, 1 sampai 100%. Start
I = Image
gray=rgb2gray(I)
End Deteksi tepi
45
Sebuah sistem informasi akan dianggap baik jika tingkat recall maupun precision
-nya tinggi.
3.3 Perancangan Tampilan Antarmuka
Pada perancangan antar muka yang akan dibuat sedemikian rupa yang
nantinya merupakan suatu halamn untuk berinteraksi bagi pemakai/ pengguna
program dan diharapkan dapat memahami jalan kerja program dengan mudah.
Dalam membuat program deteksi tepi akan dirancang tampilan GUI maka akan
menghasilkan 2 file yaitu namafile.fig dimana GUI disimpan dan namafile.m
dimana eksekusi program terkumpul. Masing-masing fig-file ini menghasilkan
m-file dengan nama yang sama. Berikut adalah table yang berisi perancangan dalam
pembuatan program deteksi tepi.
Fig-file Komponen Nama Fungsi
Deteksi_Batik Push button Deteksi Tepi Citra… Judul
Button Group Image Inputan Awal Citra
Button Group Image Inputan Awal Citra
Axes (1) - Menampilkan Citra
Text Information Image Menampilkan Tulisan
Text Size Menampilkan Tulisan
Text Width Menampilkan Tulisan
Text Height Menampilkan Tulisan
Text Format Menampilkan Tulisan
Text Bit Menampilkan Tulisan
Text Tipe Colour Menampilkan Tulisan
Text Date File Menampilkan Tulisan
Push button Load1 Membuka File
Push button Load2 Membuka File
Push button Proses Proses Pricision Recall Push button Edge Detection Menjalankan
Programdeteksi tepi (Prewiit, Sobel, Canny, Roberts)
Push button Histogram Menjalankan
Histogram (Prewiit, Sobel, Canny,
Roberts)
Push button Exit Keluar
Axes (2) - Menampilkan Citra
Axes (3) - Menampilkan Citra
Axes (4) - Menampilkan Citra
Axes (6) - Menampilkan Citra
Axes (13) - Menampilkan Citra
Text Created by Menampilkan Tulisan
Gambar 3.8 Tabel Perancangan Program Deteksi Tepi
Aplikasi antarmuka tersebut diharapkan dapat memudahkan pengguna
dalam memahami dan menggunakan setiap fungsi – fungsi tombol yang tersedia.
Dalam tombol Load yang berfungsi untuk menggambil gambar yang tersimpan,
gambar yang tersimpan hanyalah format jpg, bmp, png untuk ditampilkan
sebelum melanjutkan ke proses selanjutnya.
47
BAB IV
HASIL DAN PEMBAHASAN
Pada bab IV ini akan dijelaskan mengenai implementasi, hasil uji coba dan
evaluasi dari rancangan program yang telah dibuat pada bab III. Bagian implementasi
aplikasi kali ini meliputi : lingkungan implementasi, implementasi data, implementasi
antarmuka dan implementasi proses.
4.1 Kebutuhan Hardware dan Software
Pada bagian ini akan dijelaskan mengenai perangkat keras dan perangkat
lunak yang digunakan pada implementasi aplikasi ini.
Kebutuhan Hardware :
• Komputer dengan processor Intel (R) Core(TM)2Duo CPU P8700 2,5GHz
• RAM (2048MB)
• VGA Card share memory up to 1274 MegaByte
• Monitor 16”
• Hard Disk 320 GigaByte
Kebutuhan Software :
• Sistem Operasi Windows 7.
• Matlab 7.0
• Fileimage JPEG, BMP, PNG.
4.2 Implementasi Data
Seperti yang telah dijelaskan secara konseptual pada Bab 3, maka data yang
akan diimplementasikan pada aplikasi ini berupa gambar-gambar kain batik yang
telah diambil melalui kamera digital yang nantinya akan diproses melalui beberapa
tahapan. Dimana output berupa tampilan piksel warna putih dan histogram dari
keempat metode deteksi tepi.
4.3 Implementasi Antarmuka
Pada implementasi antarmuka ini merupakan interaksi antara pemakai (user)
dengan sistem. Halaman form utama ini merupakan tampilan awal saat program
dijalankan. Pada form utama ini terdapat program secara keseluruhan beserta dengan
prosedur-prosedur programnya. Pada masing – masing menu memiliki fungsi yang
berbeda – beda pada aplikasi ini. Berikut penjelasan dari setiap form pada menu
utama ini :
a. Load : untuk membuka file yang akan diproses.
b. Edge Detection : untuk melakukan proses deteksi tepi.
c. Histogram : untuk menampilkan histogram.
d. Save : untuk menyimpan hasil dari output edge detection.
e. Exit : untuk keluar dari aplikasi ini.
49
Gambar 4.1 Tampilan Implementasi Awal
Pada tampilan form utama ini terdapat 5 kolom yang mempunyai fungsi
berbeda-beda. Kolom pertama dengan nama image berfungsi untuk menampilkan
image yang akan diproses. Pada kolom Image yang pertama digunakan untuk
menampilkan citra batik yang belum diwarna sedangan yang kedua untuk
menampilkan citra batik berwanra. Kolom kedua dengan nama Sobel berfungsi untuk
menampilakan hasil deteksi tepi dari metode Sobel. Kolom ketiga adalah kolom
dengan nama Prewitt, yaitu sebuah kolom yang menampilkan hasil deteksi tepi dari
metode Prewitt. Selanjutnya pada kolom keempat diberi nama Roberts yaitu sebuah
kolom yang menampilkan hasil deteksi tepi dari metode Roberts . Kolom kelima
adalah Cannysebuah kolom yangmenampilkan hasil deteksi tepi dari metode Canny.
Pada kolom ke 2 sampai kolom ke 5 masing – masing memiliki hasil jumlah dari
piksel warna putih yang telah dihasilkan dari deteksi tepi. Juga Terdapat tampilan
untuk nilai dari precision dan recall dari tiap – ti