## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v7i1.5520

## Klasifikasi Gerakan Yoga dengan Model Convolutional Neural Network Menggunakan Framework Streamlit
Mohammad Fikri Nur Syahbani, Nur Ghaniaviyanto Ramadhan *
Fakultas Informatika, Rekayasa Perangkat Lunak, Institut Teknologi Telkom Purwokerto, Purwokerto, Indonesia Email: 1 19104055@ittelkom-pwt.ac.id, 2* ghani@ittelkom-pwt.ac.id. Email Penulis Korespondensi: ghani@ittelkom-pwt.ac.id.
Abstrak− Masyarakat Indonesia memiliki kondisi yang tidak bugar dan kekurangan melakukan aktifitas olahraga, maka dari itu  salah  satu  alternatif  aktifitas  olahraga  adalah  yoga.  Yoga  merupakan  salah  satu  jenis  olahraga  yang  mempunyai  dua komponen penting yaitu pernapasan dan gerakan. Gerakan yoga pun bermacam  – macam dan bisa dibedakan dari lekukan tubuh,  namun  bagi  masyarakat  awam  mungkin  kurang  paham  dengan  gerakan  yoga.  Dengan  kemajuan  teknologi  dan kecerdasan  kinerja  komputer  saat  ini  memungkinkan  komputer  dapat  mengenali  suatu  citra  untuk  pengenalan  objek,  yaitu mendeteksi gerakan yoga dengan metode klasifikasi citra digital. Untuk mempermudah dalam melakukan klasifikasi gerakan yoga dapat menggunakan model CNN. Convolutional Neural Networks (CNN) adalah penggabungan antara jaringan syaraf tiruan dengan metode deeplearning. Proses CNN akan melakukan proses training dan testing terhadap gerakan yoga sehingga bisa ditentukan klasifikasi citra dari jenis gerakan yoga. Citra gerakan yoga dibagi menjadi 80% untuk training dan 20% testing. Proses training dilakukan dengan menggunakan dua skenario berbeda dengan membedakan ukuran masukan citra, batch size, optimizer.  Dataset  terdiri  gerakan  goddess,  plank,  tree,  warrior2,  downdog.  Hasil  akurasi  tertinggi  sebesar 94.10%  dengan menggunakan masukan citra 170 x 170, batch size 32, optimizer RMSprop. Hasil testing dari total 40 citra gerakan yoga, 37 citra berhasil ditebak dengan benar. Model yang telah di training diimplementasikan kedalam website menggunakan framework streamlit.
Kata Kunci: Yoga; Convolutional Neural Network; Streamlit; Image Classification; Deep Learning
Abstract− Indonesian people are not fit and lack sports activities, therefore one of the alternative sports activities is yoga. Yoga is a type of exercise that has two important components, namely breathing and movement. Yoga movements also vary and can be distinguished from body curves, but ordinary people may not be familiar with yoga movements. With advances in technology and computer performance intelligence, it is now possible for computers to recognize an image for object recognition, namely detecting yoga movements using the digital image classification method. To make it easier to classify yoga movements, you can use the CNN model. Convolutional Neural Networks (CNN) are a combination of artificial neural networks with deep learning methods. The CNN process will carry out a training and testing process for yoga movements so that an image classification can be determined from the type of yoga movement. The image of the yoga movement is divided into 80% for training and 20% for testing. The training process is carried out using two different scenarios by differentiating the input image size, batch size, optimizer. The dataset consists of goddess, plank, tree, warrior2, downdog movements. The highest accuracy results are 94.10% using 170 x 170 image input, batch size 32, RMSprop optimizer. The results of testing a total of 40 images of yoga movements, 37  images  were  correctly  guessed.  The  model  that  has  been  trained  is  implemented  into  the  website  using  the  Streamlit framework.
Keywords : Yoga; Convolutional Neural Network; Streamlit; Image Classification; Deep Learning

