JURNAL GAUSSIAN, Volume 9, Nomor 3, Tahun 2020, Halaman 273 - 282 Online di: https://ejournal3.undip.ac.id/index.php/gaussian/
KLASIFIKASI CITRA DIGITAL BUMBU DAN REMPAH DENGAN ALGORITMA CONVOLUTIONAL NEURAL NETWORK (CNN)
Isna Wulandari 1 , Hasbi Yasin 2 , Tatik Widiharih 3
1,2,3 Departemen Statistika, Fakultas Sains dan Matematika, Universitas Diponegoro isnawulandari15@gmail.com

## ABSTRACT
The recognition of herbs and spices among young generation is still low. Based on research in SMK 9 Bandung, showed that there are 47% of students that did not recognize herbs and spices. The method that can be used to overcome this problem is automatic digital sorting of herbs and spices using Convolutional Neural Network (CNN) algorithm. In this study, there are 300 images of herbs and spices that will be classified into 3 categories. It’s ginseng, ginger and galangal. Data in each category is divided into two, training data and testing data with a ratio of 80%: 20%. CNN model used in classification of digital images of herbs and spices is a model with 2 convolutional layers, where the first convolutional layer has 10 filters and the second convolutional layer has 20 filters. Each filter has a kernel matrix with a size of 3x3. The filter size at the pooling layer is 3x3 and the number of neurons in the hidden layer is 10. The activation function at the convolutional layer and hidden layer is tanh, and the activation function at the output layer is softmax. In this model, the accuracy of training data is  0.9875  and  the  loss  value  is  0.0769.  The  accuracy  of  testing  data  is  0.85  and  the  loss  value  is  0.4773. Meanwhile, testing new data with 3 images for each category produces an accuracy of 88.89%.
Keywords : image classification, herbs and spices, CNN.

## 1. PENDAHULUAN
Indonesia  merupakan  negara  yang  memiliki  kekayaan  alam  terbesar  kedua  di  dunia setelah  Brazil.  Salah  satu  kekayaan  alam  yang  terkenal  dari  Indonesia  adalah  kekayaan bumbu  dan  rempahnya.  Bumbu  dan  rempah  memiliki  manfaat  utama  sebagai  penambah citarasa masakan. Selain itu, bumbu dan rempah juga bermanfaat dalam bidang kesehatan dan  kecantikan.  Rempah-rempah  juga  merupakan  sumber  daya  hayati  yang  tidak  dapat dipisahkan dari sejarah bangsa Indonesia. Kekayaan rempah-rempah di kepulauan Indonesia adalah  awal  mula  petaka  dan  penyebab  penjajahan  bangsa  asing  di  Indonesia  Rempah- rempah  adalah  daya  tarik  kepulauan  Indonesia  yang  menarik  bangsa-bangsa  Eropa  untuk menguasai dan memainkan peran politik dominan di wilayah Indonesia (Hakim, 2015).
Banyaknya  manfaat  bumbu  dan  rempah  dengan  segala  daya  tariknya  dimasa  lalu, ternyata tidak sejalan dengan pengenalan bumbu dan rempah dikalangan anak muda. Hasil penelitian di SMKN 9 Bandung mendapatkan hasil bahwa sebanyak 47% siswa masih belum mengenali bumbu dan rempah pada saat pengolahan makanan Indonesia (Hikmatulloh et al , 2017) .
Perkembangan ilmu pengetahuan dan teknologi pengolahan citra digital memungkinkan untuk memilah bumbu dan rempah secara otomatis.  Klasifikasi citra merupakan alternatif untuk  mengatasi  masalah  tersebut.  Tujuan  dari  klasifikasi  citra  adalah  menduplikasikan kemampuan  manusia  dalam  memahami  informasi  citra  digital,  sehingga  komputer  dapat mengklasifikasikan objek berupa citra selayaknya manusia. Masalah yang dihadapi dalam klasifikasi citra adalah proses feature engineering yang terbatas pada dataset tertentu saja. Hal  ini  dikarenakan  setiap  citra  memiliki  perbedaan  sudut  pandang,  perbedaan  skala, perbedaan kondisi pencahayaan, deformasi objek, dan sebagainya.
Salah  satu  pendekatan  yang  berhasil  untuk  mengklasifikasikan  citra  adalah menggunakan Jaringan Syaraf Tiruan ( Artificial Neural Network /ANN). Model ANN yang yang  dapat  digunakan  untuk  masalah  klasifikasi  objek  berupa  citra  adalah Convolutional
Neural Network (CNN) . CNN merupakan operasi konvolusi yang menggabungkan beberapa lapisan  pemrosesan,  menggunakan  beberapa  elemen  yang  beroperasi  secara  paralel  dan terinspirasi oleh sistem saraf biologis (Hu et al , 2015).
Pada  penelitian  ini  metode  CNN  digunakan  untuk  mengklasifkasikan  objek  citra. Objek citra tersebut akan dibagi menjadi 3 kategori yaitu ginseng, jahe dan lengkuas. Tujuan dari  penelitian  ini  adalah  untuk  mengatahui hyperparameter dan  model  CNN  untuk pengenalan  secara  visual  citra  digital  bumbu  dan  rempah  serta  untuk  mengetahui  tingkat akurasi dari hasil klasifikasi.

