## IDENTIFIKASI JENIS IKAN CUPANG BERDASARKAN GAMBAR MENGGUNAKAN METODE CONVOLUTIONAL NEURAL NETWORK
Surya Adi Laksono, Basuki Rahmat, Budi Nugroho Informatika, Universitas Pembangunan Nasional “Veteran” Jawa Timur Jalan Rungkut Madya No.1, Surabaya, Indonesia surs.surya@gmail.com

## ABSTRAK
Di Indonesia, menjadi penggemar ikan hias sudah menjadi hal yang wajar. Ikan cupang merupakan salah satu  spesies  ikan  hias  yang  cukup  mudah  ditemui  di  Indonesia.  Banyaknya  jenis  ikan  cupang  ini  membuat masyarakat  awam  penghobi  ikan  cupang  merasa  kesulitan  untuk  mengetahui  jenis  ikan  cupang  yang  ada  di pasaran. Jenis ikan cupang sangat berpengaruh bagi para petani ikan cupang untuk menentukan harga pada setiap jenisnya. Begitu juga jenis ikan cupang sangat berpengaruh bagi peserta kontes ikan cupang untuk menentukan kategori  jenis  yang  akan  diikuti.  Oleh  karena  itu,  membuat  sistem  pengidentifikasi  jenis  ikan  cupang  sangat diperlukan  pada  permasalahan  ini.  Sistem  ini  menggunakan  metode Convolutional  Neural  Network ,  yakni algoritma deep learning dengan arsitektur Keras Sequential yang memiliki parameter hingga 1.424.403 parameter dan metode ini biasa digunakan untuk mengklasifikasi citra. Kumpulan data yang digunakan berjumlah 330 data yang terdiri dari 300 data latih dan 30 data uji di dalam tiga kelas. Sistem yang telah dirancang dan diimplementasi berhasil mengindentifikasi tiga jenis ikan cupang dengan baik, mendapatkan akurasi 97% pada uji coba dengan 10 epoch , 93% pada uji coba dengan 15 epoch , dan akurasi tertinggi 100% pada uji coba dengan 20 epoch .
Kata kunci :  Pengenalan Pola, Klasifikasi Citra, Convolutional Neural Network, Deep Learning, Ikan Cupang

