1019 Jurnal Teknik Informatika dan Sistem Informasi ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal.1019-1026 E-ISSN 2503-2933
Permainan INGBAS (Gunting, Batu, Kertas)
Menggunakan Arsitektur Convolutional Neural Network
Zaid Romegar Mair*1, Muhammad Haviz Irfani2
1,2Universitas Indo Global Mandiri; Jalan Jenderal Sudirman No.629 Km 4 Palembang, 0711-357754
3Program Studi Teknik Informatika, Fasilkom, UIGM e-mail: *1[email protected], 2[email protected]
Abstrak
Pada penelitian ini dilakukan pembuatan model klasifikasi citra untuk membedakan objek tangan untuk menampilkan gunting, batu, dan kertas dengan menggunakan salah satu metode klasifikasi citra berupa Convolutional Neural Network (CNN). Terdapat delapan tahap yang dilakukan dalam menentukan terbacanya sebuah image ketika dilakukan pengenalan file gambar dengan menguploadnya dari penyimpan internal komputer. Delapan tahapan tersebut yaitu pengambilan data sumber, pengkategorian data INGBAS, memvisualisasikan data, import library menggunakan algoritma Convolutional Neural Network (CNN), pelatihan data, akurasi dan validasi data, prediksi gambar, dan kesimpulan. Berdasarkan pengujian dalam penelitian ini, maka diperolah nilai rata-rata akurasi sebesar 90 %.
Kata kunci—Klasifikasi citra, Permainan Batu Gunting Kertas, Convolutional Neural Network
Abstract
In this research, an image classification model was developed to distinguish hand objects display scissors, rock, and paper using one of the image classification methods in the form of a Convolutional Neural Network (CNN). There are eight steps involved in determining the legibility of an image when an image file is recognized by uploading it from the computer's internal storage. The eight stages are source data retrieval, INGBAS data categorization, data visualization, import library using the Convolutional Neural Network (CNN) algorithm, data training, data accuracy and validation, image prediction, and conclusions. Based on the testing in this study, the average value of accuracy is 90%.
Keywords—Image classification, Rock Paper Scissors Game, Convolutional Neural Networks.
1. PENDAHULUAN
Permainan gunting, batu, dan kertas merupakan permainan sederhana yang dikenal secara mendunia. Permainan ini hanya menggunakan tangan dalam implementasinya. Dalam aturan permainan ini bahwa batu dikalahkan oleh kertas, sedangkan kertas dikalahkan oleh gunting, yang kemudian dikalahkan oleh batu.
Kemajuan teknologi adalah sesuatu yang tidak bisa dihindari, kemajuan teknologi akan berjalan sesuai dengan ilmu pengetahuan yang dimiliki manusia [1]. Salah satu contoh dari perkembangan teknologi yang ada adalah, komputer mulai bisa mengenali citra dengan menggunakan pola yang ada dengan suatu algoritma tertentu. ada banyak metode klasifikasi citra yang populer, antara lain:metode Jaringat Saraf Tiruan (Neural
Jatisi ISSN 2407- 4322
Vol. 10, No. 1, Maret 2023, Hal. 1019-1026 E- ISSN 2503 -2933 1020
Network), K Nearest Neighbors (KNN), Support Vector Machine (SVM), dan Convolutional Neural Network, Backpropagation Neural Network, Extreme Learning Machine, dan metode-metode lain yang tergolong dalam bidang Image Processing.
Citra gestur tangan pada manusia untuk permainan gunting, batu, dan kertas memiliki karakter yang unik, yaitu berupa tangan manusia. Dimana tangan manusia memiliki bentuk dan ukuran yang berbeda saat merepresentasikan permainan gunting,batu kertas. Salah satu fitur yang dapat diekstrak adalah edge pada tangan. CNN memiliki tahapan convolution yang secara otomatis akan melakukan ekstraksi pada citra [3].
Pada Penelitian ini menerapkan metode klasifikasi CNN pada pengenalan citra image tangan dalam permainan Gunting, Batu dan Kertas. Kemudian nantinya, metode tersebut diterapkan dalam sebuah sistem berbasis komputer dengan mengupload image pengolahan citra yang berfungsi dalam mempersingkat proses pengenalan objek citra pada pengenalan citra tangan dalam permainan Gunting, Batu, dan Kertas. Identifikasi image file dilakukan berdasarkan fitur citra pada umumnya, serta proses perhitungan ekstraksi fitur untuk memperoleh nilai dari hasil klasifikasi dari gambar citra yang dikenali.
2. METODE PENELITIAN
Tahapan yang harus ditempuh pada penelitian ini berjumlah 8 tahap, yaitu pengambilan data sumber, pengkategorian data INGBAS, memvisualisasikan data, import library menggunakan algoritma Convolutional Neural Network (CNN), pelatihan data, akurasi dan validasi data, prediksi gambar, dan kesimpulan.
Gambar 1. Tahapan Dalam Penelitian
3. HASIL DAN PEMBAHASAN
3.1 Pengambilan Data Sumber
Dataset yang digunakan pada penelitian ini berasal dari storage google https://storage.googleapis.com/laurencemoroney-blog.appspot.com/rps.zip\-O
/tmp/rps.zip yaitu dataset citra tangan ingbas. Data yang dibagikan ini adalah data yang ditujukan untuk pengembangan projek pada pembelajaran mesin, yang bisa digunakan dalam permainan tradisional yang ditransformasikan menggunakan teknologi computer.
Pengambilan Data Sumber
Pengkategorian dan Kelas Dataset
Memvisualisasikan Data
Import Library dan Tahapan CNN
Akurasi - Validasi Prediksi Gambar
Kesimpulan Pelatihan dan
Pengujian
1021 Jatisi ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 1019-1026 E-ISSN 2503-2933 Data yang diambil adalah data yang konsisten dalam pengambilan objek image menggunakan pencahayaan yang terang dan seimbang.
3.2 Pengkategorian dan Kelas Dataset
Pada Dataset tersebut terdiri dari 3 kelas dengan total masing-masing citra yaitu 840 citra gunting, 840 citra batu, dan 840 citra kertas dengan format citra .png. Jumlah total keseluruhan file gambat dalam 3 kelas adalah sebanyak 2520 images. Tabel 1 menunjukkan set data rinci untuk setiap kategori dan distribusi set data yang digunakan untuk prosedur pelatihan dan pengujian.
Tabel 1. Rincian Dataset Latih dan Tes
No Kelas Jumlah Data Latih Jumlah Data Tes
1. Gunting 840 21
2. Batu 840 21
3. Kertas 840 21
3.3 Memvisualisasikan Data
Dataset dibuat menjadi tiga buah folder dengan total image pada setiap masing- masing foldernya adalah sebanyak 840 file gambar berekstensikan png. File masing- masing gambar diambil dari 2 index pertama dari setiap dataset yang telah dilakukan pelatihan sebelumnya. Contoh data image yang ditampilkan sebanyak 21 file images, yang disertai keterangan jalur direktori/posisi file gambar tersebut ditempatkan. Gambar 2 menunjukkan contoh data gambar untuk INGBAS.
Gambar 2. Contoh Dataset Ingbas
3.4 Import Library dan Tahapan CNN
Ada dua library yang digunakan yaitu TensorFlow dan keras. Pada TensorFlow pemodelan data yaitu sebagai tensor atau array berdimensi-n dengan elemen yang memiliki salah satu dari data type berupa int32, float32, atau string.
Jatisi ISSN 2407- 4322
Vol. 10, No. 1, Maret 2023, Hal. 1019-1026 E- ISSN 2503 -2933 1022
Gambar 3. Alur TensorFlow
Satu buah layer pada Keras sama artinya dengan satu buah layer pada MLP yang mempunyai beberapa perseptron. Convolutional Neural Network (CNN) merupakan salah satu jenis Neural Network yang bisa digunakan pada file image, yang digunakan untuk mendeteksi sebuah objek pada sebuah image. Hal utama yang dilakukan pada tahapan CNN ini adalah membuat sebuah objek ImageDataGenerator. Fungsi dari ImageDataGenerator ini adalah mempersiapkan data latih dan data uji yang akan diberikan ke model. Perintah ekstraksi data berasal dari sebuah folder menjadi sebuah array yang dapat dibaca oleh tensorflow, fungsi yang digunakan adalah from tensorflow.keras.preprocessing.image import ImageDataGenerator. Setelah dataset generator dibuat tahap selanjutnya adalah membuat jaringan neural network dan kemudian kita bisa melihat seluruh network menggunakan perintah berupa model.summary().
3.5 Pelatihan dan Pengujian
Dataset gambar dilakukan resize dengan ukuran 150 x150. Pada tahapan pelatihan data dilakukan augmentation proses berupa penambahan data gambar dengan data latih yang ditemukan sebanyak 2520 images dalam setiap segmentasi, zoom range gambar dibuat sebesar 20%, horizontal flip = true secara random, shearing image skala 0.2 dan rescaling data menjadi 1/255.. Data latih pada model CNN ini memiliki jumlah epoch sebanyak 23 epoch dengan step per epoch = 20.
Tabel 2. Parameter Pelatihan Model CNN
Batch sizenya sebanyak 126 dengan menggunakan callbacks untuk menyimpan model dengan metric accuracy, yaitu nilai matrik yang diukur pada penelitian ini menggunakan nilai akurasi sebagai nilai pengukurannya untuk mengevaluasi model yang dibuat. Optimizer yang digunakan untuk perbaikan model adalah Propagasi Root Mean Square (RMSProp). Optimizer adalah metode optimasi yang digunakan.
sedangkan loss function menggunakan klasifikasi multi kelas berupa categorical cross entropy. Loss merupakan metode pengukuran nilai loss nya berdasarkan pada nilai.
Berikut ini adalah visualisasi model seperti pada table 3 dan gambar 4 dibawah ini.
Parameter Nilai
Epoch 23
Batch size 126
Loss function Categorical cross entropy
Optimizer RMSProp
Optimizer metric Accuracy
1023 Jatisi ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 1019-1026 E-ISSN 2503-2933
Tabel 3. Model Arsitektur CNN
Layer (type) Output Shape Param #
conv2d (Conv2D) (None, 148, 148, 32) 896
max_pooling2d (MaxPooling2D) (None, 74, 74, 32) 0
conv2d_1 (Conv2D) (None, 72, 72, 64) 18496
max_pooling2d_1 (MaxPooling2D) (None, 36, 36, 64) 0
conv2d_2 (Conv2D) (None, 34, 34, 128) 73856
max_pooling2d_2 (MaxPooling2D) (None, 17, 17, 128) 0
conv2d_3 (Conv2D) (None, 15, 15, 256) 295168
max_pooling2d_3 (MaxPooling2D) (None, 7, 7, 256) 0
flatten (Flatten) (None, 12544) 0
dropout (Dropout) (None, 12544) 0
dense (Dense) (None, 512) 6423040
dense_1 (Dense) (None, 3) 1539
Total params: 6,812,995 Trainable params: 6,812,995 Non-trainable params: 0
Gambar 4. Visualisasi Model
Dari Tabel 3 dan Gambar 4 diatas, yaitu terdapat empat tahapan konvolusi dengan ukuran masing-masing filternya adalah 3x3 dengan aktivasi fungsi nya yaitu ReLu [2]. Layer konvolusi disini berfungsi untuk mengekstraksi atribut pada gambar.
empat tahapan Max Pooling dengan ukuran pool 2x2, layer max pooling tujuannya adalah untuk mereduksi resolusi gambar. Sedangkan pooling berguna untuk mempercepat komputasi [3]. Terdapat satu dense Layer dengan ukuran 512 menggunakan activation function ReLu. Satu Dense Layer output dengan ukuran 3 dan activation function Softmax. Mengapa menggunakan softmax?. Dipilihnya softmax dikarenakan terdapat tiga jenis file images berupa gunting, batu, dan kertas. Pooling
Jatisi ISSN 2407- 4322
Vol. 10, No. 1, Maret 2023, Hal. 1019-1026 E- ISSN 2503 -2933 1024
data yang dihasilkan masih berbentuk multi array. maka dari itu, perlu dilakukan
“flatten” yaitu dengan menambahkan layer Flatten agar dapat mengkonversi data menjadi array 1 dimensi sehingga dapat dihubungkan dengan semua lapisan.
(1) 0,
(2)
∑
(3) ∑ . log
Persamaan diatas (1) menunjukan aktivasi fungsi dari ReLu dan nilai z merupakan inputan aktivasi fungsi. Persamaan (2) menunjukan bahwa aktivasi fungsi softmax dengan inputan Xi, jumlah label class n, dan label kelas ke j. Persamaan (3) menginformasikan berupa loss fungsi dengan categorical cross entropy, di mana dan
adalah nilai ground truth dan score output dari softmax untuk tiap class di .
3.6 Akurasi dan Validasi
Untuk melakukan akurasi Perhitungan performa maka digunakan metric Accuracy berupa Precision, Recall dan F1 Score. Perhitungan metric Precision, Recall, dan F1 Score maka memerlukan weight metric dengan mempertimbangkan berupa permasalahan klasifikasi multiclass. Caranya yaitu memberikan bobot yang merupakan instance dari setiap class kemudian dikalikan dengan tiap nilai metric setiap class.
Dengan ini dapat memberikan penghitungan performa lebih baik, dikarenakan frekuensi dari tiap class mungkin berbeda.
3.7 Prediksi Gambar
Metode berikutnya yaitu menggunakan model yang akan dikompilasi.
Penggunaan model ini bertujuan untuk menentukan optimasi dari model datasetnya.
Setelah melakukan optimalisasi model, maka dilanjutkan dengan penggunaan loss pada fungsi CNN dengan kelas dataset yang digunakan. Pada penerapan arsitektur model CNN yang dianalisa adalah metric loss, validasi loss, accuracy, dan validasi accuracy dari setiap epochnya. Model dataset yang sudah dilakukan pelatihan, kemudian akan dilakukan uji coba kedalam pengujian data di tiap-tiap epochnya. Gambar 5 dibawah ini, menunjukkan perbandingan loss dan akurasi, validasi loss dan validasi akurasi.
Gambar 5. Model Akurasi dan Model Los Validasi
1025 Jatisi ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 1019-1026 E-ISSN 2503-2933 Kemudian, Langkah berikutnya adalah menampilkan plot kurva hasil. Apakah data sudah sesuai, ataupun bisa terjadi overfitting dan underfitting. Gambar 5 menunjukkan grafik loss dan accuracy dari setiap epoch, grafik hasil dari perhitungan berupa pelatihan dan akurasi validasi. Warna biru menunjukan training, sedangkan warna merah adalah validasi.
Gambar 6. Grafik Akurasi dan Model Los Validasi
Berdasarkan gambar model data berupa grafik akurasi dan validasi diatas, maka kita bisa malakukan unggah gambar dari direktori penyimpan internal komputer untuk memprediksi dataset yang sudah diklasifikasikan.
4. KESIMPULAN
Dari pengujian yang didapatkan dari penelitian ini, proses pengklasifikasian file images permainan Gunting, Batu, dan Kertas yang telah dilakukan, maka didapatkan kesimpulkan berupa klasifikasi berdasarkan citra pada permainan Gunting, Batu, dan Kertas menggunakan metode Convolutional Neural Network (CNN), memberikan akurasi dan hasil yang cukup baik. Sistem yang telah dibuat berhasil menerapkan metode CNN sebagai metode klasifikasi dengan tingkat akurasi sebesar 90%.
5. SARAN
Aplikasi permainan berupa gunting, batu, dan kertas, sudah banyak ditemukan.
Perlu adanya pengembangan kearah permainan gunting, batu, dan kertas dengan menggunakan kamera. Supaya permainan terlihat lebih nyata. Juga dapat diterapkan arsitektur CNN lain seperti LeNet-5 [4], AlexNet [5], ZFNet [6], GoogLeNet [7], VGGNet [8], ResNet [9].
Jatisi ISSN 2407- 4322
Vol. 10, No. 1, Maret 2023, Hal. 1019-1026 E- ISSN 2503 -2933 1026
DAFTAR PUSTAKA
[1] NGAFIFI, M., 2014, Kemajuan Teknologi dan Pola Hidup Manusia Dalam Perspektif Sosial Budaya. Fondasi dan Aplikasi: Jurnal Pembangunan Pendidikan:, 2(1), 33-47.
[2] A. F. M. Agarap,2018, Deep Learning Using Rectified Linear Units (R e L U), arXiv, no.
1, pp. 2–8.
[3] M. A., Y. A., and M. A., 2013, Automated Edge Detection Using Convolutional Neural Network, Int. J. Adv. Comput. Sci. Appl., Vol. 4, No. 10, pp. 10–17, doi:
10.14569/ijacsa.2013.041003.
[4] S. Albawi, T. A. Mohammed, and S. Al-Zawi, 2018, Understanding of A Convolutional Neural Network, Proc. 2017 Int. Conf. Eng. Technol. ICET 2017, Vol. 2018-Januari, pp.
1–6, doi: 10.1109/ICEngTechnol.2017.8308186.
[5] Y. Lecun, L. Bottou, Y. Bengio, and P. Ha, 1998, LeNet, Proc. IEEE, No. November, pp.
1– 46.
[6] T. F. Gonzalez, 2007, Handbook of Approximation Algorithms and Metaheuristics, Handb. Approx. Algorithms Metaheuristics, pp. 1–1432, 2007, doi:
10.1201/9781420010749.
[7] M. D. Zeiler and R. Fergus, 2014, Visualizing and Understanding Convolutional Networks, Lect. Notes Comput. Sci. (Including Subser. Lect. Notes Artif. Intell. Lect.
Notes Bioinformatics), Vol. 8689 LNCS, No. PART 1, pp. 818–833, doi: 10.1007/978-3- 319-10590-1_53.
[8] C. Szegedy et al., 2015, Going Deeper With Convolutions, Proc. IEEE Comput. Soc.
Conf. Comput. Vis. Pattern Recognit., Vol. 07-12-June, pp. 1–9, doi:
10.1109/CVPR.2015.7298594.
[9] K. Simonyan and A. Zisserman, 2015, Very Deep Convolutional Networks for Large- Scale Image Recognition, 3rd Int. Conf. Learn. Represent. ICLR 2015 - Conf. Track Proc., pp. 1–14.
[10] K. He, X. Zhang, S. Ren, and J. Sun, 2016, Deep Residual Learning for Image Recognition, Proc. IEEE Comput. Soc. Conf. Comput. Vis. Pattern Recognit., Vol. 2016- Decem, pp. 770–778, doi: 10.1109/CVPR.20
16.90.