Implementasi Metode Gabor Filter Dan Support Vector Machines Dalam Pengenalan Dan Pengklasifikasian Pada Kulit Pohon

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
UNIVERSITAS KOMPUTER INDONESIA
2015

ABSTRAK
IMPLEMENTASI METODE GABOR FILTER DAN SUPPORT VECTOR
MACHINES DALAM PENGENALAN DAN PENGKLASIFIKASIAN
PADA KULIT POHON
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.

Kata Kunci: Pengenalan Pola, Pengolahan Citra, Ekstraksi Ciri, Gabor Filter,
Support Vector Machines.

i

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.
Keyword: Pattern Recognition, Image Processing, Feature Extraction, Gabor
Filter, Support Vector Machines.

ii

KATA PENGANTAR

ِ ‫بِس ِم‬

ِ ‫ه ال َر ْْ ِن ال َرِح‬
‫يم‬
ْ
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.
5. Ibu Nelly Indriani W, S.Si., M.T. selaku dosen wali kelas IF-15 Angkatan
2010.

iii

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

Penulis

iv


DAFTAR ISI
ABSTRAK ............................................................................................................... i
ABSTRACT ............................................................................................................ ii
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

2.2.3


Citra Biner ......................................................................................... 8

v

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
2.11

MATLAB ........................................................................................ 29

Pengujian Perangkat Lunak .................................................................. 30

2.11.1

Teknik Pengujian ............................................................................ 31

BAB III ................................................................................................................. 33
ANALISIS DAN PERANCANGAN SISTEM .................................................... 33

vi

3.1

Analisis Sistem ...................................................................................... 33

3.1.1

Analisis Masalah ............................................................................. 33

3.1.2

Analisis Algoritma .......................................................................... 33

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

DAFTAR PUSTAKA ........................................................................................... 97

vii

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.
[13] R. A.S dan M. Shalahuddin, Rekayasa Perangkat Lunak, Bandung:
Informatika Bandung, 2013, p. 271.

97

98

[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.
[16] A. S. Nugroho, A. B. Witarto dan D. Handoko, “Support Vector Machines Teori dan Aplikasinya dalam Bioinformatika,” IlmuKomputer.Com, 2003.
[Online]. Available: asnugroho.net/papers/ikcsvm.pdf. [Diakses 8 Februari
2015].

BAB I
PENDAHULUAN
1.1 Latar 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).
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.
Beberapa metode yang digunakan dalam analisis tekstur adalah metode Gabor
Filter, metode Run Length, dan metode Matriks Kookurensi. Setelah melakukan
pengekstraksian ciri terhadap citra, dibutuhkannya pengklasifikasian terhadap citra.
Untuk melakukan klasifikasi terhadap citra, terdapat beberapa metode dalam
pengklasifikasian yaitu metode k-NN (k-Nearest Neighbour), metode SVM
(support vector machines). Pada penelitian [2] analasis tekstur menggunakan
metode Run Length, dengan kelipatan sudut 90 terhadap rotasi citra tidak
memperoleh perubahan pada nilai ciri citranya, dan dengan metode LDA (Linear
Discriminan Analysis) terhadap pengklasifikasiannya memperoleh kesalahan
sebesar 26,32%, dan juga pada penelitian [3] analisis tekstur menggunakan metode
1

2

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.2 Rumusan 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.3 Maksud dan Tujuan
Maksud dari penelitian yang dilakukan adalah untuk mengimplementasikan
metode Gabor Filter dalam pengekstraksian ciri dari sebuah tekstur kulit pohon dan

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.4 Batasan 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.
9. Proses klasifikasi menggunakan metode support vector machines dengan 2
class yang berbeda yaitu golongan tumbuhan berkayu dan golongan
tumbuhan herba.

4

1.5 Metodologi 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, bukubuku, 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
Metode yang digunakan untuk pembangunan perangkat lunak dalam

penelitian ini yaitu menggunakan Agile Methods merupakan salah satu dari
beberapa metode yang digunakan dalam pengembangan perangkat lunak. Agile
Method adalah jenis pegembangan sistem jangka pendek yang memerlukan
adaptasi cepat dan pengembang terhadap perubahan dalam bentuk apapun. Agile
Method memiliki tahap-tahap sebagai berikut :

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.

Gambar 1. 1 Model Proses Agile [7]

6

