IMPLEMENTASI METODE
GABOR FILTER
DAN
SUPPORT
VECTOR MACHINES
DALAM PENGENALAN DAN
PENGKLASIFIKASIAN PADA KULIT POHON
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
MUHAMMAD YUSUF
10110667
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
i Oleh:
MUHAMMAD YUSUF
10110667
Pohon memiliki batang utama yang tumbuh tegak, menopang tajuk pohon. Morfologi (struktur luar) batang setiap tumbuhan berbeda-beda. Berdasarkan keadaan batang, ada dua kelompok tumbuhan tingkat tinggi, yaitu tumbuhan herba (tumbuhan lunak) yang memiliki tekstur halus pada permukaan kulit dan tumbuhan berkayu yang memiliki tekstur kasar pada permukaan kulit. Analisis tekstur memegang peranan penting terhadap pengolahan citra digital karena analisis tekstur dikembangkan dengan tujuan agar komputer dapat memahami, membuat model, serta memproses tekstur untuk dapat menirukan proses pembelajaran mata atau penglihatan manusia.
Analisis tekstur dapat diperoleh dengan cara mengekstraksi ciri gambar dengan berbagai metode. Metode yang digunakan adalah metode gabor filter, dan support vector machines sebagai metode pengklasifikasian dalam pengenalan pola (pattern recognition). Pattern Recognition merupakan salah satu bidang dalam komputer sains, yang memetakan suatu data ke dalam konsep tertentu yakni class atau category.
Berdasarkan hasil pengujian dapat disimpulkan bahwa penerapan metode Gabor Filter dan Support Vector Machines berhasil dalam pengenalan dan pengklasifikasian pada kulit pohon dengan akurasi sebesar 71,4% menggunakan parameter terbaik yaitu skala =1 dan orientasi =1.
ii
ABSTRACT
IMPLEMENTATION OF GABOR FILTER METHOD AND SUPPORT VECTOR MACHINES IN RECOGNITION AND CLASSIFICATION OF
BARK
By:
MUHAMMAD YUSUF
10110667
The tree has a main trunk grows upright, supporting the canopy of tree. Morphology (outer structure) from trunk of each plant is different. Based on a condition of trunk, there are two high level groups, that is a herba plant (soft plant) has a smooth texture and woody plant has a rough texture on skin surface of tree. Texture analysis has a part of important in image processing because the texture analysis was developed with the aim computer can understand, make a dummy, and then processed the texture for can simulated the eyes learned or human vision.
Texture analysis can be obtained with the way of feature extraction an images with any method. Which method used is gabor filter method and support vector machines as a classification method in pattern recognition. Pattern Recognition is a part of computer science, and mapped a data into certain concept can be called a class or a category.
Based on research result, can be concluded this research success applicated gabor filter method and support vector Machines into texture analysis and pattern recognition images of bark with an accuracy 74,1% using the best parameter that scale=1 and orientation=1.
iii
ِميِحَرلا ِن َْْرلا ِه ِمْسِب
Assalamu’alaikum Wr. Wb,Puji syukur penulis ucapkan kepada Allah SWT yang telah melimpahkan rahmat hidayah dan karunia-Nya, shalawat beriring salam penulis hadiahkan kepada Rasulullah yakni Muhammad SAW, sehingga penulis dapat menyelesaikan skripsi yang berjudul “Implementasi Metode Gabor Filter Dan Support Vector Machines Dalam Pengenalan Dan Pengklasifikasian Pada Kulit Pohon”.
Adapun tujuan dari penyusunan skripsi ini adalah untuk memenuhi salah satu syarat dalam menyelesaikan studi jenjang strata satu (S1) di Program Studi Teknik Informatika, Universitas Komputer Indonesia.
Penulis membutuhkan peran serta dari pihak lain untuk proses penyelesaian skripsi ini, karena keterbatasan ilmu dan pengetahuan. Oleh karena itu ijinkanlah penulis untuk menyampaikan ucapan terima kasih yang sebesar-besarnya kepada :
1. Allah SWT, yang telah memberikan rahmat, hidayah, dan karunia-Nya kepada penulis sehingga dapat menyelesaikan skripsi dengan baik.
2. Ayahku Usman Ibrahim, S.H. dan Ibuku Nurtini, terima kasih karena selalu memberikan dorongan, motivasi, doa yang tak terkira serta bantuan baik secara moril maupun materil.
3. Bapak Irawan Afrianto, S.T., M.T. selaku Ketua Jurusan Program Studi Teknik Informatika UNIKOM.
4. Bapak Galih Hermawan, S.Kom, M.T. selaku dosen pembimbing. Terima kasih karena telah banyak meluangkan waktu untuk memberikan bimbingan, saran dan nasehatnya selama penyusunan skripsi ini.
iv
6. Bapak Eko Budi Setiawan, S.Kom., M.T. dan Ibu Nelly Indriani W, S.Si., M.T. selaku reviewer dan penguji. Terima kasih karena telah meluangkan waktu untuk memberikan nasehat, kritik dan saran selama penyusunan skripsi ini.
7. Kakak-kakakku tercinta Aziyah, Sintha Mena Hijrah Safitri, Yustika Rini Tahsin yang selalu memberikan doa dan dorongan semangat kepada saya. 8. Iin Akhbar Rasulino beserta keluarganya yang selalu memberi motivasi dan
dorongan semangat kepada saya.
9. Sahabat terbaik Ahmad Fauzi Alhadi, Denny Santoso, Fakhrizal Ahadiat, dan Dada Mustaqiem yang telah mendukung dan bersedia membantu selama penyusunan skripsi ini.
10.Team Bang Bayang yang telah meyediakan tempat untuk diskusi dan membantu dalam penyusunan skripsi ini.
11.Teman-teman di Jurusan Teknik Informatika Angkatan 2010 khususnya kelas IF-15 terima kasih atas doa, bantuan dan dorongannya.
12.Serta semua pihak yang telah turut membantu dalam penyusunan skripsi ini, yang tidak bisa disebutkan satu persatu.
Didalam penulisan skripsi ini, penulis telah berusaha seoptimal mungkin walaupun demikian penulis menyadari bahwa skripsi ini jauh dari sempurna. Masukan atau saran yang ditujukan untuk penyempurnaan skripsi ini akan diterima oleh penulis dengan senang hati.
Akhir kata, penulis berharap semoga skripsi ini dapat bermanfaat bagi penulis pada khususnya dan pembaca pada umumnya.
Wassalamualaikum Wr. Wb.
Bandung, 19 Agustus 2015
v
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... viii
DAFTAR TABEL ... xi
DAFTAR SIMBOL ... xiii
DAFTAR LAMPIRAN ... xvi
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 2
1.3 Maksud dan Tujuan ... 3
1.4 Batasan Masalah ... 3
1.5 Metodologi Penelitian ... 4
1.5.1 Metode Pengumpulan Data ... 4
1.5.2 Metode Pembangunan Perangkat Lunak ... 4
1.6 Sistematika Penulisan ... 6
BAB II LANDASAN TEORI ... 7
2.1 Computer Vision ... 7
2.2 Teori Dasar Citra Digital ... 7
2.2.1 Citra RGB ... 8
2.2.2 Citra Grayscale ... 8
vi
2.3 Pengolahan Citra Digital ... 8
2.3.1 Akuisisi Citra ... 9
2.3.2 Peningkatan Kualitas Citra ... 9
2.3.3 Pemotongan Citra ... 9
2.3.4 Filter ... 9
2.4 Pattern Recognition ... 9
2.5 Metode Gabor Filter ... 10
2.6 Metode Support Vector Machines ... 12
2.7 Struktur Luar Batang Pohon... 15
2.8 Object-Oriented Programing ... 16
2.8.1 Konsep Dasar Berorientasi Objek ... 17
2.8.2 Pengenalan UML ... 20
2.8.3 Digram UML ... 21
2.8.4 Use Case Diagram ... 22
2.8.5 Activity Diagram ... 25
2.8.6 Sequence Diagram ... 25
2.8.7 Class Diagram ... 26
2.9 Rekayasa Perangkat Lunak ... 28
2.10 Perangkat Lunak Pendukung ... 29
2.10.1 MATLAB ... 29
2.11 Pengujian Perangkat Lunak ... 30
2.11.1 Teknik Pengujian ... 31
BAB III ... 33
vii
3.1.3 Analisis Studi Kasus ... 35
3.1.4 Analisis Kebutuhan Non Fungsional ... 44
3.1.5 Analisis Kebutuhan Fungsional ... 45
3.2 Perancangan Sistem ... 68
3.2.1 Perancangan Antarmuka ... 68
3.2.2 Analisis Jaringan Simantik ... 70
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM ... 71
4.1 Implementasi Sistem ... 71
4.1.1 Implementasi Perangkat Keras ... 71
4.1.2 Implementasi Perangkat Lunak ... 72
4.1.3 Implementasi Class ... 72
4.1.4 Implementasi Antarmuka Sistem ... 72
4.2 Pengujian Sistem ... 76
4.2.1 Proses Pengujian Sistem ... 76
4.2.2 Skenario Pengujian ... 76
4.2.3 Pengujian White Box ... 78
4.2.4 Kasus dan Hasil Pengujian Black Box ... 84
4.2.5 Kasus dan Hasil Pengujian Sistem ... 88
BAB V KESIMPULAN DAN SARAN ... 95
5.1 Kesimpulan ... 95
5.2 Saran ... 96
97
DAFTAR PUSTAKA
[1] M. Dra. Irnaningtyas, Biologi untuk SMA/MA Kelas X, Jakarta: Erlangga, 2013.
[2] M. Indriani, “Analisis Tekstur Menggunakan Metode Run Length,” Universitas Dipenogoro, Semarang, 2007.
[3] A. J. Arriawati, “Klasifikasi Citra Tekstur Menggunakan k-Nearest Neighbour Berdasarkan Ekstraksi Ciri Metode Matriks Kookurensi,” Universitas Diponegoro, Semarang, 2011.
[4] D. E. Kurniawan, “Rancang Bangun Sistem Pengenalan Wajah Menggunakan Filter Gabor,” Universitas Dipenogoro, Semarang, 2012.
[5] R. Lim dan R. O. Pantouw.
[6] S. N. Endah dan M. R. Widyanto, “Klasifikasi Pose Skeleton Pada Manusia dengan Support Vector Machines,” Universitas Dipenogoro, Semarang, 2012.
[7] R. S. Pressman, Ph.D, Software Engineering A Practitioner's Approach, 6th penyunt., New York: McGraw - Hill Higher Education, 2005.
[8] Fadlisyah, “Computer Vision dan Pengolahan Citra,” Andi, Yogyakarta, 2009.
[9] R. Gonzalez dan R. Wood, Digital Image Processing, New Jersey: Prentice Hall International, 2008.
[10] D. Putra, “Pengolahan Citra,” Andi, Yogyakarta, 2010.
[11] A. Rosa dan M. Shalabudin, “Modul Pembelajaran Rekayasa Perangkat Lunak (Terstruktur dan Berorientasi Objek),” Modula, Bandung, 2011.
[12] G. A. Away, The Shortcut of MATLAB Programing, Bandung: Informatika Bandung, 2006.
[14] J. Domke, “Gabor Filter Visualization,” University Of Maryland, Maryland, 2005.
[15] P. P. Widodo, R. T. Handayanto dan Herlawati, Penerapan Data Mining Dengan Matlab, Bandung: Rekayasa Sains, 2013.
1
BAB I
PENDAHULUAN
1.1Latar Belakang Masalah
Pohon disebut juga “pokok” atau “Tree” dalam bahasa Inggris, merupakan tumbuhan berkayu. Pohon memiliki batang utama yang tumbuh tegak, menopang tajuk pohon. Morfologi (struktur luar) batang setiap tumbuhan berbeda-beda. Seperti panjang batang yang tidak sama. Ada yang panjang dan ada yang pendek. Itu dipengaruhi oleh sifat genetis dan kondisi lingkungan, seperti suhu, cahaya, dan kesuburan tanah. Jadi, tumbuhan dengan jenis yang sama akan memiliki panjang batang yang berbeda karena kondisi lingkungan yang berbeda [1]. Berdasarkan keadaan batang, ada dua kelompok tumbuhan tingkat tinggi, yaitu tumbuhan herba (tumbuhan lunak) yang memiliki tekstur halus pada permukaan kulit dan tumbuhan berkayu yang memiliki tekstur kasar pada permukaan kulit. Pada kedua tumbuhan tersebut ada daun-daun di seluruh batangnya. Pada batang terdapat nodus/buku (tempat meletaknya daun) dan internodus (daerah di anatara 2 buku).
Matriks Kookurensi pada empat arah sudut yang berbeda yakni 0, 45, 90, dan
135 tidak memperoleh perubahan terhadapat nilai ciri citranya, dan dengan metode k-NN (k-Nearest Neighbour) terhadap pengklasifikasiannya memperoleh klasifikasi terbaik dengan nilai k=3 yaitu 55,557 %.
Gabor filter merupakan salah satu metode ekstraksi ciri yang mampu menghasilkan nilai ciri citra dengan berbagai orientasi (arah) sudut yang berbeda, sehingga ekstraksi citra yang diperoleh akan lebih akurat [4]. Metode Support Vector Machines adalah salah satu metode pengklasifikasian yang digunakan dalam pengenalan pola (Pattern Recognition). Pattern Recognition merupakan salah satu bidang dalam komputer sains, yang memetakan suatu data ke dalam konsep tertentu yang telah didefinisikan sebelumnya. Konsep tertentu ini disebut class atau category. Pada penelitian [5] menggunakan metode Gabor Filter dalam pelacakan dan pengenalan wajah menghasilkan keakuratan sebesar 79,31%. Dan Pada penelitian [6] menggunakan metode Support Vector Machine dalam pengklasifikasian pose skeleton manusia menghasilkan keakuratan sebesar 90,67%.
Pada penelitian ini, dengan mengimplementasikan metode Gabor Filter dan Support Vector Machines diharapkan agar dapat menghasilkan keakuratan yang lebih terhadap analisis tekstur terhadap kulit pohon, yang mana bisa mengenali pohon sebagai jenis pohon herba atau pohon berkayu dengan lebih akurat.
1.2Rumusan Masalah
Berdasarkan latar belakang masalah dan apa yang telah diuraikan di atas, maka dapat dirumuskan suatu masalah yaitu :
1. Bagaimana cara mengenali suatu tekstur kulit pohon dengan menggunakan metode gabor filter.
2. Bagaimana cara mengklasifikasikan sebuah pohon kedalam kategori tumbuhan herba atau tumbuhan berkayu menggunakan metode support vector machines.
1.3Maksud dan Tujuan
3
metode Support Vector Machines pengklasifikasian terhadap hasil ekstraksi kulit pohon tersebut.
Adapun tujuan yang ingin dicapai dalam penelitian ini, yaitu : 1. Agar dapat mengenal dan mengklasifikasikan kulit pohon.
2. Agar dapat menentukan keakuratan dengan menggunakan metode Gabor Filter dan Support Vector Machines dalam pengenalan dan pengklasifikasian terhadap kulit pohon.
3. Agar dapat menentukan parameter terbaik yang digunakan dalam metode Gabor Filter.
1.4Batasan Masalah
Adapun batasan-batasan masalahnya adalah :
1. Citra yang diambil merupakan bagian luar (kulit) dari batang pohon yang belum dikupas.
2. Citra yang diambil harus fokus terhadap bagian luar (kulit) dari batang pohon.
3. Citra diambil dari pohon yang memiliki diameter batang pohon ≥ 10cm. 4. Citra yang digunakan dalam pelatihan sebanyak 15 jenis pohon berbeda,
dan masing-masingnya memiliki 5 dataset citra yang berbeda.
5. Proses pengambilan citra kulit pohon dilakukan dengan tingkat pencahayaan yang disesuaikan yaitu tidak gelap atupun tidak terlalu terang. 6. File yang digunakan dalam aplikasi ini yaitu file gambar yang memiliki
ekstensi : *.jpg, *.jpeg, *.bmp, *.png, *tif.
7. Citra yang digunakan memiliki resolusi 450 x 600 pixel.
8. Proses ekstraksi menggunakan filter gabor dengan skala 8 orientasi (arah)
sudut yang berbeda yaitu 0, 30, 60, 90, 120 150, 180, 210 dan 4 panjang gelombang sinus yang berbeda yaitu 1,2,3,4.
1.5Metodologi Penelitian
Metodologi penelitian merupakan suatu proses yang digunakan untuk memecahkan suatu masalah yang logis, dimana memerlukan data-data untuk mendukung terlaksananya suatu penelitian. Metodologi penelitian yang digunakan adalah metode analisis deskriptif. Metode analisis deskriptif merupakan metode yang menggambarkan fakta-fakta dan informasi dalam situasi atau kejadian sekarang secara sistematis, faktual dan akurat. Metode penelitian ini memiliki dua tahapan, yaitu tahap pengumpulan data dan tahap pengumpulan perangkat lunak.
1.5.1 Metode Pengumpulan Data
Metode pengumpulan data diperoleh secara langsung dari objek penelitian. Tahapan pengumpulan data yang digunakan yaitu:
a. Studi Literatur
Studi ini dilakukan dengan cara meneliti, mempelajari, serta menelaah berbagai literatur-literatur dari jurnal-jurnal, laporan tugas akhir, buku-buku, dan bacaan-bacaan yang ada kaitannya dengan topik penelitian. b. Studi Lapangan
Studi ini dilakukan dengan mengunjungi tempat yang memiliki data yang dibutuhkan dan pengumpulan data dilakukan secara langsung.
1.5.2 Metode Pembangunan Perangkat Lunak
5
1. Planning
Tahap perencanaan yang dilakukan adalah dengan pemodelan menggunakan metode pemrograman berorientasi objek dengan Tool Unified Modeling Language (UML), dan menerapkan metode Gabor Filter dan Support Vector Machines pada aplikasi pengenalan kulit pohon. 2. Design
Tahap design merupakan tahap perancangan dari pembangunan aplikasi pengenalan yang akan dibuat untuk pengklasifikasian pada kulit pohon. 3. Coding
Setelah tahap perancangan sistem selanjutnya dilakukan konversi rancangan sistem ke dalam kode-kode bahasa pemrograman matlab. Setelah lolos tahap testing, maka dilakukan refactoring yaitu meninjau kembali semua kode program yang dapat dilihat dari keefektifannya, jika ada kode program yang tidak efektif akan dilakukan penulisan ulang kode program tanpa mengubah kerja dari modul.
4. Testing
Pengujian aplikasi dilakukan untuk memastikan keakuratan dan performansi dalam pengenalan dan pengklasifikasian kulit pohon sesuai dengan planning dan desainnya.
1.6Sistematika Penulisan
Sistematika penulisan laporan skripsi penelitian ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan laporan skripsi ini adalah sebagai berikut :
BAB I PENDAHULUAN
Bab ini berisi penjelasan mengenai latar belakang masalah, rumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian serta sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini berisi tentang pembahasan mengenai landasan teori yang digunakan dalam pembangunan aplikasi pengenalan dan pengklasifikasian pada kulit pohon, teori-teori umum yaitu Computer vision, teori dasar citra digital, Pengolahan citra digital, Pattern Recognition, Struktur Luar Batang (kulit) Pohon, OOP ( Object-Oriented Programing), dan sub-sub teori-teori khusus, yaitu Metode Gabor Filter dan Metode Support Vector Machines.
BAB III ANALISIS DAN PERANCANGAN SISTEM
Bab ini berisi tentang pembahasan analisis data masukan, analisis pre-processing, analisis metode gabor filter, analisis metode support vector machines, dan analisis kebutuhan fungsional dan non-fungsional dari aplikasi pengenalan dan pengklasifikasian pada kulit pohon.
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab ini berisi tentang penjelasan mengenai implementasi dari hasil analisis dan perancangan aplikasi pengenalan dan pengklasifikasian pada kulit pohon dan disertai dengan pengujian aplikasi tersebut
BAB V KESIMPULAN DAN SARAN
7
BAB II
LANDASAN TEORI
2.1Computer Vision
Computer Vision merupakan bidang yang berkembang pesat dikhususkan untuk menganalisa, memodifikasi, dan pemahaman gambar tingkat tinggi. Tujuannya adalah untuk menentukan apa yang terjadi di depan kamera dan menggunakan pemahaman tersebut untuk mengendalikan komputer, sistem robot, atau untuk memberikan citra baru yang lebih informatif dari pada gambar kamera asli. Aplikasi area untuk komputer visi teknologi termasuk video surveillance, biometrik, otomotif, fotografi, produksi film, pencarian web, obat-obatan, game augmented reality, antarmuka pengguna yang baru, dan banyak lagi [8].
2.2Teori Dasar Citra Digital
Dalam bidang pengolahan citra (image processing), citra yang diolah adalah citra digital, yaitu citra kontinu yang telah diubah ke dalam bentuk diskrit, baik koordinat ruangnya maupun intensitas (kecerahan) cahayanya melalui proses sampling dan kuantisasi [9]. Citra dapat diartikan sebagai suatu fungsi kontinu dari intensitas cahaya (x,y) dalam bidang dua dimensi, dengan (x,y) menyatakan suatu koordinat spasial dan nilai f pada setiap titik (x,y) menyatakan intensitas atau tingkat kecerahan atau derajat keabuan (brightness/gray level).
Piksel (0,0) terletak pada sudut kiri atas pada citra, indeks x bergerak ke kanan dan indeks y bergerak ke bawah. Secara matematis persamaan untuk fungsi intensitas f(x,y) adalah:
, < ∞ (2.1)
Misalkan ƒ merupakan sebuah citra digital 2 dimensi berukuran MxN. Maka representasi ƒ dalam sebuah matriks dapat dilihat pada gambar berikut :
2.2.1 Citra RGB
RGB merupakan model warna yang terdiri dari merah (Red), hijau (Green), dan biru (Blue) yang digabungkan dan membentuk suatu susunan warna yang luas. Setiap warna dasar memiliki rentang nilai antara 0 smpai 255 [10].
2.2.2 Citra Grayscale
Grayscale adalah warna-warna piksel yang berada dalam rentang gradasi warna hitam dan putih. Intensitas grayscale biasanya disimpan sebagai data citra 8 bit atau 256 intensitas warna gray dari nilai 0 (hitam) dan 255 (putih) [10]. Citra abu-abu dapat dihasilkan dari citra warna RGB dengan mengalikan ketiga komponen warna pokok merah, hijau, dan biru dengan suatu koefisien yang jumlahnya satu (a+b+c = 1).
� = . � + . � + . �
�� [ , ] = . . � + .59. � + . . � = ⋯ (2.2)
2.2.3 Citra Biner
Citra biner diperoleh melalui proses pemisahan piksel-piksel berdasarkan derajat keabuan yang dimilikinya. Piksel yang memiliki derajat keabuan lebih kecil dari nilai batas (threshold) yang ditentukan akan diberikan nilai nol (hitam). Sedangkan piksel yang memiliki derajat keabuan lebih besar dari nilai threshold akan diubah menjadi satu (putih) [10].
2.3Pengolahan Citra Digital
Pengolahan citra digital bertujuan untuk memanipulasi dan menganalisis citra dengan bantuan komputer. Pengolahan citra digital dapat dikelompokkan dalam dua jenis kegiatan:
1) Memperbaiki kualitas suatu gambar, sehingga dapat lebih mudah diinterpretasi oleh mata manusia.
9
Secara umum tahapan pengolahan citra digital meliputi akusisi citra, peningkatan kualitas citra, segmentasi citra, representasi dan uraian, pengenalan dan interpretasi [10].
2.3.1 Akuisisi Citra
Pengambilan data dapat dilakukan dengan menggunakan berbagai media seperti kamera analog, kamera digital, handycam, scanner, optical reader dan sebagainya.
2.3.2 Peningkatan Kualitas Citra
Pada tahap ini dikenal dengan pre-processing dimana dengan meningkatkan kualitas citra dapat meningkatkan kemungkinan dalam keberhasilan pada tahap pengolahan citra digital berikutnya.
2.3.3 Pemotongan Citra
Pemotongan citra (cropping) adalah suatu proses pembuangan pixel citra yang tidak diperlukan. Cropping merupakan salah satu proses yang sangat sering digunakan dalam memanipulasi gambar. Kegunaan dari proses cropping ini adalah untuk menghilangkan subjek dari gambar yang tidak diperlukan, untuk mengubah aspek ratio suatu gambar, atau untuk meningkatkan komposisi gambar secara keseluruhan.
2.3.4 Filter
Filter merupakan suatu proses penyaringan yang mempengaruhi hasil dari suatu gambar. Filter ini digunakan dalam hal penghilangan derau (noise) terhadap gambar, dan pengaturan pencahayaan terhadap gambar. Filter ini biasa digunakan untuk menghasilkan gambar yang bagus dan jelas tanpa ada gangguan noise ataupun pencahayaan yang berlebihan.
2.4Pattern Recognition
pengenalan pola data yang akan dikenali biasanya dalam bentuk citra atau gambar, akan tetapi ada pula yang berupa suara [10]. Secara umum pengenalan pola (pattern recognition) adalah suatu ilmu untuk mengklasifikasikan atau menggambarkan sesuatu berdasarkan pengukuran kuantitatif fitur (ciri) atau sifat utama dari suatu obyek.
Pengenalan pola (pattern recognition) merupakan teknik yang bertujuan untuk mengklasifikasikan citra yang telah diolah sebelumnya berdasarkan kesamaan atau kemiripan ciri yang dimilikinya. Bagian terpenting dari teknik pengenalan pola adalah bagaimana memperoleh informasi atau ciri penting yang terdapat dalam sinyal [10].
2.5Metode Gabor Filter
Metode gabor filter ini merupakan metode pengenalan objek yang bertujuan untuk memunculkan ciri-ciri khusus dari citra yang telah dikonvolusi terhadap kernel. Sebagai filter digunakan Gabor Filter kernel 2D yang diperoleh dengan memodulasi gelombang sinus 2D pada frekuensi dan orientasi tertentu dengan Gaussian envelope. Persamaan dasar fungsi Gabor Filter 2D ditunjukkan pada persamaan (2.3), dimana adalah standar deviasi dari Gaussian envelope pada
dimensi x dan y. Lamda () dan tetha () adalah panjang dan orientasi dari gelombang sinus 2-D. Penyebaran dari Gaussian envelope didefinisikan dalam
bentuk dari gelombang sinus . Rotasi dari x – y sebesar sudut menghasilkan
Gabor filter pada orientasi [14].
11
= Standar deviasi Gaussian envelope
= Panjang gelombang sinus pada 2-Dimensi
= Derajat Orientasi gelombang sinus pada 2-Dimensi
= Aspek rasio spasial
ψ = Phase Offset (sebagai faktor kosinus pada fungsi gabor)
Phi(ψ) memiliki nilai derajat antara -180, -90, 0, 90, 180. Nilai dari gamma () yaitu 0,5. Sigma () tidak memiliki nilai yang dapat ditetapkan, tetapi dapat
diganti dengan nilai bandwith (b) yaitu 1. Panjang gelombang () disini mempunyai
nilai >0. Derajat orientasi atau tetha () memiliki nilai antara 0 - 360. Jika semua Gabor filter dengan variasi panjang gelombang () dan derajat orientasi () berbeda diterapkan pada satu titik tertentu (x,y), maka didapatkan banyak respon filter untuk titik tersebut, misal: digunakan empat panjang gelombang dan delapan orientasi, maka akan dihasilkan 32 respon filter untuk tiap titik citra yang dikonvolusikan dengan filter tersebut.
2.6Metode Support Vector Machines
Support Vector Machines (SVM) merupakan metode klasifikasi jenis terpadu (supervised) karena ketika proses pelatihan, diperlukan target pembelajaran tertentu. SVM juga merupakan algoritma yang bekerja menggunakan pemetaan nonlinear untuk mengubah data pelatihan asli ke dimensi yang lebih tinggi. Dalam hal ini dimensi baru, akan mencari hyperplane untuk memisahkan secara linear dan dengan pemetaan nonlinear yang tepat ke dimensi yang cukup tinggi, data dari dua kelas selalu dapat dipisahkan dengan hyperplane tersebut. SVM menemukan hyperplane ini menggunakan support vector dan margin [15].
SVM muncul pertama kali pada tahun 1992 oleh Vladimir Vapnik bersama rekannya Bernhard Boser dan Isabelle Guyon. Dasar untuk SVM sudah ada sejak tahun 1960-an (termasuk karya awal oleh vapnik dan Alexei Chervonenkis pada teori belajar statistik).
Gambar 2. 3 SVM berusaha menemukan hyperplane terbaik yang memisahkan kedua
class –1 dan +1
13
lingkaran hitam adalah support vector. Usaha untuk mencari lokasi hyperplane ini merupakan inti dari proses pembelajaran pada SVM [16].
Konsep SVM dapat dijelaskan secara sederhana sebagai usaha mencari hyperplane terbaik yang berfungsi sebagai pemisah dua buah class pada input space. Gambar 2.3-a memperlihatkan beberapa pattern yang merupakan anggota dari dua buah class : +1 dan –1. Pattern yang tergabung pada class–1 disimbolkan dengan warna merah (kotak), sedangkan pattern pada class +1, disimbolkan dengan warna kuning (lingkaran). Problem klasifikasi dapat diterjemahkan dengan usaha menemukan garis (hyperplane) yang memisahkan antara kedua kelompok tersebut. Berbagai alternatif garis pemisah (discrimination boundaries) ditunjukkan pada gambar 23-a.
Konsep SVM dapat dijelaskan secara sederhana sebagai usaha mencari hyperplane terbaik yang berfungsi sebagai pemisah dua buah class pada input space. Gambar 2.3 (a) memperlihatkan beberapa pattern yang merupakan anggota dari dua buah class : +1 dan –1. Pattern yang tergabung pada class–1 disimbolkan dengan warna merah (kotak), sedangkan pattern pada class +1, disimbolkan dengan warna kuning(lingkaran). Problem klasifikasi dapat diterjemahkan dengan usaha menemukan garis (hyperplane) yang memisahkan antara kedua kelompok tersebut.
Konsep SVM dapat dijelaskan secara sederhana sebagai usaha mencari hyperplane terbaik yang berfungsi sebagai pemisah dua buah class pada input space. Gambar 2.3 (a) memperlihatkan beberapa pattern yang merupakan anggota dari dua buah class : +1 dan –1. Pattern yang tergabung pada class–1 disimbolkan dengan warna merah (kotak), sedangkan pattern pada class +1, disimbolkan dengan warna kuning(lingkaran). Problem klasifikasi dapat diterjemahkan dengan usaha menemukan garis (hyperplane) yang memisahkan antara kedua kelompok tersebut.
terletak tepat pada tengah-tengah kedua class, sedangkan titik merah dan kuning yang berada dalam lingkaran hitam adalah support vector. Usaha untuk mencari lokasi hyperplane ini merupakan inti dari proses pembelajaran pada SVM. Hyperplane dapat didefinisikan dengan persamaan berikut
: �+ = (2.1)
Data yang tersedia dinotasikan sebagai ⃗⃗⃗⃗ ∈ � ℜ� sedangkan label masing-masing dinotasikan ∈ {− , + } untuk � = , , , … . , � yang mana � adalah banyaknya data. Diasumsikan kedua class –1 dan +1 dapat terpisah secara sempurna oleh hyperplane berdimensi d , yang didefinisikan
⃗⃗ . + = (2.2)
Pattern ⃗⃗⃗ � yang termasuk class –1 (sampel negatif) dapat dirumuskan sebagai pattern yang memenuhi pertidaksamaan,
⃗⃗ .⃗⃗⃗ +� − (2.3)
sedangkan pattern ⃗⃗⃗ � yang termasuk class +1 (sampel positif).
⃗⃗ .⃗⃗⃗ +� + (2.4)
Margin terbesar dapat ditemukan dengan memaksimalkan nilai jarak antara hyperplane dan titik terdekatnya, yaitu /‖⃗⃗ ‖ . Hal ini dapat dirumuskan sebagai Quadratic Programing (QP) problem, yaitu mencari titik minimal persamaan 2.5 dengan memperhatikan constraint persamaan 2.6.
min�⃗⃗ � = ‖⃗⃗ ‖ (2.5)
�
⃗⃗⃗ . ⃗⃗ + − , ∀ (2.6)
Problem ini dapat dipecahkan dengan berbagai teknik komputasi, di antaranya Lagrange Multiplier.
� ⃗⃗ , , � = ‖⃗⃗ ‖ − ∑ � ( . ⃗⃗ + − ) �
=
� = , , , … . , � (2.7)
15
optimal gradient L=0, persamaan 2.7 dapat dimodifikasi sebagai maksimalisasi problem yang hanya mengandung � saja, sebagaimana persamaan 2.8 dibawah. Maximize :
∑� �
= − ∑�, = � � (2.8) Subject to :
� � = , , , … , � ∑� � =
= (2.9)
Dari hasil perhitungan ini diperoleh � yang kebanyakan nilai positif. Data yang berkorelasi dengan � yang positif inilah yang disebut support vector.
2.7Struktur Luar Batang Pohon
Morfologi (struktur luar) batang setiap tumbuhan berbeda-beda. Seperti panjang batang yang tidak sama. Ada yang panjang dan ada yang pendek. Itu dipengaruhi oleh sifat genetis dan kondisi lingkungan, seperti suhu, cahaya, dan kesuburan tanah. Jadi, tumbuhan dengan jenis yang sama akan memiliki panjang batang yang berbeda karena kondisi lingkungan yang berbeda. Berdasarkan keadaan batang, ada 2 kelompok tumbuhan tingkat tinggi. Yaitu, tumbuhan herba (tumbuhan lunak) dan tumbuhan berkayu [1]. Pada kedua tumbuhan tersebut ada daun-daun di seluruh batangnya. Pada batang terdapat nodus/buku (tempat meletaknya daun) dan internodus (daerah di anatara 2 buku).
1) Batang tumbuhan herba
Batang tumbuhan herba biasanya, berwarna hijau, jaringan kayu sedikit atau tidak ada, ukuran batang kecil, dan umumnya relatif pendek. Bagian luar batang terdiri dari epidermis yang tipis dan tidak mengandung gabus. Pada epidermis terdapat stomata sehingga jaringan di dalamnya dapat mengambil oksigen dan mengeluarkan karbon dioksida.
2) Batang tumbuhan berkayu
jika sudah terbentuk lapisan gabus kemampuan fotosintesis menjadi hilang. Lapisan gabus terbentuk oleh kambium gabus. Adanya aktivitas kambium menyebabkan rusaknya jaringan yang terdapat pada korteks dan epidermis. Dengan rusaknya jaringan tersebut akan menyebabkan kemampuan fotosintesis menjadi hilang.
Gambar 2. 4 Struktur Luar Batang Pohon (a)Pine (b)Jagung (c)Oak
2.8Object-Oriented Programing
Metodologi berorientasi objek adalah suatu strategi pembangunan perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang diberlakukan terhadapnya [12]. Metodologi berorientasi objek merupakan suatu cara bagaimana sistem perangkat lunak dibangun melalui pendekatan objek secara sistematis. Metode berorientas objek didasarkan pada penerapan prinsip-prinsip pengelolaan kompleksitas. Metode berorientasi objek meliputi rangkaian aktivitas analisis berorientasi objek, perancangan berorientasi objek, pemrograman berorientasi objek, dan pengujian berorientasi objek.
17
Keuntungan menggunakan metodologi berorientasi objek adalah sebagai berikut :
a) Meningkatkan produktivitas
Karena kelas dan objek yang ditemukan dalam suatu masalah masih dapat dipakai ulang untuk masalah lainnya yang melibatkan objek tersebut (reusable).
b) Kecepatan pengembangan
Karena sistem yang dibangun dengan baik dan benar pada saat analisis dan perancangan akan menyebabkan berkurangnya kesalahan pada saat pengkodean.
c) Kemudahan pemeliharaan
Karena dengan model objek, pola-pola yang cenderung tetap dan stabil dapat dipisahkan dan pola-pola yang mungkin sering berubah-ubah.
d) Adanya konsistensi
Karena sifat pewarisan dan penggunaan notasi yang sama pada saat analisis, perancangan maupun pengkodean.
e) Meningkatkan kualitas perangkat lunak
Karena pendekatan pengembangan lebih dekat dengan dunia nyata dan adanya konsistensi pada saat pengembangannya, perangkat lunak yang dihasilkan akan mampu memenuhi kebutuhan pemakai serta mempunyai sedikit kesalahan.
2.8.1 Konsep Dasar Berorientasi Objek
Pendekatan berorientasi objek merupakan suatu teknik atau cara pendekatan dalam melihat permasalahan dan sistem (sistem perangkat lunak, sistem informasi, atau sistem lainnya) [12]. Pendekatan berorientasi objek akan memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek yang berkorespondensi dengan objek-objek dunia nyata.
Dalam rekayasa perangkat lunak, konsep pendekatan berorientasi objek dapat diterapkan pada tahap analisis, perancangan, pemrograman, dan pengujian perangkat lunak. Ada berbagai teknik yang dapat digunakan pada masing-masing tahap tersebut, dengan aturan dan alat bantu pemodelan tertentu.
Sistem berorientasi objek merupakan sebuah sistem yang dibangun dengan berdasarkan metode berorientasi objek adalah sebuah sistem yang komponennya dibungkus (dienkapsulasi) menjadi kelompok data dan fungsi. Setiap komponen dalam sistem tersebut dapat mewarisi atribut dan sifat dan komponen lainnya, dan dapat berinteraksi satu sama lain.
Berikut ini adalah beberapa konsep dasar yang harus dipahami tentang metodologi berorientasi objek:
1. Kelas (Class)
Kelas adalah sekumpulan objek-objek dengan karakteristik yang sama. Kelas merupakan definisi statis dan himpunan objek yang sama yang mungkin lahir atau diciptakan dan kelas tersebut. Sebuah kelas akan mempunyai sifat (atribut), kelakuan (metode/operasi), hubungan (relationship) dan arti. Suatu kelas dapat diturunkan dan kelas yang lain, dimana atribut dan kelas semula dapat diwariskan ke kelas yang baru. Secara teknis kelas adalah sebuah struktur dalam pembuatan perangkat lunak. Kelas merupakan bentuk struktur pada kode program yang menggunakan metodologi berorientasi objek.
2. Objek (object)
19
sebuah objek hanya ada saat sebuah program dieksekusi. Jika masih dalam bentuk kode, disebut sebagai kelas jadi pada saat runtime (saat sebuah program dieksekusi), yang kita punya adalah objek, di dalam teks program yang kita lihat hanyalah kelas.
3. Metode (method)
Operasi atau metode pada sebuah kelas hampir sama dengan fungsi atau prosedur pada metodologi struktural. Sebuah kelas boleh memiliki lebih dari satu metode atau operasi. Metode atau operasi yang berfungsi untuk memanipulasi objek itu sendiri. Operasi atau metode merupakan fungsi atau transformasi yang dapat dilakukan terhadap objek atau dilakukan oleh objek.
Metode atau operasi dapat berasal dari event, aktifitas atau aksi keadaan, fungsi, atau kelakuan dunia nyata. Contoh metode atau operasi misalnya Read, Write, Move, Copy, dan sebagainya.
4. Atribut (attribute)
Atribut dari sebuah kelas adalah variabel global yang dimiliki sebuah kelas. Atribut dapat berupa nilai atau elemen-elemen data yang dimiliki oleh objek dalam kelas objek. Atribut dipunyai secara individual oleh sebuah objek, misalnya berat, jenis, nama, dan sebagainya.
5. Abstraksi (abstraction)
Prinsip untuk merepresentasikan dunia nyata yang kompleks menjadi satu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan.
6. Enkapsulasi (encapsulation)
Pembungkusan atribut data dan layanan (operasi-operasi) yang dipunyai objek untuk menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara kerja-nya.
7. Pewarisan (inheritance)
Mekanisme yang memungkinkan satu objek mewarisi sebagian atau seluruh definisi dan objek lain sebagai bagian dan dirinya.
Antarmuka sangat mirip dengan kelas, tapi tanpa atribut kelas dan memiliki metode yang dideklarasikan tanpa isi. Deklarasi metode pada sebuah interface dapat diimplementasikan oleh kelas lain.
9. Reusability
Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu permasalahan pada permasalahan lainnya yang melibatkan objek tersebut. 10.Generalisasi dan Spesialisasi
Menunjukkan hubungan antara kelas dan objek yang umum dengan kelas dan objek yang khusus. Misalnya kelas yang lebih umum (generalisasi) adalah kendaraan darat dan kelas khususnya (spesialisasi) adalah mobil, motor, dan kereta.
11.Komunikasi Antarobjek
Komunikasi antarobjek dilakukan lewat pesan (message) yang dikirim dari satu objek ke objek lainnya.
12.Polimorfisme (polymorphism)
Kemampuan suatu objek digunakan di banyak tujuan yang berbeda dengan nama yang sehingga menghemat baris program.
13.Package
Package adalah sebuah kontainer atau kemasan yang dapat digunakan untuk mengelompokkan kelas-kelas sehingga memungkinkan beberapa kelas yang bernama sama disimpan dalam package yang berbeda.
2.8.2 Pengenalan UML
21
Banyak orang yang telah membuat bahasa pemodelan pembangunan perangkat lunak sesuai dengan teknologi pemrograman yang berkembang pada saat itu, misalnya yang sempat berkembang dan digunakan banyak pihak adalah Data Flow Diagram (DFD) untuk memodelkan perangkat lunak yang menggunakan pemrograman prosedural atau struktural, kemudian juga ada State Transition Diagram (STD) yang digunakan untuk memodelkan sistem real time (waktu nyata). Pada perkembangan teknik pemrograman berorientasi objek, munculah sebuah standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang dibangun dengan menggunakan teknik pemrograman berorientasi objek, yaitu Unified Modeling Language (UML). UML muncul karena adanya kebutuhan pemodelan visual untuk menspesifikasikan, menggambarkan, membangun, dan dokumentasi dari sistem perangkat lunak. UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung.
UML hanya berfungsi untuk melakukan pemodelan. Jadi penggunaan UML tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodologi berorientasi objek.
Seperti yang kita ketahui di dunia sistem informasi yang tidak dapat dibakukan, semua tergantung kebutuhan, lingkungan dan konteksnya. Begitu juga dengan perkembangan penggunaan UML bergantung pada level abstraksi penggunaannya. Jadi, belum tentu pandangan yang berbeda dalam penggunaan UML adalah suatu yang salah, tapi perlu ditelaah dimanakah UML digunakan dan hal apa yang ingin digambarkan. Secara analogi jika dengan bahasa yang digunakan sehari-hari, belum tentu penyampaian bahasa dengan puisi adalah hal yang salah. Sistem informasi bukanlah ilmu pasti, maka jika ada banyak perbedaan dan interpretasi di dalam bidang sistem informasi merupakan hal yang sangat wajar.
2.8.3 Digram UML
Gambar 2. 5 Diagram UML 2.3
Berikut ini penjelasan singkat dari pembagian kategori tersebut :
a) Structure diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan.
b) Behavior diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem.
c) Interaction diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan interaksi sistem dengan sistem lain maupun interaksi antarsubsistem pada suatu sistem.
2.8.4 Use Case Diagram
23
Syarat penamaan pada Use Case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada Use Case yaitu pendefinisian apa yang disebut aktor dan Use Case.
2.8.4.1Aktor
Aktor adalah sesuatu (entitas) yang berhubungan dengan sistem dan berpartisipasi dalam use case. Aktor menggambarkan orang, sistem atau entitas eksternal yang secara khusus membangkitkan sistem dengan input atau masukan kejadian-kejadian, atau menerima sesuatu dari sistem. Aktor dilukiskan dengan peran yang mereka mainkan dalam use case, seperti Staff, Kurir dan lain-lain.
Dalam use case diagram terdapat satu aktor pemulai atau initiator actor yang membangkitkan rangsangan awal terhadap sistem, dan mungkin sejumlah aktor lain yang berpartisipasi atau participating actor. Akan sangat berguna untuk mengetahui siapa aktor pemulai tersebut.
Gambar 2. 6 Aktor
2.8.4.2Use Case
Use case yang dibuat berdasarkan keperluan aktor merupakan gambaran dari “apa” yang dikerjakan oleh sistem, bukan “bagaimana” sistem mengerjakannya. Use case diberi nama yang menyatakan apa hal yang dicapai dari interaksinya dengan aktor.
2.8.4.3Relationship
Relasi (relationship) digambarkan sebagai bentuk garis antara dua simbol dalam use case diagram. Relasi antara actor dan use case disebut juga dengan asosiasi (association). Asosiasi ini digunakan untuk menggambarkan bagaimana hubungan antara keduanya.
Relasi-relasi yang terjadi pada use case diagram bisa antara actor dengan use case atau use case dengan use case.
Gambar 2. 8 Relationship
Relasi antara use case dengan use case :
a) Include, pemanggilan use case oleh use case lain atau untuk menggambarkan suatu use case termasuk di dalam use case lain (diharuskan). Contohnya adalah pemanggilan sebuah fungsi program. Digambarkan dengan garis lurus berpanah dengan tulisan <<include>>.
Gambar 2. 9 Contoh Include
b) Extend, digunakan ketika hendak menggambarkan variasi pada kondisi perilaku normal dan menggunakan lebih banyak kontrol form dan mendeklarasikan ekstension pada use case utama. Atau dengan kata lain adalah perluasan dari use case lain jika syarat atau kondisi terpenuhi. Digambarkan dengan garis berpanah dengan tulisan <<extend>>.
25
c) Generalization/Inheritance, dibuat ketika ada sebuah kejadian yang lain sendiri atau perlakuan khusus dan merupakan pola berhubungan base-parent use case. Digambarkan dengan garis berpanah tertutup dari base use case ke parent use case.
Gambar 2. 11 Contoh Generalisasi
2.8.5 Activity Diagram
Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem.
Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut ini :
1) Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan
2) Urutan atau pengelompokan tampilan dari sistem/user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan 3) Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah
pengujian yang perlu didefinisikan kasus ujinya
2.8.6 Sequence Diagram
Diagram sequence menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambarkan diagram sequence maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu.
sequence sehingga semakin banyak use case yang didefinisikan maka diagram sequence yang harus dibuat juga semakin banyak.
Penomoran pesan berdasarkan urutan interaksi pesan. Penggambaran letak pesan harus berurutan, pesan yang lebih atas dari lainnya adalah pesan yang berjalan terlebih dahulu.
2.8.7 Class Diagram
Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi. Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas. Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas.
Kelas-kelas yang ada pada struktur sistem harus dapat melakukan fungsi-fungsi sesuai dengan kebutuhan sistem. Susunan struktur kelas yang baik pada diagram kelas sebaiknya memiliki jenis-jenis kelas berikut :
1) Kelas Main
Kelas yang memiliki fungsi awal dieksekusi ketika sistem dijalankan.
2) Kelas yang menangani tampilan sistem
Kelas yang mendefinisikan dan mengatur tampilan ke pemakai. 3) Kelas yang diambil dari pendefinisian usecase
Kelas yang menangani fungsi-fungsi yang harus ada diambil dari pendefinisian use case.
4) Kelas yang diambil dari pendefinisian data
Kelas yang digunakan untuk memegang atau membungkus data menjadi sebuah kesatuan yang diambil maupun akan disimpan ke basis data.
27
Dalam mendefinisikan metode yang ada di dalam kelas perlu memperhatikan apa yang disebut dengan cohesion dan coupling. Cohesion adalah ukuran seberapa dekat keterkaitan instruksi di dalam sebuah metode terkait satu sama lain sedangkan coupling adalah ukuran seberapa dekat keterkaitan instruksi antara metode yang satu dengan metode yang lain dalam sebuah kelas. Sebagai aturan secara umum maka sebuah metode yang dibuat harus memiliki kadar choesion yang kuat dan kadar coupling yang lemah.
Dalam class diagram terdapat beberapa relasi (hubungan antar class) yaitu: 1. Generalization and Inheritence
Diperlukan untuk memperlihatkan hubungan pewarisan (inheritance) antar unsur dalam diagram kelas. Pewarisan memungkinkan suatu kelas mewarisi semua atribut, operasi, relasi, dari kelas yang berada dalam hirarki pewarisannya.
2. Associations
Hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui ekstensi class lain. Dalam notasi UML kita mengenal asosiasi 2 arah (bidirectional) dan 1 arah (undirectional).
3. Aggregation
Hubungan antar-class dimana class yang satu (part class) adalah bagian dari class lainnya (whole class).
4. Composition
Aggregation dengan ikatan yang lebih kuat. Di dalam composite aggregation, siklus hidup part class sangat bergantung pada whole class sehingga bila objek instance dari whole class dihapus maka objek instance dari part calss juga akan terhapus.
5. Depedency
Hubungan antar-class dimana sebuah class memiliki ketergantungan pada class lainnya tetapi tidak sebaliknya.
Hubungan antar-class dimana sebuah class memiliki keharusan untuk mengikuti aturan yang ditetapkan class lainnya. Biasanya realization digunakan untk menspesifikasikan hubungan antara sebuah interface dengan class yang mengimplementasikan interface tersebut.
2.9Rekayasa Perangkat Lunak
Rekayasa perangkat lunak (software engineering) merupakan pembangunan dengan menggunakan prinsip atau konsep rekayasa dengan tujuan menghasilkan perangkat lunak yang bernilai ekonomi, dipercaya dan bekerja secara efisien menggunakan mesin. Rekayasa perangkat lunak lebih fokus pada praktik pengembangan perangkat lunak dan mengirimkan perangkat lunak yang bermanfaat bagi pengguna. Rekayasa perangkat lunak fokus pada bagaimana membangun perangkat lunak yang memenuhi kriteria berikut:
1) Dapat terus dipelihara setelah perangkat lunak selesai dibuat seiiring berkembangnya teknologi dan lingkungan.
2) Dapat diandalkan dengan proses bisnis yang dijalankan dan perubahan yang terjadi.
3) Efisien dari segi sumber daya dan penggunaan. 4) Kemampuan untuk dipakai sesuai dengan kebutuhan.
Pekerjaan yang terkait dengan rekayasa perangkat lunak dapat dikategorikan menjadi tiga buah kategori umum tanpa melihat area dari aplikasi, ukuran proyek atau kompleksitas perangkat lunak yang akan dibangun, yaitu:
1. Fase Pendefinisian (Definition Phase)
Fase pendefinisian fokus pada “what” yang artinya harus mencari tahu atau mengidentifikasi informasi apa yang harus diproses, seperti apa fungsi dan performansi yang diinginkan, seperti apa prilaku sistem yang diinginkan, apa kriteria validasi yang dibutuhkan untuk mendefinisikan sistem.
2. Fase Pengembangan (Development Phase)
29
diinstrukturkan dan bagaimana fungsi-fungsi yang dibutuhkan diimplementasikan, bagaimana tampilan karakter antarmuka, bagaimana desain ditranslasikan ke dalam bahasa pemrograman dan bagaimana pengujian dijalankan.
3. Fase Pendukung (Support Phase)
Fase pendukung fokus pada perubahan yang terasosiasi pada perbaikan kesalahan (error), adaptasi yang dibutuhkan pada lingkungan perangkat lunak yang terlibat dan perbaikan yang terjadi akibat perubahan kebutuhan pengguna. Fase pendukung terdiri dari empat tipe perubahan antara lain:
a. Koreksi (Correction), yaitu pemeliharaan dengan melakukan perbaikan terhadap kecacatan perangkat lunak.
b. Adaptasi (Adaptation), yaitu merupakan tahap untuk memodifikasi perangkat lunak guna mengakomodasi perubahan lingkungan luar dimana perangkat lunak dijalankan.
c. Perbaikan (Enchancement), pemeliharaan perfektif atau penyempurnaan melakukan eksekusi atau penambahan pada kebutuhan fungsional sebelumnya.
d. Pencegahan (Prevention), pencegahan atau sering disebut juga dengan rekayasa ulang sistem (software reengineering) harus dikondisikan untuk mempu melayani kebutuhan yang diinginkan pemakainya.
2.10 Perangkat Lunak Pendukung
Adapun perangkat lunak pendukung yang digunakan dalam implementasi metode di aplikasi pengenalan dan pengklasifikasian kulit pohon sebagai berikut :
2.10.1 MATLAB
bahasa C. Namun dengan hubungan langsungnya dengan bahasa C, Matlab memiliki kelebihan-kelebihan dari bahasa C bahkan mampu berjalan pada semua platform Sistem Operasi tanpa mengalami perubahan sintak sama sekali. Bahasa ini mengintegrasikan kemampuan komputasi, visualisasi dan pemograman dalam sebuah lingkungan yang tunggal dan mudah digunakan. Matlab memberikan sistem interaktif yang menggunakan konsep array/matrik sebagai standar variabel elemennya tanpa membutuhkan pendeklarasian array seperti pada bahasa lainnya.
Matlab dikembangkan oleh MathWorks, yang pada awalnya dibuat untuk memberikan kemudahan mengakses data matrik pada proyek LINPACK dan EISPACK. Selanjutnya menjadi sebuah aplikasi untuk komputasi matrik. Dari sejak awal dipergunakan, matlab memperoleh masukan ribuan pemakai. Dalam lingkungan pendidikan ilmiah menjadi alat pemrograman standar bidang matematika, rekayasa dan keilmuan terkait. Dan dalam lingkungan industri dapat menjadi pilihan paling produktif untuk riset, pengembangan dan analisa [12].
2.11 Pengujian Perangkat Lunak
Pengujian perangkat lunak merupakan suatu investigasi yang dilakukan untuk mendapatkan informasi mengenai kualitas dari produk atau layanan yang sedang diuji. Pengujian perangkat lunak juga memberikan pandangan mengenai perangkat lunak secara obyektif dan independen, yang bermanfaat dalam operasional bisnis untuk memahami tingkat risiko pada implementasinya. Teknik-teknik pengujian mencakup, namun tidak terbatas pada, proses mengeksekusi suatu bagian program atau keseluruhan aplikasi dengan tujuan untuk menemukan “bug” perangkat lunak. Bug merupakan suatu kesalahan desain pada suatu perangkat keras komputer atau perangkat lunak komputer yang menyebabkan peralatan atau program itu tidak berfungsi semestinya. Bug umumnya lebih umum dalam dunia perangkat lunak dibandingkan dengan perangkat keras [13].
31
dengan hasil uji yang diharapkan. Jika ditemukan kesalahan, maka perbaikan perangkat lunak harus dilakukan untuk kemudian diuji kembali.
Pengujian perangkat lunak adalah proses menjalankan dan mengevaluasi sebuah perangkat lunak secara manual maupun otomatis untuk menguji apakah perangkat lunak sudah memenuhi persyaratan atau belum, atau untuk menentukan perbedaan antara hasil yang diharapkan dengan hasil sebenarnya. Peksanaan pengujian perangkat lunak biasanya disesuaikan dengan metodologi pembangunan perangkat lunak yang digunakan.
Pengujian dikatakan berhasil apabila pengujian yang dilakukan memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya.
2.11.1 Teknik Pengujian
Teknik pengujian yang dapat digunakan dalam menguji perangkat lunak sebagai berikut :
a. Pengujian White Box : Pengujian white box adalah pengujian yang didasarkan pada pengecekan terhadap detail perancangan, menggunakan struktur kontrol dari desain program secara procedural untuk membagi pengujian ke dalam beberapa kasus pengujian. Secara sekilas dapat diambil kesimpulan white box testing merupakan petunjuk untuk mendapatkan program yang benar secara 100%.
Penggunaan metode pengujian white box dilakukan untuk :
1) Memberikan jaminan bahwa semua jalur independen suatu modul digunakan minimal satu kali
2) Menggunakan semua keputusan logis untuk semua kondisi true atau false
3) Mengeksekusi semua perulangan pada batasan nilai dan operasional pada setiap kondisi.
Persyaratan dalam menjalankan strategi White Box Testing sebagai berikut :
1) Mendefinisikan semua alur logika
2) Membangun kasus untuk digunakan dalam pengujian 3) Mengevaluasi semua hasil pengujian
4) Melakukan pengujian secara menyeluruh
b. Pengujian Black Box : Pengujian black box digunakan untuk menguji fungsi-fungsi khusus dari perangkat lunak yang dirancang. Pada teknik ini, kebenaran perangkat lunak yang diuji hanya dilihat berdasarkan keluaran yang dihasilkan dari data atau kondisi masukan yang diberikan untuk fungsi yang ada tanpa melihat bagaimana proses untuk mendapatkan keluaran tersebut. Dari keluaran yang dihasilkan, kemampuan program dalam memenuhi kebutuhan pemakai dapat diukur sekaligus dapat diiketahui kesalahan-kesalahannya.
Beberapa jenis kesalahan yang dapat diidentifikasi : 1) Fungsi tidak benar atau hilang
2) Kesalahan antar muka
3) Kesalahan pada struktur data (pengaksesan basis data) 4) Kesalahan inisialisasi dan akhir program
5) Kesalahan performasi
95
BAB V
KESIMPULAN DAN SARAN
Berdasarkan pembahasan analisis, perancangan, implementasi sampai pada
tahapan pengujian, maka dapat ditarik kesimpulan serta saran untuk Implementasi
Metode Gabor Filter dan Support Vector Machines Dalam Pengenalan dan
Pengklasifikasian Terhadap Kulit Pohon.
5.1Kesimpulan
Berdasarkan perbandingkan antara tujuan pembangunan perangkat lunak dengan hasil implementasi dan pengujian, maka diperoleh kesimpulan sebagai berikut :
1. Penerapan telah berhasil diimplementasikan dalam pengenalan dan pengklasifikasian terhadap kulit pohon, sehingga mudah dalam mengenali
pohon dan jenisnya hanya dari gambar kulitnya saja.
2. Hasil pengujian keakuratan dari implementasi metode gabor filter dan
support vector machines dalam pengenalan dan pengklasifikasian kulit
pohon menghasilkan akurasi sebesar 71,4%.
3. Dari hasil pengujian, performansi sistem yang terbaik terdapat pada parameter Gabor dengan skala=1 dan orientasi=1 yang menghasilkan
waktu proses lebih cepat daripada gabungan nilai parameter lainnya.
5.2Saran
Terlepas dari kelebihan-kelebihan sebuah perangkat lunak pastilah memiliki kekurangan, maka dari itu untuk pengembangan lebih lanjut, saran-saran yang dapat diberikan sebagai berikut :
1. Mengembangkan aplikasi pengenalan dan pengklasifikasian kulit pohon secara real time.
2. Menambah jumlah dataset untuk pelatihan sekitar 50.
4. Aplikasi dan penerapan metode ini bisa dikembangkan pada kasus yang berbeda tidak hanya kulit pohon melainkan di bidang lainnya.
D-1
DAFTAR RIWAYAT HIDUP
A. Data Pribadi
Nama : Muhammad Yusuf
Tempat / tanggal lahir : Pekanbaru / 09 Mei 1992 Jenis Kelamin : Laki-laki
Status : Belum Menikah
Agama : Islam
Alamat : Jln. Cigadung Raya Barat No.67A, Bandung No. Telp : +62 857 9470 5969
Email : cupz.gobiz09@gmail.com | cupz.gobiz09@hotmail.com B. Pendidikan Formal
1998 - 2004 : SDI As-Shofa Pekanbaru, Riau 2004 - 2007 : SMP Negeri 4 Pekanbaru, Riau 2007 - 2010 : MAN 1 Pekanbaru, Riau
2010 - 2015 : Universitas Komputer Indonesia Bandung
C. Pendidikan Non-Formal
2009 – 2010 : Ganesha Operation Pekanbaru 2014 : Oracle Fundamental 10g Be:Logix
D. Pengalaman Organisasi
2012 – 2013 :Anggota Divisi LITBANG (Penelitian dan Pengembangan) HIMA IF UNIKOM Bandung
2011 - 2012 : ADM HIMA IF UNIKOM Bandung
2008 – 2009 : Sekretaris Utama OSIS MAN 1 Pekanbaru, Riau
E. Kemampuan
Mampu bekerjasama dan memimpin sebuah tim. Membuat website
HTML, CSS, PHP.
Menguasai Office; Ms.Word, Ms.Excel, Ms.Power Point,
Ms.Access. Pemograman; Bahasa C#, C++, C.
PSD (Photoshop Design), CDR (Corel Draw), AI (Adobe Ilustrator)
F. Pengalaman Kerja
Bekerja di CV. AKHBAR PRINT
Periode : 2012 – 2014 Status : Paruh Waktu Posisi : Designer
Bekerja di PT. PADJADJARAN MITRA Periode : Juli 2013 – November 2013 Status : Magang
Posisi : Divisi IT
Demikian Riwayat Hidup ini saya buat dengan sebenar-benarnya.
Bandung, 19 Agustus 2015 Hormat Saya,
Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)
1 Edisi 1 Volume 1 Bulan Agustus 2015 ISSN : 2089-9033IMPLEMENTATION OF GABOR FILTER METHOD AND SUPPORT VECTOR MACHINES IN RECOGNITION AND CLASSIFICATION OF BARK
Muhammad Yusuf1, Galih Hermawan2
1,2 Program Studi Teknik Informatika – Universitas Komputer Indonesia
Jl. Dipatiukur 112 – 114 Bandung 40132
E-mail : cupz.gobiz09@gmail.com1, galih.hermawan@yahoo.co.id2
ABSTRACT
The tree has a main trunk grows upright, supporting the canopy of tree. Morphology (outer structure) from trunk of each plant is different. Based on a condition of trunk, there are two high level groups, that is a herba plant (soft plant) has a smooth texture and woody plant has a rough texture on skin surface of tree. Texture analysis has a part of important in image processing because the texture analysis was developed with the aim computer can understand, make a dummy, and then processed the texture for can simulated the eyes learned or human vision.
Texture analysis can be obtained with the way of feature extraction an images with any method. Which method used is gabor filter method and support vector machines as a classification method in pattern recognition. Pattern Recognition is a part of computer science, and mapped a data into certain concept can be called a class or a category.
Based on research result, can be concluded this research success applicated gabor filter method and support vector Machines into texture analysis and pattern recognition images of bark with an accuracy 74,1% using the best parameter that scale=1 and orientation=1.
Keyword: Pattern Recognition, Image Processing,
Feature Extraction, Gabor Filter, Support Vector Machines.
1 INTRODUCTION
1.1 Background
The tree is also called the "principal" or "Tree" in English, is a woody plant. The tree has a main stem grows upright, prop up the tree canopy. Morphology (outer structure) stem of each plant is different. Such as the rod length is not the same. Some are long and some short. It was influenced by the nature of the genetic and environmental conditions, such as temperature, light, and soil fertility. Thus, plants of the same type will have a different stem lengths due to different environmental conditions [1]. Based on the state of the trunk, there are two groups of higher plants, namely herbaceous plants (plants soft) that has a smooth texture on the skin surface and woody plant
that has a rough texture on the surface of the skin. In both these plants there leaves around the stem. In the trunk there is a nodal / book (where meletaknya leaves) and internodus (area in anatara 2 books).
Texture analysis plays an important role on digital image processing for texture analysis was developed with the aim that the computer can understand, model making, as well as the process to be able to mimic the texture of the learning process the human eye or vision. Texture analysis can be obtained by extracting characteristic image with various methods. Some of the methods used in the analysis of texture is Gabor filter method, Run Length method, and the method Matrix Kookurensi. After performing the extraction characteristics of the image, the need for classification of the image. To perform the classification of the image, there are several methods in the classification of the method of k-NN (k-Nearest Neighbour), SVM (support vector machines). In the study [2] analasis texture using Run Length method, with multiples of the rotation angle of 90 image did not obtain a change in the value of image characteristics, and the methods of LDA (Linear Discriminan Analysis) to obtain a classification error of 26.32%, and also on study [3] texture analysis using matrix method Kookurensi at four different angles toward the 0, 45, 90, and 135 not obtain terhadapat change its image characteristic value, and the method of k-NN (k-Nearest Neighbour) against classification obtain the best classification with k = 3, namely 55.557%.
texture of the bark, which can recognize the tree as
2. In order to determine the accuracy by using Gabor Filter and Support Vector Machines in the recognition and classification of the bark.
3. In order to determine the best parameters used in the method of Gabor Filter.
1.3 Limitation Problem
The boundaries of the problem is:
1. The image taken is the outside (skin) of the tree trunk that has not been peeled.
2. The image is taken should focus on the outside (shell) of the tree trunk.
3. The image is taken from a tree that has a
trunk diameter ≥ 10cm.
4. The image used in the training of as many as 15 different species, and each has 5 different image datasets.
5. The process of taking the image of the bark is done with adjustable lighting level that is not dark atupun not too bright.
6. The file used in this application is an image file that has the extension: * .jpg, * .jpeg, * .bmp, * .png, * tif.
7. The image that is used has a resolution of 450 x 600 pixels.
8. The process of extraction using Gabor filter with scale 8 orientation (direction) at a different angle 0, 30, 60, 90, 120, 150, 180, 210 and 4 different sine wave length that is 1 , 2,3,4.
9. The process of classification using support vector machines with two different classes are group classes woody plants and understanding. The goal is to determine what happens in front of the camera and use that understanding to control computers, robotic systems, or to give a new image is more informative than the original camera image. Application areas for computer vision technology including video surveillance, biometrics, automotive, photography, film production, web search, drugs, augmented reality game, a new user interface, and more [7].
form a wide array of colors. Each primary color has a range of values between 0 smpai 255 [8].
2.3 Grayscale Image
Grayscale is the colors of pixels that are within the range of shades of black and white. Intensity grayscale image data is usually stored as 8 bits or 256 gray color intensity from 0 (black) and 255 (white) [8]. Gray image can be generated from the RGB color image by multiplying the three components of the primary colors red, green, and blue with a coefficient whose number one (a + b + c = 1). characteristics of the image that has been dikonvolusi to the kernel. As the filter is used Gabor 2D filter kernel obtained by modulating the 2D sine wave at a frequency and a particular orientation with Gaussian envelope. Basic equation function 2D Gabor filter shown in equation (2), where is the standard deviation of the Gaussian envelope dimensions x and y. Lamda () and tetha () is the length and
= Standar deviasi Gaussian envelope = Panjang gelombang sinus pada 2-Dimensi
= Derajat Orientasi
= Aspek rasio spasial