Anda di halaman 1dari 89

SKRIPSI

KLASIFIKASI MAKANAN TRADISIONAL MANDAR


MENGGUNAKAN EKSTRAKSI FITUR WARNA DAN TEKSTUR
DENGAN METODE K-NEAREST NEIGHBOUR

CLASSIFICATION OF TRADITIONAL MANDAR FOOD USING


COLOR AND TEXTURE FEATURE EXTRACTION USING K-
NEAREST NEIGHBOUR METHOD

MUSLIKA
D0218365

PROGRAM STUDI INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS SULAWESI BARAT
MAJENE
2022
SKRIPSI

KLASIFIKASI MAKANAN TRADISIONAL MANDAR


MENGGUNAKAN EKSTRAKSI FITUR WARNA DAN TEKSTUR
DENGAN METODE K-NEAREST NEIGHBOUR

CLASSIFICATION OF TRADITIONAL MANDAR FOOD USING


COLOR AND TEXTURE FEATURE EXTRACTION USING K-
NEAREST NEIGHBOUR METHOD

Diajukan untuk memenuhi salah satu syarat derajat

Sarjana Teknik

MUSLIKA
D0218365

PROGRAM STUDI INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS SULAWESI BARAT
MAJENE
2022

ii
HALAMAN PERSETUJUAN

SKRIPSI

KLASIFIKASI MAKANAN TRADISIONAL MANDAR

MENGGUNAKAN EKSTRAKSI FITUR WARNA DAN TEKSTUR

DENGAN METODE K-NEAREST NEIGHBOUR

Diusulkan oleh

Muslika

D0218365

Telah disetujui

Pada Tanggal 18 November 2022

Pembimbing,

Pembimbing l Pembimbing ll

Arnita Irianti, S.Si., M.Si. Dr. Eng. Sulfayanti, S.Si., M.T.


NIP. 198708062018032001 NIP. 198903172020122011

iii
HALAMAN PENGESAHAN

SKRIPSI
KLASIFIKASI MAKANAN TRADISIONAL MANDAR
MENGGUNAKAN EKSTRAKSI FITUR WARNA DAN TEKSTUR
DENGAN METODE K-NEAREST NEIGHBOUR

Telah disiapkan dan disusun oleh

MUSLIKA
D0218365

Telah dipertahankan di depan Tim Penguji

Pada Tanggal 18 November 2022

Susunan tim penguji

Pembimbing l Penguji l

Arnita Irianti, S.Si., M.Si. Nahya Nur,S.T.,M.Kom.


NIP. 198708062018032001 NIP. 199111052019032024

Pembimbing ll Penguji ll

Dr. Eng. Sulfayanti, S.Si., M.T. Farid Wajidi,S.Kom.,M.T.


NIP. 198903172020122011 NIP. 198904182019031018

Penguji lll

Nurhikma Arifin,S.Kom., M.T.


NIP. 199304252022032011

iv
PERNYATAAN

Dengan ini saya menyatakan bahwa skripsi ini tidak terdapat karya yang

pernah diajukan untuk memperoleh gelar kesarjanaan suatu perguruan tinggi, dan

sepanjang pengetahuan saya tidak terdapat karya atau pendapat yang pernah ditulis

dan diterbitkan oleh orang lain, kecuali secara tertulis diacukan dalam naskah dan

disebutkan dalam daftar pustaka.

Majene, 18 November 2022

Muslika
D0218365

v
ABSTRAK

Orang yang baru pertama kali melihat atau wisatawan dari luar daerah akan
kesulitan untuk membedakan nama, rasa, maupun jenis makanan tradisional suatu
daerah hanya dengan melihat tanpa mencicipi makanan tersebut. Salah satu solusi
untuk memudahkan masyarakat dalam mengetahui, mencatat, dan memantau jenis-
jenis makanan yang dikonsumsi adalah dengan membuat sistem cerdas. Untuk
mendukung solusi tersebut, dilakukan penelitian untuk mengenali jenis makanan
menggunakan ekstraksi fitur warna dan fitur tekstur. Tahap awal dalam melakukan
pengenalan adalah dengan cara melakukan klasifikasi jenis makanan tersebut. Proses
pengklasifikasian dilakukan berdasarkan nilai hasil ekstraksi fitur yang telah
dinormalisasi. Proses pengenalan diawali dengan proses preproccessing untuk
mendapatkan objek citra yang selanjutnya dilakukan ekstraksi fitur. Ekstraksi fitur
yang digunakan adalah Color Histogram dan Gray Level Co-occurrence Matrix.
Pada ekstraksi fitur menggunakan Color Histogram menggunakan 3 kanal warna
yaitu red, green, blue dengan masing-masing warna memiliki fitur mean, standar
deviation, dan skewness. Selain itu, pada ekstraksi fitur dengan Gray Level Co-
occurrence Matrix memiliki 6 fitur seperti contrast, dissimilarity, homogeneity,
angular second moment, energy, dan correlation dengan sudut pengambilan nilai
piksel 0°, 45°, 90°, dan 135°. Metode yang diterapkan untuk mengklasifikasikan nilai
dari hasil ekstraksi fitur adalah menggunakan metode klasifikasi K-Nearest
Neighbour. Hasil dari akurasi terbaik yang dihasilkan oleh metode-metode tersebut
adalah sebesar 82% pada k=1 dengan perbandingan data latih dan data uji 60:40%.

Kata Kunci: Jenis makanan, Color Histogram, Gray Level Co-occurrence Matrix,
klasifikasi, k-nearest neighbour.

vi
ABSTRACT

People who are seeing it for the first time or tourists from outside the area
will find it difficult to distinguish the name, taste, or type of traditional food of an
area just by looking without tasting the food. One solution to make it easier for the
public to know, record, and monitor the types of food consumed is to create an
intelligent system. To support this solution, research was conducted to identify the
type of food using color feature extraction and texture feature extraction. The initial
stage in doing the introduction is by classifying the type of food. The classification
process is carried out based on the value of the normalized feature extraction results.
The recognition process begins with a preprocessing process to obtain an image
object which is then performed by feature extraction. Feature extraction used is
Color Histogram and Gray Level Co-occurrence Matrix. In feature extraction using
the Color Histogram using 3 color channels, namely red, green, blue with each color
having a mean, standard deviation, and skewness feature. In addition, feature
extraction with Gray Level Co-occurrence Matrix has 6 features such as contrast,
dissimilarity, homogeneity, angular second moment, energy, and correlation with
pixel value angles of 0°, 45°, 90°, and 135°. The method applied to classify the value
from the feature extraction is using the K-Nearest Neighbour classification method.
The results of the best accuracy produced by these methods are 82% at k=1 with a
comparison of training data and test data of 60:40%.

Keywords: Type of food, Color Histogram, Gray Level Co-occurrence Matrix,


classification, k-nearest neighbour.

vii
KATA PENGANTAR

Puji syukur saya ucapkan atas kehadirat Allah SWT. yang telah

melimpahkan segenap rahmat dan hidayah-Nya sehingga saya dapat menyelesaikan

skripsi yang berjudul “Klasifikasi Makanan Tradisional Mandar menggunakan

Ekstraksi Fitur Warna dan Tekstur dengan Metode K-Nearest Neighbour”.

Shalawat serta salam tak lupa kita kirimkan kepada baginda Rasulullah Muhammad

SAW. yang telah membawa kita dari alam yang gelap gulita menuju alam yang

terang benderang seperti sekarang ini.

Saya mengucapkan banyak terima kasih kepada pihak-pihak yang telah

memberikan bantuan dan dukungan serta semangat yang tak henti-hentinya selama

proses pengerjaan skripsi ini. Untuk itu pada kesempatan ini saya menyampaikan

ucapan terima kasih yang tak terhingga kepada :

1. Ucapan terima kasih kepada keluarga tercinta serta keluarga besar lainnya yang

tak pernah henti-hentinya memberikan dukungan, semangat serta do’a kepada

penulis.

2. Ibu Dr. Ir. Hafsah Nirwana, M.T., selaku Dekan Fakultas Teknik Universitas

Sulawesi Barat.

3. Bapak Ir. Sugiarto Cokrowibowo, S.Si, MT sebagai wakil dekan Fakultas Teknik

Universitas Sulawesi Barat.

4. Bapak Muh. Fahmi Rustam, S.Kom., M.T., selaku Ketua Program Studi Teknik

Informatika.

viii
5. Ibu Arnita Irianti, S.Si., M.Si., selaku pembimbing satu yang telah meluangkan

waktunya untuk membimbing dan memberi semangat kepada penulis.

6. Ibu Dr. Eng. Sulfayanti, S.Si., M.T., selaku pembimbing kedua yang telah

meluangkan waktunya untuk membimbing dan memberi semangat kepada

penulis.

7. Ibu Nahya Nur,S.T.,M.Kom., selaku penguji pertama.

8. Bapak Farid Wajidi,S.Kom.,M.T., selaku penguji kedua.

9. Ibu Nurhikma Arifin,S.Kom., M.T., selaku penguji ketiga.

10. Seluruh staf, pengajar, teknisi, dan administrasi yang ada di Prodi Informatika

Fakultas Teknik Universitas Sulawesi Barat.

11. Teman-teman angkatan 2018 Teknik Informatika yang telah membantu penulis

dalam menyelesaikan Skripsi Penelitian ini.

Semoga bantuan yang telah diberikan kepada penulis diberkahi dan

mendapatkan balasan yang berlipat ganda dari Allah SAW. Penulis juga berharap

agar skripsi ini dapat bermanfaat bagi kita semua.

Majene, 18 November 2022

Muslika
D0218365

ix
DAFTAR ISI

HALAMAN JUDUL ............................................ Error! Bookmark not defined.


HALAMAN PERSETUJUAN ............................................................................ iii
HALAMAN PENGESAHAN .............................................................................. iv
PERNYATAAN ..................................................................................................... v
ABSTRAK ............................................................................................................ vi
ABSTRACT .......................................................................................................... vii
DAFTAR ISI .......................................................................................................... x
DAFTAR GAMBAR .......................................................................................... xiii
DAFTAR TABEL .............................................................................................. xiv
BAB I PENDAHULUAN ..................................................................................... 1
A. Latar Belakang ..............................................................................................1
B. Rumusan Masalah .........................................................................................3
C. Batasan Masalah............................................................................................4
D. Tujuan Penelitian ..........................................................................................4
E. Manfaat Penelitian ........................................................................................5
BAB II TINJAUAN PUSTAKA........................................................................... 6
A. Makanan Tradisional Mandar .......................................................................6
B. Image Processing ..........................................................................................8
C. Fitur warna RGB(Red, Green, Blue) ...........................................................11
D. Color Histogram .........................................................................................12
E. Gray Level Co-Occurance Matrix (GLCM) ...............................................14
F. NORMALISASI ...............................................................................................17

G. K-Nearest Neighbour (KNN) ......................................................................18


H. Perhitungan Klasifikasi ...............................................................................19
I. Python .........................................................................................................21
J. OpenCV ......................................................................................................22

x
K. Penelitian Terkait ........................................................................................22
BAB III METODOLOGI PENELITIAN ......................................................... 26
A. Jenis Penelitian ............................................................................................26
B. Lokasi dan Waktu Penelitian ......................................................................26
C. Alat dan Bahan ............................................................................................27
D. Tahap Penelitian ..........................................................................................28
1. Pengumpulan Data .....................................................................................28
2. Analisis Data ..............................................................................................28
E. Gambaran Sistem ........................................................................................29
F. Tahap Pengujian ..........................................................................................32
BAB IV HASIL DAN PEMBAHASAN ............................................................ 35
A. Analisis Kebutuhan .....................................................................................35
B. Pengumpulan Data ......................................................................................36
C. Perancangan (Design) Proses Implementasi ...............................................37
D. Implementasi (Implementation) ..................................................................45
1. Preprocessing Citra....................................................................................45
2. Color Histogram ........................................................................................48
3. Gray Level Co-Occurance Matrix (GLCM) ..............................................50
4. Klasifikasi K-Nearest Neighbour ...............................................................52
5. Confusion Matrix .......................................................................................53
E. Pengujian .....................................................................................................58
BAB V PENUTUP ............................................................................................... 66
A. Kesimpulan .................................................................................................66
B. Saran ...........................................................................................................67
DAFTAR PUSTAKA .......................................................................................... 68
LAMPIRAN-LAMPIRAN ................................................................................. 70
a. Lampiran Fitur Data Latih ..........................................................................70
b. Lampiran Fitur Data Uji ..............................................................................71
c. Lampiran Tabel Hasil Pengujian .................................................................72

xi
d. Lampiran Sourcode : ...................................................................................74

xii
DAFTAR GAMBAR

Gambar 2.1 Jepa Katong atau Jepa sagu (Noval, 2012) .............................................. 7
Gambar 2.2 Jepa Golla mamea atau Jepa gollamamea ............................................... 7
Gambar 2.3 Jepa ubi .................................................................................................... 8
Gambar 2.4 Loka Sattai ............................................................................................... 8
Gambar 3.1 Diagram alir perancangan keseluruhan proses klasifikasi. .................... 30
Gambar 4.1 Data latih, (a) kelas gollamamea, (b) kelas lokasattai, (c) kelas sagu dan
(d) kelas ubi ................................................................................................................ 37
Gambar 4.2 Sampel data uji ....................................................................................... 37
Gambar 4.3 Diagram alir proses segmentasi citra ..................................................... 38
Gambar 4.4 Diagram Alir Ekstraksi Fitur Color Histogram ..................................... 40
Gambar 4.5 Diagram alir ekstraksi fitur GLCM ........................................................ 42
Gambar 4.6 Diagram alir proses klasifikasi dengan KNN ......................................... 44
Gambar 4.7 (a) citra sebelum resize dan (b) citra setelah resize ke 300x300 pixel ... 46
Gambar 4.8 Citra grayscale ....................................................................................... 46
Gambar 4.9 Citra blur ................................................................................................ 46
Gambar 4.10 Citra threshold ...................................................................................... 47
Gambar 4.11 Citra opening ........................................................................................ 47
Gambar 4.12 Citra closing ......................................................................................... 47
Gambar 4.13 Citra masking........................................................................................ 48
Gambar 4.14 Citra croping ........................................................................................ 48
Gambar 4.15 (a) Ploting color histogram, (b) citra red, (c)citra green dan (d) citra
blue ............................................................................................................................. 49
Gambar 4.16 (a) citra rgb dan (b) citra grayscale ...................................................... 50

xiii
DAFTAR TABEL

Tabel 2.1 Confusion Matrix ....................................................................................... 19


