Anda di halaman 1dari 82

KLASIFIKASI DAUN MANGROVE MENGGUNAKAN METODE

MOBILENET-SSD BERBASIS MOBILE SECARA REALTIME

SKRIPSI

MUHAMMAD ALISIRAJ FACHREZA SIREGAR


161402062

PROGRAM STUDI S1 TEKNOLOGI INFORMASI


FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2021
KLASIFIKASI DAUN MANGROVE MENGGUNAKAN METODE
MOBILENET-SSD BERBASIS MOBILE SECARA REALTIME

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana
Teknologi Informasi

MUHAMMAD ALISIRAJ FACHREZA SIREGAR


161402062

PROGRAM S1 STUDI TEKNOLOGI INFORMASI


FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2021
i
ii

PERNYATAAN

KLASIFIKASI DAUN MANGROVE MENGGUNAKAN METODE


MOBILENET-SSD BERBASIS MOBILE SECARA REALTIME

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 Alisiraj Fachreza Siregar


iii

UCAPAN TERIMA KASIH

Puji dan juga syukur kepada Allah SWT, karena berkat rahmat, ridho juga karunia-Nya
penulis mampu untuk dapat menyelesaikan skripsi sebagai sebuah syarat untuk meraih
gelar Sarjana Komputer, pada Program Studi S1 Teknologi Informasi Fakultas Ilmu
Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Penulis juga mengucapkan terimakasih dan menyampaikan kepada semua pihak
yang selama ini telah membantu penulis dalam proses menyelesaikan skripsi. Penulis
ini berterimakasih kepada :
1. Keluarga dari penulis, Ayahanda Drs Nasrul Aziz Siregar dan Ibunda Linda
Asmita Nasution S.Pd yang senantiasa sedari dulu mendoakan, membesarkan,
merawat, memberikan semangat, memberikan ilmu, memberikan kasih sayang
yang tiada batasnya kepada penulis. Kemudian juga kepada adik dari penulis,
Nazla Asria Ulfa Siregar 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.,M.Sc 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 Universias Sumatera Utara.
5. Ibu Sarah Purnamawati, ST., MSc., selaku Sekretaris Program Studi S1
Teknologi Informasi Universitas Sumatera Utara.
6. Kepada semua dosen S1 Teknologi Informasi yang sudah memberikan banyak
ilmu yang bermanfaat bagi penulis selama berada di perkuliahan.
7. Staff dan pegawai Fasilkom-TI Universitas Sumatera Utara yang membantu
segala urusan administrasi dalam menyelesaikan skripsi.
8. Marisa Raudiah yang telah menemani penulis sejak awal perkuliahan hingga
sekarang, selalu ada dalam situasi senang maupun susah, memberikan semangat
yang tak henti-henti, dan membantu penulis dalam perkuliahan hingga penulisan
skripsi.
iv

9. Teman-teman seperjuangan hidup dan perkuliahan, Muhammad Raihan dan


Muhammad Teguh Syahvira Nasution yang selalu menyemangati juga memberi
dukungan dan bantuan tiada henti kepada penulis serta sebagai tempat berkeluh
kesah selama masa perkuliahan.
10. Beta Tester: Fadli Lubis, Hadhe Panji, Ramzi Khauri, Fahdi Lubis, Ray Syadera,
Riki Ramadhan, Bayu Prasetyo, Ilham Kwr, Muhammad Raihan dan Teguh
Syahvira yang telah mengisi masa perkuliahan penulis dalam segala kondisi
apapun, dan menjadi tempat bercerita, belajar, bermain dan bertukar fikiran
selama ini.
11. NPR: Aditya Eka, Andra Andrika, Imam Suenda, Jerico Valentino, Tri Prasetyo
Aditama, Jabbar Rahman, Radhi Arrauf dan Rauf Naufal, teman masa sekolah
yang masih menjalin hubungan dengan baik hingga saat ini dan banyak
membantu penulis.
12. Teman-teman angkatan 2016 Teknologi Informasi yang telah membantu dan
berjuang bersama penulis dalam menghadapi perkuliahan.

Penulis menyadari di dalam skripsi ini masih terdapat kekurangan. Untuk itu,
penulis berharap adanya sebuah kritik maupun saran untuk dapat menyempurnakan
skripsi ini.

Medan, 1 Juni 2021

Penulis
v

ABSTRAK

Mangrove merupakan kumpulan atau individu dari tumbuhan yang hidup pada sebuah
komunitas yang berada di daerah pasang dan surut. Hutan mangrove sendiri terdiri dari
berbagai jenis pohon dan semak yang terbagi atas 8 famili yang berbeda. Tumbuhan
mangrove terdiri dari beberapa bagian utama seperti pada bagian tubuh tumbuhan
umumnya, seperti batang, akar, bunga, daun dan juga buah. Data daun mangrove
diambil di pantai mangrove yang ada di Kecamatan Perbaungan Kabupaten Serdang
Bedagai yang menyediakan dua jenis mangrove yaitu Rhizopora Mucronata dan
Avicennia Alba. Pada penelitian ini, data daun mangrove berjumlah sebanyak 2124
data. Kemudian, data melalui dua tahap proses pre-processing yaitu resizing untuk
mengubah ukuran data citra daun menjadi 640 x 640 dan labeling menggunakan aplikasi
labellmg untuk menandakan objek khusus pada citra dan agar citra mampu dibaca oleh
sistem. Proses classification menggunakan metode Mobilenet-SSD untuk
mengklasifikasi data citra daun menjadi 2 Classes, yaitu Rhizophora Mucronata dan
Avicennia Alba. Sistem yang dibangun mampu menghasilkan tingkat akurasi sebesar
93,3%.

Kata Kunci: Mangrove, Mucronata, Avicennia Alba, Mobilenet-SSD


vi

CLASSIFICATION OF MANGROVE LEAF USING THE MOBILENET-SSD


METHOD BASED ON REALTIME MOBILE

ABSTRACT

Mangroves are a group or individual plant species that live and form a community in
the tidal and low tide areas. Mangrove forest itself consists of various types of trees and
shrubs which are divided into 8 different families. Mangrove plants consist of several
main parts in general plant body parts, such as stems, roots, flowers, leaves and fruit.
Mangrove leaf data was taken on the mangrove beach in Perbaungan District, Serdang
Bedagai Regency, which provides two types of mangroves, namely Rhizopora
Mucronata and Avicennia Alba. In this study, there were 2124 mangrove leaf data.
Then, the data goes through two stages of the pre-processing process, namely resizing
to resize the leaf image data to 640 x 640 and labeling using the labellmg application
to indicate special objects in the image and so that the image can be read by the system.
The classification process uses the Mobilenet-SSD method to classify leaf image data
into 2 classes, namely Rhizophora Mucronata and Avicennia Alba. The system built is
able to produce an accuracy rate of 93.3%.

Keywords: Mangrove, Mucronata, Avicennia Alba, Mobilenet-SSD


vii

DAFTAR ISI

PERSETUJUAN i

PERNYATAAN ii

UCAPAN TERIMA KASIH iii

ABSTRAK v

ABSTRACT vi

DAFTAR ISI vii

DAFTAR TABEL x

DAFTAR GAMBAR xi

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 3

1.3 Tujuan Penelitian 3

1.4 Batasan Masalah 3

1.5 Manfaat Penelitian 3

1.6 Metodologi Penelitian 4

1.7 Sistematika Penulisan 5

BAB 2 LANDASAN TEORI 6

2.1 Convolutional Neural Network 6

2.2 Mangrove 9

2.3 Daun Mangrove 10

2.3.1 Daun Rhizophora Mucronata 11

2.3.2 Daun Avicennia Alba 12

2.6 Mobilenet 12

2.6 SSD 14

2.7 Tensorflow Lite 14


viii

2.7 Confusion Matrix 16

2.7.1 Accuracy 16

2.7.2 Precision 16

2.7.3 Recall 17

2.9 Penelitian Terdahulu 17

BAB 3 ANALISIS DAN PERANCANGAN SISTEM 23

3.1 Data yang digunakan 23

3.2 Analisis Sistem 24

3.2.1 Image Acquisition 25

3.2.2 Image Pre-Processing 26

3.2.2.1 Resizing 26

3.2.2.2 Labeling 27

3.2.2.3 Convert TFRecord 29

3.2.3 Image Classification 31

3.2.3.1 Extract Feature Maps 31

3.2.3.2 Convolution Filters 32

3.2.4 Learned Model 33

3.2.5 TF Lite Model 33

3.2.6 Proses Training 34

3.2.5 Proses Testing 36

3.2.5 Output 36

3.2.5 Use Case Diagram 36

3.3 Perancangan Antarmuka Sistem 37

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 39

4.1 Implementasi Sistem 39

4.1.1 Perangkat Keras dan Perangkat Lunak 39


ix

4.1.2 Implementasi Data 39

4.1.3 Implementasi Perancangan Antarmuka 40

4.2 Prosedur Operasional 41

4.3 Pengujian Sistem 42

BAB 5 PENUTUP 56

5.1 Kesimpulan 56

5.2 Saran 56

DAFTAR PUSTAKA 57
x

DAFTAR TABEL

Tabel 2. Ukuran Parameter dan Komputasi pada Depthwise Separable 14


Tabel 2.1 Confusion Matrix 16
Tabel 2.2 Penelitian Terdahulu 19
Tabel 3. Jumlah data 23
Tabel 3.1 Definisi Use Case 37
Tabel 4. Hasil Pengujian proses ekstraksi ciri dan klasifikasi 42
Tabel 4.1 Confusion Matrix 52
Tabel 4. 3 Nilai TP,FP,FN 53
Tabel 4. 3 Nilai Precision, Recall, dan F-Score 53
xi

DAFTAR GAMBAR

Gambar 2. Convolutional Neural Network 7