## 1. PENDAHULUAN
Di era pandemic yang sedang menuju endemic sekarang sangat dibutuhkan yang namanya kegiatan berolahraga demi menjaga kesehatan agar terhindar dari berbagai macam virus. Namun masyarakat terkadang selalu disibukan dengan kegiatan atau aktifitas yang sangat padat sehingga melupakan yang namanya berolahraga. Menurut  hasil laporan nasional sport development index 2021 yang dilakukan kementrian pemuda dan olahraga, masayakat di Indonesia  terbagi  menjadi  3  kategori.  Yang  pertama  kategori  tidak  bugar  mencapai  76%,  kategori sangat  tidak bugar 54,63%, dan  masyarakat kategori bugar  sebesar 5,86%  [1]. Dari angka tersebut  sangat  mengkhawatirkan bahwa masyarakat Indonesia itu kondisnya tidak bugar dan kekurangan yang namanya untuk melakukan kegiatan olahraga,  pemilihan  olahraga  yang  kurang  tepat  dalam  artian  intensitas  kegiatan  olahraga  yang  terlalu  tinggi  dapat menghambat seseorang dalam menjaga keberlanjutan olahraga. Maka dari itu salah satu alternatif aktivitas fisik yang semakin banyak dilakukan adalah yoga [2].
Yoga adalah aktivitas olahraga tubuh  yang melibatkan pikiran yang berfokus pada kekuatan, kelenturan tubuh  serta  respirasi  yang  dapat  membuat  kita  kuat baik  secara  jasmani  maupun  rohani.  Yoga  juga  memiliki  sebuah artian  yang  disebut  metode  yang  melatih  fisik  dan  mental  dengan  tujuan  agar  mencapai  kesatuan  tersebut  [3]. Dalam olahraga yoga terdapat dua komponen yang paling utama yaitu pernapasan dan postur dari gerakan yoga tersebut [4]. Olahraga selain yoga yang lebih menekankan aktivitas fisik tanpa diseimbangkan dengan pernafasan dan penghayatan, justru nantinya akan menyebabkan seseorang  merasakan kelelahan yang luar biasa dan  tidak berenergi [2].
Keunggulan yoga dibandingkan dengan jenis olahraga lainnya yaitu yoga bersifat lebih statis dengan satu posisi  yang dipertahankan selama beberapa  saat, efek dari  aktivitas yoga akan berpengaruh banyak pada organ atau  sistem fisiologi, bersifat anabolik yang diartikan gerakannya seimbang dengan pernapasan sehingga suplai dari  oksigen  kedalam  tubuh  selalu  cukup,  bersifat  subyektif  sehingga  orang  yang  melakukan  yoga  cenderung

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v7i1.5520
introver  dan  menguasai  diri,  menenangkan  dan  menjernihkan  pikiran  [5].  Olahraga  yoga  umumnya  sering dilakukan oleh orang dewasa dan hanya sedikit saja para remaja melakukan olahraga yoga, olahraga yoga banyak dilakukan oleh para kaum wanita, hanya sedikit kaum pria yang melakukan olahraga yoga dikarenakan kurangnya pengetahuan untuk belajar gerakan yoga [6].
Cara mengetahui jenis gerakan yoga bisa dibedakan berdasarkan gerakan tubuhnya dan lekukan tubuhnya, namun  masyarakat  awam  mungkin  kurang  paham  dengan  gerakan  yoga.  Dengan  kemajuan  teknologi  dan kecerdasan  kinerja  komputer  saat  ini  memungkinkan  komputer  dapat  mengenali  suatu  citra  untuk  pengenalan objek, yaitu mendeteksi gerakan yoga dengan metode klasifikasi citra digital. Penerapan untuk klasifikasi gerakan yoga telah dikembangkan di beberapa penelitian sebelumnya.
Berdasarkan  penelitian  sebelumnya  oleh F.  Daniel  Tanugraha ,  et  all,  yang  dilakukan  pada  tahun  2022 hasilnya adalah bahwa akurasi training menggunakan LSTM sebesar 91%. Parameter validasi menghasilkan nilai akurasi sebesar 89%, dan nilai loss sebesar 0.29 dan validasi loss sebesar 0.35 dengan penggunaan 400 epochs. Untuk  klasifikasi  gerakan  T-Pose  mendapatkan  hasil  100%  dalam  pengujian.  Klasifikasi  gerakan  Warrior  II mendapatkan  hasil  sebesar  85%,  sedangkan  Tree  Pose  mendapatkan  nilai  akurasi  sebesar  80%  [7].  Penelitian sebelumnya  oleh  I.  Muhammad  dan  Z.  Arlinda  Olga  yang  dilakukan  pada  tahun  2022  hasilnya  adalah  bahwa akurasi tertinggi model sebesar 89.98% dengan nilai loss 0.9494 dengan arsitektur InceptionRenet-v2 dan Squared Hinge Loss dengan epoch 200, learning rate 0.0001 [8]. Penelitian sebelumnya oleh B. Utkarsh dan Dr. G. Shikha pada tahun 2021 hasilnya adalah bahwa akurasi tertinggi yang dihasilkan oleh algoritma logistic regression sebesar 94%, precision sebesar 94%, recall sebesar 94%, dan f-1 score sebesar 94% [9]. Penelitian sebelumnya oleh V. Rathikarani,  et  all  yang  dilakukan  pada  tahun  2022  hasilnya  adalah  model  terbaik  yaitu  dengan  menggunakan penggabungan antara MobileNetV2 dan  Random Forest  Classifier, akurasi  nya sebesar 86.37% [10]. Penelitian sebelumnya B. Varsha, et all pada tahun 2022 hasilnya adalah akurasi yang didapat dari model sebesar 98.51% dengan  penggunaan  Posenet,  MI5  dan  K-Nearest  Neighbour[11].  Perbedaan  penelitian  ini  dari  penelitian sebelumnya adalah dengan menggunakan model Convolutional Neural Network.
CNN merupakan bagian dari deep learning model CNN yang dipilih karena dapat mempermudah dalam melakukan  klasifikasi  gerakan  yoga[12].  Model  CNN  digunakan  karena  CNN  berupaya  mengikuti  sistem pengenalan citra atau gambar pada visual cortex manusia yang dapat memiliki kapabilitas untuk mengolah sebuah informasi  citra  [13].  Metode  CNN  adalah  bentuk  dari  pengembangan  Multi  Layer  Perception  (MLP). Perbedaannya  dengan  MLP  hanya  menerima  inputan  satu  dimensi  sedangkan  CNN  dapat  menerima  data  dua dimensi  diantaranya yaitu citra [14]. CNN merupakan jenis dari  model  deep learning  yang bisa mengolah data dalam bentuk pola grid. CNN terdiri dari tiga jenis layer yaitu convolutional layer, pooling layer, fully connected layer. Masing  –  masing  dari layer tersebut  memiliki  peranan yang berbeda yaitu convolution layer dan pooling layer memiliki kegunaan untuk ekstraksi fitur, sedangkan  fully connected layer kegunaannya untuk memetakan fitur dari hasil ekstaksi yang telah dilakukan dengan output klasifikasi [15].
CNN memiliki kelebihan yang dimana tidak membutuhkan metode untuk ekstraksi dari ciri – ciri khusus, didalam  proses  metode  ini  memerlukan  beberapa  tahap  yang  nantinya  dapat  menghasilkan  dari  atribut  yang dibutuhkan pada saat klasifikasi [16]. Akan tetapi metode CNN membutuhkan jumlah data training yang banyak, sehingga perangkat yang digunakan pada unit pemrosesan dibutuhkan biaya yang cukup mahal untuk melakukan pelatihan  sebuah  model  [17].  Dari  model  CNN  yang  telah  dibuat  maka  model  harus  dilakukan  pengukuran terhadap  kinerja  sebuah  sistem  klasifikasi  merupakan  sebuah  hal  yang  penting.  Kinerja  sistem  klasifikasi menggambarkan seberapa baik sistem dalam mengklasifikasikan sebuah data [18].
Berdasarkan permasalahan yang telah dijelaskan maka perlu dilakukan penelitian mengenai implementasi website klasifikasi gerakan yoga. Proses implementasi klasifikasi gerakan yoga ini menggunakan Convolutional Neural  Network (CNN) untuk melakukan proses training dan menghasilkan model yang memiliki akurasi  yang akurat dalam melakukan klasifikasi gerakan yoga serta website digunakan untuk memudahkan pengguna dalam melakukan klasifikasi gerakan yoga.