Tabel 2.2 Penelitian Terkait ....................................................................................... 22
Tabel 3.1 Jadwal penelitian ........................................................................................ 27
Tabel 4.1 Nilai fitur color histogram data latih ......................................................... 49
Tabel 4.2 Nilai fitur glcm data latih ........................................................................... 51
Tabel 4.3 Hasil klasifikasi k-nearest neighbour ........................................................ 52
Tabel 4.4 Confusion matrix dengan nilai ketetanggan k= 1 ...................................... 53
Tabel 4.5 Perhitungan evaluasi kinerja sistem kelas gollamamea dengan k=1 ......... 54
Tabel 4.6 Perhitungan evaluasi kinerja sistem kelas lokasattai dengan k=1 ............. 55
Tabel 4.7 Perhitungan evaluasi kinerja sistem kelas sagu dengan k=1 ..................... 56
Tabel 4.8 Perhitungan evaluasi kinerja sistem kelas ubi dengan k=1........................ 57
Tabel 4.9 Nilai precision, recall, error dan akurasi data perkelas pada k=1 ............. 58
Tabel 4.10 Hasil pengujian data uji dengan color histogram .................................... 59
Tabel 4.11 Pengujian color histogram dengan nilai k dengan akurasi tertinggi (k=1)
.................................................................................................................................... 59
Tabel 4.12 Hasil pengujian data uji dengan GLCM .................................................. 59
Tabel 4.13 Pengujian GLCM dengan nilai k dengan akurasi tertinggi (k=13) .......... 60
Tabel 4.14 Hasil pengujian data uji dengan fitur gabungan ...................................... 60
Tabel 4.15 Perbandingan klasifikasi data benar dan data salah hasil prediksi........... 61
Tabel 4.16 Hasil pengujian data uji dengan fitur gabungan dengan nilai k dengan
akurasi tertinggi (k=1) ............................................................................................... 62
Tabel 4.17 Hasil pengujian data uji dengan fitur gabungan ...................................... 62

xiv
BAB I

PENDAHULUAN

A. Latar Belakang

Provinsi Sulawesi Barat merupakan salah satu wilayah Indonesia yang

masyarakatnya memiliki kebiasaan mengkonsumsi beras sebagai makanan

pokoknya. Beras, ubi kayu, pisang maupun sagu sangat berpotensi sebagai makanan

lokal Sulawesi Barat. Ubi kayu dan sagu dapat diolah menjadi berbagai produk

makanan, salah satu yang sangat terkenal sebagai makanan lokal masyarakat Mandar

adalah jepa, baik itu jepa gula merah (gollamamea), jepa sagu maupun jepa ubi serta

olahan pisang yang biasa dikenal dengan nama loka sattai (pisang santan). Usaha

pemasaran jepa masih lokal sehingga orang yang baru pertama kali melihat atau

wisatawan dari luar daerah akan kesulitan untuk membedakan nama, rasa, maupun

jenis makanan hanya dengan melihatnya tanpa mencicipi makanan tersebut. Seiring

dengan berjalannya waktu, kepopuleran makanan Tradisional Mandar ini semakin

memudar dikalangan masyarakat terutama generasi muda. Untuk mengatasi

permasalahan tersebut, perlu dilakukan penelitian untuk mengklasifikasikan suatu

citra makanan dari keempat jenis makanan tersebut. Hal ini berguna untuk mengenali

suatu jenis makanan. Dalam pengklasifikasian, setiap jenis makanan memiliki

beberapa karakteristik yang dapat dikenali, seperti bentuk, keberagaman warna,

tekstur, dan sebagainya. Setiap jenis makanan memiliki karakteristik masing-masing,

1
2

contohnya makanan yang memiliki bentuk yang sama belum tentu beraroma sama,

adapun makanan yang teksturnya terdapat kemiripan, belum tentu memiliki bentuk

yang sama. Pada penelitian yang dilakukan oleh Halim, Hardy, dan Mytosin (2015),

menggunakan salah satu ekstraksi fitur warna yaitu Color Histogram, dalam aplikasi

pencarian gambar menunjukkan hasil akurasi sebesar 66,66% pada pencarian gambar

makanan. Adapun pada penelitian menggunakan ekstraksi fitur warna Color

Histogram yang dilakukan oleh Simarmata, Sari, dan Adinugroho (2019) pada

pengklasifikasian citra makanan menghasilkan akurasi 67%. Selain itu, terdapat

metode ekstraksi fitur lain untuk melakukan pengklasifikasian makanan, salah

satunya adalah menggunakan ekstraksi fitur tekstur Gray Level Co-occurrence

Matrix (GLCM). Metode ini sudah banyak diterapkan dalam penelitian untuk

mendapatkan nilai fitur tekstur pada suatu citra.

Beberapa penelitian sudah dilakukan menggunakan metode tersebut,

diantaranya adalah Neneng dan Yusra (2017) pada penelitian klasifikasi jenis daging

berdasarkan analisa citra tektur dan warna dimana penelitian ini menghasilkan

akurasi sebesar 75,6%. Selain itu pada penelitian lain, ekstraksi fitur tekstur

menggunakan GLCM pun menghasilkan akurasi lebih baik dibandingkan dengan

teknik lain seperti Linear Regression Model, Wavelet dan Gabor dengan

menghasilkan akurasi sebesar 99% (Suresh dan Shanmuganathan, 2012). Terdapat

beberapa metode dalam melakukan pengklasifikasian. Penelitian menggunakan

metode klasifikasi K-Nearest Neighbour (KNN) sudah banyak dilakukan, beberapa

diantaranya adalah penggunaan metode klasifikasi K-Nearest Neighbour pada


3

penelitian Iris Recognition dengan menghasilkan akurasi tertinggi sebesar 96,3%

(Kulkarni et al., 2014). Adapun penelitian pada klasifikasi daun dengan perbaikan

fitur citra menggunakan metode K-Nearest Neighbour menghasilkan akurasi sebesar

86,67% (Liantoni, 2015).

Berdasarkan uraian di atas, secara manual manusia dapat dengan mudah

mengenali dan membedakan jenis makanan. Akan tetapi berbeda dengan mereka

yang baru pertama kali melihat jenis makanan baru sehingga sulit untuk mengenali

jenis makanan dengan konsisten. Seiring berjalannya teknologi, banyak penelitian

bermunculan terkait pengenalan jenis makanan menggunakan pengolahan citra.

Penelitian ini bertujuan untuk mengenali jenis makanan berbasis citra berdasarkan

warna dan teksturnya kemudian mengklasifikasikannya. Dalam pengklasifikasian,

setiap jenis makanan akan diklasifikasikan kedalam beberapa kelas dengan

menggunakan metode GLCM untuk ekstraksi fitur tekstur, metode Color Histogram

dengan ruang warna (Red, Green, Blue) untuk ekstraksi warna serta KNN untuk

melakukan pengklasifikasian citra makanan berdasarkan nilai ketetanggaannya

terdekatnya.

B. Rumusan Masalah

Berdasarkan latar belakang di atas dirumuskan masalah sebagai berikut:

1. Bagaimana mengekstraksi fitur makanan Tradisional Mandar menggunakan fitur

warna dan fitur tekstur ?


4

2. Bagaimana mengklasifikasikan makanan Tradisional Mandar menggunakan

metode K-Nearest Neighbour ?

C. Batasan Masalah

Batasan masalah bertujuan untuk membatasi pembahasan pada pokok

permasalahan penelitian yang bertujuan agar tidak terjadi kerancuan ataupun

kesimpangsiuran dalam menginterpretasikan hasil penelitian. Adapun batasan

masalah dalam penelitian ini adalah sebagai berikut:

1. Data yang digunakan berupa data citra dari empat kelas yaitu jepa gollamamea,

jepa ubi, jepa sagu dan lokasattai.

2. Dataset yang digunakan berasal dari citra makanan yang di ambil langsung.

3. Menggunakan metode GLCM untuk ekstraksi fitur tekstur dan color histogram

untuk fitur warna citra dan KNN untuk metode klasifikasi citra.

D. Tujuan Penelitian

Berdasarkan rumusan masalah yang ada, penelitian ini bertujuan untuk:

1. Mengekstraksi fitur makanan Tradisional Mandar menggunakan fitur warna dan

fitur tekstur.

2. Mengklasifikasikan fitur Makanan Tradisional Mandar menggunakan metode K-

Nearest Neighbour.
5

E. Manfaat Penelitian

Adapun manfaat yang didapatkan dari penelitian ini adalah dapat

mengklasifikasikan makanan Tradisional Mandar dengan mengekstraksi fitur dan

mengenali jenis makanan menggunakan citra dengan metode KNN.


BAB II

TINJAUAN PUSTAKA

A. Makanan Tradisional Mandar

Jepa merupakan makanan tradisional Tradisional Mandar yang terbuat dari

singkong atau ubi yang diparut terlebih dahulu kemudian diperas untuk

menghilangkan kadar airnya dan kemudian diayak dan dicampurkan dengan parutan

buah kelapa untuk memberinya rasa gurih dan nikmat. Jepa dapat dijadikan sebagai

bahan makanan pokok, pengganti nasi karena kandungan karbohidratnya yang cukup

tinggi, kandungan karbohidratnya kurang lebih sama dengan yang dikandung oleh

nasi (Imisulbar, 2020). Adapun varian makanan Tradisional Mandar yang akan

dilakukan pengenalan citra diantaranya :

1. Jepa Katong (sagu), yaitu jepa yang terbuat dari katong yang dalam bahasa

Indonesia berarti sagu. Pertama-tama sagu yang telah halus dipanaskan

menggunakan tungku, lalu sagu yang halus dibuat secara merata di permukaan

tungku. Kemudian tumput tungku satu persatu di atas pembakaran untuk

menekan jepa yang berada dibagian bawah .

6
7

Gambar 2.1 Jepa Katong atau Jepa sagu (Noval, 2012)

2. Jepa Golla Mamea, yaitu jepa yang terbuat dari ubi kayu yang telah halus

kemudian dipanaskan menggunakan tungku, lalu ubi kayu yang telah halus

dibuat secara merata di permukaan tungku. Gula merah dapat ditaburkan untuk

menambah rasa manis gula merah lalu dipanggang.

Gambar 2.2 Jepa Golla mamea atau Jepa gollamamea


(Makanankhasmandar.blogspot, 2018)
3. Jepa ubi, Jepa berbentuk lembaran bulat yang bahan dasarnya menggunakan ubi

kayu. Proses pengolahannya yaitu ubi kayu dikupas kemudian dibersihkan, lalu

diparut kemudian diperas untuk menghilangkan kadar airnya dan kemudian

diayak dan dicampurkan dengan parutan buah kelapa sebagai penambah rasa

gurih (Sulbar, 2016).


8

Gambar 2.3 Jepa ubi

4. Loka sattai (Lokasattai), terbuat dari pisang mentah yang direbus dengan

kulitnya (dikukus) dalam keadaan panas dimasukkan ke dalam santan sambil

diaduk sampai santan lengket di pisang.

Gambar 2.4 Loka Sattai (Makanankhasmandar.blogspot, 2018)

B. Image Processing

Image Processing (pemrosesan citra) adalah kumpulan teknik komputasi

untuk menganalisis, meningkatkan, mengompresi dan merekonstruksi gambar.

Adapun komponen utamanya adalah importing (mengimpor), dimana gambar

diambil melalui scanning (pemindaian) atau fotografi digital. Pengolahan citra

merupakan metode untuk mengubah citra menjadi bentuk digital dan melakukan

beberapa operasi padanya, untuk mendapatkan citra yang disempurnakan atau untuk

mengekstrak beberapa informasi berguna darinya. Image Processing adalah jenis

dispensasi sinyal dimana input-nya adalah gambar, seperti frame (bingkai) video atau
9

foto dan output-nya dapat berupa gambar atau karakteristik yang terkait dengan

gambar tersebut (Mulyawan Rifqi, 2021).

Tahapan preprocessing citra yang diimplementasikan dalam penelitian ini

sebagai berikut :

1. Grayscale

Untuk melakukan perubahan suatu gambar full color (RGB) menjadi suatu citra

grayscale (gambar keabuan). Metode yang umum digunakan, dimana R: Unsur

warna merah G : Unsur warna hijau B : Unsur warna biru. Nilai yang dihasilkan

dari persamaan diatas akan diinput ke masing-masing unsur warna dasar citra

grayscale (Batubara, Widiyanto and Chamidah, 2020).

2. Gaussian blur

Gaussian Blur berfungsi untuk menempatkan warna transisi dalam citra sehingga

menghasilkan efek lembut pada sisi citra. Digunakan untuk menghilangkan noise

yang berasal dari pantulan cahaya pada kamera (Febriani, Sari and Wihandika,

2019).

3. Threshold

Metode threshold bertujuan untuk membagi histogram citra gray level kedalam

dua wilayah yang berbeda secara otomatis. Metode threshold melakukan analisis

diskriminan dengan menentukan suatu variable dengan membedakan antara dua

atau lebih secara alami (Batubara, Widiyanto and Chamidah, 2020).


10

4. Operasi morfologi (Morphological operation)

Operasi morfologi merupakan operasi yang umum dikenakan pada citra

biner (hitam-putih) untuk mengubah struktur bentuk objek yang terkandung

dalam citra. Morfologi adalah teknik pengolahan citra berdasarkan bentuk

segmen citra. Tujuan dari operasi morfologi adalah untuk memperbaiki hasil

segmentasi.

a) Elemen penstruktur

Ukuran dan bentuk elemen penstruktur (structure element) menentukan

hasil operasi morfologi. Bentuk yang umum digunakan pada operasi

morfologi adalah cakram dan lingkaran.

b) Operasi Dilasi dan Erosi

Operasi dilasi biasa dipakai untuk mendapatkan efek pelebaran terhadap

piksel yang bernilai 1. Operasi erosi mempunyai efek memperkecil

struktur citra (Marleny, 2022).

c) Operasi Opening dan Closing

Operasi opening adalah operasi erosi yang diikuti dengan dilasi dengan

menggunakan elemen penstruktur yang sama. Operasi ini berguna untuk

menghaluskan kontur objek dan menghilangkan seluruh piksel di area

yang terlalu kecil untuk ditempati oleh elemen penstruktur. Operasi

closing berguna untuk menghaluskan kontur dan menghilangkan lubang-

lubang kecil. Operasi closing dilaksanakan dengan melakukan operasi


11

dilasi terlebih dahulu dan kemudian diikuti dengan operasi erosi

(Batubara, Widiyanto and Chamidah, 2020).

5. Masking

Masking merupakan tahapan yang berguna untuk membedakan antara objek

digital dengan background yang ada di sekitar objek (Febriani, Sari and

Wihandika, 2019).

6. Cropping

Pada tahap segmentasi selanjutnya mengambil wilayah yang diinginkan yaitu

wilayah objek pada citra dengan metode cropping pada penelitian ini, keluaran

dari proses ini berupa citra RGB (Batubara, Widiyanto and Chamidah, 2020).

C. Fitur warna RGB(Red, Green, Blue)

Model warna RGB didasarkan pada ilmu mata manusia yang memahami

cahaya dan menerjemahkannya menjadi gelombang di dalam otak. Model warna