## 2. TINJAUAN PUSTAKA

## 2.1. Citra Digital
Citra digital merupakan suatu matriks dimana indeks baris dan kolomnya menyatakan suatu titik pada citra tersebut dan elemen matriksnya (yang disebut sebagai elemen gambar atau  piksel)  menyatakan  tingkat  keabuan  pada  titik  tersebut  (Fikriya et  al ,  2017).  Pada penelitian ini digunakan citra berwarna. Citra berwarna tersusun atas tiga buah warna primer yaitu Red , Green dan Blue .  Sebuah  citra  warna  berukuran 𝐵𝑥𝐶 piksel  dapat  dituliskan menjadi  tiga buah matriks  yang  masing-masing  terdiri dari 𝐵 baris  dan 𝐶 kolom, dimana setiap komponen pada matriks merepresentasikan nilai derajat keabuan pada masing-masing channel ( Red,  Green,  Blue ).  Sebuah  citra  warna  dapat  direpresentasikan  oleh  matriks 𝑰 𝑝 , dimana 𝑰 1 merupakan matriks yang merepresentasikan derajat keabuan citra pada channel Red , 𝑰 2 merupakan  matriks  yang  merepresentasikan  derajat  keabuan  citra  pada channel Green dan 𝑰 3 merupakan matriks yang merepresentasikan derajat keabuan citra pada channel Blue .
𝑰 𝑝 = [ (𝑎 11 ) 𝑝 (𝑎 12 ) 𝑝 (𝑎 21 ) 𝑝 (𝑎 22 ) 𝑝 … … (𝑎 1𝐶 ) 𝑝 (𝑎 2𝐶 ) 𝑝 ⋮          ⋮ ⋱ ⋮ (𝑎 𝐵1 ) 𝑝 (𝑎 𝐵2 ) 𝑝 ⋯ (𝑎 𝐵𝐶 ) 𝑝 ]
Nilai untuk masing-masing komponen matriks 𝑰 𝑝 adalah sebagai
(𝑎 𝑖𝑗 ) 𝑝 = 𝑑 𝑝 255 (1)
𝐵 adalah jumlah piksel baris pada citra dan 𝐶 adalah jumlah piksel kolom pada citra. 𝑑 𝑝 merupakan nilai yang merepresentasikan derajat keabuan citra pada channel ke 𝑝 , nilai 𝑑 𝑝 diskrit dan memiliki range antara 0 hingga 255.