## 2. METODOLOGI PENELITIAN

## 2.1 Subjek dan Objek Penelitian
Berdasarkan latar belakang yang telah peneliti buat, maka dalam penelitian ini dilakukan penerapan model CNN pada  website  menggunakan  framework  streamlit. Adapun  subjek  pada  penelitian  ini  adalah  citra  gerakan  yoga sedangkan objek penelitian yaitu klasifikasi citra gerakan yoga.

## 2.2 Bahan Penelitian
Penelitian  ini  mengunakan  bahan  citra  gerakan  yoga  yang  diambil  dari  sebuah  situs  yang  dinamakan  Kaggle https://www.kaggle.com/datasets/niharika41298/yoga-poses-dataset  dengan  jumlah  gambar  sebanyak  1551 dengan  5  gerakan  yoga.  Bahan  tersebut  merupakan  yang  digunakan  untuk  merancang  klasifikasi  gerakan  yoga menggunakan model CNN yang nantinya akan di implementasikan ke dalam  website menggunakan framework streamlit.

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v7i1.5520

## 2.3 Tahapan Penelitian
Penelitian ini bisa dikatakan sebagai penelitian yang baik jika tahapan penelitiannya terlihat jelas dan sesuai dengan yang  dibuat.  Tahapan  yang  dilakukan  peneliti  dalam  penelitian  “Klasifikasi  Gerakan  Yoga  Dengan  Model Convolutional Neural Network Menggunakan Streamlit” adalah sesuai dengan gambar 1.

## Gambar 1. Diagram Alur Penelitian
Pada gambar 1. Adalah diagram alur penelitian yang dimulai dari analisis kebutuhan sistem, setelah itu ada tahapan  data  exploration,  lalu  dilanjutkan  data  augmentation,  selanjutnya  setelah  melewati  tahap  data augmentation  terdapat  tahap data  preprocessing, kemudian pembuatan model lalu mengimplementasikannya ke dalam website.

## 2.4 Analisis Kebutuhan Sistem
Analisis  kebutuhan  sistem  ditentukan  dari  awal  yaitu  identifikasi  masalah,  menentukan  tujuan,  melakukan pembacaan  terhadap  studi  literatur,  pengumpulan  dataset.  Identifikasi  masalah  dilakukan  untuk  mengetahui permasalahan yang terjadi pada studi kasus dengan tujuan masalah tersebut dapat terselesaikan dengan penelitian ini. Studi literatur dilakukan untuk menemukan dasar – dasar teori sebagai referensi dan acuan dari penelitian yang dilakukan. Penelitian ini mengggunakan dasar – dasar teori yang umum dilakukan dalam pembuatan klasifikasi citra  menggunakan model  CNN  seperti  tahapan  dalam  data  exploration,  data  augmentation  data  preprocessing, create CNN model, cara implementasi.
Pengumpulan  dataset  citra  gerakan  yoga  yang  akan  digunakan  untuk  membuat  model  Convolutional  Neural Network (CNN) yang didapatkan dari situs Kaggle. Pada gambar 2 adalah contoh citra dari label downdog, gambar 3 adalah contoh citra dari label goddess, gambar 4 contoh citra dari label plank, gambar 5 adalah contoh citra dari label tree, gambar 6 adalah contoh citra dari label warrior2.
Gambar 2. Dataset Label Downdog
Gambar 3. Dataset Label Goddess

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v7i1.5520
Gambar 5. Dataset Label Tree
Gambar 6. Dataset Label Warrior2

## 2.5 Data Exploration
Data exploration dilakukan untuk mengeksplorasi dataset yang telah diambil dari situs Kaggle yang gunanya untuk mengetahui  sebaran  setiap  data  untuk  masing  masing  label.  Eksplorasi  terhadap  sebaran  data  untuk tiap  label bertujuan untuk melihat keseimbangan dari data tiap labelnya. Hasil dari data exploration nantinya bisa digunakan untuk melihat data yang ditangani ke dalam proses selanjutnya [19].

## 2.6 Data Augmentation
Data  augmentation  dilakukan  untuk  meningkatkan  keragaman  data  yang tersedia  untuk  model  pelatihan,  tanpa perlu menambahkan data baru. Teknik augmentasi data seperti rotation range, width shift range, height shift range, shear range, zoom range, dan horizontal flip. Rotation range berfungsi untuk merotasi gambar dengan derajat yang diinginkan. Width shift range berfungsi untuk menggeser gambar secara acak baik ke kiri ataupun ke kanan. Height shift  range  berfungsi untuk  menggeser gambar secara vertikal. Shear range  berfungsi  untuk menggeser gambar dengan sudut geser berlawanan arah jarum jam. Zoom range berfungsi untuk memperbesar gambar apabila angka yang dimasukan bernilai positif sebaliknya jika negatif angkanya maka akan memperkecil gambar. Horizontal flip berfungsi untuk membalik gambar secara horizontal.

