IMPLEMENTASI METODE CONVOLUTIONAL NEURAL NETWORK …

14
IMPLEMENTASI METODE CONVOLUTIONAL NEURAL NETWORK (CNN) PADA PENYORTIRAN BUAH JERUK Rio Tua Pandapotan 1) Dini Sundani 2) 1,2 Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Gunadarma email: [email protected], [email protected] ABSTRAK Secara visual cukup mudah membedakan (menyortir) jenis-jenis jeruk, yang memiliki berbagai bentuk dan jenis, berukuran besar atau kecil, berbentuk bulat atau oval dan dengan warna yang berbeda-beda. Seiring perkembangan teknologi, terdapat metode yang dapat membedakan objek sesuai dengan kelas atau jenisnya, yaitu dengan menggunakan metode Convolutional Neural Network (CNN). Pada penelitian ini penulis mengimpleentasikan metode CNN untuk melakukan penyortiran terhadap citra jeruk clementine, jeruk kumquats, jeruk lemon, dan jeruk nipis. Terdapat 5 tahapan yang dilakukan dalam penelitian ini yaitu persiapan citra input, pemrosesan citra, perancangan model, pelatihan data, dan akurasi program. Hasil penelitian menunjukkan nilai akurasi pelatihan data sebesar 89,9% terhadap 119 data uji. Kata kunci: penyortiran, buah, jeruk, CNN . 1. PENDAHULUAN Imunitas dan kesehatan tubuh dapat dijaga dengan mengkonsumsi makanan yang kaya akan kandungan gizi, vitamin, mineral dan serat, salah satunya dapat dipeoleh melalui buah jeruk. Jeruk memiliki berbagai bentuk dan jenis, ada yang berukuran besar atau kecil, berbentuk bulat atau oval dan memiliki warna yang berbeda-beda. Secara visual mata manusia mudah untuk membedakan (menyortir) jenis-jenis jeruk. Seiring perkembangan teknologi, terdapat metode yang dapat membedakan objek sesuai dengan kelas atau jenisnya, yaitu dengan menggunakan metode Convolutional Neural Network (CNN). Algoritma CNN merupakan algortima yang cukup banyak digunakan khususnya untuk mengklasifikasikan citra [1]. Algoritma CNN juga telah dilakukan oleh Nahila Khunafa Qudisi untuk mengklasifikasikan suatu objek, yaitu terhadap objek citra tulisan tangan digital dan menghasilkan akurasi diatas 90% dan hasil diatas 80% untuk pengujian terhadap penglihatan mata manusia [2]. Berdasarkan penelitian yang telah diuraikan bahwa algortima CNN dapat melakukan klasifikasi dengan nilai akurasi yang cukup baik terhadap suatu objek, maka penelitian ini mengusulkan implementasi metode Convolutional Neural Network (CNN) pada penyortiran buah jeruk 2. KAJIAN LITERATUR

Transcript of IMPLEMENTASI METODE CONVOLUTIONAL NEURAL NETWORK …

Page 1: IMPLEMENTASI METODE CONVOLUTIONAL NEURAL NETWORK …

IMPLEMENTASI METODE CONVOLUTIONAL NEURAL NETWORK (CNN)

PADA PENYORTIRAN BUAH JERUK

Rio Tua Pandapotan1) Dini Sundani2) 1,2 Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Gunadarma

email: [email protected], [email protected]

ABSTRAK

Secara visual cukup mudah membedakan (menyortir) jenis-jenis jeruk, yang

memiliki berbagai bentuk dan jenis, berukuran besar atau kecil, berbentuk bulat atau oval

dan dengan warna yang berbeda-beda. Seiring perkembangan teknologi, terdapat metode

yang dapat membedakan objek sesuai dengan kelas atau jenisnya, yaitu dengan

menggunakan metode Convolutional Neural Network (CNN). Pada penelitian ini penulis

mengimpleentasikan metode CNN untuk melakukan penyortiran terhadap citra jeruk

clementine, jeruk kumquats, jeruk lemon, dan jeruk nipis. Terdapat 5 tahapan yang

dilakukan dalam penelitian ini yaitu persiapan citra input, pemrosesan citra, perancangan