Gambar 2.1 Convolutional Layer 8
Gambar 2.2 Operasi Pooling Layer 9
Gambar 2.3 Fully Connected Layer 9
Gambar 2.4 Tumbuhan Mangrove 10
Gambar 2.5 Peta Persebaran Pohon Mangrove 10
Gambar 2.6 Daun Rhizophora Mucronata 11
Gambar 2.7 Daun Avicennia Alba 12
Gambar 2.8 Proses Mobilenet 13
Gambar 2.9 Konvolusi Depthwise dan Pointwise 13
Gambar 2.10 Arsitektur Tflite 15
Gambar 2.11 Tensorflow Lite Interpreter 15
Gambar 3. Data Citra Daun Mangrove 23
Gambar 3.1 Arsitektur Umum 25
Gambar 3.2 Contoh Proses Resizing 26
Gambar 3.3 Citra Daun sebelum resizing, citra daun setelah resizing 26
Gambar 3.4 Pemberian Rectbox 27
Gambar 3.5 Pemberian Label 28
Gambar 3.6 Hasil Pelabelan 28
Gambar 3.7 Hasil Pelabelan 28
Gambar 3.8 Data .xml setelah diconvert ke dalam tabel .csv 29
Gambar 3.9 Sebelum convert tfrecord (kiri), setelah convert tfrecord(kanan) 29
Gambar 3.10 Default Box di Feature Maps 31
Gambar 3.11 Foto Asli, 4 objek tiap sel atau lokasi 32
Gambar 3.12 Penyesuaian posisi boundingbox dengan groundtruth 33
Gambar 3.13 Proses Training 36
Gambar 3.14 Use Case Diagram 37
Gambar 3.15 Perancangan antarmuka sistem 38
Gambar 4. Data citra daun mangrove kategori mucronata 40
Gambar 4.1 Data citra daun mangrove kategori avicennia 40
Gambar 4.2 Tampilan halaman awal 41
xii

Gambar 4.4 Pengambilan data dengan jarak 5 cm 50


Gambar 4.3 Pengambilan data dengan jarak 10 cm 51
Gambar 4.3 Pengambilan data dengan jarak 20 cm 51
Gambar 4.3 Pengambilan data dengan jarak 40 cm 52
BAB 1
PENDAHULUAN

1.1 Latar Belakang

Mangrove merupakan kumpulan dari atau individu tumbuhan yang hidup dan juga
membentuk sebuah komunitas yang berada di daerah pasang dan surut (Kusmana,
2002). Mangrove juga merupakan sebuah model hutan yang hidup secara alami dengan
dipengaruhi pasang surutnya air laut. Mangrove bisa tergenang saat keadaan pasang dan
bisa bebas dari genangan saat terjadinya surut. Hutan mangrove terbagi atas 8 famili
yang berbeda.
Meski memiliki wilayah penyebaran yang cukup luas, mangrove daerah tropis
termasuk yang memiliki paling banyak spesies. Dikarenakan Asia Tenggara berada di
daerah tropis, sepertiga luasan mangrove dunia berada di Asia Tenggara. Dari jumlah
itu, sekitar 80 persennya berada di wilayah Indonesia. Hal itu kemudian membuat
Indonesia memiliki wilayah mangrove paling luas di seluruh dunia. Disamping itu,
terdapat sangat banyak fungsi yang penting untuk alam, meliputi fungsi fisik seperti
menjaga garis pantai dari abrasi, fungsi biologis seperti tempat pembenihan ikan, udang
dan biota air lainnya, fungsi ekonomi sebagai sumber bahan bakar, pertambakan dan
tempat pembuatan garam (Naamin, 1977).
Tumbuhan mangrove terdiri dari beberapa bagian utama seperti pada bagian
tubuh tumbuhan umumnya, seperti batang, akar, bunga, daun, dan buah. Daun
merupakan satu dari beberapa bagian mangrove yang bisa dimanfaatkan untuk dapat
membedakan spesies mangrove yang beraneka ragam.
Namun, dikarenakan begitu banyaknya spesies mangrove yang ada,
pengklasifikasian jenis mangrove melalui daun menjadi cukup sulit untuk dilakukan,
terlebih jika diantara spesies mangrove tersebut memiliki bentuk daun yang hampir
sama. Untuk itu diperlukan sebuah sistem klasifikasi yang bisa membedakan jenis
spesies mangrove berdasarkan daun sehingga mampu memudahkan masyarakat atau
petani yang ada.
Belum ada penelitian terkait mengenai klasifikasi daun mangrove secara
realtime. Namun, ada beberapa penelitian yang telah dilakukan dalam pengklasifikasian
jenis-jenis daun pada tumbuhan lain.
2

Pada penelitian ini, penulis akan mengajukan sebuah metode bernama


Mobilenet-SSD yang telah banyak dimanfaatkan untuk melakukan penelitian-penelitian
sebelumnya. Mobilenet-SSD sendiri merupakan satu dari banyaknya neural network
yang biasanya digunakan untuk melakukan pemrosesan data image dan merupakan
pengembangan dari CNN. Mobilenet-SSD bisa digunakan untuk melakukan
pendeteksian dan pengenalan objek pada suatu gambar.
Penelitian pernah dilakukan oleh (Dani et al, 2016) mengenai pengklasifikasian
tanaman hias daun philodendron. Pada penelitian ini, digunakan metode K-Nearest
Neighbor (KNN) yang dihitung berdasarkan nilai dari Hue, Saturation, Value dan dapat
dengan baik mengenali jenis tanaman hias dengan tingkat akurasi yang mampu
mencapai 92%. Penelitian berikutnya dilakukan oleh (Casanova et al, 2009) mengenai
klasifikasi daun. Penelitian ini menggunakan metode Gabor Wavelets. Fitur yang
diekstrak meliputi bentuk, tekstur, warna dan lainnya. Hasil penelitian ini menunjukkan
tingkat akurasi yang mencapai angka 84%. Penelitian selanjutnya dilakukan oleh (Javed
& Ashraful, 2010) yang berjudul Leaf Shape Identification Based Plant Biometrics.
Penelitian ini menggunakan metode Probabilistic Neural Network (PNN) untuk
melakukan klasifikasi fitur bentuk daun untuk identifikasi tanaman. Penelitian ini
menghasilkan tingkat akurasi sebesar 91,41%. Penelitian berikutnya dilakukan oleh
(Iffat & Saiful) tentang identifikasi pohon berdasarkan daun yang menggunakan metode
Convolutional Neural Network (CNN). Penelitian ini menghasilkan tingkat akurasi
sebesar 99,40%.
Penelitian berikutnya dilakukan oleh (Eko, 2016) tentang membedakan pohon
mangga dengan memperhatikan bentuk tekstur daun. Penelitian ini menggunakan
metode Support Vector Machine (SVM) dan Fuzzy K-Nearest Neighbor in every Class
(FK-NNC). Penelitian ini mampu menghasilkan tingkat akurasi sebesar 86,67% saat
menggunakan metode SVM dan 88,89% saat menggunakan metode yang berbeda yaitu
FK-NNC. Selanjutnya penelitian dilakukan oleh (Yahya et al, 2019) mengenai
identifikasi tanaman apricot berdasarkan bentuk karakteristik daun. Penelitian ini
menggunakan metode KKN dan menghasilkan tingkat akurasi sebesar 79,05%.
Berdasarkan latar belakang dan penelitian terdahulu yang telah dilakukan diatas,
penulis akan menerapkan metode Mobilenet-SSD untuk membuat penelitian dengan
judul “Klasifikasi Daun Mangrove Menggunakan Metode Mobilenet-SSD Berbasis
Mobile Secara Realtime”.
3

1.2 Rumusan Masalah

Daun merupakan salah satu bagian tubuh utama yang dapat digunakan untuk
membedakan jenis spesies tumbuhan mangrove. Dikarenakan begitu banyaknya spesies
yang ada, disertai dengan banyaknya bentuk daun yang hampir serupa menyebabkan
proses identifikasi jenis mangrove berdasarkan daun tanpa alat khusus atau pengetahuan
yang cukup menjadi sulit dilakukan. Oleh karena itu, dibutuhkan suatu sistem
pengolahan citra berbasis aplikasi mobile yang mampu mengklasifikasikan jenis
tumbuhan mangrove berdasarkan daunnya secara realtime sehingga membantu
masyarakat untuk lebih mudah mengetahui jenis tumbuhan mangrove.

1.3 Tujuan Penelitian

Tujuan dilakukannya penelitian ini adalah untuk menghasilkan suatu sistem yang
mampu mengklasifikasikan jenis mangrove dari citra daun menggunakan metode
Mobilenet-SSD berbasis mobile secara realtime.

1.4 Batasan Masalah

Batasan masalah yang ada pada penelitian ini yaitu:


a. Data yang diambil berasal dari wilayah Kecamatan Perbaungan, Kabupaten
Serdang Bedagai, Sumatera Utara.
b. Jenis daun mangrove yang diteliti adalah Rhizopora Mucronata dan Avicennia
Alba.

1.5 Manfaat Penelitian

Manfaat dilakukannya penelitian ini adalah:


a. Mengetahui tingkat akurasi penggunaan metode Mobilenet-SSD dalam
mengklasifikasikan jenis mangrove dari citra daun.
b. Mempermudah masyarakat khususnya para petani mangrove untuk dapat
mengklasifikasikan jenis-jenis mangrove berdasarkan bentuk daunnya.

1.6 Metodologi Penelitian

Adapun tahap atau langkah yang digunakan dalam penulisan penelitian ini yaitu:
1. Studi Literatur
4

Tahap ini merupakan proses melakukan pengambilan data citra daun dan
mempelajari bahan referensi yang berkaitan dengan penelitian mengenai daun
mangrove dan metode Mobilenet-SSD yang diperoleh dari berbagai jurnal,
artikel, skripsi dan juga sumber lainnya.
2. Analisis Permasalahan

Tahap ini adalah tahap dimana akan dilakukan proses menganalisis informasi
yang didapat pada tahapan sebelumnya agar mendapatkan pengetahuan dan juga
pemahaman mengenai metode yang akan diterapkan yakni Mobilenet-SSD untuk
mengklasifikasi jenis mangrove dari citra daun.
3. Perancangan Sistem
Tahap ini merupakan tahapan dimana kemudian dilakukan proses perancangan
bentuk arsitektur pengaplikasian pada sistem, perancangan algoritma dan juga
metode yang akan digunakan oleh penulis yang didapatkan dari analisis masalah-
masalah yang ada di tahap sebelumnya
4. Implementasi
Tahap ini merupakan tahap lanjutan yang akan menerapkan hasil analisis
sebelumnya untuk diimplementasikan ke dalam bentuk pembuatan program
menggunakan bahasa pemrograman Java.
5. Pengujian
Tahap ini merupakan tahapan dimana kemudian akan dilakukan pengujian untuk
dapat mengetahui tingkat akurasi dari penerapan metode Mobilenet-SSD. Pada
tahap ini diharapkan perancangan aplikasi yang telah dilakukan berjalan sesuai
dengan teori, metode, algoritma dan juga sesuai sesuai dengan tujuan.
6. Dokumentasi dan Penyusunan Laporan
Tahap ini adalah tahapan untuk melakukan penyusunan dokumentasi dan laporan
yang sistematis agar dapat dengan mudah dipahami dan untuk kemudian
digunakan pada penelitian selanjutnya.

