official site of moch. wisuda s, st., mmsi - gunadarma...

35
PERANCANGAN APLIKASI MOBILE BERBASIS ANDROID UNTUK KLASIFIKASI RAS KUCING MENGGUNAKAN METODE CONVOLUTIONAL NEURAL NETWORK Mochamad Wisuda Sardjono [email protected] Bhaskara Yudhistira Hoetomo [email protected] Abstraksi Kucing sebagai hewan peliharaan dan sahabat manusia, memiliki beragam ras dan keunikan yang berbeda-beda namun sedikit sekali ras yang dikenali oleh masyarakat. Oleh sebab itu diperlukannya pendekatan digital untuk mengenali ras kucing. Dengan menggunakan teknologi Deep Learning, yang merupakan salah satu bidang ilmu dalam Machine Learning. Ras kucing dapat dikenali dengan menggunakan Image Classification atau klasifikasi objek pada citra yang merupakan salah satu bagian dari Deep Learning. Hasil yang diperoleh setelah hasil proses pelatihan yaitu sebesar 95,09% dengan salah satu hasil pengujian yaitu klasifikasi kucing Bombay dengan akurasi sebesar 99,67%. Kata Kunci: kucing, ras, mengenali, klasifikasi 1. PENDAHULUAN Mengetahui banyaknya ciri yang ditemukan pada kucing, diperlukan pendekatan digital untuk mengetahui jenis ras pada kucing tersebut. Salah satu caranya adalah menggunakan teknologi Deep Learning, yang merupakan salah satu bidang ilmu dalam Machine Learning dan memiliki perkembangan yang cukup pesat. Convolutional Neural Network (CNN) adalah salah satu bagian dari metode dari Deep Learning yang dapat digunakan untuk image recognition atau pengenalan

Upload: others

Post on 19-Jul-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

PERANCANGAN APLIKASI MOBILE BERBASIS ANDROID UNTUK KLASIFIKASI

RAS KUCING MENGGUNAKAN METODE CONVOLUTIONAL NEURAL NETWORK

Mochamad Wisuda Sardjono

[email protected]

Bhaskara Yudhistira Hoetomo

[email protected]

AbstraksiKucing sebagai hewan peliharaan dan sahabat manusia, memiliki beragam ras dan keunikan yang berbeda-beda namun sedikit sekali ras yang dikenali oleh masyarakat. Oleh sebab itu diperlukannya pendekatan digital untuk mengenali ras kucing. Dengan menggunakan teknologi Deep Learning, yang merupakan salah satu bidang ilmu dalam Machine Learning. Ras kucing dapat dikenali dengan menggunakan Image Classification atau klasifikasi objek pada citra yang merupakan salah satu bagian dari Deep Learning. Hasil yang diperoleh setelah hasil proses pelatihan yaitu sebesar 95,09% dengan salah satu hasil pengujian yaitu klasifikasi kucing Bombay dengan akurasi sebesar 99,67%.

Kata Kunci: kucing, ras, mengenali, klasifikasi

1. PENDAHULUAN

Mengetahui banyaknya ciri yang ditemukan pada kucing, diperlukan pendekatan digital

untuk mengetahui jenis ras pada kucing tersebut. Salah satu caranya adalah menggunakan

teknologi Deep Learning, yang merupakan salah satu bidang ilmu dalam Machine Learning dan

memiliki perkembangan yang cukup pesat. Convolutional Neural Network (CNN) adalah salah

satu bagian dari metode dari Deep Learning yang dapat digunakan untuk image recognition atau

pengenalan gambar pada suatu citra. CNN dapat melakukan object recognition dan object

classification dari suatu citra, dengan begitu jenis ras kucing dapat dikenali dari ciri-ciri pada

kucing tersebut.

Di zaman modern ini, penggunaan perangkat genggam terutama smartphone semakin

lumrah digunakan. Selain sebagai perangkat komunikasi, masyarakat menggunakan perangkat

smartphone berbasis Android digunakan untuk mendapatkan informasi, sebagai media hiburan,

dan lain-lain. Android merupakan sebuah sistem operasi untuk perangkat mobile berbasis linux

yang mencangkup sistem operasi, middleware (perangkat lunak yang berfungsi pada perantara

aplikasi dan sistem operasi), dan aplikasi.

Page 2: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

Berdasarkan latar belakang yang dijabarkan maka dari itu terdapat beberapa penjabaran batasan masalah sebagai berikut: Proses training menggunakan Google Colab, Klasifikasi citra mencakup 7 objek kucing (Turkish Angora, kucing Balinese, kucing Bombay, kucing European Shorthair, kucing Nebelung, kucing Sphynx, kucing Toyger dan 1 objek hewan selain kucing),jumlah dataset yang dimiliki yaitu 1332 gambar kucing dan 106 gambar hewan selain kucing, aplikasi ini hanya dapat dijalankan pada smartphone yang memiliki sistem operasi Android, Output berupa hasil klasifikasi ras kucing.

Penulisan ini bertujuan untuk membuat sebuah aplikasi Android yang berisikan informasi mengenai klasifikasi kucing menggunakan deep learning sehingga pengguna dapat mengetahui jenis kucing secara real-time dengan menggunakan aplikasi tersebut

