Anda di halaman 1dari 95

KLASIFIKASI MOTIF SASIRANGAN

DENGAN SCALE-INVARIANT FEATURE TRANSFORM (SIFT)


DAN SUPPORT VECTOR MACHINE (SVM)

Tugas Akhir
Diajukan Untuk Memenuhi Salah Satu Syarat
Sarjana Strata-1 Teknologi Informasi

Oleh
NUR LATHIFAH
NIM. H1G114040

PROGRAM STUDI TEKNOLOGI INFORMASI


FAKULTAS TEKNIK
UNIVERSITAS LAMBUNG MANGKURAT
BANJARMASIN, DESEMBER 2017
PERNYATAAN

Dengan ini saya menyatakan bahwa dalam Tugas Akhir ini tidak terdapat
karya yang pernah diajukan untuk memperoleh gelar akademik di suatu perguruan
tinggi, dan sepanjang pengetahuan saya, juga tidak terdapat karya atau pendapat yang
pernah ditulis atau diterbitkan oleh orang lain, kecuali secara tertulis diacu dalam
naskah ini dan disebutkan dalam daftar rujukan.

Banjarmasin, Desember 2017

Materai 6000

NUR LATHIFAH
NIM. H1G114040

ii
PERSETUJUAN TUGAS AKHIR

KLASIFIKASI MOTIF SASIRANGAN


DENGAN SCALE-INVARIANT FEATURE TRANSFORM (SIFT) DAN
SUPPORT VECTOR MACHINE (SVM)

OLEH
NUR LATHIFAH
NIM.H1G114040

Telah diperiksa dan terpenuhi semua persyaratan akademik, administrasi, dan

disetujui untuk dipertahankan di hadapan dewan penguji

Banjarmasin, Desember 2017

Pembimbing Utama,

Husnul Khatimi, S.T., M.T.


NIP. 19810915 200501 1 001

Pembimbing Pendamping,

Muhammad Alkaff, S.Kom., M. Kom.


NIP. 19860613 201504 1 001

iii
ABSTRACT

iv
ABSTRAK

Sasirangan adalah kain tradisional khas Banjar, Kalimantan Selatan yang


memiliki motif beragam. Dengan memanfaatkan teknologi pengolahan citra
digital, dapat dirancang sebuah prototype klasifikasi motif kain sasirangan dengan
melalui proses akuisisi citra, pre-processing, segmentasi dan ektraksi fitur dengan
mengaplikasikan metode ektraksi fitur Scale-Invariant Feature Transform (SIFT).
Kemudian parameter ciri yang didapat menjadi masukan untuk diklasifikasikan
menggunakan metode Support Vector Machine (SVM). Implementasi prototype
ini dilakukan dengan Matlab R2017a. Pengujian dilakukan dengan metode SVM
dengan kernel linear pada saat C = 10. Output yang dihasilkan berupa akurasi
klasifikasi motif kain sasirangan berdasarkan kategori masing-masing motif. Dari
hasil prototype didapat tingkat akurasi keseluruhan sebesar 95%, dan untuk
akurasi pada masing-masing kategori motif didapat hasil akurasi klasifikasi 100%
untuk motif hiris gagatas, 100% untuk motif gigi haruan, 100% untuk kulat
kurikit, dan 96% untuk motif hiris pudak.

Kata Kunci: Pengolahan Citra Digital, Scale-Invariant Feature Transform


(SIFT), Support Vector Machine (SVM), Klasifikasi, Kain Sasirangan.

v
PERSEMBAHAN

vi
PRAKATA

Dengan memanjatkan puji syukur kehadirat Tuhan Yang Maha Esa, yang
telah melimpahkan Rahmat dan Karunia-Nya sehingga penulis dapat
menyelesaikan Tugas Akhir ini dengan Judul: “Klasifikasi Motif Sasirangan
dengan Scale-Invariant Feature Transform (SIFT) dan Support Vector Machine
(SVM)”
Tugas Akhir ini disusun dalam rangka memenuhi salah satu syarat untuk
memperoleh gelar Sarjana Strata-1 Teknologi Informasi di Fakultas Teknik
Universitas Lambung Mangkurat, Banjarmasin.
Dalam kesempatan ini penulis menyampaikan terimakasih yang sebesar-besarnya
kepada:
1. Ketua Program Studi Teknologi Informasi sekaligus pembimbimbing
utama, bapak Husnul Khatimi, S.T., M.T. yang dalam penulisan laporan
tugas akhir juga memberikan pengarahan dalam pelaksanaan tugas akhir.
2. Pembimbing Pendamping, Bapak Muhammad Alkaff, S.Kom., M.Kom.
yang telah memberikan waktu, pengarahan dan pandangan kepada penulis
dalam penulisan laporan tugas akhir beserta protototype yang dibuat.
3. Dosen-dosen Teknologi Informasi dan pihak-pihak terkait yang telah
mengarahkan dan membantu dalam penulisan laporan tugas akhir dan
pembuatan prototype penelitian ini.
4. Seluruh staff di Program Studi Teknologi Informasi yang telah
memberikan pengarahan serta bimbingan kepada penulis.
Akhir kata, penulis menyampaikan terima kasih kepada semua pihak yang telah
turut membantu dalam upaya penyelesaian laporan ini. Penulis juga
mengharapkan saran dan kritik demi perbaikan dan penyempurnaan laporan ini.

vii
Semoga laporan ini dapat bermanfaat bagi para pembaca dan semua pihak yang
membutuhkan. Dan, semoga Tuhan Yang Maha Esa memberkahi kita semua.

Banjarmasin, Desember 2017


Penulis,

NUR LATHIFAH

viii
DAFTAR ISI

PERNYATAAN ii
PERSETUJUAN TUGAS AKHIR iii
ABSTRACT iv
ABSTRAK v
PERSEMBAHAN vi
PRAKATA vii
DAFTAR ISI ix
DAFTAR GAMBAR xii
BAB I 1
1.1 Latar Belakang...............................................................................................1
1.2 Rumusan Masalah..........................................................................................3
1.3 Tujuan Penelitian............................................................................................4
1.4 Manfaat Penelitian..........................................................................................4
1.5 Ruang Lingkup Penelitian..............................................................................4
BAB II 6
2.1 Landasan Teori...............................................................................................6
2.1.1 Citra........................................................................................................6
2.1.2 Pengolahan Citra Digital.......................................................................7
2.1.3 Scale-Invariant Feature Transform (SIFT)........................................20
2.1.4 Support Vector Machine (SVM)..........................................................21
2.1.5 Sasirangan............................................................................................28
2.2 Penelitian Terkait..........................................................................................35
2.3 Kerangka Pemikiran.....................................................................................37
BAB III 41
3.1 Bahan dan Alat Penelitian............................................................................41
3.1.1 Bahan Penelitian..................................................................................41
3.1.2 Alat Penelitian......................................................................................41
3.2 Prosedur Penelitian.......................................................................................41
3.3 Metode Pengumpulan Data..........................................................................42
3.4 Metode Pengembangan Perangkat Lunak....................................................43

ix
3.5 Analisis Kebutuhan......................................................................................45
3.6 Analisis Data................................................................................................45
3.7 Pembuatan Perancangan...............................................................................47
3.7.1 Perancangan.........................................................................................47
3.7.2 Perancangan Sistem............................................................................47
3.8 Implementasi................................................................................................49
3.9 Tempat Penelitian.........................................................................................49
3.10 Waktu Penelitian.........................................................................................49
3.11 Etika Penelitian...........................................................................................49
BAB IV 51
4.1 Hasil Penelitian............................................................................................51
4.2 Pembahasan..................................................................................................53
4.2.1 Pengolahan Data..................................................................................53
4.2.2 Hasil Prototype Sistem.........................................................................70
BAB V 74
5.1 Simpulan.......................................................................................................74
5.2 Rekomendasi................................................................................................75
DAFTAR PUSTAKA

x
DAFTAR LAMPIRAN

Lampiran 1 Source code VL_Phow

DAFTAR GAMBAR

xi
Gambar 2.1 Citra Lena dan citra kapal....................................................................6
Gambar 2.2 (a) Citra burung nuri yang tampak gelap, dan (b) citra burung nuri
yang melalui proses pengolahan citra pada kontrasnya diperbaiki menjadi lebih
terang dan tajam.......................................................................................................7
Gambar 2.3 Hubungan antara 3 bidang studi yang berkaitan dengan data citra......8
Gambar 2.4 Alur Grafika Komputer........................................................................8
Gambar 2.5 Salah satu contoh grafikka komputer untuk membuat ‘rumah’...........9
Gambar 2.6 Alur Pengolahan Citra..........................................................................9
Gambar 2.7 (a) Citra Lena yang mengandung derau, (b) Hasil operasi
penghilangan derau................................................................................................10
Gambar 2.8 Alur Pengenalan Pola.........................................................................10
Gambar 2.9 Cita karakter A yang digunakan sebagai masukan untuk pengenalan
karakter huruf.........................................................................................................11
Gambar 2.10 Contoh pengScriptan pada citra biner..............................................12
Gambar 2.11 Contoh citra gryscale.......................................................................12
Gambar 2.12 Contoh citra warna...........................................................................13
Gambar 2.13 (a) Citra Lena asli, (b) citra Lena setelah ditajamkan......................15
Gambar 2.14 (a) Citra Lena yang tampak kabur (blur), (b) citra Lena yang telah
ditajamkan..............................................................................................................16
Gambar 2.15 (a) Citra kapal.bmp dengan ukuran 258 KB yang belum
dimampatkan, (b) Citra kapal.jpg dengan ukuran 49 KB setelah dimampatkan...16
Gambar 2.16 (a) Citra kamera dan (b) citra hasil pendektisian seluruh tepi.........17
Gambar 2.17 Proses-proses dalam computer vision..............................................20
Gambar 2.18 (a) Alternatif bidang pemisah, (b) Bidang pemisah terbaik dengan
margin (m) terbesar................................................................................................23
Gambar 2.19 Soft Margin Hyperlane.....................................................................25
Gambar 2.20 Transformasi vektor ke feature space..............................................26
Gambar 2.21 Motif Gigi Haruan [13]....................................................................29
Gambar 2.22 Motif Kulat Kurikit [13]..................................................................29
Gambar 2.23 Motif Hiris Pudak [13].....................................................................29
Gambar 2.24 Motif Ular Lidi [13].........................................................................30
Gambar 2.25 Motif Kambang Kacang [13]...........................................................30

xii
Gambar 2.26 Motif Hiris Gagatas [13]..................................................................30
Gambar 2.27 Motif Kambang Sakaki [13]............................................................31
Gambar 2.28 Motif Daun Jaruju [13]....................................................................31
Gambar 2.29 Motif Tampuk Manggis [13]............................................................31
Gambar 2.30 Motif Bintang [13]...........................................................................32
Gambar 2.31 Motif Kangkung Kaubakan [13]......................................................32
Gambar 2.32 Motif Ombak Sinapur Karang [13]..................................................33
Gambar 2.33 Motif Bayam Raja [13]....................................................................33
Gambar 2.34 Motif Mayang Murai [13]................................................................34
Gambar 2.35 Motif Naga Balimbur [13]...............................................................34
Gambar 2.36 Motif Ramak Sahang [13]................................................................34
Gambar 2.37 Motif Gelombang [13].....................................................................35
Gambar 2.38 Motif Daun Katu [13]......................................................................35
Gambar 2.39 Kerangka Pemikiran.........................................................................38
Gambar 3.1 Model Pengembangan Sistem Waterfall [15]...................................44
Gambar 3.2 Tahapan Analisis Data........................................................................46
Gambar 3.3 Tahapan sederhana perancangan sistem.............................................48
Gambar 4.1 Motif Gigi Haruan pada kain sasirangan...........................................52
Gambar 4.2 Motif Kulat Kurikit pada kain sasirangan..........................................52
Gambar 4.3 Motif Hiris Pudak pada kain sasirangan............................................53
Gambar 4.4 Motif Hiris Gagatas pada kain sasirangan.........................................53
Gambar 4.5 Data Citra Motif Gigi Haruan............................................................55
Gambar 4.6 Data Citra Motif Kulat Kurikit...........................................................56
Gambar 4.7 Data Citra Motif Hiris Pudak.............................................................57
Gambar 4.8 Data Motif Hiris Gegatas...................................................................59
Gambar 4.9 Data citra motif sasirangan difolderkan berdasarkan kategori...........60
Gambar 4.10 Citra asli dengan ukuran 4272x2848 piksel.....................................60
Gambar 4.11 citra setelah di-resize menjadi ukuran 128x128 piksel....................61
Gambar 4.12 Informasi Jumlah Data Training dan Testing..................................66
Gambar 4.13 Proses Training SVM.......................................................................67
Gambar 4.14 Visualisasi Perangkingan pada Citra dan Kurva Recall Transisi pada
Data Training.........................................................................................................68

xiii
Gambar 4.15 Visualisasi Perangkingan pada Citra dan Kurva Recall Transisi pada
Data Testing............................................................................................................69
Gambar 4.16 Informasi Hasil Akurasi dan Jumlah Data yang Benar...................69
Gambar 4.17 Hasil Akurasi pada Motif Gigi Haruan............................................70
Gambar 4.18 Hasil Akurasi pada Motif Kulat Kurikit...........................................71
Gambar 4.19 Hasil Akurasi pada Motif Hiris Pudak.............................................72
Gambar 4.20 Hasil Akurasi pada Motif Hiris Gagatas.........................................73

xiv
xv
BAB I
PENDAHULUAN

1.1 Latar Belakang


Salah satu sastrawan dan budayawan Indonesia yang berkonsentrasi pada
budaya Banjar, Tajuddin Noor Ganie menuliskan, sasirangan adalah sejenis kain
yang diberi gambar dengan motif dan warna tertentu yang sudah dipolakan secara
tradisional menurut citra rasa budaya lokal genius yang khas etnis Banjar di
Kalimantan Selatan. Kata sasirangan sendiri berasal dari kata “manyirang” yang
memiliki arti menjelujur. Suatu ciri khas dari kain sasirangan ini adalah rangkaian
motif yang pada umumnya tersusun motifnya dalam komposisi vertikal. Dan kain
sasirangan memiliki motif yang beragam. Setiap motif tersebut memiliki makna
dan arti warna yang sakral dalam sejarah awal pembuatannya [1].
Kain sasirangan dapat dipakai sebagai pakaian adat pada upacara-upacara
adat, bahkan digunakan sebagai pakaian sehari-hari. Kain ini bagi masyarakat di
Kalimantan Selatan, khususnya masyarakat Banjarmasin sudah dikenal sejak
dahulu dengan kain pamintaan (permintaan), kain calapan atau celupan yang
dihiasi dengan motif tradisional khas Kalimantan Selatan.
Seiring perkembangan waktu, kain sasirangan yang merupakan salah satu
aset budaya daerah Kalimantan Selatan perlu untuk selalu dilestarikan sebagai
khasanah dan kekayaan Bangsa Indonesia. Kain sasirangan telah terdaftar pada
Direktur Jenderal Hak Atas Kekayaan Intelektual (Dirjen HAKI). Akan tetapi,
yang terdaftar pada Dirjen HAKI hanya motif tradisional asli Kalimantan Selatan
seperti Banawati, Bayan Raja, Bintang Bahambur, Dara Manginang, Gigi Haruan,
Halalang Kasalukutan, Hiris Pudak, Kangkung Kaumbakan, Kulat Kurikit, dan
lain sebagainya [2]. Mengingat saat ini telah banyak muncul motif-motif
sasirangan modern yang merupakan kombinasi dari beberapa motif tradisional
dengan motif baru, dan untuk penamaannya pun disesuaikan dengan motif baru
yang dibuat pengrajin sasirangan.
Sedangkan hingga kini masih banyak masyarakat, khususnya masyarakat
Banjarmasin yang belum mengetahui dengan baik nama dari aneka ragam motif
sasirangan. Kebanyakan masyarakat hanya sebatas mengetahui tekstur unik dari