1.7 Sistematika Penulisan

Sistematika penulisan pada skripsi ini adalah:

BAB 1. PENDAHULUAN
5

Bab ini berisikan latar belakang dalam melakukan pemilihan judul skripsi “Klasifikasi
Daun Mangrove Menggunakan Metode Mobilenet-SSD Berbasis Mobile Secara
Realtime".

BAB 2. LANDASAN TEORI

Bab ini berisi teori mengenai Android Studio, Mobilenet-SSD, Mangrove, Daun
Mangrove, Tensorflow Lite dan penelitian yang telah dilakukan dahulu.

BAB 3. ANALISIS DAN PERANCANGAN SISTEM

Bab ini membahas tentang analisis pada arsitektur umum sistem yang dibuat untuk
mengklasifikasi daun mangrove menjadi 2 jenis.

BAB 4. IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini membahas tentang implementasi analisis yang sudah dibuat. Kemudian
dilakukan pemaparan pada hasil pengujian yang dilakukan terhadap sistem yang ada.

BAB 5. KESIMPULAN DAN SARAN

Bab ini berisikan kesimpulan dan saran dari penelitian untuk dapat digunakan pada
pengembangan penelitian berikutnya.
BAB 2
LANDASAN TEORI

2.1 Convolutional Neural Network

Adalah sebuah jaringan saraf tiruan yang merupakan suatu pengembangan dari Multi
Layer Perceptron (MLP) yang dibuat untuk mampu mengelola dan melakukan
pengolahan pada data dalam bentuk dua dimensi dan pertama kali diperkenalkan oleh
(LeCun, 1988). CNN juga termasuk ke dalam jenis Deep Neural Network dikarenakan
memiliki tingkatan yang mampu diimplementasikan ke banyak citra. Berbeda dengan
jaringan saraf tiruan lainnya, Convolutional Neural Network mampu melakukan ekstrak
fitur beserta penyajian data berupa sinyal dan gambar dalam banyak tingkat abstraksi
(Al Rahhal et al., 2018). Convolutional Neural Network memiliki 3 tipe layer. Layer-
layer tersebut adalah Convolutional Layer, Pooling Layer, dan Fully-Connected Layer
yang dapat dilihat pada Gambar 2.

Gambar 2 Convolutional Neural Network (Cesanne, 2018)

a. Layer pengidentifikasi fitur


a. Convolutional layer
Merupakan salah satu tipe layer yang terdapat di dalam CNN. Proses
ekstraksi fitur dan persiapan menuju layer berikutnya terjadi di layer ini
(Bui & Chang, 2016). Tujuan utama convolution adalah mengekstrak fitur
dari input data citra daun mangrove.
8

Gambar 2.1 Convolutional Layer (Lu et al, 2019)


Layer ini bekerja dengan cara mempelajari fitur-fitur yang ada pada
gambar dengan memanfaatkan kotak-kotak kecil yang kemudian akan
mengetahui piksel pada data yang telah dimasukkan (Krizhevsaky et al,
2012). Layer convolution diatas kemudian disusun dalam peta fitur yang
berguna untuk mendapatkan fitur special yang ada pada data. Peta Fitur
kemudian dihasilkan dari perkalian dot antara input layer dengan feature
detector. Adapun persamaan untuk mengalikan matriks input layer dengan
matriks feature detector adalah sebagai berikut:

Dimana
h(f,i) = hasil kali matriks feaure detector dengan input layer,
A sampai dengan I = nilai matriks feature detector,
P1 sampai dengan P9 = nilai matriks input layer.

b. Pooling layer
Setelah operasi lapisan konvolusi, selanjutnya merupakan tahap lanjutan
dari layer yang pertama, yaitu tahap Pooling Layer. Pada tahapan ini
dilakukan proses pengurangan fitur dimensi dengan melihat dan
membandingkan nilai yang ada di sekitarnya (Lu et al, 2019). Pada tahapan
ini, Max Pooling dan juga Average Pooling merupakan dua layer yang
paling banyak digunakan. Pooling yang sering digunakan adalah operasi
max-pooling yang diterapkan pada peta fitur (feature map) dengan
melakukan pembagian output dari layer convolution menjadi beberapa
9

bagian kecil yang kemudian digunakan untuk Melakukan penyusunan


matriks baru yang telah selesai direduksi. Operasi layer tersebut dapat
dilihat pada Gambar 2.2.

Gambar 2. 1 Operasi Pooling Layer (Lu et al, 2019)

c. Fully Connected Layer


Proses yang terjadi pada layer ini adalah pengambilan semua neuron yang
ada pada 2 layer sebelumnya untuk dapat dihubungkan kepada setiap neuron
(Devikar, 2016). Tujuannya adalah untuk dapat melakukan klasifikasi pada
gambar masukan yang ada untuk dimasukkan ke dalam berbagai kelas
berdasarkan kelas yang dibuat pada dataset yang telah melewati proses pada
layer-layer sebelumnya (LeCun & Bengio, 1995).

Gambar 2.3 Fully Connected Layer (Bui & Chang, 2016)

2.2 Mangrove

Mangrove adalah semak atau pohon kayu yang hidup di sepanjang garis pantai di daerah
tropis atau subtropis. Mangrove juga dapat digunakan sebagai istilah yang mengacu
pada keseluruhan komunitasnya.
Pohon dan dedaunan semak belukar yang ada akan menciptakan sebuah habitat
yang akan kehidupan tanaman dan hewan, melalui akar bercabang yang berada di
10

bawah air sehingga menciptakan tempat berlindung bagi banyak ikan, terutama untuk
predator yang mudah memangsa anak ikan (Feller, 2018).

Gambar 2.4 Tumbuhan Mangrove (James, 2007)

Mangrove tumbuh di daerah pantai tropis dan subtropic yang berada di seluruh
dunia. Umumnya, daerah ini berada di antara garis lintang 25 derajat utara dan 25
derajat selatan, namun geografisnya sangat bervariasi tergantung pada iklim setempat
(Feller, 2018). Hutan mangrove sendiri didominasi oleh spesies-spesies berupa pohon
ataupun berupa semak yang punya sebuah kemampuan agar bisa terus tumbuh di dalam
perairan yang asin.
Di Indonesia sendiri, mangrove menyebar di banyak pesisir sepanjang
Kalimantan, Sulawesi, Papua, Sumatera, Jawa dan beberapa pulau-pulau kecil lainnya
dengan total mencapai angka 3,7 juta hektare.

Gambar 2. 5 Peta Persebaran Pohon Mangrove (Deltares, 2004)

2.3 Daun Mangrove

Daun merupakan salah satu struktur utama yang ada pada tumbuhan. Fungsi
penting yang ada pada daun antara lain adalah pemecahan, pengolahan makanan
11

melalui fotosintesis, serta sebagai alat penguapan air atau transpirasi pertukaran gas.
Daun juga merupakan organ yang mampu membuat makanan, berbentuk pipih, dan
dapat melakukan tugas utamanya, yaitu fotosintesis secara efisien dan efektif
(Tjitrosomo, 2007). Mangrove memiliki banyak jenis spesies yang tersebar di seluruh
dunia yang membuat banyaknya struktur dan bentuk daun yang berbeda-beda. Berikut
adalah beberapa jenis daun mangrove.

2.3.1 Daun Rhizophora Mucronata

Rhizophora Mucronata adalah merupakan satu dari begitu banyak jenis mangrove yang
dapat kita temukan di dekat sungai atau daerah pantai yang mengalami peristiwa pasang
dan surut. Spesies ini termasuk ke dalam kelompok inti yang memiliki peran besar
dalam susunan formasi mangrove (Kusmana et al, 2003). Rhizophora Mucronata sendiri
merupakan spesies tumbuhan yang dapat tumbuh mencapai tinggi 27 m, batang yang
berdiameter hingga 70 cm, akar tunjang maupun udara yang tumbuh dari cabang bagian
bawah (Harianto et al, 2015). Bentuk daun Rhizophora Mucronata adalah dapat dilihat
pada gambar 2.6.

Gambar 2.6 Daun Rhizophora Mucronata


Daun Rhizophora Mucronata ini memiliki bentuk elips yang cukup lebar, tulang
daunnya memanjang dengan ukuran 11-23 x 6-13 cm. Secara umum, spesies ini
memiliki bunga kuning dengan kelopak berwarna kuning yang mengelilinginya.

2.3.2 Daun Avicennia Alba

Merupakan jenis tumbuhan utama yang umumnya selalu ada pada sebuah habitat
mangrove. Tumbuhan ini biasanya berada di daerah pantai yang cukup aman dan
terlindungi, juga menyukai bagian teluk. Akar Avicennia Alba juga dapat berfungsi
dalam suatu proses tahapan dimana sedimen akan diikat untuk dapat mempercepat
12

proses pembuatan suatu daratan. Tumbuhan ini juga dikenal bersifat vivipar, dimana
terkadang buah berbiak saat masih menempel di sebuah pohon (Noor et al, 2006). Daun
Avicennia Alba dapat dilihat di gambar 2.7.

Gambar 2.7 Daun Avicennia Alba

Avicennia Alba dapat tumbuh hingga mencapai ketinggian 30 meter. Daunnya tunggal,
memiliki tangkai, dan mempunyai tepi daun yang cukup rata, namun memiliki ujung
yang meruncing. Panjang daun Avicennia Alba mencapai 18cm dan lebar 5 cm.

2.4 Mobilenet

Mobilenet adalah salah satu metode yang merupakan bagian dari arsitektur
Convolutional Neural Network yang dapat memenuhi keperluan komputasi yang
berlebih. Mobilenet dibangun oleh para arsitektur google atas dasar memenuhi
kebutuhan CNN dalam membangun arsitektur yang dapat digunakan pada sistem
mobile. Perbedaan yang cukup mendasar di antara arsitektur Mobilenet dengan CNN
adalah saat menggunakan layer konvolusi yang ketebalan filternya dibuat sesuai dengan
ketebalan input citra daun yang ada. MobileNet terbagi menjadi depthwise convolution
dan pointwise convolution. Arsitektur MobileNet memanfaatkan Batch Normalization
(BN) dan Rectified-Linear 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.
13

Gambar 2.8 Proses Mobilenet (Rohit et al, 2018)

DSC menggantikan konvolusi standard dengan 2 tahap operasi: 1. Depthwise