2. STUDI PUSTAKA2.1. Kucing

Kucing telah hadir dan melekat dengan manusia lebih dari satu abad yang lalu, melalui

waktu yang panjang ini kucing hadir dengan berbagai variasi yang sering disebut sebagai ras.

Ras kucing di dunia ada puluhan, namun di Indonesia sendiri ras kucing yang terkenal yang

terkenal hanya ada beberapa seperti Persia dan Anggora, ras jenis ini banyak sekali diminati di

Indonesia karena keanggunannya dan kecantikannya. Namun yang memperhatinkan dari ras

kucing adalah keberadaannya yang kini hanya tinggal satu persen dari seluruh kucing di dunia

Satu persen ini didapat dari kucing yang memiliki keturunan asli “pedigree” yang memiliki

silsilah keluarga dan mempunyai sertifikat kelahiran sehingga disebut bahwa kucing pedigree

adalah kucing yang benar benar kucing ras (Muslihin, 2013).

The International Cat Association (TICA) adalah salah satu asosiasi yang mencatat kucing

trah yang bersertifikasi terbesar di dunia, kucing dapat diklasifikasikan ke dalam 4 kelompok

besar berdasarkan pada pengakuan atas perlombaan pameran yang diikuti [1]. Ras kucing

menurut TICA antara lain (sumber : https://tica.org/breeds/browse-all-breeds ):

a) Championship Breeds

Tabel 1. Kelompok Ras Kucing Championship Breeds

Page 3: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

Abyssinian

American Bobtail American Bobtail Shorthair

b) Non-Championship Breeds

Tabel 2. Kelompok Ras Kucing Non-Championship Breeds

Household Pet Household Pet Kitten

c) Advanced New Breeds

Tabel 3. Kelompok Ras Kucing Advanced New Breeds

Highlander Highlander Shorthair Serengeti

d) Preliminary New Breeds

Tabel 4. Kelompok Ras Kucing Preliminary New Breeds

Aphrodite Tennessee Rex Toybob

Dalam penulisan ini, penulis mengklasifikasikan sebanyak 7 ras kucing, diantaranya :

Page 4: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

1. Turkish Angora

Orang awam sering menggunakan kata angora untuk kucing berbulu panjang, termasuk

kucing persia yang berasal dari Iran. Padahal, angora berasal dari kota Angora (Ankara,

Turki). Kesalahan ini mulai terjadi sekitar 250 tahun lalu. Ketika kontes kucing (cat show)

mulai diadakan di Inggris pada tahun 1870, kategori kucing berbulu panjang sangat populer.

Angora dan persia turut serta yang dibawa oleh pedagang yang berbisnis di Timur Tengah.

Sejak saat itulah sifat-sifat genetik persia dan angora mulai berkembang menjadi lebih murni

dan spesifik.

Bentuk tubuh yang besar, tebal, kepala bulat, dan badan cobby identik dengan kucingg

persia. Sementara itu, angora lebih langsing, panjang, lentur dan luwes, serta kepala

berbentuk lancip (segi tiga).

Kucing ras angora mempunyai gaya lemah gemulai dan anggun. Badan panjang dan langsing

dengan kaki dan ekor panjang. Ekor berbulu tebal dan mengembang seperti ekor musang.

Kepala berbentuk seperti segi tiga dengan telinga lebar. [3]

Gambar 1. Kucing Turkish Angora

2. Balinese

Ras kucing balinese adalah kucing dengan tipe tubuh kucing oriental (langsing dan panjang)

ditutupi bulu panjang dengan pola warna seperti ras siam (colorpoint).

Ras ini terbentuk secara spontan sebagai akibat dari mutasi ras siam. Perbedaanya dengan

siam hanya terletak pada panjang bulu. Balinese terpecah menjadi dua, yaitu tradisional dan

modern. Balinese tradisional mempunyai badan yang lebih berat dan tegap, bentuk kepala

yang lebih bundar, dan telinga yang lebih kecil dibandingkan dengan balinese modern.

Balinese tradisional mempunyai bulu medium panjang (5 cm) yang menutupi seluruh tubuh.

Sementara itu, balinese modern mempunyai bulu pendek di kepala serta badan. Bulu panjang

hanya terdapat di bagian ekor saja.

Page 5: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

Kucing ini termasuk golongan longhair dengan ukuran sedang. Kepala panjang dan

berbentuk segi tiga, hidung mancung dan lurus tanpa ada terpisah. Telinga bagian dasar

melebar dan besar. Mata berukuran medium dan berbentuk almond. Badan panjang dan

langsing. Kaki panjang dan ramping, berbentuk oval dan berukuran kecil. Cakar besar, bulat,

dan kokoh, lima jari di kaki depan dan empat jari di kaki belakang. Bulu lembut, mengilap,

dan merekah dengan panjang sekitar 5 cm. Ekor panjang dan tipis. [3]

Gambar 2 Kucing Balinese

3. Bombay

Merupakan kucing yang memiliki ukuran tubuh sedang dengan otot yang padat serta tulang