RGB umumnya ditampilkan di kamera digital, dan jenis perangkat tampilan berbasis

cahaya lainnya. Model warna merupakan proses penciptaan lebih banyak warna

melalui warna-warna primer, yaitu R (red), G (green), dan B (blue). RGB adalah

warna aditif yang menampilkan warna menggunakan ‘cahaya model’. Maka dari itu

model warna aditif atau RGB paling umum digunakan dalam menampilkan gambar-

gambar melalui perangkat elektronik. Dalam proses model warna RGB ini, jika tiga

warna ditumpangkan dengan intensitas paling sedikit maka warna hitam terbentuk.
12

Jika ditambahkan intensitas cahaya penuh, maka warna putih akan terbentuk

(Wiranata, 2019).

D. Color Histogram

Histogram citra adalah diagram yang menggambarkan frekuensi setiap nilai

intensitas yang muncul di seluruh piksel citra. Nilai yang besar menyatakan bahwa

piksel-piksel yang mempunyai intensitas tersebut sangat banyak. Pada citra berskala

keabuan, jumlah skala keabuan (biasa disimbolkan dengan L) sebanyak 256. Nilai

skala keabuan dimulai dari 0 hingga 255. Pada pengolahan citra, histogram

mempunyai peran untuk mengamati penyebaran intensitas warna dan dapat dipakai

untuk pengambilan keputusan dalam peningkatan kecerahan atau peregangan kontras

serta sebaran warna, untuk penentuan batas-batas dalam pemisahan objek dari latar

belakangnya dan memberikan persentase komposisi warna dan tekstur intensitas

untuk kepentingan identifikasi citra (Fauzan, 2016).

Metode ini adalah metode untuk mengambil fitur warna pada suatu citra.

Citra yang diperlukan dalam proses ini berupa citra red, green dan blue. Selanjutnya,

dilakukan pengambilan nilai fitur-fitur pada Color Histogram yang terdiri Mean,

Standar Deviasi, dan Skew. Fitur Mean adalah nilai rata-rata pada masing-masing

warna. Fitur Mean dapat dihitung menggunakan Persamaan 2.1.

𝑀𝑒𝑎𝑛 = 𝑐̅ = ∑𝐿−1
𝑐=0 𝑐𝑃(𝑐 ) (2.1)

Keterangan:

𝑐̅ : Nilai rata-rata channel citra c dari piksel tersebut

L : Jumlah piksel
13

c : Nilai piksel channel citra c pada citra

P(c) : Probabilitas nilai channel citra c pada citra

Fitur Standar Deviasi bertujuan untuk mendeskripsikan kontras dari suatu

citra. Citra dengan konstras yang tinggi akan memiliki Standar Deviasi yang tinggi

(Priambodo, Sari and Widodo, 2019). Fitur ini dapat dihitung menggunakan

Persamaan 2.2.

𝜎𝑐 = √∑𝐿−1 2
𝑔−0(𝑐 − 𝑐̅) 𝑃(𝑐) (2.2)

Keterangan:

L : Jumlah piksel citra

c- c̅ : Nilai piksel citra dikurangi nilai ratarata channel citra c dari piksel tersebut

P(c) : Probabilitas nilai channel citra c pada citra

Fitur Skew digunakan untuk mengukur keseimbangan rata-rata pada suatu

warna citra. Fitur ini dapat dihitung menggunakan Persamaan 2.3.


1
𝑆𝐾𝐸𝑊 = 𝜎3 ∑𝐿−1 3
𝑐=0(𝑐 − 𝑐̅) 𝑃(𝑐) (2.3)
𝑐

Keterangan:

L : Jumlah total piksel pada citra

c- c̅: Nilai piksel citra dikurangi nilai rata-rata channel citra c dari piksel tersebut

P(c) : Probabilitas nilai channel citra c pada citra.


14

E. Gray Level Co-Occurance Matrix (GLCM)

Metode GLCM termasuk dalam metode statistik dimana dalam perhitungan

statistiknya menggunakan distribusi derajat keabuan (histogram) dengan mengukur

tingkat kekontrasan, granularitas, dan kekasaran suatu daerah dari hubungan

ketetanggaan antar pixel di dalam citra. Paradigma statistik ini penggunaannya tidak

terbatas, sehingga sesuai untuk tekstur-tekstur alami yang tidak terstruktur dari sub

pola dan himpunan aturan (mikrostruktur). Metode statistik terdiri dari ekstraksi ciri

orde pertama dan ekstraksi ciri orde kedua. Ekstraksi ciri orde pertama dilakukan

melalui histogram citra sedangkan ekstraksi ciri statistik orde kedua dilakukan

dengan matriks kookurensi, yaitu suatu matriks antara yang merepresentasikan

hubungan ketetanggaan antar pixel dalam citra pada berbagai arah orientasi dan jarak

spasial (Utekqu, 2011).

Pada penelitian ini, fitur tekstur dari citra makanan akan di ekstraksi

menggunakan Gray Level Co-occurrence Matrix (GLCM). Teknik ini merupakan

teknik dasar tekstur Haralick dengan mengekstraksi ciri berbasiskan statistikal.

Teknik ini digunakan untuk menganalisa antar piksel yang bersebelahan yang dapat

ditentukan berdasarkan sudut yang digunakan. Langkah-langkah ekstraksi fitur

GLCM adalah sebagai berikut:

1. Mengubah citra RGB menjadi citra berskala keabuan.

2. Membentuk matrik co-occurrence dan dilanjutkan dengan menentukan hubungan

spasial antara piksel referensi dan piksel tetangga berdasarkan sudut θ dan jarak d.
15

3. Membentuk matrik simetris dengan menambahkan matrik co-occurrence dengan

matrik transposenya.

4. Melakukan normalisasi terhadap matrik simetris dengan menghitung probabilitas

setiap element matrik.

5. Menghitung fitur GLCM.

Terdapat enam fitur yang digunakan pada penelitian ini antara lain Contras,

Dissimilarity, Homogeneity, Angular Second Moment (ASM), Energy, dan

Correlation (Priambodo, Sari and Widodo, 2019). Setiap fitur dihitung dengan satu

piksel jarak di empat arah, yaitu 0°, 45°, 90° dan 135° untuk mendeteksi co-

occurrence (Batubara, Widiyanto and Chamidah, 2020).

a) Contrast, merupakan perbedaan intensitas antara nilai tertinggi (terang) dan

nilai terendah (gelap) dari sepasang piksel yang saling berdekatan. Secara

umum kontras diartikan sebagai perbedaan gradasi, kecerahan, atau nada

(warna) antara bidang gelap (shadow) dengan bidang terang, atau warna putih

yang mencolok sekali pada objek. Nilai kontras dapat dihitung dengan

persamaan 2.4

𝐶𝑜𝑛𝑡𝑟𝑎𝑠𝑡 = ∑𝑁−1
𝑖,𝑗=0 𝑃𝑖, 𝑗 (𝑖 − 𝑗)
2
(2.4)

b) Dissimilarity (jarak antar data), merupakan ukuran yang mendefinisikan

variasi pasangan tingkat keabuan suatu citra, dimana dapat dihitung seperti

pada persamaan 2.5

𝐷𝑖𝑠𝑠𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦 = ∑𝑁−1
𝑖,𝑗=0 𝑃𝑖, 𝑗 |𝑖 − 𝑗| (2.5)
16

c) Homogeneity, merupakan ukuran tingkat homogenitas perulangan struktur

tekstur, di mana bobot nilainya merupakan invers dari kontras (contrast).

Tingkat homogeneity tekstur sangat tinggi bila nilai matriks co-occurrence

terkonsentrasi sepanjang diagonal matriks. Ini menunjukkan bahwa ada

banyak piksel dengan perulangan pasangan nilai intensitas yang sama sebagai

pembentuk struktur tekstur. Homogeneity memiliki kisaran nilai [0, 1]. Untuk

nilai homogeneity sama dengan 1 menunjukkan bahwa tekstur memiliki

struktur perulangan yang ideal, sedang bila nilainya rendah menunjukkan

bahwa elemen tekstur memiliki variasi yang tinggi dan tersebar secara merata

dalam area tekstur.


𝑁−1
𝑃𝑖,𝑗
𝐻𝑜𝑚𝑜𝑔𝑒𝑛𝑒𝑖𝑡𝑦 = ∑ 2
(2.6)
𝑖,𝑗=0 1+(𝑖−𝑗)

d) Angular Second Moment (ASM), digunakan untuk mengukur intensitas

pasangan piksel pada matriks ko-okurensi. Ketika piksel sangat mirip, maka

nilai angular second moment akan semakin besar, dimana dapat dihitung

seperti pada persamaan :

𝐴𝑆𝑀 = ∑𝑁−1
𝑖,𝑗=0 𝑃𝑖, 𝑗
2
(2.7)

e) Energy, merupakan ukuran konsentrasi pasangan dengan intensitas keabuan

tertentu pada matriks. Nilai energy dapat dihitung dengan persamaan berikut:

𝐸𝑛𝑒𝑟𝑔𝑦 = √∑𝑁−1
𝑖,𝑗=0 𝑃𝑖, 𝑗
2 (2.8)

f) Entropy, merupakan fitur GLCM yang digunakan untuk mengukur tingkat

ketidak aturan bentuk dan distribusi intensitas citra matriks ko-okurensi.


17

Persamaan 2. 9 berikut menunjukkan rumus fitur entropy.

𝐸𝑛𝑡𝑟𝑜𝑝𝑦 = − ∑ 𝑖 ∑ 𝑗 𝑝(𝑖, 𝑗)𝑙𝑜𝑔(𝑝(𝑖, 𝑗)) (2.9)

Keterangan:

N : Jumlah total piksel pada citra

i,j : koordinat matriks citra

Pi,j : Nilai matiks pada citra

F. Normalisasi

Suatu teknik untuk mengorganisasikan data kedalam tabel-tabel untuk

memenuhi kebutuhan pemakai didalam suatu orgnisasi. Data-data yang dilakukan

normalisasi dengan membagi nilai data tersebut dengan nilai range data (nilai data

maksimum - nilai data minimum). Tujuan dari normalisasi yaitu:

1. Untuk menghilangan kerangkapan data

2. Untuk mengurangi kompleksitas

3. Untuk mempermudah pemodifikasian data


𝑋0 −𝑋𝑚𝑖𝑛
𝑋𝑛 = 𝑋 (2.10)
𝑚𝑎𝑥 −𝑋𝑚𝑖𝑛

Keterangan :

𝑋𝑛 = nilai data normal

𝑋0 = nilai data aktual

𝑋𝑚𝑖𝑛 = nilai minimum data aktual keseluruhan

𝑋𝑚𝑎𝑥 = nilai maksimum data aktual keseluruhan


18

Normalisasi data input bertujuan untuk menyesuaikan nilai range data

dengan fungsi aktivasi dalam sistem ELM (Extreame Learning Machine). Ini berarti

nilai kudrat input harus berada pada range 0 sampai 1. Sehingga range input yang

memenuhi syarat adalah nilai data input dari 0 sampai 1. Oleh karena itu output yang

dihasilkanpun akan berada pada range 0 sampai 1. Kemudian untuk nendapatkan

nilai sebenarnya dari output perlu dilakukan normalisasi (Hidayat and Suprapto,

2016).

G. K-Nearest Neighbour (KNN)

K-Nearest Neighbour (KNN) merupakan algoritma yang berfungsi untuk

melakukan klasifikasi suatu data berdasarkan data pembelajaran (train dataset), yang

diambil dari k tetangga terdekatnya (nearest neighbour). Dengan k adalah banyaknya

tetangga terdekat. K-Nearest Neighbour melakukan klasifikasi dengan proyeksi data

pelatihan pada ruang berdimensi banyak. Ruang ini dibagi menjadi bagian-bagian

yang merepresentasikan kriteria data pelatihan (Advernesia, 2021).

Klasifikasi yang digunakan dalam penelitian ini menggunakan metode

KNN. Metode ini diharapkan mampu mengklasifikasikan makanan berdasarkan fitur

yang di dapat dari citra makanan. Prinsip umum dari metode klasifikasi K-Nearest

Neighbour adalah berbasis pembelajaran dengan membandingkan nilai dari data uji

dengan data latih yang berdekatan berdasarkan jumlah tetangga terdekat (k). Data

latih disimpan kedalam kelas yang telah ditentukan. Ketika terdapat masukan data

yang belum diketahui kelasnya, maka KNN akan mencari pola sebanyak k data latih

yang berdekatan dengan data yang belum memiliki kelas (Priambodo, Sari and
19

Widodo, 2019). Jarak Euclidean digunakan untuk menghitung jarak antara dua

vektor yang berfungsi menguji ukuran yang bisa digunakan sebagai interpretasi

kedekatan jarak antara dua objek. Dalam penelitian ini menggunakan perhitungan

Euclidean Distance dengan rumus perhitungan (Purnamasari and Sutojo, 2017) :

𝑑 = √∑𝑛𝑖=1(𝑋𝑖 − 𝑌𝑗)2 (2.11)

Keterangan:

d = jarak data uji ke data pembelajaran

Xi = data uji ke-i, dengan i = 1, 2,........., n

Yj = data uji ke-j, dengan j =1, 2,..........., n

H. Perhitungan Klasifikasi

Confusion Matrix berbentuk tabel matriks yang menggambarkan kinerja

model klasifikasi pada serangkaian data uji yang nilai sebenarnya diketahui. Gambar

dibawah ini merupakan confusion matrix dengan 4 kombinasi nilai prediksi dan nilai

aktual yang berbeda.

Tabel 2.1 Confusion Matrix


Predicted Class
Actual Class
Positive Negative
Positive True Positive(TP) False Positive(FP)
Negative False Negative(FN) True Negative(TN)

Matriks Confusion adalah matriks N x N yang digunakan untuk

mengevaluasi kinerja model klasifikasi, dimana N adalah jumlah target kelas. Matriks
20

Confusion adalah alat untuk analisis prediktif dalam mesin yang sedang belajar.

Untuk memeriksa kinerja berdasarkan klasifikasi model pembelajaran mesin.

Terdapat 4 istilah sebagai representasi hasil proses klasifikasi pada Confusion Matrix.

Keempat istilah tersebut adalah TP (True Positive) merupakan jumlah data aktual

yang sebenarnya True diprediksi True, TN (True Negative) merupakan jumlah data

aktual yang sebenarnya False diprediksi False, FP (False Positive) merupakan

jumlah data aktual yang sebenarnya True diprediksi False dan FN (False Negative)

merupakan jumlah data aktual yang sebenarnya False diprediksi True. Dalam proses

klasifikasi dilakukan pengujian untuk menentukan Akurasi, Presisi, Recall, dan

Error dari hasil klasifikasi (Ting, 2017).

1. Akurasi (Accuracy) merupakan rasio prediksi benar (positif dan negatif) dengan