1
2

motif sasirangan tanpa mengetahui nama motif tradisional, makna motif bahkan
arti warna dari kain sasirangan tersebut.
Dengan kondisi seperti ini, agar masyarakat mudah mengetahui dan tidak
kehilangan informasi mengenai ke-khas-an motif kain sasirangan Kalimantan
Selatan, khususnya untuk motif tradisional yang ada pada kain sasirangan, maka
perlu adanya sebuah sistem klasifikasi motif kain sasirangan yang dalam
prosesnya membagi citra sasirangan ke dalam kelas-kelas motif sesuai dengan
pola motifnya sehingga mudah untuk dikenali sesuai dengan cirinya.
Seperti yang kita tahu, pemanfaatan dari perkembangan teknologi
komputer dapat dilakukan pada penelitian dan penerapan teknologi pengolahan
citra digital. Saat ini pengolahan citra digital mempunyai peranan penting dalam
berbagai bidang kehidupan. Bentuk pemanfaatan pengolahan citra digital dapat
dilakukan pada pengklasifikasian atau pengenalan motif kain. Dan saat ini belum
ada penelitian yang dipublikasikan untuk pengenalan motif kain sasirangan khas
Kalimantan Selatan, penelitian tentang klasifikasi motif kain yang serupa
umumnya dilakukan pada kain batik Indonesia.
Metode ektraksi fitur yang umum digunakan untuk klasifikasi motif batik
adalah Gray Level Co-Occurrence Matrices (GLCM), hal ini dikaitkan pada salah
satu penelitian yang dilakukan oleh Ida Nurhaida, dkk. yaitu Performance
Comparison Analysis Features Extraction Methods for Batik Recognition, dalam
penelitian ini memberikan perbandingan metode ektraksi fitur antara Gray Level
Co-occurrence Matrices (GLCM), Canny Edge Detection, dan filter Gabor
dengan hasil percobaan menunjukkan bahwa penggunaan fitur GLCM yang
terbaik dengan akurasi klasifikasi mencapai 80% [3]. Namun pada penelitian yang
dilakukan oleh Qiwen Chen dan Emmanuel Agu yaitu Exploring Statistical
GLCM Texture Features for Classifying Food Images, menunjukkan bahwa fitur
GLCM berkinerja lebih baik daripada SIFT secara keseluruhan, dan untuk
makanan satu item atau homogen, sementara SIFT berkinerja baik untuk hidangan
kompleks [4]. Karena motif sasirangan umumnya kompleks maka penulis
menggunakan metode ektraksi fitur scale-invariant feature transform (SIFT).
Dan untuk penelitian mengenai metode klasifikasi motif kain yang pernah
dilakukan sebelumnya, oleh Iwan Setiawan, dkk. pada Automatic Batik Motifs
3

Classification using Various Combinations of SIFT Features Moments and k-


Nearest Neighbor, dari penelitian tersebut rata-rata tingkat akurasi keseluruhan
yang didapat masih rendah hanya mencapai 31,43% pada k-7 dan k-8 [5].
Kemudian, penelitian dengan metode yang sama juga dilakukan oleh Hanang
Wijayanto, pada klasifikasi batik menggunakan metode K-Nearest Neighbor dan
Gray Level Co-Occurrence Matrices (GLCM) sebagai metode ektraksi fiturnya,
namun pada penelitian ini tidak semua batik dapat terklasifikasikan dengan benar,
berdasarkan uji coba yang telah dilakukan pada penelitian tersebut dengan
menggunakan jumlah data training dan testing yang berbeda-beda menghasilkan
tingkat akurasi tertinggi pada uji coba 3 sudut 0 yaitu 57,50 % dan tingkat akurasi
terendah pada uji coba 6 sudut 90 yaitu 20 % [6]. Dari kedua penelitian tersebut
tingkat akurasi yang didapat masih rendah.
Sementara itu, penelitian yang sama tetapi dengan menggunakan metode
klasifikasi yang berbeda dilakukan oleh Ryfial Azhar, dkk. pada Batik Image
Classification Using SIFT Feature Extraction, Bag of Features and Support
Vector Machine, dari penelitian tersebut hasil percobaan menunjukkan bahwa
keakuratan rata-rata metode ini mencapai 97,67%, 95,47% dan 79% pada gambar
normal, gambar yang diputar dan gambar skala [7]. Jadi untuk metode klasifikasi
penulis menggunakan Support Vector Machine (SVM), karena pada penelitian
sebelumnya yang menggunakan klasifikasi dengan metode Support Vector
Machine (SVM) menghasilkan tingkat akurasi yang bagus.
Dengan mengacu pada beberapa penelitian tersebut, dan melihat tingkat
akurasi yang tinggi dari salah satu penelitian klasifikasi motif kain batik, maka
pada penelitian ini akan menggunakan metode ektraksi fitur scale-invariant
feature transform (SIFT) dan support vector machine (SVM), diharapkan metode
tersebut juga dapat diaplikasikan untuk klasifikasi motif sasirangan.
1.2 Rumusan Masalah
Berdasarkan permasalahan yang telah dijelaskan pada latar belakang, maka
rumusan masalah yang diambil, antara lain:
1. Bagaimana Mengumpulkan dataset motif kain sasirangan kulat kurikit, hiris
pudak, gigi haruan, dan hiris gegatas yang dapat dikembangkan dalam bentuk
Content Based Image Retrieval (CBIR)?
4

2. Bagaimana merancang prototype klasifikasi motif kain sasirangan dengan


menerapkan metode ekstraksi fitur Scale-Invariant Feature Transform (SIFT)?
3. Bagaimana penerapan metode Support Vector Machine (SVM) untuk
klasifikasi motif kain sasirangan?
1.3 Tujuan Penelitian
Adapun tujuan dari penelitian ini, yaitu:
1. Mengumpulkan dataset motif kain sasirangan gigi haruan, kulat kurkit, hiris
pudak dan hiris gagatas yang dapat dikembangkan dalam bentuk Content
Based Image Retrieval (CBIR).
2. Membangun prototype yang dapat mengekstraksi fitur dengan menerapkan
metode Scale-Invariant Feature Transform (SIFT).
3. Mengimplementasikan metode Support Vector Machine (SVM) untuk
mengklasifikasikan motif sasirangan sesuai dengan cirinya.
1.4 Manfaat Penelitian
Adapun manfaat dari penelitian ini, yaitu:
1. Terkumpulnya dataset motif kain sasirangan kulat kurikit, hiris pudak, gigi
haruan, dan hiris gegatas yang dapat dikembangkan dalam bentuk Content
Based Image Retrieval (CBIR).
2. Adanya prototype yang dapat mengekstraksi fitur dan mengklasifikasikan
motif kain sasirangan untuk memudahkan mengenali motif dan nama dari
beberapa motif sasirangan yang nampak mirip secara visual.
1.5 Ruang Lingkup Penelitian
Dalam penelitian ini ada beberapa ruang lingkup yang dijadikan sebagai batasan
masalah yaitu, sebagai berikut:
1. Prototype sistem ini hanya dapat digunakan untuk klasifikasi motif kain
sasirangan.
2. Input sistem berupa sampel citra motif kain sasirangan dalam format JPG,
dengan ukuran 128x128 piksel, jarak pengambilan citra maksimal 30 cm.
3. Kondisi dari sampel citra memenuhi kondisi berikut:
a. Kain sasirangan lurus ke depan menghadap kamera.
b. Tidak menganalisis pengaruh intensitas cahaya saat akuisisi citra.
c. Tidak menganalisis kondisi kain saat akuisisi citra.
5

4. Data masukan yang menjadi objek klasifikasi adalah beberapa motif kain
sasirangan khas Banjarmasin, yaitu kulat kurikit, hiris pudak, gigi haruan, dan
hiris gegatas.
5. Output yang dihasilkan berupa akurasi klasifikasi dari proses pengujian data
citra testing terhadap data citra training pada masing-masing motif kain
sasirangan yaitu motif kulat kurikit, hiris pudak, gigi haruan, dan hiris gagatas.
BAB II
TINJAUAN PUSTAKA

2.1 Landasan Teori


2.1.1 Citra
Rinaldi Munir dalam bukunya menuliskan bahwa secara harfiah, citra (image)
adalah gambar pada bidang dua dimensi. Citra sebagai salah satu komponen
multimedia memegang peranan sangat penting sebagai bentuk informasi secara
visual. Citra mempunyai karakteristik yang tidak dimiliki oleh data teks, yaitu
citra kaya dengan informasi. Ditinjau dari sudut pandang matematis, citra
merupakan fungsi menerus dari intensitas cahaya pada bidang dua dimensi.
Sumber cahaya yang menerangi objek, objek memantulkan kembali sebagian dari
berkas cahaya tersebut. Pantulan cahaya ini dapat ditangkap oleh oleh alat-alat
optik, misalnya mata pada manusia, kamera, pemindai (scanner), dan sebagainya.
Citra yang keluar dari suatu sistem perekaman dapat berupa:
1. Optik berupa foto
2. Analog yang berupa sinyal video seperti gambar yang muncul pada monitor
televisi.
3. Digital yang dapat disimpan langsung dalam media penyimpanan.
Dalam citra ada yang disebut dengan citra diam (still images) dan citra bergerak
(moving images). Citra diam adalah citra tunggal yang tidak bergerak [8]. Citra
diam kita sebut citra saja. Gambar 2.1 berikut merupakan dua buah citra diam.

(a) Lena (b) Kapal


Gambar 2.1 Citra Lena dan citra kapal

41
7

Sedangkan untuk citra bergerak (moving images) adalah rangkaian dari


citra diam yang ditampilkan secara beruntun sehingga memberikan kesan pada
mata kita sebagai gambar yang bergerak. Setiap citra pada suatu rangkaian itu
disebut frame, seperti gambar –gambar pada film layar lebar atau televisi terdiri
dari dari ratusan bahkan ribuan frame [8].
2.1.2 Pengolahan Citra Digital
Pengolahan citra digital adalah pemprosesan citra menggunakan komputer
untuk menjadikan kualitas citra lebih baik. Karena meskipun sebuah citra kaya
akan informasi, namun seringkali citra yang kita miliki mengalami penurunan
mutu yang disebabkan dari beberapa hal seperti mengandung cacat atau derau
(noise), warna yang terlalu kontras, kurang tajam, kabur (blurring), dan
sebagainya. Hal semacam ini tentu saja menjadikan sebuah citra lebih sulit
diinterpretasi karena informasi yang ada pada citra tersebut berkurang.
Agar citra yang mengalami gangguan tersebut mudah diinterpretasi baik
oleh manusia maupun oleh mesin maka citra tersebut perlu dimanipulasi menjadi
citra lain yang kualitasnya lebih baik [8]. Gambar 2.2 berikut adalah gambar
burung nuri (a) tampak gelap yang melalui proses pengolahan citra pada
kontrasnya diperbaiki menjadi lebih terang dan tajam (b).

(a)
(b)
Gambar 2.2 (a) Citra burung nuri yang tampak gelap, dan (b) citra burung nuri
yang melalui proses pengolahan citra pada kontrasnya diperbaiki menjadi lebih
terang dan tajam
8

Dalam bidang komputer, ada 3 (tiga) bidang studi yang berkaitan dengan data
citra dan dengan tujuan yang berbeda, yaitu:
1. Grafika Komputer (computer graphics).
2. Pengolahan Citra (image processing).
3. Pengenalan Pola (pattern recognition) [8].
Skema hubungan antara grafika komputer, pengolahan citra dan pengenalan pola
dapat dilihat pada Gmabar 2.3 berikut.

Gambar 2.3 Hubungan antara 3 bidang studi yang berkaitan dengan data citra

Grafika komputer adalah proses untuk membuat suatu gambar berdasarkan


deksripsi objek maupun latar belakang yang terkandung pada gambar tersebut.
Grafika komputer juga merupakan teknik untuk membuat gambar objek yang
sesuai dengan bentuk nyatanya. Grafika komputer bertujuan menghasilkan
gambar/citra dengan primitif-primitif geometri seperti garis, lingkaran dan
sebagainya. Primitif-primitif geometri tersebut memerlukan data deskriptif untuk
melukis elemen-elemen gambar. Data deksriptif yang dimaksudkan berupa
koordinat titik, panjang garis, jari-jari lingkaran, tebal garis, warna, dan
sebagainya. Grafika komputer berperan dalam visualisasi dan virtual reality [8].
Alur kerja pada grafika komputer dapat dilihat pada Gambar 2.4 berikut.

Gambar 2.4 Alur Grafika Komputer


9

Berikut pada Gambar 2.5 merupakan contoh dari grafika komputer dengan
menggambar sebuah ‘rumah’ yang dibentuk dari garis-garis lurus, dengan data
masukan berupa koordinat awal dan koordinat ujung garis.

Gambar 2.5 Salah satu contoh grafikka komputer untuk membuat ‘rumah’

Pengolahan citra bertujuan untuk memperbaiki kualitas citra agar mudah


diintepretasi oleh manusia atau mesin (dalam hal ini komputer). Jadi, masukannya
adalah citra dan keluarannya juga citra namun dengan kualitas citra yang jauh
lebih baik daripada citra masukannya. Pemampatan citra juga termasuk dalam
bidang ini [8]. Untuk alur kerja pada pengolahan citra dapat dilihat pada Gambar
2.6 berikut.

Gambar 2.6 Alur Pengolahan Citra


Berikut pada Gambar 2.7 merupakan contoh dari operasi pengolahan citra untuk
penghilangan derau (noise) pada citra Lena. Citra Lena (a) mengandung derau
berupa bintik-bintik putih, dan (b) merupakan hasil dari operasi pengurangan
derau.
10

(a) (b)
Gambar 2.7 (a) Citra Lena yang mengandung derau, (b) Hasil operasi
penghilangan derau

Pengenalan pola yaitu mengelompokkan data numerik dan simbolik termasuk


citra oleh mesin (dalam hal ini komputer) secara otomatis. Tujuan dari
pengelompokkan ini adalah untuk mengenali suatu objek di dalam citra. Manusia
mampu untuk mengenali objek yang dilihatnya karena otak manusia telah belajar
mengklasifikasikan objek-objek di alam sehingga mampu untuk membedakan
suatu objek dengan objek lainnya. Kemampuan visual manusia ini yang coba
ditiru oleh mesin. Komputer menerima masukan berupa citra objek yang akan
diindentifikasi, kemudian citra diproses dan memberikan keluaran berupa
deskripsi dari objek yang ada di dalam citra tersebut [8]. Alur kerja pada
pengenalan pola dapat dilihat pada Gambar 2.8 berikut.