## 2.7 Data Preprocessing
Data  preprocessing  atau  biasanya  disebut  persiapan  data  yang  nantinya  akan  di  proses.  Persiapan data  tersebut meliputi mengubah ukuran citra sesuai dengan ukuran input dalam model CNN, lalu membagi dataset citra menjadi 80% training dan 20% testing. Dalam data preprocessing ini dilakukan agar nantinya model yang dihasilkan juga mendapat hasil yang baik [20],[21].

## 2.8 Model CNN
Dalam  pembuatan  model  Convolutional  Neural  Network  (CNN)  klasifikasi  gerakan  yoga  menggunakan arsitektur sebagai berikut:
a. Terdapat masukan citra berukuran 150 x 150 x 3 atau 170 x 170 x 3, didalam angka 3 tersebut  menandakan bahwa citra yang dimasukan adalah citra yang memiliki warna rgb dengan ukuran 150 x 150 atau 170 x 170.
b. Terdapat lapisan convolusi yang pertama dengan filters berukuran 32 dan kernel yang digunakan berukuran 3 x 3 dengan stride atau perpindahan kernel 1 kali dan menggunakan activation relu.
c. Terdapat batch normalization
d. Terdapat maxpooling yang pertama dengan mengggunakan pool size berukuran 2 dan stride 2.
e. Terdapat dropout 0.1
f. Terdapat lapisan convolusi yang kedua dengan filters berukuran 64 dan kernel yang digunakan berukuran 3 x 3 dengan stride atau perpindahan kernel 1 kali dan menggunakan activation relu.
g. Terdapat batch normalization
h. Terdapat maxpooling yang kedua dengan mengggunakan pool size berukuran 2 dan stride 2.
i. Terdapat dropout 0.25
j. Terdapat lapisan convolusi yang ketiga dengan filters berukuran 128 dan kernel yang digunakan berukuran 3 x 3 dengan stride atau perpindahan kernel 1 kali dan menggunakan activation relu.
k. Terdapat batch normalization
l. Ketujuh terdapat maxpooling yang ketiga dengan mengggunakan pool size berukuran 2 dan stride 2.
m. Terdapat dropout 0.25
n. Terdapat lapisan convolusi yang keempat dengan filters berukuran 64 dan kernel yang digunakan berukuran 3

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v7i1.5520
x 3 dengan stride atau perpindahan kernel 1 kali dan menggunakan activation relu.
o. Terdapat batch normalization
p. Ketujuh terdapat maxpooling yang keempat dengan mengggunakan pool size berukuran 2 dan stride 2.
q. Terdapat dropout 0.25
r. Terdapat lapisan convolusi yang kelima dengan filters berukuran 32 dan kernel yang digunakan berukuran 3 x 3 dengan stride atau perpindahan kernel 1 kali dan menggunakan activation relu.
s. Terdapat batch normalization
t. Ketujuh terdapat maxpooling yang kelima dengan mengggunakan pool size berukuran 2 dan stride 2.
u. Terdapat dropout 0.25
v. Terdapat flatten  yang  berfungsi  untuk  mengubah feature map  dari dua dimensi  menjadi  vector  satu  dimensi agar dapat masuk ke dalam fully connected layer.
w. Terdapat dropout 0.5
x. Terdapat  fully  connected  layer dengan  dense  yang  pertama  memiliki  units  sebesar  128  mengggunakan activation relu
y. Terdapat dense yang kedua memiliki units 5 mengggunakan activation softmax, nilai 5 itu merupakan output yang diklasifikasi berdasarkan jumlah label.
Dalam  parameter  tersebut  nantinya  akan  di  aplikasikan  kedalam  program  dengan  menggunakan  library tensorflow. Pada tahap pelatihan model CNN ini dilakukan dengan menggunakan dataset citra gerakan yoga yang terdiri dari dua direktori yaitu training dan testing pada direktori masing – masing direktori tersebut terdapat lima label  yaitu  downdog,  goddess,  plank,  tree,  warrior2.  Pada  penelitian  ini  akan  dilakukan  beberapa  skema  percobaan pelatihan model CNN untuk klasifikasi gerakan yoga antara lain dijelaskan pada tabel 1.
Tabel 1. Skema Percobaan Nomor Skema Percobaan 1 Size citra berukuran 150 x 150 dan 170 x 170 2 Jumlah epochs yang digunakan untuk percobaan yaitu 50 3 Jumlah batch size yang digunakan untuk percobaan yaitu 8, 16, 32 4 Optimizer yang digunakan yaitu Adam, RMSprop, SGD dan loss menggunakan categorical crossentropy
5 Komposisi pembagian data yang digunakan adalah 80% untuk data training dan 20% untuk data testing
Dilakukan  evaluasi  terhadap  performansi  sistem  setelah  proses  training  selesai.  Evaluasi  ini  dilakukan untuk mengetahui keakuratan kinerja dari model CNN yang telah dibuat. Dalam evaluasi ini digunakan confusion matrix.  Confusion  matrix  merupakan  table  untuk  menggambarkan  kinerja  model  klasifikasi  pada  set  data pengujian yang nilai nya telah diketahui [22]. Ini memungkinkan identifikasi yang mudah dari kebingungan antar suatu kelas, contohnya satu kelas umumnya salah diberi label sebagai yang lain. Jumlah prediksi yang benar dan salah dijadikan rangkuman dengan nilai – nilai hitung dan di pecah oleh setiap kelasnya. Confusion matrix juga memvisualisasikan akurasi klasifikasi dengan membandingkan kelas actual dan prediksi [23],[24]. Setelah dibuat model  CNN  dan  melakukan  evaluasi  menggunakan  confusion  matrix  lalu  model  diimplementasikan  menjadi sebuah website agar lebih interaktif [25].

