JNATIA Volume 2, Nomor 2, Februari 2024

Jurnal Nasional Teknologi Informasi dan Aplikasinya

p-ISSN: 2986-3929

Klasifikasi Kualitas Buah dengan Menggunakan Convolutional Neural Network (Studi Kasus: Dataset Fresh and Rotten Classification)

I Gede Diva Dwijayanaa1, I Putu Fajar Tapa Mahendraa2, Ivan Luis Simarmataa3, Gst. Ayu Vida Mastrika Giria4

aProgram Studi Informatika, Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Udayana, Bali

Jln. Raya Kampus UNUD, Bukit Jimbaran, Kuta Selatan, Badung, 08261, Bali, Indonesia 1dwijayanaigede@gmail.com 2ftapamahendra@gmail.com 3ivan_luis030602@protonmail.com

4vida@unud.ac.id

Abstract

This research aims to develop a deep learning model for fruit quality classification using Convolutional Neural Network (CNN) with the Fresh and Rotten Classification dataset. Two CNN models are compared, with the first model serving as the baseline and the second model resulting from parameter tuning based on the first model. The results indicate that increasing the number of epochs improves the model accuracy, as evidenced by the first model achieving 91% accuracy with 10 epochs and 93% accuracy with 15 epochs. Similar patterns are observed in the second model, with 87% accuracy at 10 epochs and 90% accuracy at 15 epochs. Despite the second model involving the addition of layers and parameters, its accuracy tends to be lower compared to the first model. The research emphasizes that increasing the number of epochs enhances model performance, while adding layers does not always lead to significant improvements, depending on the model's complexity and dataset characteristics. The first model, trained with 15 epochs, demonstrates the highest accuracy, approaching results from similar previous studies. This evaluation provides valuable insights for developing a CNN-based fruit classification model on the Fresh and Rotten Classification dataset.

Keywords: Fruit Classification, Rotten, Fresh, Convolutional Neural Network, Accuracy, Epochs

  • 1.    Pendahuluan

Mendeteksi kualitas buah dalam industri pangan merupakan hal yang utama, tidak hanya untuk menjaga kesehatan konsumen tetapi juga untuk mempertahankan stabilitas ekonomi dan mempertahankan praktik yang berkelanjutan. Dalam era teknologi canggih saat ini, kehadiran kecerdasan buatan, deep learning, dan machine learning dapat membantu mengatasi masalah ini. Data gambar dari buah-buahan dapat digunakan untuk membangun suatu alat yang mumpuni dalam mengklasifikasikan kualitas dari buah-buahan. Diantara arsitektur deep learning yang ada, Convolutional Neural Network (CNN) adalah metode yang terkenal dalam melaksanakan tugas yang menggunakan data gambar. CNN adalah arsitektur deep learning yang didesain untuk dapat mempelajari dan beradaptasi dengan fitur yang ada pada gambar. Alasan ini membuat metode ini sangat cocok dalam mendeteksi ciri dari busuknya suatu buah yang seringkali terlewat menggunakan pengamatan mata manusia. CNN dapat dilatih untuk mengenali perbedaan antara buah busuk dan buah segar, membantu mengurangi ketergantungan pada pengamatan manusia yang rentan terhadap subjektivitas dan kesalahan. Beberapa penelitian terdahulu telah menunjukkan potensi CNN dalam klasifikasi gambar, seperti penelitian Atul Sharma pada tahun 2021 yang mencapai 94% akurasi validasi dalam klasifikasi gambar menggunakan dataset cifar-10 keras[1]. Penelitian lain yang dilakukan oleh Nur Ibrahim, dkk pada tahun 2022 yang melakukan klasifikasi tingkat kematangan pucuk daun teh dengan pendekatan deep learning arsitektur VGG19 dan ResNet50 yang mendapatkan

akurasi terbaik dari model VGG19 yaitu sebesar 97,5% [2]. Penelitian terkait yang juga dilakukan oleh Parab pada tahun 2020 yang melakukan klasifikasi sel darah merah menggunakan metode CNN dimana model dapat mengklasifikasikan 9 kelas sel darah merah dengan akurasi sebesar 98,6% [3]. Dengan mempertimbangkan hasil penelitian terdahulu, penelitian ini bertujuan untuk mengembangkan model yang mampu mengklasifikasikan buah busuk dan buah segar dengan metode CNN. Melalui pendekatan ini, diharapkan dapat meningkatkan keamanan pangan dan memberikan kontribusi pada efisiensi operasional dalam industri pangan.

  • 2.    Metode Penelitian