keseluruhan data. Dengan kata lain, accuracy merupakan tingkat kedekatan nilai

prediksi dengan nilai aktual (sebenarnya). Nilai accuracy dapat diperoleh dengan

persamaan 2.12.

(𝑇𝑃+𝑇𝑁)
Akurasi = (2.12)
(𝑇𝑃+𝐹𝑃+𝑇𝑁+𝐹𝑁)

2. Presisi (precision) merupakan rasio prediksi benar positif dibandingkan dengan

keseluruhan hasil yang diprediksi positif. Dari semua kelas positif yang telah di

prediksi dengan benar, berapa banyak data yang benar-benar positif.

Nilai precision dapat diperoleh dengan persamaan 2.13.


𝑇𝑃
𝑃𝑟𝑒𝑠𝑖𝑠𝑖 = (2.13)
(𝑇𝑃+𝐹𝑃)
21

3. Recall merupakan rasio prediksi benar positif dibandingkan dengan keseluruhan

data yang benar positif. Nilai Recall dapat diperoleh dengan persamaan 2.14.
𝑇𝑃
𝑅𝑒𝑐𝑎𝑙𝑙 = (2.14)
(𝑇𝑃+𝐹𝑁)

4. Error artinya terdapat kesalahan prediksi dari data.

(𝐹𝑃+𝐹𝑁)
𝐸𝑟𝑟𝑜𝑟 = (2.15)
(𝑇𝑃+𝐹𝑃+𝑇𝑁+𝐹𝑁)

Keterangan:

TP : Nilai Prediksi dan nilai sebenarnya bernilai benar

TN : Nilai Prediksi dan nilai sebenarnya bernilai salah

FP : Nilai Prediksi benar dan nilai sebenarnya bernilai salah

FN : Nilai Prediksi salah dan nilai sebenarnya bernilai benar

I. Python

Python (bahasa pemrograman) merupakan bahasa pemrograman tingkat

tinggi yang bisa melakukan eksekusi sejumlah instruksi multi guna secara langsung

(interpretatif) dengan metode Object Oriented Programming dan juga menggunakan

semantik dinamis untuk memberikan tingkat keterbacaan syntax. Sebagai bahasa

pemrograman tingkat tinggi, bahasa pemrograman python banyak digemari oleh para

programmer karena syntax bahasa yang mudah dipahami dan bisa dijalankan di

beberapa platform manapun melalui interpreter (Materi, 2020).


22

J. OpenCV

OpenCV (Open sourch Computer Vision) adalah sebuah API (Application

Programming Interface) Library pada Pengolahan Citra Computer Vision. Computer

Vision itu sendiri adalah salah satu cabang dari Bidang Ilmu Pengolahan Citra

(Image Processing) yang memungkinkan komputer dapat melihat seperti manusia.

Vision tersebut membuat komputer dapat mengambil keputusan, melakukan aksi,

dan mengenali terhadap suatu objek. Beberapa pengimplementasian dari Computer

Vision adalah Face Recognition, Face Detection, Face/Object Tracking, Road

Tracking. OpenCV adalah library Open Source untuk Computer Vision. OpenCV

didesain untuk aplikasi real-time, memiliki fungsi-fungsi akuisisi yang baik untuk

image/video (Priawadi, 2021).

K. Penelitian Terkait

Penelitian terkait dengan klasifikasi makanan menggunakan ekstraksi fitur

Gray Level Co-Occurance Matrik dan Metode K-Nearest Neighbour dapat dilihat

pada Tabel 2.2.

Tabel 2.2 Penelitian Terkait


Nama dan Perbedaan dan
No Metode
tahun Judul penelitian Hasil penelitian persamaan
penelitian
penelitian penelitian
1 Priambodo, Klasifikasi Jenis -Color Hasil dari akurasi Perbedaannya
Hafid Satrio Citra Makanan Histogram rata-rata yang ada pada jenis
Sari, Yuita menggunakan -GLCM dihasilkan oleh makanan yang
Arum Color Histogram -KNN metode-metode diujikan,
Widodo, dan Gray Level tersebut adalah sedangkan
Agus Co-occurrence sebesar 93,33%. persamaannya
Wahyu pada Matrix dengan adalah fitur
23

tahun 2019 K-Nearest GLCM dan


Neighbour KNN yang
digunakan
2 Novyanti, Pengenalan Citra -Color Hasil dari Perbedaannya
Ofi Eka Jenis Makanan Channel pengujian ini ada pada jenis
Sari, Yuita menggunakan -GLCM bahwa pengenalan makanan yang
Arum Ekstraksi Fitur -KNN citra jenis makanan diujikan,
Furqon, Color Channel menggunakan sedangkan
Muhammad dan Gray Level ekstraksi fitur color persamaannya
Tanzil pada Co-Occurence channel dan GLCM adalah fitur
tahun 2019 Matrix dengan KNN dapat GLCM dan
dilakukan pada KNN yang
nilai k=3 dengan digunakan.
akurasi sebesar
90,58% untuk data
seimbang.
3 Anggraini, Klasifikasi Jenis -GLCM Akurasi terbaik Perbedaannya
Reni pada Kualitas Keju -SVM sebesar 97.9167% ada pada jenis
tahun 2017 Dengan dengan waktu makanan yang
Menggunakan komputasi 0.0286s diujikan,
Metode Gray dengan sedangkan
Level Co- menggunakan persamaannya
occurrence metode GLCM adalah fitur
Matrix (GLCM) dimana digunakan GLCM yang
dan Support ekstraksi ciri digunakan.
Vector Machine berdasarkan tekstur
(SVM) Pada dan warna dengan
Citra Digital parameter orde dua
(kontras dan
homogenitas), arah
0°, d= 2 pixel,
kernel polynomial,
dan jenis multiclass
OAO.
4 Liantoni, Klasifikasi Daun KNN Pengujian Perbedaannya
Febri pada Dengan klasifikasi dengan ada pada jenis
tahun 2016 Perbaikan Fitur menggunakan objek yang
Citra metode K-Nearest diujikan,
Menggunakan Neighbour (KNN) sedangkan
Metode K- didapatkan nilai persamaannya
Nearest Akurasi sebesar adalah metode
Neighbour 86,67%, hasil ini KNN yang
menunjukkan digunakan.
metode KNN
mampu melakukan
klasifikasi daun
dengan baik
24

5. Simanjuntak Analisis GLCM SVM classifier Perbedaannya


, Taufik Keseluruhan tidak mampu ada pada jenis
Ismail Pada Sudut Co- bekerja dengan baik objek dan fitur
Tahun 2018 Occurrence pada ekstraksi fitur yang diujikan,
Matrix Pada GLCM sedangkan
GLCM Dalam persamaannya
Mengklasifikasi adalah metode
Citra GLCM yang
digunakan.
6 Prabudaya, Metode KNN Hasil pengujian Perbedaannya
Taftayani Klasifikasi Mutu didapatkan bahwa ada pada objek
Yusuf Jambu Biji metode klasifikasi yang
Harjoko, Menggunakan ini mampu digunakan,
Agus KNN memberikan sedangkan
pada tahun Berdasarkan Akurasi terbaik persamaannya
2017 Fitur Warna Dan pada k=3 dalam ada pada
Tekstur metode KNN metode
dengan Akurasi klasifikasi yang
91,25% digunakan.
7 Farokhah, Implementasi K- -KNN Hasil menunjukkan Perbedaannya
Lia Nearest -Ekstraksi bahwa kolaborasi ada pada objek
pada tahun Neighbour Fitur metode klasifikasi yang diujikan,
2020 Untuk Warna KNN dengan sedangkan
Klasifikasi ekstraksi fitur persamaannya
Bunga Dengan warna RGB ada pada
Ekstraksi Fitur memiliki metode yang
Warna RGB kelemahan terhadap digunakan
percobaan pertama klasifikasi yang
dengan akurasi 50- digunakan.
60% pada k=5.
Percobaan kedua
memiliki akurasi
sekitar 90-100%
pada k=5.
Peningkatan
Akurasi, precision
dan Recall terjadi
ketika menaikkan
jumlah k yaitu dari
k=1 menjadi k=3
dan k=5.
8 Rahman, Klasifikasi Batik -KNN Dari hasil Perbedaannya
Yurni Menggunakan -GLCM penelitian yang ada pada objek
Wijayanto, Metode K- menggunakan 75 yang diujikan,
Hanang Nearest citra tenun dengan sedangkan
Pada tahun Neighbour 5 kelas yaitu Bali, persamaannya
2015 Berdasarkan Kalimantan, NTT, ada pada
25

Gray Level Co- Sulawesi dan metode yang


Occurrence Sumatra digunakan
Matrices ( menghasilkan klasifikasi yang
GLCM ) tingkat Akurasi digunakan.
tertinggi pada uji
coba 3 sudut 0° k=2
sebesar 70% dan
terendah pada uji
coba 2 sudut 45°
k=1 sebesar 2%.

9 Neneng Klasifikasi Jenis -GLCM Hasil klasifikasi Perbedaannya


Fernando, Daging terbaik yang ada pada objek
Yusra Pada Berdasarkan diperoleh adalah yang diujikan,
Tahun 2017 Analisis Citra 75,6% berada pada sedangkan
Tekstur Gray arah GLCM 45o persamaannya
Level Co- dengan jarak piksel ada pada
Occurrence tetangga d=3 dan metode yang
Matrices ( arah GLCM 135 o digunakan
GLCM ) Dan dengan jarak piksel klasifikasi yang
Warna tetangga d=2. Nilai digunakan.
tersebut berada
pada parameter
sigma 2,1.
10 Pamungkas, Ekstraksi Citra -GLCM Berdasarkan hasil Perbedaannya
Danar Putra menggunakan -KNN pengujian dan ada pada objek
pada tahun Metode GLCM analisa dari yang diujikan,
2019 dan KNN untuk penelitian yang sedangkan
Identifikasi Jenis telah dilakukan persamaannya
Anggrek dapat disimpulkan ada pada
(Orchidaceae) tingkat metode yang
keberhasilan digunakan
identifikasi klasifikasi yang
Orchidaceae atau digunakan.
bunga anggrek
mencapai 80%
dengan rata-rata
77%. Nilai k
berpengaruh pada
tingkat
keberhasilan
identifikasi,
semakin besar nilai
k akurasi semakin
kecil.
26
BAB III

METODOLOGI PENELITIAN

A. Jenis Penelitian

Penelitian ini menggunakan penelitian kuantitatif. Jenis penelitian ini dipilih

karena data yang digunakan berupa angka atau data yang dapat dikonversi menjadi

angka. Penelitian kuantitatif merupakan salah satu jenis penelitian yang

spesifikasinya adalah sistematis, terencana, dan terstruktur dengan jelas sejak awal

hingga pembuatan desain penelitiannya. Penelitian kuantitatif ini merupakan

penelitian yang banyak menuntut penggunaan angka mulai dari pengumpulan data,

penafsiran terhadap data tersebut, serta penampilan dari hasilnya.

B. Lokasi dan Waktu Penelitian

Penelitian ini dilakukan di Kabupaten Majene Provinsi Sulawesi Barat

dengan waktu penelitian dilakukan mulai bulan Februari sampai dengan Juli 2022.

Data diperoleh melalui pengambilan citra secara langsung. Selain itu data juga

diperoleh dari sumber-sumber tertulis baik media cetak maupun elektronik. Jadwal

Penelitian dapat dilihat pada Tabel 3.1.

26
27

Tabel 3.1 Jadwal penelitian


Waktu Penelitian
N
Kegiatan Bulan 1 Bulan 2 Bulan 3 Bulan 4 Bulan 5 Bulan 6
o
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
Pengumpu
1
lan Data
Rancanga
2
n Program
Implement
3
asi
Pengujian
4
Klasifikasi

C. Alat dan Bahan

Alat dan bahan yang digunakan dalam merancang pengklasifikasian

makanan Tradisional Mandar ini berupa perangkat keras dan perangkat lunak yaitu,

sebagai berikut:

1. Perangkat Keras

a. Smartphone

b. Personal Computer/laptop, processor intel 80 05U (1,70 Ghz)

c. RAM 4.00 GB

d. HDD 500 GB

2. Perangkat Lunak

a. Sistem Operasi Windows 10

b. Idle
28

D. Tahap Penelitian

Adapun tahapan-tahapan yang akan dilakukan dalam pengoptimalan

penghitungan menggunakan ekstraksi fitur GLCM dan klasifikasi menggunakan

algoritma KNN ini adalah sebagai berikut :

1. Pengumpulan Data

Adapun tahap pengumpulan data menjelaskan mengenai data yang

digunakan dalam penelitian ini. Data yang digunakan adalah data primer yaitu

pengambilan data di ambil secara manual dengan menggunakan alat berupa

smartphone.

a. Objek yang digunakan dalam penelitian ini berupa makanan yang berbentuk

padat dan terdapat 4 jenis makanan, yaitu jepa gollamamea, lokasattai, jepa

sagu, dan jepa ubi.

b. Intensitas cahaya menggunakan cahaya matahari yang ada pada ruangan.

c. Menggunakan smartphone dengan kamera utama 13 megapiksel f/2.2.

d. Pengambilan gambar dilakukan secara tegak lurus terhadap objek.

2. Analisis Data

Adapun teknik analisis data yang digunakan adalah teknik analisis data

kuantitatif. Teknik analisis data kuantitatif merupakan suatu kegiatan sesudah

pengambilan data dari perhitungan atau sumber data-data lain.


29

E. Gambaran Sistem

Pada tahap ini program akan dibuat berdasarkan hasil dari pengumpulan dan

analisa data yang telah dilakukan. Bahasa pemrograman yang akan digunakan adalah

bahasa pemprograman python. Program ini akan dibuat sesuai dengan alur

penyelesaian masalah dengan menggunakan algoritma KNN. Data yang digunakan

berupa citra dari empat kelas. Data citra makanan Tradisional Mandar yang

digunakan sebanyak 200 citra yang terdiri dari 4 jenis. Selanjutnya dilakukan proses

ekstraksi fitur warna dengan Color Histogram dan fitur tekstur dengan GLCM.

Proses diawali dengan membaca citra makanan tradisional mandar,

kemudian preprosesing citra untuk mendapatkan citra hasil segmentasi, dilanjutkan

dengan ekstraksi fitur color histogram dengan citra inputan berupa citra RGB hasil

segmentasi dan ekstraksi fitur tekstur. Dari kedua ekstraksi fitur ini kemudian

disimpan sebagai data latih untuk klasifikasi menggunakan KNN dengan

menentukan nilai k untuk memperoleh nilai akurasi tetentu.


30

Gambar 3.1 Diagram alir perancangan keseluruhan proses klasifikasi.

Secara keseluruhan, perancangan yang akan dibangun terdiri atas beberapa

tahapan. Tahapan tersebut terdiri atas enam proses utama, yaitu:

1. Proses dimulai dengan membaca citra berupa citra makanan Tradisional Mandar.