model, pelatihan data, dan akurasi program. Hasil penelitian menunjukkan nilai akurasi

pelatihan data sebesar 89,9% terhadap 119 data uji.

Kata kunci: penyortiran, buah, jeruk, CNN

.

1. PENDAHULUAN

Imunitas dan kesehatan tubuh dapat dijaga dengan mengkonsumsi makanan yang kaya

akan kandungan gizi, vitamin, mineral dan serat, salah satunya dapat dipeoleh melalui buah

jeruk.

Jeruk memiliki berbagai bentuk dan jenis, ada yang berukuran besar atau kecil, berbentuk

bulat atau oval dan memiliki warna yang berbeda-beda. Secara visual mata manusia mudah

untuk membedakan (menyortir) jenis-jenis jeruk. Seiring perkembangan teknologi, terdapat

metode yang dapat membedakan objek sesuai dengan kelas atau jenisnya, yaitu dengan

menggunakan metode Convolutional Neural Network (CNN).

Algoritma CNN merupakan algortima yang cukup banyak digunakan khususnya untuk

mengklasifikasikan citra [1]. Algoritma CNN juga telah dilakukan oleh Nahila Khunafa

Qudisi untuk mengklasifikasikan suatu objek, yaitu terhadap objek citra tulisan tangan digital

dan menghasilkan akurasi diatas 90% dan hasil diatas 80% untuk pengujian terhadap

penglihatan mata manusia [2]. Berdasarkan penelitian yang telah diuraikan bahwa algortima

CNN dapat melakukan klasifikasi dengan nilai akurasi yang cukup baik terhadap suatu objek,

maka penelitian ini mengusulkan implementasi metode Convolutional Neural Network

(CNN) pada penyortiran buah jeruk

2. KAJIAN LITERATUR

Page 2: IMPLEMENTASI METODE CONVOLUTIONAL NEURAL NETWORK …

2.1 Jeruk

Jeruk merupakan salah satu tanaman buah tahunan yang berasal dari Asia, yang memiliki

nama latin citrus sp. Cina dipercaya sebagai tempat pertama kali jeruk tumbuh. Jeruk sudah

tumbuh subur di Indonesia sejak ratusan tahun yang lalu. Bangsa Belanda yang pertama kali

membawa dan mengembagbiakkan jeruk di Indoensia.

Tanaman jeruk dapat tumbuh didaerah berjenis apa saja, baik daerah dataran rendah maupun

dataran tinggi, dan untuk memproleh hasil yang optimal, terdapat beberapa hal yang harus

diperhatikan dalam perkembangbiakkan jeruk:

1. Jeruk menyukai tempat yang terlindung dari sinar matahari

2. Suhu atau temperature optimal antara 20-30 C

3. Jenis tanah andosol dan latosol sangat cocok untuk budidaya jeruk

4. Tanah yang baik adalah tanah dengan tekstur gembur berpasir hingga lempung[3]

Jeruk memiliki bentuk yang bulat dengan mempunyai kandungan air sangat banyak pada

daging buahnya. Buah jeruk memiliki khasiat ganda, selain dapat diolah menjadi minuman

atau makanan juga dapat dimanfaatkan untuk obat. Misalnya, jeruk nipis untuk menurunkan

demam, dengan cara mengompreskan cairan jeruk di kening orang yang menderita sakit. Air

buah jeruk juga dapat dipakai untuk tetes mata penyembuh radang, setelah dicampur dengan

air bersih. Sehubungan dengan tingginya kadar vitamin C pada buah jeruk, maka jeruk dapat

diolah menjadi tablet-tablet vitamin C atau dimakan langsung untuk menyembuhkan penyakit

gusi berdarah dan penyakit influensa. [4]

2.2 Citra

Citra terdiri dari citra analog dan digital. Citra analog adalah citra yang dihasilkan oleh

sistem optik yang menerima sinyal analog seperti mata manusia, kamera analog, citra

tampilan di layar TV ataupun monitor . Citra Digital adalah gambar dua dimensi yang

dihasilkan dari gambar analog dua dimensi yang kontinus menjadi gambar diskrit melalui