Convolution dimana setiap filter 𝐷𝐹 × 𝐷𝐹 hanya melakukan proses filter terhadap
sebuah feature map input secara mendalam; 2. Pointwise Convolution yang merupakan
1×1 convolution layer yang digunakan untuk menggabungkan jalur informasi dari
depthwise layer. Ilustrasi DSC dapat dilihat pada Gambar 2.9.

Gambar 2.9 Konvolusi Depthwise (2-5) dan Pointwise (6-7) (Atul, 2018)

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

Tabel 2 Ukuran Parameter dan Komputasi pada Depthwise Separable


Convolution
Layer Ukuran Parameter Ukuran Komputasi
Standard Conv 𝐹 𝑥 𝐹 𝑥 𝐶1 𝑥 𝐶2 𝐹 𝑥 𝐹 𝑥 𝐷𝑀 𝑥 𝐷𝑀 𝑥 𝐶1 𝑥 𝐶2
Depthwise 𝐹 𝑥 𝐹 𝑥 𝐶1 𝐹 𝑥 𝐹 𝑥 𝐷𝑀 𝑥 𝐷𝑀 𝑥 𝐶1
Separable + 1 𝑥 1 𝑥 𝐶1 𝑥 𝐶2 + 1 𝑥 1 𝑥 𝐶1 𝑥 𝐶2

Reduksi ukuran komputasi yang didapat adalah sebagai berikut :

(2)

Dengan begitu, maka reduksi parameter menjadi :

(2.1)

2.5 Single Shot Multibox Detector (SSD)

Perbedaan mendasar antara detector klasik seperti RCNN dan SSD adalah bahwasanya
RCNN menggunakan proposal wilayah sedangkan SSD menggunakan data groundtruth
yang harus ditentukan dalam rangkaian hasil detektor yang lebih jelas. Setelah proses
tersebut 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.

2.6 Tensorflow Lite

Tensorflow Lite merupakan kumpulan alat yang berguna untuk membantu para
developer hingga dapat menjalankan model Tensorflow pada perangkat mobile dan juga
IoT. Tensorflow lite memiliki kemampuan untuk dapat memanfaatkan model yang akan
diimplementasikan ke dalam sebuah perangkat yang memiliki batasan ruang
penyimpanan. Tflite akan mengambil sebuah model tensorflow yang sudah tersedia dan
akan mengubahnya sekaligus mengoptimalkannya kedalam bentu file .tflite. Model
tflite ini akan menjadi bentuk sederhana yang cukup kecil untuk disimpan pada
15

perangkat namun cukup akurat dalam melakukan inferensi yang sesuai. Arsitektur Tflite
dapat dilihat pada gambar 2.10.

Gambar 2.10 Arsitektur Tflite (Laurence, 2018)

Kelebihan yang dimiliki oleh Tflite diantaranya adalah:


A. Konversi model tensorflow ke tensorflow lite dengan mudah dan dapat diotimalkan
untuk perangkat seluler.
B. Mampu mengembangkan aplikasi Machine Learning untuk perangkat iOS dan
Android dengan mudah.
C. Alternatif yang jauh lebih efisien untuk perangkat seluler dibandingkan dengan
model berbasis server.
D. Mengaktifkan inferensi offline di perangkat seluler.
E. Memungkinkan untuk dapat menjalankan model pembelajaran mesin yang cukup
cepat di perangkat seluler sehingga dapat melakukan pembelajaran tanpa menggunakan
API atau server eksternal. Artinya model dapat berjalan di perangkat offline.

Gambar 2.11 Tensorflow Lite Interpreter (Kumar, 2019)


16

2.7 Confusion Matrix


Confusion matrix merupakan alat pengukuran yang dapat digunakan untuk
menghitung kinerja atau tingkat kebenaran proses klasifikasi. Dengan confusion matrix
dapat dianalisa seberapa baik classifier dapat mengenali record dari kelas-kelas yang
berbeda. Tabel confusion matrix ditunjukkan pada tabel 2.1 berikut ini:

Tabel 2.1 Confusion Matrix


Prediksi
Positif Negatif

Positif TP FN
Aktual

Negatif FP TN

Terdapat 4 istilah sebagai representasi hasil proses klasifikasi pada confusion


matrix. Keempat istilah tersebut adalah True Positive (TP), True Negative (TN), False
Positive (FP) dan False Negative (FN) yang penjelasannya adalah sebagai berikut:

a) TP (True Positive) merupakan banyaknya data yang kelas aktualnya adalah


kelas positif dengan kelas prediksinya merupakan kelas positif.
b) FN (False Negative) merupakan banyaknya data yang kelas aktualnya adalah
kelas positif dengan kelas prediksinya merupakan kelas negatif.
c) FP (False Positive) merupakan banyaknya data yang kelas aktualnya adalah
kelas negatif dengan kelas prediksinya merupakan kelas positif.
d) TN (True Negative) merupakan banyaknya data yang kelas aktualnya adalah
kelas negatif dengan kelas prediksinya merupakan kelas negatif.

Selanjutnya, kita dapat menggunakan confusion matrix untuk dapat menghitung


berbagai performance matrix seperti:

2.7.1 Accuracy
Akurasi merupakan metode pengujian berdasarkan tingkat kedekatan antara nilai
prediksi dengan nilai aktual. Dengan mengetahui jumlah data yang diklasifikasikan
secara benar maka dapat diketahui akurasi hasil prediksi. Persamaan akurasi seperti
pada persamaan berikut.

N𝐵𝑒𝑛𝑎𝑟
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = x100% (2.2)
N

2.8.2 Precision
Presisi merupakan metode pengujian dengan melakukan perbandingan jumlah
informasi relevan yang didapatkan sistem dengan jumlah seluruh informasi yang
17

terambil oleh sistem baik yang relevan maupun tidak. Persamaan presisi ditunjukkan
pada persamaan berikut.

TP
Precision = (2.3)
TP+FP

2.8.3 Recall
Recall merupakan metode pengujian yang membandingkan jumlah informasi
relevan yang didapatkan sistem dengan jumlah seluruh informasi relevan yang ada
dalam koleksi informasi (baik yang terambil atau tidak terambil oleh sistem).
Persamaan recall ditunjukkan pada persamaan berikut.

TP
Recall = (2.4)
TP+FN

2.8 Penelitian Terdahulu

Dalam perkembangan penelitian, belum ada penelitian terkait yang meneliti dan
membahas tentang klasifikasi daun mangrove secara realtime, namun ada beberapa
yang sudah pernah dilakukan sebelumnya mengenai klasifikasi daun-daun pada
tumbuhan lain. Seperti yang telah dilakukan oleh (Dani et al, 2016) mengenai klasifikasi
pada daun philodendron menggunakan metode KNN. Setiap piksel citra pada penelitian
ini melalui tahap pengkonversian RGB ke dalam bentuk HSV. Hasil yang didapat akan
diklasifikasi menggunakan metode KNN. Data yang digunakan sebagai sampel
berjumlah 5 kategori dengan data latih pada setiap data uji sebanyak 10 citra. Hasil
akurasi yang diperoleh sebesar 92% dari total data citra uji yaitu 50 data citra. Dalam
penelitian ini juga dilakukan preprocessing dengan metode Gray Level Co-Occuerrenes
Matrices (GLCM) untuk mendapatkan intensitas cahaya yang sesuai sehingga hasil
yang didapatkan diharap akan lebih akurat.

Selanjutnya penelitian dilakukan oleh (Casanova et al, 2009) mengenai


identifikasi daun tanaman menggunakan metode Gabor Wavelets. Penelitian ini
menggunakan Gabor Wavelets untuk dapat mengekstraksi fitur tekstur pada permukaan
daun. Metode ini juga digunakan untuk menambah tingkat keakuratan hasil ekstraksi
pada atribut daun lainnya seperti bentuk, kontur, warna, dan lainnya untuk
meningkatkan persentase klasifikasi daun. Dengan menggunakan data ujis sebanyak 20
citra. Metode ini berhasil menghasilkan tingkat akurasi sebesar 84%.
18

Penelitian berikutnya dilakukan oleh (Javed & Ashraful, 2010) mengenai


identifikasi bentuk daun berdasarkan biometrik tumbuhan. Metode yang digunakan
adalah PNN untuk melakukan klasifikasi fitur bentuk daun untuk identifikasi tanaman.
5 tahapan pada penelitian ini yaitu, pertama, gambar inputan daun diambil melalui
kamera digital, kemudian dipilih titik pangkal daun dan beberapa titik referensi lainnya
pada daun. Berdasarkan titik-titik ini, daun diekstraksi dari backgroundnya dan
merubahnya menjadi gambar biner. Kemudian beberapa fitur seperti luas, keliling,
poros besar, poros kecil, diameter ekuivalen, luas cembung akan diekstraksi. Fitur-fitur
ini akan digunakan sebagai input ke PNN. Penelitian ini menggunakan 1200 data
training dari 30 spesies yang berbeda. Metode yang dipakai kemudian telah diuji
menggunakan teknik 10-cross validating dan menghasilkan akurasi sebesar 91,41%

Selanjutnya penelitian dilakukan oleh (Iffat & Saiful, 2019) mengenai


identifikasi pohon berbasis daun. Penelitian ini menggunakan metode Convolutional
Neural Network (CNN). Penelitian ini mengklasifikasikan berbagai pohon seperti
mangga, neem, hibiscus, jambu biji, lemon, ashoka, curry, sheesham, cachia, dan henna.
Dataset yang digunakan pada penelitian ini berjumlah 10 ribu citra yang dibagi menjadi
8000 data training dan 2000 data uji. Fitur yang ada pada daun diesktrak menggunakan
convolution dan pooling layer yang ada pada CNN. Max pooling adalah layer yang
digunakan di penelitian ini. Hasil penelitian menunjukkan tingkat akurasi yang
mencapai 99,40% pada 10 ribu citra yang ada.

Selanjutnya penelitian dilakukan oleh (Eko, 2016) mengenai deteksi pohon


manga dari bentuk tekstur daun. Penelitian ini menggunakan metode SVM dan FK-
NNC. Pada penelitian ini, menggunakan beberapa fitur antara lain: intensity, kehalusan,
entropi, 5 movement invariant, energi, dan tingkat pada kontras. Pada SVM, dilakukan
sejumlah tes latih sekaligus prediksi dengan jumlah tes latih 3 kali untuk mengetahui
tingkat kinerja sistem. Namun pada FK-NNC proses melakukan prediksi dilakukan
untuk 3-NN, 5-NN, dan 7-NN. Kemudian didapatkan hasil yang berbeda yaitu dengan
menggunakan SVM berada pada tingkat rata-rata 86,67%, sedangkan untuk FK-NNC
berada di angka 89,89%.
19