2. Melakukan proses preprocessing. Pada tahapan ini akan dilakukan segmentasi

terhadap citra dengan mengurangi noise dan diharapkan mendapatkan hasil data

latih dan data uji yang lebih baik dari sebelumnya. Pada tahap preprocessing ada

beberapa tahapan yang dilakukan, yaitu:


31

a. Grayscalling, salah satu tahap dalam preprocessing adalah mengubah citra

kedalam warna RGB. Setelah nilai pixel R,G, dan B diperoleh, citra akan

diubah kedalam warna keabuan.

b. Blurring, langkah selanjutnya setelah didapatkan nilai grayscalling adalah

melakukan tahap blurring.

c. Thresholding, proses yang dilakukan berikutnya adalah tahap thresholding,

dimana tahapan ini menggunakan otsu thresholding.

d. Opening dan Closing

Operasi opening berguna untuk menghaluskan kontur objek dan

menghilangkan seluruh piksel di area yang terlalu kecil untuk ditempati oleh

elemen penstruktur. Operasi closing berguna untuk menghaluskan kontur dan

menghilangkan lubang-lubang kecil.

e. Masking, setelah diperoleh nilai dilasi, maka tahap akhir dari preprocessing

adalah melakukan masking.

3. Melakukan proses ekstraksi fitur warna dengan menggunakan fitur Color

histogram .

4. Melakukan proses ekstraksi fitur tekstur dengan menggunakan fitur GLCM.

5. Melakukan proses klasifikasi dengan menggunakan algoritma KNN.

6. Melakukan proses perhitungan evaluasi. Perhitungan ini dilakukan untuk

melakukan perbandingan antara hasil klasifikasi data uji dengan kelas yang

sebenarnya.
32

7. Mendapatkan hasil output berupa hasil evaluasi dari perhitungan yang sudah

dikerjakan.

F. Tahap Pengujian

Tahap selanjutnya adalah tahapan pengujian, pada tahap ini akan melakukan

pengujian terhadap pengklasifikasian yang dibuat untuk melihat penerapan algoritma

KNN dalam pengklasifikasian. Hal tersebut dilakukan dengan terlebih dahulu

memasukkan data uji kedalam program python kemudian melakukan running untuk

melihat berhasil tidaknya program melakukan pengklasifikasian. Pada bagian ini,

pengujian dilakukan dalam 3 tahap yaitu pengujian nilai k, pengujian ekstraksi fitur,

dan pengujian perhitungan jarak tetangga terdekat. Hasil dari ekstraksi fitur tekstur

dan warna disimpan sebagai data latih atau digunakan sebagai data uji untuk proses

klasifikasi dengan KNN. Sebelum dilakukan proses klasifikasi, dataset harus dilatih

terlebih dahulu untuk menghasilkan variabel-variabel pengetahuan baru, dimana

variabel ini sebagai penentu jenis makanan yang diinput.

Berdasarkan dari tahap pengujian dengan menggunakan 200 set data,

dimana data latih dan data uji digunakan untuk menentukan akurasi, presisi, recall

dan error dari hasil klasifikasi. Dalam menghitung akurasi, rumus perhitungannya

menggunakan jumlah keseluruhan nilai data prediksi yang bernilai benar ditambah

jumlah keseluruhan nilai data yang bernilai salah kemudiaan dibagi dengan seluruh

jumlah nilai data, sebagaimana pada persamaan (2.12). Kemudian dari perhitungan

ini akan diperoleh nilai akurasi yang menentukan hasil prediksi yang benar dari citra

makanan pada setiap kelas mencapai sekian persen dari total jumlah data yang ada.
BAB IV

HASIL DAN PEMBAHASAN

A. Analisis Kebutuhan

Tahapan analisis yang dilakukan penulis adalah menguraikan beberapa hal

berkaitan dengan ruang lingkup proses yang nantinya dibutuhkan untuk mengambil

keputusan dalam proses klasifikasi.Identifikasi Masalah Pada penelitian ini akan

dilakukan klasifikasi citra makanan menggunakan fitur warna Color Histogram dan

fitur tekstur GLCM. Data yang digunakan dalam penelitian ini sebanyak 200 citra

makanan Tradisional Mandar dari empat kelas dimana 160 citra makanan Tradisional

Mandar digunakan sebagai data latih dan sisanya yaitu 80 data sebagai data uji dari 4

kelas yang berbeda.

Dalam penelitian ini, klasifikasi makanan dilakukan dengan menggunakan

algoritma KNN untuk melakukan klasifikasi. Nilai akurasi adalah parameter yang

menentukan seberapa baik model yang dibuat dengan menggunakan data latih dan

menggunakan data uji untuk melakukan pengujian model. Data yang diidentifikasi

pada penelitian ini merupakan 4 jenis makanan Tradisional Mandar berdasarkan hasil

identifikasi masalah yang telah dilakukan. 4 jenis makanan Tradisional Mandar

dikategorikan menjadi 4 kelas yaitu jepa sagu, jepa gollamamea, jepa ubi dan

lokasattai.

35
36

B. Pengumpulan Data

Data yang digunakan dalam penelitian ini sebanyak 200 citra makanan

Tradisional Mandar dari empat kelas dimana dari 200 citra sebagian digunakan

sebagai data latih dan sisanya sebagai data uji dengan 4 kelas yang berbeda. Citra

data latih dan data uji dapat dilihat pada Gambar 4.1 dan Gambar 4.2. Dari 200 citra

makanan Tradisional Mandar yang digunakan dilakukan pengambilan gambar

menggunakan kamera smartphone dengan ukuran 3120 x 4160 pixel dengan

Background warna merah dan biru yang bertujuan untuk menguji bagaimana hasil

segmentasi dengan kedua warna background yang digunakan.

Gambar 4.1 dan Gambar 4.2 merupakan citra hasil pemotretan yang akan

digunakan sebagai data latih dan data uji yang sebelumnya akan melalui tahapan

preprocessing untuk mendapatkan citra RGB hasil segmentasi yang akan diambil

setiap nilai fiturnya sebagai fitur data latih dan fitur data uji untuk klasifikasi

makanan tradisional mandar menggunakan KNN Classifier.

(a)

(b)
37

(c)

(d)
Gambar 4.1 Data latih, (a) kelas gollamamea, (b) kelas lokasattai, (c) kelas sagu dan
(d) kelas ubi

Gambar 4.2 Sampel data uji

C. Perancangan (Design) Proses Implementasi

Tahap berikutnya adalah perancangan. Perancangan meliputi perancangan

algoritma untuk mengolah gambar dan pemrograman klasifikasi untuk menentukan

kelas sesuai dengan data pembelajaran yang telah didapatkan. Pada tahap ini

dilakukan pemodelan berdasarkan hasil analisis. Perancangan menentukan

bagaimana suatu algoritma pemrograman menyelesaikan apa yang harus

diselesaikan. Pada tahap ini dilakukan pembuatan model dari aplikasi. Maksud

pembuatan model ini adalah untuk memperoleh pengertian yang lebih baik terhadap
38

aliran data dan control, proses-proses fungsional, tingkah laku operasi dan informasi-

informasi yang terkandung di dalamnya. Perancangan sistem dimulai dengan

perancangan implementasi preprocessing, implementasi ekstraksi fitur warna (Color

Histogram), implementasi ekstraksi fitur tekstur (GLCM), klasifikasi dengan KNN.

1. Rancangan implementasi Preprocessing

Pada tahapan Preprocessing, merupakan tahapan awal pada pengolahan

citra yang berfunsi untuk memperbaiki kualitas citra dan memudahkan pada tahapan

selanjutnya. Preprocessing dilakukan proses grayscale, gaussian blur, otsu

thresholding, opening, closing, cropping dan masking pada citra data latih dan citra

data uji. Alur tahapan preprosesing ditunjukkan pada Gambar 4.3.

Gambar 4.3 Diagram alir proses segmentasi citra


39

Penjelasan dari masing-masing tahapan pada Gambar 4.3 adalah sebagai

berikut:

1) Mulai proses.

2) Membaca citra RGB dalam folder.

Citra dalam folder merupakan citra RGB dengan ukuran 3120x4160 pixel

dengan Background warna merah dan biru menggunakan fungsi imread

dari library OpenCv.

3) Resize ukuran citra.

Merubah ukuran citra menggunakan fungsi imrez dari 3120x4160 pixel

menjadi 300x300 pixel untuk mengurangi proses komputasi dalam

pengolahan citra.

4) Mengkonversi citra RGB menjadi citra grayscale.

5) Filtering menggunakan Gaussian Blur dengan kernel 3x3.

6) Melakukan segmentasi citra dengan otsu thresholding. Nilai ambang batas

yang digunakan adalah 50 kemudian untuk nilai pixel diatas nilai batas

yang ditentukan akan diubah menjadi citra biner 1 (putih), sedangkan nilai

dibawah ambang batas yang ditentukan akan diubah menjadi 0 (hitam).

7) Melakukan opening ke citra threshold dengan nilai kernel (structuring

element), dimana operasi ini berguna untuk menghaluskan kontur objek dan

menghilangkan seluruh piksel di area yang terlalu kecil untuk ditempati

oleh elemen penstruktur..


40

8) Melakukan closing ke citra opening dengan nilai kernel (structuring

element), operasi closing berguna untuk menghaluskan kontur dan

menghilangkan lubang-lubang kecil.

9) Melakukan masking ke citra closing. Masking dilakukan untuk

mendapatkan citra RGB hasil segmentasi.

10) Melakukan proses cropping pada citra masking berdasarkan area

thresholding untuk memotong area yang tidak diperlukan.

11) Proses selesai.

2. Rancangan Implementasi Ekstraksi Fitur Warna (Color Histogram)

Pada tahapan color histogram, merupakan tahapan untuk mendapatkan nilai

mean, standar deviasi dan skewness dari masing-masing fitur warna pada citra Red,

Green dan Blue (RGB). Proses ini membutuhkan citra yang telah tersegmentasi dan

terdapat nilai RGB dalam citra tersebut.

Gambar 4.4 Diagram Alir Ekstraksi Fitur Color Histogram


41

Penjelasan dari masing-masing tahapan pada Gambar 4.4 adalah sebagai

berikut:

1) Mulai proses.

2) Membaca citra RGB yang telah tersegmentasi. Citra RGB yang telah

tersegmentasi digunakan sebagai inputan untuk mendapatkan nilai fitur

color histogram.

3) Menghitung nilai mean, standar deviasi dan skew setiap kanal citra.

4) Mendapatkan nilai statistik citra dengan menggunakan library statistik

5) Output nilai statistik citra RGB sebagai fitur Color Histogram. Nilai fitur

warna color histogram akan digunakan sebagai atribut fitur untuk

klasifikasi.

6) Proses selesai.

3. Rancangan Implementasi Ekstraksi Fitur Tekstur (Gray level Co-occurance

Matrix)

Pada tahapan GLCM, merupakan tahapan untuk mendapatkan fitur tekstur

pada citra yang meliputi kontras, dissimilarity, homogeneity, angular second moment

(ASM), energy dan correlation dari citra.


42

Gambar 4.5 Diagram alir ekstraksi fitur GLCM


Penjelasan dari masing-masing tahapan pada Gambar 4.5 adalah sebagai

berikut:

1) Mulai proses.
43

2) Membaca citra RGB hasil segmentasi. Citra RGB yang telah melalui

preprosesing akan digunakan sebagia inputan ekstraksi fitur

tekstur(GLCM).

3) Mengonversi citra RGB ke grayscale. Untuk mendapatkan nilai fitur

statistik GLCM citra rgb terlebih dahulu di ubah ke citra grayscale.

4) Menghitung nilai matriks ko-okurensi awal dengan ketetapan nilai d(jarak

antar piksel) adalah 1 menggunakan 4 arah sudut yaitu 0°, 45°, 90°, dan

135°.

5) Membentuk matriks simetris dengan menjumlahkan nilai matriks ko-

okurensi dengan transposenya.

6) Melakukan normalisasi terhadap nilai matriks.

7) Output nilai fitur GLCM(Contrast, dissimilarity, homogeneity, angular

second moment(ASM), energy dan entropy) untuk klasifikasi.

8) Proses selesai.

4. Rancangan Implementasi Klasifikasi dengan KNN

Proses klasifikasi dilakukan dengan menggunakan data masukan hasil dari

proses ekstraksi warna dan proses ektraksi ciri tekstur yang telah setiap fiturnya telah

dinormalisasi dengan rentang nilai 0 hingga 1 dari data latih untuk menyesuaikan

nilai range data, kemudian menentukan setiap kelas atau target dari data latih untuk

mempermudah proses klasifikasi k-nearest neighbour.


44

Gambar 4.6 Diagram alir proses klasifikasi dengan KNN


Proses klasifikasi makanan tradisioanal mandar dimodelkan dengan diagram

alir yang terdapat pada Gambar 4.6. Hasil dari ekstraksi fitur tekstur dan warna

disimpan sebagai data latih atau digunakan sebagai data uji dengan format file csv

untuk proses klasifikasi dengan KNN. Penjelasan dari masing-masing tahapan pada

Gambar 4.6 adalah sebagai berikut:

1) Mulai proses.

2) Membaca fitur data uji dalam format file csv. Data uji yang dimasukkan

merupakan atribut data dari fitur Color Histogram dan GLCM.


45

3) Tentukan jumlah tetangga ter-dekat. Nilai k merupakan jumlah data dengan

jarak terdekat dengan kelas dominan. Nilai dominan merupakan kelas

terhadap data uji. k Tetangga terdekat ditentukan sesuai dengan jumlah data

kelas dari pengujian data secara berturut-turut. Penentuan nilai k

mempengaruhi tingkat akurasi dalam klasifikasi data.

4) Hitung jarak data uji ke data latih. Perhitungan jarak data uji ke data latih

menggunakan rumus euclidean distance.

5) Kemudian mengurutkan objek–objek tersebut kedalam kelompok yang

mempunyai jarak euclid terkecil.

6) Mengumpulkan kategori Y (Klasifikasi nearest neighbour)

7) Dengan menggunakan kategori nearest neighbour yang paling mayoritas

maka dapat dipredisikan nilai query instance yang telah dihitung.

8) Hasil klasifikasi pada data uji. Setelah didapatkan hasil klasifikasi pada data

uji maka akan divisualisasikan dengan menggunakan confusion matrix.

9) Proses selesai.

D. Implementasi (Implementation)

Tahap berikutnya yang dilakukan adalah implementasi dari proses yang

telah di gambarkan pada bagian perancangan.

1. Preprocessing Citra

a. Pada tahap preprocessing, proses pertama yang dilakukan adalah resize gambar

menggunakan program python dari ukuran semula 3120 x 4160 pixel menjadi
46

300 x 300 pixel untuk memperkecil ukuran setiap gambar. Hasil resize dapat

dilihat pada Gambar 4.7.