yang besar, walaupun ukurannya kecil, kucing ini memiliki berat tubuh diatas ras lainnya.

Ras ini diciptakan dengan tubuh yang kekar serta compact, ras ini juga terdapat banyak di

kawasan Semenanjung India, kucing ini memiliki ciri-ciri kepala yang bundar, ujung telinga

yang bundar serta mata, dagu dan kaki yang juga berukuran bundar.

Mantel bulu dari ras ini sangatlah pendek dan juga mengkilap, dengan warna hitam pekat

khas kucing Bombay, mereka akan terlihat dominan jika dijajarkan dengan ras lainnya, ciri

lain dari trah ini ketika kucing ini berjalan, gerakannya bisa membuat kucing ini terlihat

seperti sedang bergoyang. [6]

Gambar 3 Kucing Bombay

Page 6: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

4. European Shorthair

Kucing ini merupakan ras berbulu pendek yang berasal dari kucing domestik di daerah

asalnya. Kucing ini memiliki kemiripan dengan ras British Shorthair dan American Shorthair

yang mengakibatkan kesulitan membedakan dan hanya dapat dilihat dari bentuk kepalanya.

Badannya memiliki variasi warna bulu sama. Para hobiis lebih mengenal british shorthair

daripada european shorthair. [4]

Gambar 4. Kucing European Shorthair

5. Nebelung

Kucing Nebelung adalah kucing dengan bulu pajang dengan foreign body, mata lebar yang

berwarna hijau dan sebuah mantel biru buram dengan silver yang menutupi tubuh. Nama dari

Nebelung berasal dari kata bahasa Jerman untuk kabut yaitu Nebel, dan dari kisah jaman

Jermanik abad pertengahan Nibelungenlied dan digunakan untuk merepresentasikan warna

khusus mantel biru buram dari kucing. Kucing ini merupakan kucing yang relatif baru dan

ras langka yang diharapkan menyerupai visi ideal dari rambut panjang pada awal abad ke-19

yang mungkin memiliki asal-usul kucing ini di Rusia. [2]

Gambar 5. Kucing Nebelung

Page 7: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

6. Sphynx

Kucing ras sphynx (dahulu bernama canadian hairless) adalah ras dengan kucing yang

mempunyai bulu pendek atau sedikit sekali. Bulu kucing tersebut sangat halus. Ras ini

dihasilkan dari kucing-kucing yang mengalami mutasi genetik.

Sphynx tergolong sangat aktif dan pintar. Termasuk kucing yang sabar untuk mengeksplorasi

yang berbeda dalam jangkauannya. Ras ini mudah disayangi dan setia. Sphynx butuh

perhatian lebih karena harus lebih sering dimandikan untuk membersihkan keringat yang

menumpuk pada kerutan.

Kucing ini termasuk golongan shorthair dengan ukuran sedang, kepalanya lebih panjang

dibanding lebarnya dan berbentuk segitiga. Mempunyai hidung yang pendek dengan lekukan

yang jelas atau hanya sedikit lekukan. Telinganya besar, lebar pada bagian bawah dan berdiri

tegak, dan bagian dalam tidak berbulu. Mata berbentuk bulat lemon dengan ujung bagian luar

mengarah ke telinga dan terbuka lebar. Badan dengan panjang badan sedang, tegap dan

membulat di daerah perut, seperti tabung serta dada lebar. Kaki yang panjang dan

proposional dengan ukuran tubuh, kaki depan lebih ramping dan pendek dari kaki belakang

dan jari kaki panjang dengan telapak kaki tebal. Cakar berukuran kecil dan bulat. Tidak

berbulu, tetapi ada sedikit bulu halus di kulit seluruh tubuh. Ekor panjang dan berbentuk

cambuk, di ujung ekor ditemui sedikit bulu sehingga menyerupai ekor singa. [3]

Gambar 6. Kucing Sphynx

7. Toyger

Ras kucing ini merupakan hasil persilangan kucing Domestik dengan kucing Bengal.

Tujuannya untuk menghasilkan harimau kecil yang bisa diajak main dan dipelihara di dalam

Page 8: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

rumah. Kata Toyger sendiri merupakan singkatan dari “Toy Tiger” (harimau yang bisa diajak

main).

Toyger adalah kucing berukuran sedang dengan bulu menyerupai begnal. Toyger mempunyai

tempramin yang baik dengan kesehatan yang baik dan relatif tahan terhadap penyakit. Warna

ideal adalah warna oranye tua dengan belang hitam seperti pada harimau. Pola belang harus

memanjang tanpa ada spot. Telinga kecil dan bulat. Secara keseluruhan Toyger mempunyai

Struktur pertulangan yang padat dan seimbang. [5]

Gambar 7. Kucing Toyger

2.2. Klasifikasi

Klasifikasi merupakan cara pengelompokkan benda berdasarkan ciri – ciri yang dimiliki

oleh objek klasifikasi. Dalam prosesnya, klasifikasi dapat dilakukan dengan banyak cara baik

secara manual ataupun dengan bantuan teknologi. Klasifikasi yang dilakukan secara manual

adalah klasifikasi yang dilakukan oleh manusia tanpa adanya bantuan dari algortima cerdas