Metode yang akan digunakan dalam penelitian ini adalah Convolutional Neural Network untuk mengklasifikasi kelas buah busuk ataupun buah segar dengan arsitektur CNN yang disusun oleh penulis.

  • 2.1.    Alur Penelitian

Gambar 1. Alur Penelitian

Pelaksanaan penelitian dimulai dengan pengumpulan data yaitu data gambar buah busuk dan buah segar dimana ada 7 kelas buah segar dan 7 kelas buah busuk. Selanjutnya data tersebut akan melalui pra pemrosesan untuk normalisasi data dan menyesuaikan ukuran gambar agar dapat digunakan untuk melatih model. Kemudian menyusun arsitektur CNN yang akan dilatih. Selanjutnya pelatihan model untuk dapat mengklasifikasikan kualitas buah dengan data gambar. Setelah model tersebut dilatih, akan dilakukan evaluasi pada model tersebut untuk mengetahui performa dari model yang telah dilatih. Selanjutnya model melalui parameter tuning yaitu memodifikasi parameter model dengan harapan model bisa menghasilkan performa yang lebih baik dari sebelumnya. Kemudian melatih kembali model yang telah melalui parameter tuning. Selanjutnya melakukan evaluasi model yang telah melalui proses parameter tuning.

  • 2.2.    Pengumpulan Data

Data yang digunakan dalam penelitian ini adalah data sekunder dari website kaggle. Dataset ini bernama Fresh and Rotten Classification. Dataset berisi data buah dengan 7 jenis buah yang dibagi menjadi kelas buah busuk dan kelas buah segar, jadi total kelas yang ada pada dataset adalah 14 kelas. Dataset telah dibagi menjadi data test dan data train. Data dalam bentuk citra RGB berjumlah 27,782 yang dibagi menjadi data test dan train. Data test memiliki 6,738 data gambar, sedangkan data train memiliki 21,044 data gambar. Dataset dapat diakses melalui situs https://www.kaggle.com/datasets/swoyam2609/fresh-and-stale-classification.

Gambar 2. Contoh Data Gambar Dari Masing-Masing Kelas

Gambar 3. Distribusi data train

Gambar 4. Distribusi data test

  • 2.3.    Pra Pemrosesan Data

Sebelum melakukan pelatihan model, setiap gambar pada data latih dan data uji harus melalui proses normalisasi dan resize terlebih dahulu. Normalisasi adalah proses pengubahan nilai piksel dalam gambar, yang semula berkisar antara 0 hingga 255, menjadi rentang antara 0

hingga 1. Dalam penelitian ini, normalisasi dilakukan dengan membagi setiap nilai piksel di data latih dan data uji dengan 255. Setelah normalisasi, seluruh gambar yang akan masuk ke dalam model harus melewati standarisasi ukuran dengan melalui proses rescale menjadi gambar berukuran 224 x 224 dengan 3 channel warna yaitu RGB.

  • 2.4.    Penyusunan Model

Tahap selanjutnya adalah penyusunan model CNN. Setiap convolutional layer menggunakan fungsi aktivasi ReLu dan untuk output layer menggunakan fungsi aktivasi softmax untuk mengklasifikasikan lebih dari 2 kelas. Untuk susunan layer atau arsitektur model dapat dilihat pada gambar di bawah:

conv2d4input

input:

[(None, 224, 224, 3)]

InputLayer

output:

[(None, 224, 224, 3)]

conv2d_4

input:

(None, 224, 224, 3)

Conv2D

output:

(None, 222, 222, 64)

max_pooling2d_4

input:

(None, 222, 222, 64)

MaxPooling2D

output:

(None, 111, 111, 64)

conv2d-5

input:

(None, 111, 111, 64)

C□nv2D

output:

(None, 109, 109, 128)

max_pooling2d_5

input:

(None, 109, 109, 128)

MaxPooling2D

output:

(None, 54, 54, 128)

conv2d_6

input:

(None, 54, 54, 128)

Conv2D

output:

(None, 52, 52, 256)

max_pooling2d_6

input:

(None, 52, 52, 256)

MaxPooling2D

output:

(None, 26, 26, 256)

conv2d-7

input:

(None, 26, 26, 256)

Conv2D

output:

(None, 24, 24, 512)

max_pooling2d_7