(a) (b)
Gambar 4.7 (a) citra sebelum resize dan (b) citra setelah resize ke 300x300 pixel

b. Tahapan selanjutnya yang dilakukan adalah mengkonversi citra RGB ke

grayscale bertujuan agar mempermudah dalam proses Thresholding citra. Hasil

dari konversi dapat dilihat pada Gambar 4.8.

Gambar 4.8 Citra grayscale

c. Tahapan selanjutnya yang dilakukan adalah mengkonversi citra grayscale ke

gaussian blur bertujuan agar mempermudah dalam proses thresholding citra.

Hasil dari konversi dapat dilihat pada Gambar 4.9.

Gambar 4.9 Citra blur


47

d. Tahapan selanjutnya dilakukan tresholding untuk mempermudah proses

segmentasi objek terhadap background. Hasil thresholding dapat dilihat pada

Gambar 4.10.

Gambar 4.10 Citra threshold


e. Tahapan selanjutnya dilakukan operasi opening untuk menghilangkan citra

yang berukuran lebih kecil dari nilai iterasi yang telah ditentukan. Hasil

opening dapat dilihat pada Gambar 4.11.

Gambar 4.11 Citra opening

f. Tahapan selanjutnya dilakukan operasi closing untuk menutup area objek

thresholding berukuran lebih kecil dari nilai iterasi yang telah ditentukan. Hasil

opening dapat dilihat pada Gambar 4.12.

Gambar 4.12 Citra closing


48

g. Tahapan selanjutnya dilakukan operasi masking untuk mengembalikan citra

biner menjadi citra RGB. Hasil opening dapat dilihat pada Gambar 4.13.

Gambar 4.13 Citra masking

h. Tahapan selanjutnya dilakukan operasi cropping untuk mengurangi Background dari

citra hasil segmentasi. Hasil cropping dapat dilihat pada Gambar 4.14.

Gambar 4.14 Citra croping


2. Color Histogram

a. Membaca citra RGB yang telah tersegmentasi.

b. Mendapatkan nilai mean, standar deviasi dan skewness dari masing-masing

chanel RGB citra menggunakan library statistik.


49

(a)

(b) (c) (d)


Gambar 4.15 (a) Ploting color histogram, (b) citra red, (c)citra green dan (d) citra
blue
Nilai fitur dari sampel ekstraksi fitur color histogram yang telah

dinormalisasi dari data latih dapat dilihat pada Tabel 4.1.

Tabel 4.1 Nilai fitur color histogram data latih

Fitur

Mean Red 0.713376 0.146497 0.33758 0.955414


Mean Green 0.491431 0.352555 0.307363 0.67275
Mean Blue 0.513488 0.302435 0.376332 0.617801
Standar 0.708161 0.88145 0.639737 0.524688
50

Defiasi Red
Standar
Defiasi Green 0.685309 1 0.687167 0.59951
Standar
Defiasi Blue 0.639506 1 0.753389 0.603707
Skew Red 0.165611 0.429119 0.586112 0.090521
Skew Green 0.1687 0.375732 0.56447 0.114176
Skew Blue 0.192818 0.386073 0.591304 0.144487

Dari data pada Tabel 4.1. merupakan data hasil ekstraksi fitur Color

histogram menggunakan scipy.stats untuk mendapatkan nilai mean, standar deviasi

dan skew dari masing-masing kanal warna.

3. Gray Level Co-Occurance Matrix (GLCM)

a. Membaca citra RGB hasil sementasi yang kemudian dikonversi kecitra

grayscale

(a) (b)

Gambar 4.16 (a) citra rgb dan (b) citra grayscale

b. Mendapatkan nilai fitur tekstur pada citra yang meliputi kontras, dissimilarity,

homogeneity, angular second moment (ASM), energy dan correlation dengan

menggunakan modul graycomatrix dan graycoprops dari library

skimage.feature.

Nilai fitur dari ekstraksi fitur GLCM yang telah dinormalisasi dari data latih

dapat dilihat pada table 4.2.


51

Tabel 4.2 Nilai fitur glcm data latih

fitur

contrast 0 0.411772 0.3586 0.610764 0.077952

contrast 45 0.555744 0.322035 0.696677 0.178896

contrast 90 0.608758 0.329894 0.69267 0.225436

contrast 135 0.585968 0.433296 0.653617 0.175441

dissimilarity 0 0.607957 0.282793 0.694651 0

dissimilarity 45 0.746819 0.304149 0.774577 0.143304

dissimilarity 90 0.795513 0.258686 0.78274 0.145837

dissimilarity 135 0.785104 0.377597 0.754892 0.157503

homogeneity 0 0.331784 0.836994 0.519255 0.462863

homogeneity 45 0.291352 0.815588 0.481302 0.416894

homogeneity 90 0.297204 0.836086 0.499851 0.411669

homogeneity 135 0.280801 0.802005 0.479886 0.413457

ASM 0 0.11495 0.71952 0.30180 5 0.129649

ASM 45 0.091391 0.708643 0.273145 0.106628

ASM 90 0.099791 0.74180 7 0.295267 0.107508

ASM 135 0.090438 0.707254 0.27853 0.108637

energy 0 0.327552 0.845564 0.541082 0.348925

energy 45 0.290236 0.839018 0.514267 0.31486

energy 90 0.303932 0.858575 0.535301 0.316116

energy 135 0.288535 0.838156 0.519415 0.317878

correlation 0 0.80102 0.964415 0.713273 0.983794

correlation 45 0.68097 0.938137 0.680 453 0.866346

correlation 90 0.664973 0.958508 0.65547 0.853013

correlation 135 0.627112 0.888521 0.626447 0.856054


52

Dari data pada Tabel 4.2. merupakan data hasil ekstraksi fitur GLCM

menggunakan library graycomatrix dan graycoprops dari skimage.feature yang telah

dinormalisasi menggunakan fungsi min_max_scaler dari library preprocessing dari

sklearn.

4. Klasifikasi K-Nearest Neighbour

Berdasarkan hasil klasifikasi data menggunakan algoritma KNN dengan

menggunakan fitur gabungan, hasil akurasi dengan perbandingan jumlah data latih

dan jumlah data uji pada nilai k=1, k=3, k=5, k=7, k=9, k=11 dan k=13 dapat dilihat

pada Tabel 4.3.

Tabel 4.3 Hasil klasifikasi k-nearest neighbour


Akurasi (%)
Perbandingan (%)
Nilai K
60:40 70:30 80:20 90:10
K1 82 72 60 60
K3 79 73 52 45
K5 76 75 60 50
K7 79 75 62 60
K9 80 72 67 60
K11 78 72 62 65
K13 76 72 62 65

Berdasarkan hasil klasifikasi data menggunakan algoritma KNN dengan

menggunakan fitur gabungan. Hasil akurasi terbesar pada perbandingan jumlah data

latih dan data uji 60:40% pada nilai ketetanggaan k=1 dengan nilai akurasi sebesar

82%. Hasil akurasi terbesar pada perbandingan jumlah data latih dan data uji 70:30%

pada nilai k=5 dan k=7 dengan nilai akurasi sebesar 75%. Hasil akurasi terbesar pada

perbandingan jumlah data latih dan data uji 80:20% pada nilai k=9 dengan nilai

akurasi sebesar 67%. Hasil akurasi terbesar pada perbandingan jumlah data latih dan
53

data uji 90:10% pada nilai k=11 dengan nilai akurasi sebesar 65%. Hasil akurasi

dipengaruhi oleh banyaknya jumlah data latih dan jumlah data uji. Pada saat

pengujian metode KNN, terjadi perubahan akurasi pada beberapa kali percobaan

pengujian dengan nilai k tertentu, seperti pada k=7. Akurasi pada saat pengujian

pertama memperoleh nilai sebesar 78% sedangkan pada pengujian kedua

memperoleh nilai akurasi sebesar 80% dengan kesalahan klasifikasi yang banyak

terjadi pada kelas lokasattai. Hal ini dikarenakan berdasarkan hasil pengurutan data

sejumlah k terdapat kesamaan jumlah data label mayoritas antara kelas lokasattai

dan kelas lainnya seperti sagu dan gollamamea yang menyebabkan KNN

memberikan hasil yang berbeda pada pengujian pertama dan kedua.

5. Confusion Matrix

Confusion Matrix digunakan untuk memudahkan dalam proses perhitungan

akurasi dengan mengetahui jumlah data uji yang diklasifikasikan dengan benar dan

jumlah data uji yang salah dalam pengklasifikasian. Confusion Matrix dilakukan

dengan mengelompokkan data sesuai pada setiap kelasnya. Setiap kelas yang

terpisah digunakan untuk menghitung nilai presisi, recall, error dan akurasi

perkelasnya. Tabel confusion matrix dengan nilai ketetanggan k=1 pada

perbandingan jumlah data latih dan data uji 60:40% dapat dilihat pada tabel 4.4.

Tabel 4.4 Confusion matrix dengan nilai ketetanggan k= 1


Predicted Values
Actual Values gollamamea lokasattai sagu ubi
gollamamea 17 1 2 0
lokasattai 1 15 2 2
sagu 2 2 15 1
ubi 0 1 0 19
54

Berdasarkan tabel 4.4 Confusion matrix dilakukan pengelompokan data

sesuai pada setiap kelasnya untuk menghitung nilai presisi, recall, error dan akurasi

perkelas. Tabel confusion matrix perkelas dapat dilihat pada tabel berikut ini :

Tabel 4.5 Perhitungan evaluasi kinerja sistem kelas gollamamea dengan k=1
Predict
Positif Negatif
Actual
Positif 17 3
Negatif 0 0

Pada Tabel 4.5 terdapat 17 data bernilai true positive dan 3 data false

positive dan masing-masing 0 data bernilai false negative dan true negative.
17
Precision Gollamamea = 17+0 = 1

Presisi sebesar 100% artinya terdapat 17 data prediksi benar positif dibandingkan

dengan keseluruhan hasil yang diprediksi positif dari semua kelas positif yang telah di

prediksi dengan benar.


17
Recall Gollamamea = 17+3 = 0,85

Recall sebesar 85% artinya terdapat 17 data yang diprediksi benar adalah kelas

gollamamea dari aktual 20 data kelas gollamamea.


0+3
Error Gollamamea = 17+0+0+3 = 0,15

Error sebesar 15% artinya terdapat kesalahan prediksi sebanyak 3 data dari 20 data.
17+0
Akurasi Gollamamea = 17+0+3+0 = 0,85

Akurasi sebesar 85% artinya hasil prediksi yang benar dari kelas gollamamea adalah

mencapai 17 dari 20 data.


55

Berdasarkan perhitungan diatas maka diperoleh nilai presisi, recall, error

dan akurasi dari kelas gollamamea dengan k=1.

Tabel 4.6 Perhitungan evaluasi kinerja sistem kelas lokasattai dengan k=1

Predict
Positif Negatif
Actual
Positif 15 5
Negatif 0 0

Pada Tabel 4.6 terdapat 6 data bernilai true positive dan 4 data false positive

dan masing-masing 0 data bernilai false negative dan true negative.


15
Precission Lokasattai = 15+0 = 1

Presisi sebesar 100% artinya terdapat 15 data prediksi benar positif dibandingkan

dengan keseluruhan hasil yang diprediksi positif dari semua kelas positif yang telah di

prediksi dengan benar.


15
Recall Lokasattai = 15+5 = 0,75

Recall sebesar 75% artinya terdapat 15 data yang diprediksi benar adalah kelas

lokasattai dari aktual 20 data kelas lokasattai.


0+5
Error Lokasattai = 15+0+0+5 = 0,25

Error sebesar 25% artinya terdapat kesalahan prediksi sebanyak 5 dari 20 data.
15+0
Akurasi Lokasattai = 15+0+0+5 = 0,75

Akurasi sebesar 75% artinya hasil prediksi yang benar dari kelas lokasattai adalah

mencapai 15 dari 20 data.


56

Berdasarkan perhitungan diatas maka diperoleh nilai presisi, recall, eror

dan akurasi dari kelas lokasattai dengan k=1.

Tabel 4.7 Perhitungan evaluasi kinerja sistem kelas sagu dengan k=1
Predict
Positif Negatif
Actual
Positif 15 5
Negatif 0 0

Pada Tabel 4.7 terdapat 5 data bernilai true positive dan 5 data false positive

dan masing-masing 0 data bernilai false negative dan true negative.


15
Precission Sagu = 15+0 = 1

Presisi sebesar 100% artinya terdapat 17 data prediksi benar positif dibandingkan

dengan keseluruhan hasil yang diprediksi positif dari semua kelas positif yang telah di

prediksi dengan benar.


15
Recall Sagu = 15+5 = 0,75

Recall sebesar 75% artinya terdapat 15 data yang diprediksi benar adalah kelas

lokasattai dari aktual 20 data kelas lokasattai.


0+5
Error Sagu = 15+0+0+5 = 0,25

Error sebesar 25% artinya terdapat kesalahan prediksi sebanyak 5 dari 20 data.
15+0
Akurasi Sagu = 15+0+0+5 = 0,75

Akurasi sebesar 75% artinya hasil prediksi yang benar dari kelas lokasattai adalah

mencapai 17 dari 20 data.

Berdasarkan perhitungan diatas maka diperoleh nilai presisi, recall, eror

dan akurasi dari kelas sagu dengan k=1.


57

Tabel 4.8 Perhitungan evaluasi kinerja sistem kelas ubi dengan k=1
Predict
Positif Negatif
Actual
Positif 19 1
Negatif 0 0

Pada Tabel 4.8 terdapat 9 data bernilai true positive dan 1 data false positive

dan masing-masing 0 data bernilai false negative dan true negative.


19
Precission Ubi = 19+0 = 1

Presisi sebesar 100% artinya terdapat 19 data prediksi benar positif dibandingkan

dengan keseluruhan hasil yang diprediksi positif dari semua kelas positif yang telah di

prediksi dengan benar.


19
Recall Ubi = 19+1 = 0,95

Recall sebesar 95% artinya terdapat 19 data yang diprediksi benar adalah kelas

gollamamea dari aktual 20 data kelas ubi.


0+1
Error Ubi = 9+0+1+0 = 0,05

Error sebesar 5% artinya terdapat kesalahan prediksi sebanyak 1 dari 20 data.


19+0
Akurasi Ubi = 19+1+0+0 = 0,95

Akurasi sebesar 95% artinya hasil prediksi yang benar dari kelas ubi adalah

mencapai 19 dari 20 data.

Berdasarkan perhitungan diatas maka diperoleh nilai presisi, recall, eror

dan akurasi dari kelas ubi dengan k=1.

Berdasarkan hasil klasifikasi menggunakan KNN Classifier, dilakukan

evaluasi terhadap kinerja sistem dalam mengklasifikasikan data menggunakan


58

metode confusion matrix. Hasil evaluasi kinerja sistem pada Tabel 4.4 sampai 4.8