## 2.2. Convolutional Neural Network
Convolutional  Neural  Network merupakan  salah  satu  jenis neural  network yang biasanya  digunakan  untuk  pengolahan  data image (Santoso  dan  Ariyanto,  2018).  CNN digunakan  untuk  melakukan  klasifikasi  data  yang  berlabel  dengan  menggunakan  metode supervised  learning. Pada supervised  learning target  yang  diharapkan  dari  input  yang diterima jaringan telah diketahui sebelumnya (Warsito, 2009).
Secara teknis, CNN adalah sebuah arsitektur yang dapat dilatih dan terdiri dari beberapa tahap.  Input  dari  CNN  berupa  objek  berupa  citra.  Proses  mendeskripsikan  citra  menjadi feature yang dapat dipahami jaringan inilah yang membedakan CNN dengan jaringan syaraf lainnya. Arsitektur CNN terbagi menjadi 2 sebagai berikut
a. Feature Learning
Feature learning berfungsi  untuk  mengubah  matriks  input  citra  menjadi feature maps. Pada feature learning terdapat dua macam lapisan yaitu convolutional layer dan
pooling  layer .  Jumlah convolutional  layer dan pooling  layer pada feature  learning merupakan hyperparameter , artinya jumlahnya dapat berubah tergantung pada dataset yang digunakan. .
Convolutional layer melakukan operasi konvolusi, yaitu mengubah input menjadi feature maps dengan melakukan operasi  dot  antara matriks  input dengan  filter. Filter terdiri atas beberapa matriks bobot 𝑲 atau biasa disebut dengan kernel. Banyaknya filter yang digunakan merupakan hyperparameter , jumlah filter ini akan menentukan jumlah feature maps yang dihasilkan. Banyaknya kernel pada layer ke 𝑙 , sesuai dengan jumlah feature maps pada layer ke 𝑙 − 1 . Banyaknya filter yang digunakan pada layer 𝑙 akan menentukan  jumlah feature  maps yang  dihasilkan,  dan  jumlahnya  sesuai  dengan banyaknya kernel pada layer 𝑙 + 1 .
Convolutional layer ini yang pertama kali menerima input berupa matriks dari citra digital.  Setelah  dilakukan  operasi  konvolusi, kemudian  dilanjutkan  menuju  fungsi aktivasi. Pada penelitian ini fungsi aktivasi  yang digunakan adalah tanh.  Citra digital yang digunakan pada penelitian ini, memiliki panjang dan lebar yang sama. Sehingga matriks  input  dan feature  maps yang  dihasilkan  merupakan  matriks  bujur  sangkar. Secara matematis, operasi konvolusi untuk feature maps ke q dapat dituliskan sebagai berikut.
𝑺 𝑞 (𝑔, ℎ) = (∑ ∑ ∑ 𝑰 𝑝 (𝑔 + 𝑢, ℎ + 𝑣). 𝑲 𝑝𝑞 (𝑢, 𝑣) 𝑈 𝑣=1 𝑈 𝑢=1 𝑃 𝑝=1 ) + 𝑏 𝑞 (2) dengan : 𝑔 = 0,1,2,…, 𝐺 − 1
ℎ = 0,1,2,…, 𝐺 − 1 𝑞 = 1,2,…, 𝑄 𝐺 merupakan  banyaknya  kolom/baris  pada feature  maps . 𝑈 adalah  banyaknya baris/kolom pada kernel. 𝑄 merupakan jumlah feature maps , jumlahnya sama dengan banyaknya filter. 𝑃 adalah jumlah matriks kernel, jumlahnya sama dengan banyaknya channel matriks input.
𝑺 𝑞 (𝑔, ℎ) merupakan  elemen feature  map ke- 𝑞 ,  pada  baris  ke- 𝑔 kolom  ke- ℎ . 𝑰 𝑝 (𝑔 + 𝑢, ℎ + 𝑣) adalah elemen matriks input channel ke- 𝑞 , pada baris ke ke- 𝑔 + 𝑢 kolom ke- ℎ + 𝑣 . 𝑲 𝑝𝑞 (𝑢, 𝑣) adalah elemen matriks kernel 𝑝𝑞 , pada baris ke- 𝑢 kolom ke- 𝑣 . 𝑏 𝑞 merupakan bias pada filter ke- 𝑞 .
Pooling  layer pada  model  CNN  biasanya  disisipkan  secara  teratur  setelah convolutional  layer .  Pada  dasarnya pooling  layer terdiri  dari  sebuah  filter  dengan ukuran  dan  jumlah  pergeseran  tertentu,  yang  akan  secara  bergantian  bergeser  pada seluruh  area feature  map. Apabila  filter  pada pooling  layer tidak  dapat  menjangkau seluruh bagian pada feature map , maka bagian yang tidak terjangkau akan dihilangkan tanpa melalui proses pooling . Terdapat dua macam pooling yang biasa digunakan yaitu average pooling dan max-pooling . Nilai yang diambil pada average pooling adalah nilai rata-rata,  sedangkan  pada max-pooling adalah  nilai  maksimal.  Pada  penelitian  ini digunakan max-pooling .
b. Fully Connected Layer Feature  map yang  dihasilkan  dari feature  learning masih  berbentuk matriks , sehingga harus dilakukan flatten atau reshape feature map mejadi sebuah vektor kolom 𝒙 agar bisa digunakan sebagai input dari fully connected layer . Setiap komponen pada vektor 𝒙 menjadi neuron input pada fully connected layer . Perbedaan antara fully connected layer dengan convolutional layer adalah neuron di convolutional layer terhubung hanya ke daerah tertentu pada input, sementara pada fully connected layer memiliki neuron yang secara keseluruhan terhubung. Operasi pada fully connected layer dapat dituliskan sebagai berikut
𝑧 𝑟 = ∑ 𝑥 𝑐 𝑊 𝑐𝑟 𝐽 𝑐=1 + 𝑏 𝑟 (3)
dengan : 𝑟    = 1,2,3, … , 𝑅 𝑅 = jumlah neuron output
𝐽 = jumlah neuron input 𝑧 𝑟 = output pada neuron ke- 𝑟 𝑥 𝑐 = input pada neuron ke- 𝑐 𝑊 𝑡𝑟 = bobot antara neuron input ke- 𝑐 menuju neuron ouput ke- 𝑟 𝑏 𝑟 = bias untuk neuron output ke- 𝑟
2.3. Dropout
Dropout merupakan  proses  mencegah  terjadinya overfitting dan  juga  mempercepat proses  learning. Dropout mengacu  kepada  menghilangkan  neuron  yang  berupa hidden mapun layer yang visible di  dalam  jaringan. Neuron yang  akan  dihilangkan  akan  dipilih secara acak (Abhirawa et al , 2017). Hal ini, artinya bahwa kontribusi neuron yang dibuang akan dihentikan sementara jaringan dan bobot baru juga tidak diterapkan pada neuron pada saat melakukan backpropagation .

