PERANCANGAN APLIKASI - Official Site of Moch. Wisuda S, ST ...



PERANCANGAN APLIKASI MOBILE BERBASIS ANDROID UNTUK KLASIFIKASI RAS KUCING MENGGUNAKAN METODE CONVOLUTIONAL NEURAL NETWORK Mochamad Wisuda Sardjonomoch_wisuda@staff.gunadarma.ac.idBhaskara Yudhistira Hoetomobhaskarayh@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, klasifikasiPENDAHULUANMengetahui 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.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 tersebutSTUDI PUSTAKAKucingKucing 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 : ):Championship BreedsTabel SEQ Tabel \* ARABIC 1. Kelompok Ras Kucing Championship Breeds147955-118808500AbyssinianAmerican BobtailAmerican Bobtail ShorthairNon-Championship BreedsTabel 2. Kelompok Ras Kucing Non-Championship BreedsHousehold PetHousehold Pet KittenAdvanced New BreedsTabel 3. Kelompok Ras Kucing Advanced New BreedsHighlanderHighlander ShorthairSerengetiPreliminary New BreedsTabel 4. Kelompok Ras Kucing Preliminary New BreedsAphroditeTennessee RexToybobDalam penulisan ini, penulis mengklasifikasikan sebanyak 7 ras kucing, diantaranya :Turkish AngoraOrang 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 AngoraBalineseRas 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.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 BalineseBombayMerupakan 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 BombayEuropean ShorthairKucing 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 ShorthairNebelungKucing 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 NebelungSphynxKucing 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 SphynxToygerRas kucing ini merupakan hasil persilangan kucing Domestik dengan kucing Bengal. Tujuannya untuk menghasilkan harimau kecil yang bisa diajak main dan dipelihara di dalam 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 ToygerKlasifikasiKlasifikasi 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]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 sederhanaPada 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: Gambar 9. Proses Konvolusi pada CNNKarena 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:Convolution LayerConvolution 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 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 KonvolusiSubsampling LayerSubsampling 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 PoolingMenurut 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] Fully Connected LayerLayer 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]METODESoftware 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 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. Gambar 12. Tampilan source code pada Google ColabPersiapan DataDataset 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 GambarSetelah 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.Gambar 14. Menambahkan Fatkun Batch Unduh GambarSetelah 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 NebelungTraining dan PemodelanPada dataset yang sebelumnya sudah diunduh, kemudian dataset tersebut diunggah pada Google Drive dikarenakan apabila dataset disimpan pada Files Google Colab maka file tersebut 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 v2Model 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 AdamSetelah 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.Gambar 18. Perintah Menjalankan Model LatihGambar 19. Potongan Proses Latih ModelHasil 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 PelatihanGambar 21 Hasil Pelatihan Berupa GrafikPada 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 AkurasiSedangkan 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.Gambar 23. Grafik LossBerdasarkan 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).Mengubah dan mengkonversi ModelHasil dari data yang sudah dilatih sebelumnya kemudian diekspor menjadi format Tensorflow SavedModel. Gambar 24 merupakan perintah untuk mengekspor model tersebut.Gambar 24. Perintah export ModelKemudian, 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 ModelModel 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.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 .tfliteUJICOBAPada 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.Tabel 5. Hasil Uji Coba Akurasi KlasifikasiObjek AsliPrediksi dan Akurasi ModelKesimpulanKucing Turkish AngoraPrediksi: Anggora 99,64%Unknown 0,36%Nebelung 0,00%Hasil tangkapan layar:272458615600AkuratKucing BalinesePrediksi: Balinese 99,62%Nebelung 0,20%Unknown 0,08%Hasil tangkapan layar:275577998700AkuratKucing BombayPrediksi:Bombay 99,67%Sphynx 0,17%Unknown 0,09%Hasil tangkapan layar:441664159700AkuratKucing European ShorthairPrediksi:European Shorthair 89,14%Toyger 9,54%Bomber 0,48%Hasil tangkapan layar:3222-586700AkuratKucing NebelungPrediksi:Nebelung 98,74%Bombay 1,12%Balinese 0,06%Hasil tangkapan layar:322165400AkuratKucing SphynxPrediksi:Sphynx 98,05%Bombay 1,05%Unknown 0,74%Hasil tangkapan layar:3222-586600AkuratKucing ToygerPrediksi:Toyger 99.24 %Unknown 0.47%Sphynx 0.18%Hasil tangkapan layar:322265400AkuratUnknownPrediksi:Unknown 99,29%Sphynx 0,31%Toyger 0,23%167716816700Hasil tangkapan layar:AkuratPada 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.Tabel 6. Uji Coba AplikasiNama PerangkatSpesifikasiHasilXiaomi Redmi 4aLayar 5.0 InciResolusi 720 x 1280 pxSnapdragon 430OS Android 1010RAM 2 GBTampilan aplikasi sudah sesuai dengan ukuran layar dan dapat berjalan dengan lancar.Asus Zenfone Max Pro M1Layar 5.99 InciResolusi 1080 x 2160 pxSnapdragon 636OS Android 1010RAM 4 GBTampilan aplikasi sudah sesuai dengan ukuran layar dan dapat berjalan dengan lancar.Xiaomi Redmi 3sLayar 5.0 InciResolusi 720 x 1280 pxSnapdragon 430OS Android 6Marshmallow, MIUI 9.2RAM 3 GBTampilan aplikasi sudah sesuai dengan ukuran layar dan dapat berjalan dengan lancar.Xiaomi Redmi Note 3 ProLayar 5.5 InciResolusi 1080 x 1920 pxSnapdragon 650OS Android 6Marshmallow, MIUI 10RAM 2 GBTampilan aplikasi sudah sesuai dengan ukuran layar dan dapat berjalan dengan lancar.Xiaomi Redmi Note 4 MediatekLayar 5.5 InciResolusi 1080 x 1920 pxMediatek Helio X20OS Android 6Marshmallow, MIUI 10RAM 3 GBTampilan aplikasi sudah sesuai dengan ukuran layar dan dapat berjalan dengan lancar.Xiaomi Redmi Note 8Layar 6.3 InciResolusi 1080 x 2340 pxSnapdragon 665OS Android 9Pie, MIUI 11RAM 4 GBTampilan 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, processor dengan clock speed 1.4 GHz dan RAM 3 GB. Aplikasi juga dapat berjalan lancar pada RAM 2 GB.KESIMPULANBeberapa kesimpulan yang dapat diambil pada penelitian ini berdasarkan pengujian aplikasi untuk mengenali ras kucing berbasis android menggunakan metode Convolutional Neural Network antara lain: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%.Hasil dari pengujian klasifikasi bergantung pada kondisi cahaya pada objek yang di scan.Aplikasi ini sudah berhasil dibuat menggunakan Android Studio 3.6.2 dan dapat dijalankan pada smartphone dengan minimum versi Android Marshmallow.DAFTAR PUSTAKAThe International Cat Association, “About TICA”, (Online, diakses pada 2 Juni 2020)The International Cat Association, “All Breeds”, (Online, diakses pada 2 Juni 2020)Suwed, M.A. and Napitupulu, R.M., 2011. Panduan Lengkap Kucing. Penebar Swadaya Grup. Susanty, Y., 2004. Memilih dan merawat kucing kesayangan. AgroMedia. Kucing Kita, Toyger, (Online, diakses pada 25 Juni 2020)Altarra, Kucing Bombay, (Online, diakses pada 25 Juni 2020)PUTRA, Firmansyah Iskandar. Aplikasi tutorial perawatan kucing berbasis android.?JATI (Jurnal Mahasiswa Teknik Informatika), 2017, 1.2: 191-195. (Online, diakses pada 14 Juni 2020)Google. “Android Studio”, (Online, diakses pada 14 Juni 2020)HERNAWAN, Adam.?APLIKASI PENGENALAN PROFIL NEGARA-NEGARA DI ASIA BERBASIS AUGMENTED REALITY. 2019. PhD Thesis. Universitas Siliwangi. (Online, diakses pada 14 Juni 2020)Handaru Jati, S.T. and MM, M., PENGEMBANGAN APLIKASI HISTOROID BERBASIS ANDROID SEBAGAI MEDIA PEMBELAJARAN SEJARAH SISWA SMA. 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.Tensorflow, “TensorFlow Lite”, (Online, diakses pada 6 Juni 2020)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.Ahmad, A., 2017. Mengenal artificial intelligence, machine learning, neural network, dan deep learning. (Online, diakses pada 20 Juni 2020)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). (Online, diakses pada 9 Juli 2020)Putra, I.W.S.E., 2016.?Klasifikasi citra menggunakan convolutional neural network (CNN) pada caltech 101?(Doctoral dissertation, Institut Teknologi Sepuluh Nopember). (Online, diakses pada 4 Juni 2020).Rian Adam, MENGENAL GOOGLE COLAB, (Online, diakses pada 14 Juni 2020)Dede Brahma, Cara Menggunakan Google Colaboratory, . (Online, diakses pada 14 Juni 2020)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). 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. J. T. Springenberg, A. Dosovitskiy, T. Brox and M. Riedmiller, "Striving For Simplicity: The All Convolutional Net," ICLR 2015, 2015.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 ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download