Gambar 2.8 Alur Pengenalan Pola


Berikut pada Gambar 2.9 merupakan contoh dari pengenalan pola pada citra
dengan data masukan untuk mengenali karakter ‘A’. Komputer diharapkan dappat
mengenali bahwa karakter tersebut adalah ‘A’ dengan menggunakan suatu
algoritma pengenalan pola [8].
11

Gambar 2.9 Cita karakter A yang digunakan sebagai masukan untuk pengenalan
karakter huruf
2.1.2.1 Jenis-jenis Citra Digital
1. Citra Biner
Citra biner (binary image) adalah citra yang memiliki dua kemungkinan nilai
derajat keabuan yaitu hitam dan putih. Citra biner juga disebut sebagai citra B&W
(black and white) atau citra monokrom. Pixel-pixel objek bernilai 1 dan pixel
latar belakang bernilai 0 atau 0 adalah putih dan 1 adalah hitam. Meskipun
komputer saat ini dapat memproses citra hitam-putih (greyscale) maupun citra
berwarna, namun citra biner masih tetap dipertahankan keberadaannya. Alasan
penggunaan citra biner adalah citra biner memiliki keuntungan antara lain:
1. Memori penyimpanan yang diperlukan kecil saja, karena nilai derajat
keabuannya hanya membutuhkan representasi 1 bit. Dan kebutuhan memori
untuk citra biner masih dapat berkurang dengan metode pemampatan run
length encoding (RLE).
2. Waktu yang digunakan untuk pemprosesan lebih cepat dibandingkan dengan
citra hitam-putih, karena operasi algoritma yang digunakan untuk citra biner
adalah AND, OR, NOT, dan lain-lain.
Citra biner biasanya digunakan sebagai masukan untuk pemprosesan pada
pengenalan objek, misalnya pengenalan karakter secara optik, analisis kromosom,
pengenalan bagian dari komponen industri, dan sebagainya [8]. Berikut Gambar
2.10 merupakan contoh pengScriptan citra biner.
12

Gambar 2.10 Contoh pengScriptan pada citra biner


2. Citra Skala Keabuan (Gryscale)
Citra gryscale merupakan citra digital yang hanya memiliki satu nilai pada setiap
pixelnya, atau dengan kata lain red, green, dan blue. Nilai tersebut digunakan
untuk menujukkan tingkat intesitas. Tingkat keabuan mempunyai kemungkinan
warna antara hitam (minimal) atau putih (maksimal). Setiap pixel pada citra
gryscale mewakili derajat keabuan dengan nilai 0 (hitam) sampai 255 (putih).
Pada jangkauan nilai 0 sampai 255 berarti bahwa setiap piksel memiliki ukuran 8
bit atau 1 byte. Untuk jumlah maksimum warna sesuai dengan bit penyimpanan
yang digunakan. Berikut Gambar 2.11 yang merupakan contoh dari citra gryscale
[9].

Gambar 2.11 Contoh citra gryscale


13

3. Citra Warna (True Colour)


Citra warna umumnya lebih kaya dibanding dengan citra hitam putih, cita
berwarna menampilkan warna objek seperti waarna aslinya. Warna-warna yang
diterima oleh mata manusia merupakan hasil kombinasi cahaya panjang dengan
gelombang yang berbeda. Kombinasi warna yang memiliki rentang paling lebar
memperlihatkan warna red (R), green (G), dan blue (B). Ketiga warna tersebut
disebut warna pokok (primaries) dan sering disingkat menjadi RGB. Setiap warna
memiliki intensitas sendiri dengan nilai maksimum 255 (8 bit). Hal ini akan
memberikan kemungkinan total warna sebanyak 2553 = 16 777 216. Jadi total
ukuran bit untuk setiap piksel adalah 24 bit (8 bit R, 8 bit G dan 8 bit B) [8].
Berikut Gambar 2.12 merupakan contoh dari citra warna RGB.

Gambar 2.12 Contoh citra warna


Selain RGB, warna juga dapat dimodelkan berdasarkan atribut warnanya. Setiap
warna memiliki 3 (tiga) buah atribut yaitu, intensity (I), hue (H), dan saturation
(S) [8].
a. Intensity/brightness/luminance
Atribut yang menyatakan banyaknya cahaya yang diterima mata tanpa
mempedulikan warna. Bernilai kisaran antra gelap (hitam) dan terang (putih) [8].
14

b. Hue
Atribut yang menyatakan warna sebenarnya seperti merah, violet dan kuning. Hue
digunakan untuk membedakan warna-warna dan menentukan kemerahan,
kehijauan dan sebagainya dari cahaya. Apabila kita menyebut warna merah, violet
atau kuning kita sebenarnya menspesifikasikan hue, karena hue berasosiasi
dengan panjang gelombang cahaya [8].
c. Saturation
Atribut saturation ini merupakan atribut yang menyatakan kemurnian warna.
Contohnya seperti warna merah adalah 100% warna jenuh, sedangkan warna pink
adalah warna merah dengan tingkat kejenuhan sangat rendah karena ada warna
putih di dalamnya. Jadi saturation menyatakan seberapa dalam warna tersebut.
Model warna RGB digunakan sebagai acuan, tetapi RGB bukan satu-satunya
warna pokok yang dapat digunakan untuk menghasilkan kombinasi warna. Warna
lain yang juga digunakan sebagai warna pokok misalnya cyan (C), magenta (M),
dan yellow (Y) [8].
2.1.2.2 Operasi pengolahan citra
Operasi pengolahan citra dapat diklasifikasikan dalam beberapa jenis sebagai
berikut:
1. Perbaikan kualitas citra (image enhancement)
Operasi ini bertujuan untuk memperbaiki kualitas ada citra dengan cara
memanipulasi parameter-parameter yang terdapat pada citra. Melalui proses ini
ciri-ciri khusus pada citra lebih menonjol.
Contoh-contoh operasi perbaikan citra yaitu:
a. Perbaikan kontras gelap/terang
b. Perbaikan tepian objek (edge enhancement)
c. Penajaman (sharpening)
d. Pemberian warna semu (pseudocoloring)
e. Penapisan derau (noise filtering) [8].
Berikut Gambar 2.13 merupakan contoh operasi penajaman citra pada tepi-tepi
objek.
15

(a) (b)
Gambar 2.13 (a) Citra Lena asli, (b) citra Lena setelah ditajamkan
2. Pemugaran Citra (image restoration)
Operasi ini bertujuan untuk menghilangkan atau mengurangi cacat pada citra.
Pemugaran citra hampir sama dengan perbaikan citra bedanya pada pemugaran
citra degradasi gambar diketahui. Contoh-contoh dari operasi pemugaran citra
yaitu:
a. Penghilangan kesamaran (deblurring)
b. Penghilangan derau (noise)
Berikut Gambar 2.14 merupakan salah satu contoh operasi untuk menghilangkan
kesamaran dengan citra masukan adalah citra yang tampak kabur (blur), melalui
operasi deblurring kualitas dari citra masukan dapat diperbaiki sehingga citra
terlihat lebih tajam [8].
16

(a) (b)
Gambar 2.14 (a) Citra Lena yang tampak kabur (blur), (b) citra Lena yang telah
ditajamkan
3. Pemampatan Citra (image compression)
Operasi ini dilakukan agar citra direpresentasikan dalam bentuk yang jauh lebih
kompak sehingga cukup memerlukan memori yang sedikit. Tetapi dalam
pemampatan ini citra harus tetap mempunyai kualitas yang bagus. Contoh
pemampatan citra dapat dilihat pada Gambar 2.15 berikut dengan menggunakan
metode JPEG. Citra semula berukuran 258 KB, setelah dimampatkan dengan
metode JPEG ukuran citra dapat direduksi menjadi 49 KB saja [8].

(a) (b)
Gambar 2.15 (a) Citra kapal.bmp dengan ukuran 258 KB yang belum dimampatkan, (b)
Citra kapal.jpg dengan ukuran 49 KB setelah dimampatkan

4. Segementasi Citra (image segmentation)


Operasi ini merupakan operasi yang dilakukan untuk memecah suatu citra ke
dalam beberapa segemen dengan kriteria tertentu, operasi ini berkaitan dengan
pengenalan pola [8].
5. Pengorakan Citra (image analysis)
Pada operasi ini teknik pengorakan citra akan mengekstraksi ciri-ciri tertentu yang
membantu dalam identifikasi objek dengan menghitung besaran kuantitatif dari
citra untuk menghasilkan deksripsinya. Operasi ini kadang diperlukan untuk
melokalisasi objek yang diinginkan dari sekelilingnya. Contoh-contoh operasi
pengorakan citra yaitu:
17

a. Pendeteksian tepi objek (edge detection)


b. Ekstraksi batas (boundary)
c. Representasi daerah (region) [8].
Berikut Gambar 2.16 merupakan contoh dari pengorakan citra dengan
pendeteksian tepi objek.

(a) (b)
Gambar 2.16 (a) Citra kamera dan (b) citra hasil pendektisian seluruh tepi
6. Rekontruksi Citra (image recontruction)
Rekontruksi citra merupakan operasi untuk membentuk ulang objek dari beberapa
citra hasil proyeksi, operasi ini sering digunakan dalam bidang medis seperti pada
foto rontgen dengan sinar X yang digunakan membentuk ulang gambar organ
tubuh [8].
2.1.2.3 Teknik-teknik Pengolahan Citra Digital
Teknik pengolahan citra digital secara umum dapat dikelompokkan ke dalam 3
(tiga) tingkat pengolahan, sebagai berikut:
1. Pengolahan Tingkat Rendah (Low Level Processing)
Pengolahan tingkat rendah merupakan operasi-operasi dasar dalam
pengolahan citra, seperti penggunaan noise, perbaikan citra, dan restorasi citra.
2. Pengolahan Tingkat Menengah (Mid Level Processing)
Pengolahan tingkat menengah merupakan pengolahan citra yang meliputi
segmentasi pada citra, deskripsi objek, dan klasifikasi objek secara terpisah.
3. Pengolahan Tingkat Tinggi (High Level Processing)
Pengolahan tingkat tinggi merupakan pengolahan yang meliputi analisis citra
[8].
18

2.1.2.4 Format File Citra


Format file citra yang standar digunakan terdiri dari beberapa jenis. Format-
format ini digunakan untuk menyimpan citra pada sebuah file. Setiap format
memiliki karakteristik masing-masing.
1. Bitmap (.bmp)
Format .bmp adalah format penyimpanan standar yang umum digunakan untuk
menyimpan citra biner hingga citra warna tanpa kompresi. Format ini tersedia
dalam beberapa jenis yang setiap jenisnya ditentukan dengan jumlah bit yang
digunakan untuk menyimpan sebuah nilai pixel.
2. Tagged Image Format (.tif, .tiff)
Format ini merupakan format penyimpanan citra biner hingga citra warna yang
terkompresi maupun yang tidak terkompresi.
3. Portable Network Graphics (.png)
Format .png ini merupakan format penyimpanan citra terkompresi. Format ini
dapat digunakan pada citra gryscale, citra dengan palet warna dan citra fullcolor.
4. JPEG (.jpg)
Format .jpg ini sangat umum digunakan, format ini saat ini digunakan untuk
transmisi citra atau untuk menyimpan hasil kompresi dengan metode JPEG.
5. MPEG (.mpg)
Format ini diperuntukkan untuk menyimpan citra bergerak (video), format ini
mendukung video dengan kompresi.
6. Graphics Interchange Format (.gif)
Format ini digunakan pada citra warna dengan palet 8 bit. Digunakan umumnya
pada aplikasi web. Format ini tidak terlalu populer karena kualitas yang rendah.
7. RGB (.rgb)
Format yang dibuat oleh silicon graphics ini merupakan format penyimpanan citra
untuk menyimpan citra warna.
8. RAS (.ras)
Format ini digunakan untuk menyimpan citra dengan format RGB tanpa
kompresi.
9. Postscript (.ps, .eps, .epfs)
Format ini format yang digunakan untuk menyimpan citra buku elektronik.
Dengan format ini, citra direpresentasikan ke dalam deret nilai desimal atau
hexadesimal yang diScriptkan ke dalam ASCII.
10. Portable Image File Format
Format ini baik digunakan untuk membaca kembali data citra, format ini
memeliki beberapa bagian diantaranya portable bitmap, portable graymap,
19

portable pixmap dan portable network map dengan format berturut-turut adalah
.pbm, .pgm, .ppm, dan .pnm [9].
2.1.2.5 Computer vision dan Hubungannya dengan Pengolahan Citra Digital
Computer vision atau yang disebut juga dengan machine vision merupakan
terminologi yang berkaitan erat dengan pengolahan citra digital. Karena pada
dasarnya, computer vision mencoba meniru cara kerja sistem visual manusia
(human vision). Manusia melihat objek dengan indera penglihatan (mata), lalu
objek tersebut diteruskan ke otak untuk diinterpretasi sehingga manusia dapat
mengerti objek apa yang tampak pada pandangan matanya. Dalam hal ini hasil
interpretasi mungkin digunakan untuk pengambilan keputusan, misalnya dalam
pandangan manusia melihat mobil yang sedang melaju, maka ia akan
menghindarinya.
Computer vision merupakan proses otomatis yang dapat mengintegrasikan
sejumlah besar proses dalam hal persepsi visual, seperti akuisisi citra, pengolahan
citra, klasifikasi, pengenalan pola, dan membuat keputusan.
Teknik-teknik di dalam computer vision terdiri dari mengestimasi ciri-ciri objek di
dalam citra, pengukuran ciri yang berkaitan dengan geometri objek, dan
menginterpretasi informasi geometri objek tersebut.
Proses-proses di dalam computer vision dapat dibagi menjadi 3 (tiga) aktivitas,
yaitu:
1. Mengakuisisi atau memperoleh citra
2. Melakukan operasi-operasi pengolahan citra digital
3. Menganalisis dan menginterpretasi citra, hasil dari pemprosesan digunakan
untuk tujuan tertentu, misalnya sebagai control pada robot, mengontrol
peralatan lainnya, memantau proses manufaktur, dan lain-lain.
Secara hirarki, proses-proses dalam computer vision diklasifikasikan dalam
beberapa hal yang dapat dilihat pada Gambar 2.17 berikut.
Hirarki pemprosesan Contoh Algoritma
Preprocessing Noise removal
Contrast enhancement
Lowest-level feature extraction Edge detection
Texture detection
Intermediate-level feature identification Connectivity
Pattern matching
20