## 2.9 Implementasi Website
Website  yang  dibangun  merupakan  website  yang  digunakan  untuk  mengklasifikasi  gerakan  yoga  dengan menggunakan model CNN yang telah dilatih dan dilakukan pengujian model dengan ekstensi .hdf5. Website ini dibangun  dengan  menggunakan  framework  dari  bahasa  pemrograman  python  yaitu  streamlit.  Streamlit  adalah framework  dari  python  yang  sifatnya  open  source.  Streamlit  juga  memiliki  kemampuan  yang  dapat  mengubah skrip  menjadi  sebuah  aplikasi  web  yang  bisa  ditampilkan  dalam  hitungan  menit.  Hal  tersebut  membuat  sangat mudah dalam pembuatan aplikasi berbasis web terutama bagi yang memiliki sedikit pengetahuan tentang desain front – end web development [26].

## 3. HASIL DAN PEMBAHASAN
Pada hasil dan pembahasan akan dipaparkan tentang hasil pengujian dan analisis klasifikasi gerakan yoga dengan model  Convolutional  Neural  Network  (CNN)  menggunakan  streamlit.  Hasil  dari  pengujian  klasifikasi  gerakan yoga berupa akurasi, presisi, loss, recall, f-1 score, dan implementasi model CNN kedalam website menggunakan framework streamlit.

## 3.1 Data Exploration
Pada tahapan data exploration data mentah gerakan yoga yang diambil dari situs Kaggle dilakukan pengecekan terhadap sebaran datanya. Terdapat 1551 citra dari gerakan yoga yang terdapat 5 kelas yaitu  goddess, plank, tree,

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v7i1.5520
warrior2,  downdog.  Data  citra  goddess  sebanyak  260  citra,  plank  sebanyak  381  citra,  tree  sebanyak  229  citra, warrior 2 seebanyak 361 citra, downdog sebanyak 320 citra. Dalam tahap ini dilakukan pengecekan terhadap citra nya terdapat beberapa citra yang tidak valid sehingga perlu dihapus karena nantinya dapat mempengaruhi akurasi dari model yang akan dibuat, contoh citra yang tidak valid seperti dibawah ini :
Gambar 7. Citra Class Plank Tidak Valid
Gambar 8. Citra Class Warrior2 Tidak Valid
Dari  beberapa  gambar  diatas  dianggap  tidak  valid  karena  terdapat  banyak  tulisan  yang  nantinya  dapat mengganggu terhadap akurasi citra, dan terdapat juga citra yang salah class.

## 3.2 Data Augmentation
Data augmentation untuk menyeimbangkan data citra antar kelas nya perlu dilakukan penambahan data citra atau augmentasi data dalam augmentasi data tersebut menggunakan beberapa teknik yaitu  rotation range, width shift range, height shift range, shear range, zoom range, dan horizontal flip. Dibawah ini merupakan salah satu contoh hasil dari data augmentation.

## Gambar 9. Hasil Data Augmentation

## 3.3 Hasil Data Preprocessing
Pada tahap data preprocessing dilakukan resize citra yang nantinya akan digunakan dalam pelatihan model, ukuran resize citra ditentukan berdasarkan skenario pengujian 1 dan 2 yaitu 150 x 150 dan 170 x 170. Lalu dalam data preprocessing  ini  dilakukan  pembagian  antara  training  data  dan  testing  data  sebesar  80%  dan  20%  dari  total keseluruhan 1610 data citra.
Tabel 2. Pembagian Dataset Dataset  Data Training 80% Dataset Testing Goddess 258 64 Plank 258 64 Tree 258 64 Warrior2 257 65 Downdog 257 65 Total 1288 322
Tabel 2 adalah detail dari pembagian data dari masing masing kelas yang digunakan dibagi menjadi data training dan testing. Dari pembagian data ini maka data training terdapat 1288 citra dan data testing terdapat 322 citra.

## 3.4 Skenario Pengujian Sistem
Pada  tahapan  pengujian  sistem  yang  sudah  dibuat  di  penelitian  ini,  dilakukan  dua  proses  yaitu  proses training, dan proses testing. Proses training dilakukan untuk membuat model yang nantinya akan digunakan pada  proses testing.  Pengujian  yang  dilakukan  pada  sistem  ini  bertujuan  untuk  mendapatkan  hasil  performansi sistem  yang terbaik untuk mengklasifikasi gerakan yoga yang sesuai, hal tersebut dapat dilihat dari beberapa nilai parameter yaitu  akurasi,  precision,  recall,  f-1  score.  Skenario  pengujian  pada  sistem  adalah  sebuah  tahapan  pengujian terhadap arsitektur CNN yang telah dibangun. Pada penelitian ini penulis akan melakukan pengujian sistem dengan

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v7i1.5520
beberapa skenario, yaitu:
a. Skenario  1  yaitu  pengujian  dilakukan  dengan  image  size  150  x  150,  dengan  batch  size  8,  16,  32,  dan menggunakan 3 optimizer yaitu Adam, RMSprop, SGD.
b. Skenario  2  yaitu  pengujian  dilakukan  dengan  image  size  170  x  170,  dengan  batch  size  8,  16,  32,  dan menggunakan 3 optimizer yaitu Adam, RMSprop, SGD.