dapat dilihat pada Tabel 4.9 nilai precision, recall, error dan akurasi dapat dilihat

pada Tabel berikut ini :

Tabel 4.9 Nilai precision, recall, error dan akurasi data perkelas pada k=1
Kelas
K=1
Gollamamea Lokasattai Sagu Ubi
Akurasi 0,85 0,75 0,75 0,95
Presisi 1 1 1 1
Recall 0,85 0,75 0,75 0,05
Error 0,15 0,25 0,25 0,95

Hasil evaluasi confusion matrix perkelasnya pada k=1 dapat dilihat pada

Tabel 4.9. Nilai akurasi terbesar ada pada kelas ubi dengan tingkat akurasi 95% pada

k=1. Sedangkan nilai akurasi terkecil ada pada kelas lokasattai dan sagu dengan

tingkat akurasi 75% pada k=1.

E. Pengujian

Tahapan berikutnya yang dilakukan adalah pengujian, pengujian dilakukan

untuk membandingkan kinerja sistem maka dilakukan pengujian terhadap setiap

metode. Skenario dalam melakukan pengujian terbagi menjadi tiga. Pertama yaitu

jika menggunakan metode Color Histogram. Kedua yaitu menggunakan metode

GLCM. Ketiga yaitu menggunakan metode Color Histogram dan GLCM. Pada tahap

ini dilakukan pengujian masing-masing metode dan fungsi untuk mengetahui apakah

dapat bekerja dengan semestinya.

1. Pengujian Terhadap Ekstraksi Fitur Color Histogram

Pengujian Metode Color Histogram terhadap akurasi pada tabel 4.10 dapat

dilihat perbandingan hasil akurasi dengan nilai k tertentu dengan 80 data uji.
59

Tabel 4.10 Hasil pengujian data uji dengan color histogram


K Fitur Color Histogram
Data Benar Akurasi
1 52 65%
3 52 65%
5 45 56%
7 45 56%
9 46 57%
11 41 52%
13 37 48%

Pengujian metode Color Histogram terhadap akurasi pada tabel 4.10 dapat

dilihat bahwa nilai akurasi 65% pada k=1 dan k=3 merupakan nilai akurasi tebesar.

Tabel 4.11 Pengujian color histogram dengan nilai k dengan akurasi tertinggi (k=1)
Kelas Prediksi
Kelas Sebanarnya Gollamamea Lokasattai Sagu Ubi
Gollamamea 13 3 2 2
Lokasattai 1 17 1 1
Sagu 5 2 6 7
Ubi 0 1 3 16

Berdasarkan Tabel 4.11 dapat dilihat perbandingan dari kelas sebenarnya

dan kelas hasil prediksi. Sebanyak 80 data uji yang digunakan terdapat 28 data yang

tidak sesuai dengan kelas sebenarnya.

2. Pengujian Terhadap Ekstraksi Fitur Gray Level Co-Occurrence Matrix(GLCM)

Pengujian metode Gray Level Co-occurrence Matrix terhadap akurasi. Pada

Tabel 4.26 dapat dilihat perbandingan hasil akurasi dengan nilai k tertentu dengan 80

data uji.

Tabel 4.12 Hasil pengujian data uji dengan GLCM


K Fitur Gray Level Co-Occurrence Matrix
Data Benar Akurasi
1 48 60%
3 50 62%
60

K Fitur Gray Level Co-Occurrence Matrix


Data Benar Akurasi
5 51 64%
7 51 64%
9 51 64%
11 51 64%
13 51 64%

Pengujian Metode Gray Level Co-occurrence Matrix terhadap akurasi pada

Tabel 4.12 dapat dilihat bahwa nilai akurasi 64% pada k=5, k=7, k=9, k=11 dan

k=13 merupakan nilai akurasi tebesar.

Tabel 4.13 Pengujian GLCM dengan nilai k dengan akurasi tertinggi (k=13)
Kelas Prediksi
Kelas Sebanarnya
Gollamamea Lokasattai Sagu Ubi
Gollamamea 15 1 0 4
Lokasattai 9 4 2 5
Sagu 4 1 14 1
Ubi 1 1 0 18

Pengujian Metode Gray Level Co-occurrence Matrix terhadap akurasi pada

Tabel 4.13 dapat dilihat perbandingan dari hasil kelas sebenarnya dan kelas prediksi.

Sebanyak 80 data uji yang digunakan terdapat 29 data yang tidak sesuai dengan kelas

sebenarnya.

3. Pengujian terhadap Ekstraksi Fitur Gabungan

Pengujian Metode Color Histogram dan Gray Level Co-occurrence Matrix

terhadap Akurasi pada Tabel 4.14 dapat dilihat perbandingan hasil akurasi dengan

nilai k tertentu dengan 80 data uji.

Tabel 4.14 Hasil pengujian data uji dengan fitur gabungan


Gabungan
K
Data Benar Akurasi
1 66 82%
61

3 63 79%
5 61 76%
7 62 78%
9 64 80%
11 62 78%
13 61 76%

Pengujian Metode Color Histogram dan Gray Level Co-occurrence Matrix

terhadap akurasi pada Tabel 4.14 dapat dilihat bahwa nilai akurasi 82% pada k=1

merupakan nilai akurasi tebesar.dapat dilihat perbandingan dari kelas sebenarnya dan

kelas hasil prediksi. Sebanyak 80 data uji yang digunakan terdapat beberapa data

yang tidak sesuai dengan kelas sebenarnya.

Tabel 4.15 Perbandingan klasifikasi data benar dan data salah hasil prediksi
Klasifikasi
Jumlah
Nilai K Data
Data Data Salah Akurasi
Benar
1 80 66 14 82%
3 80 63 17 79%
5 80 61 19 76%
7 80 62 18 78%
9 80 64 16 80%
11 80 62 18 78%
13 80 61 19 76%

Tabel 4.15 merupakan Tabel hasil klasifikasi data uji menggunakan fitur

gabungan dengan nilai k=1, k=3, k=5, k=7, k=9, k=11 dan k=13. Hasil pengujian

data uji pada Tabel 4.15 menggunakan fitur Color Histogram dan fitur Gray Level

Co-occurrence Matrix Sebanyak 80 data uji yang digunakan terdapat beberapa data

yang tidak sesuai dengan kelas sebenarnya. Pada k=1 terdapat 14 data yang tidak

sesuai dengan kelas sebenarnya, k=3 terdapat 17 data yang tidak sesuai dengan kelas
62

sebenarnya, k=5 terdapat 19 data yang tidak sesuai dengan kelas sebenarnya, k=7

terdapat 18 data yang tidak sesuai dengan kelas sebenarnya, pada k=9 terdapat 16

data yang tidak sesuai dengan kelas sebenarnya, pada k=11 terdapat 18 data yang

tidak sesuai dengan kelas sebenarnya dan pada k=13 terdapat 19 data yang tidak

sesuai dengan kelas sebenarnya.

Tabel 4.16 Hasil pengujian data uji dengan fitur gabungan dengan nilai k dengan
akurasi tertinggi (k=1)
Kelas Prediksi
Kelas Sebanarnya
Gollamamea Lokasattai Sagu Ubi
Gollamamea 17 1 2 0
Lokasattai 1 15 2 2
Sagu 2 2 15 1
Ubi 0 1 0 19

Pengujian Metode Gray Level Co-occurrence Matrix terhadap akurasi pada

Tabel 4.16 dapat dilihat perbandingan dari kelas sebenarnya dan kelas hasil prediksi.

Sebanyak 80 data uji yang digunakan terdapat 14 data yang tidak sesuai dengan kelas

sebenarnya.

4. Perbandingan Akurasi

Tabel 4.17 Hasil pengujian data uji dengan fitur gabungan


Fitur Gray Level Co-
Fitur Color Histogram Occurrence Matrix Gabungan
K Data
Benar Akurasi Data Benar Akurasi Data Benar Akurasi
1 52 65% 48 60% 66 82%
3 52 65% 50 62% 63 79%
5 45 56% 51 64% 61 76%
7 45 56% 51 64% 62 78%
9 46 57% 51 64% 64 80%
11 41 52% 51 64% 62 78%
13 37 48% 51 64% 61 76%
63

Perbandingan akurasi menggunakan masing-masing fitur dan fitur gabungan

dapat dilihat pada tabe 4.17. Dengan menggunakan fitur Color Histogram dan

GLCM, nilai akurasi tertinggi sebesar 82% dengan nilai k=1. Berbeda dengan nilai

akurasi fitur Color Histogram saja dimana akurasi tertinggi sebesar 65% pada k=1

dan k=3, dan GLCM dengan akurasi tertinggi sebesar 64% pada k=5, k=7, k=9,

k=11 dan k=13.


66

BAB V

PENUTUP

A. Kesimpulan

Kesimpulan yang didapat dalam penelitian ini yaitu sebagai berikut.

1. Ekstraksi fitur warna Color Histogram dengan citra inputan berupa RGB yang

diperoleh menggunakan library statistik yang terdiri dari fitur Mean, standar

deviasi, dan Skewness serta fitur tekstur yang diperoleh dengan menghitung nilai

matriks ko-okurensi awal untuk jarak antar pixel tetangga d=1 pada sudut 0°, 45°,

90°, dan 135°. Membentuk matriks simetris dengan menjumlahkan nilai matriks

ko-okurensi dengan transposenya, melakukan normalisasi terhadap nilai matriksi

untuk memperoleh fitur Contras, Dissimilarity, Homogeneity, Angular Second

Moment (ASM), Energy, dan Correlation. Terakhir dengan menggunakan fitur-

fitur yang didapat kemudian dilakukan klasifikasi.

2. Klasifikasi citra makanan menggunakan metode GLCM dan Color Histogram

dengan KNN Classifier menghasilkan nilai akurasi sebesar 82% dengan nilai k=1

pada perbandingan 60:40%. Akurasi pada fitur Color Histogram sebesar 65%

pada k=1 dan k=3, dan GLCM dengan akurasi sebesar 64% pada k=5, k=7, k=9,

k=11 dan k=13. Selain itu, hasil dari pengujian yang telah dilakukan

menggunakan metode Color Histogram menghasilkan akurasi sebesar 47%

dengan k=3 dan metode GLCM menghasilkan akurasi sebesar 57% dengan k=9.
67

Nilai akurasi tertinggi sebesar 75% dengan nilai k=5 dan k=7 pada perbandingan

70:30%. Nilai akurasi tertinggi sebesar 67% dengan nilai k=9 pada perbandingan

70:30%. Serta nilai akurasi tertinggi sebesar 35% dengan nilai k=1, k=7 dan k=13

pada perbandingan 90:10%.

B. Saran

Saran yang didapatkan dari hasil penelitian ini yaitu sebagai berikut.

1. Jika menggunakan fitur warna dalam melakukan penelitian, sebaiknya data yang

digunakan memiliki keberagaman warna.

2. Diperlukan pengenalan bentuk dalam melakukan klasifikasi citra jika memiliki

data yang tidak utuh.


68

DAFTAR PUSTAKA

Batubara, N. P., Widiyanto, D. and Chamidah, N. (2020) ‘Klasifikasi rempah


rimpang berdasarkan ciri warna rgb dan tekstur glcm menggunakan
algoritma naive bayes’, Informatik : Jurnal Ilmu Komputer, 16(3), p. 156.
doi: 10.52958/iftk.v16i3.2196.
Febriani, F. D., Sari, Y. A. and Wihandika, R. C. (2019) ‘Klasifikasi Citra Kue
Tradisional Indonesia Berdasarkan Ekstraksi Fitur Warna RGB Color
Moment Menggunakan K-Nearest Neighbour’, Jurnal Pengembangan
Teknologi Informasi dan Ilmu Komputer, 3(10), pp. 10199–10206.
Hidayat, R. and Suprapto, S. (2016) ‘Meminimalisasi Nilai Error Peramalan dengan
Algoritma Extreme Learning Machine’, Jurnal Optimasi Sistem Industri,
11(1), p. 187. doi: 10.25077/josi.v11.n1.p187-192.2012.
Makanankhasmandar.blogspot (2018) MAKANAN KHAS MANDAR: Jepa Gollai,
makanankhasmandar.blogspot. Available at:
http://makanankhasmandar.blogspot.com/2018/03/jepa-gollai.html
(Accessed: 22 November 2021).
Marleny, F. D. (2022) Pengolahan Citra Digital Menggunakan Python.
Noval (2012) gambar jepa sagu khas mandar - Yahoo Hasil Image Search,
novalpengedarjepa.blogspot.com. Available at:
https://id.images.search.yahoo.com/search/images?p=gambar+jepa+sagu+k
has+mandar&fr=mcafee&type=E210ID885G0&imgurl=https%3A%2F%2
F1.bp.blogspot.com%2F-lxtxWuszU0Y%2FW4LKMxx-
2lI%2FAAAAAAAAAFk%2F9Iou18t1sUIa3-
TBe_WXR1V0oocSTmy3QCLcBGAs%2Fs1600%2FGraphic5.jpg#
(Accessed: 20 November 2021).
Priambodo, H. S., Sari, Y. A. and Widodo, A. W. (2019) ‘Klasifikasi Jenis Citra
Makanan menggunakan Color Histogram dan Gray Level Co-occurrence
Matrix dengan K-Nearest Neighbour’, Jurnal Pengembangan Teknologi
Informasi dan Ilmu Komputer, 3(7), pp. 6873–6880.
Priawadi, O. (2021). OpenCV. Www.Priawadi.Com.
https://www.priawadi.com/2012/09/opencv.html
Purnamasari, I. and Sutojo, T. (2017) ‘Pengenalan Ciri Garis Telapak Tangan
Menggunakan Ekstraksi Fitur (Glcm) Dan Metode K-Nn’, CCIT Journal,
10(2), pp. 221–229. doi: 10.33050/ccit.v10i2.541.
Sulbar, B. (2016) Jepa Pangan Lokal Berbasis Ubi Kayu dari Sulawesi Barat,
sulbar.litbang.pertanian.go.id. Available at:
http://sulbar.litbang.pertanian.go.id/ind/index.php/berita/19-jepa-pangan-
lokal-berbasis-ubi-kayu-dari-sulawesi-
barat?&modjemcal_id=819&modjemcal_month=10&modjemcal_year=203
2 (Accessed: 19 November 2021).
Ting, K. M. (2017) ‘Confusion Matrix’, Encyclopedia of Machine Learning and
69

Data Mining, (October), pp. 260–260. doi: 10.1007/978-1-4899-7687-1_50.


Utekqu. (2011). Analisis Tekstur dengan Metode GLCM (Gray Level Co-occurrence
Matrix) | utekqu. Utekqu.Wordpress.Com.
https://utekqu.wordpress.com/2011/01/23/analisis-tekstur-dengan-metode-
GLCM/
Wiranata, C. (2019). Apa itu Model Warna RGB? Nih, Penjelasan Lengkapnya!
Www.Solusiprinting.Com. https://solusiprinting.com/apa-itu-model-warna-
RGB-nih-penjelasan-lengkapnya/
70