Boundary coding
High-level scene interpretation Model-base
recognition
via images
Gambar 2.17 Proses-proses dalam computer vision
Dari klasifikasi di atas, dapat kita lihat bahwa pengolahan citra dan pengenalan
pola termasuk bagian dari computer vision. Proses awal pada computer vision
adalah pengolahan citra, sedangkan pengenalan pola merupakan proses untuk
menginterpetasi citra. Teknik-teknik pada pengenalan pola memiliki peranan
penting dalam computer vision untuk mengenali pola [8].
2.1.3 Scale-Invariant Feature Transform (SIFT)
Ekstraksi fitur gambar ini dideskripsikan pada tahun 1999 oleh David G. Lowe
yang diteliti dari Universitas British Colombia. Metode ini dinamakan sebagai
Scale-Invariant feature Transform (SIFT). SIFT adalah metode yang invarian
terhadap skala, rotasi, dan kondisi iluminasi. Pendekatan SIFT umumnya ada
empat langkah, yaitu:
1. Pembentukan Gaussian Scale Space dan Difference of Gaussian Scale Space
Hal ini diimplementasikan secara efisien dengan menggunakan perbedaan fungsi
Gaussian untuk mengidentifikasi potensi objek yang invarian ke skala dan
orientasi. Setelah mendapatkan Gaussian Scale Space langkah selanjutnya yaitu
membentuk Difference of Gaussian Scale (DoG).
2. Deteksi Ekstremum
Deteksi ekstremum (nilai maksimum dan minimum) dilakukan dengan
membandingkan nilai setiap piksel pada DoG Scale space dengan delapan piksel
yang berada di sekelilingnya dan 9 piksel yang bersesuaian pada citra DoG
sebelum dan setelahnya. Jika nilai piksel yang dimaksud lebih besar atau lebih
kecil daripada nilai-nilai piksel pembandingnya maka koordinat piksel tersebut
ditandai sebagai ekstremum.
3. Penetapan Orientasi Keypoint
Pada langkah ini, satu (atau lebih) orientasi ditugaskan ke setiap lokasi keypoint
yang berdasarkan arah lokasi gradien gambar yang kemudian digunakan sebagai
dasar untuk semua operasi selanjutnya. Secara khusus, data gambar
21

ditransformasikan relatif terhadap orientasi, skala, dan lokasi yang ditugaskan


untuk setiap fitur, sehingga memberikan invarian untuk transformasi ini.
4. Penen tuan Deskriptor Lokal
Proses terakhir adalah menghitung vektor deskriptor. Deskriptor dihitung untuk
masing-masing keypoint, langkah ini dilakukan pada gambar yang paling dekat
dengan skala untuk skala keypoint. Pertama membuat orientasi dengan 4x4 piksel
dengan 8 bin untuk tiap keypoint [10].

2.1.4 Support Vector Machine (SVM)


Support vector machine (SVM) pertama kali diperkenalkan oleh Boser,
Guyon, Vapnik, pada tahun 1992 sebagai rangkaian konsep unggulan dalam
bidang pattern recognition. Support vector machine (SVM) sebagai salah satu
metode pattern recognition yang terbilang relatif baru, namun evaluasi
kemampuannya dalam berbagai aplikasi menempatkan metode ini sebagai state of
the art dalam pattern recognition. Prinsip dasar dari metode support vector
machine (SVM) adalah linier classifier dan yang selanjutnya dikembangkan agar
dapat bekerja pada problem non-linier dengan memasukkan konsep kernel trick
pada ruang kerja berdimensi tinggi. Support vector machine (SVM) berusaha
menemukan hyperlane (pemisah) terbaik yang berfungsi sebagai pemisah dua
buah class pada input space, berbeda dengan strategi pada neural network yang
berusaha mencari hyperlane antar class. Dan support vector machine (SVM)
dewasa ini telah berhasil diaplikasikan pada masalah nyata dan hasilnya secara
umum memberikan solusi yang lebih baik dibandingkan metode konvensional
seperti artificial neural network.
Jadi proses pada metode support vector machine (SVM) bertujuan untuk
mendapatkan hipotesis terbaik yang tidak hanya meminimalkan empirical risk
yaitu rata-rata error pada data pelatihan, tetapi juga menggeneralisasi dengan
baik. Generalisasi yang dimaksudkan berupa kemampuan sebuah hipotesis untuk
mengklasifikasikan data yang tidak terdapat dalam data pelatihan dengan benar.
Support vector machine (SVM) bekerja berdasarkan prinsip structural risk
minimization (SRM) untuk menjamin proses generalisasi tersebut [11].
22

2.1.4.1 Structural Risk Minimization (SRM)


Structural Risk Minimization (SRM) bertujuan untuk menjamin batas atas
dari proses generalisasi pada data pengujian dengan cara mengontrol fleksibilitas
atau kapasitas dari hipotesis. Untuk mengukur kapasitas tersebut digunakan
dimensi Vapnik-Chervonenkis (VC) yang merupakan properti dari ruang hipotesis
{f(α)}. Berdasarkan teori pembelajaran statistik nilai dari dimensi Vapnik-
Chervonenkis (VC) yang akan menentukan besarnya nilai kesalahan pada
pengujian. Jadi, prinsip dari Structural Risk Minimization (SRM) adalah
menemukan subset dari ruang hipotesis yang dipilih sebagai batas atas actual risk
kemudian diminimumkan. Structural Risk Minimization (SRM) meminimumkan
actual risk dengan meminimumkan kesalahan pada data pelatihan [11].
2.1.4.2 Support Vector Machine (SVM) pada Linearly Separable Data
Linearly separable data merupakan data yang dapat dipisahkan secara

linier. Misalkan { ,…, } adalah dataset dan ϵ {+1,-1} adalah label kelas dari

data . Pada Gambar 2.18 Berikut dapat dilihat alternatif bidang pemisah yang

dapat memisahkan semua dataset sesuai dengan kelasnya. Bidang pemisah terbaik
tidak hanya memisahkan data tetapi juga memiliki margin paling besar.

(a) (b)
Gambar 2.18 (a) Alternatif bidang pemisah, (b) Bidang pemisah terbaik dengan
margin (m) terbesar
Data yang berada pada bidang pemisah disebut support vector. Pada
contoh di atas, dua kelas dapat dipisahkan oleh sepasang bidang pemisah yang
sejajar. Bidang pemisah pertama membatasi kelas pertama, sedangkan bidang
23

pemisah kedua membatasi kelas kedua, sehingga di dapat persamaan sebagai


berikut:

.w + b + 1 for = +1 (2.1)

.w + b + 1 for = -1

Pada persamaan di atas w adalah normal bidang, dan b adalah posisi


bidang yang relatif terhadap pusat koordinat. Untuk nilai margin (jarak) antara

bidang pemisah dapat dirumuskan dengan = . Nilai margin ini

dimaksimalkan dengan tetap memenuhi (2.1). Dengan mengalikan b dan w


dengan sebuah konstanta, akan dihasilkan margin yang dikalikan dengan

konstanta yang sama. Karena dengan memaksimalkan sama dengan

meminimumkan dan jika kedua bidang pemisah ini direpresentasikan dalam

pertidaksamaan maka sebagai berikut:

(2.2)

Maka pencarian bidang pemisah terbaik dengan nilai margin terbesar dapat
dirumuskan menjadi masalah optimasi konstrain, yaitu

(2.3)

Kemudian permasalahan pada optimasi konstrain ini akan lebih mudah


jika diubah ke dalam lagrangian mengggunakan lagrange multiplier sebagai
berikut:
24

Vektor w seringkali bernilai besar dan bisa saja tak terhingga, tetapi nilai

terhingga. Jadi, formula lagrangian Lp (primal problem) diubah ke dalam dua

problem . Jadi, persoalan pencarian bidang pemisah terbaik dirumuskan sebagai

berikut:

Dari persamaan di atas diperoleh nilai untuk setiap data pelatihan yang

kemudian digunakan untuk menemukan w. Data pelatihan yang memiliki nilai

adalah support vector, sedangkan sisanya memiliki nilai . Dengan

demikian fungsi keputusan yang dihasilkan hanya dipengaruhi oleh support


vector.
Formula pencarian bidang pemisah terbaik ini adalah permasalahan

quadratic programming, sehingga nilai maksimum global dari selalu dapat

ditemukan, kemudian barulah kelas dari data pengujian x dapat ditentukan


berdasarkan fungsi keputusan berikut [11]:

Keterangan:

= support vector

= data yang akan diklasifikasikan

ns = jumlah support vector

= nilai bobot setiap titik data


25

2.1.4.3 Support Vector Machine pada Nonlinearly Separable Data


Dalam hal ini digunakan untuk mengklasifikasikan data yang tidak dapat
dipisahkan secara linier, sehingga support vector machine (SVM) harus
dimodifikasi agar mendapatkan solusi. Perlunya penambahan variabel pada kedua

bidang pemisah secara fleksibel yaitu variabel ( jika

diklasifikasikan dengan benar) menjadi .w + b 1- untul kelas 1 dan .w +

b 1+ untuk kelas 2. Pencarian bidang terpisah dengan penambahan variabel

disebut soft margin hyperlane. Dengan penambahan variabel tersebut maka

formula pencarian bidang terbaik berubah menjadi:

C adalah parameter yang menentukan besar penalti akibat kesalahan dalam


klasifikasi data, nilainya ditentukan oleh pengguna [12]. Berikut Gambar 2.19
gambaran bagaimana soft margin hyperlane.

Gambar 2.19 Soft Margin Hyperlane

Selanjutnya, bentuk primal problem sebelumnya berubah menjadi:


26

Metode atau cara lain untuk mengklasifikasikan data yang tidak dapat dipisahkan
secara linier adalah dengan mentransformasikan data ke dalam ruang fitur (feature
space) sehingga dapat dipisahkan secara linier. Berikut Gambar 2.20 merupakan
gambaran transformasi vektor ke feature space.

Gambar 2.20 Transformasi vektor ke feature space

Dalam prakteknya feature space memiliki dimensi yang lebih tinggi dari vektor
input (input space). Hal ini mengakibatkan komputasi pada feature space
mungkin sangat besar, karena kemungkinan jumlah feature menjadi tak terhingga.
Untuk mengatasai hal ini pada support vector machine (SVM) digunakan kernel
trick. Jadi, fungsi yang dihasilkan adalah

Keterangan:

= support vector

= data yang akan diklasifikasikan

ns = jumlah support vector


Fungsi kernel harus memenuhi teorema Mercer, yang menyatakan matriks kernel
yang dihasilkan bersifat positive semi-definite. Fungsi kernel yang umum
digunakan adalah sebagai berikut [11]:
a. Kernel Linier
(2.10)
b. Polynomial Kernel
(2.11)
c. Radial Basis Function (RBF)
27

(2.12)
d. Sigmoid Kernel
(2.13)

2.1.4.4 Karakteristik Support Vector Machine (SVM)


1. Prinsip dari support vector machine (SVM) adalah linear classifier.
2. Proses optimasi dilakukan diruang vektor yang baru dengan
mentransformasikan data pada input space ke ruang berdimensi lebih tinggi,
berbeda dengan solusi pattern recognition pada umumnya, yang melakukan
proses optimasi pada ruang hasil transformasi yang berdimensi lebih rendah.
3. Menerapkan strategi Structural Risk Minimization (SRM).
4. Prinsip kerjanya hanya mampu menangani dua class [11].
2.1.4.5 Kelebihan dan Kekurangan Support Vector Machine (SVM)
Tentunya sebuah metode memiliki kelebihan dan kelemahan, begitu dengan
metode support vector machine yang memiliki kelebihan antara lain:
1. Generalisasi
Generalisasi merupakan kemampuan suatu metode untuk mengklasifikasikan
suatu pattern yang tidak termasuk data yang dipakai dalam pelatihan metode
itu.
2. Curse of dimensionality
Curse of dimensionality didefinisikan sebagai masalah yang dihadapi suatu
metode pattern recognition dalam mengestimasikan parameter dikarenakan
jumlah sampel data yang relatif sedikit dibandingkan dimensi ruang vektor
tersebut. Semakin tinggi dimensi ruang vektor informasi yang diolah, semakin
banyak jumlah data yang diperlukan. Sedangkan pada kenyataan yang
seringkali terjadi, terbatasnya jumlah data dan untuk mengumpulkan data yang
lebih banyak tidak memungkinkan baik karena kendala biaya maupun
kesulitan teknis. Hal inilah yang merupakan alasan mengapa support vector
machine (SVM) tepat dipakai untuk memecahkan masalah berdimensi tinggi
dengan keterbatasan sampel data.
3. Landasan Teori
Support vector machine (SVM) memiliki landasan teori yang dapat dianalisa
dan tidak bersifat blackbox.
4. Feasibility
28

Support vector machine dapat diimplementasikan relatif mudah, karena proses


penentuan support vector dirumuskan dalam QP Problem.
Sedangkan kelemahan dari metode support vector machine adalah sebagai
berikut:
1. Metode ini sulit dipakai dalam masalah berskala besar.
2. Support vector machine (SVM) secara teori dikembangkan hanya untuk
masalah klasifikasi dua class [11].
2.1.5 Sasirangan
Sasirangan dalam konteks mitos pada mulanya dikenal dengan kain
pamintaan. Istilah pamintaan adalah singkatan dari parmintaan (permintaan),
maksudnya adalah selembar kain putih yang diberi warna tertentu dengan motif
tertentu pula atas permintaan seseorang yang berobat kepada pengrajin kain
pamintaan. Menurut sejarah, kain pamintaan tersebut berfungsi sebagai sarana
pengobatan atas pentunjuk seorang tabib sebelumnya. Penyakit yang
dimaksudkan adalah berbagai macam penyakit contohnya sakit perut, sakit kepala,
demam bahkan sampai penyakit jiwa serta penyakit yang disebabkan oleh
gangguan makhluk halus. Pengobatan yang sbelum dapat dibuktikan secara ilmiah
ini disebut masyarakat dengan nama “batatamba” dengan menggunakan kain
pamintaan yang dipakai secara berkala [13].
Secara etimologis, sasirangan bukanlah kata benda sebagaimana yang
dikesankan oleh pengertian seperti di atas, melainkan sa memiliki arti satu dan
sirang artinya jelujur. Ini berarti sasirangan artinya kain yang diberi gambar
dengan motif dan warna tertentu yang sudah dipolakan secara tradisional dengan
pola satu jelujur atau garis-garis vertikal yang memanjang dari bawah ke atas
menurut citarasa budaya lokal khas etnis Banjar di Kalimantan Selatan.
Istilah sasirangan berkaitan dengan teknik pembuatan gambar dan
pewarnaannya. Mula-mula kain yang digunakan adalah kain putih polos,
kemudian kain tersebut dijelujur atau dijahit dengan mengikuti pola jelujur (garis
vertikal). Kain kemudian dicelupkan ke dalam bak berisi cairan zat pewarna,
kemudian dijemur dan setelah kering jahitan jelujurnya dibuka, maka jadilah kain
sasirangan [1], [13].
29

2.1.5.1 Motif Tradisional Kain Sasirangan


Ciri khas dari kain sasirangan adalah rangkaian motif yang pada umumnya
tersusun motifnya dalam bentuk vertikal, jarang sekali motifnya tersusun dalam
bentuk horizontal [13]. Dan motif gambar pada kain sasirangan pada umumnya
merujuk kepada gambar-gambar visualisasi flora, fauna, manusia, alam benda
budaya, benda-benda di langit, dan lain sebagainya [1]. Dan secara umum motif
pada kain sasirangan digolongkan ke dalam 3 (tiga) kelompok, yaitu:
1. Motif lajur, yakni bentuk motif yang dirangkai secara memanjang. Contoh:
hiris pudak, kulat karikit, gigi haruan, kangkung kaumbakan.
2. Motif ceplok, yaitu bentuk motif yang tampil secara sendiri tanpa ada
motif lain yang mendampingi. Contoh: tampuk manggis, hiris gagatas, atau
tampuk manggis.