## 3.5 Skenario Pertama
Dalam skenario ini pengujian model CNN yang dilakukan adalah citra berukuran 150 x 150 dengan menggunakan optimizer adam dan batch size 8,16,32. Hasil akurasi akan di tampilkan pada tabel 2.
Tabel 3. Skema Percobaan 1 Batch Size Accuracy Loss Precision Recall F-1 Score 8 87.27% 0.42 88% 87% 87% 16 87.58% 0.43 88% 88% 88% 32 87.11% 0.41 88% 88% 88%
Berdasarkan tabel 2 nilai akurasi tertinggi pada  batch size 16 sebesar 87.58% dengan ukuran citra 150 x 150 dan optimizer adam. Berikutnya merupakan pengujian dilakukan dengan menggunakan optimizer RMSprop masih dengan batch size yang sama yaitu 8, 16, 32. Hasil akurasi akan di tampilkan pada tabel 3.
Tabel 4. Skema Percobaan 2 Batch Size Accuracy Loss Precision Recall F-1 Score 8 87.89% 0.35 88% 88% 88% 16 90.37% 0.38 91% 90% 90% 32 88.82% 0.44 88% 89% 89%
Langkah berikutnya merupakan pengujian dilakukan dengan menggunakan optimizer SGD masih dengan batch size yang sama yaitu 8, 16, 32. Hasil akurasi akan di tampilkan pada tabel 4.
Tabel 5. Skema Percobaan 3 Batch Size Accuracy Loss Precision Recall F-1 Score 8 87.27% 0.42 88% 87% 87% 16 77.64% 0.61 79% 78% 77% 32 76.40% 0.67 77% 76% 76%
Dari skenario pertama maka nilai akurasi tertinggi didapatkan sebesar 90.37% dengan masukan citra 150 x 150 dengan batch size 16 menggunakan optimizer RMSprop. Pada gambar 10 merupakan gambar confusion matrix dari nilai akurasi tertinggi di skenario pertama.
Gambar 10. Confusion Matrix Skenario 1
Pada gambar 10 dapat dilihat bahwa model yang berhasil di prediksi untuk label goddess yang bernilai true sebanyak 51, label plank yang bernilai true sebanyak 62, label tree yang bernilai true sebanyak 58, label warrior2 yang  bernilai  true  sebanyak  62,  label  downdog  yang  bernilai  true  sebanyak  58.  Pada  gambar  11  merupakan classification report dari hasil model terbaik skenario pertama.

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v7i1.5520

## 3.6 Skenario Kedua
Dalam skenario ini pengujian model CNN yang dilakukan adalah citra berukuran 170 x 170 dengan menggunakan optimizer adam dan batch size 8,16,32. Hasil akurasi akan di tampilkan pada tabel 5.
Tabel 6. Skema Percobaan 1 Batch Size Accuracy Loss Precision Recall F-1 Score 8 90.37% 0.39 91% 90% 90% 16 90.68% 0.33 91% 91% 91% 32 90.99% 0.28 91% 91% 91%
Berikutnya  merupakan  pengujian  dilakukan  dengan  menggunakan  optimizer  RMSprop  masih  dengan batch sizeyang sama yaitu 8, 16, 32. Hasil akurasi akan di tampilkan pada tabel 6.
Tabel 7. Skema Percobaan 2 Batch Size Accuracy Loss Precision Recall F-1 Score 8 90.68% 0.42 91% 91% 91% 16 90.68% 0.38 91% 91% 91% 32 94.10% 0.24 94% 94% 94%
Langkah berikutnya merupakan pengujian dilakukan dengan menggunakan optimizer SGD masih dengan batch size yang sama yaitu 8, 16, 32. Hasil akurasi akan di tampilkan pada tabel 7.
Tabel 8. Skema Percobaan 3 Batch Size Accuracy Loss Precision Recall F-1 Score 8 85.71% 0.47 86% 86% 85% 16 83.85% 0.44 84% 84% 84% 32 80.43% 0.51 81% 80% 81%
Dari skenario kedua maka nilai akurasi tertinggi didapatkan sebesar 94.10% dengan masukan citra 170 x 170 dengan batch size 32 menggunakan optimizer RMSprop. Pada gambar 12 merupakan gambar confusion matrix dari nilai akurasi tertinggi di skenario kedua.

## Gambar 12. Confusion Matrix Skenario 2
Pada gambar 10 dapat dilihat bahwa model yang berhasil di prediksi untuk label goddess yang bernilai true sebanyak 61, label plank yang bernilai true sebanyak 60, label tree yang bernilai true sebanyak 57, label warrior2 yang  bernilai  true  sebanyak  63,  label  downdog  yang  bernilai  true  sebanyak  62.  Pada  gambar  13  merupakan classification report dari hasil terbaik skenario kedua.

## 3.7 Skenario Terbaik
Skenario terbaik ditentukan berdasarkan tingkat akurasi tertinggi yang telah dilakukan pada tahap skenario pertama dan  skenario  kedua.  Dan  model  yang  memperoleh  hasil  akurasi  tertinggi  yaitu  dengan  inputan  citra  170 x 170

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v7i1.5520
yang menggunakan optimizer RMSprop dengan batch size 32 akurasi nya sebesar 94.10%. Setelah mendapatkan hasil  model  terbaik,  model  tersebut  akan  dilakukan  pengujian  terhadap  citra  gerakan  yoga.  Pada  gambar  14 merupakan hasil pengujian yang dilakukan terhadap citra gerakan yoga.
Gambar 14. Test Model
Dari 40 prediksi citra gerakan yoga yang telah dilakukan terdapat 3 kesalahan prediksi citra gerakan yoga. Yang  pertama  terletak  dibaris  pertama  actual  class  tree  predicted  class  goddess,  yang  kedua  terletak  dibaris keempat  actual class warrior2 predicted class goddess, yang ketiga terletak dibaris kelima  actual class goddess predicted class warrior2.