1.6 Sistematika 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 (ObjectOriented 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 preprocessing, 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
Bab ini berisi tentang penjelasan kesimpulan yang diperoleh dari hasil
implementasi dan pengujian aplikasi pengenalan dan pengklasifikasian pada kulit
pohon yang telah dibuat, serta saran-saran untuk pengembangan sistem informasi
ini selanjutnya.

BAB II
LANDASAN TEORI
2.1 Computer 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.2 Teori 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:
,

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.

Gambar 2. 2 Filter Gabor

12

2.6 Metode 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

Hyperplane pemisah terbaik antara kedua class dapat ditemukan dengan
mengukur margin hyperplane tersebut dan mencari titik maksimalnya. Margin
adalah jarak antara hyperplane tersebut dengan pattern terdekat dari masing-masing
class. Pattern yang paling dekat ini disebut sebagai support vector. Garis solid pada
gambar 2.7-b menunjukkan hyperplane yang terbaik, yaitu yang terletak tepat pada
tengah-tengah kedua class, sedangkan titik merah dan kuning yang berada dalam

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.
Berbagai alternatif garis pemisah (discrimination boundaries) ditunjukkan pada
gambar 2.3 (a). Hyperplane pemisah terbaik antara kedua class dapat ditemukan
dengan mengukur margin hyperplane tersebut dan mencari titik maksimalnya.
Margin adalah jarak antara hyperplane tersebut dengan pattern terdekat dari
masing-masing class. Pattern yang paling dekat ini disebut sebagai support vector.
Garis solid pada gambar 2.3 (b) menunjukkan hyperplane yang terbaik, yaitu yang

14

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-

∈ {− , + } untuk � = , , , … . , � yang mana � adalah

masing dinotasikan

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)

⃗⃗ . ⃗⃗⃗� +

+

(2.4)

sedangkan pattern ⃗⃗⃗� yang termasuk class +1 (sampel positif).

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)

� adalah lagrange multiplier, yang bernilai nol atau positif �

. Nilai optimal

dari persamaan 2.7 dapat dihitung dengan meminimalkan L terhadap ⃗⃗ dan b, dan
memaksimalkan L terhadap � . Dengan memperhatikan sifat bahwa pada titik

15

optimal gradient L=0, persamaan 2.7 dapat dimodifikasi sebagai maksimalisasi
problem yang hanya mengandung � saja, sebagaimana persamaan 2.8 dibawah.

Maximize :

Subject to :

∑� = � −


∑� ,

=

��

� = , , ,…,�

(2.8)

∑� = �

=

(2.9)

Dari hasil perhitungan ini diperoleh � yang kebanyakan nilai positif. Data yang
berkorelasi dengan � yang positif inilah yang disebut support vector.
2.7 Struktur 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
Batang tumbuhan berkayu umumnya keras dan umurnya relatif panjang.
Permukaan batang keras dan di bagian tertentu terdapat lentisel. Lentisel
berhubungan dengan bagian dalam batang dan berfungsi sebagai tempat
pertukaran gas di batang. Pada tumbuhan berkayu yang masih muda
terdapat klorofil, sehingga dapat melakukan fotosintesis. Akan tetapi,

16

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.8 Object-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.
Pada saat ini, metode berorientasi objek banyak dipilih karena metodologi
lama banyak menimbulkan masalah seperti adanya kesulitan pada saat
mentransformasi hasil dari satu tahap pengembangan ke tahap berikutnya, misalnya
pada metode pendekatan terstruktur, jenis aplikasi yang dikembangkan saat ini
berbeda dengan masa lalu. Aplikasi yang dikembangkan pada saat ini beragam
dengan platform yang berbeda-beda, sehingga menimbulkan tuntutan kebutuhan
metodologi pengembangan yang dapat mengakomodasi ke semua jenis aplikasi
tersebut.

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.
Ada banyak cara untuk mengabstraksikan dan memodelkan objek-objek
tersebut, mulai dan abstraksi objek, kelas, hubungan antar kelas sampai abstraksi
sistem. Saat mengabstraksikan dan memodelkan objek, data dan proses-proses yang
dipunyai oleh objek akan dienkapsulasi (dibungkus) menjadi suatu kesatuan.

18

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)
Objek adalah abstraksi dari sesuatu yang mewakili dunia nyata benda,
manusia, satu organisasi, tempat, kejadian, struktur, status, atau hal-hal lain
yang bersifat abstrak. Objek merupakan suatu entitas yang mampu
menyimpan informasi (status) dan mempunyai operasi (kelakuan) yang
dapat diterapkan atau dapat berpengaruh pada status objeknya. Objek
mempunyai siklus hidup yaitu diciptakan, dimanipulasi, dan dihancurkan.
Secara teknis, sebuah kelas saat program dieksekusi maka akan dibuat
sebuah objek. Objek dilihat dari segi teknis adalah elemen pada saat runtime
yang akan diciptakan, dimanipulasi, dan dihancurkan saat eksekusi sehinga

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.
8. Antarmuka (interface)

20

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
Pada perkembangan teknologi perangkat lunak, diperlukan adanya bahasa

yang digunakan untuk memodelkan perangkat lunak yang akan dibuat dan perlu
adanya standarisasi agar orang di berbagai negara dapat mengerti pemodelan
perangkat lunak. Seperti yang kita ketahui bahwa menyatukan banyak kepala untuk
menceritakan sebuah ide dengan tujuan untuk memahami, merupakan hal yang
tidak mudah, oleh karena itu diperlukan sebuah bahasa pemodelan perangkat lunak
yang dapat dimengerti oleh banyak orang.

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