3. Motif variasi, yaitu motif penghias sebagai tambahan dalam motif dalam
lain yang sudah ada. Contoh: motif hiris gagatas yang diberi pinggiran agar
terlihat lebih menarik [13].

Dalam buku Sasirangan: kain khas Banjar yang ditulis oleh Syamsyiar Seman
disebutkan beberapa contoh motif tradisional kain sasirangan, sebagai berikut:
1. Gigi Haruan

Gambar 2.21 Motif Gigi Haruan [13]


Haruan merupakan salah satu jenis ikan air tawar di Kalimantan Selatan, biasa
disebut juga dengan ikan gabus. Memiliki gigi yang runcing tajam, karena itu
motif ini dilambangkan sebagai ketajaman dalam berpikir, motif gigi haruan ini
juga terdapat pada ornamen rumah Kalimantan Selatan.
2. Kulat Kurikit

Gambar 2.22 Motif Kulat Kurikit [13]


Kulat kurikit merupakan tumbuhan jenis cendawan yang hidup menempel pada
batang atau pohon, tetapi tidak merugikan tumbuhan yang ditumpangi seperti
halnya benalu. Bentuknya mirip gigi haruan (lihat Gambar 2.21), tetapi lebih
kecil-kecil.
30

3. Hiris Pudak

Gambar 2.23 Motif Hiris Pudak [13]


Pudak sering disebut juga dengan pandan, ini merupakan tanaman disekitar rumah
yang daunnya berbau harum. Bentuk daunnya agak panjang dan memiliki banyak
kegunaan. Motif hiris pudak hampir mirip dengan motif gigi haruan dan kulat
kurikit, tetapi pada hiris pudak pola patah-patah nya lebih besar dibanding gigi
haruan dan kulat kurikit.
4. Ular Lidi

Gambar 2.24 Motif Ular Lidi [13]


Motif ular lidi merupakan simbol kecerdikan karena ular lidi bertubuh kecil
namun gagah dan cerdik serta memiliki bisa. Bentuknya mirip dengan hiris pudak
(lihat Gambar 2.23), tetapi berganda dua, tidak patah-patah, melengkung dengan
garis vertikal serta bervariasi.
5. Kambang Kacang

Gambar 2.25 Motif Kambang Kacang [13]


Kambang kacang merupakan sejenis tanaman. Buahnya yang menjulur panjang
selalu menjadi sayuran yang dicampur dengan sayuran lain. Sayur kacang panjang
ini termasuk sayuran yang sering dimasak untuk makanan sehari-hari oleh orang
Kalimantan Selatan, sehingga hubungannya akrab dengan dapur, dan diartikan
sebagai simbol keakraban.
6. Hiris Gagatas
31

Gambar 2.26 Motif Hiris Gagatas [13]


Gagatas memiliki makna bungas, langkar atau cantik serta tak pernah bosan
dipandang. Dinamakan hiris gagatas karena bentuknya seperti kue khas
Kalimantan Selatan yang diiris atau dipotong gagatas.
7. Kambang Sakaki

Gambar 2.27 Motif Kambang Sakaki [13]


Kambang sakaki merupakan sekuntum bunga yang melambangkan keindahan,
banyak digunakan dalam ornament khas Kalimantan Selatan, seperti pada ukiran
arsitektur rumah adat Kalimantan Selatan, pada dinding guci atau relief tempat
kapur sirih yang disebut penginangan.
8. Daun Jaruju

Gambar 2.28 Motif Daun Jaruju [13]


Daun jaruju meruakan tumbuhan hutan yang sering tumbuh di tanah berair seperti
pinggiran sungai. Daun jaruju berwarna hijau tua yang pada pinggirnya berbentuk
tajam atau berduri. Orang Kalimantan Selatan dahulu, terutama yang tinggal di
kampong sering menggunakan daun jaruju dan meletakkannya di sudut lantai
dapur untuk mencegah tikus karena tikus takut dengan duri pada daun jaruju. Dan
daun jaruju dianggap sebagai simbol tolak bala.
9. Tampuk Manggis
32

Gambar 2.29 Motif Tampuk Manggis [13]


Setiap buah manggis memiliki motif yang dapat diraba. Tampuk manggis
tergambar juga pada relief sungkul tangga rumah adat Kalimantan Selatan.
Tampuk manggis ini mempunyai dua makna yaitu, yang pertama kejujuran, yaitu
pada kulit manggis terdapat tampukknya yang apabila berjumlah lima atau enam
pastolah lima atau enam pula isi di dalamnya. Kedua, kerja keras, hal ini
gambarkan dengan kulit buahnya yang masak berwarna hitam dan terasa pahit
namun isinya putih dan manis.
10. Bintang

Gambar 2.30 Motif Bintang [13]


Bintang sebagai benda alam dilangit, sebagai salah satu tanda kebesaran Tuhan.
Bintang-bintang digambarkan dengan empat, lima, tujuh, delapan sudut bahkan
gugusan beribu-ribu bintang, sehingga biasa dinamakan juga dengan bintang
batabur atau bintang bahambur.
11. Kangkung Kaubakan
33

Gambar 2.31 Motif Kangkung Kaubakan [13]


Kangkung kaubakan mengandung makna tahan terhadap godaan. Hal ini di
karenakan tumbuhan kangkung ini hidup di atas air dengan batangnya yang
panjang, berdaun hijau kecil, dan apabila air nya bergelombang tentu permukaan
air berombak tetapi batang kangkung tidak putus karenanya.
12. Ombak Sinapur Karang

Gambar 2.32 Motif Ombak Sinapur Karang [13]


Ombak diibaratkan sebagai gelombang perjuangan dalam hidup manusia. Ombak
terjadi disebabkan oleh gelombang, sementara gelombang itu ada dalam riak yang
kecil atau besar, tergantung penyebabnya. Tiupan angina yang keras di laut dapat
menyebabkan ombak yang besar dan ombak yang besar tersebu tbisa saja
menerjang karang, karena itulah motif ini dinamakan ombak sinampur karang.
13. Bayam Raja

Gambar 2.33 Motif Bayam Raja [13]


Raja adalah atribut seseorang yang dihormati dan mertabat. Karenanya motif ini
mengandung makna leluhur yang bermartabat dan dihormati. Bentuknya dengan
34

garis-garis yang melengkung patah-patah, biasanya tersusun sevara vertikal


menjadi garis pembatas dengan motif-motif yang lain. Bisa juga bayam raja
menjadi hiasaan pinggiran motif-motif yang lain,sehingga bayam raja banyak
dipakai pada kain sasirangan.

14. Mayang Murai

Gambar 2.34 Motif Mayang Murai [13]


Mayang murai adalah mayang pinang yang peranannya sangat penting dalam
acara badudus, suatu adat orang Kalimantan Selatan sejak zaman dahulu, dimana
seseorang dimandikan sejak dari atas kepala hingga sekujur badan, umumnya
mayang murai digunakan untuk mempelai yang akan bersanding.
15. Naga Balimbur

Gambar 2.35 Motif Naga Balimbur [13]


Naga balimbur merupakan motif yang menggambarka suatu suasana
menyenangkan atau menggembirakan, karena berdasarkan sebuah dongeng orang
Kalimantan Selatan yang menceritakan naga sedang bermandi-mandi ditengah
sungai pada waktu pagi, sang naga mandi sambal berjemur dengan cahaya
matahari yang bersinar cerah.
16. Ramak Sahang
35

Gambar 2.36 Motif Ramak Sahang [13]


Sahang merupakan nama salah satu rempah-rempah dapur dengan istilah di
Kalimantan Selatan yang berarti merica. Ramak artinya hancur, karena biasanya
sahang sebelum digunakan digilas di atas cobekan. Motif ramah sahang ini adalah
seperti motif hiris pudak yang berganda dua, tetapi gambarnya terputus-putus.
17. Gelombang

Gambar 2.37 Motif Gelombang [13]


Gelombang air laut terjadi sebagai akibat dari adanya angina yang bertiup
kencang atau lembutnya angina yang bertiup menyebabkan besar kecilnya air.
Gelombang diibaratkan juga sebagai kehidupan manusia, yang kadang-kadang
menemukan gelombang, yang menuntu keuletan dan kesabaran dalam
menghadapi kehidupan.
18. Daun Katu

Gambar 2.38 Motif Daun Katu [13]


Katu merupakan tanaman sekitar rumah yang tingginya sekitar satu sampai dua
meter, memiliki daun yang berganda dengan warna hijau tua. Pucuk daun katu
sering dijadikan sayur untuk makan nasi, dan sayur daun katu dapat
memperbanyak ASI sehingga bernilai manfaat. Jadi, motif ini memberikan
gambaran banyaknya hal-hal disekitar kita yang memiliki manfaat [13].
36

2.2 Penelitian Terkait


Berikut beberapa penelitian terkait mengenai pengenalan dan klasifikasi
motif yang didasarkan pada penggunaan metode ekstraksi fitur dan metode
klasifikasi. Metode ektraksi fitur yang umum digunakan untuk klasifikasi motif
batik adalah Gray Level Co-Occurrence Matrices (GLCM), hal ini dikaitkan pada
salah satu penelitian yang dilakukan oleh Ida Nurhaida, dkk. yaitu Performance
Comparison Analysis Features Extraction Methods for Batik Recognition, dalam
penelitian ini memberikan perbandingan metode ektraksi fitur antara Gray Level
Co-occurrence Matrices (GLCM), Canny Edge Detection, dan filter Gabor
dengan hasil percobaan menunjukkan bahwa penggunaan fitur GLCM yang
terbaik dengan akurasi klasifikasi mencapai 80% [3]. Namun pada penelitian yang
dilakukan oleh Qiwen Chen dan Emmanuel Agu yaitu Exploring Statistical
GLCM Texture Features for Classifying Food Images, menunjukkan bahwa fitur
GLCM berkinerja lebih baik daripada SIFT secara keseluruhan, dan untuk
makanan satu item atau homogen, sementara SIFT berkinerja baik untuk hidangan
kompleks [4]. Karena motif sasirangan umumnya kompleks maka penulis
menggunakan metode ektraksi fitur scale-invariant feature transform (SIFT) pada
penelitian ini.
Dan untuk penelitian mengenai metode klasifikasi motif kain yang pernah
dilakukan sebelumnya, oleh Iwan Setiawan, dkk. pada Automatic Batik Motifs
Classification using Various Combinations of SIFT Features Moments and k-
Nearest Neighbor, dari penelitian tersebut rata-rata tingkat akurasi keseluruhan
yang didapat masih rendah hanya mencapai 31,43% pada k-7 dan k-8 [5].
Kemudian, penelitian dengan metode yang sama juga dilakukan oleh Hanang
Wijayanto, pada klasifikasi batik menggunakan metode K-Nearest Neighbor dan
Gray Level Co-Occurrence Matrices (GLCM) sebagai metode ektraksi fiturnya,
namun pada penelitian ini tidak semua batik dapat terklasifikasikan dengan benar,
berdasarkan uji coba yang telah dilakukan pada penelitian tersebut dengan
menggunakan jumlah data training dan testing yang berbeda-beda menghasilkan
tingkat akurasi tertinggi pada uji coba 3 sudut 0 yaitu 57,50 % dan tingkat akurasi
terendah pada uji coba 6 sudut 90 yaitu 20 % [6]. Dari kedua penelitian tersebut
tingkat akurasi yang didapat masih rendah.
37

Sementara itu, penelitian yang sama tetapi dengan menggunakan metode


klasifikasi yang berbeda dilakukan oleh Ryfial Azhar, dkk. pada Batik Image
Classification Using SIFT Feature Extraction, Bag of Features and Support
Vector Machine, dari penelitian tersebut hasil percobaan menunjukkan bahwa
keakuratan rata-rata metode ini mencapai 97,67%, 95,47% dan 79% pada gambar
normal, gambar yang diputar dan gambar skala [7]. Berdasarkan hal tersebut,
penulis menggunakan metode klasifikasi Support Vector Machine (SVM) dan
metode ektraksi fitur scale-invariant feature transform (SIFT) pada penelitian ini,
diharapkan metode tersebut juga dapat diterapkan pada klasifikasi motif
sasirangan.
2.3 Kerangka Pemikiran
Kerangka pemikirin dalam penelitian ini merupakan diagram yang menjelaskan
secara garis besar bagaimana alur logika berjalannya penelitian ini. Kerangka
pemikiran pada penelitian ini dapat dilihat pada Gambar 2.39 berikut.
38

Oppurtunity
Perlunya sebuah sistem yang
Problem
dapat membantu mengenali
Masih banyak masyarakat Kalimantan
motif kain sasirangan,
Selatan yang belum mengetahui dengan
baik bahwa kain sasirangan memiliki terutama untuk motif yang
nama dan makna pada setiap motifnya. mirip secara visual

Approach
Pengolahan citra digital - Scale-Invariant Feature
Transform (SIFT)

- Support Vector Machine


(SVM)

Software Development
Melakukan Coding Menerapkan
pendekatan pada metode Scale-
Software Implementation dengan mengenali Matlab Invariant
Validasi oleh ahli sastra dan budayawan pola motif pada dengan Feature
Banjar citra kain VLFeat Transform
sasirangan Library (SIFT) dan
support vector
machine (SVM)

Software Measurement
Tingkat akurasi

Result
Prototype sistem klasifikasi motif kain
sasirangan dengan Scale-Invariant
Feature Transform (SIFT) dan Support
Vector Machine (SVM)
39

Gambar 2.39 Kerangka Pemikiran


Pada kerangka pemikiran di atas dapat dilihat beberapa tahapan yang mendasari
penelitian ini, tahapan tersebut dapat diuraikan sebagai berikut:
a. Problem
Problem atau permasalahan sebagai landasan dilakukannya penelitian ini
adalah untuk mengenalkan nama motif kain sasirangan khas Kalimantan
Selatan, karena saat ini masih banyak masyarakat Kalimantan Selatan yang
tidak mengetahui dengan baik mengenai nama motif khas yang beragam pada
kain sasirangan.
b. Approach
Approach berguna untuk memecahkan permasalahan yang ada, pada
penelitian ini approach nya adalah berbasis pengolahan citra digital dengan
menggunakan metode ektraksi fitur Scale-Invariant Feature Transform
(SIFT) dan metode klasifikasi support vector machine (SVM).
c. Opportunity
Opportunity dari approach tersebut adalah perlu adanya sebuah prototype
sistem yang dapat membantu mengenali motif dan memberi informasi
mengenai nama motif kain sasirangan dari citra yang diambil.
d. Software Development
Selanjutnya tahap pengembangan terhadap problem tersebut melalui
pendekatan software development. Pendekatan yang dilakukan nantinya
adalah mengenali pola motif pada kain sasirangan, selanjutnya sistem
dibangun dengan menggunakan perangkat lunak Matlab R2017a dengan
bahasa pemprograman C++, menggunakan VLFeat Library, dengan
menerapkan metode ektraksi fitur Scale-Invariant Feature Transform (SIFT)
dan metode klasifikasi support vector machine (SVM).
e. Software Implementation
Prototype sistem ini nantinya akan diimplementasikan kepada salah satu ahli
sastra dan budayawan banjar untuk memberikan validasi terhadap output dari
sistem.
f. Software Measurement
Untuk mengetahui hasil dari software implementation maka dilakukan
software measurement. Dimana nanti dapat diketahui berapa tingkat akurasi
40