## 1. PENDAHULUAN
Ikan  hias  adalah  jenis  ikan  yang  hidup  di  air tawar  maupun  laut  yang  memiliki  bentuk  tubuh  dan warna  yang  menarik.  Ikan  hias  memiliki  keunikan yang  dimiliki  dari  masing-masing  spesies.  Keunikan yang dimaksud adalah kemampuan yang dimiliki oleh setiap jenis ikan hias. Salah satu jenis ikan hias dengan keunikan  tersendiri  adalah  ikan  cupang  ( Betta  sp. ). Keunikan  dari  ikan  cupang  ini  adalah  kegemarannya bertarung  dengan  sesama  jenisnya,  namun  tidak menutup kemungkinan dengan jenis lain namun masih dalam satu suku. Oleh karena itu, ikan ini juga sering disebut ikan laga ( fighting fish ). [1]
Ikan  cupang  adalah  ikan  air  tawar  anggota  dari famili Anabantidae yang  mempunyai  labirin.  Labirin adalah alat pernafasan tambahan pada ikan, sehingga ikan  cupang  lebih  kuat  bertahan  hidup  di  air  yang tenang  tanpa  sirkulasi  udara  (aerator).  Ikan  ini habitatnya  tersebar  di  wilayah  Asia  Tenggara,  antara lain  Indonesia,  Malaysia,  Brunei  Darussalam, Thailand,  Singapura,  dan  Vietnam.  Berbeda  dengan ikan air tawar kecil pada umumnya, ikan ini memiliki sifat cenderung agresif, dan teritorial. [2] Ikan cupang memiliki  banyak  jenis  yang  terdapat  di  alam.  Ikan cupang  juga  banyak  terdapat  dipasaran  yang  biasa disebut  ikan  cupang  hias.  Akan  tetapi  masyarakat awam masih sulit menentukan jenis-jenis ikan cupang yang  ada  di  pasaran,  karena  jenis  pada  ikan  cupang sangat  berpengaruh  pada  keturunan  yang  dihasilkan saat dilakukan pengawinan. Perbedaan dari setiap jenis ikan  cupang  ini  sering  terlihat  pada  ekor  ( tail ),  sirip punggung  ( dorsal  fin ),  dan  sirip  anal  ( anal  fin ).  Ikan cupang yang cukup digemari kalangan saat ini adalah ikan  cupang  hias,  dimana  ikan  cupang  hias  yang tersebar di pasaran terdapat beberapa jenis, antara lain
Halfmoon (Setengah  Bulan),  Serit  ( Crown  Tail ),  dan Plakat.
Jenis  juga  berpengaruh  pada  ajang  kontes  ikan cupang  hias  untuk  menentukan  kategori  jenis  ikan. Selain itu, jenis merupakan karakter komersial penting yang  dapat  mempengaruhi  tingkat  penerimaan konsumen  terhadap  suatu  produk  hewani,  sehingga turut  menentukan  nilai  jual  produk  tersebut  di  pasar. Biasanya setiap jenis ikan populer pada waktu-waktu tertentu  sesuai  dengan  permintaan  konsumen.  Oleh karena  itu  setiap  penghobi  ikan  cupang  terkadang memiliki  jenis  favorit  untuk  dipelihara  maupun dikembangbiakkan  untuk  menghasilkan  bibit  ikan yang  terbaik  untuk  dijual  bahkan  dipamerkan  pada ajang  kontes  ikan  cupang  hias  lokal  hingga internasional.
Permasalahan yang dapat terjadi pada saat salah menentukan  jenis  ikan  secara  manual  yaitu,  salah memilih  jenis  ikan  untuk  diikutkan  kontes,  misalnya kontes ikan Plakat yang seharusnya menggunakan ikan jenis  Plakat,  namun  peserta  menggunakan  ikan  jenis Halfmoon , sehingga dapat terjadi diskualifikasi untuk peserta.  Permasalahan  lain  yang  sangat  sering  terjadi yaitu,  masyarakat  awam  yang  mencoba  untuk mengawinkan ikan cupang, namun salah memilih jenis indukan  untuk  dikawinkan,  sehingga  dapat  merusak genetik dari ikan cupang yang dikawinkan.
Solusi  yang  ditawarkan  untuk  menyelesaikan permasalahan  di  atas  adalah  dengan  membuat  suatu program  yang dapat  mengenali berbagai spesies ikan cupang. sehingga dapat mempermudah para penghobi ikan cupang dalam menentukan jenis ikan cupang. [3] Convolutional  Neural  Network (CNN),  metode  yang digunakan pada program ini adalah bagian dari Multi- Layer  Perceptron ini  merupakan  salah  satu  jenis perhitungan neural  network yang  sering  digunakan
pada  pengolahan  citra  untuk  mendeteksi  dan mengenali objek pada sebuah gambar.  Maka dari itu, program  ini  akan  menggunakan  pengolahan  citra sebagai proses identifikasi tiga jenis ikan cupang. Dari pengolahan  citra  yang  telah  dilakukan,  maka  akan didapatkan  tiga  parameter  yaitu  Jenis Halfmoon , Plakat,  dan  Serit  ( Crown  tail ).  Sehingga  jumlah klasifikasi ini mencapai tiga kemungkinan klasifikasi.

## 2. TINJAUAN PUSTAKA
2.1. Pengenalan
Secara umum pengenalan pola adalah ilmu untuk klasifikasi atau menggambarkan sesuatu dari pengukuran kuantitatif fitur atau sifat utama dari suatu obyek.  [4]  Maka,  pengenalan  dapat  juga  diartikan sebagai proses untuk mengidentifikasi data berdasarkan  ilmu  yang  didapatkan  dari  data  contoh. Dalam  pembelajaran  mesin,  pengenalan  dapat dilakukan  pada  beberapa  kasus,  seperti  pengenalan huruf,  pengenalan  sidik  jari,  pengenalan  wajah, pengenalan  citra  hewan  serta  buah-buahan  dan  lain- lain.

## 2.2. Ikan Cupang
Pada  umumnya,  ikan  cupang  memiliki  bentuk tubuh  yang  memanjang,  dan  apabila  dilihat  dari anterior  atau  posterior  bentuk  tubuhnya  pipih  ke samping. Kepala relatif besar, mulut yang kecil dengan bibir  yang  tebal  dan  rahang  yang  kuat.  Sirip  perut ramping  memanjang,  sirip  punggung  terletak  dekat dengan ekor dengan bentuk lebar terentang hingga ke belakang  dengan  jari-jari  keras  dan  lunak.  Hampir sama seperti sirip punggung, sirip anal juga berbentuk melebar hingga ke belakang. Memiliki ekor berbentuk membulat ( rounded ). Sirip ekor, sirip punggung, dan sirip anal apabila mengembang akan membulat seperti kipas. Sisik dengan tipe stenoid ini terdapat yang kasar dan lunak, serta warnanya beragam. [1]