proses sampling [5]. Proses perubahan citra menjadi citra digital dinamakan dengan

digitasi. Digitasi merupakan proses mengubah sebuah gambar, teks, atau suara dari benda

yang dapat diliat ke dalam data elektronik dan dapat disimpan serta diproses untuk

keperluan lainnya.

Pengolahan citra digital adalah sebuah disiplin ilmu yang mempelajari tentang

bagaimana teknik pengolahan sebuah citra. Citra digital yang tersimpan dalam larik dua

dimensi tersusun atas unsur M kolom dan N baris dimana perpotongan antara kolom

dan baris disebut piksel. yaitu elemen terkecil dari sebuah citra. Piksel mempunyai dua

parameter, yaitu koordinat dan intensitas atau warna. Setiap piksel-piksel tersebut memiliki

angka yang mempresentasikan channel warna. Angka pada setiap piksel disimpan secara

berurutan oleh sebuah komputer dan sering dikurangi untuk keperluan kompresi maupun

pengolahan [6].

2.3 Convolutional Neural Network (CNN)

CNN adalah tipe khusus dari neural network untuk memproses data yang mempunyai

topologi jala atau grid-like topology. Pemberian nama convolutional neural network

mengindikasikan bahwa jaringan tersebut menggunakan operasi matematika yang disebut

konvolusi. CNN termasuk dalam jenis Deep Neural Network karena kedalaman jaringan yang

tinggi dan banyak diaplikasikan pada data citra.

Page 3: IMPLEMENTASI METODE CONVOLUTIONAL NEURAL NETWORK …

Arsitektur dari CNN ditunjukkan pada gambar 2.1.

Gambar 2.1 Arsitektur CNN

2.3.1 Convolutional Layer

Convolutional Layer merupakan layer pertama yang menerima input gambar langsung

pada arsitektur. Operasi pada layer ini sama dengan operasi konvolusi yaitu melakukan

operasi kombinasi linier filter terhadap daerah lokal . Filter merupakan representasi bidang

reseptif dari neuron yang terhubung ke dalam daerah lokal pada input gambar. Convolutional

layer melakukan operasi konvolusi pada output dari layer sebelumnya. Layer tersebut adalah

proses utama yang mendasari sebuah CNN. Tujuan dilakukannya konvolusi pada data

citra adalah untuk mengekstraksi fitur dari citra input [7].

2.3.2 ReLu

ReLu atau Rectified Liniear Unit merupakan salah satu fungsi aktivasi yang

digunakan pada deep learning. Cara kerja ReLu adalah mengubah nilai negative menjadi 0 .

ReLu hanya membuat pembatas pada bilangan nol, artinya apabila x ≤ 0 maka x = 0 dan

apabila x > 0 maka x = x [3] . Penulisan rumus matematikanya adalah sebagai berikut: f(x) =

max(0,x), dimana x merupakan input dari neuron.

2.3.3 Pooling Layer

Pooling layer biasanya berada setelah convolutional layer. Pada prinsipnya pooling

layer terdiri dari sebuah filter dengan ukuran dan stride tertentu yang akan bergeser pada

seluruh area feature map.Pooling yang biasa digunakan adalah Max Pooling dan Average

Pooling. Sebagai contoh jika kita menggunakan Max Pooling 2x2 dengan stride 2, maka pada

setiap pergeseran filter, nilai maximum pada area 2x2 pixel tersebut yang akan dipilih,

sedangkan Average Pooling akan memilih nilai rata-ratanya.

Page 4: IMPLEMENTASI METODE CONVOLUTIONAL NEURAL NETWORK …

Gambar 2.2 Ilustrasi Max Pooling

Pada Gambar 2.2 menjelaskan bahwa pada tiap area 2x2 pixel tersebut, diambil nilai

terbesarnya. Tujuan dari penggunaan pooling layer adalah mengurangi dimensi dari feature

map(downsampling),sehingga mempercepat komputasi karena parameter yang harus di-

update semakin sedikit dan mengatasi overfitting.

2.3.4 Flatten

Pada tahap ini matriks citra hasil proses MaxPooling akan dirubah menjadi matriks 1

