KLASIFIKASI PENYAKIT PADA DAUN MANGROVE MENGGUNAKAN METODE MOBILENET SSD BERBASIS MOBILE SECARA REAL TIME
SKRIPSI
MUHAMMAD RAIHAN 161402066
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2021
KLASIFIKASI PENYAKIT PADA DAUN MANGROVE MENGGUNAKAN METODE MOBILENET SSD BERBASIS MOBILE SECARA REAL TIME
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi
MUHAMMAD RAIHAN 161402066
PROGRAM S1 STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 202
ii
PERNYATAAN
KLASIFIKASI PENYAKIT PADA DAUN MANGROVE MENGGUNAKAN METODE MOBILENET SSD BERBASIS MOBILE SECARA REAL TIME
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 1 Juni 2021
Muhammad Raihan
UCAPAN TERIMA KASIH
Puji dan syukur penulis panjatkan ke hadirat Allah SWT, karena berkat rahmat dan karunia-Nya penulis dapat menyelesaikan skripsi sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Teknologi Informasi Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Ucapan terima kasih juga penulis ucapkan kepada seluruh pihak yang terlibat serta telah membantu penulis dalam menyelesaikan skripsi baik. Pada kesempatan ini penulis ingin mengucapkan terima kasih kepada:
1. Keluarga penulis, Ayahanda Raja Inal Siregar dan Ibunda Asmahan Abdul Razzak yang tidak pernah lelah merawat, memberikan semangat, mendoakan, membesarkan, memberikan ilmu, memberikan dukungan moral yang tiada batasnya. Kepada kakak penulis, Eva Soraya Murtaza dan abang ipar penulis, Benny Saputra yang menjadi penyemangat, pelengkap dan sekaligus teman dalam setiap waktu.
2. Bapak Romi Fadillah Rahmat, B.Comp.Sc.,M.Sc. selaku Dosen Pembimbing 1 dan Ibu Sarah Purnamawati ST., MSc. selaku Dosen Pembimbing 2 yang telah memberikan penulis ilmu, kritik yang membangun, saran, dukungan, motivasi, dan juga bimbingan yang tidak ternilai harganya.
3. Ibu Dr. Maya Silvi Lydia B.Sc., M.Sc. selaku Dekan Fasilkom-TI Universitas Sumatera Utara.
4. Bapak Romi Fadillah Rahmat, B.Comp.Sc.,M.Sc., selaku Ketua Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.
5. Ibu Sarah Purnamawati, ST., MSc., selaku Sekretaris Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.
6. Seluruh Dosen Program Studi S1 Teknologi Informasi yang telah memberikan ilmu yang bermanfaat bagi penulis selama masa perkuliahan.
7. Pegawai dan staff Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara yang mendukung segala urusan administrasi selama menyelesaikan skripsi.
iv
8. Teman-teman seperjuangan hidup dan perkuliahan Beta Tester, Alisiraj Fachreza Siregar, Muhammad Teguh Syahvira Nasution, Muhammad Ramzi Khauri, Riki Ramadhan Syahputra, Bayu Prasetyo, Fahdi Saidi Lubis, Hadhe Panji Kastowo, Muhammad Fadli Lubis yang telah memberikan semangat, dukungan dan bantuan tiada henti kepada penulis serta sebagai tempat berkeluh kesah selama masa perkuliahan.
9. Teman-teman dari masa SMA hingga sekarang Pahlevi Zamzam Roza Harahap, Muhammad Rizki Apriyandi Norfauzan Saragih, yang selalu mendengarkan curhatan hidup dan selalu ada saat dibutuhkan.
10. Teman-teman dan mantan yang selalu setia menyemangati dan mengingatkan untuk mengerjakan skripsi, Febry Muharayani, Feby Morr, Shinta Alifah, Afriyillah.
11. Rekan-rekan kerja WBA Indonesia, bang Ahmad Najam, bang Bayu Asmara, bang Muhammad Irvan Ridho, bang Ahmad Zaki, yang selalu menyemangati dan membimbing penulis dalam menyelesaikan skripsi dan pekerjaan.
12. Kepada senior, junior dan teman 1 angkatan yang telah membantu penulis dalam menyelesaikan tugas akhir serta membantu penulis selama masa perkuliahan yang namanya tidak bisa penulis sebutkan satu persatu.
Penulis menyadari bahwa skripsi ini masih terdapat kekurangan. Oleh karena itu, penulis mengharapkan kritik dan saran untuk penyempurnaan skripsi ini.
Medan, 1 Juni 2021
Penulis
ABSTRAK
Tanaman Mangrove merupakan sebuah komunitas tumbuhan di daerah pantai atau daerah pasang surut, mangrove atau yang sering dikenal sebagai tanaman bakau merupaka wilayah ekosistem pantai yang mempunyai karakter yang unik, serta memiliki potensi kekayaan hayati. Seperti layaknya makhluk hidup pada umumnya yang memiliki penyakit, tanaman mangrove juga memiliki penyakit pada daunnya, seperti yang akan diteliti pada penelitian ini. Daun mangrove bisa terkena penyakit karena serangan hama, namun dampak dari serangan hama tersebut akan berbeda tergantung dari hama jenis apa yang menyerangnya. Pada umumnya hama yang menyerang daun mangrove akan mengakibatkan banyak penyakit pada daunnya, salah satunya daun rusak dan daun berulat, namun sangat sulit membedakan kedua penyakit tersebut karena memiliki persamaan atau ciri-ciri yang sangat serupa. Oleh karena itu, untuk menyelesaikan persamalahan tersebut, dengan memanfaatkan metode MobileNet SSD sebagai Langkah awal untuk membantu membedakan jenis penyakit daun apakah daun tersebut daun rusak atau daun berulat secara realtime. Dengan menggunakan metode MobileNet SSD, penelitian ini mendapatkan tingkat akurasi 93,4% dari total 1390 data.
Kata Kunci: Hutan Mangrove, Penyakit Daun, Tensorflow Lite, MobileNet SSD
vi
ABSTRACT
Mangrove is a plant community or an individual plant species that forms a community in tidal areas, mangrove forest or often called mangrove forest is part of a coastal ecosystem area that has unique and distinctive characters, and has potential for biological wealth. Like living things in general that have disease, mangrove plants also have diseases on their leaves, as will be investigated in this study. Mangrove leaves can be affected by diseases due to pests, but the impact of these pests will be different depending on what kind of pests attack them. In general, pests that attack mangrove leaves will cause many diseases on the leaves, one of which is damaged leaves and caterpillar leaves, but it is very difficult to distinguish the two diseases because they have similarities or very similar characteristics. Therefore, to solve this problem, using the MobileNet SSD method as a first step to help distinguish the type of leaf disease, whether the leaf is damaged or caterpillar leaves in real time. By using the MobileNet SSD method, this study obtained an accuracy rate of 93.4% from a total of 1390 data.
Keywords: Mangrove Forest, Leaf Disease, Tensorflow Lite, MobileNet SSD
DAFTAR ISI
PERSETUJUAN Error! Bookmark not defined.
PERNYATAAN ii
UCAPAN TERIMA KASIH iii
ABSTRAK v
ABSTRACT vi
DAFTAR ISI vii
DAFTAR TABEL ix
DAFTAR GAMBAR x
BAB 1 1
PENDAHULUAN 1
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Tujuan Penelitian 2
1.4 Batasan Masalah 2
1.5 Manfaat Penelitian 3
1.6 Metodologi Penelitian 3
1.7 Sistematika Penulisan 4
BAB 2 7
LANDASAN TEORI 7
2.1 Mangrove 7
2.2 Penyakit Daun Mangrove 7
2.3 MobileNet 8
2.4 Single Shot Multibox Detector (SSD) 9
2.5 Tensorflow Lite 9
2.6 Penelitian Terdahulu 10
BAB 3 14
ANALISIS DAN PERANCANGAN SISTEM 14
3.1 Data yang digunakan 14
3.2 Analisis Sistem 16
3.2.1 Pre-Processing 17
3.2.2 Image Classification 22
3.2.3 Learned Model 23
viii
3.2.4 TF Lite Model 23
3.2.5 Proses testing 24
3.2.6 Output 24
3.3 Perancangan Antarmuka Sistem 24
BAB 4 26
IMPLEMENTASI DAN PENGUJIAN SISTEM 26
4.1 Implementasi Sistem 26
4.1.1 Perangkat Keras Error! Bookmark not defined.
4.1.2 Implementasi Data 27
4.1.3 Implementasi Perancangan Antarmuka 28
4.3 Pengujian Sistem 29
BAB 5 46
KESIMPULAN DAN SARAN 46
5.1 Kesimpulan 46
5.2 Saran 46
DAFTAR PUSTAKA 48
DAFTAR TABEL
Tabel 2.1 Ukuran Parameter dan Komputasi pada Depthwise Separable Convolution. 8
Tabel 2. 2 Penelitian Terdahulu 11
Tabel 3.1 Jumlah data latih dan data uji 15
Tabel 4.1 Hasil pengujian identifikasi penyakit daun mangrove 30
Tabel 4.2 Confusion Matrix 44
x
DAFTAR GAMBAR
Gambar 2.1. Hutan mangrove 7
Gambar 2. 2 Alur Kerja MobileNet 8
Gambar 3.1 Contoh data citra daun rusak 14
Gambar 3.2 Contoh Citra Daun Berulat 15
Gambar 3. 3 Arsitektur Umum 16
Gambar 3.4 Contoh citra data sebelum (kiri) dan setelah di resize (kanan) 17 Gambar 3.5 Membuka directory gambar untuk mengambil data yang akan di label 18
Gambar 3.6 Memberi label pada objek 19
Gambar 3.7 Nama label akan tersimpan sebagai xml 19
Gambar 3.8 Data xml yang sudah di convert menjadi csv 20
Gambar 3.9 Rancangan awal antar muka aplikasi 25
Gambar 4. 1 Data penyakit daun rusak pada daun mangrove 27 Gambar 4. 2 Data penyakit daun berulat pada daun mangrove 28
Gambar 4. 3 Tampilan Utama 28
Gambar 4. 4 Tampilan Halaman Utama 29
BAB 1 PENDAHULUAN
1.1 Latar Belakang
Hutan Mangrove yang biasa disebut juga hutan payau atau hutan bakau ini tumbuh diatas substrat yang dialiri campuran air laut dan air tawar. Hutan Mangrove juga merupakan bentuk ekosistem yang unik, dikarenakan sebagian tanaman ini dapat ditemukan di seluruh garis pantai yang tanah nya bertekstur lumpur . sampai dengan saat ini spesies tanaman mangrove yang sudah diketahui spesiesnya di Indonesia ada sekitar 202 jenis spesies. Salah satunya yang bernama Avicennia marina yang hidup di pesisir pantai Indonesia(Noor et al., 2006).
Tanaman mangrove juga memiliki kegunaan yang cukup berperan untuk kelangsungan pantai. Antara lain untuk penyambang serta penyeimbang pantai. Sebagai tanaman yang hidup di pesisir pantai, nutrisi yang terdapat pada tanaman mangrove ini akan dialirkan atau diteruskan ke lautan dan daratan. Dilihat dari sudut pandang ekonomi, tanaman ini sangat berperan bagi masyarakat pesisir dalam kegiatan ekonominya (Strategi Nasional Mangrove, 2003). Dan jika dilihat dari segi ekologis, tanaman mangrove ini juga sangat berguna untuk daerah pembesaran dan pemijahan segala jenis hewan (Sediadi, 1991). Selain itu, bagian-bagian tanaman mangrove yang jatuh seperti ranting, daun, dan sebagainya akan berguna untuk bahan makanan hewan(Zamroni & Rohyani, 2008).
Perubahan karakter yang paling menonjol di tanaman mangrove terletak pada daunnya. Daun mangrove sendiri dapat mengalami perubahan fisik tergantung pada kondisi tanamannya (Nurakhman, 2002).
Penelitian terdahulu yang pernah dilakukan terkait penyakit pada daun adalah
“Automatic Grape Leaf Diseases Identification via UnitedModel Based on Multiple Convolutional Neural Networks”. Penelitian ini dilakukan untuk mengidentifikasi penyakit pada daun anggur dengan menggunakan model UnitedModel (Miaomiao et al., 2019).
Ada pula penelitian tentang “Smart mobile application to recognize tomato leaf diseases using Convolutional Neural Networks” penelitian ini juga dilakukan untuk
2
mengindetifikasi penyakit pada daun tomat dengan menggunakan mobile atau smartphone. (Elhassouny & Smarandache, 2019). Ada pula penelitian tentang
“Identification of Diseases in Corn Leaves using Convolutional Neural
Networks and Boosting” penelitian ini mengindetifikasi penyakit pada tanaman jagung dengan akurasi 98%. (Bhatt P et al., 2019). Ada pula penelitian mengindentifikasi penyakit padi dengan judul “Identifikasi Penyakit Padi dan Hama Menggunakan Metode Convolutional Neural Network” pada penelitian ini peneliti mendapatkan akurasi 97,12% (Chowdhury et al., 2020). Ada pula penelitian yang meneliti penyakit pada daun teh dengan judul “Identifikasi Penyakit Daun Teh Menggunakan Improved Deep Convolutional Neural Network” pada penelitian ini peneliti mendapatkan akurasi 92,25%. (Gensheng et al., 2019).
Penelitian ini bertujuan untuk mengindetifikasi penyakit pada daun mangrove menggunakan metode MobileNet SSD Dengan harapan dapat menghasilkan sistem klasifikasi yang cepat dan akurat.
1.2 Rumusan Masalah
Saat ini untuk mendeteksi penyakit pada daun mangrove masih menggunakan website yang belum bekerja secara real time, sedangkan para petani atau masyarakat membutuhkan hasil yang cepat dan dengan keakuratan yang tinggi agar dapat mengetahui secara pasti penyakit apa yang ada pada daun mangrove tersebut. Oleh karena itu, diperlukannya suatu aplikasi yang bisa menampilkan data penyakit pada daun secara realtime agar bisa dengan mudah membantu para petani mengetahui penyakit pada daun tersebut.
1.3 Tujuan Penelitian
Tujuan dilkakukannya penelitian ini untuk menghasilkan sebuah aplikasi yang mampu mengklasifikasi penyakit pada daun Mangrove menggunakan metode MobileNet SSD berbasis android secara realtime.
1.4 Batasan Masalah
Batasan masalah yang terdapat di penelitian ini adalah:
a. Data uji dan latih diambil di wilayah Sumatera Utara.
b. Latar belakang citra masih terdapat objek lain seperti pasir, daun, serta tangan peneliti.
c. Spesies mangrove dan penyakitnya yang didapat masih terbatas.
d. Klasifikasi yang dihasilkan berupa penyakit daun rusak dan daun berulat.
e. Jarak pengambilan saat klasifikasi terbatas, tidak bisa terlalu jauh atau pun terlalu dekat.
f. Kondisi cahaya tidak dapat terletak didepan kamera saat akan melakukan klasifikasi.
1.5 Manfaat Penelitian
Manfaat dilakukannya penelitian ini adalah:
a. Membantu para petani mendapatkan data yang dibutuhkan dengan cepat dan akurat.
b. Mempermudah para petani untuk mengetahui penyakit pada daun mangrove.
c. Membantu para petani untuk mengetahui mana daun yang terjangkit penyakit daun rusak ataupun penyakit daun berulat.
1.6 Metodologi Penelitian
Adapun tahap-tahap dalam penelitian ini adalah:
1. Studi Literatur
Pada tahap studi literatur ini merupakan proses pengumpulan data penyakit daun mangrove serta memahami bahan refrensi yang berkaitan dengan penelitian mengenai MobileNet SSD yang diperoleh dari sumber-sumber seperti artikel, buku, jurnal, skripsi, serta refrensi yang berhubungan dengan penelitian ini
2. Analisis Permasalahan
Pada tahap analisis permasalahan, akan menganalisis informasi yang didapat dari tahapan sebelumnya, agar peneliti dapat memahami mengenai metode yang digunakan yaitu MobileNet SSD untuk mengklasifikasi penyakit pada daun mangrove
3. Perancangan Sistem
4
Tahap ini merupakan alur rancangan arsitektur. Rancangan metode dan algoritma yang digunakan dari permasalahan analisi yang didapat pada tahap sebelumnya
4. Implementasi
Tahap ini merupakan implementasi yang didapat dari hasil analisis dalam bentuk codingan menggunakan bahasa python dan java
5. Pengujian
Pada tahap pengujian ini merupakan tahapan pengujian untuk dapat melihat tingkat akurasi yang diperoleh dari penerapan metode MobileNet SSD dan melihat apakah sistem ini dapat berjalan menggunakan teori, algoritma, serta tujuan yang sudah diterapkan dari penelitian ini.
6. Dokumentasi dan Penyusunan Laporan
Tahap ini merupakan tahapan untuk Menyusun dokumentasi serta laporan yang sudah dibuat agar dapat dengan mudah dipahami serta bisa dijadikan refrensi pada penelitian selanjutnya.
1.7 Sistematika Penulisan
Sistematika penulisan dari skripsi ini terdiri dari lima bagian utama sebagai berikut:
BAB 1. PENDAHULUAN
Pada bab pendahuluan akan berisi tentang latar belakang pilihan judul skripsi
“Klasifikasi Penyakit Pada Daun Mangrove Menggunakan Metode MobileNet SSD Berbasis Mobile Secara Real Time", rumusan masalah, tujuan penelitian, batasan masalah, manfaat penelitian, metodologi penelitian dan sistematika penulisan.
BAB 2. LANDASAN TEORI
Bab ini berisi teori mengenai MobileNet, SSD, Mangrove, Penyakit Daun, Tensorflow Lite, Android Studio dan pada penelitian yang telah dilakukan dahulu.
BAB 3. ANALISIS DAN PERANCANGAN SISTEM
Bab ini membahas tentang analisis arsitektur umum dari metode MobileNet-SSD yang digunakan pada Citra daun untuk mengklasifikasi penyakit pada daun mangrove menjadi 2 clasess.
BAB 4. IMPLEMENTASI DAN PENGUJIAN SISTEM
Pada bab ini akan membahas soal implementasi sistem yang sudah dirancang untuk memaparkan hasil dari pengujian sistem.
BAB 5. KESIMPULAN DAN SARAN
Pada bab ini akan membahas tentang kesimpulan beserta saran yang dapat digunakan untuk penelitian selanjutnya.
BAB 2
LANDASAN TEORI
2.1 Mangrove
mangrove atau yang dikenal juga sebagai tanaman bakau mempunyai karakter yang unik, dimana tanaman ini memiliki akar yang melengkung serta pohon yang jumlahnya relative sedikit. Ekosistem yang dimiliki tanaman mangrove cukup kompleks, dikarenakan hutan mangrove ini menjadi habitat para satwa (kusmana,2010).
Gambar 2.1. Hutan mangrove
Daun mangrove merupakan salah satu bagian dari tumbuh-tumbuhan yang memiliki berbagai manfaat yang salah satunya adalah sebagai bahan makanan, pakan ternak, bahan obat-obatan seperti untuk sakit paru-paru, batuk, bahkan kanker. Daun mangrove juga memiliki karateristik yang mampu mengandung air serta memiliki jaringan internal dan kandungan garam yang tinggi (Nybakken,1998).
2.2 Penyakit Daun Mangrove
Penyakit pada daun mangrove terbagi dari 2 penyakit, yaitu daun rusak, dan daun yang terkena hama. Daun rusak dapat ditandai dengan adanya bercak atau lubang pada daun.
Sedangkan daun yang terkena hama mempunyai gejala yang hampir sama dengan daun rusak, namun dibelakang daun yang terkena hama terdapat adanya kepompong ulat
yang berbentuk kerucut. Penyebab penyakit pada daun mangrove ini juga disebabkan oleh serangan serangga.
Khusunya di kawasan Asia Tenggara ada beberapa jenis hama dari ordo Lepidoptera yang bisa menyerang tanaman mangrove, antara lain Streblote lipara, Zeuzera conferta, Bagworms, dan Leaf miners (Su Ping et al., 2010). Hama-hama tersebut akan menyerang buah, daun dan batang pada tanaman mangrove.
2.3 MobileNet
MobileNet adalah metode yang termasuk dalam salah satu bagian arsitektur Convolutional Neural Network yang biasa digunakan untuk komputasi berlebih.
MobileNet sendiri dibangun oleh para peneliti untuk kebutuhan memasukkan arsitektur CNN ke dalam ponsel. Perbedaan diantara kedua arsitektur MobileNet dan CNN ini terletak pada penggunaan layernya. MobileNet juga terbagi menjadi 2 konvolusi yaitu pointwise convolution dan depthwise convolution. Arsitektur MobileNet memanfaatkan Batch Normalization (BN) dan Reactified-Linier unit (ReLU) untuk depthwise convolution dan pointwise convolution. MobileNet dibangun di atas arsitektur jaringan yang efisien dengan menggunakan konvolusi yang dapat dipisahkan secara mendalam untuk menghasilkan Deep Neural Network yang ringan.
Gambar 2. 2 Alur Kerja MobileNet
DSC menyebabkan jalur konvolusi menjadi jauh lebih efesien dengan menggunakan parameter yang jauh lebih sedikit. Penggunaan parameter dan daya komputasi dapat dilihat pada Tabel 2.
Tabel 2.1 Ukuran Parameter dan Komputasi pada Depthwise Separable Convolution
9
Reduksi ukuran komputasi yang didapat adalah sebaga berikut :
𝐹 × 𝐹 ×𝐷𝑀 × 𝐷𝑀 ×𝐶1 + 𝐶1× 𝐶2× 𝐷𝑁× 𝐷𝑁 𝐹 ×𝐹 × 𝐷𝑀 × 𝐷𝑀 × 𝐶1 × 𝐶2× 𝐷𝑁 = 1
𝑁 + 1
𝐹2 (2.1)
Dengan begitu, maka reduksi parameter menjadi :
𝐹 × 𝐹 × 𝐶1 + 1 ×1 ×𝐶1× 𝐶2
𝐹 ×𝐹 × 𝐷𝑀 × 𝐷𝑀 × 𝐶1 × 𝐶2× 𝐷𝑁 = 1
𝐶2 + 1
𝐹2 (2.2)
Model Deep Learning pada penelitian ini menggunakan konvolusi 3x3 dan mampu menghemat daya komputasi dan ukuran model hingga 9 kali lebih efesien (Zhang et al., 2017)
2.4 Single Shot Multibox Detector (SSD)
Perbedaan utama antara pelatihan detektor klasik seperti R-CNN dengan pelatihan SSD adalah detektor objek klasik menggunakan proposal wilayah dan metode SSD menggunakan data groundtruth yang harus ditetapkan untuk hasil yang ditentukan dalam rangkaian hasil detektor yang jelas. Setelah penugasan ini ditentukan, loss function dilakukan dari ujung ke ujung. Metode SSD melakukan pencocokan terhadap objek dengan default bounding box melalui beragam skala dan rasio untuk setiap feature map location. Setiap elemen dari feature map memiliki sejumlah kotak yang saling berhubungan. Setiap bounding box dengan IoU lebih besar dari 0,5 dianggap cocok terhadap objek dan akan diproses.
2.5 Tensorflow Lite
Tensorflow Lite merupakan sebuah library yang berguna untuk membantu developer sehingga mampu menjalankan mode Tensorflow pada perangkat mobile. Tensorflow Lite akan memanggil sebuah model Tensorflow yang sudah dibuat sebelumnya dan akan diubah kedalam format tflite.
2.6 Penelitian Terdahulu
Pada penelitian ini, belum pernah dilakukannya penelitian terhadap penyakit pada daun mangrove, namun beberapa peneliti banyak yang melakukan penilitian terhadap penyakit pada daun tumbuhan serta sayur sayuran, seperti yang diteliti oleh (Bhatt P et al., 2019) terkait “Identification of Diseases in Corn Leaves using Convolutional Neural Networks and Boosting”. Pada penelitian ini melalui system yang diusulkan memanfaatkan metode CNN peneliti mendapatkan akurasi 98% dengan skor klasifikasi {precision, recall, f1-score} = {0.97, 0.98, 0.97}.
Selanjutnya pada penelitian (Miaomiao et al., 2019) terkait “Identifikasi Penyakit Daun Anggur Otomatis Menggunakan UnitedModel Mutiple Convolutional Neural Network”. Berdasarkan penelitian ini peneliti telah mengembangkan solusi efektif untuk identifikasi penyakit pada daun anggur menggunakan UnitedModel yang merupakan gabungan arsitektur dari CNN. Gambar daun anggur akan dibagi menjadi 4 kelas, termasuk 3 gambar gejala yang berbeda yaitu busuk hitam, esca, bercak daun isariopsis, dan gambar daun yang sehat. Akurasi dari metode ini mencapai rata-rata akurasi validasi 99,17% dan akurasi uji 98,57%.
Selanjutnya pada penelitian oleh (Chowdhury et al., 2020) terkait Identifikasi Penyakit Padi dan Hama Menggunakan Metode Convolutional Neural Netwok. Pada penelitian ini dibagi 2 arsitektur, dimana arsitektur pertama untuk skala besar seperti VGG16 dan InceptionV3. Dan yang kedua arsitektur untuk perangkat mobile dengan menggunakan model seperti MobileNet, Nasnet Mobile, dan SqueezeNet. Tingkat akurasi pada penelitian ini mencapai 97,12%.
Selanjutnya pada penelitian yang dilakukan (Gensheng et al., 2019) terkait Identifikasi Penyakit Daun Teh Menggunakan Improved Deep Convolutional Neural Network. Dalam penelitian ini peneliti menggunakan modul ekstraksi yang ditambahkan ke DCNN yang lebih baik dari model CIFAR10 untuk meningkatkan kemampuan secara otomatis mengekstrak daun teh yang berpenyakit. Akurasi pada penelitian ini mencapai 92,25%
Selanjutnya pada penelitian yang dilakukan oleh (Sharma et al., 2019) terkait Analisis Kinerja Model Pembelajaran CNN untuk Mendeteksi Penyakit yang Mendalam pada Tanaman Menggunakan Image Segmentation. Dalam penelitian ini peneliti melakukan penelitian untuk meningkatkan metode yang dilakukan para peneliti sebelumnya dari FCNN menjadi SCNN, menurut peneliti, SCNN mendapatkan akurasi mencapai 98,6%.
11
Selanjutnya pada penelitian yang dilakukan oleh (Azeddine & Florentine, 2019) terkait
“Smart Mobile Application to Recognize Tomato Leaf Disease Using Convolutional Neural Network”. Dalam penelitian ini peneliti membuat model yang terinspirasi dari MobileNet Model CNN yang dimana bisa membuat akurasi dari penelitian ini jauh meningkat. Peneliti juga mengupulkan data sebanyak 7176 gambar daun tomat untuk di training. Serta akurasi yang didapat dari penelitian ini 88,4% .
Penelitian terdahulu yang telah dijelaskan diatas dapat dilihat pada Tabel 2.2.
Tabel 2. 2 Penelitian Terdahulu No Peneliti,
Tahun
Metode/Teknik Keterangan
1 (Miomiao ji et.al 2019)
Convolutional Neural Network (CNN)
Peneliti menggunakan metode terintegrasi UnitedModel yang dirancang untuk membedakan daun dengan penyakit anggur yang umum seperti bercak hitam, dan bercak daun esca. Serta memiliki akurasi 98,57%
2 (Chowdhury et al., 2020)
Convolutional Neural Network (CNN).
Peneliti menggunakan 2 arsitektur, untuk skala besar dan untuk perangkat mobile. serta mendapatkan akurasi 97,12%
3 (Bhatt et al., 2019)
Convolutional Neural Network (CNN).
Penelitian ini menggunakan data sebanyak 2000 citra dengan score klasifikasi {precision, recall, f1- score} = {0.97,0.98,0.97} dan mendapatkan akurasi 98%
4 (Gensheng et al., 2019)
Deep Convolutional Neural Network (DCNN).
Penelitian ini menggunakan model CIFAR10-quick model, dan mendapatkan akurasi 92,25%
5 (Sharma et al., 2019)
Convolutional Neural Network (CNN).
Penelitian ini membandingkan 2 model F-CNN dan S-CNN dan mendapatkan akurasi yang awalnya 42,3% menjadi 98,6%
6 (Azeddine &
Florentin, 2019)
Convolutional Neural Network (CNN).
Penelitian ini menggunakan data sebanyak 7176 data dan mendapatkan akurasi 88,4%.
Perbedaan penelitian yang dilakukan oleh (Miaomiao et al., 2019) dengan (Chowdhury et al., 2020) terletak pada metode penelitiannya, dimana penelitian (Miaomiao et al., 2019) menggunakan metode UnitedModel Multiple Convolutional Neural Network yang dimana metode ini sebenarnya adalah gabungan dari metode Convolutional Neural Network itu sendiri. Sedangkan penelitian yang dilakukan (Chowdhury et al., 2019) menggunakan metode CNN biasa namun penelitiannya di implementasikan ke perangkat mobile menggunakan 3 metode, yaitu MobileNet, Nasnet Mobile, dan Squeeze Net.
Selanjutnya, perbedaan pada penelitian (Bhatt et al., 2019) dengan (Gensheng et al., 2019) terletak pada metodenya juga, yang dimana pada penelitian (Bhatt et al., 2019) menggunakan metode Contvolutional Neural Network, sendangkan penelitian (Gensheng et al., 2019) menggunakan metode Deep Convolutional Neural Network.
Dan pada penelitian (Gensheng et al.,2019) juga menggunakan model CIFAR10-quick.
Sedangkan, perbedaan keseluruhan dari penelitian terdahulu dengan penelitian ini terletak dari objek yang di teliti, seperti pada yang dilakukan oleh (Miaomiao et al., 2020) peneliti tersebut meneliti penyakit pada daun anggur, dan (Bhatt et al., 2019) meneliti penyakit pada tanaman jagung, dan (Gensheng et al., 2019) meneliti penyakit pada daun teh. Sedangkan yang objek yang diteliti pada penelitian ini adalah mengklasifikasi penyakit pada daun mangrove. Perbedaan juga terletak pada metode
13
penelitian yang digunakan, dimana rata-rata penelitian terdahulu menggunakan metode Convolutional Neural Network (CNN) dan Deep Convolutional Neural Network (DCNN). Sedangkan pada penelitian ini, peneliti menggunakan metode MobileNet SSD karena penelitian ini akan di implementasikan pada perangkat mobile android.
Hasil akurasi yang diperoleh pada penelitian terdahulu yang sama sama menggunakan mobile seperti yang diteliti oleh (Azeddin & Florentin, 2019) sebesar 88,4 %, yang dimana penelitian ini meneliti penyakit pada daun tomat menggunakan metode Convolutional Neural Network. Sedangkan pada penelitian ini akurasi yang berhasil diraih sebesar 93,1 % dengan menggunakan metode MobileNet SSD.
Kelebihan dan kekurangan penelitian ini dengan penelitian terdahulu dapat dilihat dari hasil implementasi yang didapat. Dimana pada penelitian terdahulu belum menggunakan perangkat mobile dan masih menggunakan website, dan kelebihan dari penelitian ini juga dapat dilihat dari hasil akurasi yang lebih tinggi dari penelitian terdahulu yang sama-sama menggunakan perangkat mobile juga. Kelebihan pada penelitian ini juga penelitian ini mampu mengklasifikasi penyakit pada daun mangrove secara realtime. Sedangkan kekurangan dari penelitian ini terletak pada hasil akurasi yang masih tergolong rendah yaitu hanya 93,1 % dan kelemahan pada penelitian ini juga masih bisa di impelementasikan pada perangkat android.
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Data yang digunakan
Data yang digunakan pada penelitian ini adalah berupa citra daun mangrove dengan format file JPG yang diperoleh dari Pantai Wisata Mangrove di Kecamatan Perbaungan Kabupaten Serdang Bedagai Sumatera Utara. Data citra daun mangrove diambil menggunakan kamera pada perangkat Samsung Galaxy S9 dengan spesifikasi sebagai berikut :
1. Chipset Exynos 9810 .
2. OS Android 10 (Quince Tart).
3. RAM 4 GB.
4. Kamera Belakang 12 MegaPixel.
Pengambilan data dilakukan dengan rentang jarak 7-45 cm, dengan jarak terdekat dari kamera sekitar 7 cm dan jarak terjauh sekitar 45 cm. Pengambilan data dilakukan dengan tidak menghadap ke sumber cahaya untuk hasil yang lebih optimal, Sehingga jarak dan cahaya cukup berpengaruh pada tingkat akurasi saat sistem ini diimplementasikan.
Terdapat dua penyakit pada daun yang digunakan pada penelitian ini yaitu penyakit daun rusak dan penyakit daun berulat yang berjumlah 1390 data citra.
Contoh dari data citra yang diperoleh dapat dilihat pada Gambar 3.1 dan Gambar 3.2.
Gambar 3.1 Contoh data citra daun rusak
15
Gambar 3.2 Contoh Citra Daun Berulat
Dari total 1390 jumlah data citra, terdapat 653 data penyakit dan rusak dan 463 data penyakit daun berulat. Pembagian data tersebut dapat dilihat pada Tabel 3.1.
Tabel 3.1 Jumlah data latih dan data pengujian
Dataset Data Pelatihan Proses Pengujian
Daun Rusak 807 154
Daun Berulat 583 120
Jumlah Seluruh
Data 1390 274
Pemabagian dataset menjadi data latih bertujuan untuk melatih tingkat akurasi dengan merubah parameter yang ada untuk menyesuaikan dengan data yang diberikan sehingga dapat memahami informasi-informasi pada data tersebut. Sedangkan, data uji bertujuan untuk melakukan pengujian terhadap performa algoritma yang telah dilatih.
Tetapi data pengujian sendiri tidak diambil dari jumlah dataset, dikarenakan penelitian ini realtime, sehingga data pengujian langsung diambil saat implentasi ke objeknya langsung.
3.2 Analisis Sistem
adapun proses klasifikasi yang dilakukan pada penelitian ini memiliki beberapa tahap.
Beberapa tahapannya yaitu Image Pre-Processing, Image Classification menggunakan MobileNet SSD, convert to TFLite, dan output yang dihasilkan dari penyakit pada daun mangrove berupa daun rusak atau daun berulat. Tahapan diatas dapat dilihat di arsitektur umum pada Gambar 3.3.
Gambar 3. 3 Arsitektur Umum
Data Training
Testing
Resizing Images Image Acquisition
Labeling Images
Convert
Image Pre-Processing
MobileNet SSD
Image Classification
TFLite Model Learned Model
Hasil Klasifikasi Penyakit Daun
Mangrove Output Data Training
Testing
17
3.2.1 Pre-Processing
Sebelum memasuki proses klasifikasi, data penyakit daun mangrove perlu dilakukannya proses pre-processing yang dimana proses ini akan melewati 3 tahap yaitu
3.2.1.1 Resizing Images
Pada tahap ini, dilakukannya Resizing Images pada data daun mangrove menjadi 640 x 640. Dikarenakan saat data diambil, hasil gambar memiliki ukuran 1440 x 2560 atau 16:9 dikarenakan data diambil menggunakan ponsel. Maka dari itu, data yang diambil harus di resize terlebih dahulu agar nantinya data yang dimiliki bisa masuk kedalam TF-Lite Model.
Gambar 3.4 Contoh citra data sebelum (kiri) dan setelah di resize (kanan) Kemudian, Langkah-langkah dalam proses Resizing Image dapat dilihat pada pseudocode berikut.
Langkah pertama yang dilakukan adalah mengambil data dari folder path data_train yang berisi data yang akan di resize. Kemudian data yang sudah diambil tersebut akan di resize menjadi ukuran 1:1 atau 640x640 menggunakan OpenCV untuk meringankan
saat proses training data. Kemudian hasil data yang sudah di resize akan dimasukkan kedalam path folder bernama train.
3.2.1.2 Labeling Images
Pada tahap ini, setelah data berhasil di resize, selanjutnya akan dilakukan proses Labeling Images menggunakan aplikasi LabelImg yang berfungsi untuk memberikan label kalsifikasi pada citra berdasarkan penyakitnya. Hasil pelabelan tersebut akan tersimpan dalam format xml. Informasi yang terdapat dalam file tersebut berupa koordinat label pada citra dan nama label yang nantinya akan berguna pada proses selanjutnya. Contoh proses Labeling Images menggunakan aplikasi LabelImg dapat dilihat pada gambar 3.5, gambar 3.6 dan gambar 3.7.
Gambar 3.5 Membuka directory gambar untuk mengambil data yang akan di label
19
Gambar 3.6 Memberi label pada objek
Gambar 3.7 Nama label akan tersimpan sebagai xml
Gambar 3.5 menjelaskan proses bagaimana kita mengambil folder tempat dimana data kita berada, yang kemudian dilanjutkan di gambar 3.6 saat gambar berhasil dibuka, akan dilanjutkan dengan proses labeling objek, dan memberi nama label pada objek. Hal ini nantinya akan berguna untuk mengenali nama dari hasil klasifikasi. Kemudian dilanjutkan dengan gambar 3.7 setelah gambar di save, akan memunculkan nama label
dan xmlnya yang telah dibuat. Dan hasil xml yang sudah dibuat dapat dilihat di folder yang sama dimana data tersebut diambil.
3.2.1.3 Convert TF Records
Pada tahap ini, setelah data selesai di label, proses selanjutnya yaitu melakukan proses Convert TF Record dimana data yang sudah selesai di label akan di convert menjadi file berformat Tensorflow Record File (TFRecord). Seluruh data xml dan citra yang telah kita dapatkan dari proses sebelumnya akan di convert menjadi file TFRecord dengan nama train.record. namun sebelumnya, seluruh data xml akan diconvert terlebih dahulu ke dalam format csv seperti yang dapat dilihat pada gambar 3.8.
Gambar 3.8 Data xml yang sudah di convert menjadi csv
Kemudian data csv inilah yang nantinya akan di convert lagi ke TFRecord. TFRecord menyimpan data sebagai urutan string biner yang berguna untuk mengurangi besarnya data yang digunakan dan mempercepat performa pipeline.
Langkah-langkah proses convert ke TFRecord dapat dilihat pada pseudocode berikut.
21
Langkah Langkah yang dilalui saat mengconvert yaitu image yang akan di proses akan dipanggil melalui path dimana folder image berada, kemudian menyimpan berapa tinggi dan lebar dari gambar tersebut serta menghitung koordinat label yang sudah dibuat sebelumnya, yang kemudian akan disimpan dalam file bernama tfrecord.
3.2.2 Image Classification
Pada tahap ini file yang sudah terbagi sebelumnya akan dimasukkan ke dalam model MobileNet SSD untuk diklasifikasi. SSD akan berperan untuk mengatur pendeteksian objek melalui bounding box, sedangan MobileNet akan berperan untuk mengklasifikasi objek yang sudah terdeteksi.
3.2.2.1 Training Model
Pada tahap ini, sebelum memulai tahap training, pipeline yang ada dalam model MobileNet SSD v2 FPNLite 640x640 harus dikonfigurasi terlebih dahulu. Yang dimana didalam konfigurasi tersebut dapat mengatur berapa banyak epoch serta batch yang dibutuhkan saat men-training data.
Sebelum menkonfirgursi pipeline, pembuatan labelmap diperlukan sebagai label klasifikasi objek yang nantinya akan digunakan saat output di aplikasi. File tersebut bernama labelmap.txt yang berisi banyaknya kategori data yang dimiliki dari kategori sistem. Dalam penelitian ini file labelmap.txt berisi id 1 daun rusak dan id 2 daun berulat. Lalu sistem akan menilai setiap kelas dari objek daun mangrove menjadi 2 kategori yaitu daun rusak dan daun berulat.
Setelah pembuatan labelmap usai, selanjutnya mengkonfigurasi pipeline yang berisi berapa jumlah steps, batch size, serta epoch. Dan mengatur beberapa lokasi data seperti labelmap dan TFRecords. Lalu pipeline akan dijalankan di dalam anaconda untuk memulai proses training.
23
Proses training pada penelitian ini menggunakan metode MobileNet SSD serta Tensorflow. Proses training memerlukan waktu lebih kuran 8-9 jam dengan jumlah citra 1390 data.
3.2.3 Learned Model
Hasil dari training yang didapat pada proses sebelumnya akan menjadi sebuah file Bernama savemodel dengan format PB. PB merupakan singkatan dari protobuf pada tensorflow. File tersebut berisi weight(bobot) model hasil training dimana objek daun mempunyai 2 klasifikasi yaitu daun rusak dan daun berulat. Hasil klasifikasi data training akan menjadi learned model sebagai data latih. Nantinya output yang dihasilkan dari proses Image Classification disebut dengan learned model. Dan data tersebut akan di convert ke TFLite Model agar bisa digunakan ke dalam ponsel android.
3.2.4 TF Lite Model
Pada tahap ini, savedmodel yang sudah kita dapatkan pada proses sebelumya akan diubah menjadi Tensorflow Lite. Tensorflow Lite menyediakan framework untuk model tensorflow yang sudah dilatih untuk dikompresi dan diterapkan pada perangkat ponsel android agar nantinya model tersebut bisa masuk kedalam ponsel android.
3.2.5 Proses Pengujian
Tahap ini merupakan tahap pengujian yang sudah melewati tahap training. Proses ini dilakukan untuk mengetahui apakah sistem yang datanya sudah ditraining sebelumnya dapat mengklasifikasi objek menjadi 2 kategori, yaitu daun rusak dan daun berulat.
Serta untuk menghitung akurasi yang didapat setelah menggunakan metode MobileNet SSD.
3.2.6 Output
Output merupakan tahap terakhir dari dari sistem. Yang dimana pada tahap ini akan menampilkan boundingbox serta akurasi dari objek yang sedang disorot, dan mengklasifikasi apakah daun tersebut terjangkit penyakit daun rusak atau daun berulat.
3.3 Perancangan Antarmuka Sistem
Pada tahap ini menjelaskan tentang perancangan antarmuka sistem aplikasi klasifikasi penyakit pada daun mangrove yang bertujuan untuk memberikan gambaran umum dan memudahkan pengguna dalam mengoperasikan aplikasi. Sistem dalam aplikasi ini menggunakan aplikasi Tensorflow Lite sehingga hanya terdiri dari 1 tampilan utama saja. Pada tampilan utama ini aplikasi akan langsung mengklasifikasi objek saat diarahkan ke objek yang dituju beserta munculnya bounding box yang berisi informasi penyakit dari daun mangrove yang di sorot. Perancangan antar muka aplikasi dapat dilihat pada Gambar 3.5.
25
Gambar 3.9 Rancangan awal antar muka aplikasi
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
Proses implementasi klasifikasi penyakit pada daun mangrove menggunakan metode MobileNet SSD memerlukan beberapa perangkat pendukung untuk melakukan penelitian ini, yaitu :
4.1 Implementasi Sistem
Pada tahap ini, klasifikasi penyakit pada daun mangrove menggunakan metode MobileNet SSD memerlukan perangkat keras dan perangkat lunak, yaitu:
4.1.1 Spesifikasi Perangkat
Berikut spesifikasi yang diperlukan untuk training penelitian ini adalah:
1. Processor Intel Core i5-6200U CPU 2. RAM 4 GB
3. Windows 10 64 bit 4. Python versi 3.6.8
5. Library Bahasa pemrograman python, antara lain:
a. Pandas b. Numpy
c. Matplotlib.pyplot d. Keras dari Tensorflow e. Cython
f. Future g. Google API h. Keras Nightly i. Open CV j. Protobuff k. Pyqt5 l. Tensorflow m. Tensorflow Lite 6. Android studio
27
Berikut spesifikasi perangkat mobile yang digunakan pada penelitian ini 1. Chipset Exynos 9810 .
2. OS Android 10.0 (Quince Tart).
3. RAM 4 GB.
4. Resolusi Kamera Belakang 12 MegaPixel.
4.1.2 Implementasi Data
Citra data daun mangrove yang diperoleh menggunakan Samsung Galaxy S9 ini dibagi menjadi 2 jenis klasifikasi, yaitu daun rusak dan daun berulat. Beberapa contoh data pada masing-masing jenis klasifikasi dapat dilihat secara berurut pada Gambar 4.1, 4.2.
Gambar 4. 1 Data penyakit daun rusak pada daun mangrove
Gambar 4. 2 Data penyakit daun berulat pada daun mangrove
4.1.3 Implementasi Perancangan Antarmuka
Hasil rancangan yang dilakukan berdasarkan hasil yang sebelumnya sudah dibahas di bab 3, yaitu:
4.1.3.1 Tampilan Utama
Halaman awal aplikasi akan menjadi tampilan utama dari aplikasi ini. Dimana pada tampilan utama akan menampilkan kamera pada ponsel. Tampilan utama dapat dilihat pada Gambar 4.3.
Gambar 4. 3 Tampilan Utama 4.1.3.2 Prosedur Operasional
Tampilan sistem yang dibangun berupa halaman utama yang berisi informasi mengenai objek daun beserta tingkat akurasi keakuratan penyakit yang dialami daun mangrove tersebut.
29
Tahap awal, user akan memasuki aplikasi dengan menekan ikon aplikasi pada ponsel. Lalu user perlu mengarahkan ponsel kearah daun mangrove yang ingin di deteksi. Lalu aplikasi akan mengeluarkan bounding box beserta informasi penyakit daun tersebut dan akurasi nya.
Gambar 4. 4 Tampilan Halaman Utama 4.3 Pengujian Sistem
Proses pengujian sistem akan dilakukan untuk melihat hasil kinerja dari klasifikasi menggunakan metode MobileNet SSD dalam mengklasifikasikan penyakit pada daun mangrove menjadi 2 kategori yaitu penyakit daun rusak dan penyakit daun berulat.
Beberapa hasil dapat dilihat dari Tabel 4.1.
Tabel 4.1 Hasil pengujian identifikasi penyakit daun mangrove
No Data EKG Actual Output Desired Output Status
1 Daun Rusak Daun Rusak Berhasil
2
Daun Rusak
& Daun Berulat
Daun Rusak &
Daun Berulat Berhasil
31
3 Daun Rusak Daun Rusak Berhasil
4 Daun Rusak Daun Rusak Berhasil
5 Daun Rusak Daun Rusak Berhasil
6 Daun Rusak Daun Rusak Berhasil
7 Daun Rusak Daun Rusak Berhasil
8 Daun Rusak Daun Rusak Berhasil
33
9 Daun Rusak Daun Rusak Berhasil
10 Daun Rusak Daun Rusak Berhasil
11 Daun Rusak Daun Rusak Berhasil
12 Daun Rusak Daun Rusak Berhasil
13 Daun Rusak Daun Rusak Berhasil
14 Daun Rusak Daun Rusak Berhasil
35
15 Daun Rusak Daun Rusak Berhasil
16
Daun Rusak Daun Janda
Bolong Gagal
17
Daun Rusak
& Daun Berulat
Daun Berulat Berhasil
18 Daun Berulat Daun Berulat Berhasil
19
Daun Rusak
& Daun Berulat
Daun Berulat Berhasil
20 Daun Berulat Daun Berulat Berhasil
37
21 Daun Berulat Daun Berulat Berhasil
22 Daun Berulat Daun Berulat Berhasil
23
Daun Rusak
& Daun Berulat
Daun Berulat Berhasil
24 Daun Berulat Daun Berulat Berhasil
25 Daun Berulat Daun Berulat Berhasil
26 Daun Berulat Daun Berulat Berhasil
39
27 Daun Berulat Daun Berulat Berhasil
28 Daun Berulat Daun Berulat Berhasil
29 Daun Berulat Daun Berulat Berhasil
30 Daun Berulat Daun Berulat Berhasil
31 Daun Rusak Daun Rusak Berhasil
32 Daun Rusak Daun Rusak Berhasil
41
33 Tidak Terklasifikasi Daun Rusak Gagal
34 Daun Rusak Daun Rusak Berhasil
35 Tidak Terklasifikasi Daun Rusak Gagal
36 Daun Rusak Daun Rusak Berhasil
37 Tidak Terklasifikasi Daun Rusak Gagal
38 Daun Rusak Daun Rusak Berhasil
43
39 Daun Rusak Daun Rusak Berhasil
40 Daun Rusak Daun Rusak Berhasil
Berdasarkan pengujian sistem yang dilakukan pada penelitian ini, klasifikasi penyakit pada daun mangrove menggunakan metode MobileNet SSD terdapat 11 kesalahan sistem dalam mengklasifikasi penyakit pada daun mangrove dari total 274 data pengujian. Adapun penyebab kesalahan tersebut dikarenakan dataset daun berulat yang diperoleh tidak sebanyak dataset daun rusak. Dan juga pengaruh jarak yang terlalu jauh dari kamera. Penyebab lain kesalahan sistem disebabkan oleh banyaknya kemiripan bentuk antara daun rusak dengan daun berulat sehingga sistem terkadang salah mendeteksi apakah objek tersebut daun berulat atau daun rusak. Oleh sebab itu keakuratan aplikasi yang didapat tidak terlalu sempurna yaitu 93,4 %.
Untuk menghitung persentase akurasi secara manual dapat dilihat pada persamaan 4.1.
𝑃𝑒𝑟𝑠𝑒𝑛𝑡𝑎𝑠𝑒 𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = 𝐽𝑢𝑚𝑙𝑎ℎ 𝑑𝑎𝑡𝑎 𝑢𝑗𝑖 𝑏𝑒𝑛𝑎𝑟
𝐽𝑢𝑚𝑙𝑎ℎ 𝑘𝑒𝑠𝑒𝑙𝑢𝑟𝑢ℎ𝑎𝑛 𝑑𝑎𝑡𝑎 𝑢𝑗𝑖∗ 100%
(4.1) 𝑃𝑒𝑟𝑠𝑒𝑛𝑡𝑎𝑠𝑒 𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = 256
274∗ 100%
(4.2) 𝑃𝑒𝑟𝑠𝑒𝑛𝑡𝑎𝑠𝑒 𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = 93,4%
(4.3)
Tabel 4.2 Confusion Matrix
Daun Rusak Daun Berulat Total
Daun Rusak 150 4 154
Daun Berulat 14 106 120
Total 164 110 274
Tabel 4.2 menjelaskan bahwa Citra daun rusak tidak mempunyai kesalahan dalam mendeteksi, sedangkan daun berulat mengalami beberapa kesalahan dalam mendeteksi objek.
Penelitian dengan judul Klasifikasi Penyakit Daun Mangrove Menggunakan Metode MobileNet SSD Berbasis Mobile Secara Realtime ini mampu mengklasifikasi penyakit daun dengan akurasi 93,4%. Sistem dapat mengklasifikasi penyakit daun mangrove secara real time menggunakan ponsel android. Adapun penyebab kesalahan tersebut dikarenakan dataset daun berulat yang diperoleh tidak sebanyak dataset daun rusak. Penyebab lain kesalahan sistem disebabkan oleh banyaknya kemiripan bentuk antara daun rusak dengan daun berulat sehingga sistem terkadang salah mendeteksi apakah objek tersebut daun berulat atau daun rusak.
Setelah melakukan percobaan lain dengan menggunakan 2 perangkat yaitu Samsung J3 Pro dan Samsung A32 didapatkan hasil yang berbeda saat menjalankan aplikasi, dimana di perangkat Samsung J3 pro yang memiliki RAM 2GB dan resolusi
45
kamera 8 MP, aplikasi dapat terbuka dengan baik namun proses klasifikasi tidak dapat berjalan. Sedangkan percobaan menggunakan perangkat Samsung A32 yang memiliki RAM 6 GB dan resolusi kamera 64 MP mampu berjalan dengan sangat baik dan mengklasifikasi dengan sangat baik. Maka dengan hasil ini dapat disimpulkan bahwasannya spesifikasi minimum untuk aplikasi ini harus memiliki RAM 4 GB dan resolusi kamera 12 MP.
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Kesimpulan dari keseluruhan penerapan metode MobileNet SSD berdasarkan hasil implementasi yang sudah dilakukan adalah
1. Metode MobileNet SSD mampu mengklasifikasi penyakit daun mangrove dengan 2 klasifikasi yaitu Daun Rusak dan Daun Berulat dengan akurasi 93,4%.
2. Adapun faktor yang membuat tingkat akurasi tidak maksimal pada penelitian ini disebabkan kesalahan dalam mengklasifikasi daun berulat. Hal ini bisa terjadi karena banyaknya kemiripan antara daun rusak dengan daun berulat.
3. Proses pengujian dilakukan terhadap objek yang berupa citra daun mangrove, dimana objek tersebut dapat ditangkap oleh kamera ponsel secara Real Time.
4. Dalam proses pengujian dan implementasi jarak yang diperlukan untuk mengklasifikasi objek cukup dekat dengan kamera untuk mendapatkan akurasi yang maksimal.
5. Jarak maksimal saat pengujian data adalah 45 cm.
6. Intensitas cahaya dikategorikan cukup, selama penyakit pada daun masih bisa terlihat di kamera.
5.2 Saran
Adapun beberapa saran yang diberikan sebagai refrensi penelitian berikutnya adalah :
1. Dapat menemukan penyakit lain pada daun mangrove.
2. Dapat mencari lokasi tanaman mangrove ditempat lain, agar jenis penyakit yang terdapat pada daun bisa bertambah.
3. Menggunakan metode yang berbeda pada penelitian ini.
4. Dapat melakukan klasifikasi melebihi jarak 45 cm.
5. Menambahkan fitur night mode atau dapat menggunakan flash saat dikeadaan gelap atau kekurangan cahaya.
6. Dapat digunakan di perangkat yang memiliki spesifikasi minim.
47
7. Dapat mengoptimalkan penggunaan baterai saat aplikasi dijalankan.
8. Dapat mengetahui penyakit daun tersebut berdasarkan jenis daunnya.
DAFTAR PUSTAKA
Anna Ida Sunaryo Purwiyanto. (2013). Daya Serap Akar dan Daun Mangrove Terhadap Logam Tembaga (Cu) di Tanjung Api-Api, Sumatera Selatan. Jurnal Maspari, 5 (1)(1), 1–5.
Bhatt, P., Sarangi, S., Shivhare, A., Singh, D., & Pappula, S. (2019). Identification of diseases in corn leaves using convolutional neural networks and boosting.
ICPRAM 2019 - Proceedings of the 8th International Conference on Pattern Recognition Applications and Methods, Icpram, 894–899.
https://doi.org/10.5220/0007687608940899
Elhassouny, A., & Smarandache, F. (2019). Smart mobile application to recognize tomato leaf diseases using Convolutional Neural Networks. Proceedings of 2019 International Conference of Computer Science and Renewable Energies, ICCSRE 2019, 1–4. https://doi.org/10.1109/ICCSRE.2019.8807737
Hu, G., Yang, X., Zhang, Y., & Wan, M. (2019). Identification of tea leaf diseases by using an improved deep convolutional neural network. Sustainable Computing:
Informatics and Systems, 24, 100353.
https://doi.org/10.1016/j.suscom.2019.100353
Ji, M., Zhang, L., & Wu, Q. (2019). Automatic grape leaf diseases identification via UnitedModel based on multiple convolutional neural networks. Information Processing in Agriculture. https://doi.org/10.1016/j.inpa.2019.10.003
Purnobasuki, H., Pengajar, S., Fmipa, B., Airlangga, U., Mulyorejo, J., & Unair, K. C.
(2001). Potensi Mangrove Sebagai Tanaman Obat Prospect of Mangrove as Herbal Medicine Daftar Pustaka. 1998.
Rahman, C. R., Arko, P. S., Ali, M. E., Iqbal Khan, M. A., Apon, S. H., Nowrin, F., &
Wasif, A. (2020). Identification and recognition of rice diseases and pests using convolutional neural networks. Biosystems Engineering, 194, 112–120.
https://doi.org/10.1016/j.biosystemseng.2020.03.020
Sardogan, M., Tuncer, A., & Ozen, Y. (2018). Plant Leaf Disease Detection and Classification Based on CNN with LVQ Algorithm. UBMK 2018 - 3rd International Conference on Computer Science and Engineering, 382–385.
https://doi.org/10.1109/UBMK.2018.8566635
Sharma, P., Berwal, Y. P. S., & Ghai, W. (2019). Performance analysis of deep learning
49
CNN models for disease detection in plants using image segmentation. Information Processing in Agriculture. https://doi.org/10.1016/j.inpa.2019.11.001
Sladojevic, S., Arsenovic, M., Anderla, A., Culibrk, D., & Stefanovic, D. (2016). Deep Neural Networks Based Recognition of Plant Diseases by Leaf Image Classification. Computational Intelligence and Neuroscience, 2016.
https://doi.org/10.1155/2016/3289801
Zhang, S., Zhang, S., Zhang, C., Wang, X., & Shi, Y. (2019). Cucumber leaf disease identification with global pooling dilated convolutional neural network.
Computers and Electronics in Agriculture, 162(April), 422–430.
https://doi.org/10.1016/j.compag.2019.03.012.
LAMPIRAN SOURCE CODE 1. Resizing
# Importing os and cv2 module import cv2
import os
# path of the folder whose images is to be resized.
path = 'daun'
for i in os.listdir(path):
print(i)
img = cv2.imread(path + '/' + i) # Reading images
r_img = cv2.resize(img, (640, 640)) # resizing image :(150,150)==(image_height,image_width)
cv2.imwrite('train/{}'.format(i), r_img) # saving the resized image in other folder
# replace 'resize_folder' with the path of the folder # in which you want to save the resized images.
2. XML To CSV import os import glob
import pandas as pd
import xml.etree.ElementTree as ET
def xml_to_csv(path):
xml_list = []
for xml_file in glob.glob(path + '/*.xml'):
tree = ET.parse(xml_file) root = tree.getroot()
for member in root.findall('object'):
value = (root.find('filename').text, int(root.find('size')[0].text), int(root.find('size')[1].text),
51
member[0].text,
int(member[4][0].text), int(member[4][1].text), int(member[4][2].text), int(member[4][3].text) )
xml_list.append(value)
column_name = ['filename', 'width', 'height', 'class', 'xmin', 'ymin', 'xmax', 'ymax']
xml_df = pd.DataFrame(xml_list, columns=column_name) return xml_df
def main(): # this is the part we change to work with our setup
for directory in ['train', 'test']:
image_path = os.path.join(os.getcwd(), 'images/{}'.format(directory))
xml_df = xml_to_csv(image_path)
xml_df.to_csv('images/data/{}_labels.csv'.format(directory), index=None)
print('Successfully converted xml to csv.')
main()
3. Generate TFRecord
from __future__ import division
from __future__ import print_function from __future__ import absolute_import import os
import io
import pandas as pd
import tensorflow.compat.v1 as tf import sys
import os.path
sys.path.append("D:\\foto\\models\\research\\")
sys.path.append("D:\\foto\\models\\research\\object_detectio n\\utils")
from PIL import Image
from object_detection.utils import dataset_util from collections import namedtuple, OrderedDict flags = tf.app.flags
flags.DEFINE_string('csv_input', '', 'D:\\foto\\images\\data')
flags.DEFINE_string('output_path', '', 'D:\\foto\\images\\data')
flags.DEFINE_string('image_dir', '', 'D:\\foto\\images\\test')
FLAGS = flags.FLAGS
# replace row_label with the name you annotated your images as
def class_text_to_int(row_label):
if row_label == 'daun_rusak':
print('row_label====' + row_label) return 1
elif row_label == 'daun_berulat':
print('row_label====' + row_label) return 2
else:
None
def split(df, group):
data = namedtuple('data', ['filename', 'object']) gb = df.groupby(group)
return [data(filename, gb.get_group(x)) for filename, x in zip(gb.groups.keys(), gb.groups)]
def create_tf_example(group, path):
with tf.gfile.GFile(os.path.join(path, '{}'.format(group.filename)), 'rb') as fid:
encoded_jpg = fid.read()
encoded_jpg_io = io.BytesIO(encoded_jpg) image = Image.open(encoded_jpg_io)
width, height = image.size
filename = group.filename.encode('utf8') height = 640
width = 640
image_format = b'jpg' xmins = []
xmaxs = []
ymins = []
ymaxs = []
classes_text = []
classes = [2]
53
for index, row in group.object.iterrows():
xmins.append(row['xmin'] / width) xmaxs.append(row['xmax'] / width) ymins.append(row['ymin'] / height) ymaxs.append(row['ymax'] / height)
classes_text.append(row['class'].encode('utf8')) classes.append(class_text_to_int(row['class'])) tf_example =
tf.train.Example(features=tf.train.Features(feature={
'image/height': dataset_util.int64_feature(height), 'image/width': dataset_util.int64_feature(width), 'image/filename':
dataset_util.bytes_feature(filename), 'image/source_id':
dataset_util.bytes_feature(filename), 'image/encoded':
dataset_util.bytes_feature(encoded_jpg), 'image/format':
dataset_util.bytes_feature(image_format), 'image/object/bbox/xmin':
dataset_util.float_list_feature(xmins), 'image/object/bbox/xmax':
dataset_util.float_list_feature(xmaxs), 'image/object/bbox/ymin':
dataset_util.float_list_feature(ymins), 'image/object/bbox/ymax':
dataset_util.float_list_feature(ymaxs), 'image/object/class/text':
dataset_util.bytes_list_feature(classes_text), 'image/object/class/label':
dataset_util.int64_list_feature(classes), }))
return tf_example
def main(_):
writer = tf.python_io.TFRecordWriter(FLAGS.output_path) path = os.path.join(FLAGS.image_dir)
examples = pd.read_csv(FLAGS.csv_input) grouped = split(examples, 'filename') for group in grouped:
tf_example = create_tf_example(group, path) writer.write(tf_example.SerializeToString()) writer.close()
output_path = os.path.join(os.getcwd(), FLAGS.output_path)
print('Successfully created the TFRecords:
{}'.format(output_path))
if __name__ == '__main__':
tf.app.run() 4. Data Training
from absl import flags
import tensorflow.compat.v2 as tf
from object_detection import model_lib_v2
flags.DEFINE_string('pipeline_config_path', None, 'Path to pipeline config '
'file.')
flags.DEFINE_integer('num_train_steps', None, 'Number of train steps.')
flags.DEFINE_bool('eval_on_train_data', False, 'Enable evaluating on train '
'data (only supported in distributed training).')
flags.DEFINE_integer('sample_1_of_n_eval_examples', None, 'Will sample one of '
'every n eval input examples, where n is provided.')
flags.DEFINE_integer('sample_1_of_n_eval_on_train_examples', 5, 'Will sample '
'one of every n train input examples for evaluation, '
'where n is provided. This is only used if '
'`eval_training_data` is True.') flags.DEFINE_string(
'model_dir', None, 'Path to output model directory ' 'where event and checkpoint files will be written.')
flags.DEFINE_string(
'checkpoint_dir', None, 'Path to directory holding a checkpoint. If '
'`checkpoint_dir` is provided, this binary operates in eval-only mode, '
'writing resulting metrics to `model_dir`.') flags.DEFINE_integer('eval_timeout', 3600, 'Number of seconds to wait for an'
55
'evaluation checkpoint before exiting.')
flags.DEFINE_bool('use_tpu', False, 'Whether the job is executing on a TPU.')
flags.DEFINE_string(
'tpu_name', default=None,
help='Name of the Cloud TPU for Cluster Resolvers.') flags.DEFINE_integer(
'num_workers', 1, 'When num_workers > 1, training uses ' 'MultiWorkerMirroredStrategy. When num_workers = 1 it uses '
'MirroredStrategy.') flags.DEFINE_integer(
'checkpoint_every_n', 1000, 'Integer defining how often we checkpoint.')
flags.DEFINE_boolean('record_summaries', True,
('Whether or not to record summaries during'
' training.')) FLAGS = flags.FLAGS
def main(unused_argv):
flags.mark_flag_as_required('model_dir')
flags.mark_flag_as_required('pipeline_config_path') tf.config.set_soft_device_placement(True)
if FLAGS.checkpoint_dir:
model_lib_v2.eval_continuously(
pipeline_config_path=FLAGS.pipeline_config_path, model_dir=FLAGS.model_dir,
train_steps=FLAGS.num_train_steps,
sample_1_of_n_eval_examples=FLAGS.sample_1_of_n_eval_example s,
sample_1_of_n_eval_on_train_examples=(
FLAGS.sample_1_of_n_eval_on_train_examples), checkpoint_dir=FLAGS.checkpoint_dir,
wait_interval=300, timeout=FLAGS.eval_timeout) else:
if FLAGS.use_tpu:
# TPU is automatically inferred if tpu_name is None and
# we are running under cloud ai-platform.