## 2.3. Machine Learning
Machine  Learning  (ML) adalah  bagian  dari kecerdasan  buatan  yang  bertugas  untuk  memahami struktur suatu data dan mengubahnya ke dalam suatu model.  [5] Machine  learning sebagai  salah  satu  dari bidang  studi soft  computing beririsan  dengan  bidang studi lainnya, seperti matematika, statistika, pemrograman, sains data, big data , data mining , basis data, information retrieval , computer vision , robotika, pemrograman  gim, IoT , expert  system , decision support system , sistem informasi, dan sebagainya. [6] Machine  learning banyak  diimplementasikan  pada pengenalan  citra,  diagnosa  penyakit, artificial intelligent ,  GPS,  dan  lain  sebagainya. Machine learning terbagi  menjadi  tiga  kategori,  antara  lain, Supervised  Learning , Unsupervised  Learning ,  dan Reinforcement Learning . [7]
2.4. Deep Learning Deep  Learning merupakan  salah  satu  cabang ilmu  dari machine  learning yang  berbasis  Jaringan Saraf  Tiruan  (JST)  atau  dengan  kata  lain  sebagai
perkembangan  dari  JST.  Dalam deep  learning , komputer belajar mengklasifikasi secara langsung dari gambar atau suara. Metode ini menggunakan CPU dan RAM  dalam  proses  komputasi,  dan  juga  bisa memanfaatkan GPU sehingga proses komputasi dapat berlangsung lebih cepat. [8]

## 2.5. Convolutional Neural Network
CNN atau Jaringan saraf konvolusional merupakan  evolusi  dari Multi  Layer  Perceptron (MLP),  metode  pembelajaran  mesin  yang  dirancang untuk  memproses  data  dua  dimensi.  CNN  termasuk dalam  jenis deep  neural network karena  berada  pada level  deep  network dan  banyak  digunakan  pada  data gambar.  [9]  CNN  adalah  jaringan  saraf  tiruan  yang mendalam  di  mana  jaringan  saraf,  mempertahankan struktur hierarki dengan mempelajari representasi fitur internal  dan  menggeneralisasi  fitur  dalam  kasus gambar  umum  seperti  pengenalan  objek  atau  kasus lain seperti suara dan bahasa. [10]

## 2.6. Confusion Matrix
Salah  satu  metode  yang  dapat  digunakan  untuk mengukur  kinerja  suatu  model  klasifikasi  adalah dengan  mencari  nilai  presisi,  recall,  dan  presisi  dari model  yang  digunakan.  Beberapa  istilah  yang  sering digunakan  untuk  mengukur  kinerja  model  klasifikasi adalah  tupel  positif  dan  tupel  negatif.  Tupel  positif adalah  tupel  yang  menjadi  fokus  pembicaraan.  Pada saat  yang  sama,  tupel  negatif  adalah  tupel  yang menjadi  inti  diskusi.  [11]  Beberapa  istilah  lain  yang ada  di  dalam  pencarian  nilai precision , recall ,  dan akurasi  yakni  nilai true  positive (TP), true  negative (TN), false positive (FP), dan false negative (FN).

## 2.7. Python
Python  adalah  bahasa  pemrograman  serbaguna yang  dirancang  untuk  membuat  kode  mudah  dibaca manusia.  Dalam  satu  perwujudan,  penggunaan  spasi untuk  mengatur  pengenalan  kode  sangatlah  penting. Oleh  karena  itu,  penggunaan  spasi  pada  kode  tidak bisa  dilakukan  sembarangan.  Sama  seperti  C++, Python adalah kode sumber portabel. Kode sumbernya dapat  digunakan  di  berbagai platform seperti Windows,  Linux  dan  bahkan  Mac  OS.  Python menyediakan  manajer  memori  yang  bertanggung jawab  untuk  membebaskan  memori objek yang  tidak terpakai. [12]