Penelitian selanjutnya dilakukan oleh (Yahya et al, 2019) mengenai identifikasi


tanaman aprikot berdasarkan karakteristik daun. Penelitian tersebut menggunakan
metode KNN. Dalam penelitian ini, digunakan 339 gambar daun aprikot dari 10 jenis
varietas tumbuhan aprikot. Metode yang ada terdiri dari 3 tahapan utama, yaitu,
segmentasi yang selama prosesnya daun akan dipisahkan dari background yang ada.
Kemudian pada tahapan ekstraksi fitur, 12 fitur morfologi akan diekstrak sesuai dengan
karakteristik daun aprikot. Dan pada tahap klasifikasi, fitur yang sudah diekstrak akan
diklasifikasikan menggunakan KNN menggunakan teknik 10-cross validating dan
berhasil menghasilkan tingkat akurasi sebesar 79,05%. Selanjutnya dapat dilihat pada
table 2.1.

Tabel 2. 2 Penelitian Terdahulu

No Peneliti, Metode/Teknik Keterangan


Tahun

K-Nearest Neigbor
1 (Dani et al., Penelitian ini menggunakan data
2016) yang berjumlah 5 kategori dengan
data latih pada setiap data uji
sebanyak 10 citra. Piksel RGB
yang ada akan dikonversi ke
dalam bentuk HSV sebelum
dilakukan proses klasifikasi
menggunakan KNN. Akurasi
yang dihasilkan mencapai 92%.

2 (Dalcimar et Gabor Wavelets. Penelitian ini menggunakan data


al., 2009) uji sebanyak 20 citra, dan
menggunakan metode Gabor
Wavelets untuk melakukan
ekstraksi fitur permukaan daun
dan atribut lainnya seperti bentuk,
20

warna, kontur. Dan menghasilkan


tingkat akurasi sebesar 84%

3 (Javed & Probabilistic Neural Penelitian ini dilakukan


Ashraful, Network menggunakan 1200 data training
2010) dari 30 spesies yang berbeda.
Daun yang ada akan diekstraksi
fitur-fiturnya seperti luas, keliling,
poros besar, poros kecil, diameter
ekuivalen, dan luas cembung.
Penelitian ini menghasilkan
tingkat akurasi sebesar 91,41%
setelah dilakukan dengan Teknik
10-fold cross validation.

Convolutional Neural
4 (Iffat & Saiful, Penelitian ini mengklasifikasikan
Network (CNN).
2019) berbagai pohon seperti mangga,
neem, hibiscus, jambu biji, lemon,
Ashoka, curry, sheesham, Cachia,
dan henna. Dataset yang
digunakan pada penelitian ini
berjumlah 10 ribu citra yang
dibagi menjadi 8000 data training
dan 2000 data uji. Dan berhasil
menghasilkan tingkat akurasi
sebesar 99,40%.

K-Nearest Neighbor
5 (Yahya et al., Dalam penelitian ini, digunakan
2019) 339 gambar daun aprikot dari 10
jenis varietas tumbuhan apricot.
Metode yang ada terdiri dari 3
tahapan utama yaitu, segmentasi,
kemudian tahapan ekstraksi fitur,
dan pada tahap klasifikasi, fitur
21

yang sudah diekstrak akan


diklasifikasikan menggunakan
KNN dengan Teknik 10-cross
validating dan berhasil
menghasilkan tingkat akurasi
sebesar 79,05%.

6 (Eko, 2016) SVM dan FKNNC Penelitian ini menggunakan


beberapa fitur untuk proses
klasifikasinya, yaitu: intensity,
kehalusan, entropi, 5 movement
invariant, energi, dan tingkat pada
kontras. Akurasi yang dicapai
metode SVM sebesar 86,67%
sedangkan dengan menggunakan
FK-NNC mencapai 88,89%.

Perbedaan penelitian penulis dengan (Dani et al, 2016) adalah terletak pada
metode yang menggunakan KNN. Penelitian yang dilakukan menggunakan 5 klasifikasi
pada data citra sementara penulis hanya memiliki 2 klasifikasi. Penelitian tersebut juga
melakukan proses konversi RGB ke dalam bentuk HSV. Namun sistem yang dibangun
masih berbentuk web, sementara pada penelitian ini berbasis android dan realtime,
dimana akan membuat sistem lebih cepat dan juga efisien.

Penelitian selanjutnya dilakukan oleh (Casanova et al, 2009) dan (Javed &
Ahsraful, 2010) dimana penelitian tersebut menggunakan metode Gabor Wavelets dan
Probabilistic Neural Network (PNN), sedangkan pada penelitian ini menggunakan
metode Mobilenet-SSD. Perbedaan penelitian tersebut terhadap penelitian penulis
adalah, pada penelitian tersebut citra daun diekstrak dari backgroundnya dan dilakukan
konversi menjadi gambar biner. Kemudian fitur seperti luas, keliling, poros besar, dan
kecil, diameter ekuivalen juga turut diekstrak, sementara pada penelitian penulis hanya
22

melakukan perubahan ukuran pada data citra yang ada. Kemudian penelitian tersebut
berbentuk web, sementara penelitian penulis berbasis android.

Selanjutnya, penelitian dilakukan oleh (Iffat & Saiful, 2019), penelitian tersebut
menggunakan metode Convolutional Neural Network (CNN). Perbedaan penelitian
tersebut dengan penulis menggunakan berbagai data pohon seperti mangga, jambu biji,
lemon, curry, dan henna. Penelitian tersebut menunjukkan tingkat akurasi mencapai
99,40% sementara penelitian penulis menghasilkan tingkat akurasi sebesar 93,3%.
Perbedaan lainnya, adalah penelitian tersebut berbasis web sementara penelitian penulis
berbasis android.

Selanjutnya, penelitian oleh (Eko, 2016) menggunakan metode SVM dan


FKNNC yang berbeda dengan yang penulis gunakan. Kemudian Penelitian tersebut
melakukan proses pelatihan data berulang sebanyak 3 kali, dimana penulis hanya
melakukan proses sebanyak satu kali. Perbedaan lainnya adalah penelitian tersebut
berbasis web sementara penelitian penulis berbasis android.

Penelitian selanjutnya dilakukan oleh (Yahya et al, 2019) dimana penelitian


tersebut menggunakan metode K-Nearest Neighbor (KKN) yang berbeda dengan yang
penulis gunakan. Perbedaan selanjutnya adalah pada penelitian tersebut dilakukan
proses segmentasi pemisahan background dengan data yang ada, sementara pada
penelitian penulis, data tetap memiliki latar belakang seperti batang dll. Perbedaan
lainnya adalah penelitian tersebut berbasis web sementara penelitian penulis berbasis
android.
BAB 3
ANALISIS DAN PERANCANGAN SISTEM

3.1 Data yang digunakan

Data berupa daun mangrove yang diperoleh dari Pantai Wisata Mangrove di Kecamatan
Perbaungan Kabupaten Serdang Bedagai dengan format file jpg. Data diambil
menggunakan kamera Samsung Galaxy S10 dengan jarak pengambilan yang cukup
dekat. Pengambilan data dilakukan dalam keadaan cahaya matahari yang cukup. Contoh
dari data citra daun mangrove pada Gambar 3.

Gambar 3 data citra daun mangrove

Terdapat 2 jenis data citra daun mangrove yang diolah pada penelitian ini, yaitu
Avicennia Alba dan Rhizopora Mucronata. Sebanyak 2124 data digunakan yang dapat
dilihat pada Tabel 3.
Tabel 3 Jumlah data

Dataset Data Pelatihan Jumlah Pengujian


Avicennia Alba 1062 230
Rhizopora 1062 194
Mucronata
Jumlah Seluruh
2124 424
Data

Data training digunakan untuk melatih algoritma yang dipakai untuk dapat
memahami informasi-informasi yang ada pada data tersebut.
24

3.2 Analisis Sistem

Di dalam penelitian ini, dilakukan beberapa tahapan. Tahapan yang pertama


mengumpulkan citra daun mangrove yang akan digunakan sebagai data latih. Setelah
itu tahap pre-processing yaitu resizing yang merupakan proses mengubah ukuran citra
data menjadi 640 x 640, kemudian data yang telah melewati tahap resizing selanjutnya
akan melalui tahap labeling, yaitu sebuah proses untuk melakukan anotasi atau
identifikasi terhadap unsur penting di dalam sebuah citra, proses ini akan membuat citra
mampu untuk dibaca oleh sistem yang akan dibangun. Selanjutnya citra yang sudah
melalui proses labeling akan dilakukan ekstraksi fitur dan klasifikasi menggunakan
metode Mobilenet-SSD. Setelah model berhasil terbentuk, model yang ada kemudian
akan diconvert ke dalam bentuk TFLite Model untuk kemudian dapat dimasukkan ke
dalam sistem yang akan dibuat. Setelah tahap-tahap tersebut dilakukan, maka citra daun
mangrove telah berhasil diklasifikasi dan menghasilkan output berupa jenis daun
mangrove. Arsitektur tahap diatas dapat dilihat pada Gambar 3.1.
25

Gambar 3. 1 Arsitektur Umum

3.2.1 Image Acquisition

Tahap ini adalah tahap dimana dilakukan pengambilan data citra daun mangrove yang
akan digunakan sebagai input untuk sistem yang akan dibangun. Citra daun mangrove
diambil menggunakan kamera smartphone. Data daun mangrove yang ada diambil di
pantai mangrove Kecamatan Perbaungan Kabupaten Serdang Bedagai. Citra
berekstensi JPG dengan ukuran 640 x 640 piksel.
26

3.2.2 Image Preprocessing


Berikutnya, citra daun yang sudah dibagi ke dalam data training akan masuk ke dalam
tahap image preprocessing, dimana disini citra daun akan melalui tiga proses.
Tahapannya adalah sebagai berikut.

3.2.2.1 Resizing

Proses pertama yang akan dilakukan pada tahap preprocessing adalah resizing. Pada
tahap ini, dilakukan proses sederhana mengubah ukuran citra daun menjadi berukuran
640 x 640 piksel. Hal ini dilakukan agar citra yang ada dapat diinput ke dalam sistem
dan mengurangi besaran data supaya sistem tidak terlalu berat. Proses resizing akan
direpresentasikan pada gambar 3.2 dibawah ini.