## 2.4. Softmax
Softmax classifier merupakan bentuk lain dari algoritma Logistic Regression yang dapat digunakan  untuk  mengklasifikasi  lebih  dari  dua  kelas.  Standar  klasifikasi  yang  biasa dilakukan  oleh  algoritma Logistic  Regression adalah  tugas  untuk  klasifikasi  kelas  biner (Ilahiyah dan Nilogiri, 2018). Berikut adalah fungsi yang diberikan :
𝑓(𝑧 𝑟 ) = 𝑒 𝑧𝑟 ∑ 𝑒 𝑧𝑚 𝑀 𝑚=1 (4)
𝑧 𝑟 merupakan nilai pada neuron ke- 𝑟 sesuai dengan persamaan (3). Nilai 𝑀 merupakan jumlah kategori yang diklasifikasikan. Output yang dihasilkan pada persamaan (4) bernilai antara nol  sampai dengan satu.  Nilai 𝑓(𝑧 𝑟 ) merupakan probabilitas untuk  setiap kategori. Semua nilai 𝑓(𝑧 𝑟 ) apabila dijumlahkan akan bernilai satu.

## 2.5. Crossentropy Loss
Loss Function adalah fungsi yang menggambarkan kerugian yang terkait dengan semua kemungkinan  yang  dihasilkan  oleh  model. Loss  Function yang  baik  adalah  fungsi  yang menghasilkan  error  yang  diharapkan  paling  rendah.  Persamaan  loss  function  dengan crossentropy sebagai berikut.
𝐿 = − 1 𝑁 ∑ ∑ 𝑦 𝑟,𝑛 𝑙𝑜𝑔(𝑓(𝑧 𝑟 ) 𝑛 ) 𝑀 𝑟=1 𝑁 𝑛=1 (5)
Nilai N menunjukkan jumlah data citra dan nilai M menunjukkan jumlah kategori. 𝑓(𝑧 𝑟 ) merupakan fungsi softmax classifier pada persamaan (4). 𝑦 𝑟,𝑛 merupakan indikator binner, nilainya 1 untuk kelas yang sesuai dan 0 untuk kelas yang tidak sesuai. apabila Gambaran umum crossentropy  loss  function adalah  meminimalkan  kemungkinan  log  negatif  dari dataset,  yang  merupakan  ukuran  langsung  dari  performa  prediksi  model.  Kinerja  suatu model semakin baik apabila nilai 𝐿 semakin mendekati nol.

## 2.6 Confusion Matrix
Salah satu metode untuk mengukur performa dari suatu model klasifikasi adalah dengan nilai akurasi dari suatu model. Beberapa istilah yang merupakan dasar dalam pencarian nilai akurasi adalah true positive (TP), true negative (TN), false positive (FP), dan false negative
(FN). Istilah-istilah tersebut biasa dirangkum sebagai suatu matriks yang disebut confusion matrix sebagaimana ditunjukkan pada berikut.