dari metode yang digunakan dalam pengenalan motif kain sasirangan


sehingga memberikan informasi mengenai nama motif kain sasirangan
tersebut.
g. Result
Hasil yang didapat setelah mengetahui permasalahan, melakukan pendekatan,
melakukan pengembangan, dan proses lainnya adalah sebuah prototype
sistem klasifikasi motif kain sasirangan dengan menggunakan Scale-
Invariant Feature Transform (SIFT) dan Support Vector Machine (SVM)
yang dapat memberikan informasi nama motif yang ada pada citra sasirangan.
BAB III
METODOLOGI PENELITIAN

3.1 Bahan dan Alat Penelitian


3.1.1 Bahan Penelitian
Bahan penelitian yang akan digunakan pada penelitian ini mencakup hasil survei
dan obeservasi yang telah dilakukan. Bahan-bahan penelitian tersebut diantaranya:
- Kain Sasirangan yang dalam hal ini berbentuk citra motif pada kain sasirangan.
3.1.2 Alat Penelitian
Adapun hardware (perangkat keras) yang digunakan dalam penelitian ini seperti:
- Komputer/laptop, dengan spesifikasi minimal Core i5, minimal RAM 4 GB.
- Kamera DSLR atau tingkat spesifikasinya yang tinggi.
Sedangkan software (perangkat lunak) yang digunakan pada penelitian ini antara
lain:
- Microsoft Windows yang support terhadap Matlab 2017 (Windows Version 10,
Windows Server 2016: Standard dan Datacenter, Windows 8.1 (with update:
Core, Professional, and Enterprise), Windows Server 2012 R2 (with update:
Essensial, Standard, Datacenter), Windows 7 SP1 (with latest windows update:
Home Premium, Professional, Enterprise, Ultimate).
- C++ Sebagai bahasa pemprograman
- Matlab R2017a
- VLFeat Library
3.2 Prosedur Penelitian
Pada penelitian ini terdapat beberapa prosedur yang dilakukan. Adapun beberapa
tahap-tahap dalam penelitian ini adalah sebagai berikut:
1. Studi Literatur
Mempelajari teori-teori mengenai pengolahan citra digital terutama dalam hal
pengenalan pola pada suatu citra, teori dasar dan pengaplikasian metode ektraksi
fitur Scale-Invariant Feature Transform (SIFT) dan metode Support Vector
Machine (SVM) untuk pengenalan motif kain sasirangan khas Kalimantan
Selatan.

41
42

2. Pengumpulan Data
Pada penelitian ini akan dilakukan pengumpulan data sesuai dengan topik yang
diambil melalui studi pustaka, wawancara dan observasi. Data yang dikumpulkan
berupa citra kain sasirangan yang merupakan data primer.
3. Analisis Data
Pada tahap ini data-data yang digunakan pada penelitian ini akan di analisis untuk
menentukan kebutuhan yang berkaitan dengan fungsionalitas dan fasilitas sistem
yang akan dirancang. Sebuah citra perlu di olah terlebih dahulu agar informasi
yang tersaji lebih mudah diinterpretasikan dan dianalisis lebih lanjut dengan
menggunakan alat-alat analisis yang sesuai, kemudian data tersebut akan diproses
dengan metode ektraksi fitur Scale-Invariant Feature Transform (SIFT) dan
metode klasifikasi Support Vector Machine (SVM) dengan membagi data menjadi
dua yaitu data latih dan data uji.
4. Perancangan Sistem
Perancangan sistem akan disesuaikan dengan kebutuhan awal berdasarkan analisis
data yang telah dilakukan.
5. Pengujian
Pada tahap ini pengujian dilakukan untuk mengetahui hasil kerja sistem dan
tingkat akurasi yang diperoleh dari metode yang digunakan dalam mengenali
motif pada citra kain sasirangan khas Kalimantan Selatan.
3.3 Metode Pengumpulan Data
Untuk mengumpulkan data dalam kegiatan penelitian diperlukan metode
atau cara pengumpulan data tertentu, sehingga proses penelitian dapat berjalan
dengan lancar. Pada penelitian ini metode pengumpulan data yang dilakukan
antara lain, studi pustaka, wawancara, dan observasi.
3.3.1 Studi Pustaka
Studi pustaka dilakukan sebagai teknik pengumpulan data dengan
melakukan penelaahan terhadap berbagai buku, literatur, catatan serta berbagai
laporan yang dijadikan sebagai sumber referensi dan teori-teori dalam penelitian
ini [14]. Studi pustaka yang digunakan dalam penelitian ini tentunya berkaitan
dengan topik yang membahas pengolahan citra digital, pengenalan motif kain,
43

metode ektraksi fitur Scale-Invariant Feature Transform (SIFT) dan metode


klasifikasi Support Vector Machine (SVM), sejarah kain sasirangan khas
Kalimantan Selatan dan informasi motif kain sasirangan, jurnal-jurnal penelitian
terkait, dan buku bahasa pemprograman. Semua referensi yang digunakan baik
dari buku, jurnal, e-book dan internet (media elektronik) tercantum di dalam daftar
pustaka.
3.3.2 Wawancara
Pada tahap ini dilakukan wawancara langsung dengan salah satu sastrawan
dan budayawan Indonesia yang berkonsentrasi pada budaya Banjar, yaitu bapak
Tajuddin Noor Ganie, kemudian dilakukan wawancara langsung dengan beberapa
pengrajin kain sasirangan, dan penjual kain sasirangan. Topik yang dibahas
tentunya mengenai sejarah kain sasirangan khas Kalimantan Selatan hingga
beragam motif dari kain sasirangan serta nama dari masing-masing motif kain
sasirangan dan bagaimana mengenali motif pada kain sasirangan yang mirip
secara visual.
3.3.3 Observasi
Pada tahap observasi akan dilakukan peninjauan langsung ke tempat
pengrajin dan penjual kain sasirangan. Hasil dari observasi ini peneliti akan
mendapatkan data-data yang akan digunakan untuk pembuatan sistem, data yang
diambil berupa citra dari kain sasirangan yang tentunya pada citra tersebut
terdapat motif dari kain sasirangan tersebut. Dari citra tersebut akan dilakukan
pengenalan motif untuk mengetahui nama dari motif yang ada pada kain
sasirangan tersebut.
3.4 Metode Pengembangan Perangkat Lunak
Dalam penelitian ini metode pengembangan perangkat lunak yang
digunakan adalah pendekatan dengan model waterfall. Waterfall merupakan
sebuah metode pengembangan perangkat lunak dimana antara satu fase ke fase
yang lain dilakukan secara berurutan atau secara linear. Jadi jika langkah satu
belum dikerjakan maka tidak akan bisa melanjutkan kelangkah 2, 3, dan
seterusnya. Secara otomatis tahapan ke-3 akan bisa dilakukan jika tahap ke-1 dan
ke-2 sudah dilakukan. Keterkaitan antar tahap ini dikarenakan output pada sebuah
tahap waterfall merupakan input untuk tahap berikutnya, sehingga antar tahapan
pada waterfall saling mempengaruhi [15]. Penggunaan metode pengembangan ini
44

dalam penelitian ini dikarenakan requirement harus didefinisikan lebih mendalam


terlebih dahulu sebelum proses selanjutnya dan memungkinkan adanya perubahan
pada saat projek berjalan. Secara garis besar metode pengembangan perangkat
lunak dengan pendekatan model waterfall mempunyai tahapan yang dapat dilihat
pada Gambar 3.1 berikut.

Gambar 3.1 Model Pengembangan Sistem Waterfall [15]


Pada Gambar 3.1 tersebut merupakan model waterfall yang ditelaah dari
teori Alan Dennis. Tahapan pada model waterfall ini di mulai dari Planning,
Analysis, Design, Implementation dan System.
a. Planning
Pada tahap ini merupakan proses paling awal yang harus dilakukan dalam
penelitian dimana dalam perencanaan ini peneliti terlebih dahulu memahami
masalah dan menentukan tujuan dari pembuatan sistem, serta melakukan
pengumpulan data-data yang akan diproses pada tahap analisa.
b. Analysis
Tahap analysis merupakan tahapan untuk menganalisa, memahami dan
mendokumentasikan secara detail permasalahan, solusi dan kebutuhan sistem
yang akan dibangun, serta memperhatikan hal-hal apa saja yang mempengaruhi
kerja sistem nantinya. Pada tahap ini peneliti melakukan analisis terhadap data
citra kain sasirangan dengan melakukan penelitian pengenalan pola terhadap
tekstur kain untuk mengenali motif yang ada pada kain sasirangan.
45

c. Design
Tahap design ini merupakan tahapan mentranlasi kebutuhan perangkat lunak dari
tahap analisis ke representasi desain agar dapat diimplementasikan menjadi
sebuah program pada tahap selanjutnya. Pada tahap ini proses akan fokus pada
desain pembuatan program termasuk struktur data, arsitektur perangkat lunak,
representasi antarmuka, dan prosedur pengScriptan.
d. Implementation
Tahap implementasi ini merupakan tahap menerjemahkan hasil dari pembuatan
desain pada tahap sebelumnya ke dalam sebuah sistem dengan bahasa
pemprograman.
e. System
Tahapan ini adalah tahapan dimana sistem (software) sudah terbentuk, dan dapat
dilakukan pengujian untuk memastikan sistem yang dibuat telah sesuai dengan
tujuan dan kebutuhan pada penelitian.
3.5 Analisis Kebutuhan
Hingga kini masyarakat, khususnya masyarakat Banjarmasin masih
banyak yang tidak mengetahui dengan baik nama motif tradisional, makna dan
arti warna dari kain sasirangan yang beragam ditambah dengan munculnya motif
modern pada kain sasirangan, membuat ke-khas-an kain sasirangan Kalimantan
Selatan mulai dilupakan. Sehingga perlunya sebuah sistem yang memberikan
klasifikasi motif kain sasirangan agar mudah dikenali sesuai dengan cirinya.
3.6 Analisis Data
Pada tahap analisis data ini, sebelum data diklasifikasikan menggunakan
metode support vector machine (SVM), ada beberapa tahapan proses terlebih
dahulu terhadap data citra kain sasirangan yang telah dikumpulkan dengan
menggunakan teknik pengolahan citra digital.
Tahapan pengolahan citra digital yang digunakan dalam penelitian ini
meliputi akuisisi citra batik, pre-processing, segmentasi, ekstraksi fitur
menggunakan Scale-Invariant feature Transform (SIFT) dan proses klasifikasi
citra menggunakan metode support vector machine (SVM). Tahapan analisis data
dengan menggunakan teknik pengolahan digital dalam penelitian ini dapat dilihat
pada Gambar 3.2 berikut.
46

Mulai

Akuisisi Citra

Pre-processing

Segmentasi

Ekstraksi Fitur menggunakan


Scale-Invariant feature
Transform (SIFT)

Klasifikasi citra sasirangan


menggunakan support vector
machine (SVM)

Kelas citra sasirangan

Selesa
i
Gambar 3.2 Tahapan Analisis Data
Berdasarkan Gambar 3.2 di atas, tahapan analisis data dalam penelitian ini adalah
sebagai berikut:
a. Akuisisi Citra
Mengumpulkan citra sasirangan dari beberapa motif yang berbeda-beda. Setiap
citra sasirangan disimpan pada file dengan format gambar .jpg.
b. Pre-processing
Pada proses pre-processing dilakukan pengambilan sampel pada bagian tertentu
dari obyek (croping) dengan ukuran 128x128 piksel. Selanjutnya dilakukan
perubahan warna citra dari RGB menjadi grayscale.

c. Ekstraksi Fitur
47

Ekstraksi fitur digunakan untuk mengambil informasi penilaian dan perhitungan


yang telah dilakukan pada citra dan hasil esktraksi berpengaruh terhadap hasil
klasifikasi nantinya. Pada penelitian ini data citra sasirangan akan di ektraksi fitur
dengan menggunakan metode Scale-Invariant feature Transform (SIFT).
d. Segmentasi
Deteksi Tepi digunakan untuk menentukan lokasi titik -titik yang merupakan tepi
obyek citra. Secara umum, tepi suatu obyek dalam citra dinyatakan sebagai titik
yang nilai warnanya berbeda cukup besar dengan titik yang ada disebelahnya. Hal
ini dilakukan untuk memperjelas detail motif yang terdapat pada sasirangan.
e. Klasifikasi citra sasirangan menggunakan metode support vector machine
(SVM)
Selanjutnya membagi citra menjadi beberapa region yang homogen berdasarkan
kriteria kemiripan tertentu dengan mencari hyperlane terbaik menggunakan
metode support vector machine (SVM).
f. Kelas citra sasirangan
Setelah semua tahapan analisis dengan teknik pengolahan citra digital di dapatlah
hasil kelas dari citra sasirangan yang akan menunjukkan identitas motif pada citra
sasirangan.
3.7 Pembuatan Perancangan
3.7.1 Perancangan
Perancangan merupakan gambaran alur atau proses kerja pada sistem yang
akan dibuat berdasarkan dengan analisis data yang telah dilakukan sebelumnya.
Perancangan sistem ini dapat digambarkan dalam bentuk flowchart atau UML.
3.7.2 Perancangan Sistem
Secara umum, proses klasifikasi citra motif sasirangan dilakukan dalam
satu tahap yaitu tahap identifikasi. Pada perancangan sistem ini memperhatikan
kepada proses identifikasi citra motif sasirangan yang terbagi ke dalam 2 (dua)
proses yaitu proses latih dan uji. Dan perancangan sistem ini dikaitkan dengan
studi yang berkaitan dengan pengolahan citra yaitu pengenalan pola, sehingga
flowchart sederhananya dapat dilihat pada Gambar 3.3 berikut.
48

Mula
i
Masukkan Citra

Ekstraksi Fitur menggunakan


Scale-Invariant feature
Transform (SIFT)

Parameter Ciri

Bag of Visual Words (BoVW)

Pelatihan dan pengujian


dengan metode
support vector machine
(SVM)

Hasil Klasifikasi Citra

Selesa
ioia
Gambar 3.3 Tahapan sederhana perancangan sistem
Dari Gambar 3.3 di atas, perancangan sistem pada penelitian ini dimulai dari
memasukkan citra latih ke dalam sistem kemudian nanti pada sistem akan
melakukan proses pengolahan citra yaitu melakukan ekstraksi fitur dengan
menerapkan metode Scale-Invariant Feature Transform (SIFT) selanjutnya
dengan parameter ciri yang didapat akan dimasukkan ke Bag of Visual Words
(BoVW) kemudian dilakukan pelatihan dan pengujian citra menggunakan metode
klasifikasi Support Vector Machine (SVM), hingga di dapat hasil klasifikasi
berupa deksripsi nama motif dari citra yang dimasukkan.
49

3.8 Implementasi
Pada tahap implementasi ini nantinya akan dibahas hasil dari analisis data,
desain, dan perancangan sistem yang telah dibuat dan diimplementasikan dengan
menggunakan metode ektraksi fitur Scale-Invariant Feature Transform (SIFT)
dan metode klasifikasi Support Vector Machine (SVM) ke dalam sebuah bahasa
pemprograman. Implementasi pada penelitian ini akan dibangun menggunakan
perangkat lunak Matlab R2017a, dengan bahasa pemprograman C ++,
menggunakan VLFeat Library.
3.9 Tempat Penelitian
Penelitian ini dilakukan di wilayah Kampung Sasirangan, Banjarmasin,
Kalimantan Selatan, pemilihan lokasi tersebut dilakukan secara sengaja, dengan
alasan dan pertimbangan daerah tersebut merupakan salah satu lokasi produksi
kain sasirangan di Banjarmasin.
3.10 Waktu Penelitian
Pada penelitian ini, waktu penelitian dilaksanakan mulai pada bulan Mei 2017 dan
diperkirakan sampai dengan bulan Februari 2017 di Banjarmasin, Kalimantan
Selatan.
3.11 Etika Penelitian
Etika penelitian adalah semacam integritas ilmiah dan prinsip pemikiran ilmiah
yang mengedepankan kejujuran. Etika penelitian dalam penelitian ini meliputi:
1. Kejujuran
Dalam hal ini peneliti harus mengutamakan kejujuran dalam melakukan ha-
hal yang berkaitan dengan penelitian, baik pada saat pengumpulan data,
pengumpulan studi pustaka, pelaksanaan metode, publikasi, melaksanakan
penelitian berdasarkan prosedur, dan jujur terhadap hasil dari penelitian.
2. Ketelitian
Dalam hal ini peneliti harus lebih teliti untuk menghindari kesalahan–
kesalahan yang dapat terjadi di dalam penelitian. Mencatat secara teratur apa
saja hal-hal yang akan dilakukan peneliti dalam melakukan pengumpulan data
maupun penulisan laporan penelitian.
3. Keterbukaan
50

Dalam hal ini diharapkan peneliti dapat saling terbuka dalam berbagi ide,
data, hasil, alat dan sumber daya penelitian. Selain itu, peneliti juga dapat
terbuka terhadap adanya kritik dan ide-ide baru.
4. Obyektivitas
Obyektivitas ini berhubungan dengan upaya peneliti dalam meminimalkan
kesalahan-kesalahan dalam analisis data dan rancangan percobaan dari
penelitian yang akan dilakukan.
5. Penghargaan terhadap Hak Atas Kekayaan Intelektual (HAKI)
Dalam hal ini peneliti harus memperhatikan copyright, hak paten maupun
bentuk hak-hak intelektual lainnya. Dimana peneliti dilarang menggunakan
data, metode ataupun hasil penelitian yang belum dipublikasi tanpa izin
pemilik penelitian. Selain itu juga tidak melakukan plagiarisme dan harus
mencantumkan semua narasumber yang digunakan pada penelitian.
BAB IV
HASIL DAN PEMBAHASAN

4.1 Hasil Penelitian


Pada bagian ini akan dibahas hasil penelitian yang telah dilakukan di wilayah
Kampung Sasirangan Banjarmasin. Penelitian ini dilaksanakan dari bulan Mei
2017 dan diperkirakan sampai dengan bulan Februari 2017 di Banjarmasin,
Kalimantan Selatan. Adapun yang dilakukan dalam penelitian ini diantaranya
yaitu:
1. Pengambilan data citra sasirangan di beberapa toko sasirangan yang ada di
wilayah Kampung Sasirangan.
2. Data diambil dengan menggunakan kamera DSLR type Canon 1100d,
dengan kain yang dibentang dan disejajarkan dengan kamera.
3. Data citra yang diambil adalah citra motif sasirangan yang terdiri dari
motif gigi haruan, kulat kurikit, hiris pudak, dan hiris gegatas yang
berjumlah 160 buah dengan masing-masing sampel berjumlah 40 buah
yang terbagi menjadi 35 data yang dijadikan data latih dan 5 data sebagai
data uji .
Berikut beberapa sampel motif citra sasirangan yang didapat langsung dari
wilayah Kampung Sasirangan, Banjarmasin.
1. Gigi Haruan
Citra motif sasirangan gigi haruan merupakan hasil citra yang diambil secara
langsung dari wilayah Kampung Sasirangan, Banjarmasin. Motif ini dinamakan
gigi haruan didasarkan pada salah satu ikan air tawar yaitu ikan haruan atau
gabus, yang memiliki gigi runcing dan tajam. Adapun tampilan citra dari motif
gigi haruan pada kain sasirangan dapat dilihat pada Gambar 4.1 berikut.

51
52

Gambar 4.1 Motif Gigi Haruan pada kain sasirangan


2. Kulat Kurikit
Citra motif sasirangan kulat kurikit merupakan hasil citra yang diambil secara
langsung dari wilayah Kampung Sasirangan, Banjarmasin. Motif kulat kurikit ini
bentuknya mirip gigi haruan, tetapi lebih kecil-kecil. Adapun tampilan citra dari
motif kulat kurikit pada kain sasirangan dapat dilihat pada Gambar 4.2 berikut.

Gambar 4.2 Motif Kulat Kurikit pada kain sasirangan


3. Hiris Pudak
Citra motif sasirangan hiris pudak merupakan hasil citra yang diambil secara
langsung dari wilayah Kampung Sasirangan, Banjarmasin. Motif hiris pudak
hampir mirip dengan motif gigi haruan dan kulat kurikit, tetapi pada hiris pudak
pola patah-patah nya lebih besar dibanding gigi haruan dan kulat kurikit. Adapun
53

tampilan citra dari motif hiris pudak pada kain sasirangan dapat dilihat pada
Gambar 4.3 berikut.

Gambar 4.3 Motif Hiris Pudak pada kain sasirangan


4. Hiris Gagatas
Citra motif sasirangan hiris gegatas merupakan hasil citra yang diambil secara
langsung dari wilayah Kampung Sasirangan, Banjarmasin. Motif ini dinamakan
hiris gagatas karena bentuknya seperti kue khas Kalimantan Selatan yang diiris
atau dipotong gagatas. Adapun tampilan citra dari motif hiris gegatas pada kain
sasirangan dapat dilihat pada Gambar 4.4 berikut.

Gambar 4.4 Motif Hiris Gagatas pada kain sasirangan


4.2 Pembahasan

4.2.1 Pengolahan Data


Pada penelitian ini, data citra yang sudah didapat akan melalui proses pengolahan
data (pre-processing). Proses akan dilakukan pada Matlab R2017a. Dalam
prosesnya akan dibuat sebuah prototype yang memberikan gambaran bagaimana
54

penerapan metode ekstraksi fitur SIFT dan metode klasifikasi SVM diaplikasikan
pada data citra motif kain sasirangan khas Kalimantan Selatan yang telah didapat.
Data-data citra motif pada kain sasirangan yang telah diambil meliputi:

1. Data Citra Motif Gigi Haruan


55

Gambar 4.5 Data Citra Motif Gigi Haruan

2. Data Citra Motif Kulat Kurikit


56
57
58

Gambar 4.7 Data Citra Motif Hiris Pudak

4. Data Citra Motif Hiris Gagatas


59
60

Gambar 4.8 Data Motif Hiris Gegatas

4.2.1.1 Proses Pengolahan Data Citra


Pada tahapan ini akan dijelaskan tentang bagaimana proses-proses yang dilakukan
pada citra motif kain sasirangan sehingga menghasilkan output yang diinginkan
berdasarkan tujuan dari penelitian ini. Adapun proses-proses yang dilakukan
adalah sebagai berikut:

1. Memisahkan/mengelompokkan data citra motif kain sasirangan ke dalam data


latih dan data uji. Pada tahap ini setiap sampel data citra akan difolderkan
berdasarkan kategori motifnya. Contoh pengkategorian per-folder untuk setiap
data citra dapat dilihat pada Gambar 4.9 berikut.
61

Gambar 4.9 Data citra motif sasirangan difolderkan berdasarkan kategori


2. Melakukan resize ukuran piksel pada semua data citra motif kain sasirangan,
pada tahap ini citra asli akan di-resize ukurannya menjadi 128x128 piksel.
Proses ini dilakukan diluar dari Matlab R2017a. Contoh citra asli dan setelah
di resize dapat dilihat pada Gambar 4.10 dan 4.11 berikut.
62

Gambar 4.10 Citra asli dengan ukuran 4272x2848 piksel

Gambar 4.11 citra setelah di-resize menjadi ukuran 128x128 piksel


3. Selanjutnya proses pengolahan data citra akan masuk ke tahap pengkodean
dengan bahasa pemporgraman, menggunakan tools Matlab R2017a. Proses
pengkodean terbagi ke dalam beberapa stage, yaitu:

Stage A, Persiapan Data


63

Script du bawah ini merupakan script function untuk memindai direktori untuk
gambar, dan tipe ekstensi gambar yang dapat ditambahkan.
Function getImages
function names = getImageSet(path)

content = dir(path) ;
names = {content.name} ;
ok = regexpi(names, '.*\.(jpg|png|jpeg|gif|bmp|tiff)$',
'start') ;
names = names(~cellfun(@isempty,ok)) ;

for i = 1:length(names)
names{i} = fullfile(path,names{i}) ;
end

Kemudian, dari gambar yang ditambahkan ukurannya akan dirubah ke ukuran


standar yaitu 128 piksel, script yang digunakan seperti dibawah ini.

function im = standardizeImage(im)
if isstr(im)
if exist(im, 'file')
fullPath = im ;
else
fullPath = fullfile('data','images',[im '.jpg']) ;
end
im = imread(fullPath) ;
end

im = im2single(im) ;
if size(im,1) > 128, im = imresize(im, [128 NaN]) ; end

Proses selanjutnya akan masuk ke tahap menghitung keypoint dan descriptor


untuk gambar.
Script di bawah ini merupakan function dari metode ekstraksi fitur SIFT
untuk menentukan keypoint dan descriptor dari data citra yang dimasukkan.
Keypoints adalah 4 x K matriks dengan satu kolom untuk keypoint, menentukan
lokasi x, y, skala dan kontras dari keypoint. Deskripsi adalah matriks 128 x K dari
deskriptor SIFT keypoint. Proses dalam mengekstrasi fitur berdasarkan metode
SIFT selengkapnya dilakukan pada function vl_phow (terlampir).

function [keypoints,descriptors] = computeFeatures(im)

im = standardizeImage(im) ;
[keypoints, descriptors] = vl_phow(im, 'step', 4,
'floatdescriptors', true) ;
64

Secara visual contoh hasil pada salah satu kategori motif dari proses SIFT dapat
dilihat pada Gambar 4.12 berikut.

Gambar 4.12 Contoh Hasil dari Proses SIFT pada salah satu kategori motif
Selanjutnya masuk ke tahap pengkodean spasial ke dalam bag of visual words,
pada script di bawah ini, terdapat beberapa function yang digunakan dalam
mengambil hasil pada proses computeFeature (SIFT) kemudian dimasukkan ke
dalam bentuk tabel atau dari SIFT ke Bag of Visual Words.

Terdapat beberapa function yang digunakan dalam mengambil hasil pada


proses computeFeature (SIFT) kemudian dimasukkan ke dalam bentuk tabel atau
dari SIFT ke Bag of Visual Words, script yang digunakan seperti di bawah ini.

%encodeImage
function psi = encodeImage(encoder, im, cache)

if ~iscell(im), im = {im} ; end


if nargin <= 2, cache = [] ; end

psi = cell(1,numel(im)) ;
if numel(im) > 1
parfor i = 1:numel(im)
psi{i} = processOne(encoder, im{i}, cache) ;
end
elseif numel(im) == 1
psi{1} = processOne(encoder, im{1}, cache) ;
end
psi = cat(2, psi{:}) ;

%
------------------------------------------------------------
--------
function psi = processOne(encoder, im, cache)
%
------------------------------------------------------------
--------
65

if isstr(im)
if ~isempty(cache)
psi = getFromCache(im, cache) ;
if ~isempty(psi), return ; end
end
fprintf('encoding image %s\n', im) ;
end

psi = encodeOne(encoder, im) ;

if isstr(im) & ~isempty(cache)


storeToCache(im, cache, psi) ;
end

%
------------------------------------------------------------
--------
function psi = encodeOne(encoder, im)
%
------------------------------------------------------------
--------

im = standardizeImage(im) ;

[keypoints, descriptors] = computeFeatures(im) ;

imageSize = size(im) ;
psi = {} ;
for i = 1:size(encoder.subdivisions,2)
minx = encoder.subdivisions(1,i) * imageSize(2) ;
miny = encoder.subdivisions(2,i) * imageSize(1) ;
maxx = encoder.subdivisions(3,i) * imageSize(2) ;
maxy = encoder.subdivisions(4,i) * imageSize(1) ;

ok = ...
minx <= keypoints(1,:) & keypoints(1,:) < maxx & ...
miny <= keypoints(2,:) & keypoints(2,:) < maxy ;

switch encoder.type
case 'bovw'
[words,distances] =
vl_kdtreequery(encoder.kdtree, encoder.words, ...
encoder.projection * descriptors(:,ok),
...'MaxComparisons', 15) ;
z = vl_binsum(zeros(encoder.numWords,1), 1,
double(words)) ;

case 'fv'
z = vl_fisher(encoder.projection * descriptors(:,ok),
...
encoder.means, ...
encoder.covariances, ...
encoder.priors) ;
case 'vlad'
[words,distances] =
vl_kdtreequery(encoder.kdtree, encoder.words, ...
encoder.projection * descriptors(:,ok), ...
'MaxComparisons', 15) ;
66

assign = zeros(encoder.numWords, numel(words),


'single') ;
assign(sub2ind(size(assign), double(words),
1:numel(words))) = 1 ;
z = vl_vlad(encoder.projection * descriptors(:,ok),
...
encoder.words, ...
assign, 'normalizecomponents') ;
z = vl_vlad(encoder.projection *
descriptors(:,ok), ...
encoder.words, ...
assign) ;
end
psi{i} = z(:) ;
end
psi = cat(1, psi{:}) ;

%
------------------------------------------------------------
--------
function psi = getFromCache(name, cache)
%
------------------------------------------------------------
--------
[drop, name] = fileparts(name) ;
cachePath = fullfile(cache, [name '.mat']) ;
if exist(cachePath, 'file')
data = load(cachePath) ;
psi = data.psi ;
else
psi = [] ;
end

%
------------------------------------------------------------
--------
function storeToCache(name, cache, psi)
%
------------------------------------------------------------
--------
[drop, name] = fileparts(name) ;
cachePath = fullfile(cache, [name '.mat']) ;
vl_xmkdir(cache) ;
data.psi = psi ;
save(cachePath, '-STRUCT', 'data') ;

Proses selanjutnya masuk ke dalam Bag of Visual Words,

Script di bawah ini digunakan untuk menghitung histogram positive dari data
training yang digunakan, data training yang digunakan dapat dipanggil dari
direktori penyimpanan sendiri yang sebelumnya sudah saya letakkan di dalam
folder data/myImages/(nama folder). Selain itu script di atas juga dapat digunakan
untuk membuat format file .mat yang akan digunakan sebagai directory data
67

testing positive, dan data testing negative yang akan di load pada proses
selanjutnya. File .mat bisa diistilahkan sebagai database pada Matlab, agar pada
proses load data citra tidak terjadi looping yang terlalu lama.
% Menghitung histogram positive dari gambar sendiri
pos.names = getImageSet('data/myImages/Gagatas') ;
if numel(pos.names) == 0, error('Please add some images to
data/myImages before running this exercise') ; end
pos.histograms = encodeImage(encoder, pos.names);
%save ('gagatas_val_bovw.mat', '-struct', 'pos');
%whos -file gagatas_val_bovw.mat

Script di bawah ini digunakan untuk men-generate file .mat menjadi histogram,
dengan me-load atau memanggil data training negative yang sudah dalam bentuk
format file .mat, data training negative ini berisikan gabungan data training dari 3
motif kategori yang sedang tidak dijalankan yang jumlahnya sebanyak 105 buah
citra (35*3).
% Tambahkan gambar latar belakang default
neg =load(sprintf('data/background_train_%s.mat',encoding));
names = {pos.names{:}, neg.names{:}};
histograms = [pos.histograms, neg.histograms] ;
labels = [ones(1,numel(pos.names)), -
ones(1,numel(neg.names))] ;
clear pos neg ;

Script di bawah ini digunakan untuk me-load atau memanggil data yang
digunakan sebagai data testing positive dan data testing negative. Data testing
berjumlah 20 data yang terdiri dari 5 buah citra sebagai data testing positive dan
15 buah citra sebagai data testing negative. Data testing positive merupakan data
testing dari kategori motif kain sasirangan yang sedang diklasifikasikan, dan data
testing negative merupakan data yang diambil dan digabungkan dari data testing
positive pada 3 kategori yang tidak sedang diklasifikasikan.
% Memuat data uji
pos = load(sprintf('data/gagatas_val_%s.mat',encoding)) ;
%pos = load(sprintf('data/car_val_%s.mat',encoding)) ;
neg = load(sprintf('data/gagatasneg_val_%s.mat',encoding)) ;
testNames = {pos.names{:}, neg.names{:}};
testHistograms = [pos.histograms, neg.histograms] ;
testLabels = [ones(1,numel(pos.names)), -
ones(1,numel(neg.names))] ;
clear pos neg ;

Script di bawah digunakan untuk menghitung dan menampilkan informasi berapa


banyak jumlah citra keseluruhan baik yang digunakan sebagai data training
positive negative dan data testing positive negative.
68

% Hitung berapa banyak gambar yang ada


fprintf('Number of training images: %d positive, %d
negative\n', ...
sum(labels > 0), sum(labels < 0)) ;
fprintf('Number of testing images: %d positive, %d
negative\n', ...
sum(testLabels > 0), sum(testLabels < 0)) ;

Hasil dari script di atas akan muncul pada bagian command window di Matlab dan
dapat dilihat pada Gambar 4.13.

Gambar 4.13 Informasi Jumlah Data Training dan Testing


Script di bawah ini merupakan proses training dari SVM, dan L2 untuk
menormalisasi histogram sebelum menjalankan SVM linier.

% Kernel Hellinger
histograms = sign(histograms).*sqrt(abs(histograms)) ;
testHistograms =
sign(testHistograms).*sqrt(abs(testHistograms)) ;

% L2 menormalisasi histogram sebelum menjalankan SVM linier


histograms = bsxfun(@times, histograms,
1./sqrt(sum(histograms.^2,1))) ;
testHistograms = bsxfun(@times, testHistograms,
1./sqrt(sum(testHistograms.^2,1))) ;

Hasil dari script di atas dapat dilihat pada Gambar 4.14 berikut.
69

Gambar 4.14 Proses Training SVM


Stage B, Klasifikasi

Script di bawah ini merupakan tahapan selanjutnya untuk melakukan klasifikasi


dengan metode SVM, dan memberi label score angka terhadap data training yang
dimasukkan kemudian ditampilkan sekaligus dengan kurva recall transisinya.

% SVM linier
C = 10 ;
[w, bias] = trainLinearSVM(histograms, labels, C) ;

% Evaluasi nilai pada data pelatihan


scores = w' * histograms + bias ;

% Visualisasikan daftar gambar peringkat


figure(1) ; clf ; set(1,'name','Ranked training images
(subset)') ;
displayRankedImageList(names, scores) ;

% Visualisasi kurva recall persisi


figure(2) ; clf ; set(2,'name','Precision-recall on train
data') ;
vl_pr(labels, scores) ;

Hasil dari script di atas dapat dilihat pada Gambar 4.15 berikut.
70

Gambar 4.15 Visualisasi Perangkingan pada Citra dan Kurva Recall Transisi pada
Data Training
Stage C, Klasifikasi data uji dan nilai kinerjanya

Script pada stage C ini, merupakan Script yang digunakan untuk proses
pencocokan data testing, yang hasilnya juga akan ditampilkan dan dirankingkan
dengan diberi label score. Script yang digunakan seperti di bawah ini.

% Uji linar SVM


testScores = w' * testHistograms + bias ;

% Visualisasikan daftar gambar peringkat


figure(3) ; clf ; set(3,'name','Ranked test images
(subset)') ;
displayRankedImageList(testNames, testScores) ;

% Visualisasi kurva recall persisi


figure(4) ; clf ; set(4,'name','Precision-recall on test
data') ;
vl_pr(testLabels, testScores) ;

Hasil dari script di atas dapat dilihat seperti pada Gambar 4.16 berikut.
71

Gambar 4.16 Visualisasi Perangkingan pada Citra dan Kurva Recall Transisi pada
Data Testing
Sedangkan script di bawah merupakan script untuk menampilkan hasil akurasi
dan jumlah data testing yang benar atau yang dapat dikenali.
% Cetak Hasil
[drop,drop,info] = vl_pr(testLabels, testScores) ;
fprintf('Test AP: %.2f\n', info.auc) ;

[drop,perm] = sort(testScores,'descend') ;
fprintf('Correctly retrieved in the top 5: %d\n',
sum(testLabels(perm(1:5)) > 0)) ;

Hasil dari script di atas dapat dilihat seperti pada Gambar 4.17 berikut.

Gambar 4.17 Informasi Hasil Akurasi dan Jumlah Data yang Benar
72

4.2.2 Hasil Prototype Sistem


Dari proses pengolahan data hingga klasifikasi citra motif kain sasirangan tersebut
didapat hasil yang beragam antara masing-masing kategori motif kain sasirangan,
yaitu sebagai berikut:

1. Hasil Akurasi pada Motif Gigi Haruan


Dari 35 buah data training positive dan dari 20 data testing yang terdiri dari 15
data testing negative dan 5 buah data testing positive, 5 data testing positive dapat
dikenali dengan benar sebagai motif gigi haruan, sehingga tingkat akurasi yang
didapat sebesar 100%. Hasil secara visualnya dapat dilihat pada Gambar 4.18.

Gambar 4.18 Hasil Akurasi pada Motif Gigi Haruan


73

2. Hasil Akurasi pada Motif Kulat Kurikit


Dari 35 buah data training dan 20 data testing yang terdiri dari 15 data testing
negative dan 5 buah data testing positive, 5 data testing positive dapat dikenali
atau dinyatakan benar sebagai motif kulat kurikit. Akurasi yang di dapat sebesar
100%. Hasil secara visualnya dapat dilihat pada Gambar 4.19 berikut.

Gambar 4.19 Hasil Akurasi pada Motif Kulat Kurikit


3. Hasil Akurasi pada Motif Hiris Pudak
Dari 35 buah data training dan 20 data testing yang terdiri dari 15 data testing
negative dan 5 buah data testing positive, 4 data testing positive dapat dikenali
atau dinyatakan benar sebagai motif hiris pudak, 1 data motif hiris pudak salah
dikenali sebagai motif hiris gagatas. Akurasi yang didapat sebear 96%. Hasil
secara visualnya dapat dilihat pada Gambar 4.20 berikut.
74

Gambar 4.20 Hasil Akurasi pada Motif Hiris Pudak


4. Hasil Akurasi pada Motif Hiris Gagatas
Dari 35 data training dan 20 data testing yang terdiri dari 15 data testing negative
dan 5 buah data testing positive, ke 5 data testing positive dapat dikenali atau
dinyatakan benar sebagai motif hiris gagatas, dan akurasi yang didapat sudah jelas
100%. Hasil secara visualnya dapat dilihat pada Gambar 4.21 berikut.
75

Gambar 4.21 Hasil Akurasi pada Motif Hiris Gagatas


BAB V
PENUTUP

5.1 Simpulan
Dari penelitian yang dilakukan pada Klasifikasi Motif Sasirangan dengan
Scale-Invariant Feature Transform (SIFT) dan Support Vector Machine (SVM)
didapat total 160 buah data citra motif sasirangan dengan 4 kategori motif. Dari
160 data tersebut dilakukan pengujian menggunakan metode SVM dengan kernel
linear pada saat C = 10, didapatkan hasil sebagai berikut:
1. Pada motif gigi haruan, dari 20 data testing yang terdiri dari 15 data testing
negative dan 5 buah data testing positive, 5 data testing positive dapat dikenali
dengan benar sebagai motif gigi haruan, atau dengan akurasi 100%.
2. Pada motif kulat kurikit, dari 20 data testing yang terdiri dari 15 data testing
negative dan 5 buah data testing positive, 5 data testing positive dapat dikenali
atau dinyatakan benar sebagai motif kulat kurikit, atau dengan akurasi 100%.
3. Pada motif hiris gagatas, dari 20 data testing yang terdiri dari 15 data testing
negative dan 5 buah data testing positive, 5 data testing positive dapat dikenali
atau dinyatakan benar sebagai motif hiris gagatas, atau dengan akurasi 100%.
4. Dan pada motif hiris pudak, dari 20 data testing yang terdiri dari 15 data
testing negative dan 5 buah data testing positive, 4 data testing positive dapat
dikenali atau dinyatakan benar sebagai motif hiris pudak, 1 data motif hiris
pudak salah dikenali sebagai motif hiris gagatas atau dengan akurasi sebesar
96%.
Dari hasil yang didapat, metode ekstraksi fitur Scale-Invariant Feature Transform
(SIFT) dan Support Vector Machine (SVM) dapat diterapkan pada kain
sasirangan.

5.2 Rekomendasi
Dari penelitian yang telah dilakukan dan hasil yang didapat, penulis memberikan
beberapa saran yang ditujukan untuk pengembangan prototype sistem Klasifikasi
Motif Sasirangan dengan Scale-Invariant Feature Transform (SIFT) dan Support
Vector Machine (SVM) selanjutnya, yaitu:

74
75

1. Dapat dikembangkan lagi dengan menggunakan metode ekstraksi fitur dan


metode klasifikasi yang lainnya.
2. Lebih banyak lagi jumlah data dan kategori citra motif kain sasirangan yang
dikumpulkan dalam dataset dengan kualitas citra yang bagus.
3. Dapat dibuat sebuah sistem atau program dengan teknologi yang disesuaikan
untuk klasifikasi motif kain sasirangan yang dapat digunakan secara realtime
atau dalam waktu nyata.
4. Dapat dikembangkan ke dalam bentuk Content Based Image Retrieval
(CBIR).
76

DAFTAR PUSTAKA

[1] T. N. Ganie, Sasirangan Kain Khas dari Tanah Banjar, Tuas Media
(Publishing House), 2016.

[2] D. "Kementrian Pendidikan dan Kebudayaan Direktorat Jenderal


Kebudayaan," 17 Desember 2015. [Online]. Available:
http://kebudayaan.kemdikbud.go.id/ditwdb/2015/12/17/kain-sasirangan/.
[Accessed Mei 2017].

[3] A. S. Nugroho, A. B. Witarto and D. Handoko, "Support Vector Machine


-Teori dan Aplikasinya dalam Bioinformatika-," Kuliah Umum Ilmu
Komputer.com, vol. 17, no. 3, pp. 459-486, 2003.

[4] R. Munir, Pengolahan Citra Digital, Bandung: Informatika Bandung, 2002.

[5] D. Putra, Pengolahan Citra Digital, Yogyakarta: CV. ANDI OFFSET, 2010.

[6] K. Sembiring, "Penerapan Teknik Support Vector Machine untuk


Pendeteksian Intrusi pada Jaringan," 2007.

[7] S. Seman, Sasirangan: kain khas Banjar, Lembaga Pengkajian dan


Pelestarian, Budaya Banjar, Kalimantan Selatan, 2008.

[8] D. Sudaryono, Metodologi Riset di Bidang TI, N. WK, Ed., Yogyakarta,


Yogyakarta: ANDI, 2015.

[9] A. Dennis, B. H. Wixom and D. Tegarden, Systems Analysis and Design with
UML, vol. 4, John Wiley & Sons, 2012.

[10] I. Nurhaida, R. Manurung and A. M. Arymurthy, "Performance Comparison


Analysis Features Extraction Methods for Batik Recognition," Advanced
Computer Science and Information Systems (ICACSIS), International
Conference On, 2012.

[11] Q. Chen and E. Agu, "Exploring Statistical GLCM Texture Features for
Classifying Food Images," Healtcare Informatics (ICHI), International
Conference On, 2015.

[12] I. Setyawan, I. K. Timotius and K. Marchellius, "Automatic Batik Motifs


Classification using Various Combinations of SIFT Features Moments and k-
77

Nearest Neighbor," Information Technology and Electrical Engineering


(ICITEE), International Conference on, vol. 7, 2015.

[13] R. Azhar, D. Tuwohingide, D. Kamudi, S. and N. Suciati, "Batik Image


Classification Using SIFT Feature Extraction, Bag of Features and Support
Vector Machine," Procedia Computer Science, vol. 72, pp. 24-30, 2015.

[14] G. L. D., "Distinctive Image Features From Scale-Invariant Keypoints,"


International Journal of Computer Vision , pp. 1-29, 2004.

[15] H. Wijayanto, "Klasifikasi Batik Menggunakan Metode K-Nearest Neighbour


Berdasarkan Gray Level Co-Occurrence Matrices (GLCM)," UDiNus
Repository, pp. 1-6, 2015.

[16] X. Di, "SIFT Feature Extreaction," © 1994-2017 The MathWorks, Inc., 02


Mei 2015. [Online]. Available:
https://www.mathworks.com/matlabcentral/fileexchange/50319-sift-feature-
extreaction. [Accessed Oktober 2017].

[17] "MathWorks," © 1994-2017 The MathWorks, Inc., [Online]. Available:


https://www.mathworks.com/.

[18] "Recognition of Object Categories," [Online]. Available:


https://sites.google.com/site/vggpracticals/category-level-recognition#TOC-
Stage-A:-Data-Preparation. [Accessed November 2017].

Anda mungkin juga menyukai