Gambar 3.2 Contoh Proses Resizing


Gambar 3.6 menunjukkan proses resizing dari citra 4x4 piksel menjadi citra
2x2 piksel. Dengan mengambil nilai rata-rata dari 4 piksel terdekat, nilai pada setiap
piksel yang baru didapatkan sebagai berikut:

P1= (224+136+111+126)/4 = 149


P2= (133+27+163+127)/4 = 113
P3= (18+236+121+119)/4 = 124
P4= (13+181+131+227)/4 = 138

Proses perhitungan resizing pada citra 4x4 piksel dapat juga dilakukan pada citra daun.
Citra daun sebelum dan setelah melalui tahap resizing dapat dilihat pada Gambar 3.3.

Gambar 3. 3 Citra daun sebelum resizing (kiri), citra daun setelah resizing (kanan)
27

Proses dari resizing ini dapat dilihat pada pseudocode dibawah ini:

FUNCTION resize(path):
img <- cv2.imread(path)
r_img <- cv2.resize(img, (640, 640))
cv2.imwrite(path_save, r_img)
ENDFUNCTION

Langkah pertama adalah melakukan pemanggilan citra daun yang sebelumnya telah
dikumpulkan menjadi satu folder. Setelah itu, citra daun yang ada pada folder tersebut
akan melalui proses resize dengan ukuran 640x640 untuk dapat memperingan proses
pada saat training. Hasil dari proses resize tersebut akan dikumpulkan ke dalam suatu
folder yang baru.

3.2.2.2 Labeling

Tahapan selanjutnya setelah citra selesai melalui tahap resizing adalah labeling. Pada
tahap ini, dilakukan proses memberikan sebuah label kepada citra untuk mendapat
objek khusus yang akan mampu dibaca oleh sistem. Labeling yang dilakukan pada citra
dibuat menggunakan aplikasi Labellmg yang berfungsi untuk memberikan label pada
citra daun mangrove berdasarkan kategori yang sudah ditentukan. Output yang
dikeluarkan adalah citra daun yang sudah dilabel akan tersimpan dalam bentuk xml.
Informasi yang tersimpan dalam file xml tersebut berupa klasifikasi dari objek khusus
yang sudah ditandai beserta koordinat dari objek yang berguna pada proses selanjutnya.
Adapun proses melakukan labeling dapat dilihat pada gambar dibawah ini.

Gambar 3. 4 Pemberian Rectbox


28

Gambar 3. 5 Pemberian Label

Gambar 3. 6 Hasil Pelabelan

Pada Gambar pertama proses yang terjadi adalah pemberian rectbox yang berguna
untuk menandai citra daun yang sudah diimport ke dalam aplikasi labelimg.
Selanjutnya, citra yang objeknya sudah ditandai menggunakan rectbox akan
diklasifikasi berdasarkan kategori daun mangrove yang ada. Pada contoh diatas adalah
daun Avicennia Alba. Setelahnya, hasil citra yang sudah diklasifikasi akan ditandai
dengan nama kategorinya di kolom sebelah kanan. Data akan diexport dalam bentuk
xml yang sudah menyimpan informasi jenis klasifikasi daun, serta titik koordinat
objek berupa daun yang ada pada citra.

Gambar 3.7 Hasil Pelabelan


29

3.2.2.3 Convert TFRecord

Tahapan selanjutnya adalah Convert TFRecord. Pada tahap ini, data pelabelan berupa
xml selanjutnya akan diubah ke dalam bentuk File Tensorflow Record (TFRecord). Hal
ini dilakukan akibat data yang ada cukup banyak dan mengakibatkan ukuran yang
cukup besar. Melalui TFRecord, data yang ada akan disimpan ke dalam bentuk string
biner. Sehingga akan berdampak terhadap kecepatan proses training yang akan
dilakukan selanjutnya. Data xml dan citra berupa daun mangrove akan diconvert
menjadi file TFRecord. Data yang sudah diconvert menjadi file TFRecord ini akan
menggunakan lebih sedikit ruang pada disk sehingga proses yang akan dilakukan sistem
akan membutuhkan waktu yang lebih sedikit pula.

Gambar 3.8 Data .xml setelah diconvert ke dalam tabel .csv


Sebelumnya, citra daun yang sudah berbentuk xml akan diconvert ke dalam
tabel .csv untuk membuat sistem dapat memetakan hasil citra yang sudah melalui proses
pelabelan. Selanjutnya, file yang sudah diconvert akan diconvert kembali ke dalam
bentuk TFRecord yang akan digunakan untuk proses training selanjutnya.

Gambar 3.9 Sebelum convert TFRecord (kiri), setelah convert TFRecord (kanan)
Langkah-langkah dalam convert ke bentuk TFRecord dapat dilihat pada
pseudocode dibawah ini:
30

FUNCTION 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]

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']))
ENDFOR

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':
31

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_exampl
ENDFUNCTION

3.2.3 Image Classification

Selanjutnya pada tahap ini, data training yang sudah ada akan melalui tahap klasifikasi
jenis daun mangrove dengan menggunakan Mobilenet-SSD. Mobilenet-SSD terdiri dari
SSD yang berperan sebagai base model, dan Mobilenet sebagai network model. SSD
akan mengatur pendeteksian objek dengan bounding box sementara Mobilenet akan
bekerja untuk mengekstrak fitur yang nantinya akan diklasifikasi. Dua fitur utama
dalam Mobilenet-SSD adalah sebagai berikut.

3.2.3.1 Extract Feature Maps


SSD menggunakan VGG16 untuk mengekstrak feature maps yang kemudian
mendeteksi objek menggunakan Conv4_3 layer. SSD akan memprediksi anchor box
offset yang telah ditentukan sebelumnya untuk setiap lokasi feature maps. Setiap kotak
akan memiliki ukuran dan posisi yang tetap pada sel. Feature Maps akan diskalakan
ulang sehingga hanya bertanggung jawab untuk objek pada skala tertentu.

Gambar 3.10 Default Box di Feature Maps


SSD menandai area bounding box yang diprediksi kepada default bounding box melalui
berbagai skala dan rasio untuk setiap lokasi feature map. SSD membandingkan objek
dengan default bounding box dengan berbagai rasio selama masa training. Setiap
32

default box dengan IoU > 0.5 dikategorikan cocok. Setiap sel atau lokasi yang ada, akan
terbuat 4 objek prediksi. Setiap prediksi terdiri dari kotak batas sebagai kelas untuk
objek yang dibatasi.

Gambar 3.11 Foto Asli (Kiri), 4 Objek Prediksi tiap sel atau lokasi (kanan)

Proses memberikan objek prediksi ini disebut dengan multibox (Szegedy et al, 2016).
SSD akan membuat banyak prediksi berisi bounding box dan confidence scores.

3.2.3.2 Convolution Filters


SSD dalam prosesnya tidak menggunakan jaringan proposal region yang didelegasikan.
Sebaliknya, SSD menggunakan metode yang sangat sederhana, yaitu menghitung sel
atau lokasi dan confidence scores menggunakan filter konvolusi yang kecil. Setelah
melakukan Extract Feature Maps, SSD akan menerapkan filter konvolusi 3 x 3 untuk
setiap sel atau lokasi yang berguna untuk membuat prediksi. Proses ini akan bekerja
untuk menyesuaikan posisi bounding box dengan ground truth boxes yang asli.
Penyesuaian ini jauh lebih baik daripada melakukan prediksi dengan koordinat yang
acak. Untuk itu Multibox akan bekerja sebagai prediksi untuk memastikan bounding
box berada di posisi yang dekat dengan ground truth boxes yang asli.
33

Gambar 3.12 Penyesuaian posisi Bounding Box dengan Ground-Truth

3.2.4 Learned Model

Setelah proses training, kita akan mendapatkan sebuah file learned model yang bernama
savedmodel dengan ekstensi .pb dikarenakan menggunakan Tensorflow versi 2.
Informasi yang ada di dalam file tersebut berupa sebuah grafik serta weights (bobot)
model hasil training, dimana objek daun mempunyai 2 klasifikasi yaitu Mucronata dan
Avicennia. Hasil klasifikasi data training yang ada akan menjadi learned model.
Learned model tersebut merupakan sebuah data yang sudah dilatih untuk selanjutnya
akan di convert ke dalam bentuk Tensorflow Lite agar bisa digunakan pada aplikasi
mobile berbasis android.

3.2.5 TF Lite Model


Pada tahap sebelumnya, hasil training mengeluarkan output berupa savedmodel yang
berekstensi .pb. Pada tahap ini, file tersebut akan diconvert ke dalam bentuk tensorflow
lite. File diconvert ke dalam bentuk tflite dikarenakan sistem yang akan dibangun akan
berbasis android. Tensorflow Lite menyediakan sebuah framework untuk model
tensorflow yang sudah selesai dilatih untuk selanjutnya akan dikompresi lalu diterapkan
pada perangkat mobile, hal ini menyebabkan file yang telah diconvert ke dalam bentuk
tflite akan berubah menjadi ukuran biner yang lebih kecil untuk bisa masuk ke dalam
perangkat mobile.
34

Proses convert ke dalam bentuk TFLite dapat dilihat pada code dibawah ini:

Langkah pertama yang dilakukan adalah memanggil file saved_model yang telah
selesai ditraining pada tahap sebelumnya. Kemudian menggunakan syntax yang telah
disediakan oleh tflite dilakukan proses convert ke dalam bentuk tflite agar bisa masuk
ke dalam sistem mobile. File yang telah diconvert akan disimpan dengan nama
modeldaun.tflite.

3.2.6 Proses Training


Proses training merupakan sebuah tahapan implementasi menggunakan metode
Mobilenet-SSD. Seluruh data yang ada akan diberi label dan menghasilkan sebuah file
xml yang kemudian akan diconvert menjadi file train.record dan akan digunakan
sebagai data input pada proses training.

Setelah semua data untuk proses training telah ada, maka selanjutnya adalah
menentukan nilai seperti nilai input citra, bobot, batch size, dan jumlah steps maksimal
yang akan diatur dalam konfigurasi pipeline. Sebelum melakukan konfigurasi,
diperlukan sebuah labelmap sebagai data klasifikasi objek yang akan digunakan oleh
sistem. File tersebut bernama labelmap.txt yang berisikan banyaknya kategori dan nama
dari kategori tersebut.
35

File labelmap.txt tersebut dapat dilihat dibawah ini:

Proses training pada penelitian ini menggunakan Mobilenet-SSD serta tensorflow-gpu