dimensi yang memiliki 1 kolom.

2.3.5 Fully Connected Layer

Lapisan fully-connected adalah lapisan di mana semua neuron aktivasi dari lapisan

sebelumnya terhubung semua dengan neuron dilapisan selanjutnya seperti halnya jaringan

saraf tiruan biasa. Setiap aktivasi dari lapisan sebelumnya perlu diubah menjadi data satu

dimensi sebelum dapat dihubungkan ke semua neuron di lapisan. Lapisan fully-connected

biasanya digunakan pada metode Multi Layer Perceptron untuk mengolah data sehingga bisa

diklasifikasikan. Perbedaan antara lapisan fully-connected dan lapisan konvolusi biasa adalah

neuron di lapisan konvolusi terhubung hanya ke daerah tertentu pada input, sementara lapisan

fully-connected memiliki neuron yang secara keseluruhan terhubung [7]. Gambar 2.3

menjelaskan ilustrasi pada fully connected layer.

Gambar 2.3 Ilustrasi Fully Connected Layer

2.3.6 Softmax

Fungsi aktifasi softmax adalah menghitung semua probabilitas masing-masing kelas

target terhadap kemungkinan seluruh kelas. Biasanya softmax digunakan untuk klasifikasi

yang memiliki banyak kelas. Sehingga dengan fungsi ini dapat menghitung probabilitas dari

masing-masing kelas dan menentukan kelas target data yang dimasukkan berdasarkan nilai

probabilitas yang tertinggi [2].

3. METODE PENELITIAN

Tahapan metode penelitian digambarkan dalam bagan yang terdapat pada gambar 3.1 yang

terdiri dari sumber data, pengolahan citra, perancangan model, pelatihan data, pengujian data,

dan pengukuran tingkat akurasi

Page 5: IMPLEMENTASI METODE CONVOLUTIONAL NEURAL NETWORK …

Gambar 3.1 Tahapan Penelitian

3.1 Pengumpulan Data

Pengumpulan data penelitian diperoleh dari dataset Fruit-360. Penelitian ini mengambil 4

jenis buah yaitu jeruk clementine, jeruk kumquats, jeruk lemon, dan jeruk nipis. Jumlah

dataset yang digunakan sebanyak 2555 citra, yang terdiri dari dataset untuk pelatihan data

sebanyak 1939 citra, dataset untuk validasi data sebanyak 469 citra, dan dataset untuk

pengujian sebanyak 119

3.2 Pengolahan Citra

Tahap pengolahan citra dilakukan dengan mengubah ukuran citra dan normalisasi citra.

Citra dikumpulkan memiliki ukuran yang berbeda, sehingga proses perubahan ukuran citra

dilakukan untuk menentukan ukuran yang sama disetiap citra. Ukuran yang digunakan dalam

penelitian ini adalah 100 x 100 piksel. Sedangkan normalisasi dilakukan untuk mengubah

citra asli menjadi citra biner dengan mengubah nilai piksel yang sebelumnya 0 - 255 menjadi

0 - 1. Konversi ini bertujuan untuk membuat citra dapat digunakan dengan model CNN dan

memudahkan komputer untuk memproses data citra sehingga tidak memiliki nilai besar dan

memperlambat proses perhitungan

3.3 Perancangan Model

Perancangan model berdasarkan arsitektur CNN ditunjukkan pada gambar 3.2

Pengolahan

Citra

Perancangan

Model

Pelatihan Data

Pengujian

Data

Akurasi

Pengumpulan

Data

Page 6: IMPLEMENTASI METODE CONVOLUTIONAL NEURAL NETWORK …

Model yang dibangun adalah model sequential, berbentuk tumpukan linier dari layer, dan

membaca proses secara pertahap. Arsitektur CNN yang digunakan pada program ini terdiri

dari convolutional layer, maxpooling, flatten, dan fully connected layer.

3.4 Pelatihan Data

Data berbentuk citra jeruk yang akan dilatih diambil dari direktori training sebanyak

1939 citra dari 4 jenis jeruk yang berbeda. Hal yang sama dilakukan untuk pembacaan