input:

(None, 24, 24, 512)

MaxPooling2D

output:

(None, 12, 12, 512)

dropout-2

input:

(None, 12, 12, 512)

Dropout

output:

(None, 12, 12, 512)

i

flatten_l

input:

(None, 12,12, 512)

Flatten

output:

(None, 73728)

dense_2

input:

(None, 73728)

Dense

output:

(None, 1024)

dropout3

input:

(None, 1024)

Dropout

output

(None, 1024)

dense_3

input:

(None, 1024)

Dense

output:

(None, 14)

Gambar 5. Arsitektur Model CNN Pertama

  • 2.5.    Pelatihan Model

Model dilatih dengan tambahan parameter sebagai berikut:

  • 1.    Jumlah epoch adalah 10 dan 15

  • 2.    Batch size 32

  • 2.6.    Evaluasi Model

Evaluasi model menggunakan matriks akurasi, nilai precision, nilai recall, dan f1-score. Matriks akurasi adalah metrik evaluasi yang dapat dihasilkan dari data yang terdapat dalam confusion matrix. Confusion matrix adalah sebuah tabel yang dimanfaatkan untuk menilai kinerja model klasifikasi dalam konteks pengenalan pola. Tabel ini memberikan gambaran tentang sejauh mana model mampu mengklasifikasikan data secara benar dan menunjukkan seberapa sering model membuat kesalahan dalam mengklasifikasikan data. Berikut adalah rumus dari matriks akurasi, precision, recall, dan f1-score:

TP+ TN

Accuracy = ———————

TP + TN + FP + FN

TP

decision = τp + pp

TP

Beca“ = tp+Fn

p∙r

Fl-Score =2.γ-^

  • 2.7.    Parameter Tuning

Parameter tuning adalah langkah melakukan perubahan atau memodifikasi beberapa komponen dalam model dengan maksud untuk mencapai kinerja model yang optimal. Modifikasi model pertama menghasilkan model kedua. Berikut adalah arsitektur model kedua:

conv2d-input

input:

[(None, 224, 224, 3)]

InputLayer

output:

[(None, 224, 224, 3)]

coπv2d

input:

(None, 224, 224, 3)

Conv2D

output:

(None, 222, 222, 64)

maxjpooling2d

input:

(None, 222, 222, 64)

MaxPooling2D

output:

(None, 111, 111, 64)

conv2d_l

input:

(None, 111, 111, 64)

Conv2D

output:

(None, 109, 109, 128)

conv2d_2

input:

(None, 109,109, 128)

Conv2D

output:

(None, 107, 107, 128)

max_pooling2d_l

input:

(None, 107,107, 128)

MaxPoolingZD

output:

(None, 53, 53, 128)

dropout

input:

(None, 53, 53, 128)

Dropout

output:

(None, 53, 53, 128)

conv2d-3

input:

(None, 53, 53,128)

Conv2D

output:

(None, 51, 51, 256)

conv2d_4

input:

(None, 51, 51, 256)

Conv2D

output:

(None, 49,49, 256)

max_pooling2d_2

input:

(None, 49, 49, 256)

MaxPoolingZD

output:

(None, 24, 24, 256)

dιopoutl

input:

(None, 24, 24, 256)

Dropout

output:

(None, 24, 24, 256)

conv2d_5

input:

(None, 24, 24, 256)

Conv2D

output:

(None, 22, 22, 512)

conv2d-6

input:

(None, 22, 22, 512)

Conv2D

output:

(None, 20, 20, 512)

max_pooling2d_3

input:

(None, 20, 20, 512)

MaxPoolingZD

output:

(None, 10, 10, 512)

dropout _2

input:

(None, 10, 10, 512)

Dropout

output:

(None, 10, 10, 512)

flatten

input:

(None, 10,10, 512)

Hatten

output:

(None, 51200)

dense

input:

(None, 51200)

Dense

output:

(None, 1024)

dropout 3

input:

(None, 1024)

Dropout

output:

(None, 1024)

dense_l

input:

(None, 1024)

Dense

output:

(None, 14)

Gambar 6. Arsitektur Model CNN Kedua

  • 3.    Hasil dan Diskusi

    3.1.    Hasil Pelatihan dan Evaluasi Model Pertama