2.3.0. Proses training pada penelitian ini dapat dilihat pada code dibawah ini:
36

Setelah proses training selesai, akan menghasilkan sebuah model dengan ekstensi .pb
yang kemudian akan dikonversi ke dalam bentuk tflite agar dapat digunakan pada
perangkat mobile.

Gambar 3.13 Proses Training

3.2.7 Proses Testing


Selanjutnya adalah proses testing yang merupakan tahapan pengujian dari model yang
sudah terbentuk setelah proses training di tahap sebelumnya. Proses ini dilakukan untuk
dapat mengetahui apakah model yang sudah ada dapat dibaca oleh sistem, apakah objek
yang sudah dibuat berupa jenis daun dapat dikenali oleh sistem, dan apakah sistem dapat
melakukan klasifikasi objek daun mangrove menjadi dua kategori yaitu Mucronata dan
Avicennia, serta untuk menghitung tingkat keakuratan metode Mobilenet-SSD yang
telah diterapkan pada sistem klasifikasi jenis daun mangrove di penelitian ini.

3.2.8 Output
Adalah hasil akhir dari sistem yang telah dibuat yaitu berupa informasi akurasi dan
bounding box yang menunjukkan hasil klasifikasi daun mangrove dengan 2 kategori
yaitu Mucronata dan Avicennia yang dilakukan pada saat proses testing.

3.2.9 Use Case Diagram


Tahap ini bertujuan untuk memberikan penjelasan mengenai interaksi antara user dan
sistem agar dapat mengetahui berbagai fungsi yang ada pada sistem.
37

Gambar 3.14 Use Case Diagram


Keterangan:
1. User
Adalah pengguna aplikasi yang bertujuan untuk melakukan interaksi dengan sistem
untuk mendapatkan informasi hasil klasifikasi objek.
2. Use Case
Adalah penjelasan bagaimana sistem yang terjadi.
Tabel 3.1 Definisi Use Case
Use Case Deskripsi
Masuk ke dalam aplikasi Tampilan saat dibuka adalah langsung
tampilan kamera untuk menangkap objek
Mengarahkan kamera ke objek Kegiatan yang dilakukan untuk
mengarahkan kamera ke objek daun
mangrove
Tampil respon User mendapatkan respon dari sistem
berupa hasil klasifikasi daun mangrove

3.3 Perancangan Antarmuka Sistem

Perancangan pada sistem serta menampilkan juga mendeskripsikan sistem yang ada
berupa gambaran klasifikasi jenis daun mangrove dilakukan pada tahapan ini. Sistem
yang dibangun menggunakan Tensorflow Lite sehingga hanya terdiri dari satu tampilan
yang dijalankan pada android, tampilan tersebut memuat hasil dari klasifikasi daun
mangrove, disertai dengan bounding box yang akan langsung melakukan pengkotakan
38

ke objek yang ada pada saat kamera bekerja. Rancangan antarmuka ini dapat dilihat
pada gambar dibawah.

Gambar 3.15 Perancangan Antarmuka Sistem


39

BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi Sistem

Proses melakukan klasifikasi pada daun mangrove menggunakan citra daun mangrove
menggunakan metode Mobilenet-SSD memerlukan beberapa perangkat yang akan
mendukung proses penelitian, yaitu:

4.1.1 Perangkat Keras dan Perangkat Lunak

Beberapa perangkat keras dan juga lunak yang digunakan adalah:


1. Intel Core™ i5-1135G7 2.40Ghz
2. RAM 8GB
3. Windows 10 Home
4. 512 GB SSD
5. Samsung Galaxy S10
6. Python versi 3.6.8
7. Android Studio
8. Labellmg

4.1.2 Implementasi Data

Data daun mangrove diambil menggunakan Samsung Galaxy S10. Pengambilan data
dilakukan di Kecamatan Perbaungan Kabupaten Serdang Bedagai dalam dua waktu
yang berbeda. Data yang diambil terdiri dari 2 jenis klasifikasi, yaitu daun Rhizphora
Mucronata dan daun Avicennia Alba. Ujicoba sistem akan dilakukan menggunakan
sistem mobile menggunakan Tensorflow Lite. Foto berukuran 640 x 640 piksel dengan
bentuk JPG. Klasifikasi data dapat dilihat pada gambar di bawah ini.
40

Gambar 4 Data citra daun mangrove kategori Mucronata

Gambar 4.1 Data citra daun mangrove kategori Alba

4.1.3 Implementasi Perancangan Antarmuka

4.1.3.1 Tampilan Halaman Utama

Merupakan tampilan yang pertama kali muncul saat aplikasi sudah mendapatkan izin
untuk mengakses kamera, sistem akan langsung mendeteksi objek dan
mengklasifikasikan objek jika berada di jangkauan kamera, dan akan menampilkan
bounding box untuk output klasifikasinya. Tampilan tersebut dapat dilihat pada Gambar
4.2.
41

Gambar 4.2 Tampilan Halaman Awal

4.2 Prosedur Operasional

Tampilan sistem yang dibangun adalah halaman utama sistem deteksi daun, halaman
tersebut berisikan kamera untuk mendeteksi objek daun mangrove yang terlihat dan
mengklasifikasikannya menjadi daun mangrove rhizophora mucronata atau avicennia
alba.
Pertama, user akan menekan aplikasi deteksi daun untuk membukanya, sistem
akan meminta izin hak akses kamera untuk menggunakannya, kemudian sistem akan
mulai menjalankan proses deteksi secara realtime. Objek daun mangrove yang
terdeteksi akan langsung menghasilkan bounding box yang menunjukkan hasil
klasifikasi daun mangrove dan juga persen untuk menandakan tingkat keakuratan
sistem dalam mendeteksi objek tersebut. Adapun tampilan saat aplikasi digunakan
dapat dilihat pada gambar 4.3.
42

Gambar 4.3 Tampilan Utama Aplikasi

4.3 Pengujian Sistem

Pada tahap ini dilaksanakan tes uji kepada sistem yang sudah dibuat untuk melihat
kemampuan untuk dapat mendeteksi dan mengklasifikasikan objek daun mangrove.
Pengujian dilakukan terhadap 424 gambar daun mangrove. Beberapa hasil deteksi daun
mangrove dapat dilihat pada tabel 4.

Tabel 4 Hasil pengujian proses ekstraksi ciri dan klasifikasi

Actual Desired
No Data Daun Keterangan
Output Output

1 Mucronata Mucronata Berhasil


43

2 Mucronata Mucronata Berhasil

3 Mucronata Mucronata Berhasil

4 Mucronata Mucronata Berhasil

5 Avicennia Mucronata Gagal


44

6 Mucronata Mucronata Berhasil

7 Avicennia Avicennia Berhasil

8 Mucronata Avicennia Gagal

9 Avicennia Avicennia Berhasil


45

10 Avicennia Avicennia Berhasil

11 Mucronata Mucronata Berhasil

12 Avicennia Avicennia Berhasil

13 Avicennia Avicennia Berhasil


46

14 Avicennia Avicennia Berhasil

15 Avicennia Avicennia Berhasil

16 Mucronata Mucronata Berhasil

17 Avicennia Mucronata Gagal


47

18 Mucronata Mucronata Berhasil

19 Mucronata Mucronata Berhasil

20 Avicennia Avicennia Avicennia

21 Avicennia Avicennia Berhasil


48

22 Avicennia Mucronata Gagal

23 Mucronata Mucronata Berhasil

24 Mucronata Avicennia Gagal

25 Mucronata Mucronata Berhasil


49

26 Mucronata Mucronata Berhasil

27 Mucronata Mucronata Berhasil

28 Avicennia Avicennia Berhasil

29 Avicennia Avicennia Berhasil


50

30 Avicennia Avicennia Berhasil

Berdasarkan pengujian sistem yang telah dilakukan pada daun mangrove,


diperoleh nilai akurasi mencapai 93%, terdapat beberapa kesalahan yang dilakukan oleh
sistem dalam melakukan klasifikasi jenis daun mangrove dari total 424 pengujian yang
dilakukan.
Adapun penyebab kesalahan data yang ada dikarenakan banyaknya bentuk daun
yang bentuknya hampir serupa satu sama lain dalam data yang ada setelah melalui tahap
resizing sehingga sistem mendapatkan kesulitan yang lebih saat mendeteksi perbedaan
antara kedua daun yang ada.
Kemudian, dilakukan pengujian pengambilan data dengan beberapa jarak untuk
mengetahui jarak yang optimal untuk sistem dapat mendeteksi objek yang ada.

a. Jarak 5 cm

Gambar 4.4 Pengambilan data dengan jarak 5 cm


51

b. Jarak 10 cm

Gambar 4.5 Pengambilan data dengan jarak 10 cm

c. Jarak 20 cm

Gambar 4.6 Pengambilan data dengan jarak 20 cm


52

d. Jarak 40 cm

Gambar 4.6 Pengambilan data dengan jarak 40 cm

Dari pengujian diatas, ditemukan bahwasanya sistem sudah tidak bisa


mendeteksi objek yang ada ketika berada di jarak 40 cm, namun dapat mendeteksi
dengan baik saat berada di jarak 5-30 cm dari objek.

Tabel 4.1 Confusion Matrix


Rhizophora Avicennia Total
Mucronata Alba
Rhizophora 174 20 194
Mucronata
Avicennia Alba 8 222 230
Total 182 242 424

Tabel 4.1 diatas menjelaskan bahwa sistem mengalami beberapa kesalahan saat
mendeteksi daun Rhizophora Mucronata, namun sedikit kesalahan saat melakukan
deteksi pada daun Avicennia Alba.
53

Tabel 4.2 Nilai TP, FP dan FN dari Daun Mangrove


TP FP FN
Rhizophora 174 20 3
Mucronata
Avicennia Alba 222 8 1
Total 396 28 4

Dari pengujian data pada tabel 4.2 didapatkan sebanyak 396 data TP yaitu True
Positive, dimana data positif terklasifikasi oleh sistem dengan benar. Selanjutnya,
24 data FP yaitu False Positive dimana data tidak tepat namun sistem
mendeteksinya benar, dan FN sebanyak 4 data yaitu sistem salah mendeteksi objek
sehingga sistem mendeteksinya dengan nilai yang lain.

Kemudian pada hasil training yang telah dilakukan, didapatkan nilai akurasi dari
hasil klasifikasi, yaitu precission, recall, F-Score. Penjelasan ada pada tabel 4.3.
Tabel 4.3 Nilai Precission, Recall dan F-Score
Precision Recall F1-Score
Rhizophora 0,91 0,98 0,94
Mucronata
Avicennia Alba 0,96 0,99 0,97