## 2.8. Tensorflow
Tensorflow  merupakan  modul library dalam bentuk sofware untuk  tujuan  melakukan machine learning dan  penelitian  jaringan  syaraf  mendalam yang hal ini dapat digunakan di berbagai tugas tetapi memiliki  fokus  khusus  pada  pelatihan  dan  inferensi jaringan saraf. Tensorflow dikembangkan oleh Google Team  dalam  organisasi  penelitian  Google  Smart Engine. Dalam tensorflow digunakan dalam penggabungan  perhitungan  aljabar  komputasi  dalam teknik  mempermudah  penghitungan  banyak  ekspresi
matematis  dan  teknik  pengoptimalan  kompilasi dimana permasalahannya yaitu waktu yang dibutuhkan untuk melakukan perhitungan pembelajaran jaringan. [13]
2.9. Keras
Keras adalah framework Machine Learning yang mungkin  bisa  menjadi  teman  baru  ketika  bekerja dengan banyak data, terutama jika mengikuti state-of- the-art dari AI: Deep Learning . Keras dapat digunakan sebagai API tingkat tinggi di atas library tingkat bawah popular  lainnya  seperti  Theano  dan  CNTK  selain Tensorflow.  Penciptaan  model Deep  Learning yang sangat  besar  di  Keras  direduksi  menjadi  fungsi  garis tunggal.  Tetapi  strategi  ini  membuat  Keras  menjadi lingkungan yang kurang dapat dikonfirgurasi dibandingkan  dengan framework tingkat  rendah. Keras adalah framework Deep Learning yang terbaik bagi  mereka  yang  baru  memulai.  Ini  ideal  untuk belajar  dan  membuat  prototipe  konsep-konsep sederhana, untuk memahami inti dari berbagai model dan proses pembelajaran mereka. [14]

## 3. METODE PENELITIAN
Pada saat melaksanakan penelitian ini dilaksanakan  secara  sistematis  menggunakan  urutan yang  direncanakan  berdasarkan  studi  literatur  dari beberapa publikasi ilmiah sebelumnya. Berikut adalah tahapan penelitian yang dilaksanakan:
Gambar 1. Alur Penelitian
Pada gambar 1, dapat diartikan bahwa membuat suatu sistem pengenalan jenis Ikan Cupang (Bettafish) dimulai  dengan  mempersiapkan  dataset.  Kemudian dilanjutkan  dengan  praproses,  perancangan  arsitektur CNN, pelatihan, dan evaluasi. Tahapan tersebut sudah dirancang agar penelitian dapat berjalan dengan baik.

## 3.1. Dataset
Dataset yang  digunakan  adalah  data  citra  ikan cupang yang dikelompokkan sesuai jenis ikan. Dataset didapatkan  melalui  pengambilan  data  secara  mendiri oleh  penulis.  Data  berisi  tiga  jenis  ikan  cupang  yang masing-masing jenis berisi 110 data yang terdiri dari seratus  data  latih  dan  sepuluh  data  uji,  maka  total dataset yang  digunakan  adalah  330  data.  Sampel dataset yang akan digunakan dapat dilihat pada Tabel 1.
Tabel 1. Sampel dataset No. Nama Jenis Ikan Citra Jenis Ikan
1. Crown Tail 2. Halfmoon 3. Plakat

## 3.2. Pra Proses
Gambar 2. Tahap Pra Proses
Pada gambar 2, menjelaskan alur dari pra proses, ini  adalah  langkah  kritis  dalam  mempersiapkan  data sebelum digunakan untuk melatih dan menguji model
machine  learning . Tujuannya  untuk  mengoptimalkan data  agar  sesuai  dengan  kebutuhan  model  dan mengatasi berbagai  masalah  seperti kekurangan data, outlier ,  atau  variasi  skala.  Data  gambar  ikan  cupang akan dilakukan pra proses agar seragam.

## Gambar 3. Hasil Pra Proses
Setelah dilakukan pra proses maka hasilnya hasil dari  data  citra  dapat  dilihat  pada  gambar  3.  Seluruh data  akan  dirubah  ukurannya  menjadi  100  ×  100 kemudian dilakukan normalisasi, yakni merubah nilai piksel  yang  awalnya  bernilai  1  hingga  255  menjadi bernilai 0 hingga 1 dengan cara membagi dengan 255. Normalisasi  berguna  agar  tidak  memberatkan perangkat  dan  lebih  stabil  saat  melakukan  proses optimasi.