Pelatihan model pertama dilakukan sebanyak 2 kali dengan epoch yang berbeda yaitu dengan epoch 10 dan epoch 15. Data train yang telah melalui proses normalisasi dan resize digunakan untuk pelatihan model. Hasil dari pelatihan model pertama dengan epoch 10 yang telah diuji menggunakan data test adalah model mendapat akurasi sebesar 91%. Untuk detail hasil evaluasi model pertama dengan 10 epoch menggunakan precision, recall, dan f1-score dapat dilihat pada gambar confusion matrix dan tabel berikut:

Gambar 7. Confusion Matrix Hasil Testing Model Pertama Epoch 10.


freshapples

774

2

0

0

2

0

0

13

0

0

0

0

0

0

freshbanana -

0

889

0

0

0

0

0

1

2

0

0

0

0

0

freshcucumber -

0

0

163

62

0

0

0

0

0

52

2

0

0

0

freshokra -

0

0

36

267

0

0

0

0

0

41

26

0

0

0

fresh oranges -

0

0

0

0

386

0

0

0

0

0

0

2

0

0

freshpatato -

1

1

0

0

0

249

0

1

0

0

0

0

18

0

(U

<c

freshtomato -

0

0

0

0

0

0

252

1

0

0

0

0

0

2

∏3

S

TOttenappIes -

21

1

0

0

17

0

0

945

2

0

0

2

0

0

TOttenbanana -

0

0

0

0

0

0

0

4

890

0

0

0

6

0

TOttencucumber -

0

2

3

3

0

6

2

0

1

190

10

1

36

1


rottenokra -

O

O

2

5

O

6

O

O

1

44

114

1

50

1

TOttenoranges -

2

O

O

O

17

O

O

5

O

O

O

379

O

O

TOttenpatato -

O

1

O

O

O

72

1

1

O

O

O

1

293

1

TOttentomato -

1

O

O

O

O

1

31

O

O

O

O

2

O

318


Tabel 1. Tabel Nilai Evaluasi Model Pertama Epoch 10

precision recall f1-score support

freshapples

0,97

0,98

0,97

791

freshbanana

0,99

1,00

0,99

892

freshcucumber

0,80

0,58

0,67

279

freshokra

0,79

0,72

0,76

370

freshoranges

0,91

0,99

0,95

388

freshpatato

0,75

0,92

0,82

270

freshtomato

0,88

0,99

0,93

255

rottenapples

0,97

0,96

0,96

988

precision recall f1-score support

rottenbanana

0,99

0,99

0,99

900

rottencucumber 0,58

0,75

0,65

255

rottenokra

0,75

0,51

0,61

224

rottenoranges

0,98

0,94

0,96

403

rottenpatato

0,73

0,79

0,76

370

rottentomato

0,98

0,90

0,94

353

accuracy

0,91

6738

Dari tabel diatas dapat dilihat pada hasil testing model pertama yang dilatih dengan 10 epoch menghasilkan akurasi sebesar 0,91 dengan total data test adalah 6738. Nilai precision tertinggi didapat pada kelas freshbanana dan rottenbanana dengan nilai precision 0,99. Untuk nilai precision terendah didapat pada kelas rottencucumber dengan nilai 0,58. Nilai recall tertinggi pada kelas freshbanana dengan nilai 1,00. Nilai recall terendah didapat pada kelas rottenokra dengan nilai 0,51. Nilai f1-score tertinggi didapat pada kelas freshbanana dan rottenbanana dengan nilai 0,99. Nilai f1-score terendah dimiliki kelas rottenokra dengan nilai 0,61.

Hasil dari pelatihan model pertama dengan epoch 15 yang telah diuji menggunakan data test adalah model mendapat akurasi sebesar 93%. Untuk detail hasil evaluasi model pertama dengan 15 epoch menggunakan precision, recall, dan f1-score dapat dilihat pada gambar confusion matrix dan tabel berikut:

Confusion Matrix

O

freshapples -I

778

O

O

O

2

O

O

11

O

O

O

O

O

freshbanana -

1

887

O

O

O

O

O

4

O

O

O

O

O

O

freshcucumber -

2

O

252

22

O

1

O

O

O

O

2

O

O

O

freshokra -

1

O

128

239

O

O

O

O

O

2

O

O

O

O

freshoranges -

O

O

O

O

385

O

O

2

O

O

O

1

O

O

freshpatato -

O

1

O

O

O

242

O

O

O

4

O

O

23

O

freshtomato -

1

O

O

O

O

1

253

O

O

O

O

O

O

O

rottenapples -

8

O

O

O

4

O

1

975

O

O

O

O

O

O

rottenbanana -

O

O

O

O

O

O

O

2

898

O

O

O

O

O

rottencucumber -

O

O

44

6

O

1

1

O

4

182

13

O

3

1

rottenokra -

1

O

30

28

O

5

1

O

O

11

119

1

28

O

TOttenoranges -

O

1

O

O

10

O

O

4

O

O

O

388

O

O

TOttenpatato -

O

2

O

O

O

37

O

1

O

O

O

O

329

1

TOttentomato -

1

O

O

2

O

O

24

O

O

O

O

2

2

322

Prediction

Gambar 8. Confusion Matrix Hasil Testing Model Pertama Epoch 15.

Tabel 2. Tabel Nilai Evaluasi Model Pertama Epoch 15

precision recall f1-score support

freshapples

0,98

0,98

0,98

791

freshbanana

1,00

0,99

0,99

892

freshcucumber

0,56

0,90

0,69

279

freshokra

0,80

0,65

0,72

370

freshoranges

0,96

0,99

0,98

388

freshpatato

0,84

0,90

0,87

270

freshtomato

0,90

0,99

0,95

255

rottenapples

0,98

0,99

0,98

988

rottenbanana

1,00

1,00

1,00

900

rottencucumber 0,91

0,71

0,80

255

rottenokra

0,89

0,53

0,66

224

rottenoranges

0,99

0,96

0,98

403

rottenpatato

0,85

0,89

0,87

370

rottentomato

0,99

0,91

0,95

353

accuracy

0,93

6738

Dari tabel diatas dapat dilihat pada hasil testing model pertama yang dilatih dengan 15 epoch menghasilkan akurasi sebesar 0,93. Nilai precision tertinggi didapat pada kelas freshbanana dan rottenbanana dengan nilai precision 1,00. Untuk nilai precision terendah didapat pada kelas freshcucumber dengan nilai 0,56. Nilai recall tertinggi pada kelas rottenbanana dengan nilai 1,00. Nilai recall terendah didapat pada kelas rottenokra dengan nilai 0,53. Nilai f1-score tertinggi didapat pada kelas rottenbanana dengan nilai 1,00. Nilai f1-score terendah dimiliki kelas rottenokra dengan nilai 0,66.

  • 3.2.    Hasil Pelatihan dan Evaluasi Model Kedua

Model kedua adalah hasil modifikasi dari model pertama dengan penambahan layer konvolusi pada setiap blok konvolusi dan penambahan layer dropout setelah maxpooling layer. Pelatihan model kedua dilakukan sebanyak 2 kali dengan epoch yang berbeda yaitu dengan epoch 10 dan epoch 15. Data train yang telah melalui proses normalisasi dan resize digunakan untuk pelatihan model. Hasil dari pelatihan model kedua dengan epoch 10 yang telah diuji menggunakan data test adalah model mendapat akurasi sebesar 87%. Akurasi yang didapat lebih kecil dari akurasi model pertama dengan epoch 10. Untuk detail hasil evaluasi model kedua dengan epoch 10 menggunakan precision, recall, dan f1-score dapat dilihat pada gambar confusion matrix dan tabel berikut:

Tabel 3. Tabel Nilai Evaluasi Model Kedua Epoch 10

precisionrecallf1-scoresupport

freshapples

0,97

0,95

0,96

791

freshbanana

1,00

0,95

0,97

892

freshcucumber 0,54

0,46

0,49

279

freshokra

0,60

0,74

0,66

370

freshoranges

0,96

0,94

0,95

388

freshpatato

0,84

0,69

0,76

270

freshtomato

0,81

0,91

0,86

255

rottenapples

0,91

0,96

0,93

988

rottenbanana

0,93

1,00

0,96

900

rottencucumben0,72

0,52

0,60

255

rottenokra

0,58

0,48

0,52

224

rottenoranges

0,94

0,92

0,93

403

rottenpatato

0,72

0,81

0,77

370

rottentomato

0,86

0,84

0,85

353

accuracy

0,87

6738

OJ

∏3


freshapples -

freshbanana -

freshcucumber -

freshokra -

freshoranges -

Prediction

Gambar 9. Confusion Matrix Hasil Testing Model Kedua Epoch 10.


freshpatat□ -

freshtomato -

TOttenappIes -

18

O

O

O

6

O

2

947

7

O

O

6

1

1

TOttenbanana -

O

O

O

O

O

O

O

O

899

O

O

O

1

O

TOttencucumber -

O

O

21

22

O

1

O

O

9

132

49

1

15

5

rottenokra -

1

O

17

21

O

3

O

O

7

33

107

O

32

3

TOttenoranges -

O

O

O

O

5

O

3

14

4

O

O

371

3

3

TOttenpatato -

O

3

O

O

O

26

1

3

28

O

2

1

301

5

TOttentomato -

1

O

2

O

O

1

44

1

1

O

O

2

3

298


Dari tabel diatas dapat dilihat pada hasil testing model kedua yang dilatih dengan 10 epoch menghasilkan akurasi sebesar 0,87. Nilai precision tertinggi didapat pada kelas freshbanana dengan nilai precision 1,00. Untuk nilai precision terendah didapat pada kelas freshcucumber dengan nilai 0,54. Nilai recall tertinggi pada kelas rottenbanana dengan nilai 1,00. Nilai recall terendah didapat pada kelas freshcucumber dengan nilai 0,46. Nilai f1-score tertinggi didapat

pada kelas freshbanana dengan nilai 0,97. Nilai f1-score terendah dimiliki kelas freshcucumber dengan nilai 0,49.

Hasil dari pelatihan model kedua dengan epoch 15 yang telah diuji menggunakan data test adalah model mendapat akurasi sebesar 90%. Untuk detail hasil evaluasi model pertama


dengan 15 epoch menggunakan precision, confusion matrix dan tabel berikut:


recall, dan f1-score dapat


dilihat


pada


gambar


OJ

∏3


freshapples -

freshbanana -

freshcucumber -

freshokra -

freshoranges -


freshpatat□ -

freshtomato -

TOttenappIes -

4

3

O

O

9

O

O

959

3

O

O

10

O

O

TOttenbanana -

O

O

O

O

O

O

O

O

899

O

O

1

O

O

TOttencucumber -

O

1

8

21

O

O

1

1

5

141

59

1

16

1

rottenokra -

O

O

2

30

O

O

6

O

3

26

144

O

11

2

TOttenoranges -

O

O

O

O

9

O

2

6

1

O

O

384

O

1

TOttenpatato -

O

2

O

O

O

40

1

2

16

O

2

O

301

6

TOttentomato -

O

O

1

O

O

O

45

3

1

O

2

O

O

301


Gambar 10. Confusion Matrix Hasil Testing Model Kedua Epoch 15.

Tabel 4. Tabel Nilai Evaluasi Model Kedua Epoch 15

precisionrecallf1-scoresupport

freshapples

0,99

0,98

0,99

791

freshbanana

0,99

0,99

0,99

892

freshcucumber 0,72

0,44

0,54

279

freshokra

0,63

0,84

0,72

370

freshoranges

0,94

0,98

0,96

388

freshpatato

0,84

0,77

0,80

270

freshtomato

0,80

0,95

0,87

255

rottenapples

0,97

0,97

0,97

988

rottenbanana

0,96

1,00

0,98

900

rottencucumber0,75

0,55

0,64

255

rottenokra

0,62

0,64

0,63

224

rottenoranges

0,94

0,95

0,95

403

rottenpatato

0,81

0,81

0,81

370

precisionrecallf1-scoresupport

rottentomato 0,92 0,85 0,88 353 accuracy 0,90 6738

Dari tabel diatas dapat dilihat pada hasil testing model kedua yang dilatih dengan epoch 15 menghasilkan akurasi sebesar 0,90. Akurasi yang didapat lebih kecil dari akurasi model pertama dengan epoch 15 bahkan lebih kecil dengan model pertama dengan epoch 10. Nilai precision tertinggi didapat pada kelas freshbanana dan freshapples dengan nilai precision 0,99. Nilai precision terendah didapat pada kelas rottenokra dengan nilai 0,62. Nilai recall tertinggi pada kelas rottenbanana dengan nilai 1,00. Nilai recalls terendah didapat pada kelas freshcucumber dengan nilai 0,44. Nilai f1-score tertinggi didapat pada kelas freshbanana dan freshapples dengan nilai 0,99. Nilai f1-score terendah dimiliki kelas freshcucumber dengan nilai 0,54.

Dari keempat percobaan diatas dapat diketahui bahwa banyaknya epoch pelatihan mempengaruhi peningkatan kinerja dari model. Berdasarkan data evaluasi yang telah didapat pada model pertama dan model kedua, pada epoch pelatihan 15 memiliki kinerja lebih baik dibandingkan dengan model yang dilatih pada epoch pelatihan 10. Berdasarkan data evaluasi diatas penambahan jumlah layer konvolusi belum tentu mempengaruhi peningkatan kinerja dari sebuah model. Model kedua yang memiliki lebih banyak layer konvolusi dan ditambah memiliki layer dropout menghasilkan hasil akurasi yang cenderung lebih kecil dibandingkan dengan model pertama yang memiliki layer lebih sedikit.

  • 3.3.    Integrasi Model pada Aplikasi Berbasis Web

Model yang akan diintegrasi ke dalam aplikasi berbasis web adalah model pertama yang dilatih dengan epoch 15 yang mendapat akurasi sebesar 93%. Tampilan dari aplikasi berbasis website untuk integrasi model dapat dilihat pada gambar di bawah:

Gambar 11. Tampilan Website Fruits Classifier.

User dapat meng-input gambar dengan cara drag and drop atau dengan mencari data gambar di memori lokal. Kemudian hasil klasifikasi akan ditampilkan pada sidebar sebelah kiri dengan nama kelas dan juga akurasi yang didapatkan oleh model dalam mengklasifikasikan gambar tersebut. Selain upload file dari memori lokal, user juga bisa menggunakan fitur camera input dengan men-checklist ‘Enable Camera Input’. Web akan mengakses camera input pada device tersebut. Tampilan saat menggunakan fitur camera input dapat dilihat pada gambar di bawah:

Gambar 12. Tampilan Website Fruits Classifier Fitur Camera Input.

Dengan mengklik tombol ‘Take Photo’ maka gambar akan langsung diproses kemudian diklasifikasikan.

  • 4.    Kesimpulan

Berdasarkan hasil evaluasi pelatihan model pertama dan model kedua, dapat disimpulkan bahwa, peningkatan jumlah epoch cenderung meningkatkan kinerja model, terlihat dari hasil model pertama dan kedua pada epoch 10 dan epoch 15 dimana hasil evaluasi meningkat pada epoch 15. Model kedua dengan penambahan layer konvolusi dan dropout yang lebih banyak, tidak selalu menghasilkan performa yang lebih baik dibandingkan dengan model dengan layer yang lebih sedikit seperti model pertama. Penambahan layer dropout dapat membantu mencegah overfitting, namun efektifitas dari layer dropout tergantung pada kompleksitas model dan karakteristik dataset. Pada penelitian ini model yang memiliki lebih sedikit layer dropout cenderung memiliki akurasi lebih tinggi yaitu pada model pertama. Pada penelitian ini, didapat akurasi terbaik dari model pertama dengan epoch 15 dengan nilai akurasi sebesar 93%. Hasil ini membuktikan bahwa model yang telah dibangun dan dilatih telah mendekati akurasi yang baik dari penelitian sejenis sebelumnya.

Daftar Pustaka

  • [1]    A. Sharma, G. Phonsa. “Image Classification Using CNN”. Proceedings of the International Conference on Innovative Computing & Communication (ICICC) 2021, Available at SSRN: https://ssrn.com/abstract=3833453 or http://dx.doi.org/10.2139/ssrn.3833453

  • [2]    N. Ibrahum, et al. “Klasifikasi Tingkat Kematangan Pucuk Daun Teh Menggunakan Metode Convolutional Neural Network”. ELKOMIKA: Jurnal Teknik Energi Elektrik, Teknik Telekomunikasi, & Teknik Elektronika, vol. 10, no. 1, p. 162-176, 2022

  • [3]    M.A. Parab, N.D. Mehendale. “Red blood cell classification using image processing and CNN”. bioRxiv, 2020, Available at: https://doi.org/10.1101/2020.05.16.087239

  • [4]    R.R. Allaam and A.T. Wibowo. “Klasifikasi Genus Tanaman Anggrek Menggunakan Metode Convolutional Neural Network (CNN)”. e-Proceeding of Engineering, vol. 8, no. 2, p. 11531189, 2021

  • [5]    S.S. Nayak, “Fresh and Rotten Classification”, 07 June 2023. [Online]. Available: https://www.kaggle.com/datasets/swoyam2609/fresh-and-stale-classification. [Accessed on

08 October 2023]

Halaman ini sengaja dibiarkan kosong

442