Pada tabel di atas terdapat Precission yaitu perbandingan antara nilai prediksi
benar dengan seluruh hasil yang benar. Adapun rumusnya yaitu :
(TP) / (TP+FP).
Recall yaitu perbandingan antara nilai prediksi yang benar dengan seluruh data
benar. Adapun rumusnya yaitu
Recall = (TP) / (TP + FN)
F1-Score merupakan perbandingan rata-rata antara nilai presisi dengan nilai
recall. Adapun rumus F1-Score yaitu :
F1 Score = 2 * (Recall*Precission) / (Recall + Precission)

Berikut persamaan yang digunakan untuk menghitung akurasi dari pengujian data.

\ 𝐽𝑢𝑚𝑙𝑎ℎ 𝐶𝑖𝑡𝑟𝑎 𝑦𝑎𝑛𝑔 𝑏𝑒𝑛𝑎𝑟


𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = 𝐽𝑢𝑚𝑙𝑎ℎ 𝑘𝑒𝑠𝑒𝑙𝑢𝑟𝑢ℎ𝑎𝑛 𝐶𝑖𝑡𝑟𝑎 X 100%
54

396 X 100%
𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = = 93,3 %
424

Penelitian dengan judul Klasifikasi Daun Mangrove Menggunakan Mobilenet-


SSD Berbasis Mobile Secara Realtime mampu melakukan klasifikasi daun mangrove
dengan mendapatkan tingkat akurasi sebesar 93,3%. Sistem yang ada mampu
melakukan klasifikasi daun mangrove secara realtime menggunakan android.
Terdapat error sebesar 6,7% yang terjadi pada sistem dalam melakukan
pendeteksian dikarenakan kemiripan yang terjadi di antara beberapa daun Avicennia
Alba yang telah melalui tahap resizing dengan daun Rhizopora Mucronata dan
sebaliknya. Bentuk kedua daun beberapa kali memiliki kemiripan setelah dilakukan
proses resizing sehingga membuat sistem memiliki kesulitan lebih dalam melakukan
pendeteksian untuk mengklasifikasikan daun mangrove.
Berikut adalah gambar bentuk kedua daun yang mirip ketika proses resize telah
dilakukan.

Gambar 4.4 Avicennia Alba setelah resizing (kiri), Rhizopora Mucronata asli (kanan)
55

Gambar 4.4 Mucronata setelah resizing (atas kiri dan bawah), Avicennia Alba asli
(atas kanan)

Hal diatas terjadi dikarenakan pada saat pengambilan data, ada beberapa daun
avicennia alba yang datanya diambil dengan posisi terlalu dekat, sehingga saat
melakukan resizing, foto yang mengalami downscale menjadi melebar sehingga
menyerupai bentuk asli daun mucronata. Faktor lainnya adalah pada saat melakukan
pengambilan data daun mucronata, beberapa daun diambil dalam keadaan datar
menyamping sehingga nyaris berbentuk pipih, daun tersebut kemudian mengalami
proses downscale dan mengakibatkan bentuk yang mirip dengan daun avicennia alba
yang asli.
56

BAB 5
PENUTUP

5.1 Kesimpulan

1. Penelitian ini menggunakan Metode Mobilenet-SSD dan dapat melakukan


klasifikasi pada daun mangrove dengan dua klasifikasi yaitu Mucronata dan
Avicennia. Sistem menghasilkan tingkat akurasi sebesar 93,3%.
2. Adapun faktor yang membuat tingkat akurasi tidak sempurna pada penelitian
yang telah dilakukan ini adalah kesalahan yang terjadi pada proses klasifikasi
daun mangrove. Hal itu disebabkan karena terjadinya kemiripan di antara
beberapa daun Rhizophora Mucronata dengan daun Avicennia Alba, dimana
objek daun tersebut memiliki bentuk yang mirip setelah melalui proses resizing
sehingga membuat sistem memiliki kesulitan lebih saat melakukan proses
klasifikasi.
3. Proses pengujian dilakukan terhadap objek citra daun mangrove, selanjutnya
objek tersebut akan ditangkap oleh kamera android secara realtime.
4. Dalam proses pengujian, diperlukan jarak yang cukup dekat untuk dapat
menghasilkan akurasi yang maksimal
5. Jarak maksimal saat pengujian data adalah 30 cm.
6. Diperlukan cahaya yang cukup untuk mendapatkan hasil optimal dalam proses
pengujian

5.2 Saran

1. Menggunakan metode yang lain sebagai perbandingan pada hasil klasifikasi


daun mangrove dari citra daun mangrove yang diperoleh menggunakan metode
Mobilenet-SSD.
2. Menambahkan klasifikasi daun mangrove jenis yang lainnya secara realtime.
3. Dapat digunakan pada perangkat dengan spesifikasi rendah
4. Melakukan proses resizing dengan mempertahankan ukuran asli aspek rasio
pada citra.
DAFTAR PUSTAKA

Aji, A. F., Munajat, Q., Pratama, A. P., Kalamullah, H., Aprinaldi, Setiyawan, J., &
Arymurthy, A. M. (2013). Detection of Palm Oil Leaf Disease with Image
Processing and Neural Network Classification on Mobile Device. International
Journal of Computer Theory and Engineering, 5(3), 528–532.

Alamsyah, S. F. (2019). Implementasi Deep Learning Untuk Klasifikasi Tanaman. 2,


113–122.

Altuntaş, Y. (n.d.). Identification of Apricot Varieties Using Leaf Characteristics and


KNN Classifier Yaprak Karakteristikleri ve KNN S ınıflandırıcısı K ullanılarak K
ayısı Çeşitlerinin Belirlenmesi.

Casanova, D., De Mesquita Sá, J. J., & Bruno, O. M. (2009). Plant leaf identification
using gabor wavelets. International Journal of Imaging Systems and Technology,
19(3), 236–243. https://doi.org/10.1002/ima.20201

Casanova, D., De Mesquita Sá, J. J., & Bruno, O. M. (2009). Plant leaf identification
using gabor wavelets. International Journal of Imaging Systems and Technology,
19(3), 236–243. https://doi.org/10.1002/ima.20201

Hossain, J., & Amin, M. A. (2010). Leaf shape identification based plant biometrics.
Proceedings of 2010 13th International Conference on Computer and Information
Technology, ICCIT 2010, Iccit, 458–463.
https://doi.org/10.1109/ICCITECHN.2010.5723901

Ilahiyah, S., & Nilogiri, A. (2018). Implementasi Deep Learning Pada Identifikasi
Jenis Tumbuhan Berdasarkan Citra Daun Menggunakan Convolutional Neural
Network. JUSTINDO (Jurnal Sistem Dan Teknologi Informasi Indonesia), 3(2),
49–56.

Liantoni, F., & Nugroho, H. (2015). Klasifikasi Daun Herbal Menggunakan Metode
Naïve Bayes Classifier Dan Knearest Neighbor. Jurnal Simantec, 5(1), 9–16.

Muchtar, M., & Cahyani, L. (2016). Klasifikasi Citra Daun dengan Metode Gabor Co-
Occurence. Jurnal ULTIMA Computing, 7(2), 39–47.
https://doi.org/10.31937/sk.v7i2.231

Ni’mah, F. S., Sutojo, T., & Setiadi, D. R. I. M. (2018). Identifikasi Tumbuhan Obat
Herbal Berdasarkan Citra Daun Menggunakan Algoritma Gray Level Co-
58

occurence Matrix dan K-Nearest Neighbor. Jurnal Teknologi Dan Sistem


Komputer, 6(2), 51. https://doi.org/10.14710/jtsiskom.6.2.2018.51-56

Prasetyo, E., Studi, P., Informatika, T., Teknik, F., & Bhayangkara, U. (n.d.).
Berdasarkan Tekstur Daun Menggunakan Svm Dan Fk-Nnc. 121–128.

Rahayu, A. P., Honainah, & Pawening, R. E. (2016). Klasifikasi Jenis Mangga


Berdasarkan Bentuk dan Tekstur Daun Menggunakan Metode K-Nearest
Neighboor. Prosiding SENTIA, ISSN 2085-2347, 8, 247–253.

Syahid, D., Jumadi, J., & Nursantika, D. (2016). Sistem Klasifikasi Jenis Tanaman
Hias Daun Philodendron Menggunakan Metode K-Nearest Neighboor (KNN)
Berdasarkan Nilai Hue, Saturation, Value (HSV). Jurnal Online Informatika,
1(1), 20. https://doi.org/10.15575/join.v1i1.6

Martosubroto, P., Naamin, P.(1977). Relationship Between Tidal Forests (Mangroves)


and Commercial Shrimp Production in Indonesia.81-86.

Zarrin, I., & Islam, S. (2019). Leaf Based Trees Identification Using Convolutional
Neural Network. 2019 IEEE 5th International Conference for Convergence in
Technology, I2CT 2019, 1–4. https://doi.org/10.1109/I2CT45611.2019.9033914
59

LAMPIRAN SOURCE CODE

Resizing

import cv2
import os

# path of the folder whose images is to be resized.


path = 'Mucronata'

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('Mucronataresize/{}'.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.

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),
member[0].text,
int(member[4][0].text),
60

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 ['test','train']:
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(direc
tory), index=None)
print('Successfully converted xml to csv.')

main()

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
61

sys.path.append("C:\\users\\user\\tensorflow\\models\\res
earch\\")

sys.path.append("C:\\users\\user\\tensorflow\\models\\res
earch\\object_detection\\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', '',
'C:\\users\\user\\tensorflow\\training_demo\\images\\data
')

flags.DEFINE_string('output_path', '',
'C:\\users\\user\\tensorflow\\training_demo\\images\\data
')

flags.DEFINE_string('image_dir', '',
'C:\\users\\user\\tensorflow\\training_demo\\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 == 'mucronata':

print('row_label====' + row_label)

return 1

elif row_label == 'avicennia':

print('row_label====' + row_label)

return 2
62

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]

for index, row in group.object.iterrows():


63

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),
64

'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()
65

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_example
s', 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 '


66

'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'

'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(
67

'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_exam
ples,

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:
68

if FLAGS.use_tpu:

# TPU is automatically inferred if tpu_name is None


and

# we are running under cloud ai-platform.

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,
69

record_summaries=FLAGS.record_summaries)

if __name__ == '__main__':

tf.compat.v1.app.run()

Anda mungkin juga menyukai