komputer. Sedangkan klasifikasi yang dilakukan dengan bantuan teknologi, memiliki beberapa

algoritma, diantaranya Naïve Bayes, Support Vector Machine, Decission Tree, Fuzzy dan

Jaringan Saraf Tiruan. [15]

Deep Learning (DL) adalah teknik dalam Neural Network (NN) yang menggunakan teknik

tertentu seperti Restricted Boltzmann Machine (RBM) untuk mempercepat proses pembelajaran

dalam NN yang menggunakan lapis yang banyak atau lebih dari 7 lapis. Dengan adanya DL,

waktu yang dibutuhkan untuk training akan semakin sedikit karena masalah hilangnya gradien

pada back propagation akan semakin rendah. Beberapa jenis DL antara lain Deep Auto Encoder,

Deep Belief Nets, Convolutional NN, dan lain-lain. [14]

Page 9: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

2.3. Convolution Neural Network (CNN)

Convolutional Neural Network (CNN) adalah pengembangan dari Multilayer Perceptron

(MLP) yang didesain untuk mengolah data dua dimensi. CNN termasuk dalam jenis Deep

Neural Network (DNN) karena kedalaman jaringan yang tinggi dan banyak diaplikasikan pada

data citra. Pada kasus klasifikasi citra, MLP kurang sesuai untuk digunakan karena tidak

menyimpan informasi spasial dari data citra dan menganggap setiap piksel adalah fitur yang

independen sehingga menghasilkan output yang kurang baik (Ali Sharif Razavian et al., 2014).

[16]

Cara kerja CNN memiliki kesamaan pada MLP, namun dalam CNN setiap neuron

dipresentasikan dalam bentuk dua dimensi, tidak seperti MLP yang setiap neuron hanya

berukuran satu dimensi.

Gambar 8. Arsitektur MLP sederhana

Pada Gambar 8 diilustrasikan sebuah MLP memiliki i layer (kotak merah dan biru)

dengan masing-masing layer berisi ji neuron (lingkaran putih). MLP menerima input data satu

dimensi dan mempropagasikan data tersebut pada jaringan hingga menghasilkan output. Setiap

hubungan antar neuron pada dua layer yang bersebelahan memiliki parameter bobot satu dimensi

yang menentukan kualitas mode. Disetiap data input pada layer dilakukan operasi linear dengan

nilai bobot yang ada, kemudian hasil komputasi akan ditransformasi menggunakan operasi non

linear yang disebut sebagai fungsi aktivasi.

Pada CNN, data yang dipropagasikan pada jaringan adalah data dua dimensi, sehingga

operasi linear dan parameter bobot pada CNN berbeda. Pada CNN operasi linear menggunakan

operasi konvolusi, sedangkan bobot tidak lagi satu dimensi saja, namun berbentuk empat dimensi

yang merupakan kumpulan kernel konvolusi seperti pada Gambar 9. Dimensi bobot pada CNN

adalah:

Page 10: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

Gambar 9. Proses Konvolusi pada CNN

Karena sifat proses konvolusi, maka CNN hanya dapat digunakan pada data yang memiliki

struktur dua dimensi seperti citra dan suara.

Pada kasus MLP, sebuah jaringan tanpa hidden layer dapat memetakan persamaan linear

apapun, sedangkan jaringan dengan satu atau dua hidden layer dapat memetakan sebagian besar

persamaan pada data sederhana.

Namun pada data yang lebih kompleks, MLP memiliki keterbatasan. Pada permasalahan

jumlah hidden layer dibawah tiga layer, terdapat pendekatan untuk menentukan jumlah neuron

pada masing-masing layer untuk mendekati hasil optimal. Penggunaan layer diatas dua pada

umumnya tidak direkomendasikan dikarenakan akan menyebabkan overfitting serta kekuatan

backpropagation berkurang secara signifikan.

Sebuah CNN terdiri dari beberapa layer. Berdasarkan aristektur LeNet5, terdapat empat

macam layer utama pada sebuah CNN namun yang diterapkan pada penelitian ini hanya tiga

macam lapisan lantara lain:

a. Convolution Layer

Convolution Layer melakukan operasi konvolusi pada output dari layer sebelumnya.

Layer tersebut adalah proses utama yang mendasari sebuah CNN.

Konvolusi adalah suatu istilah matematis yang berati mengaplikasikan sebuah fungsi

pada output fungsi lain secara berulang. Dalam pengolahan citra, konvolusi berati

mengaplikasikan sebuah kernel (kotak kuning) pada citra disemua offset yang

memungkinkan seperti yang ditunjukkan pada Gambar 10. Kotak hijau secara

keseluruhan adalah citra yang akan dikonvolusi. Kernel bergerak dari sudut kiri atas ke

kanan bawah. Sehingga hasil konvolusi dari citra tersebut dapat dilihat pada gambar

disebelah kanannya. Tujuan dilakukannya konvolusi pada data citra adalah untuk

mengekstraksi fitur dari citra input. Konvolusi akan menghasilkan transformasi linear

Page 11: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

dari data input sesuai informasi spasial pada data. Bobot pada layer tersebut

