Anda di halaman 1dari 67

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
i
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
iii

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
v

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


vii

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
ix

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.
3

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.
5

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
8

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 1
= + (2.1)
𝐹 ×𝐹 × 𝐷𝑀 × 𝐷𝑀 × 𝐶1 × 𝐶2 × 𝐷𝑁 𝑁 𝐹2

Dengan begitu, maka reduksi parameter menjadi :


𝐹 × 𝐹 × 𝐶1 + 1 ×1 ×𝐶1 × 𝐶2 1 1
= + (2.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.
10

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, Metode/Teknik Keterangan


Tahun

Convolutional Neural
1 (Miomiao ji Peneliti menggunakan metode
Network (CNN)
et.al 2019) 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 Convolutional Neural Peneliti menggunakan 2


al., 2020) Network (CNN). arsitektur, untuk skala besar dan
untuk perangkat mobile. serta
mendapatkan akurasi 97,12%

3 (Bhatt et al., Convolutional Neural Penelitian ini menggunakan data


2019) Network (CNN). sebanyak 2000 citra dengan score
klasifikasi {precision, recall, f1-
score} = {0.97,0.98,0.97} dan
mendapatkan akurasi 98%
12

Deep Convolutional
4 (Gensheng et Penelitian ini menggunakan
Neural Network
al., 2019) model CIFAR10-quick model,
(DCNN). dan mendapatkan akurasi 92,25%

Convolutional Neural
5 (Sharma et al., Penelitian ini membandingkan 2
Network (CNN).
2019) model F-CNN dan S-CNN dan
mendapatkan akurasi yang
awalnya 42,3% menjadi 98,6%

6 (Azeddine & Convolutional Neural Penelitian ini menggunakan data


Florentin, Network (CNN). sebanyak 7176 data dan
2019) 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
1390 274
Data

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.
16

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.

Image Acquisition

Data Training

Testing

Image Pre-Processing
Data Training
Resizing Images
Testing

Labeling Images

Convert

Image Classification
Learned Model

MobileNet SSD
TFLite Model

Output

Hasil Klasifikasi
Penyakit Daun
Mangrove

Gambar 3. 3 Arsitektur Umum


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
18

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
20

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
22

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.
24

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


26

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


28

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.
30

Tabel 4.1 Hasil pengujian identifikasi penyakit daun mangrove

No Data EKG Actual Output Desired Output Status

1 Daun Rusak Daun Rusak Berhasil

Daun Rusak
Daun Rusak &
2 & Daun Berhasil
Daun Berulat
Berulat
31

Daun Rusak Daun Rusak Berhasil


3

4 Daun Rusak Daun Rusak Berhasil

5 Daun Rusak Daun Rusak Berhasil


32

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


34

Daun Rusak Daun Rusak Berhasil


12

Daun Rusak Daun Rusak Berhasil


13

Daun Rusak Daun Rusak Berhasil


14
35

15 Daun Rusak Daun Rusak Berhasil

Daun Janda
Daun Rusak Gagal
Bolong
16

Daun Rusak
17 & Daun Daun Berulat Berhasil
Berulat
36

18 Daun Berulat Daun Berulat Berhasil

Daun Rusak
19 & Daun Daun Berulat Berhasil
Berulat

20 Daun Berulat Daun Berulat Berhasil


37

21 Daun Berulat Daun Berulat Berhasil

22 Daun Berulat Daun Berulat Berhasil

Daun Rusak
23 & Daun Daun Berulat Berhasil
Berulat
38

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


40

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


42

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 %.
44

Untuk menghitung persentase akurasi secara manual dapat dilihat pada persamaan
4.1.

𝐽𝑢𝑚𝑙𝑎ℎ 𝑑𝑎𝑡𝑎 𝑢𝑗𝑖 𝑏𝑒𝑛𝑎𝑟


𝑃𝑒𝑟𝑠𝑒𝑛𝑡𝑎𝑠𝑒 𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = ∗ 100%
𝐽𝑢𝑚𝑙𝑎ℎ 𝑘𝑒𝑠𝑒𝑙𝑢𝑟𝑢ℎ𝑎𝑛 𝑑𝑎𝑡𝑎 𝑢𝑗𝑖
(4.1)
256
𝑃𝑒𝑟𝑠𝑒𝑛𝑡𝑎𝑠𝑒 𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = ∗ 100%
274
(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.
50

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
52

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()
54

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.
56

resolver =
tf.distribute.cluster_resolver.TPUClusterResolver(
FLAGS.tpu_name)
tf.config.experimental_connect_to_cluster(resolver)
tf.tpu.experimental.initialize_tpu_system(resolver)
strategy =
tf.distribute.experimental.TPUStrategy(resolver)
elif FLAGS.num_workers > 1:
strategy =
tf.distribute.experimental.MultiWorkerMirroredStrategy()
else:
strategy = tf.compat.v2.distribute.MirroredStrategy()

with strategy.scope():
model_lib_v2.train_loop(
pipeline_config_path=FLAGS.pipeline_config_path,
model_dir=FLAGS.model_dir,
train_steps=FLAGS.num_train_steps,
use_tpu=FLAGS.use_tpu,
checkpoint_every_n=FLAGS.checkpoint_every_n,
record_summaries=FLAGS.record_summaries)

if __name__ == '__main__':
tf.compat.v1.app.run()

Anda mungkin juga menyukai