LAMPIRAN-LAMPIRAN

a. Lampiran Fitur Data Latih


Fitur Gollamamea Lokasattai Sagu Ubi
mean red 0.470459 0.319459 0.466344 0.594662
mean green 0.491431 0.486819 0.403714 0.637675
mean blue 0.513488 0.442262 0.331316 0.588703
standar deviasi red 0.708161 0.882838 0.773023 0.603455
standar deviasi green 0.685309 0.966106 0.779387 0.686336
standar deviasi blue 0.639506 0.954169 0.732897 0.685896
skew red 0.165611 0.430817 0.84955 0.495526
skew green 0.174181 0.384407 0.942578 0.54436
skew blue 0.192818 0.384309 0.92003 0.544721
contrast 0 0.411772 0.585955 0.70015 0.209733
contrast 45 0.555744 0.497115 0.801527 0.278651
contrast 90 0.608758 0.326259 0.803882 0.283805
contrast 135 0.585968 0.539827 0.777336 0.277124
dissimilarity 0 0.607957 0.54193 0.782696 0.178396
dissimilarity 45 0.746819 0.479696 0.879051 0.298752
dissimilarity 90 0.795513 0.316295 0.89039 0.272142
dissimilarity 135 0.785104 0.551427 0.85905 0.295953
homogeneity 0 0.331784 0.645518 0.534177 0.46255
homogeneity 45 0.291352 0.628248 0.495346 0.414771
homogeneity 90 0.297204 0.664654 0.509029 0.430444
homogeneity 135 0.280801 0.616061 0.487029 0.41685
ASM 0 0.114875 0.42899 0.324222 0.167521
ASM 45 0.09132 0.412143 0.291624 0.143356
ASM 90 0.099716 0.443798 0.31248 0.157631
ASM 135 0.090361 0.411071 0.293108 0.147119
energy 0 0.326004 0.648126 0.56088 0.39768
energy 45 0.288732 0.634953 0.531016 0.366555
energy 90 0.30237 0.659527 0.550233 0.385132
energy 135 0.286898 0.633988 0.53227 0.371392
correlation 0 0.80102 0.876538 0.715764 0.926113
correlation 45 0.68097 0.872415 0.641206 0.844079
correlation 90 0.664973 0.950539 0.652938 0.86455
correlation 135 0.627112 0.838181 0.613425 0.827559
71

b. Lampiran Fitur Data Uji


Fitur Gollamamea Lokasattai Sagu Ubi
mean red 0.781423254 0.890151 0.837998 0.377924
mean green 0.578490415 0.547693 0.865706 0.200866
mean blue 0.544309796 0.22265 0.886661 0.152218
standar deviasi red 0.835166113 0.982312 0.919132 0.876426
standar deviasi green 0.540410357 0.579738 0.857545 0.728607
standar deviasi blue 0.304510761 0.036965 0.84428 0.651606
skew red 0.962000336 0.823124 0.535729 0.19543
skew green 1 0.7655 0.481179 0.169777
skew blue 1 0.766392 0.488216 0.181776
contrast 0 0.417829488 0.335918 0.141141 0.261545
contrast 45 1 0.891882 0.896673 0.102853
contrast 90 1 0.94148 0.917785 0.353146
contrast 135 0.518590871 0.446092 0.298595 0.407144
dissimilarity 0 0.523969017 0.440395 0.171894 0.178799
dissimilarity 45 0.938333789 0.843539 0.796538 0.031724
dissimilarity 90 0.933491881 0.892976 0.825583 0.247058
dissimilarity 135 0.633266516 0.586714 0.379062 0.301888
homogeneity 0 0.305704629 0.371529 0.436072 1
homogeneity 45 0.295169678 0.347347 0.31254 1
homogeneity 90 0.319914191 0.365215 0.333804 1
homogeneity 135 0.322950419 0.383546 0.383569 1
ASM 0 0.241779634 0.287027 0.271185 0.972308
ASM 45 0.222520835 0.261231 0.214256 0.97318
ASM 90 0.230104912 0.264972 0.218908 0.933374
ASM 135 0.230687258 0.279812 0.242961 0.937144
energy 0 0.335507413 0.386737 0.369082 0.980391
energy 45 0.324843615 0.36998 0.31491 0.981604
energy 90 0.329948259 0.370275 0.316625 0.953427
energy 135 0.328555217 0.384836 0.342923 0.955861
correlation 0 0.50138737 0.591905 1 0.827241
correlation 45 0.262765185 0.31742 0.572082 1
correlation 90 0.129931133 0.144881 0.439146 0.727104
correlation 135 0.341451717 0.419663 0.913492 0.719474
72

c. Lampiran Tabel Hasil Pengujian


Predi N Predi Predi N Predi
No File File No File File
ksi o ksi ksi o ksi
golla
lokas
1 mame 21 41 sagu 61 ubi
attai
a

lokas
2 sagu 22 42 sagu 62 ubi
attai

golla golla
lokas
3 mame 23 43 mame 63 ubi
attai
a a

golla golla
4 mame 24 mam 44 sagu 64 ubi
a ea

golla
lokas lokas
5 mame 25 45 65 ubi
attai attai
a

golla
lokas
6 mame 26 46 sagu 66 ubi
attai
a

golla
mame 27 ubi 47 sagu 67 ubi
a

golla
lokas
8 mame 28 48 sagu 68 ubi
attai
a

golla
9 mame 29 ubi 49 sagu 69 ubi
a

golla
lokas lokas
10 mame 30 50 sagu 70
attai attai
a

golla
lokas
11 mame 31 51 sagu 71 ubi
attai
a
73

Predi N Predi Predi N Predi


No File File No File File
ksi o ksi ksi o ksi
golla
lokas
12 mame 32 52 sagu 72 ubi
attai
a

golla
lokas
13 mame 33 53 sagu 73 ubi
attai
a

golla
14 mame 34 sagu 54 sagu 74 ubi
a

lokas
15 sagu 35 55 sagu 75 ubi
attai

golla
lokas lokas
16 mame 36 56 76 ubi
attai attai
a

golla
lokas
17 mame 37 57 sagu 77 ubi
attai
a

golla
lokas
18 mame 38 58 sagu 78 ubi
attai
a

golla golla
lokas
19 mame 39 59 mame 79 ubi
attai
a a

lokas
20 40 sagu 60 ubi 80 ubi
attai
74

d. Lampiran Sourcode :
Sourcode preprocessing citra, kstraksi fitur color histogram dan GLCM
1.import cv2
2.import numpy as np
3.from matplotlib import pyplot
4.from scipy.stats import skew
5.import matplotlib.pyplot as plt
6.from PIL import Image
7.import xlsxwriter
8.from skimage .feature import graycomatrix, graycoprops
9.from skimage.morphology import (erosion, dilation, closing, opening,
10. area_closing, area_opening)
11. workbook = xlsxwriter.Workbook('Fitur Data uji10persen1.xlsx')
12. worksheet = workbook.add_worksheet()
13. jenis =['gollamamea','lokasattai','sagu','ubi']
14. jumlah_data = 45
15. rgb_properties = ['red','green','blue']
16. histogram_properties = ['mean', 'standar defiasi', 'skew']
17. glcm_properties = ['contrast', 'dissimilarity', 'homogeneity', 'ASM', 'ener
gy', 'correlation']#https://www.mathworks.com/help/images/ref/graycoprops.html
18. angles = ['0' ,'45', '90', '135']
19. #worksheet.write(0,0,"file")
20. kolom = 0
21. #menulis header excel
22. '''for i in rgb_properties :
23. worksheet.write(0,kolom,i)
24. kolom +=1'''
25. for i in histogram_properties:
26. for j in rgb_properties:
27. worksheet.write(0,kolom,i+" "+j)
28. kolom +=1
29. for i in glcm_properties :
30. for j in angles:
31. worksheet.write(0,kolom,i+" "+j)
32. kolom +=1
33. baris = 1
34. #perulangan untuk setiap kumpulan data
35. for i in jenis:
36. for j in range(46, 51):
37. kolom =0
38. file_name =("train/"+"original image/"+i+str(j)+".jpg")
39. print(file_name)
40. #worksheet.write(baris, kolom , file_name)
41. #kolom +=1
75

42. #preprocessing
43. src = cv2.imread(file_name, 1)
44. rez = cv2.resize(src, (300, 300))
45. tmp = cv2.cvtColor(rez, cv2.COLOR_RGB2GRAY)
46. #Konversi ke Gaussian Blur
47. blur = cv2.GaussianBlur(tmp,(3, 3), 0)
48. #Konversi ke Otsu Thresholding
49. _,tresh =cv2.threshold(blur, 50, 255, cv2.THRESH_BINARY)
50. #Konversi ke Erotion
51. opening = area_opening(tresh.copy(),10000)
52. closing = area_closing(opening.copy(),10000)
53. #Konversi ke Masking
54. Mask = cv2.bitwise_and(rez,rez, mask = closing)
55. contours, hierarchy = cv2.findContours(closing,cv2.RETR_TREE,cv2.C
HAIN_APPROX_SIMPLE)
56. selected = max(contours,key=cv2.contourArea)
57. x,y,w,h = cv2.boundingRect(selected)
58. cropped = Mask[y:y+h,x:x+w]
59. gray = cv2.cvtColor(cropped, cv2.COLOR_BGR2GRAY)
60. cv2.imwrite("hist/"+i+str(j)+".jpg", cropped)
61. #color histogram
62. hist = ("hist/"+i+str(j)+".jpg")
63. citra = cv2.imread(hist)
64. colon_number = 0
65. means, dev = cv2.meanStdDev(citra)
66. s= skew (citra)
67. for item in means:
68. worksheet.write(baris, kolom, item)
69. kolom +=1
70. for item in dev:
71. worksheet.write(baris, kolom, item)
72. kolom +=1
73. for item in s:
74. worksheet.write(baris, kolom, item)
75. kolom +=1
76. #glcm
77. glcm = graycomatrix(gray,
78. distances = [5],
79. angles = [0, np.pi/4, np.pi/2, 3*np.pi/4],
80. levels = 256,
81. symmetric = True,
82. normed = True)
83. glcm_props = [propery for name in glcm_properties for propery in gray
coprops(glcm, name)[0]]
76

84. for item in glcm_props:


85. worksheet.write(baris, kolom, item)
86. kolom +=1
87. worksheet.write(baris, kolom, i)
88. worksheet.write(0,kolom,"kelas")
89. kolom +=1
90. baris +=1
91. workbook.close()
Sourcode klasifikasi dengan KNN
1.import seaborn as sns
2.import matplotlib.pyplot as plt
3.import pandas as pd
4.from sklearn.metrics import classification_report, confusion_matrix, accuracy_scor
e
5.from csv import reader
6.from math import sqrt
7.# Memuat file CSV
8.def load_csv(filename):
9. dataset = list()
10. with open(filename, 'r') as file:
11. csv_reader = reader(file)
12. for row in csv_reader:
13. if not row:
14. continue
15. dataset.append(row)
16. return dataset
17. # Ubah kolom string menjadi float
18. def str_column_to_float(dataset, column):
19. for row in dataset:
20. row[column] = float(row[column].strip())
21.
22. # Ubah kolom string menjadi integer
23. def str_column_to_int(dataset, column):
24. class_values = [row[column] for row in dataset]
25. unique = set(class_values)
26. lookup = dict()
27. for i, value in enumerate(unique):
28. lookup[value] = i
29. print('[%s] => %d' % (value, i))
30. for row in dataset:
31. row[column] = lookup[row[column]]
32. return lookup
33. # Hitung jarak Euclidean antara dua vektor
34. def euclidean_distance(row1, row2):
77

35. distance = 0.0


36. for i in range(len(row1)-1):
37. distance += (row1[i] - row2[i])**2
38. return sqrt(distance)
39. # Temukan tetangga yang paling mirip
40. def get_neighbors(train, test_row, num_neighbors):
41. distances = list()
42. for train_row in train:
43. dist = euclidean_distance(test_row, train_row)
44. distances.append((train_row, dist))
45. distances.sort(key=lambda tup: tup[1])
46. neighbors = list()
47. for i in range(num_neighbors):
48. neighbors.append(distances[i][0])
49. return neighbors
50. # Buat prediksi dengan tetangga
51. def predict_classification(train, test_row, num_neighbors):
52. neighbors = get_neighbors(train, test_row, num_neighbors)
53. output_values = [row[-1] for row in neighbors]
54. prediction = max(set(output_values), key=output_values.count)
55. return prediction
56. # Algoritma kNN
57. def k_nearest_neighbors(train, test, num_neighbors):
58. predictions = list()
59. for row in test:
60. output = predict_classification(train, row, num_neighbors)
61. predictions.append(output)
62. return(predictions)
63. # Buat prediksi dengan KNN di Dataset
64. filename = ("Fitur Data Latih80normminmax.csv")
65. dataset = load_csv(filename)
66. for i in range(len(dataset[0])-1):
67. str_column_to_float(dataset, i)
68. filename_tes = ("Data Uji20normminmax.csv")
69. datates = load_csv(filename_tes)
70. for i in range(len(datates[0])-1):
71. str_column_to_float(datates, i)
72. actual = ['gollamamea','gollamamea','gollamamea','gollamamea','gollamamea'
,'gollamamea','gollamamea','gollamamea','gollamamea','gollamamea','lokasattai','loka
sattai','lokasattai','lokasattai','lokasattai','lokasattai','lokasattai','lokasattai','lokasattai','l
okasattai','sagu','sagu','sagu','sagu','sagu','sagu','sagu','sagu','sagu','sagu','ubi','ubi','ubi',
'ubi','ubi','ubi','ubi','ubi','ubi','ubi']
73. predict=[]
74. for row0 in datates:
78

75. for row in dataset:


76. distance = euclidean_distance(row0, row)
77. #print(distance)
78. num_neighbors = 13
79. label = predict_classification(dataset, row0, num_neighbors)
80. #print(label)
81. predict.append(label)
82. cm= confusion_matrix(actual,predict)
83. print(cm)
84. cr = classification_report(actual,predict)
85. print(cr)
86. ac=accuracy_score(actual,predict)
87. print(ac)
88. # Membuat kerangka data untuk matriks Confusion berformat array, sehingg
a akan mudah untuk diplot..
89. cm_df = pd.DataFrame(cm,
90. index = ['gollamamea','lokasattai', 'sagu','ubi'],
91. columns = ['gollamamea','lokasattai', 'sagu','ubi'])
92. print(cm.sum())
93. plt.figure(figsize=(6,5))
94. sns.heatmap(cm_df, annot=True)
95. plt.title('Confusion Matrix')
96. plt.ylabel('Actual Values')
97. plt.xlabel('Predicted Values')
98. plt.show()

Anda mungkin juga menyukai