menspesifikasikan kernel konvolusi yang digunakan, sehingga kernel konvolusi dapat

dilatih berdasarkan input pada CNN.

Gambar 10. Operasi Konvolusi

b. Subsampling Layer

Subsampling adalah proses mereduksi ukuran sebuah data citra. Dalam pengolahan citra,

subsampling juga bertujuan untuk meningkatkan invariansi posisi dari fitur. Dalam

sebagian besar CNN, metode subsampling yang digunakan adalah max pooling. Max

pooling membagi output dari convolution layer menjadi beberapa grid kecil lalu

mengambil nilai maksimal dari setiap grid untuk menyusun matriks citra yang telah

direduksi seperti yang ditunjukkan pada Gambar 11. Grid yang berwarna merah, hijau,

kuning dan biru merupakan kelompok grid yang akan dipilih nilai maksimumnya.

Sehingga hasil dari proses tersebut dapat dilihat pada kumpulan grid disebelah kanannya.

Proses tersebut memastikan fitur yang didapatkan akan sama meskipun objek citra

mengalami translasi (pergeseran).

Gambar 11. Operasi Max Pooling

Page 12: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

Menurut Springenberg et al, penggunaan pooling layer pada CNN hanya bertujuan untuk

mereduksi ukuran citra sehingga dapat dengan mudah digantikan dengan sebuah

convolution layer dengan stride yang sama dengan pooling layer yang bersangkutan.[21]

c. Fully Connected Layer

Layer tersebut adalah layer yang biasanya digunakan dalam penerapan MLP dan

bertujuan untuk melakukan transformasi pada dimensi data agar data dapat

diklasifikasikan secara linear.

Setiap neuron pada convolution layer perlu ditransformasi menjadi data satu dimensi

terlebih dahulu sebelum dapat dimasukkan ke dalam sebuah fully connected layer.

Karena hal tersebut menyebabkan data kehilangan informasi spasialnya dan tidak

reversibel, fully connected layer hanya dapat diimplementasikan di akhir jaringan.

Dalam sebuah jurnal oleh Lin et al., dijelaskan bahwa convolution layer dengan ukuran

kernel 1 x 1 melakukan fungsi yang sama dengan sebuah fully connected layer namun

dengan tetap mempertahankan karakter spasial dari data. Hal tersebut membuat

penggunaan fully connectedlayer pada CNN saat ini tidak banyak digunakan. [22]

3. METODE

Software yang digunakan dalam pembuatan aplikasi adalah Google Colab yang berguna

untuk melatih dataset dan Android Studio untuk pembuatan aplikasi. Untuk menggunakan

Google Colab harus memiliki akun Google terlebih dahulu. Kemudian untuk melatih dataset

yang sudah dibuat sebelumnya penulis menggunakan source code dari github frogermcs yang

dapat dilihat pada link berikut https://github.com/frogermcs/TFLite-Tester sebagai dasar untuk

melatih dataset. Source code tersebut dapat digunakan pada Google Colab sebagai perbandingan

antara model Tensorflow dan Tensorflow Lite. Setelah membuka source code, tampilan pada

Google Colab akan seperti Gambar 12.

Page 13: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

Gambar 12. Tampilan source code pada Google Colab

3.1. Persiapan Data

Dataset yang digunakan berjumlah 1332 gambar kucing dari 7 ras, yaitu Turkish Angora,

Balinese, Bombay, European Shorthair, Nebelung, Sphynx dan Toyger, ditambah 106 gambar

hewan selain kucing diantaranya burung, ayam dan anjing. Untuk mengambil ratusan gambar

sekaligus, digunakan Fatkun Batch Download Image. Tampilan awal dari Fatkun Batch Unduh

Gambar dapat dilihat pada Gambar 13.

Gambar 13. Tampilan awal Fatkun Batch Unduh Gambar

Setelah masuk ke website Fatkun Batch Download Image, ditekan button Tambahkan ke

Chrome agar fungsi dari Fatkun Batch Unduh Gambar dapat muncul. Proses tersebut dapat

dilihat pada Gambar 14.

Page 14: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

Gambar 14. Menambahkan Fatkun Batch Unduh Gambar

Setelah proses menambahkan Fatkun Batch Download Image selesai, penulis mencari

gambar yang akan dijadikan dataset pada Google. Untuk menggunakan fungsi Fatkun Batch

Unduh Gambar, tab Gambar pada Google dibuka lalu diklik kanan pada gambar yang dipilih,

seperti pada Gambar 15. Kemudian penulis memilih tulisan “ 批量下载 ” dengan icon Fatkun

Batch Download Image. Halaman akan berpindah ke halaman Fatkun Batch Download Image

sehingga penulis dapat memilih gambar yang akan di unduh.

Gambar 15. Mencari Gambar Kucing Nebelung

3.2. Training dan Pemodelan

Pada dataset yang sebelumnya sudah diunduh, kemudian dataset tersebut diunggah pada

Google Drive dikarenakan apabila dataset disimpan pada Files Google Colab maka file tersebut

Page 15: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

akan hilang setiap merubah runtime yang digunakan maka dengan menggunakan Google Drive