## 3.3. Arsitektur CNN
Gambar 4. Arsitektur Keras Sequential
Dalam  penelitian  ini,  penulis  menggunakan model Keras Sequential seperti pada gambar 4. Keras Sequential  merupakan  arsitektur  dari Convolutional Neural  Network termasuk  salah  satu  tipe  arsitektur model dalam deep learning yang memungkinkan kita untuk  membangun  model  secara  berurutan,  lapisan demi lapisan. Ini  merupakan  pendekatan  yang umum digunakan  untuk  membangun  model deep  learning dengan Keras, terutama dalam Tensorflow.
Gambar 5. Alur Algoritma CNN
Gambar 5 menjelaskan alur dari algoritma yang digunakan  pada  penelitian  ini.  Terdapat  dua  tahap
yakni  tahap  ekstraksi  fitur,  dan  tahap  klasifikasi. Arsitektur ini memiliki parameter sebanyak 1.424.403 parameter  dan  memiliki  lima convolution  layer dan empat pooling  layer untuk  melakukan  ekstraksi  fitur dari  citra.  Arsitektur  ini  memiliki input  shape citra berukuran  100  ×  100  ×  3  sesuai  hasil  praproses. Kemudian dilakukan proses ekstraksi pada convolution layer sehingga menjadi ukuran 98 × 98 × 100. Lalu, pada pooling layer sehingga menjadi 49 × 49 × 100. Proses tersebut berlanjut hingga ukuran citra menjadi  2  ×  2  ×  200.  Pada  setiap convolution  layer dilengkapi  dengan  fungsi  aktivasi  ReLU.  Setelah melewati tahap ekstraksi  fitur, selanjutnya  memasuki tahap  klasifikasi,  awalnya  dilakukan flattening untuk merubah multidimensional  array menjadi  satu dimensi. Selanjutnya hidden layer yang terdapat dense layer untuk  mengklasifikasi  citra  berdasarkan output dari  lapisan  konvolusional.  Terakhir  adalah output atau  hasil  citra  yang  terdiri  dari  tiga  kelas  yang merepresentasikan  jenis  ikan  cupang  pada  penelitian ini  yang  berjumlah  tiga  jenis  yaitu  Crown  tail, Halfmoon, dan Plakat.

## 3.4. Pelatihan
Gambar 6. Tahap Pelatihan
Data  hasil  pra  proses  akan  menjadi  data  latih yang  akan  di  proses  menggunakan  arsitektur  CNN. Untuk menghasilkan sebuah model yang terlatih maka dilakukan pelatihan menggunakan alur yang ada pada gambar  6.  Mula-mula  diinisialisasi  parameter  yang dibutuhkan dalam pelatihan, seperti optimizer , fungsi loss , metric , dan epoch . Optimizer yang digunakan adalah Adam dengan laju  pembelajaran  sebesar  ( learning  rate =0,001). Fungsi loss yang  digunakan  adalah  fungsi  yang  ada pada  Tensorflow  Keras  yaitu Sparse  Categorical Crossentropy .  Kemudian metrics yang  digunakan hanya akurasi, dan epoch sebesar 20.

## 3.5. Evaluasi
Gambar 7. Evaluasi performa model
Pada  gambar  7  menjelaskan  tentang  tahap evaluasi model. Evaluasi dilakukan untuk mengetahui sejauh mana performa sebuah model yang telah dilatih. Dalam  melakukan  evaluasi  model  digunakan  metode yang dimiliki dari Keras yakni model evaluate dengan untuk  mendapatkan  ringkasan  metrik  pelatihan. Kemudian,  langkah  terakhir  dengan  membuat confusion  matrix untuk  mengetahui  lebih  detail  nilai akurasi, presisi, recall , dan f1 score dengan persamaan sebagai berikut.
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑇𝑃 𝑇𝑃 + 𝐹𝑃 (1) 𝑟𝑒𝑐𝑎𝑙𝑙 = 𝑇𝑃 𝑇𝑃 + 𝐹𝑁 (2)
𝐹 𝑠𝑐𝑜𝑟𝑒 = 2 × 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 × 𝑟𝑒𝑐𝑎𝑙𝑙 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑟𝑒𝑐𝑎𝑙𝑙 (3) 𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 𝑇𝑃 + 𝑇𝑁 𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁 (4)
Keterangan: TP = Nilai True Positive FP = Nilai False Positive TN = Nilai True Negative FN = Nilai False Negative

## 3.6. Skenario Uji Coba
Dalam  penelitian  ini  dibuat  skenario  uji  coba. Hal  tersebut  dilakukan  untuk  melihat  bagaimana pengaruh arsitektur terhadap implementasi CNN serta tingkat  akurasi  model.  Skenario  uji  coba  melakukan pelatihan  model  data  sebanyak  10 epoch ,  15 epoch , dan 20 epoch .