## Gambar 1. Confusion Matrix
Nilai akurasi dalam klasifikasi adalah presentase ketepatan record data yang diklasifikasikan dengan tepat setelah dilakukan pengujian pada hasil klasfikasi. Perhitungan akurasi dengan confusion matrix adalah sebagai berikut.
akurasi = 𝑇𝑃+𝑇𝑁 𝑇𝑃+𝐹𝑃+𝐹𝑁+𝑇𝑁 (6)

## 3. METODE PENELITIAN
Data yang digunakan dalam penelitian ini adalah citra digital bumbu dan rempah yang diambil  dengan  cara  crawling  pada search  engine  google .  Citra  digital  yang  digunakan terdiri  dari  tiga  kategori  yaitu  ginseng,  jahe  dan  lengkuas.  Total  citra  yang  dikumpulkan untuk  sampel  sebanyak  300,  dengan  masing-masing  kategori  sebanyak  100  citra.  Data tersebut  dibagi  menjadi  2  yaitu  data training dan  data testing ,  dengan  perbandingan  data training dan data testing 80 % : 20%.
Software yang digunakan pada penelitian ini adalah fatkun batch download image dan RStudio. Fatkun batch download image digunakan untuk crawling data pada search  engine google dan  RStudio  digunakan  untuk  mengklasifikasikan  citra  digital.  Package  pada RStudio yang digunakan adalah Keras dan EBImage.
Tahapan analisis pada penelitian ini adalah sebagai berikut
1. Input data dan beri label pada masing-masing citra digital sesuai dengan kategorinya.
2. Melakukan preprocessing pada data citra.
3. Menentukan hyperparameter untuk model CNN, meliputi jumlah convolutional layer , jumlah filter pada convolutional layer , ukuran matriks kernel dan filter pooling , jumlah neuron pada hidden layer dan fungsi aktivasi.
4. Menentukan bobot awal dan iterasi max .
5. Inisialisasi bobot.
6. Melakukan training dan testing .
7. Menghitung tingkat akurasi sesuai dengan persamaan (6).
8. Menghitung loss function sesuai dengan persamaan (5).
9. Apabila  iterasi  ≥  iterasi max maka  lanjut  ke  proses  selanjutnya,  apabila  tidak  maka kembali pada proses 5.
10. Mendapatkan bobot akhir dan model klasifikasi sesuai dengan persamaan (4).
11. Memilih model terbaik berdasarkan tingkat akurasi terbesar pada data testing .
12. Melakukan evaluasi hasil klasifikasi.
4. HASIL DAN PEMBAHASAN
Citra  yang  diunduh  dengan fatkun  batch  download  image dibagi  menjadi  3  kategori yaitu ginseng, jahe dan lengkuas. Jumlah data citra pada masing-masing kategori adalah 100. Citra  yang  telah  diunduh,  kemudian  diberi  nama  sesuai  dengan  kategori  yang  telah ditentukan.  Ginseng  diberi  nama  ‘ginseng_(nomor).jpg’,  jahe  diberi  nama  dengan ‘jahe_(nomor).jpg’ dan lengkuas diberi nama ‘lengkuas_(nomor).jpg’. Berikut merupakan contoh citra yang digunakan pada klasifikasi citra digital bumbu dan rempah dengan metode CNN.
ginseng_0001 jahe_0001
lengkuas_0001
Gambar 2. Contoh Citra Digital Untuk Klasifikasi
4.1 Preprocessing Citra
Tahap preprocessing citra dilakukan sebagai berikut.
a. Resize
Resize citra  adalah  proses  merubah  ukuran  piksel  suatu  citra  digital.  Citra  yang diunduh dari search engine google memiliki ukuran yang beragam. Pada penelitian ini digunakan  citra  dengan  ukuran  46x46.  Citra  yang  sudah  diubah  ukurannya  tersebut kemudian  akan  direpresentasikan  secara  numerik  dalam  bentuk  matriks.  Sehingga sebuah citra digital  akan diubah menjadi  3 buah matriks  (sesuai  dengan channel  red, green, blue ), masing-masing berukuran 46x46.
b. Membuat data training dan testing
Pembagian data training dan testing pada penelitian ini menggunakan perbandingan 80%  :  20%.  Jumlah  citra  pada  masing-masing  kategori  adalah  100.  Pembagian  data dilakukan urut dari awal. Pada masing-masing kategori, citra urutan ke 1 hingga 80 akan menjadi  data training dan  citra  dengan  urutan  ke  81  hingga  100  akan  menjadi  data testing .
c. Combine Combine berfungsi untuk menggabungkan data citra. Proses penggabungan citra ini dilakukan masing masing untuk data training dan data testing . Sebelum proses combine, setiap  citra  direpresentasikan  sebagai  matriks  multidimensi  dengan  ukuran  46x46x3. Setelah  proses combine ,  masing-masing  matriks  citra  akan  digabungkan  menjadi matriks  multidimensi,  sehingga  untuk  citra training akan  memiliki  dimensi 46x46x3x240 dan citra testing memiliki dimensi 46x46x3x60. Nilai 240 dan 60 sesuai dengan jumlah citra training dan testing .
d. Reorder Dimension
Proses reorder dimension berfungsi untuk mengatur penempatan dimensi matriks citra. Dimensi citra training hasil proses combine adalah 46x46x3x240 dan dimensi citra testing hasil  proses combine adalah  46x46x3x60.  Urutan  penempatan  dimensi  pada combine adalah (jumlah baris pada matriks citra) x (jumlah kolom pada matriks citra) x (jumlah channel citra) x (jumlah data).
Pada reorder dimension ,  urutan  dimensi  pada  matriks  citra  akan  diubah  menjadi (jumlah data) x (jumlah jumlah baris pada matriks citra) x (jumlah kolom pada matriks citra) x (jumlah channel citra). Sehingga output dari reorder dimension adalah matriks
multidimensi  dengan  dimensi  240x46x46x3  untuk  citra training dan  dimensi 60x46x46x3 untuk citra testing .
e. Labelling
CNN  merupakan  salah  satu  jenis  algoritma supervised learning .  Sehingga diperlukan labelling data  pada  tahapan preprocessing . Labelling berfungsi  untuk memberikan  nilai  target  untuk  masing-masing  citra.  Target  dari  citra  ginseng  adalah kategori 0, target dari citra jahe adalah kategori 1 dan target dari citra lengkuas adalah kategori 2. Labelling dilakukan baik untuk data training maupun testing .