file dapat dipanggil tanpa harus diunggah kembali maka digunakan Library PyDrive.

Dataset yang sudah dibagi kemudian dilatih dengan model dasar yaitu

mobilenet_v2_100_224 yang memiliki kecepatan deteksi sebesar 117 ms. Gambar 16

memperlihatkan perintah untuk menggunakan MobileNet v2 untuk melatih model.

Gambar 16. Perintah Menggunakan MobileNet v2

Model kemudian dioptimasi menggunakan algoritma optimasi Adam yaitu dengan

menghitung individual adaptive learning rate untuk parameter yang berbeda dari perkiraan

momen pertama dan ke dua dari gradien. Pada Gambar 17, menunjukkan perintah menggunakan

optimizer Adam.

Gambar 17. Perintah Menggunakan Optimizer Adam

Setelah itu model tersebut dilatih menggunakan dataset dengan total dataset sebanyak

1332 gambar kucing dan 106 hewan lainnya sebanyak 20 kali. Sehingga menghasilkan

presentase nilai akurasi dari data yang dilatih (acc), data yang diuji (val_acc), dan data yang

hilang ketika diuji (val_loss). Gambar 18, merupakan perintah untuk melatih model dan Gambar

19, merupakan potongan proses pelatihan dataset yang menampilkan akurasi data yang dilatih

dan data yang diuji, juga nilai data yang hilang.

Page 16: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

Gambar 18. Perintah Menjalankan Model Latih

Gambar 19. Potongan Proses Latih Model

Hasil dari pelatihan dapat dilihat secara grafik menggunakan matplotlib. Perintah untuk

melihat hasil pelatihan model dapat dilihat pada Gambar 20, dan grafik dapat dilihat pada

Gambar 21.

Gambar 20. Perintah Melihat Hasil Pelatihan

Page 17: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

Gambar 21 Hasil Pelatihan Berupa Grafik

Pada Gambar 22, terlihat bahwa garis berwarna oranye yang merupakan plot akurasi

yang diuji dan garis berwarna biru yang merupakan akurasi latih bergerak dari tengah ke atas,

lalu stabil. Hal ini berarti bahwa dalam pelatihan model, nilai data yang dilatih dan data yang

diuji semakin mendekati 1.

Gambar 22. Grafik Akurasi

Sedangkan pada gambar 23 , menjukkan hasil yang berbanding terbalik dengan Gambar 22

. Hal ini berarti bahwa nilai yang hilang dari data yang dilatih semakin lama semakin kecil, dan

nilai dari data yang diuji semakin lama semakin kecil.

Page 18: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

Gambar 23. Grafik Loss

Berdasarkan kedua grafik yang ditampilkan pada Gambar 15 dan Gambar 16, maka dapat

disimpulkan bahwa dengan tidak adanya overfitting atau underfitting pada model telah cukup

baik dalam mempelajari data yang dilatih (data latih).

3.3. Mengubah dan mengkonversi Model

Hasil dari data yang sudah dilatih sebelumnya kemudian diekspor menjadi format

Tensorflow SavedModel. Gambar 24 merupakan perintah untuk mengekspor model tersebut.

Gambar 24. Perintah export Model

Kemudian, model Tensorflow Saved Model harus dikonversi dari kucing.pb menjadi

kucing.tflite agar dapat terbaca pada project Android Studio. Model harus dimuat terlebih dahulu

sebelum dikonversi. Gambar 25 adalah perintah untuk memuat model TensorFlow Saved Model.

Gambar 25. Perintah Memuat Model

Model yang sudah dimuat kemudian dikonversi dengan perintah pada Gambar 26,

perintah tersebut akan konversi model menjadi model TFLite. Model tersebut akan digunakan

pada project Android Studio.

Page 19: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

Gambar 26. Perintah Mengonversi Model TFLite

Dari perintah di atas dapat terlihat hasilnya yaitu kucing1.tflite. Hasil tersebut harus

diunduh dan akan diproses pada tahap implementasi selanjutnya. Proses mengunduh file .tflite

terlihat pada Gambar 27.

Gambar 27. Mengunduh File .tflite

4. UJICOBA

Pada tahap ini, dilakukan proses scanning (memindai) terhadap objek untuk mengetahui

nilai akurasi yang ditampilkan oleh aplikasi. Apabila yang dihasilkan oleh aplikasi sudah sesuai

dengan yang diharapkan, maka model yang digunakan pada aplikasi sudah benar. Akan tetapi

apabila tidak sesuai dengan yang diharapkan, maka model yang digunakan pada aplikasi masih

terdapat kesalahan pada proses latih model. Hasil dari uji coba akurasi akan ditampilkan dalam

bentuk tabel dengan model berupa jenis ras kucing, gambar proses scanning dan kesimpulan

dapat dilihat pada Tabel 5.

Page 20: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

Tabel 5. Hasil Uji Coba Akurasi Klasifikasi

Objek Asli Prediksi dan Akurasi Model Kesimpulan

Kucing Turkish Angora Prediksi: Anggora 99,64%Unknown 0,36%Nebelung 0,00%Hasil tangkapan layar:

Akurat

Kucing Balinese Prediksi: Balinese 99,62%Nebelung 0,20%Unknown 0,08%Hasil tangkapan layar:

Akurat

Page 21: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

Kucing Bombay Prediksi:Bombay 99,67%Sphynx 0,17%Unknown 0,09%Hasil tangkapan layar:

Akurat

Kucing European Shorthair

Prediksi:European Shorthair 89,14%Toyger 9,54%Bomber 0,48%Hasil tangkapan layar:

Akurat

Page 22: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

Kucing Nebelung Prediksi:Nebelung 98,74%Bombay 1,12%Balinese 0,06%Hasil tangkapan layar:

Akurat

Kucing Sphynx Prediksi:Sphynx 98,05%Bombay 1,05%Unknown 0,74%Hasil tangkapan layar:

Akurat

Page 23: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

Kucing Toyger Prediksi:Toyger 99.24 %Unknown 0.47%Sphynx 0.18%Hasil tangkapan layar:

Akurat

Unknown Prediksi:Unknown 99,29%Sphynx 0,31%Toyger 0,23%Hasil tangkapan layar:

Akurat

Pada tahap ini, aplikasi diuji pada beberapa smartphone yang memiliki sistem operasi Android,

processor, RAM, ukuran layar, dan resolusi yang berbeda-beda untuk mengetahui apakah ada

tampilan yang tidak sesuai, kelancaran aplikasi saat dijalankan, serta fungsi yang tidak berjalan

dengan normal. Hasil dari uji coba aplikasi ditampilkan dalam tabel 6.

Page 24: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

Tabel 6. Uji Coba Aplikasi

Nama Perangkat Spesifikasi HasilXiaomi Redmi 4a Layar 5.0 Inci

Resolusi 720 x 1280 pxSnapdragon 430OS Android 1010RAM 2 GB

Tampilan aplikasi sudah sesuai dengan ukuran layar dan dapat berjalan dengan lancar.

Asus Zenfone Max Pro M1

Layar 5.99 InciResolusi 1080 x 2160 pxSnapdragon 636OS Android 1010RAM 4 GB

Tampilan aplikasi sudah sesuai dengan ukuran layar dan dapat berjalan dengan lancar.

Xiaomi Redmi 3s Layar 5.0 InciResolusi 720 x 1280 pxSnapdragon 430OS Android 6Marshmallow, MIUI 9.2RAM 3 GB

Tampilan aplikasi sudah sesuai dengan ukuran layar dan dapat berjalan dengan lancar.

Xiaomi Redmi Note 3 Pro Layar 5.5 InciResolusi 1080 x 1920 pxSnapdragon 650OS Android 6Marshmallow, MIUI 10RAM 2 GB

Tampilan aplikasi sudah sesuai dengan ukuran layar dan dapat berjalan dengan lancar.

Xiaomi Redmi Note 4 Mediatek

Layar 5.5 InciResolusi 1080 x 1920 pxMediatek Helio X20OS Android 6Marshmallow, MIUI 10RAM 3 GB

Tampilan aplikasi sudah sesuai dengan ukuran layar dan dapat berjalan dengan lancar.

Xiaomi Redmi Note 8 Layar 6.3 InciResolusi 1080 x 2340 pxSnapdragon 665OS Android 9Pie, MIUI 11RAM 4 GB

Tampilan aplikasi sudah sesuai dengan ukuran layar dan dapat berjalan dengan lancar.

Aplikasi dikatakan lancar apabila tampilan layar sudah sesuai dengan tampilan yang diharapkan.

Berdasarkan hasil uji coba yang telah dilakukan dan ditampilkan pada Tabel 6, dapat diambil

kesimpulan bahwa aplikasi sudah berjalan dengan baik. Aplikasi dapat berjalan pada smartphone

dengan sistem operasi Android 6.0 Marshmallow yang memiliki resolusi layar 720 x 1280 pixel,

Page 25: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

processor dengan clock speed 1.4 GHz dan RAM 3 GB. Aplikasi juga dapat berjalan lancar pada

RAM 2 GB.

5. KESIMPULAN

Beberapa kesimpulan yang dapat diambil pada penelitian ini berdasarkan pengujian

aplikasi untuk mengenali ras kucing berbasis android menggunakan metode Convolutional

Neural Network antara lain:

1. Metode Convolutional Neural Network mampu melakukan klasifikasi kucing. Hasil

dari final test accuracy yang diperoleh dari keseluruhan proses pelatihan yaitu sebesar

95,09%. Salah satu hasil pengujian yaitu klasifikasi kucing Bombay dengan akurasi

sebesar 99,67%.

2. Hasil dari pengujian klasifikasi bergantung pada kondisi cahaya pada objek yang di

scan.

3. Aplikasi ini sudah berhasil dibuat menggunakan Android Studio 3.6.2 dan dapat

dijalankan pada smartphone dengan minimum versi Android Marshmallow.

DAFTAR PUSTAKA

[1] The International Cat Association, “About TICA”, https://tica.org/resources/our-

association/ about -tica (Online, diakses pada 2 Juni 2020)