## 3.8 Implementasi Website
Pada  tahap  ini  dilakukan  pengimplementasian  model  CNN  kedalam  website.  Website  ini  dibuat  menggunakan framework streamlit. Didalam website terdapat tombol untuk mengunggah sebuah gambar atau citra dan dibawah ini merupakan tampilan sebuah website.
Pada gambar 15 terdapat judul website klasifikasi gerakan yoga lalu dibawahnya terdapat tulisan upload gambar  tombol  untuk  mengunggah  sebuah  citra  atau  gambar  lalu  dibawahnya  terdapat  perintah  tolong  upload

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v7i1.5520
gambar. File yang diunggah nantinya harus memenuhi ekstensi file seperti JPG, JPEG, dan PNG. Dalam tampilan tersebut  terdapat  nama  file  yang  diunggah,  citra  dari  gerakan  yoga,  manfaat  dari  gerakan  yoga,  serta  prediksi gerakan yoga. Dalam citra gerakan yoga diatas merupakan citra dari gerakan yoga  tree dan prediksi dari model benar yaitu tree.

## 4. KESIMPULAN
Proses penelitian klasifikasi citra gerakan yoga diimplementasikan menggunakan 2 tools yaitu Visual Studio Code dan Google Collaboratory dengan menggunakan metode CNN dan library sklearn, tensorflow, matplotlib, numpy, streamlit. Proses penelitian ini dilakukan mulai dari pengambilan data citra gerakan yoga dari website Kaggle, data exploration,  data  augmentation,  data  preprocessing,  pembuatan  model,  implementasi  model  ke  website menggunakan framework streamlit. Dari hasil 2 skenario berbeda model terbaik didapatkan dengan menggunakan kombinasi parameter yaitu size citra 170 x 170, optimizer RMSprop, batch size 32, epochs 50. Dengan nilai akurasi 94.10%.  Dari  hasil  tersebut  maka  penelitian  ini  hasil  akurasi  nya  lebih  besar  dibandingkan  dengan  penelitian sebelumnya  yang  menggunakan  Long  Short-Term  Memory  (LSTM)  dengan  Mediapipe.  Sistem berhasil mengklasifikasikan  jenis  gerakan  yoga  menggunakan  Convolutional  Neural  Network  (CNN)  dalam  lima kelas yaitu  goddes,  plank,  tree,  warrior  2,  downdog.  Pengimplementasian  website  klasifikasi  gerakan  yoga menggunakan streamlit dapat berjalan dengan baik. Saran yang bisa diberikan untuk pengembangan penelitian ini yaitu  dengan  melakukan  modifikasi  pada  arsitektur  CNN  dalam  rangka  mengurangi  loss  dan  dapat  menaikan accuracy pada model, dilakukan lebih banyak skenario uji coba pada parameter yang digunakan pada model CNN dalam meningkatkan potensi  kenaikan performansi. Melakukan  hosting terhadap  website  yang sudah jadi perlu dilakukan agar semua orang dapat mengakses website tersebut.