direktori validasi sebanyak 469 citra dari 4 jenis jeruk dan test sebanyak 119 citra dari 4 jenis

jeruk. Pelatihan data dilakukan dengan menggunakan 29 epochs, artinya proses pelatihan data

akan dilakukan sebanyak 29 kali. Kemudian menggunakan batch_size sebanyak 7, yang

artinya proses training dan validasi akan di baca setiap 7 citra dari jumlah total citra.

3.5 Pengujian Data

Pengujian dilakukan dengan menggunakan google collab dan membutuhkan library

‘keras’ untuk memanggil model CNN yang telah disimpan dan menggunakan library

‘matplotlib’ untuk memvisualisasikan output.

3.6 Akurasi

Tahap ini merupakan tahap akhir penelitian untuk menilai tolok ukur keberhasilan model

CNN dalam melakukan penyortiran jenis buah jeruk clementine, jeruk kumquats, jeruk

lemon, dan jeruk nipis. Pengukuran akurasi dihitung dengan menggunakan persamaan

berikut:

4. HASIL DAN PEMBAHASAN

4.1 Hasil Pengumpulan Data

Pengumpulan data dibagi kedalam tiga data set penelitian yaitu data pelatihan, validasi,

dan pengujian. Gambar 4.1 sampai Gambar 4.4 merupakan data pelatihan, yang terdiri dari

Page 7: IMPLEMENTASI METODE CONVOLUTIONAL NEURAL NETWORK …

jeruk clementine sebanyak 534 citra, kuqmuats 387 citra, lemon sebanyak 521 citra, dan jeruk

nipis sebanyak 497 citra.

Gambar 4.1 Datasets Jeruk Clementine Pada Data Pelatihan

Gambar 4.2 Datasets Jeruk Kumquats Pada Data Pelatihan

Gambar 4.3 Datasets Jeruk Lemon Pada Data Pelatihan

Gambar 4.4 Datasets Jeruk Nipis Pada Data Pelatihan

Gambar 4.5 sampai Gambar 4.8 merupakan data validasi yang terdiri dari jeruk clementine

sebanyak 116 citra, kumquats 97 citra, lemon sebanyak 130 citra, dan jeruk nipis sebanyak

126 citra.

Page 8: IMPLEMENTASI METODE CONVOLUTIONAL NEURAL NETWORK …

Gambar 4.5 Datasets Jeruk Clementine Pada Data Validasi

Gambar 4.6 Datasets Jeruk Kumquats Pada Data Validasi

Gambar 4.7 Datasets Jeruk Lemon Pada Data Validasi

Gambar 4.8 Datasets Jeruk Nipis Pada Data Validasi

Gambar 4.9 sampai Gambar 4.12 merupakan data pengujian yang terdiri dari jeruk

clementine sebanyak 30 citra, kumquats sebanyak 30 citra, lemon sebanyak 30 citra, dan

jeruk nipis sebanyak 29 citra.

Gambar 4.9 Datasets Jeruk Clementine Pada Data Pegujian

Page 9: IMPLEMENTASI METODE CONVOLUTIONAL NEURAL NETWORK …

Gambar 4.10 Datasets Jeruk Kumquats Pada Data Pengujian

Gambar 4.11 Datasets Jeruk Lemon Pada Data Pengujian

Gambar 4.12 Datasets Jeruk Nipis Pada Data Pengujian

4.3 Hasil Pengolahan Citra

Pada tahap ini ukuran citra dirubah kedalam dimensi 100x100 dan dilakukan

normalisasi citra dan mengubah nilai piksel dari 0-255 menjadi 0-1

Gambar 4.13 Citra Dimensi 100x100

4.4 Hasil Model CNN

Model yang berisikan seluruh total citra yang telah dilatih dapat dirangkum dengan

sintaks: model.summary(), ditunjukkan pada gambar 4.14

Page 10: IMPLEMENTASI METODE CONVOLUTIONAL NEURAL NETWORK …

Gambar 4.15 Model Summary

4.5 Hasil Pelatihan Data

Pelatihan data dilakukan dengan menggunakan 29 epochs, artinya proses pelatihan