[2] The International Cat Association, “All Breeds”, https://tica.org/breeds/browse-all-breeds

(Online, diakses pada 2 Juni 2020)

[3] Suwed, M.A. and Napitupulu, R.M., 2011. Panduan Lengkap Kucing. Penebar Swadaya

Grup.

[4] Susanty, Y., 2004. Memilih dan merawat kucing kesayangan. AgroMedia.

[5] Kucing Kita, Toyger, http://www.kucingkita.com/ras-kucing/toyger (Online, diakses pada

25 Juni 2020)

[6] Altarra, Kucing Bombay, https://infobinatang.com/kucing-bombay/ (Online, diakses pada

25 Juni 2020)

Page 26: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

[7] PUTRA, Firmansyah Iskandar. Aplikasi tutorial perawatan kucing berbasis android. JATI

(Jurnal Mahasiswa Teknik Informatika), 2017, 1.2: 191-195.

https://ejournal.itn.ac.id/index.php/jati/article/view/2117/1852 (Online, diakses pada 14

Juni 2020)

[8] Google. “Android Studio”, https://developer.android.com/studio/intro?hl=id (Online,

diakses pada 14 Juni 2020)

[9] HERNAWAN, Adam. APLIKASI PENGENALAN PROFIL NEGARA-NEGARA DI ASIA

BERBASIS AUGMENTED REALITY. 2019. PhD Thesis. Universitas Siliwangi.

http://repositori.unsil.ac.id/id/eprint/215 (Online, diakses pada 14 Juni 2020)

[10] Handaru Jati, S.T. and MM, M., PENGEMBANGAN APLIKASI HISTOROID

BERBASIS ANDROID SEBAGAI MEDIA PEMBELAJARAN SEJARAH SISWA SMA.

[11] Pangestu, M.A. and Bunyamin, H., 2018. Analisis Performa dan Pengembangan Sistem

Deteksi Ras Anjing pada Gambar dengan Menggunakan Pre-Trained CNN Model. Jurnal

Teknik Informatika dan Sistem Informasi p-ISSN, 2443, p.2210.

[12] Tensorflow, “TensorFlow Lite”,

https://www.tensorflow.org/lite/guide#machine_learning_at_the_edge

(Online, diakses pada 6 Juni 2020)

[13] Ramadhan, T. and Utomo, V.G., 2014. Rancang Bangun Aplikasi Mobile Untuk Notifikasi

Jadwal Kuliah Berbasis Android (Studi Kasus: Stmik Provisi Semarang). Jurnal Teknologi

Informasi dan Komunikasi, 5(2), pp.47-55.

[14] Ahmad, A., 2017. Mengenal artificial intelligence, machine learning, neural network, dan

deep learning. https://www.academia.edu/download/54674088/Perbedaan_Deep_learn.pdf

(Online, diakses pada 20 Juni 2020)

[15] Wibawa, A.P., Purnama, M.G.A., Akbar, M.F. and Dwiyanto, F.A., 2018, April. Metode-

metode Klasifikasi. In Prosiding SAKTI (Seminar Ilmu Komputer dan Teknologi

Informasi) (Vol. 3, No. 1, pp. 134-138).

http://e-journals.unmul.ac.id/index.php/SAKTI/article/view/2101 (Online, diakses pada 9

Juli 2020)

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

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

http://repository.its.ac.id/48842/ (Online, diakses pada 4 Juni 2020).

Page 27: Official Site of Moch. Wisuda S, ST., MMSi - Gunadarma ...moch_wisuda.staff.gunadarma.ac.id/Downloads/files/81684/... · Web viewBerdasarkan latar belakang yang dijabarkan maka dari

[17] Rian Adam, MENGENAL GOOGLE COLAB, https://structilmy.com/2019/05/mengenal-

google-colab/ (Online, diakses pada 14 Juni 2020)

[18] Dede Brahma, Cara Menggunakan Google Colaboratory,

https://link.medium.com/01uVjAA9i7. (Online, diakses pada 14 Juni 2020)

[19] Kurniawan, H., Setiyono, B. and Isnanto, R.R., 2011. Aplikasi Penjawab Pesan Singkat

Automatis dengan Bahasa Python (Doctoral dissertation, Jurusan Teknik Elektro Fakultas

Teknik Undip).

[20] Widagdo, D.Y., Koesmarijanto, K. and Arinie, F., 2020. SISTEM PENCATATAN HASIL

TIMBANGAN MENGGUNAKAN SENSOR LOAD CELL MELALUI DATABASE

BERBASIS ARDUINO UNO. Jurnal Jartel: Jurnal Jaringan Telekomunikasi, 10(1), p.13.

[21] J. T. Springenberg, A. Dosovitskiy, T. Brox and M. Riedmiller, "Striving For Simplicity:

The All Convolutional Net," ICLR 2015, 2015.

[22] I Wayan Suartika E. P, Arya Yudhi Wijaya, dan Rully Soelaiman, JURNAL TEKNIK ITS

Vol. 5, No. 1, (2016) ISSN: 2337-3539, Klasifikasi Citra Menggunakan Convolutional

Neural Network (CNN) pada Caltech 101