## 4.2 Arsitektur CNN
Jumlah convolutional layer ,  jumlah  filter,  ukuran  kernel,  jumlah  neuron  pada hidden layer dan fungi aktivasi yang digunakan pada CNN merupakan hyperparameter . Arsitektur jaringan pada klasifikasi cita digital bumbu dan rempah dapat dijelaskan sebagai berikut.
a. Convolutional Layer 1
Pada layer ini matriks input berjumlah 3 sesuai dengan jumlah channel ( red , green , blue ) dimana masing-masing matriks berukuran 46x46. Filter yang digunakan sebanyak 10.  Masing-masing  filter  terdiri  atas  3  matriks  kernel,  jumlah  matriks  kernel  dalam setiap filter jumlahnya sesuai dengan banyaknya matriks input. Ukuran setiap matriks kernel adalah 3x3. Pada layer ini digunakan fungsi akitivasi tanh.
b. Pooling Layer 1
Output dari convolutional layer 1  yaitu  10  matriks,  masing-masing  berukuran 44x44. Matriks ini kemudian menjadi input pada pooling layer 1. Pada layer ini, ukuran filter yang digunakan adalah 3x3 . Pada pooling layer 1, filter tidak dapat menjangkau seluruh bagian dari feature maps , karena filter berukuran 3x3 sementara feature maps berukuran 44x44. Filter dapat menjangkau seluruh bagian feature maps apabila ukuran feature  maps merupakan  kelipatan  dari  ukuran  filter.  Sehingga  pada pooling  layer 1, feature maps yang akan digunakan untuk operasi poolin g hanya baris dan kolom ke-1 sampai dengan baris dan kolom ke-42. Sementara itu, baris dan kolom ke-43 dan ke-44 akan dihilangkan tanpa melalui operasi pooling .
c. Convolutional Layer 2
Pada layer ini matriks input berjumlah 10 dengan masing-masing matriks berukuran 14x14. Filter yang digunakan sebanyak 20. Masing-masing filter terdiri atas 10 matriks kernel, banyaknya matriks kernel dalam setiap filter sesuai dengan banyaknya matriks input. Ukuran setiap matriks kernel adalah 3x3. Pada layer ini digunakan fungsi akitivasi tanh.
d. Pooling Layer 2
Output dari convolutional layer 2  yaitu  20  matriks,  masing-masing  berukuran 12x12. Matriks ini kemudian menjadi input pada pooling layer . Pada layer ini ukuran filter yang digunakan adalah 3x3. Sehingga output yang dihasilkan dari pooling layer 2 adalah 20 matriks dengan ukuran 4x4. Nilai 20 sesuai dengan jumlah matriks input pada layer ini.
e. Flatten Layer
Pada flatten layer , input berupa matriks dari pooling layer akan dirubah menjadi satu vektor kolom. Pada layer ini terdapat 20 matriks input, masing masing berukuran. Sehingga output shape dari flatten layer adalah vektor kolom dengan banyak baris 320.
f. Hidden Layer
Setiap komponen dari vektor kolom hasil flatten akan diubah menjadi neuron input pada hidden layer. Sehingga input pada layer ini berjumlah 320. Jumlah neuron di layer ini ada 10. Pada layer ini semua bagian saling terhubung dan memiliki bobot. Selain itu,
terdapat bias yang terhubung ke masing-masing neuron pada hidden layer .  Sehingga terdapat 10 nilai output yang dihasilkan, sesuai dengan banyaknya neuron output.
g. Output Layer
Output layer pada  CNN  merupakan  bagian  dari fully  connected  layer .  Sehingga antar  neuron  saling  terhubung.  Input  pada layer ini  adalah  10,  dan  jumlah  neuron  di layer ini  ada  3.  Selain  itu  terdapat  sebuah  bias  yang  terhubung  pada  seluruh  neuron output. Sehingga terdapat 3 nilai output yang dihasilkan, sesuai dengan jumlah kategori citra.
4.3 Hasil Klasifikasi .
a. Data Training
Hasil klasifikasi yang didapatkan dari data training ditunjukkan melalui confusion matrix seperti berikut ini.
Tabel 1. Confussion Matrix Data Training Prediksi Aktual Ginseng Jahe Lengkuas Ginseng 79 0 0 Jahe 1 78 0 Lengkuas 0 2 80
Berdasarkan hasil klasifikasi pada Tabel 1 dapat dilihat bahwa pada citra ginseng terdapat 1 citra yang salah prediksi dan masuk ke kategori jahe. Pada citra jahe, terdapat 78  citra  yang  diklasifikasikan  dengan  benar,  dan  terdapat  2  citra  yang  salah  salah prediksi sehingga masuk ke kategori lengkuas. Pada citra lengkuas, seluruh data training diklasifikan dengan tepat. Nilai akurasi klasifikasi dari data training adalah 0,9875 atau 98,75%.  Nilai  akurasi  98,75%  artinya  sebanyak  98,75%  dari  data training dapat diklasifikasikan secara tepat dengan metode CNN. Sementara itu, nilai loss data training adalah 0,0769.
b. Data Testing
Hasil klasifikasi data testing dapat ditunjukkan melalui confussion matrix sebagai berikut.
Tabel 2. Confussion Matrix Data Testing Prediksi Aktual Ginseng Jahe Lengkuas Ginseng 17 0 0 Jahe 0 17 3 Lengkuas 3 3 17 Berdasarkan  hasil  klasifikasi  data testing pada  Tabel  2 dapat  dilihat  bahwa pada citra ginseng dari 20 citra terdapat 3 citra  yang salah prediksi dan masuk ke kategori lengkuas.  Pada  citra  jahe,  terdapat  17  citra  yang  diklasifikasikan  dengan  benar,  dan terdapat 3 citra  yang salah salah prediksi sehingga masuk ke kategori lengkuas. Pada citra lengkuas, terdapat 17 citra yang diklasifikasikan dengan tepat, sisanya 3 citra salah diklasifikasikan  masuk  ke  ketegori  jahe.  Akurasi  hasil  klasifikasi  dari  data  training adalah  0,85  atau  85%.  Akurasi  85%  artinya  metode Convolutional  Neural  Network dapat  mengenali  data  bumbu  dan  rempah  secara  visual  dengan  tepat  sebesar  85%. Sementara itu, nilai loss data testing adalah 0,4773.
c. Data Baru
Setelah  didapatkan  model,  dilakukan  pengujian  hasil  klasifikasi  pada  data  citra baru.  Terdapat  9  buah  citra  yang  masing-masing  3  citra  untuk  setiap  kategori.  Pada seluruh citra baru, perlu dilakukan tahapan preprocessing seperti pada data training dan
data testing. Setelah dilakukan tahapan preprocessing, dilakukan klasifikasi citra dengan model yang telah dibentuk pada proses training dan testing.
Pada  klasifikasi  dengan  CNN,  probabilitas  setiap  kategori  akan  dihitung  untuk menentukan  hasil  klasifikasi  dari  masing-masing  citra.  Nilai  probabilitas  terbesar menyatakan kategori dari citra tersebut.
Tabel 3. Confussion Matrix Data Baru Prediksi Aktual Ginseng Jahe Lengkuas Ginseng 3 0 1 Jahe 0 3 0 Lengkuas 0 0 2
Berdasarkan Tabel 3, dilihat bahwa pada klasifikasi citra baru, seluruh citra ginseng dan jahe dapat diklasifikasikan dengan tepat. Sementara itu pada citra lengkuas, terdapat dua citra yang dapat diklasifikasikan dengan tepat, dan terdapat sebuah citra yang salah masuk ke kategori ginseng Nilai akurasi klasifikasi dari data baru adalah 0,8889 atau 88,89%.  Akurasi  88,89%  artinya  metode  Convolutional  Neural  Network  dapat mengenali data bumbu dan rempah secara visual dengan tepat sebesar 88,89%.

