BAB II LANDASAN TEORI 2.1
Pengolahan Citra Pengolahan citra (image processing) merupakan proses untuk mengolah pixel-pixel
dalam citra digital untuk tujuan tertentu. Beberapa alasan dilakukan pengolahan citra digital adalah sebagai berikut : 1. Untuk mendapatkan citra asli dari citra yang sudah rusak karena pengaruh noise yang bercampur dengan citra asli dalam suatu proses tertentu. Proses pengolahan citra bertujuan untuk mendapatkan citra yang mendekati citra asli. 2. Untuk mendapatkan citra dengan karakteristik tertentu dan cocok secara visual yang dibutuhkan dalam proses lanjut dalam pemrosesan analisis citra.
Pengolahan citra mendapat perhatian yang signifikan di beberapa tahun terakhir karena dapat membantu beberapa aplikasi di berbagai bidang termasuk dalam bidang astronomi, obat-obatan, robot atau satelit (Marques, Oge. 2011). Image processing atau sering disebut pengolahan citra digital merupakan suatu proses filter gambar asli menjadi gambar lain sesuai dengan keinginan kita. Misalnya, kita mendapatkan suatu gambar yang terlalu gelap. Dengan image processing, kita dapat memprosesnya agar mendapatkan gambar yang jelas (Sigit,2005). Secara garis besar, umumnya, operasi-operasi pada pengolahan citra diterapkan pada citra bila (Jain, 1995) : 1. Perbaikan atau memodifikasi citra perlu dilakukan untuk meningkatkan kualitas penampakan atau untuk menonjolkan beberapa aspek informasi yang terkandung di dalam citra, 2. Elemen di dalam citra perlu dikelompokkan, dicocokkan, atau diukur, 3. Sebagian citra perlu digabung dengan bagian citra yang lain.
5 http://digilib.mercubuana.ac.id/
6
Operasi pengolahan citra dapat diklasifikasikan dalam beberapa jenis sebagai berikut: 1. Image Enhancement (Perbaikan kualitas citra) 2. Image Restoration (Pemugaran Citra) 3. Image Compression (Pemampatan Citra 4. Image Recontruction (Rekontruksi Citra) Operasi-operasi tersebut bertujuan untuk membentuk objek dari beberapa citra hasil proyeksi. Pada citra digital, dengan tipe bitmap tipe warna pada titik-titik piksel dibentuk dari sebuah data numerik. Tinggi dan rendahnya keabuan piksel dinyatakan dalam bentuk intensitas atau derajat keabuan. Satuan lebar intensitas merupakan lebar memori (bit) citra yang disebut dengan format piksel.
2.2
Citra Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari suatu objek. Citra
digital merupakan citra yang dapat diolah komputer yang disimpan dalam komputer hanyalah angka-angka yang menunjukkan besar intensitas pada masing-masing piksel. Karena berbentuk data numeric, maka citra digital dapat diolah dengan computer. Piksel merupakan elemen citra yang memiliki nilai yang menunjukkan intensitas warna.
2.2.1 Konversi Citra Warna (RGB) ke Citra Skala Keabuan (Grayscale) Proses pertama dari metode pendeteksian citra secara umum termasuk metode Sobel adalah melakukan konversi citra, dari citra berwarna ke skala keabuan (grayscale). Rumus yang digunakan untuk konversi adalah sebagai berikut : X = (R+G+B)/3
http://digilib.mercubuana.ac.id/
7
Dimana R adalah nilai warna merah (Red), G adalah nilai warna hijau (Green), dan B adalah nilai warna biru (Blue) dari pixel yang diproses.
1.2.1 Pengertian Konvolusi Konvolusi seringkali dilibatkan dalam operasi ketetanggaan piksel. Konvolusi pada citra sering disebut konvolusi dua-dimensi (konvolusi 2D). konvolusi 2D didefinisikan sebagai proses untuk memperoleh suatu piksel didasarkan pada nilai piksel itu sendiri dan tetanggannya, dengan melibatkan suatu matriks yang disebut kernel yang mempresentasikan pembobotan. Pada pelaksanaan konvolusi, kernel digeser sepanjang baris dan kolom dalam citra sehingga diperoleh nilai baru pada citra keluaran.
Kernel digerakan di sepanjang baris dan kolom citra
Gambar 2.4 Ilustrasi proses konvolusi Pada proses konvolusi terdapat problem apabila kernel tidak punya pasangan/tidak mempunyai nilai ketetanggaan yang lengkap Tidak ada pasangan
http://digilib.mercubuana.ac.id/
8
Gambar 2.5 Ilustrasi Problem Konvolusi
Untuk mengatasi keadaan seperti itu, terdapat beberapa solusi yaitu : 1. Abaikan piksel pada bagian tepi, sehingga ukuran citra menjadi kecil karena nilai piksel bagian tepi tidak di gunakan 2. Buat baris tambahan pada bagian tepi, sehingga hasil citra seperti ada bingkai berwarna hitam karena nilai piksel diisi dengan nilai 0 3. Ambil bagian yang tidak mempunyai pasangan dengan bagian dari citra, sehingga hasil citra pada tepi seperti tercermin.
2.3 Metode Sobel
Metode Sobel merupakan pengembangan metode robert dengan menggunakan filter HPF yang diberi satu angka nol penyangga. Metode ini mengambil prinsip dari fungsi laplacian dan Gaussian yang dikenal sebagai fungsi untuk membangkitkan HPF. Kelebihan dari metode sobel ini adalah kemampuan untuk mengurangi noise sebelum melakukan perhitungan deteksi tepi. Peninjauan pengaturan pixel di sekitar pixelnya (x,y) adalah :
a0
a1
a2
a7
(x,y)
a3
a6
a5
a4
Operator Sobel adalah magnitudo dari gradient yang dihitung dengan : 𝑀 = √𝑆 2 + 𝑆 2
http://digilib.mercubuana.ac.id/
9
Dimana M adalah besar gradient di titik tengah kernel dan turunan parsial dihitung menggunakan persamaan berikut.
𝑆𝑥 = [𝑎2 + 𝑐𝑎3 + 𝑎4 ] – [𝑎0 + 𝑐𝑎7 + 𝑎6 ] 𝑆𝑦 = [𝑎0 + 𝑐𝑎1 + 𝑎2 ] – [𝑎6 + 𝑐𝑎5 + 𝑎4 ]
Dimana c adalah konstanta yang bernilai 2. 𝑆𝑥 dan 𝑆𝑦 diimplementasikan menjadi kernel berikut.
-1
0
1
1
2
1
-2
0
2
0
0
0
-1
0
1
-1
-2
-1
Tampak bahwa operator sobel menggunakan pembobotan pada piksel-piksel yang lebih dekat dengan titik pusat kernel. Oleh karena itu, pengaruh piksel-piksel tetangga akan berbeda sesuai dengan letaknya terhadap titik dimana gradient dihitung. Dalam melakukan perhitungan gradient, operator ini merupakan gabungan dari posisi mendatar dan posisi vertical.
Operator Sobel lebih sensitif terhadap tepi diagonal dari pada tepi vertical dan horizontal. Hal ini berbeda dengan operator prewitt. Yang lebih sensitif terhadap tepi vertical dan horizontal (craine, 1997).
http://digilib.mercubuana.ac.id/
10
Berikut ini merupakan tampilan citra yang akan diproses dengan menggunakan filter sobel
(a) Citra Awal
(a) Citra Awal
(b) Filter Sobel
(b) Filter Sobel
Pada dua gambar diatas pada sisi kiri merupakan citra asli, sedangkan pada sisi kanan atas merupakan hasil konvolusi menggunakan operator Sobel.
http://digilib.mercubuana.ac.id/
11
2.4 Matlab
Matlab(mathematics laboratory) merupakan Bahasa pemrograman yang digunakan untuk mengerjakan operasi matematika atau operasi aljabar matriks. (Hasan, 2005) Untuk pengembangan algoritma, matlab menyediakan antarmuka command line, sebuah fungsi manipulasi string dan bilangan, 2D dan 3D plooting function dan kemampuan untuk membuat tampilan GUI (graphical user interface). (Wahana Komputer, 2013) GUIDE atau GUI builder merupakan sebuah graphical user interface (GUI) yang dibangun dengan obyek grafis seperti tombol (button), kotak teks, slider, sumbu (axes), maupun menu. Sebagai contoh, ketika menggerakkan slider, maka kita dapat melihat perubahan sebuah nilai. Kemudian, ketika kita menekan tombol OK, maka aplikasi kita akan dijalankan.
http://digilib.mercubuana.ac.id/
12
Gambar 2.4 Tampilan GUI Aplikasi Matlab
Aplikasi yang menggunakan GUI umumnya lebih mudah dipelajari dan digunakan karena orang yang menjalankannya tidak perlu mengetahui perintah yang ada dan bagaimana perintah bekerja. Tidak seperti Bahasa pemrograman lainnya, GUIDE matlab memiliki banyak keunggulan tersendiri, antara lain : 1.
GUIDE matlab banyak digunakan dan cocok untuk aplikasi-aplikasi berorientasi sains, sehingga banyak peneliti atau mahasiswa, baik S1, S2 maupun S3, menggunakan GUIDE matlab untuk menyelesaikan riset atau tugas akhirnya.
2.
Matlab memiliki banyak fungsi built in yang siap digunakan dan pemakai tidak perlu repot membuatnya sendiri.
3.
Ukuran file, baik FIG-file maupun M-file, yang dihasilkan relatif kecil.
4.
Kemampuan grafisnya cukup andal dan tidak kalah dibandingkan Bahasa pemrograman lainnya. (Sugiharto, 2006)
2.5 Metode Waterfall Model ini dilakukan secara terurut berdasarkan panduan proses mulai dari komunikasi kepada client atau pelanggan sampai dengan aktifitas sampai
http://digilib.mercubuana.ac.id/
13
pengorderan setelah masalah dipahami secara lengkap dan berjalan stabil sampai selesai. Ada 2 fase-fase dalam Waterfall model:
Menurut referensi Pressman System/infor mation engineering Analysis Design
Code
Test
Gambar 2.5.1 Waterfall Model Pressman
Menurut referensi Sommerville Requirements definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance
Gambar 2.5.2 Waterfall Model Sommerville
Kelebihan Waterfall Model:
Mudah
diaplikasikan,
memberikan
template
tentang
metode
desain,pengkodean, pengujian, dan pemeliharaan.
Digunakan untuk produk software yang sudah jelas kebutuhannya di awal
Kekurangan Waterfall model:
http://digilib.mercubuana.ac.id/
analisis,
14
Waterfall model bersifat kaku sehingga Penanganan perubahan pada saat proses sedang berlangsung menjadi lebih sulit.
Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
Customer harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap,menyelesaikan tahap awal baru bisa ke tahap selanjutnya.
Perubahan ditengah-tengah pengerjaan produk akan membuat bingung team work yang sedang membuat produk.
Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.
Semua kebutuhan sudah terdefinisi sejak awal dan Software yang diberikan adalah versi terakhir dari setiap tahap.
2.6 Metode Pengujian 1. White-box testing Dalam White-box testing, kita membuat test cases dengan melihat source code untuk mencari adanya kesalahan pada program yang dilakukan oleh Software Engineer. Keuntungan White-box testing:
Sebagai Software engineer yang memiliki akses ke source code, hal ini menjadi sangat mudah untuk melakukan skenario pengujian secara efektif.
Membantu Software engineer untuk mengoptimalkan source code.
Baris kode yang tidak efisien dapat dihilangkan agar mencegah bugs pada program.
http://digilib.mercubuana.ac.id/
15
Kerugian White-box testing:
mengeluarkan biaya tambahan.
Terkadang sangat sulit melihat setiap baris kode untuk mencari bugs pada program yang akan diuji.
2. Black-box testing Dalam Black-box testing Software Tester tidak memiliki akses source code atau mengetahui implementasi dari program tersebut untuk mencari adanya kesalahan pada program dan juga tidak diharuskan memiliki pengetahuan tentang programming dan implementasinya. Ketika melakukan Black-box testing, tester akan berinteraksi dengan user interface yang menyediakan input dan memeriksa outputnya, juga menguji performa program atau menguji function-function yang tidak bekerja dengan benar. Keuntungan Black-box testing:
Cocok dan efisien untuk source code dengan skala besar.
Menguji program dari sudut pandang user.
Software tester dalam jumlah yang banyak dapat menguji program tersebut tanpa harus memiliki pengetahuan tentang programming.
Kerugian Black-box testing:
Software tester hanya menjalankan beberapa skenario pengujian yang dipilih.
Pengujian yang tidak efisien karena Software tester memiliki pengetahuan yang terbatas tentang program.
Pengujian yang tidak spesifik karena Software tester tidak memiliki akses ke source code
http://digilib.mercubuana.ac.id/