## 4. HASIL DAN PEMBAHASAN
Pada  pembuatan  sistem  identifikasi  jenis  ikan cupang  berdasarkan  gambar  menggunakan  metode convolutional  neural  network  tentu  dibangun  dengan menggunakan  kode.  Sehingga,  sistem  tersebut  dapat digunakan  dan  diamati  potensinya.  Oleh  karena  itu, beberapa  langkah  utama  yang  dilakukan  dalam implementasi  program  ini  adalah import  library ,  pra pelatihan  dan  pra  proses,  arsitektur  CNN,  pelatihan numerik,  pengujian,  evaluasi  dan confusion  matrix .
Pengujian dilakukan menggunakan bahasa pemrograman  Python  pada  perangkat  laptop  Asus ROG  GL553VE  dengan  prosesor  Intel  Core  i7 generasi ke-7.

## 4.1. Import Library
Pada  penelitian  ini  digunakan  beberapa library pada bahasa pemrograman python yang berguna untuk mendukung kelancaran penelitian. Library utama yang digunakan  adalah  keras  sebagai deep  learning  API dengan  dibangun  di  atas  tensorflow  2.11  sehingga disebut  tensorflow.keras.  Tensorflow.keras  sendiri menyediakan  berbagai  fungsi  yang  berguna  untuk membuat  arsitektur deep  learning seperti datasets , layer ,  dan models . Matplotlib ,  digunakan  untuk melakukan  visualisasi  data  berupa  grafik.  Numpy, digunakan  untuk  melakukan  komputasi numerical seperti  mencari  nilai  tertinggi  dari  sebuah array . Os library yang digunakan untuk mengatur direktori dan file. Glob library berfungsi untuk menemukan path file dataset citra yang akan dilatih. Scikit Learn berfungsi untuk  membuat  dan  menampilkan  hasil confusion matrix . Lalu OpenCV berfungsi mengolah dataset citra yang  akan  dilatih,  tujuannya  untuk  mengidentifikasi citra dan mengubah ukuran dari dataset citra ( resize ).

## 4.2. Pra Proses
Pada  tahap  pra  proses,  mula-mula  menentukan direktori dataset sebagai data latih dan data uji setiap kelas,  yakni  kelas  “ct”  untuk  jenis  Ikan  Cupang Crowntail,  kelas  “hm”  untuk  jenis  Ikan  Cupang Halfmoon, dan kelas “pk” untuk jenis Ikan Plakat yang kemudian dilakukan resize pada dataset menjadi 100 × 100, maka akan ditemukan sebanyak 100 data latih dan 10  data  uji  untuk  masing-masing  kelas.  Kemudian, langkah  selanjutnya  adalah  menggabungkan  seluruh kelas  pada  masing-masing  data  latih  dan  data  uji. Setelah  semua  data  telah  digabungkan,  maka selanjutnya adalah menormalisasi data, suatu data citra atau  gambar  digital  biasanya  berupa  bilangan  bulat yang biasanya berkisar antara nol hingga 255. Nilai nol biasanya  memiliki  warna  hitam,  dan  255  memiliki warna putih. Normalisasi melibatkan penskalaan nilai piksel ke rentan standar, biasanya antara nol dan satu. Membagi  setiap  nilai  piksel  dengan  255  akan menskalakan nilai di rentang nol hingga satu. Setelah selesai  dilakukan  normalisasi,  langkah  selanjutnya adalah  pelabelan  pada  setiap  kelas  untuk  masing- masing data latih dan data uji.
Gambar 8. Sampel data latih
Gambar 9. Sampel data uji
Pada gambar 8 dan gambar 9 adalah sampel dari beberapa  data  latih  dan  data  uji  yang  telah  melalui tahap pra proses dan akan digunakan pada penelitian ini.

## 4.3. Arsitektur CNN
Pada  gambar  10  memperlihatkan  detail  dari arsitektur Keras Sequential yang akan digunakan pada sistem ini. Arsitektur ini memiliki parameter sebanyak 1.424.403 parameter dengan tiga kelas keluaran.

## 4.4. Pelatihan
Gambar 11. Pelatihan model CNN
Pada gambar 11 memperlihatkan gambaran saat pelatihan  model  CNN.  Dengan  menggunakan optimizer Adam,  fungsi loss menggunakan Sparse Categorical Crossentropy , dan menggunakan metrics accuracy , serta epoch sebesar 20.

