KLASIFIKASI TUMBUHAN ANGIOSPERMAE BERDASARKAN …
Transcript of KLASIFIKASI TUMBUHAN ANGIOSPERMAE BERDASARKAN …
KLASIFIKASI TUMBUHAN ANGIOSPERMAE BERDASARKAN
BENTUK TULANG DAUN MENGGUNAKAN
PROBABILISTIC NEURAL NETWORK
SKRIPSI
MARISA RAUDIAH
161402080
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2021
KLASIFIKASI TUMBUHAN ANGIOSPERMAE BERDASARKAN
BENTUK TULANG DAUN MENGGUNAKAN
PROBABILISTIC NEURAL NETWORK
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana
Teknologi Informasi
MARISA RAUDIAH
161402080
PROGRAM S1 STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2021
i
ii
PERNYATAAN
KLASIFIKASI TUMBUHAN ANGIOSPERMAE BERDASARKAN BENTUK
TULANG DAUN MENGGUNAKAN PROBABILISTIC NEURAL NETWORK
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 24 Juni 2021
Marisa Raudiah
iii
UCAPAN TERIMA KASIH
Puji dan syukur penulis panjatkan kepada kehadirat Allah SWT, karena dengan
rahmat dan karunia-Nya penulis dapat menyelesaikan skripsi untuk memperoleh gelar
Sarjana Komputer, pada Program Studi S1 Teknologi Informasi Fakultas Ilmu
Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Ucapan terima kasih kepada semua pihak yang secara langsung ataupun tidak
langsung membantu penulis menyelesaikan skripsi ini. Di kesempatan ini penulis
mengucapkan terima kasih kepada:
1. Keluarga penulis, Ayahanda Ahmad Supiyanto, S.E. dan Ibunda Farida
Aryani, Ak., M.Si. yang tidak henti-hentinya senantiasa mendoakan,
membesarkan, merawat, memberikan semangat, memberi ilmu, memberikan
kasih sayang yang tiada batasnya kepada penulis. Kepada nenek penulis, Sri
Aryanti yang selalu memberi perhatian kepada penulis. Kepada kakak
penulis, Aida Fitryani, S.T. dan adik penulis Muhammad Hafid Malik yang
menjadi guru, penyemangat, pendukung, dan teman dalam setiap waktu.
Kepada kucing penulis, Juju yang selalu menjadi penghibur penulis selama
masa penulisan Tugas Akhir.
2. Ibu Sarah Purnamawati, ST., M.Sc. selaku Dosen Pembimbing 1 dan Bapak
Ivan Jaya, S.Si., M.Kom. selaku Dosen Pembimbing 2 yang telah
memberikan ilmu, bimbingan, motivasi, kritik, dan saran kepada penulis
dalam menjalani Tugas Akhir yang tidak ternilai harganya.
3. Bapak Prof. Dr. Drs. Opim Salim Sitompul, 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., M.Sc., selaku Sekretaris Program Studi S1
Teknologi Informasi Universitas Sumatera Utara.
iv
6. Seluruh Dosen Program Studi S1 Teknologi Informasi yang telah
memberikan ilmu yang bermanfaat bagi penulis selama masa perkuliahan.
7. Staff dan juga pegawai Fasilkom-TI Universitas Sumatera Utara yang
membantu urusan administrasi dalam menyelesaikan skripsi.
8. Muhammad Alisiraj Fachreza Siregar yang telah menemani penulis sejak
awal perkuliahan hingga sekarang, selalu ada di segala situasi, baik suka
maupun duka, memberikan semangat yang tak henti-henti, dan membantu
penulis selama masa perkuliahan.
9. Teman-teman seperjuangan hidup dan perkuliahan, Hanna Rabitha Hasni,
Audry Welvira, dan Sarah Charisa Yosephin Pasaribu yang telah
menyemangati, memberi dukungan dan bantuan tiada henti kepada penulis
serta sebagai tempat berkeluh kesah selama masa perkuliahan.
10. Teman-teman Menantu Idaman, yaitu Riri, Rara, Yasmin, Melati, Adine,
Manda, Dessy, Dita, dan Pika yang selalu menjadi penyemangat dan
membantu penulis dalam menjalani masa perkuliahan.
11. Teman-teman masa sekolah penulis, Icut, Kesuma, Indah, Edo, Rizka, Tasya,
Jeli, dan Danty yang masih terus menjalin persahabatan dengan penulis.
12. Teman-teman Beta Tester yang telah mengisi masa perkuliahan penulis
dalam susah maupun senang.
13. Teman-teman pengisi waktu luang penulis, Andra, Aditama, dan Syaika.
14. Teman-teman Teknologi Informasi angkatan 2016 yang telah berjuang
bersama penulis dalam menghadapi perkuliahan.
Medan, 24 Juni 2021
Penulis
v
ABSTRAK
Angiospermae merupakan tumbuhan biji tertutup yang dibagi menjadi 2 jenis, yaitu
monokotil (berkeping 1) dan dikotil (berkeping 2). Sekitar 90% tumbuhan yang hidup
saat ini merupakan tumbuhan Angiospermae. Namun, begitu banyaknya
keanekaragaman tumbuhan jenis Angiospermae yang ada menyebabkan proses
identifikasi secara biologis menjadi kurang efektif. Sistem cerdas menjadi solusi yang
diharapkan dapat memudahkan proses identifikasi maupun pembelajaran tumbuhan
dikotil dan monokotil menjadi lebih mudah dan cepat. Penelitian ini menggunakan
metode Probabilistic Neural Network. Data yang digunakan ialah citra daun
angiospermae berjumlah 1.800 citra dimana 880 citra merupakan 5 jenis tumbuhan
monokotil dan 920 citra merupakan 5 jenis tumbuhan dikotil. Data dibagi menjadi
data training dan data testing, kemudian dilakukan image resize dan RGB to gray-
scale image kepada citra sebagai tahap pre-processing. Untuk mengklasifikasi nama
tumbuhan, dilakukan proses shape segmentation yang terdiri dari converting to binary
image, Gaussian blur, dan transform to inverse image. Sedangkan untuk
mengklasifikasi jenis tumbuhan (monokotil atau dikotil) dilakukan proses vein
segmentation yang terdiri dari Canny edge detection, dan binarization. Hasil shape
segmentation dan vein segmentation dilakukan GLCM sebagai feature extraction dan
diklasifikasikan menggunakan PNN. Hasil pengujian nama tumbuhan dikotil
memperoleh tingkat akurasi sebesar 87%, sedangkan untuk tumbuhan monokotil
memperoleh tingkat akurasi sebesar 80%, sehingga untuk klasifikasi nama tumbuhan
memperoleh tingkat akurasi rata-rata sebesar 83,6%. Untuk hasil pengujian jenis
tumbuhan memperoleh tingkat akurasi sebesar 87%. Dari hasil pengujian yang sudah
diperoleh terkait pengklasifikasian nama dan jenis Tumbuhan Angiospermae, dapat
disimpulkan bahwa sistem bekerja dengan cukup baik.
Kata Kunci: Image Processing, Angiospermae, Probabilistic Neural Network (PNN)
vi
CLASSIFICATION OF ANGIOSPERM BASED ON LEAF VEIN
USING PROBABILISTIC NEURAL NETWORK
ABSTRACT
Angiosperms are closed-seed plants that are devided into two types, monocot (single
cotyledon) and dicot (two cotyledons). Around 90% of plants living today are
Angiosperms. However, the diversity of Angiosperms made the biological
identification process is less effective. A smart system is a solution that is expected to
make the identification and learning process of dicot and monocot plants easier and
faster. This study uses a Probabilistic Neural Network method. The data used were
1,800 images of angiosperms, where 880 images were 5 types of monocot plants and
920 images were 5 types of dicot plants. The data is divided into training data and
testing data, then image resize and RGB to gray-scale image are performed on the
image as the pre-processing stage. To classify plant names, a shape segmentation
process is carried out which consists of converting to binary image, Gaussian blur,
and transform to inverse image. Meanwhile, to classify plant type (monocot or dicot),
a vein segmentation process is carried out which consists of, Canny edge detection,
and binarization. The results of shape segmentation and vein segmentation were
performed GLCM as feature extraction and classified using PNN. Dicotyl plant name
test results obtained an accuracy rate of 87%, while for monocot plants obtained an
accuracy rate of 80%, so that the classification of plant names obtained an average
accuracy rate of 83.6%. For plant type test results obtained an accuracy rate of 87%.
From the test results that have been obtained regarding the classification of names
and types of Angiosperm Plants, it can be concluded that the system works quite well.
Keywords: Image Processing, Angiosperm, Probabilistic Neural Network (PNN)
vii
DAFTAR ISI
PERSETUJUAN i
PERNYATAAN ii
UCAPAN TERIMA KASIH iii
ABSTRAK v
ABSTRACT vi
DAFTAR ISI vii
DAFTAR TABEL xii
DAFTAR GAMBAR xiii
BAB 1 PENDAHULUAN 1
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Tujuan Penelitian 3
1.4 Batasan Masalah 3
1.5 Manfaat Penelitian 3
1.6 Metodologi Penelitian 3
1.7 Sistematika Penulisan 4
BAB 2 LANDASAN TEORI 6
2.1 Tumbuhan Angiospermae 6
2.1.1. Monokotil 6
2.1.2. Dikotil 6
2.1.3. Perbedaan Monokotil dan Dikotil 7
2.2 Citra Digital 7
2.2.1. Citra Berwarna 8
2.2.2. Citra Keabuan 8
viii
2.2.3. Citra Biner 9
2.3 Citra Digital Daun 9
2.4 Pengolahan Citra Digital (Digital Image Processing) 10
2.5 Machine Learning 10
2.5.1 Supervised Learning 10
2.5.2 Unsupervised Learning 11
2.5.3 Reinforcement Learning 11
2.6 Open Source Computer Vision Library (OpenCV) 11
2.7 Probabilistic Neural Network (PNN) 11
2.7.1 Lapisan Input (Input Layer) 12
2.7.2 Lapisan Pola (Pattern Layer) 12
2.7.3 Lapisan Penjumlahan (Summation Layer) 12
2.7.4 Lapisan Output / Keputusan (Decision Layer) 13
2.8 Resize Image 13
2.9 Grayscale 14
2.10 Binary Image 15
2.11 Gaussian Blur 15
2.12 Inverse Image 16
2.13 Canny Edge Detection 16
2.14 GLCM 17
2.15 Confusion Matrix 18
2.15.1 True Positive 19
2.15.2 True Negative 19
2.15.3 False Positive 19
2.15.4 False Negative 19
2.16 Penelitian Terdahulu 20
ix
BAB 3 ANALISIS DAN PERANCANGAN SISTEM 24
3.1 Data yang digunakan 24
3.2 Analisis Sistem 27
3.2.1 Pre-Processing 28
3.2.1.1 Image Resize 28
3.2.1.2 Gray-scale Image 29
3.2.2 Shape Segmentation 32
3.2.2.1 Binary Image 32
3.2.2.2 Gaussian Blur 34
3.2.2.3 Inverse Image 36
3.2.3 Vein Segmentation 37
3.2.3.1 Canny Edge Detection 37
3.2.3.2 Binary Image 38
3.2.4 GLCM 41
3.2.5 PNN 47
3.2.5.1 Lapisan Input 47
3.2.5.2 Lapisan Pola 48
3.2.5.3 Lapisan Penjumlahan 49
3.2.5.4 Lapisan Output 50
3.2.5.5 Proses Learning (Pembelajaran) 52
3.2.5.6 Proses Testing (Pengujian) 54
3.3 Perancangan Antarmuka Sistem 54
3.3.1 Rancangan Tampilan Halaman Awal 54
3.3.2 Rancangan Tampilan Halaman Training Data 55
3.3.3 Rancangan Tampilan Halaman Testing Data 56
3.3.4 Rancangan Tampilan Halaman Hasil 57
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 58
x
4.1 Implementasi Sistem 58
4.1.1 Perangkat Keras dan Perangkat Lunak 58
4.1.2 Implementasi Data 59
4.1.3 Implementasi Perancangan Antarmuka 62
4.1.3.1 Tampilan Halaman Awal 62
4.1.3.2 Tampilan Halaman Training 63
4.1.3.3 Tampilan Halaman Testing 64
4.1.3.4 Tampilan Halaman Hasil 64
4.2 Prosedur Operasional 65
4.3 Pengujian Sistem 70
BAB 5 KESIMPULAN DAN SARAN 84
5.1 Kesimpulan 84
5.2 Saran 85
DAFTAR PUSTAKA 86
xi
DAFTAR TABEL
Tabel 2. 1 Penelitian Terdahulu 21
Tabel 3. 1 Data Monokotil 25
Tabel 3. 2 Data Dikotil 26
Tabel 3. 3 Hasil GLCM Shape 45
Tabel 3. 4 Hasil GLCM Vein 46
Tabel 3. 5 Data Input Implementasi PNN 50
Tabel 4. 1 Hasil Pengujian Proses Segmentasi dan Klasifikasi 72
Tabel 4. 2 Tingkat Keberhasilan Klasifikasi Tumbuhan Angiospermae 77
Tabel 4. 3 Hasil Implementasi confusion matrix Data Testing Jenis Tumbuhan 78
Tabel 4. 4 Hasil Implementasi confusion matrix Data Testing Tumbuhan Monokotil 78
Tabel 4. 5 Hasil Implementasi confusion matrix Data Testing Tumbuhan Dikotil 79
Tabel 4. 6 Pengujian Beragam Jumlah Data Training Tumbuhan Dikotil 81
Tabel 4. 7 Pengujian Beragam Jumlah Data Training Tumbuhan Monokotil 81
Tabel 4. 8 Tingkat Keberhasilan Klasifikasi Tumbuhan Berbagai Sisi 82
xii
DAFTAR GAMBAR
Gambar 2. 1 Perbedaan Monokotil dan Dikotil 7
Gambar 2. 2 Citra Berwarna (Color Image) 8
Gambar 2. 3 Citra Keabuan (Grayscale Image) 9
Gambar 2. 4 Citra Biner (Binary Image) 9
Gambar 2. 5 Citra Digital Daun Monokotil (a) dan Dikotil (b) 10
Gambar 2. 6 Lapisan PNN 13
Gambar 2. 7 Image Resize 14
Gambar 3. 1 Contoh Citra Digital Daun 24
Gambar 3. 2 Bobot nilai data latih dan data uji 27
Gambar 3. 3 Arsitektur Umum 28
Gambar 3. 4 Citra Daun Sebelum dan Sesudah Diubah Menjadi Grayscale 29
Gambar 3. 5 Citra Daun Sebelum Menjadi Proses Grayscale 30
Gambar 3. 6 Citra Daun Sesudah Menjadi Proses Grayscale 30
Gambar 3. 7 Citra Daun Sebelum dan Sesudah Diubah Menjadi Binary Image 32
Gambar 3. 8 Citra Daun 3x3 Sebelum Diubah Menjadi Binary Image 33
Gambar 3. 9 Citra Daun 3x3 Sesudah Diubah Menjadi Binary Image 34
Gambar 3. 10 Citra Daun Sebelum dan Sesudah Diubah Menjadi Gaussian Blur 34
Gambar 3. 11 Lokasi Entri Kernel Filter Pada Citra 5x5 35
Gambar 3. 12 Citra yang Telah Dikalikan dengan 55 35
Gambar 3. 13 Citra yang Telah Dinormalisasi 36
Gambar 3. 14 Citra Daun Sebelum dan Sesudah Diubah Menjadi Inverse Image 36
Gambar 3. 15 Citra Daun Sebelum dan Sesudah Diubah Menjadi Canny 38
Gambar 3. 16 Citra Daun Sebelum dan Sesudah Diubah Menjadi Binary Image 41
Gambar 3. 17 Matriks Kookurensi 42
Gambar 3. 18 Perhitungan Matriks Simetris 42
Gambar 3. 19 Matriks Normalisasi 42
Gambar 3. 20 Grafik Akurasi dan Loss Model Jenis Tumbuhan 53
Gambar 3. 21 Grafik Akurasi dan Loss Model Dikotil 53
Gambar 3. 22 Grafik Akurasi dan Loss Model Monokotil 53
Gambar 3. 23 Rancangan Tampilan Halaman Awal 54
xiii
Gambar 3. 24 Rancangan Tampilan Halaman Training 55
Gambar 3. 25 Rancangan Tampilan Halaman Testing 56
Gambar 3. 26 Rancangan Tampilan Halaman Hasil 56
Gambar 4. 1 Citra Daun Alpukat 59
Gambar 4. 2 Citra Daun Durian 59
Gambar 4. 3 Citra Daun Lemon 60
Gambar 4. 4 Citra Daun Mangga 60
Gambar 4. 5 Citra Daun Rambutan 60
Gambar 4. 6 Citra Daun Bambu 61
Gambar 4. 7 Citra Daun Padi 61
Gambar 4. 8 Citra Daun Kurma 61
Gambar 4. 9 Citra Daun Pandan 62
Gambar 4. 10 Citra Daun Tebu 62
Gambar 4. 11 Tampilan Halaman Awal 63
Gambar 4. 12 Tampilan Halaman Training 63
Gambar 4. 13 Tampilan Halaman Testing 64
Gambar 4. 14 Tampilan Halaman Hasil 65
Gambar 4. 15 Tampilan Halaman Utama 65
Gambar 4. 16 Tampilan Halaman Training 66
Gambar 4. 17 Input File CSV 67
Gambar 4. 18 Tampilan Halaman Testing 68
Gambar 4. 19 Input File PNG 68
Gambar 4. 20 Halaman Loading 69
Gambar 4. 21 Tampilan Halaman Hasil 69
Gambar 4. 22 Citra Daun Sebelum dan Sesudah Dilakukan Pre-processing 70
Gambar 4. 23 Citra Daun Sebelum dan Sesudah Dilakukan Shape Segmentation 71
Gambar 4. 24 Citra Daun Sebelum dan Sesudah Dilakukan Vein Segmentation 71
Gambar 4. 25 Citra Daun Mangga dengan Background Tidak Polos 80
Gambar 4. 26 Citra Daun Mangga dengan Background Polos 80
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Indonesia adalah negara yang kaya akan keanekaragaman hayati. Dalam dunia
tumbuhan, 25% flora di dunia dapat ditemui di Indonesia dan menempati negara
urutan ketujuh dengan flora mencapai 20.000 spesies (Kusmana, 2015). Tumbuhan
dibagi menjadi yang menghasilkan biji dan yang tidak menghasilkan biji. Tumbuhan
berbiji (Spermatophyta) memiliki dua kelompok, yaitu Angiospermae dan
Gymnospermae. Angiospermae adalah tumbuhan berbiji tertutup yang mempunyai
bunga yang sesungguhnya. Spermatophyta jenis ini dibagi menjadi 2, yaitu monokotil
(berkeping satu) dan dikotil (berkeping dua). Keduanya dapat dibedakan dari tiap
bagiannya, contohnya dari bentuk tulang daun. Tulang daun monokotil berbentuk
sejajar dan memanjang, sedangkan tulang daun dikotil berbentuk menjari atau
menyirip.
Namun, begitu banyaknya keanekaragaman tumbuhan jenis Angiospermae
yang ada menyebabkan proses identifikasi secara biologis menjadi kurang efektif.
Sistem cerdas menjadi solusi yang diharapkan dapat memudahkan proses identifikasi
maupun pembelajaran tumbuhan dikotil dan monokotil menjadi lebih mudah dan
cepat.
Beberapa penelitian menggunakan citra daun telah dilakukan sebelumnya,
beberapa diantaranya ialah Plant identification based on leaf shape and texture
pattern using local graph structure (Sayeed et al., 2013) yang memiliki tingkat
akurasi sebesar 83,3%.. Selanjutnya, Klasifikasi Citra Daun Monokotil dan Dikotil
Menggunakan Naïve Bayes (Karima et al., 2014) yang memiliki tingkat akurasi
sebesar 50%. Selanjutnya, ialah Identifikasi Tulang Daun Monokotil dan Dikotil
dengan Metode Manual Thresholding (Christy et al., 2015). Selanjutnya,
Implementasi Deep Learning pada Identifikasi Jenis Tumbuhan Berdasarkan Citra
Daun Menggunakan Convolutional Neural Network (Ilahiyah & Nilogiri, 2018)
mendapatkan tingkat akurasi sebesar 90%. Kemudian, Leaves Classification Using
2
Neural Network Based on Ensemble Features (Adinugroho & Sari, 2018) yang
memiliki tingkat akurasi sebesar 95,54%.
Penelitian lain terkait klasifikasi tanaman berdasarkan citra daun juga telah
beberapa kali dilakukan menggunakan PNN seperti algoritma pengenalan daun untuk
klasifikasi tanaman (Wu et al., 2007) yang memiliki tingkat akurasi diatas 90%.
Penelitian selanjutnya berjudul Machine Recognition for Broad-Leaved Trees Based
on Synthetic Features of Leaves Using PNN (Lin & Peng, 2008) yang memiliki
tingkat akurasi sebesar 93,7%. Penelitian selanjutnya ialah Identifikasi Jenis Shorea
Berdasarkan Morfologi Daun Menggunakan Probabilistic Neural Network (Hutabarat,
2012) yang memiliki tingkat akurasi sebesar 84%. Penelitian selanjutnya berjudul
Plant Leaf Classification Using Centroid Distance and Axis of Least Inertia Method
(Mahdikhanlou & Ebrahimnehzad, 2014) yang memiliki tingkat akurasi sebesar
82,4%.
Pada penelitian kali ini, penulis mengajukan metode Probabilistic Neural
Network (PNN) yang telah banyak dilakukan penelitian sebelumnya. PNN adalah
sebuah metode jaringan saraf tiruan atau neural network yang menggunakan training
supervised. Pada tahun 1988, metode ini dikembangkan oleh Donald F. Specht. PNN
masuk ke dalam struktur Feedforward. Metode PNN berasal dari jaringan Bayesian
dan algoritma statistik yang dikenal dengan nama Kernel Fisher Discriminant
Analysis. Teori Bayes bisa berfungsi untuk mengklasifikasi beberapa kategori.
Pengambilan keputusan dalam pengklasifikasian menggunakan PNN didasarkan pada
hasil perhitungan jarak (distance) antara fungsi kepekatan peluang dengan vektor ciri.
Berdasarkan latar belakang tersebut, penulis akan menerapkan metode PNN
untuk membuat penelitian yang berjudul “Klasifikasi Tumbuhan Angiospermae
Berdasarkan Bentuk Tulang Daun Menggunakan Probabilistic Neural Network
(PNN)”.
1.2 Rumusan Masalah
Identifikasi keanekaragaman tumbuhan jenis Angiospermae masih dilakukan secara
manual sehingga diperlukan analisis dan pengetahuan yang cukup untuk dapat
membedakan keberagaman tumbuhan jenis Angiospermae. Oleh sebab itu, dibutuhkan
sebuah sistem yang bisa membantu mengklasifikasikan tumbuhan jenis
Angiospermae.
3
1.3 Tujuan Penelitian
Penelitian ini bertujuan untuk pengklasifikasian jenis tumbuhan angiospermae
berdasarkan bentuk tulang daun menggunakan Probabilistic Neural Network agar
dapat mempermudah masyarakat menentukan jenis tumbuhan angiospermae
berdasarkan daunnya.
1.4 Batasan Masalah
Penelitian ini memilki beberapa batasan masalah. Batasan masalah pada penelitian ini
ialah:
a. Tanaman yang akan diteliti merupakan tanaman jenis angiospermae yang
terbagi menjadi dua kelompok, yaitu monokotil dan dikotil.
b. Jenis tumbuhan yang diuji berjumlah 10 jenis, yaitu bambu, kurma, padi,
pandan, tebu, alpukat, durian, lemon, mangga, dan rambutan.
c. Data yang digunakan adalah citra digital daun pencahayaan minimal 450 lumen
dan tulang daun terlihat jelas.
d. Output dari penelitian ini ialah nama dan jenis tumbuhan.
1.5 Manfaat Penelitian
Beberapa manfaat dari penelitian ini ialah:
a. Sebagai sumber informasi bagi masyarakat dan pelajar dalam mengenali jenis-
jenis tumbuhan angiospermae.
b. Penelitian ini diharapkan dapat membantu mempermudah pengklasifikasian
jenis tumbuhan angiospermae berdasarkan bentuk daunnya.
1.6 Metodologi Penelitian
Metodologi penelitian dalam penelitian ini terdiri dari 7 tahap, yaitu:
1. Studi Literatur
Tahap studi literatur ialah tahap pengumpulan dan pembelajaran literatur serta
dokumen pendukung yang diperoleh melalui jurnal, skripsi, buku dan sumber
lainnya.
4
2. Pengumpulan Data
Setelah mempelajari dan memahami literatur dilakukan pengumpulan data
yang terkait dengan penelitian.
3. Analisis Permasalahan
Tahap analisis permasalahan merupakan tahap dimana penulis melakukan
analisis terhadap informasi-informasi dari dokumen yang sudah dipelajari agar
dapat mendapat metode yang tepat untuk menyelasaikan masalah dalam
penelitian ini.
4. Perancangan Sistem
Tahap perancangan sistem ialah tahap dimana penulis merancang sistem, yang
dapat menyelesaikan masalah yang dianalisis di tahapan sebelumnya.
5. Implementasi
Tahapan implementasi merupakan tahap dimana pengimplementasian analisis
sesuai perancangan sistem yang telah dibuat.
6. Pengujian
Tahap pengujian ialah tahap dimana dilakukan proses pengujian terhadap
Probabilistic Neural Network yang telah dibuat.
7. Penyusunan Laporan
Tahap penyusunan laporan merupakan tahap dimana penulis akan menyusun
dokumentasi berupa laporan yang menjabarkan hasil penelitian yang telah
penulis lakukan.
1.7 Sistematika Penulisan
Penulisan ini memiliki sistematika penulisan yang terdisi dari 5 bagian, yaitu:
5
BAB 1. PENDAHULUAN
Bab 1 berisi latar belakang pemilihan judul skripsi “Klasifikasi Tumbuhan
Angiospermae Berdasarkan Bentuk Tulang Daun Menggunakan Probabilistic Neural
Network", rumusan masalah, tujuan penelitian, batasan masalah, manfaat penelitian,
metodologi penelitian dan sistematika penulisan.
BAB 2. LANDASAN TEORI
Bab 2 merupakan bab yang berisi teori mengenai tumbuhan Angiospermae, citra
digital daun, pengolahan citra digital, Probabilistic Neural Network (PNN), dan
penelitian terdahulu untuk memahami permasalahan dan proses dalam pengaplikasian
sistem yang dibuat dalam penelitian ini.
BAB 3. ANALISIS DAN PERANCANGAN SISTEM
Bab 3 merupakan bab yang membahas menganai analisis arsitektur umum dari metode
Probabilistic Neural Network (CNN) yang digunakan dalam Image Processing pada
citra daun untuk mengklasifikasi nama dan jenis tumbuhan Angiospermae.
BAB 4. IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab 4 merupakan bab yang membahas mengenai implementasi hasil analisis dan
mengenai perancangan sistem pada bab 3. Selain itu, ab 4 juga mengandung
pemaparan hasil pengujian terhadap sistem yang telah dibuat.
BAB 5. KESIMPULAN DAN SARAN
Bab 5 merupakan bab yang membahas mengenai kesimpulan penelitian yang sudah
dilakukan oleh penulis dan saran yang diajukan penulis untuk penelitian serupa
selanjutnya.
BAB 2
LANDASAN TEORI
2.1 Tumbuhan Angiospermae
Tumbuhan berbiji (Spermatophyta) adalah kelompok tumbuhan yang memiliki tingkat
perkembangan filogenetik paling tinggi. Karakteristik khusus yang dimiliki oleh
tumbuhan Spermatophyta ialah berupa biji (dalam bahasa Yunani: sperma).
Tumbuhan Spermatophyta terbagi menjadi 2, yaitu tumbuhan biji terbuka
(Gymnospermae) dan tumbuhan biji tertutup (Angiospermae) (Tjitrosoepomo, 2010).
Angiospermae mempunyai beberapa karakterisitik, diantaranya yaitu bakal biji
selalu dibungkus oleh bakal buah, mempunyai organ bunga yang sebenarnya, terdiri
dari tumbuhan berkayu atau batang basah, akar tumbuhan dapat berupa akar tunggang
ataupun akar serabut, batang dapat bercabang ataupun tidak, serta kebanyakan
memiliki daun tunggal, majemuk, atau lebar dengan komposisi yang beragam, dan
juga memilki bentuk tulang daun yang beraneka ragam. Angiospermae memiliki 2
kelompok, yaitu dikotil dan monokotil, yang berjumlah kurang lebih 300 famili / lebih
dari 250.000 spesies, yang mana di antara famili tersebut telah ditemukan di banyak
lokasi yang merupakan rerumputan berjumlah 7500 spesies. (Tjitrosomo, 1984).
2.1.1 Monokotil
Tumbuhan berkeping satu (monocotyledoneae atau monokotil) yang telah dikenali
berjumlah sekitar 50.000 spesies. Karakteristik utama monokotil ialah memiliki biji
dengan lembaga yang memiliki 1 daun lembaga (Kadaryanto et al, 2016). Tumbuhan
monokotil yang digunakan dalam penelitian ini ialah bamboo, padi, kurma, pandan,
dan tebu.
2.1.2 Dikotil
Tumbuhan berkeping dua (dycotyledoneae atau dikotil) yang telah ditemui dan
dinamai saat ini berjumlah sekitar 200.000 spesies. Karakteristik utama dikotil ialah
memiliki biji yang mempunyai 2 daun lembaga. Tumbuhan dikotil dapat berupa
semak, perdu, ataupun pohon. Pertumbuhan dikotil ada yang merambat, tegak berdiri,
7
ataupun menempel pada tumbuhan lain. (Kadaryanto et al, 2016). Tumbuhan dikotil
yang digunakan dalam penelitian ini ialah alpukat, durian, lemon, mangga, dan
rambutan.
2.1.3 Perbedaan monokotil dan dikotil
Tumbuhan monokotil dan dikotil mempunyai ciri khas masing-masing sehingga dapat
dibedakan melalui tulang daun, batang, bunga, dan akarnya. Berdasarkan tulang daun,
tanaman monokotil memiliki daun sejajar ataupun melengkung, sedangkan dikotil
memiliki tulang daun menyirip atau menjari. Berdasarkan batangnya, berkas
pengangkut monokotil tersebar sedangkan dikotil tersusun. Berdasarkan jumlah
bunganya, monokotil memiliki jumlah kelopak bunga sebanyak 3 atau kelipatannya,
sedangkan dikotil memiliki 2, 4, 5, atau kelipatannya. Berdasarkan akar, monokotil
mempunyai akar serabut, sedangkan dikotil akar tunggang. Perbedaan tumbuhan
dikotil dan monokotil dapat dilihat di gambar 2.1.
Gambar 2.1. Perbedaan Monokotil dan Dikotil
Sumber : Campbell Biology (2014)
2.2 Citra Digital
Citra ialah sebuah imitasi atau gambaran dari sebuah objek. Terdapat dua jenis citra,
analog dan digital. Citra analog bersifat kontinu, contohnya ialah gambar di monitor
8
televisi, foto yang dicetak, dsb, sedangkan citra digital ialah sebuah citra yang bisa
diolah komputer.
Citra digital merupakan gambar fungsi dua dimensi dengan 𝑥, 𝑦 dan nilai
intensitas 𝑓 semuanya terbatas, di mana 𝑥 dan 𝑦 merupakan koordinat spasial
(bidang), dan amplitudo 𝑓 pada tiap koordinat (𝑥, 𝑦) disebut intensitas atau tingkat
abu dari gambar pada titik itu (Gonzalez et al., 2020).
Citra digital umumnya terbagi menjadi tiga, yaitu citra berwarna, keabuan, dan
biner.
2.2.1 Citra berwarna (Color Image)
Citra berwarna atau yang biasa disebut citra RGB memiliki tiga bentuk komponen
pada tiap pikselnya, yaitu red, green, dan blue. Setiap komponen berukuran 8 bit (0-
255). Warna yang mungkin bisa disajikan ialah 255x255x255, lebih lengkapnya dapat
mencapai 16.581.375 warna. Contoh citra berwarna dapat dilihat di gambar 2.2.
Gambar 2.2. Citra berwarna (color image)
2.2.2 Citra keabuan (Grayscale Image)
Citra keabuan atau grayscale adalah citra yang terdiri dari warna tingkat keabuan.
Warna abu pada citra grayscale merupakan warna RGB yang memiliki intensitas yang
sama, dengan begitu grayscale hanya memerlukan sebuah intensitas tunggal,
sedangkan citra berwarna (RGB) memerlukan 3 intensitas pada setiap pikselnya.
Intensitas grayscale menggunakan 8 bit, yang memberi kemungkinan sebanyak 256,
yaitu 0 untuk hitam hingga 255 untuk putih. Contoh citra keabuan dapat dilihat di
Gambar 2.3.
9
Gambar 2.3. Citra keabuan (grayscale image)
2.2.3 Citra biner (Binary Image)
Binary image merupakan suatu citra yang tiap pikselnya hanya memiliki 2 nilai
derajat keabuan (grayscale), yaitu hitam dan putih. Piksel akan berwarna putih jika
bernilai 0 dan berwarna hitam jika bernilai 1. Biasanya dalam citra biner objek akan
berwarna hitam dan latar akan berwarna putih. Nilai derajat keabuan pada citra biner
hanya membutuhkan 1 bit. Kegunaan citra biner ialah untuk mengidentifikasi
keberadaan objek, memfokuskan morfologi, mengubah citra yang telah ditingkatkan
garis tepinya, dll. Contoh citra biner dapat dilihat di gambar 2.4.
Gambar 2.4. Citra biner (binary image)
2.3 Citra Digital Daun
Citra digital daun adalah citra digital yang memuat gambaran atau imitasi daun
di dalamnya sehingga memuat informasi daun. Contoh citra digital daun monokotil
dan dikotil dapat dilihat di gambar 2.5.
10
(a) (b)
Gambar 2.5. Citra Digital Daun Monokotil (a) dan Dikotil (b)
2.4 Pengolahan Citra Digital (Digital Image Processing)
Digital image processing ialah sebuah ilmu yang menggunakan software dan
hardware untuk mengumpulkan, memproses, dan menampilkan data untuk tujuan
umum meningkatkan atau meningkatkan gambar. Ilmu ini rumit dan melibatkan
pengetahuan tentang optik, elektronik, komputer, dan matematika (Mckinley, 1990).
Awalnya, penggunaan pengolahan citra digital ialah untuk memperbaiki dan
meningkatkan kualitas gambar, namun dengan berkembangnya ilmu komputasi
membuat manusia bisa mengambil informasi dari sebuah gambar. Dengan
menggunakan citra (gambar) sebagai input, ditingkatkan kualitasnya dengan berbagai
metode, misalnya menghilangkan noise, dan menghasilkan citra dengan kualitas lebih
baik, sehingga menghasilkan informasi yang lebih baik.
2.5 Machine Learning
Machine learning bisa diartikan sebagai sebuah aplikasi komputer & algoritma
matematika yang diangkat secara pembelajaran yang berasal dari data, yang kemudian
menghasilkan prediksi di masa mendatang (Goldberg & Holland, 1988). Machine
learning terbagi menjadi 3 kategori, yaitu:
2.5.1 Supervised Learning
Supervised learning adalah sebuah teknik machine learning yang bisa menerima
informasi data dengan cara membuat label. Teknik ini berguna untuk dapat membuat
target terhadap keluaran dengan membandingkan pengalaman belajar dari pengalaman
sebelumnya.
11
2.5.2 Unsupervised Learning
Unsupervised learning merupakan sebuah teknik machine learning yang dilakukan
kepada data yang tak memilki informasi yang bisa diterapkan secara langsung. Teknik
ini berguna untuk membantu menemukan struktur / pola tersembunyi dari data yang
tak mempunyai label.
2.5.3 Reinforcement Learning
Reinforcement learning merupakan sebuah teknik pada machine learning yang dapat
membuat agent software dan mesin bekerja secara otomatis untuk menentukan
perilaku ideal sehingga dapat memaksimalkan kinerja algoritmanya.
2.6 Open Source Computer Vision Library (OpenCV)
OpenCV merupakan library open source untuk bahasa pemrograman C, C++, python,
java, dan matlab dari intel untuk menyederhanakan programming terkait citra digital
secara real-time. OpenCV bisa dengan mudah melakukan berbagai hal kompleks
seperti mengenali wajah, mengidentifikasi objek, melacak objek bergerak, dan
sebagainya. Penelitian ini menggunakan OpenCV untuk melakukan resize, grayscale,
binary image, Gaussian blur, Canny, membaca, dan menulis gambar.
2.7 Probabilistic Neural Network (PNN)
Jaringan Neural Probabilistik (PNN) dikembangkan berdasarkan teori Bayesian untuk
probabilitas bersyarat dan Metode Parzen untuk memprediksi probabilitas fungsi
kepadatan variabel acak. PNN dapat didefinisikan sebagai implementasi algoritma
statistic yang disebut sebagai kernel analitik diskriminatif. Berdasarkan tentang
karakteristik PNN, PNN memiliki proses pelatihan cepat dan struktur paralel terpadu,
sehingga PNN dapat menemukan klasifikasi optimal sesuai dengan peningkatan data
pelatihan di mana data pelatihan dapat dimodifikasi tanpa pelatihan ulang data. Selain
itu, PNN memiliki waktu belajar lebih cepat jika dibandingkan dengan berbagai model
dari jaringan saraf tiruan, sehingga telah diterapkan di banyak kasus. Oleh karena itu,
PNN dapat digambarkan sebagai supervised neural network yang dapat
diimplementasikan pada klasifikasi pola (Nurrahmadayeni, 2017).
12
PNN memiliki 4 lapisan, yaitu lapisan input, pola, penjumlahan, dan output atau
keputusan.
2.6.1 Lapisan Input (Input Layer)
Input layer merupakan masukan berupa vektor x dengan jumlah elemen sebanyak n,
yang dimana vektor tersebut akan diklasifikasi pada salah satu kelas dari total
keseluruhan M kelas.
2.6.2 Lapisan Pola (Pattern Layer)
Pattern layer merupakan lapisan untuk menghitung jarak (distance) antara vektor
input dan vektor bobot pelatihan yang dipresentasikan oleh neuron. Pada lapisan pola
dilakukan perkalian titik antara vektor x dengan vektor bobot pelatihan, yang
kemudian hasilnya akan dimasukkan ke dalam fungsi radial basis Gaussian. Fungsi
Gaussian ditunjukkan dalam Persamaan 2.1.
𝑓(𝑥) = exp(−(𝑥 − 𝑥𝑖𝑗)
𝑇(𝑥 − 𝑥𝑖𝑗)
2𝜎2
(2.1)
Dimana :
𝑥 = vektor testing
𝑥𝑖𝑗 = vektor training ke j dari kelas i
𝜎 = spread / smoothing parameter
2.6.3 Lapisan Penjumlahan (Summation Layer)
Summation layer menerima input dari pattern layer yang terkait dengan kelas yang
ada. Setiap kelas mempunyai 1 neuron. Pada neuron-neuron tersebut ditampung hasil
penjumlahan dari tiap kelas dari lapisan pola. Persamaan summation layer dapat
dilihat di Persamaan 2.2.
𝑝(𝑥) = 1
(2𝜋)𝑑/2𝜎𝑑𝑖−
1
𝑁𝑖∑𝑓(𝑥)
𝑖
𝑖=1
(2.2)
Dimana :
𝑥𝑖𝑗 = vektor pelatihan ke j dari kelas i
𝜎 = spread / smoothing parameter
𝑁 = jumlah data latih pada kelas i
13
𝑑 = dimensi vektor x
2.6.4 Lapisan Output / Keputusan (Decision Layer)
Output layer adalah lapisan terakhir PNN yang berisi output berupa keputusan.
Lapisan ini menghasilkan sebuah vektor dengan panjang M elemen, yang dimana M
merupakan banyaknya kelas. Vektor input x akan diklasifikasikan ke dalam kelas M,
jika nilai p(x) indek ke M pada vektor output merupakan nilai terbesar jika
dibandingkan dengan elemen lainnya.
Lebih jelasnya. Keempat lapisan PNN dapat dilihat di gambar 2.6.
Gambar 2.6. Lapisan PNN
Sumber : https://www.programmersought.com/
2.8 Resize
Resizing adalah proses mengubah ukuran pixel gambar menjadi lebih besar (upscale)
atau kecil (downscale) sesuai dengan keinginan dengan cara mengatur ukuran panjang
dan lebar gambar. Dalam melakukan pengolahan citra digital biasanya belum tentu
semua citra yang diproses memiliki ukuran citra yang sama. Dalam tahap resizing
dilakukan proses interpolasi citra atau proses pembuatan ulang data citra dari nilai-
nilai antara pixel yang ditetapkan. Pada penelitian ini menggunakan proses resizing
untuk mengubah ukuran citra menjadi lebih kecil agar jumlah pixel yang diolah tidak
telalu banyak hingga dapat meminimalisir waktu komputasi dengan algoritma
interpolasi citra nearest neighbor interpolation.
14
Nearest-neighbor Interpolation atau interpolasi tetangga terdekat ialah
algoritma resizing atau pembuatan ulang citra dengan mengubah tiap nilai pixel
dengan nilai pixel terdekat pada citra. Contoh penerapan nearest-neighbor
interpolation dilakukan pada citra 2 dimensi seperti pada Gambar 2.7, untuk
mengurangi ukuran gambar (downscale), neighbor terdekat dipilih dari 4 titik asal
yang saling berbatasan dan kemudian menghitung nilai rata-rata dari ke empat nilai
tersebut yang menjadi nilai pixel yang baru. Untuk meningkatkan ukuran gambar
(upscale), nilai pixel diinterpolasi menjadi nilai pixel yang berulang berdasarkan
ukuran pixel yang ditetapkan. Proses upscale dan downscale dapat melihat Gambar
2.7.
Gambar 2.7. Resize Image
2.9 Gray-scale Image
Mengubah citra daun yang memilki berbagai macam warna menjadi warna putih, abu-
abu, dan hitam dengan menggunakan grayscale. Untuk mengganti RGB
menjadi grayscale, bisa diterapkan dengan mengambil seluruh piksel citra, yang
selanjutnya mengambil informasi 3 warna dasar yaitu merah (red), hijau
(green), dan biru (blue) (melalui fungsi warna to RGB), 3 warna ini akan
ditambahkan dan dibagi 3 sehingga mendapatkan rata-rata yang kemudian akan
digunakan untuk memberi warna pada piksel citra sehingga citra RGB menjadi
grayscale. (Santi, 2011).
Grayscale image adalah citra keabuan yang memiliki warna gradiasi mulai dari
putih hingga hitam pada pixelnya. Untuk mendapatkan citra grayscale dilakukan
15
dengan mengubah citra warna RGB menjadi keabuan, 3 layer model warna RGB yaitu
red, green, blue akan di sederhanakan menjadi 1 layer matriks keabuan dengan
mencari rata-rata dari total nilai RGB yang ditunjukan pada Persamaan 2.3.
I = (R + G + B) / 3
(2.3)
Dimana:
I = intensitas keabuan suatu piksel citra hasil grayscaling
R = komponen merah pada suatu piksel
G = komponen hijau suatu piksel
B = komponen biru suatu piksel
2.10 Binary Image
Mengkonversi citra ke binary image memiliki proses yang mirip dengan
mengkonversi citra ke gray-scale, perbedaannya ialah warna rata-rata akan dibagi
menjadi 2 kelompok, dengan ketentuan jika intensitas warna ialah 0 – 255, diambil
nilai tengahnya, yaitu 127. Jika intensitas warna lebih rendah dari 127 maka warna
akan menjadi hitam dan jika intensitas warna lebih tinggi dari 127 warna akan
menjadi putih (Santi, 2011). Persamaan resize image dapat dilihat di Persamaan 2.4.
𝑔(𝑥, 𝑦) = {0, 𝑗𝑖𝑘𝑎𝑓(𝑥, 𝑦) ≥ 𝑎
1, 𝑗𝑖𝑘𝑎𝑓(𝑥, 𝑦) < 𝑎
(2.4)
2.11 Gaussian Blur
Gaussian blur dinamai berdasarkan nama ahli matematika dan ilmuan, yaitu Carl
Fredrich Gauss. Tahap Gaussian blur (penghalusan Gaussian) berfungsi untuk
menghaluskan gambar, hal ini memungkinkan untuk mengurangi noise dan detail
gambar sehingga mempermudah proses pengenalan gambar. Untuk menentukan
elemen matriks kernel gauss pada posisi(i,j) dapat dilihat di Persamaan 2.5.
𝐺(𝑖, 𝑗) = 𝑐. 𝑒 −(𝑖 − 𝑢)2+(𝑗 − 𝑣)2
2𝜎2
(2.5)
16
Dimana:
𝒄𝐝𝐚𝐧𝝈 = konstanta
𝑮(𝒊, 𝒋) = elemen matriks kernel gauss pada posisi (𝒊, 𝒋)
𝒖𝒅𝒂𝒏𝒗 = indeks tengah dari matriks kernel gauss
2.12 Inverse Image
Inverse image merupakan proses membalik warna yang kontras dengan warna aslinya.
Proses inverse image berguna untuk memperjelas garis tepi sehingga bentuk daun
terlihat jelas.
2.13 Canny Edge Detection
Garis tepi merupakan sebuah kontras antara permukaan tintaan dan garis pada jalan.
Metode ini sudah cukup berumur tapi masih banyak digunakan karena efektif untuk
mendeteksi tepi. Metode ini dapat membuat garis-garis tepi daun dan tulang daun
terlihat jelas.
Untuk melakukan canny edge detection, terdiri dari beberapa tahap. Tahap
pertama ialah menghilangkan noise menggunakan Gaussian.Selanjutnya dilakukan
pendeteksian tepi menggunakan salah satu operator deteksi tepi (Operator Sobel dan
Prewitt) yang dapat dilakukan dengan cara horizontal (𝑮𝒙) dan vertikal (𝑮𝒚).
Persamaan deteksi tepi dapat dilihat di Persamaan 2.10.
|𝑮| = |𝑮
(2.10)
Tahap selanjutnya ialah menghitung jarak gradient yang dapat dilihat di
Persamaan 2.11.
|𝑮| = √𝑮𝒙𝟐 + 𝑮𝒚𝟐
(2.11)
Tahap berikutnya ialah membagi garis-garis yang telah ada menjadi empat
kelompok sesuai dengan sudutnya. Ketentuannya adalah sebagai berikut:
17
- Arah tepian menjadi 0 ̊ jika arah tepi adalah 0 ̊- 22,5 ̊, 157,5 ̊ , atau 180 ̊ .
- Arah tepian menjadi 45 ̊ jika arah tepi adalah 22,5 ̊ - 67,5 ̊.
- Arah tepian menjadi 90 ̊ jika arah tepi adalah 67,5 ̊ - 112,5 ̊.
- Arah tepian menjadi 135 ̊ jika arah tepi adalah 112,5 ̊ - 157,5 ̊.
Tahap selanjutnya ialah mengecilkan garis tepi menjadi lebih tipis (non
maximum suppression). Tahap terakhir ialah menerapkan proses binerisasi
berdasarkan low & high threshold yang telah diberikan.
2.14 GLCM
Gray Level Co-Occurrence Matrix berguna untuk menganalisis piksel citra untuk
mendeteksi tingkat keabuan yang sering terjadi. GLCM juga berfungsi untuk tabulasi
tentang frekuensi kombinasi nilai pixel yang muncul pada suatu citra. (Xie, 2010).
Ekstraksi ciri dilakukan berdasarkan parameter contrast, dissimilarity, homogeneity,
angular second moment (ASM), energy, correlation, dan entropy.
Rumus parameter contrast dalam GLCM ditunjukkan dalam Persamaan 2.13.
𝐶𝑜𝑛𝑡𝑟𝑎𝑠𝑡 = ∑ 𝑃𝑖,𝑗(
𝑙𝑒𝑣𝑒𝑙𝑠−1
𝑖,𝑗=0
𝑖 − 𝑗)2
(2.13)
Rumus parameter dissimilarity dalam GLCM ditunjukkan dalam Persamaan
2.14.
𝐷𝑖𝑠𝑠𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦 = ∑ 𝑃𝑖,𝑗|𝑖 − 𝑗|
𝑙𝑒𝑣𝑒𝑙𝑠−1
𝑖,𝑗=0
(2.14)
Rumus parameter homogeneity dalam GLCM ditunjukkan dalam Persamaan
2.15.
𝐻𝑜𝑚𝑜𝑔𝑒𝑛𝑒𝑖𝑡𝑦 = ∑𝑃𝑖,𝑗
1 + (𝑖 − 𝑗)2
𝑙𝑒𝑣𝑒𝑙𝑠−1
𝑖,𝑗=0
(2.15)
Rumus parameter ASM dalam GLCM ditunjukkan dalam Persamaan 2.16.
18
𝐴𝑆𝑀 = ∑ 𝑃𝑖,𝑗2
𝑙𝑒𝑣𝑒𝑙𝑠−1
𝑖,𝑗=0
(2.16)
Rumus parameter energy dalam GLCM ditunjukkan dalam persamaan 2.17.
𝐸𝑛𝑒𝑟𝑔𝑦 = √𝐴𝑆𝑀
(2.17)
Rumus parameter correlation dalam GLCM ditunjukkan dalam Persamaan 2.18.
𝐶𝑜𝑟𝑟𝑒𝑙𝑎𝑡𝑖𝑜𝑛 = ∑ 𝑃𝑖,𝑗
[ (𝑖 − 𝜇𝑖)(𝑗 − 𝜇𝑗)
√(𝜎𝑖2)(𝜎𝑗
2)]
𝑙𝑒𝑣𝑒𝑙𝑠−1
𝑖,𝑗=0
(2.18)
Rumus parameter entropy dalam GLCM ditunjukkan dalam Persamaan 2.19.
𝐸𝑛𝑡𝑟𝑜𝑝𝑦 = ∑ 𝑃𝑖,𝑗
𝑙𝑒𝑣𝑒𝑙𝑠−1
𝑖,𝑗=0
log 𝑃𝑖,𝑗
(2.19)
Dimana,
𝑃𝑖,𝑗 = elemen i,j dari GLCM simetris yang sudah dinormalisasi
levels = angka tingkat grayscale
𝜇 = nilai rata-rata GLCM
𝜎2 = varians intensitas semua piksel referensi dalam hubungan yang berkontribusi
pada GLCM
2.15 Confusion Matrix
Confusion matrix merupakan pengukuran performa dalam pengklasifikasian machine
learning, dimana outputnya berupa dua kelas atau lebih. Confusion matrix merupakan
tabel dengan empat kombinasi berbeda dari nilai prediksi dan nilai aktual. Nilai
prediksi ialah output program yang hasilnya benar atau salah. Nilai aktual ialah nilai
sebenarnya dimana nilainya true dan false. Empat kombinasi berbeda yang ada dalam
confusion matrix yaitu TP, TN, FP, dan FN.
19
2.14.1. True Positive (TP)
True positive adalah memprediksi positif dan hasilnya benar.
2.14.2. True Negative (TN)
True negative adalah memprediksi negatif dan hasilnya benar.
2.14.3. False Positive (FP)
False positive adalah memprediksi positif dan hasilnya salah.
2.14.4. False Negative (FN)
False negative adalah memprediksi negatif dan hasilnya salah.
Untuk menghitung nilai accuracy, precision, recall, dan F-1 score, dapat
dilihat seperti di bawah ini.
- Accuracy menunjukkan seberapa akurat model dalam mengklasifikasi
dengan benar.
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 =(𝑇𝑃 + 𝑇𝑁)
(𝑇𝑃 + 𝐹𝑃 + 𝐹𝑁 + 𝑇𝑁)
(2.20)
- Precision menunjukkan akurasi antara data yang diminta dengan hasil
prediksi dari oleh model.
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =𝑇𝑃
(𝑇𝑃 + 𝐹𝑃)
(2.21)
- Recall atau sensitivity menunjukkan keberhasilan model dalam
menemukan kembali sebuah informasi.
𝑅𝑒𝑐𝑎𝑙𝑙 =𝑇𝑃
(𝑇𝑃 + 𝐹𝑁)
(2.22)
- F-1 Score menunjukkan rata-rata precision dan recall yang dibobotkan.
20
𝐹1𝑆𝑐𝑜𝑟𝑒 =(2 ∗ 𝑅𝑒𝑐𝑎𝑙𝑙 ∗ 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛)
(𝑅𝑒𝑐𝑎𝑙𝑙 + 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛)
(2.23)
2.16 Penelitian Terdahulu
Beberapa penelitian sudah dilakukan untuk mengidentifikasi jenis tanaman
berdasarkan daunnya. Diantaranya ialah penelitian oleh (Hutabarat, 2012) terkait
identifikasi jenis shorea menggunakan Probabilistic Neural Network (PNN).
Penelitian tersebut menggunakan 100 citra daun yang mewakili 10 jenis tumbuhan
Shorea. Penelitian ini melibatkan 10 fitur morfologi daun yaitu diameter, luas,
keliling, aspect ratio, form factor, perimeter ratio of diameter, sudut daun, jarak
tangkai-daun, dan jumlah tulang daun. Penelitian ini memiliki tingkat akurasi sebesar
84%.
Selanjutnya, penelitian oleh (Sayeed et al., 2013) yang berjudul Plant
identification based on leaf shape and texture pattern using local graph structure.
Penelitian ini menggunakan 300 citra daun yang mewakili 50 spesies yang kemudian
diproses menggunakan LGS. Penelitian ini dilakukan dengan cara menerapkan LGS
pada data training dan data testing untuk mendapatkan histogram, kemudian kedua
hasil tersebut dicocokkan dengan menerapkan fungsi korelasi. Penelitian ini
menghasilkan tingkat akurasi sebesar 83,3%.
Penelitian selanjutnya ialah dari (Karima et al., 2014) terkait klasifikasi citra
daun monokotil dan dikotil menggunakan Naïve Bayes. Penelitian ini dilakukan
dengan cara mengolah 30 citra daun yang diolah dengan pre-proses grayscaling,
binerisasi, image resizing, dan deteksi tepi. Kemudian diklasifikasi dengan Naïve
Bayes. Lalu, Dilakukan ekstraksi fitur dan citra piksel. Penelitian ini menghasilkan
tingkat akurasi sebesar 50%.
Penelitian selanjutnya ialah dari (Christy, 2015) terkait identifikasi tulang daun
monokotil dan dikotil dengan metode Manual Thresholding. Penelitian tersebut
menggunakan citra daun melati air sebagai tumbuhan monokotil dan daun jambu biji
sebagai tumbuhan dikotil. Penelitian ini dilakukan dengan cara citra diubah dari RGB
menjadi grayscale, dan kemudian segmentasi citra dengan metode manual
thresholding.
21
Penelitian berikutnya ialah dari (Padao & Maravillas, 2015) terkait klasifikasi
tanaman berdasarkan bentuk dan tekstur daun menggunakan Naïve Bayes (NB)
Classifier. Penelitian ini menggunakan 447 citra daun yang mewakili 30 spesies yang
kemudian diproses menggunakan NB classifier. Penelitian ini menggunakan atribut
seperti eksentrisitas, rasio aspek, panjang, soliditas, stokastik konveksitas, factor
isoperimetri, kedalaman indentasi maksimal dan lobedness untuk menentukan bentuk
daun. Sedangkan untuk menentukan tektur daun, penelitian ini menggunakan 7
variabel seperti intensitas rata-rata, kontras rata-rata, kehalusan, momen ketiga,
keseragaman dan entropi. Penelitian ini menghasilkan tingkat akurasi sebesar 74,10%.
Terakhir ialah penelitian dari (Ilahiyah & Nilogiri, 2018) terkait identifikasi
tumbuhan berdasarkan citra daun menggunakan Convolutional Neural Network
(CNN). Penelitian ini menggunakan 2000 citra daun dengan 1800 citra untuk training
dan 200 citra untuk testing. Penelitian ini menggunakan operasi konvolusi, Rectified
Linear Unit (ReLU), pooling layer, dan softmax classifier. Tingkat akurasi dari
penelitian ini ialah 85%.
Penelitian terdahulu yang telah dijelaskan dapat dilihat pada tabel 2.1.
Tabel 2.1. Penelitian Terdahulu
No. Judul Penelitian Peneliti Metode Keterangan
1 Identifikasi Jenis
Shorea
Berdasarkan
Morfologi Daun
Menggunakan
Probabilistic
Neural Network
(2012)
Yuni
Purnamasari
Hutabarat
Probabilistic
Neural
Network
(PNN)
Penelitian menggunakan
100 citra daun yang
mewakili 10 jenis Shorea
yang kemudian diproses
menggunakan PNN dan
menghasilkan tingkat
akurasi sebesar 84%.
22
2 Plant identificatio
n based on leaf
shape and texture
pattern using local
graph structure
(2013)
• Shohel
Sayeed
• Jakir Hossen
• Ibrahim
Yusof
• M. Fikri Azli
A.
Local Graph
Structure
(LGS)
Penelitian menggunakan
300 citra daun yang
kemudian diproses
menggunakan LGS dan
menghasilkan tingkat
akurasi sebesar 83,3%.
3 Klasifikasi Citra
Daun Monokotil
dan Dikotil
Menggunakan
Naïve Bayes (2014)
• Lita Karima
• Niar Ariati
• Dynda
Perwary
• Putranti Puji
P.
• Anisa
Rachmawati
Naïve Bayes
(NB)
Penelitian menggunakan
30 citra daun yang
kemudian diproses
menggunakan NB dan
menghasilkan tingkat
akurasi sebesar 50%.
4 Identifikasi Tulang
Daun Monokotil
dan Dikotil dengan
Metode Manual
Thresholding
(2015)
Laorency
Fania Christy
Manual
Thresholding
Penelitian menggunakan
citra daun melati air
sebagai tumbuhan
monokotil dan daun
jambu biji sebagai
tumbuhan dikotil.
5 Using Naïve
Bayesian Method
for Plant Leaf
Classification
Based on Shape
and Texture
Features (2015)
• Francis Rey
F. Padao
• Elmer A.
Maravillas
Naïve Bayes
(NB)
Classifier
Penelitian meggunakan
447 citra daun yang
mewakili 30 spesies
yang kemudian diproses
menggunakan NB
classifier dan
menghasilkan tingkat
akurasi sebesar 74,10%
6 Implementasi Deep
Learning pada
Identifikasi Jenis
• Sarirotul
Ilahiyah
• Agung
Convolu-
tional Neural
Network
Penelitian menggunakan
2000 citra daun yang
kemudian diproses
23
Tumbuhan
Berdasarkan Citra
Daun
Menggunakan
Convolutional
Neural Network
(2018)
Nilogiri (CNN) menggunakan CNN dan
menghasilkan tingkat
akurasi sebesar 85%.
Dalam penelitian ini, penulis memiliki beberapa perbedaan dengan penelitian-
penelitian sebelumnya. Perbedaan penelitian terletak pada metode, data, dan jenis
tumbuhan. Penelitian yang dilakukan oleh penulis mengklasifikasikan tumbuhan
angiospermae berdasarkan bentuk tulang daun menggunakan PNN. Hasil dari
penelitian merupakan informasi nama dan jenis tumbuhan.
24
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Data yang digunakan
Data input yang digunakan berupa citra daun dari 10 jenis tumbuhan, yaitu 5
tumbuhan monokotil dan 5 tumbuhan dikotil. Data diperoleh secara manual, difoto
menggunakan ponsel dan kamera dengan format file png. Tanaman yang digunakan
merupakan tanaman dari BBI Hortikultura Gedung Johor dengan pencahayaan yang
jelas sehingga bentuk dan tulang daun terlihat jelas. Contoh dari data yang digunakan
dapat dilihat pada Gambar 3.1.
Gambar 3.1. Contoh citra digital daun
Terdapat 10 jenis tumbuhan yang digunakan citra daunnya. Untuk monokotil,
tumbuhan yang digunakan adalah rambutan, manga, alpukat, durian, dan kelengkeng.
Sedangkan untuk dikotil, tumbuhan yang digunakan adalah pandan, bamboo, padi,
nanas, dan kurma. Jumlah data yang digunakan sebayak 1.800 citra yang kemudian
dibagi menjadi 2, yaitu untuk data training dan data testing. Contoh citranya yang
bisa dilihat pada Tabel 3.1. untuk tumbuhan monokotil dan Tabel 3.2. untuk tumbuhan
dikotil.
25
Tabel 3.1 Data monokotil
Nama
Tumbuhan
Contoh
Citra
Data
Pelatihan
Data
Pengujian
Jumlah
Data
Pandan
172 43 215
Bambu
147 33 180
Tebu
128 32 160
Padi
123 37 160
Kurma
129 31 160
Jumlah Data - 700 176 875
26
Tabel 3.2 Data dikotil
Nama
Tumbuhan
Contoh
Citra
Data
Pelatihan
Data
Pengujian
Jumlah
Data
Rambutan
127 33 160
Mangga
116 37 153
Alpukat
163 41 204
Durian
161 39 200
Lemon
172 36 208
Jumlah Data - 739 186 925
Data training bertujuan untuk melatih model sehingga dapat memahami
informasi-informasi pada data tersebut. Sedangkan, data uji bertujuan untuk
melakukan pengujian terhadap performa model yang telah dilatih. Bobot nilai masing-
masing data dapat dilihat pada Gambar 3.2.
27
Gambar 3.2. Bobot nilai data latih dan data uji
3.2 Analisis Sistem
Perancangan sistem pengklasifikasian tumbuhan Angiospermae berdasarkan bentuk
tulang daun memiliki beberapa tahap . tahapan pertama merupakan data collecting.
Data yang digunakan adalah citra digital dari daun-daun tumbuhan yang akan
digunakan. Penulis akan mengumpulkan beberapa citra digital yang kemungkinan
akan digunakan untuk training. Selanjutnya untuk tahap testing, sistem akan berjalan
seperti Gambar 3.3. Ketika citra telah diinput, sistem masuk ke tahap preprocessing,
yaitu tahap untuk pengolahan data asli sebelum data diolah menggunakan PNN
sebagai classifier. Pada tahap ini, citra diubah ukurannya sesuai dengan ketentuan
agar lebih mudah diolah dan ukuran datanya tepat. Kemudian, citra akan diubah dari
RGB menjadi gray-scale. Setelah itu, untuk mengidentifikasi nama tanaman, masuk
ke tahap shape segmentation untuk pengklasifikasian nama tanaman berdasarkan
bentuk daun. Dalam proses ini, terdapat tiga tahap. Pertama, citra akan diubah menjadi
binary image, kemudian tahap menghilangkan noise menggunakan Gaussian blur.
Terakhir, citra yang telah diubah menjadi gambar biner, diubah menjadi inverse
image-nya. Selanjutnya, untuk mengidentifikasi tanaman masuk ke kelompok dikotil
atau monokotil, masuk ke tahap vein segmentation untuk mengambil bagian penting
yang unik dari citra, yaitu tulang daun. Pertama, dilakukan Canny Edge Detection
untuk mendeteksi garis tepi pada citra. Terakhir, binarization yaitu mengubah citra
menjadi biner. Kemudian, citra diekstraksi menggunakan fitur GLCM yang terdiri dari
contrast, correlation, energy, dissimilarity, ASM, homogeneity, dan entropy. Lalu
masuk ke tahap PNN untuk mengklasifikasikan jenis tumbuhan berdasarkan citra yang
telah diolah. Kemudian, hasil akan muncul. Adapun untuk memperjelas tahapan
penelitian ini dapat dilihat pada Gambar 3.3.
1.439 data latih (80%) 361 data uji (20%)
28
Gambar 3.3. Arsitektur Umum
3.2.1 Pre-processing
Sebelum melakukan segmentasi dan klasifikasi, citra dipersiapkan dengan tahap
preprocessing. Preprocessing terdiri dari 2 tahap, yaitu image resize dan RGB to gray-
scale image.
3.2.1.1 Image Resize
Beberapa gambar memiliki ukuran citra yang berbeda-beda, karena itu untuk
mempermudah sistem bekerja, harus dibuat standar ukuran yang tepat dan citra yang
29
tidak sesuai dengan standar tersebut akan diubah menjadi seukuran standar. Ukuran
standar dalam penelitian ini ialah 224 x 224 pixel.
- Fungsi resize dilakukan menggunakan library OpenCV. CV2.resize
merupakan fungsi OpenCV untuk merubah ukuran gambar dengan sintaks
cv2.resize(src,dsize[,dst[,fx[,fy[,interpolation]]]]).
Fungsi resize memiliki dua parameter yang wajib dicantumkan, parameter
pertama, yaitu souce dari gambar. Parameter keduanya ialah ukuran akhir
yang diharapkan, yaitu 224x224. Untuk parameter-parameter lainnya yang
tidak wajib dimasukkan ialah fx untuk sumbu horizontal (x), fy untuk
sumbu vertikal (y), dan yang terakhir adalah interpolation untuk teknik
resize yang digunakan.
- Teknik resize yang digunakan ialah bilinear interpolation, yang dimana
merupakan salah satu jenis interpolasi. Billinear interpolation merupakan
penulisan kembali atau pembuuatan ulang dengan mengubah nilai dengan
nilai terdekat. Billinear interpolation menjadi teknik default untuk fungsi
resize, karena itu tidak perlu dicantumkan.
3.2.1.2 Gray-scale Image
Mengubah citra daun yang memilki berbagai macam warna menjadi warna putih, abu-
abu, dan hitam dengan menggunakan grayscale. Untuk mengganti RGB
menjadi grayscale, bisa diterapkan dengan mengambil seluruh piksel citra, yang
selanjutnya mengambil informasi 3 warna dasar, yaitu red, green, dan blue (melalui
fungsi warna to RGB), 3 warna ini akan ditambahkan dan dibagi 3 sehingga
mendapatkan rata-rata yang kemudian akan digunakan untuk memberi warna pada
piksel citra sehingga citra RGB menjadi grayscale. (Santi, 2011).
Citra daun sesudah dilakukan image resize dan sesudah diubah menjadi gray-
scale dapat dilihat di Gambar 3.4.
img = cv2.resize(img,(224,224))
30
Gambar 3.4. Citra daun asli (kiri), citra daun sesudah diubah dilakukan preprocessing
(kanan)
Langkah proses gray-scale yang dilakukan di penelitian ini bisa dilihat di bawah ini.
- Membaca citra menggunakan fungsi imread dari library OpenCV.
CV2.imread memiliki sintaks CV2.imread(path,flag). CV2.imread
berfungsi untuk membaca gambar dari path file yang diberikan. Gambar
akan diproses tergantung dengan flag yang diberikan. Flag memiliki
default 1 yang berarti color, atau gambar berwarna. Nilai flag 0 akan
membaca gambar menjadi gray-scale seperti cara di atas, dan nilai flag -1
yaitu untuk membaca gambar beserta alpha channelnya. Jika citra
merupakan gambar berwarna, maka nilai keabuan tiap piksel akan dihitung
dengan mengambil rata-rata nilai warna dan membacanya dengan array.
Berikut adalah penjelasan implementasi proses gray-scale image dengan representasi
data berukuran 3x3 seperi Gambar 3.5.
Gambar 3.5. Citra daun sebelum melalui proses gray-scale
img = cv2.imread(filename[3],0)
31
Gambar 3.5. merupakan potongan citra daun berukuran 3x3 dengan RGB nilai
masing-masing pixel-nya sebagai berikut:
P1 = 47, 92, 53
P2 = 10, 115, 60
P3 = 22, 85, 55
P4 = 83, 158, 158
P5 = 55, 131, 83
P6 = 20, 122, 73
P7 = 64, 119, 103
P8 = 66, 157, 121
P9 = 4, 79, 38
Untuk mengubah citra RGB menjadi citra gray-scale dilakukan dengan
mencari nilai ratarata dari total nilai RGB. Hasil dari pemanggilan library Open CV
dengan nama fungsi yaitu imread dengan parameter 0 untuk membaca citra dan
mengubah citra menjadi gray-scale image.
P1 = (47+92+53) = 192/3 → 64
P2 = (10+115+60) = 186/3 → 62
P3 = (22+85+55) = 162/3 → 54
P4 = (83+158+158) = 399/3 → 133
P5 = (55+131+83) = 270/3 → 90
P6 = (20+122+73) = 216/3 → 72
P7 = (64+119+103) = 288/3 → 96
P8 = (66+157+121) = 345/3 → 115
P9 = (4+79+38) = 120/3 → 40
32
Gambar 3.6. Citra daun setelah melalui proses gray-scale
Gambar 3.6. merupakan hasil dari implementasi proses gray-scale image terhadap
representasi data berukuran 3x3.
3.2.2 Shape Segmentation
Tahap shape segmentation dilakukan untuk menentukan nama tumbuhan berdasarkan
garis tepi daun. Tahap shape segmentation terdiri dari tiga tahapan, yaitu converting to
binary image, Gaussian blur, dan transform to inverse image.
3.2.3.1 Binary Image
Mengkonversi citra ke binary image memiliki proses yang mirip dengan
mengkonversi citra ke gray-scale, perbedaannya ialah warna rata-rata akan dibagi
menjadi 2 kelompok, dengan ketentuan jika intensitas warna ialah 0–255, diambil
mediannya, yaitu 127. Jika intensitas warna lebih rendah dari 127 maka warna akan
menjadi hitam dan jika intensitas warna lebih tinggi dari 127 warna akan menjadi
putih (Santi, 2011). Citra daun sesudah dilakukan preprocessing dan sesudah diubah
menjadi binary image bisa dilihat di Gambar 3.7.
Gambar 3.7. Citra daun sesudah dilakukan preprocessing (kiri), citra daun sesudah
diubah menjadi binary image (kanan)
33
Mengubah grayscale menjadi binary image dilakukan dengan cara mencari
batas dari nilai threshold. Jika nilai intensitas citra ≥ nilai threshold, maka citra akan
diubah menjadi bernilai 1 dan berwarna putih. Sebaliknya, jika nilai intensitas citra <
nilai threshold, maka citra akan diubah menjadi bernilai 0 dan berwarna hitam.
Gambar 3.8. Citra daun 3x3 sebelum diubah menjadi binary image
Berikut adalah nilai grayscale dari citra pada gambar 3.8.
P1 = 64, 64, 64
P2 = 62, 62, 62
P3 = 54, 54, 54
P4 = 133, 133, 133
P5 = 90, 90, 90
P6 = 72, 72, 72
P7 = 96, 96, 96
P8 = 115, 115, 115
P9 = 40, 40, 40
Dengan nilai threshold diambil dari nilai tengah 0-255, yaitu 127. Jika nilai
intensitas citra ≥ 127, maka akan diubah menjadi putih, sebaliknya, jika nilai
intensitas < 127, maka akan diubah menjadi hitam. Lebih jelasnya akan dijabarkan di
bawah ini.
P1 = 64 < 127, 1 atau warna hitam
P2 = 62 < 127, 1 atau warna hitam
P3 = 54 < 127, 1 atau warna hitam
P4 = 133 ≥ 127, 0 atau warna putih
P5 = 90 < 127, 1 atau warna hitam
34
P6 = 72 < 127, 1 atau warna hitam
P7 = 96 < 127, 1 atau warna hitam
P8 = 115 < 127, 1 atau warna hitam
P9 = 40 < 127, 1 atau warna hitam
Sehingga, citra 3x3 yang sudah diolah dapat dilihat di gambar 3.9.
Gambar 3.9. Citra daun 3x3 sesudah diubah menjadi binary image
3.2.3.2 Gaussian Blur
Gaussian blur dinamai berdasarkan nama ahli matematika dan ilmuan, yaitu Carl
Fredrich Gauss. Gaussian blur termasuk low-pass filter.Tahap Gaussian blur
(penghalusan Gaussian) berfungsi untuk menghaluskan gambar, hal ini
memungkinkan untuk mengurangi noise dan detail gambar sehingga mempermudah
proses pengenalan gambar. Citra daun sesudah diubah menjadi binary image dan
sesudah diubah dilakukan proses Gaussian blur dapat dilihat di Gambar 3.8.
Gambar 3.10. Citra daun sesudah diubah menjadi binary image (kiri), citra daun
sesudah dilakukan tahap Gaussian blur (kanan)
Untuk menerapkan Gaussian blur, tentukan lokasi entri pada kernel filter.
Setidaknya berukuran 5x5 piksel. Berikut ialah implementasi Gaussian blur pada citra
5x5 dengan 𝜎2 = 1.
35
Gambar 3.11. Lokasi entri kernel filter pada citra 5x5
𝐺(0,0) = 𝑒−0 = 1
𝐺(1,0) = 𝐺(0,1) = 𝐺(−1,0) = 𝐺(0,−1) = 𝑒−12 = 0,6065
𝐺(1,1) = 𝐺(1,−1) = 𝐺(−1,1) = 𝐺(−1,−1) = 𝑒−1 = 0,3679
𝐺(2,1) = 𝐺(1,2) = 𝐺(−2,1) = 𝐺(−2,−1) = 𝑒−52 = 0,0821
𝐺(2,0) = 𝐺(0,2) = 𝐺(0,−2) = 𝐺(−2,0) = 𝑒−2 = 0,1353
𝐺(2,2) = 𝐺(−2,−2) = 𝐺(−2,2) = 𝐺(2,−2) = 𝑒−4 = 0,0183
Selanjutnya hasil-hasil tersebut dilakukan perkalian dengan 55 untuk mengubah
nilai terkecil menjadi 1. Nilai 55 didapat dari 1/0,0183 yang selanjutnya dibulatkan ke
atas. Kemudian dilakukan perkalian nilai 𝐺(𝑥, 𝑦) dengan 55.
Gambar 3.12. Citra yang sudah dikalikan dengan 55
Selanjutnya dilakukan normalisasi sehingga diperoleh filter seperti berikut.
36
Gambar 3.13. Citra yang telah dinormalisasi
3.2.3.3 Inverse Image
Transform to inverse image merupakan proses membalik warna yang kontras pada
citra dengan warna aslinya. Untuk citra yang telah diolah dengan proses-proses di
atas, proses inverse image berguna untuk memperjelas garis tepi sehingga bentuk daun
terlihat jelas dan dapat mempermudah pengklasifikasian nama tumbuhan. Citra daun
sesudah dilakukan proses Gaussian blur dan sesudah diubah menjadi inverse image
bisa dilihat di Gambar 3.14.
Gambar 3.14. Citra daun sesudah dilakukan tahap Gaussian blur (kiri), citra daun
sesudah diubah menjadi inverse image (kanan)
Langkah-langkah proses shape segmentation yang dilakukan di penelitian ini bisa
dilihat di bawah ini.
- Langkah pertama yaitu dilakukan proses perubahan citra daun menjadi
binary image menggunakan metode threshold untuk mengenali objek.
Digunakan fungsi CV2.threshold dengan parameter pertama adalah gambar
def preprocess_shape(img,th,nkernel):
img = cv2.threshold(img,th,255,cv2.THRESH_BINARY)[1]
img = cv2.GaussianBlur(img,(5,5),0)
img = ~img
return img
37
yang akan diolah, parameter kedua ialah threshold, parameter ketiga ialah
nilai maksimal, dan parameter terakhir ialah jenis threshold yang
digunakan. Cara kerjanya ialah diambil nilai threshold, yaitu 127, yang
diambil dari nilai tengah 0-255. Jika intensitas piksel > 127, maka nilai
akan diubah menjadi 255 atau putih, selain itu akan diubah menjadi 0 atau
hitam. Menggunakan parameter THRESH_BINARY untuk memisahkan
objek menjadi hitam dan background menjadi putih.
- Langkah kedua yaitu proses filter blur dengan Gaussian blur. Metode ini
akan mengambil warna tengah dari dua warna berbeda sehingga
menciptakan efek lembut pada citra. Fungsi Gaussian blur dilakukan
menggunakan library OpenCV. Sintaks yang digunakan ialah
cv2.GaussianBlur(src, ksize, sigmaX[, dst[, sigmaY[,
borderType=BORDER_DEFAULT]]] ). Parameter pertama ialah sumber
gambar, parameter kedua ialah ukuran kernel [tinggi, lebar], parameter
ketiga ialah sigmaX untuk deviasi standar kernel sepanjang sumbu x
(horizontal), selanjutnya ialah dst atau output gambar, parameter
selanjutnya ialah sigmaY untuk deviasi standar kernel sepanjang sumbu y
(vertikal) yang jika diisi 0 maka akan diambil nilai sigmaX, dan parameter
terakhir ialah tipe border yang jika tidak dicantumkan akan dilakukan
dengan tipe border default.
- Langkah ketiga yaitu proses membalik warna yang kontras pada citra
dengan warna aslinya dengan metode inverse image, sehingga garis tepi
daun dan bentuk daun yang sebelumnya terlihat blur jadi terlihat lebih
jelas.
3.2.3 Vein Segmentation
Tahap vein segmentation dilakukan untuk menentukan jenis biji tumbuhan tersebut,
apakah dikotil atau monokotil berdasarkan tulang daun (vein). Tahap vein
segmentation terdiri dari dua tahapan, segmentation, dan binarization.
3.2.3.1 Canny Edge Detection
Canny merupakan sebuah metode edge detection atau pendeteksi tepi yang ditemukan
oleh Marr dan Hildreth dan kemudian tahun 1986 dikembangkan oleh John F. Canny.
38
Metode ini berfungsi untuk mendeteksi garis tepi citra dengan multi-tahap. Garis tepi
merupakan sebuah kontras antara permukaan tintaan dan garis pada jalan. Metode ini
sudah cukup berumur tapi masih banyak digunakan karena efektif untuk mendeteksi
tepi. Metode ini dapat membuat garis-garis tepi daun dan tulang daun terlihat jelas.
Untuk lebih jelasnya citra daun yang sudah dilakukan preprocessing dan citra daun
yang sudah dilakukan proses pendeteksi tepi Canny dapat dilihat di Gambar 3.15.
Gambar 3.15. Citra daun sesudah dilakukan preprocessing (kiri), citra daun sesudah
dilakukan tahap Canny edge detection (kanan)
Sebagai contoh implementasi Canny edge detection, berikut adalah contoh
perhitungan dengan citra yang sudah diubah menjadi matrix 5x5.
Kemudian diterapkan metode Gaussian pada matriks.
39
Selanjutnya dilakukan seleksi dengan tepian prewit menggunakan matriks
sebagai berikut:
𝑃𝑥 = [−1 0 1−1 0 1−1 0 1
]
𝑃𝑦 = [1 1 10 0 0
−1 −1 −1]
Selanjutnya ialah perhitungan seleksi horizontal yang dilakukan menggunakan
matriks 𝑃𝑥 di atas.
𝐺1(𝑥, 𝑦) = |(-1*143)+(-1*114)+(-1*100)+(1*107)+(1*86)|
= |(-57)|
= 57
Untuk perhitungan seleksi vertikal, dilakukan menggunakan matriks 𝑃𝑦 di atas.
𝐺𝑦(𝑥, 𝑦) = |(-1*143)+(-1*129)+(1*107)+(1*100)+(1*86)+(1*86)|
= |(-107)|
= 107
𝐺(𝑥, 𝑦) = |𝐺1(𝑥, 𝑦)|+ |𝐺2(𝑥, 𝑦)|
= 57+107
= 163
𝐺(𝑥, 𝑦) = max( |𝐺1(𝑥, 𝑦)|+ |𝐺2(𝑥, 𝑦)|)
= 107
𝐺(𝑥, 𝑦) = ( |𝐺1(𝑥, 𝑦)|+ |𝐺2(𝑥, 𝑦)|) /2
= (163)/2
= 81,5
= 82
Selanjutnya ialah penentuan arah tepi dengan syarat sebagai berikut:
- Arah tepian menjadi 0 ̊ jika arah tepi adalah 0 ̊- 22,5 ̊, 157,5 ̊ , atau 180 ̊ .
- Arah tepian menjadi 45 ̊ jika arah tepi adalah 22,5 ̊ - 67,5 ̊.
- Arah tepian menjadi 90 ̊ jika arah tepi adalah 67,5 ̊ - 112,5 ̊.
- Arah tepian menjadi 135 ̊ jika arah tepi adalah 112,5 ̊ - 157,5 ̊.
Dengan 𝐺(𝑥, 𝑦) = 82, maka diubah menjadi 90 ̊. Begitu seterusnya hingga
seluruh citra terdeteksi.
40
3.2.3.2 Binary Image
Mengkonversi citra ke binary image memiliki proses yang mirip dengan
mengkonversi citra ke gray-scale, perbedaannya ialah warna rata-rata akan dibagi
menjadi 2 kelompok, dengan ketentuan jika intensitas warna ialah 0 – 255, diambil
nilai tengahnya, yaitu 127. Jika intensitas warna lebih rendah dari 127 maka warna
akan menjadi hitam dan jika intensitas warna lebih tinggi dari 127 warna akan
menjadi putih (Santi, 2011). Untuk lebih jelasnya citra daun sesudah dilakukan tahap
Canny edge detection dan citra daun yang sudah diubah menjadi binarization dapat
dilihat di Gambar 3.16.
Gambar 3.16. Citra daun sesudah dilakukan tahap Canny edge detection (kiri), citra
daun sesudah diubah menjadi binary image (kanan)
Langkah-langkah proses vein segmentation yang dilakukan penelitian ini bisa dilihat
di bawah ini.
- Langkah pertama yaitu dilakukan proses mendeteksi tepi dengan Canny
edge detection. Metode ini dilakukan dengan multi-tahap. Pertama,
menghilangkan noise dengan Gaussian blur, kemudian menghitung potensi
gradient citra menggunakan algoritma Canny, lalu menghitung arah tepi
dan kemudian menghubungkannya, kemudian menghilangkan non-
maksimum di sepanjang tepi pada arah tepi dan menghilangkan pixel yang
tak dianggap sebagai tepi sehingga diperoleh tepi yang tipis, kemudian
dilakukan hysteresis thresholding.
def preprocess_vein(img,th,nkernel,th1,th2):
kernel=np.ones((nkernel,nkernel),np.uint8)
img = cv2.Canny(img,th1,th2)
img = cv2.threshold(img,th,255,cv2.THRESH_BINARY)[1]
return img
41
- Fungsi canny dilakukan dengan menggunakan library OpenCV, yaitu
dengan sintaks cv2.canny dengan parameter pertama adalah image yang
berupa array, parameter kedua ialah threshold 1 dan threshold 2 yang
berfungsi sebagai batas atas dan batas bawah pada intensitas gradient. Lalu
hasil dari canny tersebut adalah gambar yang sudah dideteksi sudutnya.
- Langkah terakhir yaitu dilakukan proses perubahan citra daun menjadi
binary image menggunakan metode threshold untuk mengenali objek.
Digunakan fungsi CV2.threshold dengan parameter pertama adalah gambar
yang akan diolah, parameter kedua ialah threshold, parameter ketiga ialah
nilai maksimal, dan parameter terakhir ialah jenis threshold yang
digunakan. Cara kerjanya ialah diambil nilai threshold, yaitu 127, yang
diambil dari nilai tengah 0-255. Jika intensitas piksel > 127, maka nilai
akan diubah menjadi 255 atau putih, selain itu akan diubah menjadi 0 atau
hitam. Menggunakan parameter THRESH_BINARY untuk memisahkan
objek menjadi hitam dan background menjadi putih.
3.2.4 GLCM
Gray Level Co-Occurrence Matrix berguna untuk menganalisis piksel citra untuk
mendeteksi tingkat keabuan yang sering terjadi. GLCM juga berfungsi untuk tabulasi
tentang frekuensi kombinasi nilai pixel yang muncul pada suatu citra (Xie, 2010).
Ekstraksi ciri dilakukan berdasarkan parameter contrast, dissimilarity, homogeneity,
angular second moment (ASM), energy, correlation, dan entropy.
Langkah-langkah untuk melakukan ekstraksi fitur GLCM terdapat empat
tahap, yaitu:
1. Mencari nilai matriks kookurensi dengan cara menghitung jumlah
pasangan piksel dengan intensitas yang sama dan memasukkan nilainya ke
dalam area kerja matriks GLCM. Dalam menentukan pasangan piksel,
keseluruhan nilai ada matriks grayscale ditempatkan matriks kookurensi
dengan merujuk pada ketentuan graylevel mode warna grayscale (8-bit
image) berupa 28=256.
42
Gambar 3.17. Matriks kookurensi
2. Mencari nilai matriks simetris dengan cara menjumlahkan matriks
kookurensi dengan matriks transposenya.
Gambar 3.18. Perhitungan matriks simetris
3. Normalisasi nilai matriks simetris untuk memperoleh suatu nilai dalam
bentuk probabilitas.
Gambar 3.19. Matriks normalisasi
43
4. Menghitung nilai feature vector dengan cara menghitung ciri statistik orde
dua. Berikut cara menghitung fitur-fitur GLCM.
- Menghitung fitur contrast
Contrast = (0*(0-0)²)+ (0*(0-1)²)+ (0.01*(0-2)²)+ (0*(0-3)²)+ (0*(0-
4)²)+ (0*(0-5)²)+ (0*(0-6)²)+ (0*(0-7)²)+ (0*(0-8)²)+ (0*(0-9)²)+
(0.01*(1-0)²)+ (0*(1-1)²)+ (0*(1-2)²)+ (0*(1-2)²)+ (0*(1-3)²)+ (0*(1-
4)²)+ (0*(1-5)²)+ (0*(1-6)²)+ (0.01*(1-7)²)+ (0*(1-8)²)+ (0*(1-9)²)+
(0.01*(2-0)²)+ (0*(2-1)²)+ (0*(2-2)²)+ (0*(2-3)²)+ (0*(2-4)²)+
(0.01*(2-5)²)+ (0*(2-6)²)+ (0*(2-7)²)+ (0*(2-8)²)+ (0*(2-9)²)+ (0*(3-
0)²)+ (0*(3-1)²)+ (0*(3-2)²)+ (0*(3-3)²)+ (0*(3-4)²)+ (0.01*(3-5)²)+
(0*(3-6)²)+ (0*(3-7)²)+ (0*(3-8)²)+ (0*(3-9)²)+ (0*(4-0)²)+ (0*(4-1)²)+
(0*(4-2)²)+ (0*(4-3)²)+ (0*(4-4)²)+ (0*(4-5)²)+ (0*(4-6)²)+ (0.01*(4-
7)²)+ (0*(4-8)²)+ (0.01*(4-9)²)+ (0*(5-0)²)+ (0*(5-1)²)+ (0.01*(5-2)²)+
(0*(5-3)²)+ (0*(5-4)²)+ (0.07*(5-5)²)+ (0.08*(5-6)²)+ (0.02*(5-7)²)+
(0*(5-8)²)+ (0.04*(5-9)²)+ (0*(6-0)²)+ (0*(6-1)²)+ (0*(6-2)²)+ (0*(6-
3)²)+ (0*(6-4)²)+ (0.07*(6-5)²)+ (0.08*(6-6)²)+ (0.02*(6-7)²)+ (0*(6-
8)²)+ (0.04*(6-9)²)+ (0*(7-0)²)+ (0.01*(7-1)²)+ (0*(7-2)²)+ (0*(7-3)²)+
(0.01*(7-4)²)+ (0.02*(7-5)²)+ (0.09*(7-6)²)+ (0.2*(7-7)²)+ (0.06*(7-
8)²)+ (0*(7-9)²)+ (0*(8-0)²)+ (0*(8-1)²)+ (0*(8-2)²)+ (0*(8-3)²)+ (0*(8-
4)²)+ (0.01*(8-5)²)+ (0*(8-6)²)+ (0.03*(8-7)²)+ (0.06*(8-8)²)+ (0*(8-
9)²)+ (0*(9-0)²)+ (0*(9-1)²)+ (0*(9-2)²)+ (0*(9-3)²)+ (0.01*(9-4)²)+
(0.04*(9-5)²)+ (0.01*(9-6)²)+ (0*(9-7)²)+ (0*(9-8)²)+ (0*(9-9)²)
= 3.471545
- Menghitung fitur energy
Energy = (0)²+ (0)²+ (0.01)²+ (0)²+ (0)²+ (0)²+ (0)²+ (0)²+ (0)²+ (0)²+
(0.01)²+ (0)²+ (0)²+ (0)²+ (0)²+ (0)²+ (0)²+ (0.01)²+ (0)²+ (0)²+ (0.01)²+
(0)²+ (0)²+ (0)²+ (0)²+ (0.01)²+ (0)²+ (0)²+ (0)²+ (0)²+ (0)²+ (0)²+ (0)²+
(0)²+ (0)²+ (0.01)²+ (0)²+ (0)²+ (0)²+ (0)²+ (0)²+ (0)²+ (0)²+ (0)²+ (0)²+
(0)²+ (0)²+ (0.01)²+ (0)²+ (0.01)²+ (0)²+ (0)²+ (0.01)²+ (0)²+ (0)²+
(0.07)²+ (0.08)²+ (0.02)²+ (0)²+ (0.04)²+ (0)²+ (0)²+ (0)²+ (0)²+ (0)²+
(0.07)²+ (0.08)²+ (0.02)²+ (0)²+ (0.04)²+ (0)²+ (0.01)²+ (0)²+ (0)²+
(0.01)²+ (0.02)²+ (0.09)²+ (0.2)²+ (0.03)²+ (0)²+ (0)²+ (0)²+ (0)²+ (0)²+
44
(0)²+ (0)²+ (0)²+ (0.03)²+ (0.06)²+ (0)²+ (0)²+ (0)²+ (0)²+ (0.01)²+
(0.04)²+ (0.01)²+ (0)²+ (0)²+ (0)²
= 0.086787
- Menghitung fitur entropy
Entropy = -(0(log(0))+ (0(log(0))+ (0.01(log(0.01))+ (0(log(0))+
(0(log(0))+ (0(log(0))+ (0(log(0))+ (0(log(0))+ (0(log(0))+ (0(log(0))+
(0.01(log(0.01))+ (0(log(0))+ (0(log(0))+ (0(log(0))+ (0(log(0))+
(0(log(0))+ (0(log(0))+ (0.01(log(0.01))+ (0(log(0))+ (0(log(0))+
(0.01(log(0.01))+ (0(log(0))+ (0(log(0))+ (0(log(0))+ (0(log(0))+
(0.01(log(0.01))+ (0(log(0))+ (0(log(0))+ (0(log(0))+ (0(log(0))+
(0(log(0))+ (0(log(0))+ (0(log(0))+ (0(log(0))+ (0(log(0))+
(0.01(log(0.01))+ (0(log(0))+ (0(log(0))+ (0(log(0))+ (0(log(0))+
(0(log(0))+ (0(log(0))+ (0(log(0))+ (0(log(0))+ (0(log(0))+ (0(log(0))+
(0(log(0))+ (0.01(log(0.01))+ (0(log(0))+ (0.01(log(0.01))+ (0(log(0))+
(0(log(0))+ (0.01(log(0.01))+ (0(log(0))+ (0(log(0))+ (0.07(log(0.07))+
(0.08(log(0.08))+ (0.02(log(0.02))+ (0(log(0))+ (0.04(log(0.04))+
(0(log(0))+ (0(log(0))+ (0(log(0))+ (0(log(0))+ (0(log(0))+
(0.7(log(0.07))+ (0.08(log(0.08))+ (0.02(log(0.02))+ (0(log(0))+
(0.04(log(0.04))+ (0(log(0))+ (0(log(0))+ (0(log(0))+ (0(log(0))+
(0(log(0))+ (0.07(log(0.07))+ (0.08(log(0.08))+ (0.02(log(0.02))+
(0(log(0))+ (0.04(log(0.04))+ (0(log(0))+ (0.01(log(0.01))+ (0(log(0))+
(0(log(0))+ (0.01(log(0.01))+ (0.02(log(0.02))+ (0.09(log(0.09))+
(0.02(log(0.02))+ (0.03(log(0.03))+ (0(log(0))+ (0(log(0))+ (0(log(0))+
(0(log(0))+ (0(log(0))+ (0(log(0))+ (0(log(0))+ (0(log(0))+
(0.03(log(0.03))+ (0.06(log(0.06))+ (0(log(0))+ (0(log(0))+ (0(log(0))+
(0(log(0))+ (0(log(0))+ (0.01(log(0.01))+ (0.04(log(0.04))+
(0.01(log(0.01))+ (0(log(0))+ (0(log(0))+ (0(log(0))
= 1.219727
Hasil perhitungan GLCM yang telah melalui tahap shape segmentation dapat
dilihat di tabel 3.3.
45
Tabel 3.3 Hasil GLCM Shape
No
Shape
Y1 Y2 Contrast Energy
Homo-
geneity
Correla-
tion
Dissimila-
rity ASM Entropy
1 6.854.917.120.435.610
0.23984301481
3924
0.3882822002612469
0.9641086467293531
15.289.638.052.530
.400
0.05752467175503217
5.891.978.777.483.890
Mono-
kotil Kurma
2 5.773.685.738.308.770
0.2743770302129051
0.3906842277588257
0.9694296222407425
14.296.264.413.837
.200
0.07528
275470
845344
6.036.037.272.317.520
Dikotil Mangga
3 7.948.927.970.852.010
0.23748976037325084
0.3862877712654732
0.9633044322301141
16.918.421.684.817
.400
0.05640138628214411
5.938.695.386.157.280
Mono-
kotil Tebu
4
50.597.617.713.004.40
0
0.5683294604416177
0.7139178926745502
0.9761026648065908
9.459.080.717.488.
780
0.3229983756058603
3.344.184.265.695.210
Mono-
kotil Pandan
5 5.433.895.539.718.120
0.28967182745754466
0.43961
895635
68712
0.9757459786647524
1.311.172
.725.816.
780
0.08390
976762
259351
56.793.168.728.114.70
0
Dikotil Durian
6
4.475.177.970.852.010
0.4927558525495854
0.6553139232857736
0.9804996645210643
9.384.949.551.569.
500
0.2428083302218688
4.026.893.156.004.320
Mono-
kotil Padi
7 4.540.805.773.542.600
0.5612141049306516
0.6805437291773695
0.9761780182711102
8.968.629.884.689.
300
0.3149612715731125
36.158.398.370.519.90
0
Mono-
kotil Bambu
8
38.895.523.702.754.60
0
0.49900231309164783
0.6455130177810643
0.9831850723643025
8.868.033.311.979.
490
0.24900330847081492
41.050.174.956.119.80
0
Dikotil Lemon
9
26.261.422.966.047.40
0
0.4853354252769288
0.6126320937145956
0.98575970959
0897
7.347.373.478.539.
390
0.23555047502873735
4.274.505.828.050.050
Dikotil Rambu-
tan
10
312.123.
798.846.
893
0.4232504221733
021
0.5564479133341
073
0.9838815905777
707
8.618.273.542.600.89
0
0.1791409198698
7846
4.789.197.082.97
6.320
Dikotil Alpukat
Hasil perhitungan GLCM yang telah melalui tahap vein segmentation dapat
dilihat di tabel 3.4.
46
Tabel 3.4 Hasil GLCM Vein
No
Vein
Y1 Y2 Contrast Energy
Homo-
geneity
Correla-
tion
Dissimila-
rity ASM Entropy
1 83.884.749.359
.385
0.82636009960
1477
0.8709981401910236
0.36999731692120846
3.289.598.014.093.
520
0.68287101421
3363
0.5163252382574981
Mono-
kotil Kurma
2
5.531.1
34.389.
013.450
0.88647
660558
63335
0.91493
964892
48385
0.37607
457300
25839
21.690.72
3.094.170
.400
0.7858407722518679
0.37819
982783
37439
Dikotil Mangga
3 9.025.030.529.308.130
0.81985387738
7371
0.8612088929150166
0.33371763197798987
35.392.276.585.522
.100
0.6721603802671064
0.52330
864520
44636
Mono-
kotil Tebu
4
20.255.225.016.015.30
0
0.9603941703924848
0.9688505751299243
0.34370755067237097
7.943.225.496.476.
610
0.9223569625238691
0.16470471457867417
Mono-
kotil Pandan
5 1.446.243.894.138.370
0.97279
428019
99361
0.9777589903401966
0.3033165133183772
5.671.544.682.895.
580
0.94632
871158
97118
0.11931805554321724
Dikotil Durian
6 3.591.527.366.271.620
0.9234832249001228
0.94476782569
6312
0.4185776964312193
14.084.421.044.202
.400
0.8528212666719307
0.28615986028224893
Mono-
kotil Padi
7 5.623.558.616.271.620
0.9875344225727096
0.9913518306273312
0.4662284742736105
22.053.171.044.202
.400
0.97522423576
6015
0.06813360962473466
Mono-
kotil Bambu
8
28.768.667.921.204.30
0
0.93759
164874
33249
0.9557582076074119
0.43738
225148
21309
11.281.830.557.335
.000
0.8790780997932263
0.24665762581949896
Dikotil Lemon
9
34.418.261.531.069.80
0
0.9203279039707576
0.9470700004135733
0.4854462135169461
13.497.357.463.164
.600
0.84700345082
7208
0.3044259756855721
Dikotil Rambu-
tan
10
2.729.7
69.078.
315.180
0.93946
703356
05837
0.95802
034450
35036
0.45609
914109
36447
107.049.7
67.777.06
6
0.88259
830714
71228
0.24301
908261
578437
Dikotil Alpukat
Langkah-langkah proses feature extraction menggunakan 6 parameter GLCM
dapat dilihat di bawah ini.
47
- Langkah pertama, masukkan parameter-parameter GLCM yang akan
digunakan. Penelitian ini menggunakan 6 parameter, yaitu contrast, energy,
homogeneity, correlation, dissimilarity, dan ASM.
- Langkah kedua yaitu memasukkan nilai-nilai pada GLCM seperti jarak
(distances), sudut (angles), dan levels. Sesuai dengan di atas, penelitian ini
memilih jarak=1, sudut=0, dan levels=256.
- Langkah ketiga yaitu entropi Shannon sebagai pengukur informasi citra
banyak digunakan dalam aplikasi pemrosesan citra. Pengukuran ini
memerlukan perkiraan fungsi kepadatan probabilitas gambar dimensi
tinggi yang menimbulkan batasan dari sudut pandang praktis.
3.2.5 PNN
Probabilistic Neural Network (PNN) digunakan sebagai pengklasifikasi setelah
dilakukan feature extraction menggunakan GLCM pada citra. PNN memiliki 4 buah
layer, yaitu lapisan input, pola, penjumlahan, dan output/keputusan.
PNN memiliki 4 lapisan, yaitu lapisan input, pola, penjumlahan, dan
output/keputusan.
3.2.5.1 Lapisan Input (Input Layer)
Pada input layer, dimasukkan citra daun tumbuhan angiospermae yang telah
dilakukan proses feature extraction dengan 7 fitur GLCM, yaitu contrast, energy,
homogeneity, correlation, dissimilarity, ASM, dan entropy, dari shape segmentation
dan vein segmentation yang telah digabungkan. Kemudian data tersebut akan menjadi
data untuk proses learning (pembelajaran) pada algoritma yang dibangun untuk
klasifikasi jenis tumbuhan
def extract_features(img):
glcm_type = ["contrast",'energy','homogeneity','correlation','d
issimilarity','ASM']
glcm = greycomatrix(img, [1], [0], 256, symmetric=True, normed=
True)
x = [greycoprops(glcm, i)[0, 0] for i in glcm_type]
x.append(measure.shannon_entropy(img))
return x
48
3.2.5.2 Lapisan Pola (Pattern Layer)
Pada pattern layer, dilakukan perhitungan jarak (distance) antara vektor input dengan
vektor bobot training yang dipresentasikan oleh neuron dengan cara perkalian titik
antara vektor x dengan vektor bobot pelatihan, yang kemudian hasilnya dimasukkan
ke dalam fungsi Probability Density Function (PDF) yang umum digunakan pada
pattern layer, yaitu Gaussian. Fungsi Gaussian ditunjukkan dalam Persamaan 2.1
Dengan konstanta σ (std) tertentu (berdasarkan kodingan di penulisan, std = 1).
Jika input bernilai besar, maka std juga harus bernilai besar. Nilai std yang kecil akan
menyebabkan prediksi yang buruk. Langkah-langkah proses pattern layer pada PNN
dapat dilihat di bawah ini.
- Langkah pertama ialah training dataset dengan input array dataset dan std.
- Langkah kedua ialah membuat variabel baru berisi nol untuk menyimpan
hasil akhir menggunakan fungsi zeros, kemudian dilakukan perhitungan
std dengan akan kuadrat dari 2 x nilai konstanta pi.
- Langkah ketiga dilakukan membuat sebuah array mengulang sejumlah
array dengan mengulang sejumlah kali yang diberikan repetisi
menggunakan tile. Digunakan fungsi tile untuk membuat baris sebanyak
data sampel. Kemudian perhitungan selisih nilai data training dengan
inputs. Kemudian menghitung total jarak dengan fungsi inner1d, yaitu
hasil kali dalam vektor biasa untuk larik 1-D.
def pattern_layer(train_data, X, std):
n_train_samples = train_data.shape[0]
n_samples = X.shape[0]
results_pattern = np.zeros((n_train_samples, n_samples))
variance = std ** 2
const = std * math.sqrt(2 * math.pi)
for i, input_row in enumerate(X):
inputs = np.tile(input_row, (n_train_samples, 1))
class_difference = (train_data - inputs)
total_distance = inner1d(class_difference,
class_difference)
results_pattern [:, i] = np.exp(-total_distance /
variance) / const
return results_pattern
49
- Langkah terakhir ialah perhitungan results_pattern dengan np.exp(-
total_distance / variance) / const yang telah dihitung sebelumnya.
3.2.5.3 Lapisan Penjumlahan (Summation Layer)
Pada summation layer, dilakukan penjumlahan dari tiap kelas yang telah dihasilkan
pattern layer, kemudian ditampung di neuron-neuron, dimana setiap kelas memiliki
satu neuron. Persamaan summation layer dapat dilihat di Persamaan 2.2.
Langkah-langkah proses summation layer pada PNN dapat dilihat di bawah
ini.
- Langkah pertama ialah membuat fungsi summation_layer dengan kelas
classes yang berisi nilai unik, n_classes berisi ukuran classes, dan
n_samples berisi X_train.shape.
- Langkah kedua ialah menghitung class_ratios dengan membuat variabel
baru berisi nol untuk menyimpan hasil n_classes menggunakan fungsi
zeros. Kemudian membuat matrix berdasarkan hasil n_classes dan
n_samples.
- Langkah ketiga ialah pembuatan matrix dari penjumlahan class_val
positions yang telah dilakukan ravel.
def summation_layer(results_pattern, X_train, y_train):
classes = np.unique(y_train)
n_classes = classes.size
n_samples = X_train.shape[0]
class_ratios = np.zeros(n_classes)
row_comb_matrix = np.zeros(
(n_classes, n_samples))
for i, class_name in enumerate(classes):
class_name = classes[i]
class_val_positions = (y_train == class_name)
row_comb_matrix[i, class_val_positions.ravel()] = 1
class_ratios[i] = np.sum(class_val_positions)
results_summation = np.dot(row_comb_matrix,
results_pattern) / class_ratios
50
- Langkah terakhir ialah perhitungan results_summation dengan membuat
titik dari row_comb_matrix pada summation layer dan results_pattern pada
pattern layer. Hasil tersebut kemudian dibagi dengan class_ratios.
3.2.5.4 Lapisan Output / Keputusan (Decision Layer)
Pada decision layer, dihasilkan sebuah vektor dengan panjang M elemen, dimana M
merupakan banyaknya kelas. Vektor input x akan diklasifikasi ke dalam kelas M, jika
nilai p(x) indek ke M pada vektor output merupakan nilai terbesar jika dibandingkan
dengan elemen lainnya.
Langkah-langkah proses decision / output layer pada PNN dapat dilihat di
bawah ini.
- Langkah pertama ialah memasukkan fungsi concantenate pada
results_summation untuk menggabungkan urutan array di sepanjang axis 1.
- Langkah kedua ialah menentukan results_output dengan mencari nilai
paling maksimal dari array.
Berikut implementasi perhitungan PNN dengan representasi data yang sedikit
menggunakan data input pada Tabel 3.3 yaitu data 1, 2 dan 3, dengan pembagian data
1 dan data 2 merupakan data training dan data 3 merupakan data testing yang tidak
berikan label untuk dilakukan pengujian dalam menentukan klasifikasi jenis daun.
Data yang digunakan untuk implementasi dapat dilihat pada Tabel 3.5.
Tabel 3.5 Data input implementasi PNN
No
Shape
Y1 Y2 Contrast Energy
Homo-
geneity
Correla-
tion
Dissimila-
rity ASM Entropy
1 6.854.917.120.435.610
0.23984301481
3924
0.3882822002612469
0.9641086467293531
15.289.638.052.530
.400
0.05752467175503217
5.891.978.777.483.890
Mono-
kotil Kurma
2 5.773.685.738.308.770
0.2743770302129051
0.3906842277588257
0.9694296222407425
14.296.264.413.837
.200
0.07528
275470
845344
6.036.037.272.317.520
Dikotil Mangga
def output_layer(results_summation):
output = np.concatenate(results_summation, axis=1)
results_output = self.classes[output.argmax(axis=0)]
return results_output
51
3 7.948.927.970.852.010
0.23748976037325084
0.3862877712654732
0.9633044322301141
16.918.421.684.817
.400
0.05640138628214411
5.938.695.386.157.280
Pada tahap klasifikasi menggunakan metode PNN. Data input yang diberikan
selanjutnya akan melalui 3 layer yang dikandung. Untuk layer yang pertama yaitu
pattern layer, rumus dari lapisan ini dapat dilihat pada Persamaan 2.1. Berdasarkan
data input pada Tabel 3.5. dapat diketahui nilai-nilai yang menjadi variabel untuk
mendapatkan hasil dari lapisan ini. Adapun nilai-nilai tersebut antara lain:
𝜎 = 1
𝑥 = 0.7948 0.02374898 0.03862878 0.09633045
0.16917999 0.00564014 0.59380002
𝑥00 = 0.57729998 0.0274377 0.03906842
0.09694296 0.14296 0.00752828 0.60359998
𝑥01 = 0.68540001 0.0239843 0.03882822
0.09641086 0.15289 0.00575247 0.58909998
Nilai 𝜎 (spread / smoothing parameter) adalah nilai yang ditentukan, yaitu 1.
Sementara, nilai 𝑥 ada nilai yang digunakan sebagai data uji. Kemudian nilai 𝑥𝑖𝑗
adalah nilai yang digunakan sebagai data pelatihan, dimana i adalah indeks kelasnya
dan j adalah indeks data pelatihannya. Contoh: 𝑥00 merupakan data pelatihan indeks
ke-0 dengan indeks kelas yaitu 0 atau dikotil dan 𝑥01 merupakan data pelatihan indeks
ke-0 dengan indeks kelas yaitu 1 atau mono-kotil. Data pelatihan dan data uji sudah
terlebih dahulu melalui proses decimal scaling untuk menormalisasi data tersebut.
Selanjutnya, hasil dari implementasi data terhadap rumus dari persamaan pada layer
ini adalah sbb:
(𝑥 − 𝑥00) = 0.21750002 -0.00368873 -0.00043964 -0.00061252
0.02622 -0.00188814 -0.00979996
(𝑥 − 𝑥00)𝑇 (𝑥 − 𝑥00) = 0.04810753
2𝜎2 = 2.0
𝑓(𝑥)00 = 0.97623322
52
(𝑥 − 𝑥01) = 1.09399986e-01 -2.35325098e-04 -1.99443102e-04 -
8.04185867e-05 1.62899971e-02 -1.12328678e-04
4.70004082e-03
(𝑥 − 𝑥01)𝑇 (𝑥 − 𝑥01) = 0.01225593
2𝜎2 = 2.0
𝑓(𝑥)01 = 0.99389077
Kemudian, setelah didapatkan hasil dari pattern layer data uji terhadap data
training ke-0 indeks kelas 0 yaitu 0.97623322 dan terhadap data training ke-0
indeks kelas 1 yaitu 0.99389077, dilanjutkan ke tahap summation layer. Untuk
menghitung hasil dari layer ini dilakukan perhitungan seperti pada Persamaan
2.2. Hasil dari pattern layer pada tahap awal digunakan kembali pada tahap ini
beserta nilai 𝜎. Berikut adalah hasil dari summation layer:
𝑝(𝑥)00 = 0.47651565
𝑝(𝑥)01 = 0.49390944
Lapisan yang terakhir yaitu output layer. Pada layer ini hasil klasifikasi terhadap
data uji didapatkan dengan menghitung nilai maximum dari masing-masing hasil
summation layer indeks kelas yang ditentukan. Bentuk input pada layer ini
adalah sebagai berikut: [0.47651565, 0.49390944]. Dari input tersebut, nilai
maximum adalah 0.49390944 yang merupakan hasil summation layer indeks
kelas 1. Dengan begitu, hasil dari ouput layer terhadap data uji yang digunakan
adalah 1 atau monokotil.
3.2.5.5 Proses Learning (Pembelajaran)
Setelah dilakukan tahap perancangan arsitektur Probabilistic Neural Network, tahap
selanjutnya adalah proses learning yang dilakukan secara berulang sebanyak 200
epochs dengan pembagian sample batch size sejumlah 100. Nilai epoch optimal dalam
penelitian ini adalah 50. Proses learning dilakukan hingga mencapai nilai optimum
yang diinginkan dan terbentuk model Probabilistic Neural Network yang memenuhi
target.
53
Fungsi loss berguna untuk menghitung kesalahan model dengan menyaring
semua aspek model menjadi satu angka sedemikian rupa sehingga peningkatan angka
itu merupakan tanda-tanda dari model yang lebih baik.
Proses learning model terhadap citra tumbuhan dapat dilihat melalui grafik
visualisasi tensorflow atau disebut dengan tensorboard. Visualisasi grafik proses
learning jenis tumbuhan ditunjukkan pada Gambar 3.20., 3.21., dan 3.22.
Gambar 3.20. Visualisasi grafik akurasi training (kiri) dan visualisasi grafik loss
training (kanan) pada model jenis tumbuhan
Gambar 3.21. Visualisasi grafik akurasi training mencapai dan visualisasi grafik loss
training (kanan) pada model dikotil
Gambar 3.22. Visualisasi grafik akurasi training mencapai dan visualisasi grafik loss
training (kanan) pada model monokotil
54
Dapat dilihat dari gambar 3.20, 3.21, dan 3.22 bahwa proses learning model
dilakukan hingga tingga tingkat akurasi sudah di atas 80% dan nilai loss di bawah 0,5
pada epoch ke-200. Nilai akurasi dari data validasi (garis biru pada gambar kanan)
dari model jenis tumbuhan mencapai 89%, untuk model dikotil mencapai 83%, dan
untuk model monokotil mencapai 85%.
3.2.5.6 Proses Testing (Pengujian)
Proses testing merupakan proses terakhir dari tahap implementasi Probabilistic
Neural Network. Weight dari model Probabilistic Neural Network yang telah di-train
dibangun pada sebelumnya, kemudian di-test pada proses testing untuk mengetahui
performa akurasi dan hasil klasifikasi nama dan jenis tumbuhan angiospermae
menggunakan Probabilistic Neural Network.
3.3 Perancangan Antarmuka Sistem
Antarmuka sistem klasifikasi tumbuhan angiospermae dirancang sedemikian rupa
sehingga dapat menjadi alat pembelajaran yang mudah digunakan. Berikut adalah
perancangan antarmuka sistem klasifikasi tumbuhan angiospermae agar dapat
dijadikan pedoman sehingga mempermudah pengguna dalam mengoperasikan sistem.
3.3.1 Rancangan Tampilan Halaman Awal
Halaman awal merupakan halaman pertama yang dilihat pengguna begitu membuka
sistem. Halaman awal terdiri dari informasi judul penelitian, logo fakultas, nama, dan
NIM penulis. Di bawah data penulis terdapat 2 button, yaitu train dan test. Kemudian
pada bagian atas halaman terdapat 3 button, yaitu home, train, dan test. Rancangan
tampilan halaman awal ditunjukkan pada Gambar 3.23.
55
Gambar 3.23. Rancangan tampilan halaman awal
3.3.2 Rancangan Tampilan Halaman Training
Halaman training merupakan halaman untuk melakukan training data dengan cara
memilih file csv dari data citra tumbuhan yang ingin di-train. Pada halaman ini
terdapat tombol untuk memasukkan file csv dan tombol train dan di bawahnya
terdapat tombol save model. Kemudian terdapat beberapa grafik yang menampilkan
grafik loss training. Pada bagian atas halaman training terdapat 3 button, yaitu home,
train, dan test. Rancangan tampilan halaman training ditunjukkan pada Gambar 3.24.
Gambar 3.24. Rancangan tampilan halaman training
56
3.3.3 Rancangan Tampilan Halaman Testing Data
Halaman testing merupakan halaman untuk proses testing untuk single data dengan
cara memilih atau menyeret file png citra daun ke kotak yang tersedia. Di atas kotak
terdapat nama halaman, yaitu halaman testing. Di bawahnya terdapat instruksi input.
Pada bagian atas halaman testing terdapat 3 button, yaitu home, train, dan test.
Rancangan tampilan testing data ditunjukkan pada Gambar 3.25
Gambar 3.25. Rancangan tampilan halaman testing
3.3.4 Rancangan Tampilan Halaman Hasil
Halaman hasil memuat hasil dari pengklasifikasian tumbuhan dari citra yang telah
diinput pada halaman testing. Halaman ini terbagi menjadi dua sisi, kiri dan kanan. Di
sebelah kiri, terdapat 8 buah gambar, yaitu citra asli yang telah diinput dan citra yang
telah diolah dengan resize, grayscale, shape-binary, shape-gaussian, shape-invert,
vein-canny, dan vein-binary. Untuk sisi sebelah kanan, terdapat teks yang berisi nama,
nama ilmiah, family, ordo, genus, jenis biji, dan penjelasan tumbuhan yang telah
diklasifikasi. Di tabel gambar terdapat tombol coba lagi untuk kembali ke halaman
testing. Rancangan tampilan hasil ditunjukkan pada Gambar 3.26.
57
Gambar 3.26. Rancangan tampilan halaman hasil
58
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab 4 membahas tentang implementasi Probabilistic Neural Network dari bab 3, yaitu
analisis dan perancangan sistem dan juga membahas mengenai hasil testing terhadap
sistem yang telah dirancang.
4.1 Implementasi Sistem
Untuk melakukan implementasi sistem, klasifikasi jenis tumbuhan angiospermae
dengan metode PNN membutuhkan beberapa perangkat keras (hardware) dan
perangkat lunak (software) sebagai pendukung, diantaranya ialah:
4.1.1 Perangkat Keras dan Perangkat Lunak
Penelitian ini menggunakan beberapa hardware beserta softwareuntuk membangun
sistem, diantaranya ialah:
1. Processor Intel® Core™ i5-7200U CPU 2.71 GHz
2. Memory (RAM) 4.00 GB
3. Sistem operasi Windows 10 Pro 64-bit
4. Python versi 3.6.8
5. Library Bahasa pemrograman python, antara lain:
a. Pandas
b. NeuPy
c. Scikit-image
d. Scikit-learn
e. Opencv-python
f. Keras dari Tensorflow
6. Front End menggunakan React JavaScript sebagai Framework
7. Server menggunakan Node.js
8. Google Colaboratory
9. Google Drive
59
4.1.2 Implementasi Data
Data yang dipakai pada penelitian ini merupakan citra digital daun angiospermae yang
diambil secara manual dengan 10 macam tumbuhan angiospermae, yaitu alpukat,
durian, lemon, mangga, rambutan, bambu, padi, kurma, pandan, dan tebu. Beberapa
contoh data pada tiap jenis klasifikasi bisa dilihat secara berurut pada Gambar 4.1.,
4.2., 4.3., 4.4., 4.5., 4.6.,4.7.,4.8.,4.9., dan 4.10.
Gambar 4.1. Citra daun alpukat
Gambar 4.2. Citra daun durian
60
Gambar 4.3. Citra daun lemon
Gambar 4.4. Citra tumbuhan mangga
Gambar 4.5. Citra daun rambutan
61
Gambar 4.6. Citra daun bambu
Gambar 4.7. Citra daun padi
Gambar 4.8. Citra daun kurma
62
Gambar 4.9. Citra daun pandan
Gambar 4.10. Citra daun tebu
4.1.3 Implementasi Perancangan Antarmuka
Antarmuka sistem dibuat berdasarkan perancangan antarmuka sistem pada bab 3,
yaitu:
4.1.3.1 Tampilan Halaman Awal
Tampilan halaman awal merupakan halaman utama dari aplikasi sistem yang
menampilkan informasi judul penelitian, logo fakultas, nama, dan NIM penulis. Di
bagian bawah terdapat 2 button, yaitu training dan testing. Di bagian atas terdapat 3
button, yaitu home, train, dan test. Tampilan halaman awal dapat dilihat pada Gambar
4.11.
63
Gambar 4.11. Tampilan Halaman Awal
4.1.3.2 Tampilan Halaman Training
Tampilan halaman training berisikan petunjuk untuk memasukkan file csv berisi data
citra daun tumbuhan angiospermae yang ingin dilatih. Di bawahnya terdapat tombol
save model untuk menyimpan weight model. Di bagian bawah terdapat grafik loss dan
akurasi. Tampilan halaman training dapat dilihat pada Gambar 4.12.
Gambar 4.12. Tampilan Halaman Training
64
4.1.3.3 Tampilan Halaman Testing
Tampilan halaman testing berisikan instruksi dan kotak untuk memilih atau menyeret
file png yang telah ingin di-test. Tampilan halaman testing dapat dilihat pada Gambar
4.13.
Gambar 4.13. Tampilan Halaman Testing
4.1.3.4 Tampilan Halaman Hasil
Tampilan halaman hasil terbagi menjadi 2 sisi, sisi sebelah kiri memuat gambar dari
citra yang telah diproses berdasarkan tiap tahapnya, sedangkan sisi sebelah kanan
memuat informasi mengenai tumbuhan. Tampilan halaman testing dapat dilihat pada
Gambar 4.14.
65
Gambar 4.14. Tampilan Halaman Hasil
4.2 Prosedur Operasional
Sistem ini memiliki 4 halaman, yaitu halaman utama, training, testing, dan hasil.
Halaman utama berisi informasi mengenai penelitian dan informasi penulis, beserta
tombol menuju ke halaman berikutnya, yaitu halaman Training dan halaman Testing.
Gambar 4.15. Tampilan Halaman Utama
66
Halaman utama dapat dilihat pada Gambar 4.15. Halaman utama menampilkan
judul penelitian, logo fakultas, nama dan NIM penulis, serta dua tombol, yaitu tombol
training untuk menuju halaman training, dan tombol testing untuk menuju halaman
testing.
Gambar 4.16. Tampilan Halaman Training
Untuk masuk ke halaman training, tekan tombol train pada bagian atas halaman
utama atau menekan tombol training pada bagian bawah halaman utama. Tampilan
halaman training dapat dilihat di Gambar 4.16. Pada halaman training terdapat judul
halaman, instruksi untuk memasukkan file csv untuk train data, hasil akurasi training,
tombol save model, dan grafik loss dan akurasi model. Berikut adalah tampilan jika
menekan button choose file untuk memilih file csv yang ingin di-train.
67
Gambar 4.17. Input file csv data citra tumbuhan
Setelah memilih file csv, pengguna dapat menekan tombol train data untuk
melatih data yang telah dipilih. Selanjutnya, pengguna dapat menyimpan weight
model dengan menekan tombol save model sehingga dapat digunakan untuk proses
testing data.
Untuk masuk ke halaman testing, pengguna dapat menekan tombol test pada
atas halaman utama atau menekan tombol testing pada bawah halaman utama.
Tampilan halaman testing dapat dilihat di Gambar 4.19. Pada halaman testing,
pengguna dapat melakukan uji klasifikasi pada satu citra. Halaman ini berisikan
instruksi untuk memasukkan file png dari citra daun ke dalam kotak yang telah
tersedia.
68
Gambar 4.18. Tampilan Halaman Testing
Untuk membuka file explorer, pengguna dapat menekan kotak hijau. Tampilan
ketika pengguna memilih file png citra daun untuk di-test dapat dilihat di Gambar
4.20.
Gambar 4.19. Input file png citra daun
Setelah memilih file png citra daun, akan ditampilkan halaman loading yang
dapat dilihat di Gambar 2.21.
69
Gambar 4.20. Halaman loading
Ketika proses testing selesai, halaman hasil akan terbuka. Halaman hasil terbagi
menjadi dua sisi. Sisi sebelah kiri terdapat gambar-gambar dari citra yang telah dipilih
dan melalui tiap tahap. Sisi sebelah kanan terdapat informasi mengenai nama, nama
ilmiah, jenis, family, ordo, genus, dan penjelasan mengenai tumbuhan yang citranya
telah di-test. Tampilan halaman hasil dapat dilihat pada Gambar 4.21.
Gambar 4.21. Tampilan halaman hasil
70
Pengguna dapat menekan tombol Coba Lagi untuk kembali ke halaman testing dan
menguji dengan file png citra daun lain. Pengguna juga dapat kembali ke halaman
utama dengan menekan tombol home di bagian atas halaman hasil, sedangkan untuk
ke halaman training, pengguna dapat menekan tombol train di bagian atas halaman
hasil.
4.3 Pengujian Sistem
Pengujian sistem dilakukan untuk melihat hasil kinerja dari mulai proses
preprocessing, shape segmentation, vein segmentation, feature extraction, sampai
dengan klasifikasi menggunakan metode Probabilistic Neural Network dalam
mengklasifikasikan nama dan jenis tumbuhan angiospermae berdasarkan bentuk
tulang daun.
Sesuai dengan yang telah dijelaskan di bab 3, proses preprosessing terdiri dari
dua tahap, yaitu tahap resize dan grayscale. Citra asli dan citra yang telah dilakukan
proses pre-processing dapat dilihat di Gambar 4.22.
Gambar 4.22. Citra daun sebelum dilakukan pre-processing (kiri), citra daun sesudah
diubah menjadi pre-processing (kanan)
Setelah dari tahap pre-processing, dilakukan tahap shape segmentation dan
vein segmentation. Pada tahap shape segmentation, citra akan diubah menjadi binary
image, Gaussian blur, dan inverse image. Contoh citra yang telah dilakukan proses
shape segmentation dapat dilihat di Gambar 4.23.
71
Gambar 4.23. Citra daun setelah menjadi binary image (kiri), citra daun setelah
dilakukan Gaussian blur (tengah), citra daun sesudah diubah menjadi inverse image
(kanan)
Pada tahap vein segmentation, citra akan diubah menjadi Canny edge detection
dan binary image. Contoh citra yang telah dilakukan proses shape segmentation dapat
dilihat di Gambar 4.24.
Gambar 4.24. Citra daun setelah dilakukan Canny (kiri), citra daun sesudah diubah
menjadi binary image (kanan)
Citra digital yang digunakan pada proses testing sebanyak 360 data yang
terdiri dari 10 jenis tumbuhan angiospermae (alpukat, durian, lemon, mangga,
rambutan, bambu, padi, kurma, pandan, dan tebu). Output dari proses testing adalah
klasifikasi nama tumbuhan dari citra digital. Hasil pengujian klasifikasi nama
tumbuhan angiospermae ditunjukkan pada Tabel 4.1.
72
Tabel 4. 1 Hasil pengujian proses segmentasi dan klasifikasi
No Citra Shape
Segmentation
Vein
Segmentation Manual Sistem Status
1
Alpukat Durian Salah
2
Alpukat Alpukat Benar
3
Alpukat Alpukat Benar
4
Durian Durian Benar
5
Durian Bambu Salah
73
6
Durian Durian Benar
7
Lemon Lemon Benar
8
Lemon Alpukat Salah
9
Lemon Lemon Benar
10
Mangga Mangga Benar
11
Mangga Mangga Benar
74
12
Mangga Mangga Benar
13
Rambu-
tan
Rambu-
tan Benar
14
Rambu-
tan
Rambu-
tan Benar
15
Rambu-
tan
Rambu-
tan Benar
16
Bambu Bambu Benar
17
Bambu Lemon Salah
75
18
Bambu Pandan Salah
19
Padi Kurma Salah
20
Padi Padi Benar
21
Padi Padi Benar
22
Kurma Kurma Benar
23
Kurma Pandan Salah
24
Kurma Kurma Benar
76
25
Pandan Pandan Benar
26
Pandan Pandan Benar
27
Pandan Pandan Benar
28
Tebu Pandan Salah
29
Tebu Tebu Benar
30
Tebu Tebu Benar
… … … … … … …
77
361
Alpukat Alpukat Benar
Berdasarkan pengujian model yang didapat dari proses klasifikasi 10 jenis
tumbuhan angiospermae berdasarkan tulang daun menggunakan metode Probabilistic
Neural Network terhadap 361 data testing, diperolah tingkat akurasi sebesar 83,6%.
Untuk lebih detailnya, dapat dilihat di Tabel 4.2.
Tabel 4. 2 Tingkat Keberhasilan Klasifikasi Tumbuhan Angiospermae
No Nama Tumbuhan Jumlah Data Uji Salah Benar Akurasi
1 Alpukat 45 11 34 76%
2 Durian 33 5 28 85%
3 Lemon 39 6 33 85%
4 Mangga 36 0 36 100%
5 Rambutan 32 2 30 94%
6 Bambu 33 9 24 73%
7 Padi 37 7 30 81%
8 Kurma 32 6 26 81%
9 Pandan 42 6 36 86%
10 Tebu 32 8 24 75%
Total 361 60 301 83,6%
Berdasarkan pengujian klasifikasi jenis tumbuhan (monokotil atau dikotil)
pada data testing citra daun angiospermae menggunakan Probabilistic Neural
Network, dapat diperoleh nilai akurasi mencapai 87% dari implementasi metode
perhitungan performa machine learning menggunakan fungsi confusion matrix.
Berdasarkan pengujian klasifikasi nama tumbuhan (alpukat, durian, lemon,
mangga, rambutan, bambu, padi, kurma, pandan, dan tebu) pada data testing citra
78
daun angiospermae menggunakan Probabilistic Neural Network, diperoleh nilai
akurasi 80% untuk tumbuhan monokotil dan 87% untuk tumbuhan dikotil, sehingga
rata-rata akurasi pengklasifikasian nama tumbuhan angiospemae pada penelitian ini
adalah 83,6%.
Setelah proses prediksi data testing terhadap model yang telah dilatih,
dilakukan fungsi confusion matrix. Hasil implementasi confusion matrix terhadap citra
digital daun ditunjukkan pada Tabel 4.3, 4.4, dan 4.5.
[162 2325 151
]
Tabel 4. 3 Hasil implementasi confusion matix data testing jenis tumbuhan
precision Recall f1-score Support
Dikotil 0.87 0.88 0.87 185
Monokotil 0.87 0.86 0.86 176
accuracy 0.87 361
macro avg 0.87 0.87 0.87 361
weighted avg 0.87 0.87 0.87 361
[ 24 0 10 26 3060
300
3005
7 13 00363
4024]
Tabel 4. 4 Hasil implementasi confusion matix data testing tumbuhan monokotil
precision Recall f1-score Support
Bambu 0.80 0.73 0.76 33
Kurma 0.90 0.81 0.85 32
Padi 0.77 0.81 0.79 37
Pandan 0.73 0.86 0.79 42
Tebu 0.83 0.75 0.79 32
accuracy 0.80 176
macro avg 0.81 0.79 0.80 176
weighted avg 0.80 0.80 0.80 176
79
[ 34 0 61 28 0300
000
3302
5 00 42360
1030]
Tabel 4. 5 Hasil implementasi confusion matix data testing tumbuhan dikotil
precision Recall f1-score Support
Alpukat 0.89 0.76 0.82 45
Durian 1.00 0.85 0.92 33
Lemon 0.80 0.85 0.83 39
Mangga 0.84 1.00 0.91 36
Rambutan 0.86 0.94 0.90 32
accuracy 0.87 185
macro avg 0.88 0.88 0.87 185
weighted avg 0.88 0.87 0.87 185
Berdasarkan confusion matrix di atas, dapat dilihat nilai dari precision, recall,
f1-score, dan accuracy dari 5 jenis tumbuhan monokotil dan 5 jenis tumbuhan dikotil.
Dari 176 data monokotil, akurasi yang dicapai ialah 80%. Dari 185 data dikotil,
akurasi yang dicapai ialah 87%. Dari keseluruhan data testing monokotil maupun
dikotil yang berjumlah 361 data, didapat nilai akurasi untuk menentukan jenis
tumbuhan monokotil atau dikotil mencapai akurasi sebesar 87%.
Berdasarkan confusion matrix di atas, mangga adalah tumbuhan dengan
tingkat akurasi tertinggi. Hal tersebut dikarenakan tulang daun mangga terlihat paling
jelas dibanding tumbuhan lainnya. Bentuk daun mangga juga lebih panjang dan
keriting dibanding daun dikotil lainnya. Selain itu, dimasukkan beberapa citra dengan
background polos untuk membantu keakurasian klasifikasi tumbuhan mangga.
Perbandingan penerapan preprocessing dan segmentation dari citra daun
mangga background tidak polos dan polos dapat dilihat di Gambar 4.25 dan 4.26 di
bawah ini.
80
Gambar 4.25. Citra daun mangga background tidak polos (kiri), citra daun sesudah
diterapkan shape segmentation (tengah), citra daun sesudah diterapkan vein
segmentation (kanan)
Gambar 4.26. Citra daun mangga background polos (kiri), citra daun sesudah
diterapkan shape segmentation (tengah), citra daun sesudah diterapkan vein
segmentation (kanan)
Hal ini membuktikan bahwa preprocessing dan segmentation berjalan lebih
baik pada citra daun dengan background polos. Tulang dan bentuk tepi daun terlihat
lebih jelas sehingga pengklasifikasian lebih mudah dilakukan.
Sebaliknya, tumbuhan dengan tingkat akurasi terendah ialah tumbuhan bambu.
Hal ini dikarenakan daun bambu yang kecil menyebabkan sulit untuk mendeteksi
tulang daunnya yang tipis-tipis.
Untuk pengujian jenis tumbuhan, tumbuhan dikotil mengungguli monokotil
disebabkan tulang daun dikotil terlihat lebih jelas dan bentuk-bentuk daun monokotil
yang digunakan dalam penelitian ini terlihat mirip.
Dalam image processing, mendapatkan persentase rendah dapat disebabkan
oleh beberapa alasan, seperti kualitas citra kurang baik, citra mengandung noise
sehingga informasi data tertutupi, atau jumlah data tidak cukup banyak untuk data
training sehingga proses pembelajaran machine learning kurang.
Agar mendapat persentase keberhasilan yang tinggi, dapat dilakukan beberapa
hal seperti melakukan tahap-tahap yang tepat agar informasi citra dapat diambil
dengan baik dan benar, menghilangkan noise pada citra, serta menyediakan data yang
cukup banyak untuk proses training.
81
Dalam penelitian ini, terjadinya kesalahan dalam proses klasifikasi terjadi
dikarenakan miripnya bentuk daun tumbuhan dan background yang tidak polos
sehingga kesulitan dalam mendeteksi tepi daun. Cahaya juga menjadi salah satu faktor
penentu tingkat akurasi. Pencahayaan yang tepat, dengan minimal pencahayaan lampu
ruangan hemat energy 30w atau 450 lumen, membuat tulang daun dan tepi daun
terlihat lebih jelas. Selain itu, kurangnya data training juga dapat menyebabkan
rendahnya tingkat akurasi. Penulis telah melakukan percobaan terhadap beragam
jumlah data untuk membuktikan bahwa jumlah data training mempengaruhi tingkat
akurasi penelitian. Untuk lebih jelasnya dapat dilihat di Tabel 4.6 dan Tabel 4.7.
Tabel 4. 6 Pengujian beragam jumlah data training tumbuhan dikotil
Jumlah data training Jumlah data testing Tingkat akurasi
369 185 79%
443 185 80%
517 185 83%
591 185 84%
665 185 84%
739 185 87%
Tabel 4. 7 Pengujian beragam jumlah data training tumbuhan monokotil
Jumlah data training Jumlah data testing Tingkat akurasi
350 176 76%
420 176 77%
490 176 78%
560 176 78%
630 176 80%
700 176 80%
Berdasarkan Tabel 4.6 dan 4.7, dapat dibuktikan bahwa tingkat jumlah data
training dapat mempengaruhi tingkat akurasi penelitian. Menambah jumlah data
training dapat menaikkan tingkat akurasi.
Selanjutnya, dilakukan uji bahwa pendeteksian tepi daun berpengaruh terhadap
tingkat akurasi pengklasifikasian jenis tumbuhan. Sebelumnya, diambil 500 data dari
10 tanaman angiospermae yang sama. Data yang merupakan citra digital daun diambil
82
dari berbagai macam sisi yang masih terlihat bentuk tulang daunnya. Hasil yang
diperoleh dari pengujian tersebut dapat dilihat di tabel 4.8.
Tabel 4. 8 Tingkat Keberhasilan Klasifikasi Tumbuhan Angiospermae Berbagai Sisi
No Nama Tumbuhan Jumlah Data Uji Salah Benar Akurasi
1 Alpukat 5 2 3 60%
2 Durian 10 3 7 70%
3 Lemon 12 6 6 50%
4 Mangga 13 7 6 46%
5 Rambutan 10 5 5 50%
6 Bambu 10 5 5 50%
7 Padi 10 5 5 50%
8 Kurma 10 3 7 70%
9 Pandan 10 1 9 90%
10 Tebu 10 2 8 80%
Total 100 39 61 61,6%
Dari percobaan di atas, dapat disimpulkan bahwa tingkat akurasi dipengaruhi oleh sisi
pengambilan gambar, tulang daun dan bentuk daun harus terlihat dengan jelas.
Percobaan di atas juga membuktikan bahwa jumlah data training yang sedikit
membuat tingkat akurasi rendah.
83
BAB 5
KESIMPULAN DAN SARAN
Bab 5 membahas mengenai kesimpulan penelitian yang telah penulis lakukan mulai
dari tahap preprocessing, shape segmentation, vein segmentation, feature extraction
hingga penggunaan metode Probabilistic Neural Network dalam mengklasifikasi jenis
tumbuhan angiospermae menggunakan citra daun dan saran sebagai referensi
pengembangan penelitian selanjutnya.
5.1 Kesimpulan
Kesimpulan yang didapat dari penelitian ini dimulai dari tahap preprocessing, shape
segmentation, vein segmentation, feature extraction hingga penggunaan metode
Probabilistic Neural Network dalam mengklasifikasi jenis tumbuhan angiospermae
menggunakan citra daun adalah sebagai berikut:
1. Metode Probabilistic Neural Network pada proses klasifikasi mampu
melakukan klasifikasi jenis tumbuhan angiospermae (dikotil atau monokotil)
dengan cukup baik. Pada proses training data yang menggunakan data
sebanyak 1.440 data dan pada proses testing data yang menggunakan data
sebanyak 361 data mencapai akurasi 87%.
2. Metode Probabilistic Neural Network pada proses klasifikasi mampu
melakukan klasifikasi nama tumbuhan angiospermae (alpukat, durian, lemon,
mangga, rambutan, bambu, padi, kurma, pandan, dan tebu) dengan cukup baik.
Pada proses training data yang menggunakan data sebanyak 1.440 data dan
pada proses testing data yang menggunakan data sebanyak 361 data mencapai
akurasi rata-rata sebesar 83,6%.
3. Proses pre-processing, shape segmentation, dan vein segmentation pada citra
berfungsi cukup baik dalam menghilangkan noise dan mendapatkan informasi
pada citra daun.
85
5.2 Saran
Beberapa saran dapat diterapkan untuk pengembangan penelitian selanjutnya.
Beberapa diantaranya yaitu:
1. Menggunakan metode neural network lainnya sebagai perbandingan pada hasil
klasifikasi nama dan jenis tumbuhan yang diperoleh menggunakan metode
Probabilistic Neural Network.
2. Menggunakan metode yang berbeda pada proses preprocessing untuk
membandingkan performa yang telah diperoleh.
3. Menerapkan metode berbeda pada proses segmentation dan feature extraction
untuk membandingkan tingkat keberhasilan klasifikasi.
4. Menggunakan citra dengan latar belakang polos untuk membandingkan tingkat
keberhasilan klasifikasi.
DAFTAR PUSTAKA
Adinugroho, S., & Sari, Y. A. (2018). Leaves Classification Using Neural Network
Based on Ensemble Features. 5th International Conference on Electrical and
Electronics Engineering, 350-354.
Eid, H. F., Hassanien, A. E., & Kim, T. H. (2015). Leaf Plant Identification System
Based on Hidden Naive Bays Classifier. 4th Internasional Conference on
Advanced Information Technology and Sensor Application, 76-79.
Goldberg, D. E., & Holland, J. H. (1988). Genetic algorithms and machine learning.
Machine Learning, 3(2), 95–99.
Gonzales et al (2002). Digital Image Processing. New Jersey Prentice Hall Inc.
Hutabarat, Y. P. (2012). Identifikasi Jenis Shorea Berdasarkan Morfologi Daun
Menggunakan Probabilistic Neural Network. 1-13.
Ilahiyah, S., & Nilogiri, A. (2018). Implementasi Deep Learning pada Identifikasi
Jenis Tumbuhan berdasarkan Citra Daun Menggunakan Convolutional Neural
Network. JUSTINDO (Jurnal Sistem & Teknologi Informasi Indonesia), Vol 3,
No. 2, 49-56.
Karima, L. et al. (2014). Klasifikasi Citra Daun Monokotil dan Dikotil Menggunakan
Naïve Bayes.
Mahdikhanlou, K., & Ebrahimnezhad, H. (2014). Plant Leaf Classification Using
Centroid Distance and Axis of Least Inertia Method. The 22nd Iranian
Conference on Electrical Engineering (ICEE 2014), 1690-1694.
Padao, F. R., & Maravillas, E. A. (2015). Using Naive Bayesian Method for Plant
Leaf Classification Based on Shape and Texture Features. 8th IEEE
Conference HNICEM.
Reece, Jane B. et al. (2014). Campbell Biology. Canada: Pearson Education Canada.
87
Santi, C. N. (2011). Mengubah Citra Berwarna Menjadi Gray-Scale dan Citra Biner.
Jurnal Teknologi Informasi DINAMIK Volume 16, No.1, 14-19.
Sayeed, S., Hossen, J., Yusof, I., & A, F. A. (2013). Plant Identification Based on Leaf
Shape and Texture Pattern Using Local Graph Structure (LGS). Australian
Journal of Basic and Applied Sciences, 29-35.
Taib, E. N., & Dewi, C. R. (2013). Keanekaragaman Jenis Tumbuhan Angiospermae
di Kebun Biologi Desa Seungko Mulat. Bioma, Vol. 2, No. 1, 18-31.
Tjitrosomo, S. S. et al. (1984). Botani Umum 3. Bandung: Angkasa.
Zhang, S., & Feng, Y. (2010). Plant Leaf Classification Using Plant Leaves Based on
Rough Set. International Conference on Computer Application and System
Modeling (ICCASM 2010), 521-525.