## 5. KESIMPULAN
Model  CNN  yang  digunakan  pada  klasifikasi  citra  digital  bumbu  dan  rempah  adalah model dengan 2 convolutional layer , dimana convolutional layer pertama memiliki jumlah filter 10 dan convolutional layer kedua memiliki jumlah filter 20. Pada masing-masing filter terdapat matriks kernel denga ukuran 3x3.  Ukuran filter pada pooling layer adalah 3x3 dan jumlah neuron pada hidden layer adalah 10. Fungsi aktivasi pada convolutional layer dan hidden layer adalah tanh, dan fungsi aktivasi pada output layer adalah softmax. Pada model ini didapatkan nilai akurasi data training sebesar 0,9875 dan nilai loss 0,0769. Nilai akurasi data testing sebesar 0,85 dan nilai loss 0,4773. Sementara itu, pengujian dengan data baru yaitu masing-masing 3 citra untuk setiap kategori menghasilkan akurasi sebesar 88,89%.

## DAFTAR PUSTAKA
Abhirawa,  H.,  Jondri,  &  Arifianto,  A.  2017. Pengenalan  Wajah  Menggunakan Convolutional Neural Network . e-Proceding of Engineering Vol. 4, No. 3 : Hal. 4907- 4916.
Fikriya, Z. A., Irawan, M.I., & Soetrisno. 2017. Implementasi Extreme Learning Machine untuk Pengenalan Object Citra Digital. Jurnal Sains dan Seni ITS Vol. 6, No. 1 : Hal. A18-A23.
Hakim,  L. 2015. Rempah dan Herba Kebun Pekarangan Rumah Masyarakat  Keragaman Sumber  Fitokarma dan Wisata Kesehatan-Kebugaran . Yogyakarta :  Diandra Pustaka Indonesia.
Hikmatulloh, E., Lasmanawati, E., & Setiawati, T. 2017. Manfaat Pengetahuan Bumbu dan Rempah  Pada  Pengolahan  Makanan  Indonesia  Siswa  SMKN  9  Bandung. Media Pendidikan, Gizi dan Kuliner Vol. 6, No. 1 : Hal. 42-50.
Hu,  F.,  Xia,  G.  S.,  Hu,  J.,  &  Zhang,  L.  2015. Transferring  Deep  Convolutional  Neural Network for Scene Classification of High-Resolution Image Sensing Imagery . Remote Sens :  Hal. 14680-14707.
Ilahiyah,  S.,  &  Nilogiri,  A.  2018. Implementasi  Deep  Learning  Pada  Identifikasi  Jenis Tumbuhan  Berdasarkan  Citra  Daun  Menggunakan  Convolutional  Neural  Network. Jurnal Sistem & Teknologi Informasi Indonesia Vol. 3, No 2 : Hal. 49-56.
Santoso,  A.,  &  Ariyanto,  G.  2018. Implementasi  Deep  Learning  Berbasis  Keras  untuk Pengenalan Wajah. Jurnal Emitor Vol. 18, No. 01 : Hal. 15-21. Warsito,  B.  2009. Kapita  Selekta  Statistika  Neural  Network .  Semarang  :  BP  Undip Semarang.