## 4.5. Metrik
Gambar 12. Metrik selama pelatihan
Visualisasi metrik masing-masing berupa metrik akurasi,  aksis  x  menggunakan epoch ,  untuk  aksis  y menggunakan  akurasi,  dan  juga  metrik loss ,  aksis  x menggunakan epoch , aksis y menggunakan loss .

## 4.6. Evaluasi Model
Gambar 13. Hasil akurasi pengujian
Evaluasi  model  menggunakan  metode  yang dimiliki  Keras,  yakni Model  Evaluate ,  dengan  nilai verbose =2  untuk  menampilkan  ringkasan  metrik pelatihan dan validasi satu baris per epoch . Kemudian menampilkan  nilai  dari  tes  akurasi  yang  telah dilakukan, maka output dari kode tersebut dapat dilihat pada  gambar  13  yang  menampilkan  hasil  akurasi mencapai 100%.

## 4.7. Pengujian

## Gambar 14. Visualisasi hasil prediksi
Setelah  dilakukan  proses  pengujian  maka  citra tersebut akan divisualisasikan dengan memperlihatkan citra  ikan  cupang  tersebut.  Sebagai  salah  satu  hasil prediksi  yang  tampak  pada  gambar  14,  CNN  sangat mudah  memprediksi  dengan  tepat.  Label  ikan  (0) diprediksi sebagai (0), yaitu ikan cupang jenis crown tail , begitu juga yang lainnya.

## 4.8. Confusion Matrix
Gambar 15. Hasil Confusion Matrix
Gambar 16. Hasil Classification Report
Setelah  dilakukannya  pengujian,  hasil  dari pengujian  dianalisa,  kemudian  diinisialisasi  sebagai data  aktual  atau  data  yang  sebenarnya  dan  hasil prediksi.  Lalu,  dengan  memanfaatkan library  scikit learn , maka akan dibuat sebuah confusion matrix yang memetakkan prediksi pada tiga kelas yang ada seperti pada gambar 15 dan sebuah classification report yang menunjukkan  nilai  dari  perhitungan  presisi  dengan menggunakan  rumus  1, recall menggunnakan  rumus 2, f1 score dengan menggunakan rumus 3, dan akurasi dengan  menggunakan  rumus  4,  dengan  hasil  seperti pada gambar 16.

## 4.9. Pembahasan
Uji  coba  dengan  melakukan  pelatihan  dan pengujian  menggunakan  arsitektur  Keras  Sequential dengan epoch sebesar 10, 15, dan 20 epoch . Kemudian hasil dari klasifikasi akan dibuatkan confusion matrix guna  mengetahui  detail  dari  klasifikasi  yang  telah dilakukan.
Tabel 2. Pembahasan hasil uji
No. Nama Arsitektur Epoch Akurasi (%) 1. Keras Sequrntial 10 97 2. 15 93 3. 20 100
Pada tabel 2 adalah hasil uji coba dari tiga buah skenario  uji  coba  yang  telah  di  rencanakan.  Dapat dilihat  pada  uji  coba  pertama  mendapatkan  nilai akurasi  sebesar  97%  yang  bisa  dikatakan  bahwa klasifikasi  jenis  ikan  cupang  menggunakan  sepuluh epoch sudah cukup baik. Namun, pada uji coba kedua, hal yang mengejutkan bahwa pada klasifikasi dengan 15 epoch hanya  mendapatkan  nilai  akurasi  sebesar 93%,  dimana  nilai  ini  berada  di  bawah  nilai  dari akurasi  sebelumnya.  Sedangkan  pada  uji  coba  ketiga menggunakan  Keras  Sequential  dengan  20 epoch menunjukkan nilai akurasi sebesar 100% dimana hasil tersebut adalah hasil maksimal.
Tabel 3. Classification Report saat uji coba
No. Epoch Jenis Ikan Precision Recall F1 Score 1. 10 CT 1.00 0.90 0.95 2. HM 0.91 1.00 0.95 3. PK 1.00 1.00 1.00 4. 15 CT 1.00 0.80 0.89 5. HM 0.91 1.00 0.95 6. PK 0.91 1.00 0.95 7. 20 CT 1.00 1.00 1.00 8. HM 1.00 1.00 1.00 9. PK 1.00 1.00 1.00