## REFERENCES
[1] W. Cahyono, “Kebugaran Orang Indonesia Rendah,” Sindonews.com, 2022.
https://nasional.sindonews.com/read/672353/15/kebugaran-orang-indonesia-rendah-1643598094/  (accessed  Apr.  14, 2022).
[2] P. N. Fatimah, F. F. Dieny, E. A. Murbawani, and A. F. A. Tsani, “Latihan yoga terhadap berat badan, persen lemak tubuh,  dan  lingkar  perut  pada  wanita  dewasa  overweight,”  J.  Gizi  Klin.  Indones.,  vol.  14,  no.  4,  p.  131,  2018,  doi: 10.22146/ijcn.32150.
[3] N. Prastika, “YOGA SASTRA Laku Mistik Balian Usada Bali,” Dharmasmrti, vol. XVII, no. 02, pp. 11–19, 2017, doi: 10.32795/ds.v17i02.84.
[4] M. M. Rosady and B. Santoso, “Pengembangan Media Interaktif Gerakan Yoga Berbasis Mobile Android Menggunakan Metode User Centered Design,” Sistemasi, vol. 10, no. 3, p. 538, 2021, doi: 10.32520/stmsi.v10i3.1345.
[5] G.  N.  Panggraita,  Sugiharto,  and  T.  Soenyoto,  “Pengaruh  Latihan  Hatha  Yoga  dan  Kapasitas  Vital  Paru  terhadap Penurunan Lemak Tubuh,” J. Phys. Educ. Sport., vol. 6, no. 1, pp. 29–35, 2017, doi: 10.15294/JPES.V6I1.17318.
[6] P. A. Nanda, “Simulasi Visualisasi Teknik Gerakan Yoga Dengan Metode Pengembangan Multimedia Luther- Sutopo Berbasis Mobile,” JURIKOM (Jurnal Ris. Komputer), vol. 7, no. 2, p. 207, 2020, doi: 10.30865/jurikom.v7i2.1944.
[7] F. Daniel Tanugraha, H. Pratikno, M. Musayanah, and W. Indah Kusumawati, “Pengenalan Gerakan Olahraga Berbasis (Long Short- Term Memory) Menggunakan Mediapipe,” J. Adv. Inf. Ind. Technol., vol. 4, no. 1, pp. 37–45, 2022, doi: 10.52435/jaiit.v4i1.182.
[8] M. Ichwan, A. O. Zerlinda, S. Informatika, I. Teknologi, and N. Bandung, “Implementasi Arsitektur InceptionResNet- v2  dan  (  Studi  Kasus  Klasifikasi  Pose  Yoga  )  Squared  Hinge  Loss,”  vol.  7,  no.  2,  pp.  124–138, 2022,  doi: 10.26760/mindjournal.v7i2.124-138.
[9] A. U. Dessai and H. G. Virani, “YOGA POSE DETECTION AND CLASSIFICATION USING MACHINE LEARNING TECHNIQUES,” vol. 3, no. 12, pp. 11–31, 2022, doi: 10.4018/978-1-6684-5673-6.ch002.
[10] V. Rathikarani, S. Abarna, and K. Vijayakumar, “Classification Of Yoga Pose Using Pretrained  Convolutional Neural Networks,” J. Pharm. Negat. Results, vol. 13, no. 8, pp. 3798–3805, 2022, doi: 10.47750/pnr.2022.13.S08.474.
[11] D. Shah, V. Rautela, C. Sharma, and A. A. Florence, “Yoga Pose Detection Using Posenet and k-NN,” 2021 Int. Conf. Comput. Commun. Green Eng. CCGE 2021, no. May, 2021, doi: 10.1109/CCGE50943.2021.9776451.
[12] H. Fonda, “Klasifikasi Batik Riau Dengan Menggunakan Convolutional Neural Networks (Cnn),” J. Ilmu Komput., vol. 9, no. 1, pp. 7–10, 2020, doi: 10.33060/jik/2020/vol9.iss1.144.
[13] G. A. Anwar and D. Riminarsih, “Klasifikasi Citra Genus Panthera Menggunakan Metode Convolutional Neural Network (Cnn),” J. Ilm. Inform. Komput., vol. 24, no. 3, pp. 220–228, 2019, doi: 10.35760/ik.2019.v24i3.2364.
[14] R. A. Pangestu, B. Rahmat, and F. T. Anggraeny, “Implementasi Algoritma CNN untuk Klasifikasi Citra Lahan dan Perhitungan Luas,” Inform. dan Sist. Inf., vol. 1, no. 1, pp. 166–174, 2020, doi: 10.33005/jifosi.v1i1.5.
[15] D. Alamsyah and D. Pratama,  “Implementasi Convolutional Neural Networks (CNN) untuk Klasifikasi Ekspresi Citra Wajah pada FER-2013 Dataset,” J. Teknol. Inf., vol. 4, no. 2, pp. 350–355, 2020, doi: 10.36294/jurti.v4i2.1714.
[16] Y.  Yohannes,  S.  Devella,  and  K.  Arianto,  “Deteksi  Penyakit  Malaria  Menggunakan  Convolutional  Neural  Network Berbasis Saliency,” JUITA J. Inform., vol. 8, no. 1, p. 37, 2020, doi: 10.30595/juita.v8i1.6671.
[17] R. Magdalena, S. Saidah, N. K. C. Pratiwi, and A. T. Putra, “Klasifikasi Tutupan Lahan Melalui Citra Satelit SPOT- 6 dengan Metode Convolutional Neural Network (CNN),” J. Edukasi dan Penelit. Inform., vol. 7, no. 3, p. 335, 2021, doi: 10.26418/jp.v7i3.48195.
[18] N. Hadianto, H. B. Novitasari, and A. Rahmawati, “Klasifikasi Peminjaman Nasabah Bank Menggunakan Metode Neural Network,” J. Pilar Nusa Mandiri, vol. 15, no. 2, pp. 163–170, 2019, doi: 10.33480/pilar.v15i2.658.

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v7i1.5520
[19] A.  Perwira,  J.  Dwitama,  and  S.  Hidayat,  “Identifikasi  Ujaran  Kebencian  Multilabel  Pada  Teks  Twitter  Berbahasa Indonesia Menggunakan Convolution Neural Network,” J. Sist. Komput. dan Inform., vol. 3, pp. 117–127, 2021, doi: 10.30865/json.v3i2.3610.
[20] S. Ilahiyah and A. Nilogiri, “Implementasi Deep Learning Pada Identifikasi Jenis Tumbuhan Berdasarkan Citra Daun Menggunakan Convolutional Neural Network,” JUSTINDO (Jurnal Sist. dan Teknol. Inf. Indones., vol. 3, no. 2, pp. 49– 56, 2018, doi: 10.32528/justindo.v3i2.2254.
[21] Fauzi, Muhammad Dzulfikar, et al. "A Hybrid DenseNet201-SVM for Robust Weed and Potato Plant Classification." J. Ilm. Tek. Elek. Kom. dan Inform. (JITEKI)., vol. 8, no. 2, pp. 298-306, 2022.
[22] A. Rosadi et al., “Analisis Sentimen Berdasarkan Opini Pengguna pada Media Twitter Terhadap BPJS Menggunakan Metode  Lexicon  Based  dan  Naïve  Bayes  Classifier,”  J.  Ilm.  Komputasi,  vol.  20,  no.  1,  pp.  39–52, 2021,  doi: 10.32409/jikstik.20.1.401.
[23] E. Sutoyo and A. Almaarif, “Educational Data Mining for Predicting Student Graduation Using the Naïve Bayes Classifier Algorithm,”  J.  RESTI  (Rekayasa  Sist.  dan  Teknol.  Informasi),  vol.  4,  no.  1,  pp.  95–101,  2020,  doi: 10.29207/resti.v4i1.1502.
[24] Charisma, Rifqi Alfinnur, et al. "Analisis Penerapan Metode Ensembled Learning Decision Tree Pada Klasifikasi Virus Hepatitis C." Journal of Computer System and Informatics (JoSYC) 3.4 (2022): 405-409.
[25] M.  I.  Amal  Yulianto,  “Membuat  Aplikasi  Web  Sains  Data  Dengan  Mudah  Menggunakan  Streamlit,” Informatics.uii.ac.id, 2021. https://informatics.uii.ac.id/2021/03/15/streamlit-membuat-aplikasi-web-sains-data/ (accessed Apr. 14, 2022).
[26] A. Muzaki and A. Witanti, “Sentiment Analysis of the Community in the Twitter To the 2020 Election in Pandemic Covid- 19  By  Method  Naive  Bayes  Classifier,”  J.  Tek.  Inform.,  vol.  2,  no.  2,  pp.  101–107,  2021,  doi: 10.20884/1.jutif.2021.2.2.51.