data akan dilakukan sebanyak 29 kali. Kemudian menggunakan batch_size sebanyak 7, yang

artinya proses training dan validasi akan di baca setiap 7 citra dari jumlah total citra. Hasil

pelatihan data citra jenis jeruk dapat dilihat pada gambar 4.14

Page 11: IMPLEMENTASI METODE CONVOLUTIONAL NEURAL NETWORK …

Gambar 4.16 Proses Pelatihan Data

4.6 Hasil Pengujian Data

Hasil pengujian data ditunjukkan pada tabel 4.1 sampai 4.4

Tabel 4.17 Pengujian Data Citra Jeruk Clementine

Citra

Input

Hasil

Prediksi

Label

Prediksi

Keterangan

Clementine Benar

Clementine Benar

Clementine Benar

Kumquats Salah

Clementine Benar

Page 12: IMPLEMENTASI METODE CONVOLUTIONAL NEURAL NETWORK …

Tabel 4.17 Pengujian Data Citra Jeruk Kumquats

Tabel 4.18 Pengujian Data Citra Jeruk Lemon

Citra

Input

Hasil

Prediksi

Label

Prediksi

Keterangan

Lemon Benar

Lemon Benar

Lemon Benar

Kumquats Salah

Nipis Salah

Citra

Input

Hasil

Prediksi

Label

Prediksi

Keterangan

Kumquats Benar

Kumquats Benar

Kumquats Benar

Kumquats Benar

Clementine Salah

Page 13: IMPLEMENTASI METODE CONVOLUTIONAL NEURAL NETWORK …

Tabel 4.18 Pengujian Data Citra Jeruk Lemon

4.7 Hasil Akurasi

Pengukuran akurasi digunakan untuk menggambarkan keakuratan model dapat

melakukan penyortiran dengan benar. Hasil akurasi yang diperoleh dari 119 citra uji adalah

Akurasi = 𝑇𝑃+𝑇𝑁

𝑇𝑃+𝐹𝑁+𝐹𝑃+𝑇𝑁 𝑥 100%

= 107+107

107+12+12+107 𝑥 100%

= 214

238 𝑥 100%

= 0,899 x 100% (pembulatan)

= 89,9%

5. KESIMPULAN

Algoritma CNN berhasil diimplementasikan untuk melakukan penyortiran buah jeruk

yang terdiri dari jeruk clementine, jeruk kumquats, jeruk lemon. Pengukuran akurasi terhadap

119 data uji citra menghasilkan tingkat akurasi sebesar 89,9%.

6. REFERENSI

[1] Putra, I. W. S. E. (2016). “Klasifikasi citra menggunakan convolutional neural network

(CNN) pada caltech 101 “(Doctoral dissertation, Institut Teknologi Sepuluh Nopember).

[2] Asmara, R. A., Syulistyo, A. R., & Qudsi, N. K. (2019). “Identifikasi Citra Tulisan

Tangan Digital Menggunakan Convolutional Neural Network (CNN)”. In Seminar

Informatika Aplikatif Polinema

[3] Nasharsari, Nur Dyah. 2014. “Bercocok Tanam Jeruk”. Yogyakarta: Azla Press

[4] 1994. “Budidaya Tanaman Jeruk”.Yogyakarta:Kanisius.

[5] Prabowo, D. A., & Abdullah, D. (2018). “Deteksi dan perhitungan objek berdasarkan

warna menggunakan Color Object Tracking”. Pseudocode, 5(2), 85-91.

Citra

Input

Hasil

Prediksi

Label

Prediksi

Keterangan

Nipis Benar

Nipis Benar

Nipis Benar

Nipis Benar

Lemon Salah

Page 14: IMPLEMENTASI METODE CONVOLUTIONAL NEURAL NETWORK …

[6] Nurhikmat, T. (2018). “Implementasi Deep Learning Untuk Image Classification

Menggunakan Algoritma Convolutional Neural Network (CNN) Pada Citra Wayang

Golek”.

[7] Dewi, S. R. (2018). “Deep Learning Object Detection Pada Video Menggunakan

Tensorflow dan Convolutional Neural Network”.