## 5. KESIMPULAN DAN SARAN
Dari  penelitian  ini  dapat  disimpulkan,  CNN sangat  mudah  untuk  mengenali  dan  mengklasifikasi pada  objek  ikan  cupang  dengan  akurasi  maksimal sebesar  100%  pada  pengujian  dengan  20 epoch ,  dan nilai  dari confusion  matrix menunjukkan  nilai  yang baik cenderung sempurna. Semakin besar epoch , tidak menjamin  bahwa  akurasi  akan  meningkat,  dapat dilihat pada tabel 2 yang menunjukkan pada uji coba dengan epoch 15  mendapatkan  nilai  akurasi  sebesar 93%,  sedangkan  pada  uji  coba  dengan epoch 10 mendapatkan nilai akurasi sebesar 97%, dimana nilai akurasi  pada epoch 15  lebih  kecil  dibandingkan dengan  nilai  akurasi  pada epoch 10.  Namun,  jika model  pada epoch selanjutnya  terus  mengalami peningkatan metrik akurasi maka besar kemungkinan akurasi  akan  terus  meningkat.  Penelitian  ini  dapat dikembangkan  lagi  untuk  tetap  mendapatkan  akurasi maksimal  namun  dengan  menggunakan  komponen yang  berbeda  atau  mengkombinasi  dengan  metode yang lainnya.

## DAFTAR PUSTAKA
[1]  G.  Wahyudewantoro,  “Mengenal  Ikan  Cupang (Betta spp.) Ikan Hias Yang Gemar Bertarung,” Warta  Iktiologi ,  vol.  1,  no.  1,  pp.  28–32,  May 2017.
[2]  S. N. Aidah, Meraup Keuntungan dari Budidaya Cupang ,  1st  ed.  Yogyakarta:  Penerbit  KBM Indonesia, 2020.
[3]  Y.  Heningtyas,  F.  Rahmi,  and  K.  Muludi, “Implementasi  Density-Based  Clustering  pada Segmentasi Citra Betta Fish,” Jurnal Teknoinfo , vol. 16, no. 1, pp. 8–13, 2022.
[4]  D.  Putra, Pengolahan  Citra  Digital ,  1st  ed. Yogyakarta: Penerbit Andi, 2010.
[5]  L.  Tagliaferri,  “An  Introduction  to  Machine Learning.”  Accessed:  Feb.  22,  2022.  [Online].
Available: https://www.digitalocean.com/community/tutori als/an-introduction-to-machine-learning
[6]  B.  Santoso,  A.  I.  S.  Azis,  and  Zohrahayaty, Machine  Learning  &  Reasoning  Fuzzy  Logic Algoritma, Manual, Matlab, & Rapid Miner , 1st ed. Yogyakarta: Deepublish, 2020.
[7]  A.  Roihan,  P.  A.  Sunarya,  and  A.  S.  Rafika, “Pemanfaatan Machine Learning dalam Berbagai Bidang: Review paper,” IJCIT , vol. 5, no. 1, pp. 75–82, 2020.
[8]  H.  A.  Pratiwi,  M.  Cahyanti,  and  M.  Lamsani, “Implementasi  Deep  Learning  Flower  Scanner Menggunakan  Metode  Convolutional  Neural Network,” Sebatik ,  vol.  25,  no.  1, pp.  124–130,
2021.
[9]  N.  Sofia,  “Convolutional  Neural  Network,” https://medium.com/@nadhifasofia/1- convolutional-neural-network-convolutional- neural-network-merupakan-salah-satu-metode- machine-28189e17335b.
[10]  B.  Raharjo, Deep  Learning  dengan  Python . Semarang: Yayasan Prima Agus Teknik, 2022.
[11]  Q.  Lina,  “Apa  itu  Convolutional  Neural Network?,”
https://medium.com/@16611110/apa-itu- convolutional-neural-network-836f70b193a4.
[12]  A. Kadir, Logika Pemrograman Python . Jakarta: PT Elex Media Komputindo, 2019.
[13]  S.  R.  Dewi,  “DEEP  LEARNING  OBJECT DETECTION
PADA VIDEO MENGGUNAKAN TENSORFLOW DAN CONVOLUTIONAL  NEURAL  NETWORK,” UNIVERSITAS
ISLAM INDONESIA, Yogyakarta, 2018.
[14]  B. Rahmat and B. Nugroho, Pemrograman Deep Learning  dengan  Python ,  1st  ed.  Sidoarjo: Indomedia Pustaka, 2021.