• Tidak ada hasil yang ditemukan

IDENTIFIKASI OBAT-OBATAN MENGGUNAKAN METODE CNN (CONVOLUTIONAL NEURAL NETWORK) BERBASIS ANDROID SKRIPSI PRATTY JESICA PUTRI PARHUSIP

N/A
N/A
Protected

Academic year: 2022

Membagikan "IDENTIFIKASI OBAT-OBATAN MENGGUNAKAN METODE CNN (CONVOLUTIONAL NEURAL NETWORK) BERBASIS ANDROID SKRIPSI PRATTY JESICA PUTRI PARHUSIP"

Copied!
76
0
0

Teks penuh

(1)

IDENTIFIKASI OBAT-OBATAN MENGGUNAKAN METODE CNN (CONVOLUTIONAL NEURAL NETWORK) BERBASIS ANDROID

SKRIPSI

PRATTY JESICA PUTRI PARHUSIP 171402051

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2021

(2)

IDENTIFIKASI OBAT-OBATAN MENGGUNAKAN METODE CNN (CONVOLUTIONAL NEURAL NETWORK) BERBASIS ANDROID

SKRIPSI

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

PRATTY JESICA PUTRI PARHUSIP 171402051

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2021

(3)

PERSETUJUAN

(4)

PERNYATAAN

IDENTIFIKASI OBAT-OBATAN MENGGUNAKAN METODE CNN (CONVOLUTIONAL NEURAL NETWORK) BERBASIS ANDROID

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dari ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 28 Oktober 2021

PRATTY JESICA PUTRI PARHUSIP 171402051

(5)

UCAPAN TERIMA KASIH

Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa, karena atas rahmat dan karunia- Nya sehingga penulis dapat menyelesaikan skripsi yang berjudul “Identifikasi Obat-Obatan Menggunakan Metode CNN (Convolutional Neural Network) Berbasis Android”, yang menjadi syarat untuk memperoleh gelar Sarjana Komputer di Program Studi S1 Teknologi Informasi Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. Terima kasih yang tak terhingga penulis ucapkan kepada Tuhan Yesus Kristus yang selalu mendampingi penulis dari awal hingga skripsi ini dapat terselesaikan. Penulisan skripsi ini juga tidak akan selesai tanpa adanya doa, dukungan, dan dorongan dari berbagai pihak. Adapun dalam kesempatan ini, dengan rendah hati penulis mengucapkan banyak terima kasih kepada :

1. Kedua orang tua penulis, Bapak Alm.Praga Toni Parhusip, S.Sos.,M.Si dan Ibu Rohmawaty Purba yang selalu memberikan doa, kasih sayang, motivasi serta dukungan kepada penulis dari mulai mengikuti pendidikan hingga selesainya tugas akhir ini.

2. Adik penulis, Felix Diovangga Putra Parhusip yang memberikan semangat kepada penulis.

3. Ibu Prof. Dr. Maya Silvi Lydia, M.Sc. selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

4. Ibu Sarah Purnamawati, ST., M.Sc. selaku Ketua Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.

5. Bapak Ainul Hizriadi, S.Kom.,M.Sc. selaku Dosen Pembimbing I yang telah membimbing penulis dalam penelitian serta penulisan skripsi ini.

6. Bapak Seniman, S.Kom.,M.Kom. selaku Dosen Pembimbing II yang telah membimbing penulis dalam penyelesaian skripsi ini.

7. Bapak Dedy Arisandi, ST., M.Kom. selaku Dosen Penguji I yang telah memberikan kritik dan saran untuk penyempurnaan skripsi ini.

8. Bapak Ivan Jaya, S.Si., M.Kom. selaku Dosen Penguji II yang telah memberikan kritik dan saran untuk penyempurnaan skripsi ini.

(6)

9. Kepada teman-teman seperjuangan penulis, “Canva”, Annisa, Annisa Assya Mawaddah, Dhaffa Safira Ayura dan Geubrie Rosanna yang selalu bertukar pikiran dengan penulis dan memberikan semangat serta motivasi kepada penulis.

10. Seluruh teman-teman di Kom C dan angkatan 2017 yang tidak dapat penulis sebutkan satu persatu, yang berjuang bersama penulis dari awal hingga akhir pendidikan S1 ini.

11. Teman-teman “Foodholic”, Anju Tatasya Silitonga, Debby Elfrina Napitupulu, Maria Chacita Sirait, Indi Auryn Sinaga, Laura Marpaung, Missy Sianturi yang selalu memberi dukungan,motivasi serta doa kepada penulis hingga selesainya tugas akhir ini.

12. Last but not least, I wanna thank me, for believing me, for doing this hardwork, for having no days off, for never quitting, for just being me at all times.

Semoga Tuhan Yang Maha Esa memberikan berkah dan rahmat yang berlimpah kepada semua pihak yang telah memberikan bantuan, dukungan, serta doa kepada penulis pada saat pembuatan skripsi ini.

Medan, Oktober 2021

Penulis

(7)

ABSTRAK

Obat merupakan salah satu elemen terpenting dalam menentukan kesehatan seseorang.

Swamedikasi atau mendiagnosis dan mengobati diri sendiri sudah menjadi hal umum di masyarakat. Sistem ini diharapkan mampu membantu masyarakat untuk mengidentifikasi obat-obatan yang dikonsumsi. Pada penelitian ini objek yang akan diidentifikasi adalah FG Troches, Galdom, Neo Diaform, Omeprazole, Simdrol-4 dan Zeviton. Adapun penelitian ini menggunakan data berjumlah 1215 data yang terbagi atas tiga kategori dataset. Penelitian ini menggunakan metode convolutional neural network sebagai algoritma agar sistem dapat melakukan identifikasi terhadap obat-obatan. Untuk mempermudah dalam penggunaannya, maka dari itu sistem ini dirancang untuk perangkat android dan dapat mengidentifikasi secara real time. Adapun akurasi yang diperoleh pada penelitian ini adalah sebesar 96.82%.

Kata kunci : Obat, Convolutional Neural Network, Android

(8)

IDENTIFICATION OF MEDICINES USING CNN (CONVOLUTIONAL NEURAL NETWORK) BASED ON ANDROID

ABSTRACT

Medicine is one of the most important elements in determining a person's health. Self- medication or self-diagnosing has become commonplace in society. The system in this study is expected to help the public to identify the drugs they are taking. In this study, the objects to be identified are FG Troches, Galdom, Neo Diaform, Omeprazole, Simdrol-4 and Zeviton. The data used is 1215 data which is divided into three categories of datasets.

This study uses the convolutional neural network method as an algorithm so that the system can identify drugs. To make it easier to use, therefore this system is designed for android devices and can identify in real time. The accuracy obtained in this study was 96.82%.

Keywords : Medicine, Convolutional Neural Network, Android

(9)

DAFTAR ISI

Hal.

PERSETUJUAN ... iii

PERNYATAAN ... iv

UCAPAN TERIMA KASIH... v

ABSTRAK ... vii

ABSTRACT ... viii

DAFTAR ISI ... ix

DAFTAR TABEL ... xii

DAFTAR GAMBAR ... xiii

BAB 1 ... 1

1.1. Latar Belakang ... 1

1.2. Rumusan Masalah ... 2

1.3. Batasan Masalah ... 3

1.4. Tujuan Penelitian... 3

1.5. Manfaat Penelitian... 3

1.6. Metodologi Penelitian ... 3

1.7. Sistematika Penulisan ... 4

BAB 2 ... 6

2.1. Obat ... 6

(10)

2.3. Citra Digital ... 6

2.4. Pengolahan Citra Digital ... 7

2.5. Machine Learning ... 7

2.6. Convolutional Neural Network ... 8

2.6.1. Feature Learning ... 8

2.6.2. Classification ... 9

2.7. Tensorflow ... 10

2.8. Tensorflow Lite ... 10

2.9. Android... 11

2.10. Android Studio ... 11

2.11. Penelitian Terdahulu ... 11

BAB 3 ... 14

3.1. Data yang Digunakan ... 14

3.2. Analisis Sistem ... 14

3.2.1. Input ... 14

3.2.2. Proses ... 14

3.2.3. Output ... 15

3.3. Arsitektur Umum... 15

3.4. Perancangan Antarmuka Sistem... 25

3.4.1. Rancangan Tampilan Splashscreen ... 25

3.4.2. Rancangan Tampilan Home ... 26

3.4.3. Rancangan Tampilan Testing ... 27

3.4.4. Rancangan Tampilan Deskripsi ... 27

BAB 4 ... 29

4.1. Implementasi Sistem ... 29

(11)

4.1.1. Spesifikasi Perangkat Keras ... 29

4.1.2. Spesifikasi Perangkat Lunak ... 30

4.1.3. Implementasi Data ... 30

4.1.4. Proses Training ... 31

4.1.5. Implementasi Perancangan Antarmuka ... 34

4.2. Prosedur Penggunaan ... 38

4.3. Pengujian Sistem ... 38

BAB 5 ... 59

5.1. Kesimpulan... 59

5.2. Saran ... 59

DAFTAR PUSTAKA ... 60

LAMPIRAN ... 62

(12)

DAFTAR TABEL

Hal.

Tabel 2.1. Penelitian Terdahulu ...12

Tabel 3.1. Resize ...16

Tabel 3.2. Contoh Hasil dari Data Augmentation...17

Tabel 3.3. Hasil Split Data ...18

Tabel 4.1. Spesifikasi Perangkat Keras...29

Tabel 4.2. Spesifikasi Perangkat Lunak ...30

Tabel 4.3. Pembagian Citra Pada Dataset ...31

Tabel 4.4. Percobaan Dengan Beberapa Learning Rate dan Epoch ...32

Tabel 4.5. Contoh Hasil Pengujian Menggunakan Redmi Note 7 ...39

Tabel 4.6. Hasil Pengujian Berdasarkan Intensitas Cahaya ...41

Tabel 4.7. Hasil Pengujian Berdasarkan Jarak...46

Tabel 4.8. Hasil Pengujian Dengan Latar Berbeda ...49

Tabel 4.9. Pengujian Dengan Kondisi Tertentu ...52

Tabel 4.10. Confusion Matrix ...56

Tabel 4.11. Perhitungan Presisi ...57

Tabel 4.12. Perhitungan Recall ...58

(13)

DAFTAR GAMBAR

Hal.

Gambar 2.1. FG Troches ...6

Gambar 2.2. Simdrol-4 ...6

Gambar 2.3. Representasi Citra Digital ...7

Gambar 2.4. Arsitektur Convolutional Neural Network ...8

Gambar 3.1. Arsitektur Umum ...15

Gambar 3.2. Sampel Gambar Data Input ...19

Gambar 3.3. Proses Konvolusi Dengan Kernel 3x3 ...19

Gambar 3.4. Proses Pergeseran Dengan Stride = 1 dan Kernel 3x3 ...20

Gambar 3.5. Proses Konvolusi Pada Pergeseran Pertama ...20

Gambar 3.6. Proses Konvolusi Pada Pergeseran Terakhir ...20

Gambar 3.7. Hasil Akhir Konvolusi Sebagai Input Pada Pooling ...21

Gambar 3.8. Proses Pooling Menggunakan MaxPooling ...22

Gambar 3.9. Hasil Akhir Pada MaxPooling ...23

Gambar 3.10. Hasil Dari Flatten Layer ...23

Gambar 3.11. Fully Connected Layer ...24

Gambar 3.12. Rancangan Database ...25

Gambar 3.13. Rancangan Tampilan Splashscreen ...26

Gambar 3.14. Rancangan Tampilan Home ...26

Gambar 3.15. Rancangan Tampilan Testing ...27

(14)

Gambar 3.16. Rancangan Tampilan Deskripsi ...28

Gambar 4.1. Implementasi Data ...31

Gambar 4.2. Proses Training Data ...33

Gambar 4.3. Perbandingan Akurasi Training dan Validation ...33

Gambar 4.4. Perbandingan Loss Training dan Validation ...33

Gambar 4.5. Logo Aplikasi ...34

Gambar 4.6. Implementasi Halaman Splashscreen ...35

Gambar 4.7. Implementasi Halaman Home ...36

Gambar 4.8. Implementasi Pop-up dari Info Button ...36

Gambar 4.9. Implementasi Halaman Testing ...37

Gambar 4.10. Implementasi Halaman Deskripsi ...38

(15)

BAB 1 PENDAHULUAN

1.1. Latar Belakang

Kesehatan merupakan perihal terutama yang dibutuhkan oleh badan manusia. Sebab kesehatan menyangkut seluruh segi kehidupan yang jangkauannya luas. Salah satu komponen kesehatan yang bernilai ialah obat. Obat ialah salah satu faktor yang bernilai dalam pelayanan kesehatan.

Obat yakni sesuatu bahan ataupun paduan bahan yang digunakan untuk menetapkan diagnosis, menghindari, mengurangi, menghilangkan, mengobati penyakit, cedera ataupun kelainan badaniah serta rohaniah pada manusia ataupun hewan, memperelok tubuh ataupun bagian tubuh manusia (SK MenKes RI).

Ketika manusia merasa sakit, manusia akan mencari cara untuk meredakan rasa sakitnya, baik pergi ke fasilitas kesehatan maupun ke praktik dokter. Bahkan ada juga yang akan mendiagnosis dan mengobati dirinya sendiri (swamedikasi). Fasilitas kesehatan atau dokter kerap kali memberikan resep obat kepada pasien tanpa memberikan penjelasan secara detail tentang obat tersebut. Adakalanya pasien diberikan obat tanpa label, obat hanya dimasukan ke dalam kemasan transparan yang cara menggunakannya ditulis secara manual. Dikala terpaksa mengkonsumsi obat, seorang menjadi dengan sukarela mengonsumsi obat apapun yang diberikan oleh tenaga medis.

Ataupun dengan minimnya pengetahuan, warga hendak memakai obat yang dilihat pada iklan. Pertumbuhan teknologi sangat mempermudah warga untuk mendapatkan obat lewat media online.

Hal ini akan menyebabkan penggunaan obat secara tidak rasional oleh pasien.

Penggunaan obat yang tidak rasional juga terjadi bila pasien tidak bertanya mengenai penggunaan obat yang didapatkan ketika berobat ke fasilitas kesehatan atau praktik

(16)

dokter dan hanya menggunakan obat tersebut sesuai asumsi sendiri. Minimnya informasi masyarakat tentang obat ini membuat kalangan kesehatan juga pemerintah resah.

Menurut jurnal yang berjudul Illegible handwriting and other prescription errors on prescriptions at National District Hospital, Bloemfontein tahun 2017, resep dokter yang ditulis manual sering sulit dibaca, diperkirakan setiap tahunnya menyebabkan 7000 kasus kematian. Organisasi Kesehatan Dunia (WHO) pada tahun 2019 menyatakan bahwa setiap tahunnya ada lebih dari 138 juta pasien di dunia yang disebabkan oleh kesalahan dokter.

Koordinator WHO pada bidang keselamatan pasien, menyatakan alasan utama mengapa ada pasien dirugikan yaitu kesalahan diagnosa, kesalahan resep obat dan perawatan dan penggunaan obat yang tidak tepat.

Kementerian Kesehatan RI dan Dinas Kesehatan di Provinsi dan Kab/Kota saat ini semakin gencar melaksanakan program GeMa CerMat (Gerakan Masyarakat Cerdas Menggunakan Obat). Untuk itu, Kementerian Kesehatan mempromosikan tagline “Tanya Lima O”.

Penelitian ini sudah dilakukan sebelumnya oleh Hnoohom, N., Yuenyong, S., &

Chotivatunyu, P. Pada tahun 2018 dengan judul MEDiDEN: Automatic Medicine Identification Using a Deep Convolutional Neural Network. Sistem yang dibuat berguna untuk mengklasifikasikan obat melalui citra kemasan obat serta pengguna dapat mengatur jadwal untuk mengonsumsi obat. Sistem ini memperoleh akurasi 92.75% menggunakan Inception-V3 dan 94.85% menggunakan Inception-V4 dengan menggunakan 1260 data.

Dari latar belakang yang penulis sebutkan, akhirnya penulis memutuskan untuk membangun sistem yang dapat membantu dan mempermudah masyarakat untuk memperoleh informasi tentang obat yang akan mereka gunakan dengan judul

“Identifikasi Obat-obatan Menggunakan Metode CNN (Convolutional Neural Network) Berbasis Android”.

1.2. Rumusan Masalah

Minimnya pengetahuan masyarakat tentang penggunaan obat yang tepat dapat menyebabkan berbagai kerugian. Oleh sebab itu, diperlukan suatu media atau sistem yang menyediakan informasi tentang obat-obatan yang akan dikonsumsi oleh masyarakat.

(17)

1.3. Batasan Masalah

Adapun batasan pada penelitian ini ialah:

a. Obat yang digunakan merupakan obat dengan resep dokter.

b. Obat yang digunakan adalah FG Troches, Galdom, Neo Diaform, Omeprazole, Simdrol-4, Zeviton.

c. Pengambilan citra dilakukan menggunakan kamera android.

d. Objek yang diidentifikasi berjumlah satu buah.

1.4. Tujuan Penelitian

Adapun tujuan dari penelitian ini adalah untuk mengidentifikasi obat-obatan dengan golongan obat bebas dengan mengimplementasikan Convolutional Neural Network (CNN).

1.5. Manfaat Penelitian

Adapun manfaat pada penelitian ini adalah :

a. Mengetahui tingkat akurasi CNN dalam identifikasi obat.

b. Membantu masyarakat dalam mengenali obat-obatan yang akan digunakan.

1.6. Metodologi Penelitian

Tahapan-tahapan yang akan dilakukan dalam penelitian ini adalah sebagai berikut:

1. Studi Literatur

Studi literatur ialah tahap dimana penulis mengumpulan data dengan berbagai sumber referensi mengenai obat-obatan, pengolahan citra, metode Convolutional Neural Network yang diperoleh dari berbagai buku, jurnal, artikel maupun penelitian terdahulu dan berbagai sumber referensi lainnya.

2. Analisa dan Perancangan

Di tahap ini dilakukan pengolahan data yang telah dikumpulkan pada tahap studi literatur sehingga diperoleh penalaran dan perancangan menggunakan metode Convolutional Neural Network. Perancangan ini meliputi perancangan arsitektur umum sistem, pengumpulan data, serta rancangan aplikasi untuk pengguna.

(18)

3. Implementasi

Implementasi merupakan tahap dimana merealisasikan rancangan sistem yang telah dibuat sebelumnya melalui kode tersusun hingga menjadi suatu sistem yang dapat merealisasikan tujuan penelitian ini.

4. Pengujian

Pengujian merupakan tahap yang berguna melihat apakah sistem yang dibuat telah berjalan menurut tugasnya dan juga dilakukan perbaikan terhadap aplikasi yang tidak berjalan semestinya.

5. Dokumentasi dan Penyusunan Laporan

Tahap ini merupakan tahap dimana dilakukannya dokumentasi juga penyusunan laporan aplikasi setelah diuji. Laporan hasil penelitian ditulis dalam bentuk skripsi.

1.7. Sistematika Penulisan

Sistematika penulisan dari skripsi ini terdiri dari lima bagian utama yaitu sebagai berikut:

BAB 1: PENDAHULUAN

Bab ini menjelaskan hal apa yang melatarbelakangi penelitian ini, rumusan masalah, batasan masalah, tujuan serta manfaat penelitian, metodologi juga sistematika penulisan.

BAB 2: LANDASAN TEORI

Bab ini menjelaskan teori yang dipergunakan untuk penyelesaian masalah dalam penelitian ini.

BAB 3: ANALISIS DAN PERANCANGAN SISTEM

Bab ini menjelaskan arsitektur umum, pengumpulan data juga implementasi algoritma Convolutional Neural Network untuk mengidentifikasi obat-obatan.

BAB 4: IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini menjelaskan tentang implementasi dari yang dibuat sebelumnya dan dilakukan uji untuk mengetahui sistem berjalan sesuai dengan yang diharapkan atau tidak.

(19)

BAB 5: KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dari hasil dari penelitian ini dan saran yang diajukan berguna bagi penelitian selanjutnya.

(20)

BAB 2

LANDASAN TEORI

Bab ini menjelaskan teori penunjang dan penelitihan terdahulu yang berhubungan dengan metode Convolutional Neural Network dalam mengidentifikasi citra obat-obatan.

2.1. Obat

Obat yakni sesuatu bahan ataupun paduan bahan yang digunakan untuk menetapkan diagnosis, menghindari, mengurangi, menghilangkan, mengobati penyakit, cedera ataupun kelainan badaniah serta rohaniah pada manusia ataupun hewan, memperelok tubuh ataupun bagian tubuh manusia (SK MenKes RI).

Gambar 2.1. FG Troches (MIMS) Gambar 2.2. Simdrol-4 2.2. Citra

Citra merupakan bentuk dua dimensi dari sebuah objek. Citra digital terbentuk dari piksel dan piksel tersebut bentuk angka (Gonzales & Woods, 2008).

2.3. Citra Digital

Citra digital merupakan citra yang bisa diolah secara langsung oleh komputer (Sutoyo et al, 2009). Citra digital diwakili dengan matriks M baris dan N kolom, ketika terjadi perpotongan antara kolom baris, itu disebut sebagai pixel, dapat terlihat pada Gambar 2.3.

(21)

Gambar 2.3. Representasi Citra Digital

Pixel terdiri dari dua parameter, yakni koordinat dan intensitas warna. Sebuah citra digital direpresentasikan kedalam bentuk matriks berikut :

( ) [

( ) ( )

( ) ( ) ( ) ( )

( ) ( )

( )]

(2.1)

Berdasarkan matriks 2.1, citra digital dianggap sebagai fungsi intensitas f(x,y), dimana nilai x dan nilai y adalah koordinat posisi dan f(x,y) merupakan nilai fungsi titik (x,y) yang berisi besar intensitas citra. (Sutoyo et al.,2009:20).

2.4. Pengolahan Citra Digital

Pengolahan citra digital ialah proses mengolah sebuah citra dengan komputer sehingga menghasilkan kualitas citra yang lebih baik agar dapat diinterpretasi dengan mudah oleh manusia ataupun sebuah mesin (Hidayatullah, P., 2017)

2.5. Machine Learning

Machine learning ialah proses dimana mesin ataupun computer mampu belajar menggunakan data yang sudah diberikan, bertujuan menganalisa atau memecahkan suatu masalah. Machine learning sangat akrab dengan istilah learn from data (Lukman, 2014). Machine learning ialah salah satu bentuk pendekatan dalam Artificial Intelligence yang digunakan untuk menyelesaikan masalah atau melakukan sesuatu secara otomatis.

(22)

2.6. Convolutional Neural Network

Convolutional neural network merupakan operasi yang menggabungkan lapisan-lapisan yang beroperasi secara paralel, hal ini terinspirasi dari sistem saraf biologis manusia (Hu et al, 2015). CNN mepresentasikan setiap neuronnya kedalam bentuk 2 dimensi, sehingga metode ini cocok digunakan dengan pemrosesan input berupa citra (Manggiori et al, 2016). Arsitektur convolutional neural network terlihat pada Gambar 2.4.

Gambar 2.4. Arsitektur Convolutional Neural Network (Karapathy, 2018) Arsitektur dari CNN dibagi menjadi dua bagian besar, yaitu:

2.6.1. Feature Learning

Lapisan pada CNN bersifat hierarki, yang berarti output pada lapisan sebelumnya akan dipergunakan sebagai input untuk lapisan berikutnya.

1. Convolution Layer

Convolution layer merupakan layer yang menerima masukan citra. Layer ini adalah proses utama yang mendasari sebuah CNN. Tujuan dari konvolusi untuk mengekstraksi fitur-fitur apa saja yang terdapat pada citra. Terdapat beberapa parameter yang dapat digunakan pada lapisan ini, yaitu kernel, stride, padding dan lainnya. Kernel memiliki nama lain filter yang berguna untuk mengekstrasi fitur yang ada pada citra. Stride berguna untuk mengatur pergerakan kernel untuk pengekstraksian. Semakin sedikit jumlah stride yang digunakan maka akan makin detail pula informasi didapatkan.

Padding berguna untuk menambahkan beberapa pixel dengan jumlah tertentu sesuai dengan yang diperlukan.

(23)

Untuk mendapatkan hasil akhir dari proses convolution layer, maka digunakan rumus seperti pada Persamaan 2.1.

(2.1)

Dimana:

W = Ukuran gambar, P = Padding F = Ukuran kernel/filter, S = Stride 2. Pooling Layer

Pooling layer berguna untuk pencarian fitur pada citra yang telah didapatkan pada layer sebelumnya. Pooling layer bekerja dengan mengurangi ukuran matriks. Beberapa metode pooling yang dapat digunakan adalah Max Pooling, Average Pooling, Sum Pooling dan sebagainya. Pada penelitian ini penulis menggunakan MaxPooling.

Rumus yang digunakan pada pooling layer dapat dilihat pada persamaan 2.2

(2.2)

Dimana:

W = Ukuran gambar, S = Stride F = Ukuran kernel/filter

2.6.2. Classification 1. Flatten Layer

Flatten layer bertujuan untuk mengubah matriks yang dihasilkan pada tahap pooling layer menjadi satu kolom saja atau yang disebut vector tunggal. Hasil dari layer ini akan digunakan menjadi input pada layer berikutnya.

2. Fully Connected Layer

Fully connected layer ini merupakan bagian multi layer perceptron. Lapisan ini berguna untuk membuat semua neuron pada lapisan sebelumnya saling terhubung satu sama lain

(24)

dengan neuron yang berada pada lapisan berikutnya. Hal ini berguna untuk mengolah data sehingga bisa diklasifikasikan.

3. Output Layer

Output layer ialah lapisan terakhir arsitektur CNN. Pada lapisan ini dapat menggunakan beberapa fungsi aktivasi seperti binary, sigmoid, softmax dan lainnya. Untuk penelitian ini penulis menggunakan fungsi softmax, karena penulis menggunakan kelas yang berjumlah lebih dari dua pada dataset atau yang disebut multi class.

2.7. Tensorflow

Tensorflow adalah platform open source end-to-end yang dibuat dan dikembangkan oleh Google Brain untuk mendukung machine learning. Tensorflow memiliki alat, pustaka, dan sumber daya yang komprehensif dan fleksibel yang memungkinkan penelitian menggunakan machine learning yang mutakhir dan developer dengan mudah membangun dan menerapkan aplikasi yang didukung machine learning. Tensorflow dapat digunakan dengan bahasa pemrograman Python dan C++ API yang stabil (Tensoflow, 2019). Tensorflow yang penulis gunakan pada penelitian ini adalah Tensorflow 2 dan menjalankan di jupyter notebook.

2.8. Tensorflow Lite

TensorFlow Lite adalah seperangkat alat yang memungkinkan pembelajaran mesin di perangkat dengan membantu developer menjalankan model yang sudah dibuat ke dalam perangkat seluler dan IoT. Tensorflow lite dibuat untuk mengatasi 5 kendala utama yaitu latensi, privasi, konektivitas, ukuran dan konsumsi daya. Latensi yang dimaksud adalah selang waktu yang digunakan dalam membaca dan menggunakan model. Privasi bertujuan untuk tidak meninggalkan data pribadi pengguna ke dalam device yang digunakan. Konektivitas dimaksud agar dalam penggunaan model tensorflow lite tidak diperlukannya jaringan internet.

Ukuran yang digunakan pada tensorflow lite lebih kecil dan dapat mengurangi latensi.

Konsumsi daya yang diperlukan juga lebih sedikit karena dalam penggunaannya tidak memerlukan jaringan internet (Tensorflow, 2021)

Tensorflow lite dapat digunakan ke dalam perangkat Android dan iOS, Linux dan mikrokontroler. Bahasa yang dapat digunakan untuk menjalankan tensorflow lite mencakup Java, Swift, Objective-C, C ++ dan Python. Tensorflow lite juga menyediakan library

(25)

pembelajaran mesin yang umum digunakan seperti klasifikasi gambar, deteksi objek, estimasi pose, klasifikasi teks.

2.9. Android

Android merupakan sistem operasi yang digunakan perangkat mobile. Android merupakan platform memperbolehkan para pengembang untuk membuat aplikasi mereka sendiri.

Developer dapat membuat aplikasi mereka sendiri dengan menggunakan pemrograman Java (Eko, 2012).

2.10. Android Studio

Android Studio dibuat untuk membantu pengembangan aplikasi android. Android Studio juga memiliki beberapa fitur seperti emulator yang cepat, kode yang terintegrasi dengan GitHub, adanya dukungan C++ dan NDK serta mendukung Google Cloud Platform yang dapat mempermudah dalam pengintegrasian Google Cloud Messaging dan App Engine.

2.11. Penelitian Terdahulu

Penelitian sebelumnya oleh Hnoohom, N., Yuenyong, S., & Chotivatunyu, P. Pada tahun 2018 dengan judul MEDiDEN: Automatic Medicine Identification Using a Deep Convolutional Neural Network. Sistem yang dibuat berguna untuk mengklasifikasikan obat melalui citra kemasan obat serta pengguna dapat mengatur jadwal untuk mengonsumsi obat.

Sistem ini memperoleh akurasi 92.75% menggunakan Inception-V3 dan 94.85%

menggunakan Inception-V4 dengan menggunakan 1260 citra.

Penelitian yang dilakukan oleh Alamsyah, S.F pada tahun 2019, dengan judul Implementasi Deep Learning Untuk Klasifikasi Tanaman Toga Berdasarkan Ciri Daun Berbasis Android. Sistem ini menggunakan metode CNN, dengan menggunakan 1200 data training dan 100 data testing menghasilkan tingkat akurasi sebesar 80%.

Penelitian yang dilakukan oleh Mulyanto, F. pada tahun 2020 dengan judul Aplikasi Pendeteksian Objek Buah-buahan Yang Memiliki Kemiripan Menggunakan Algoritma Faster R-CNN Berbasis Android. Sistem ini bertujuan untuk mengurangi kesalahan dalam penyortiran akibat kemiripan buah. Buah yang diteliti adalah apel, pir, anggur, blueberry, leci dan rambutan dengan menggunakan 1147 data testing dan mencapai akurasi 95,98%.

(26)

Penelitian yang dilakukan oleh Dwiatmoko, W pada 2020 dengan judul Perancangan Sistem Pengenalan Jenis Tanaman Obat Dengan Kamera Berbasis Android. Sistem ini menggunakan 191 data training dan 60 data testing. Hasil training mendapatkan akurasi 100% dengan total epoch 250. Pada proses testing, terjadi perubahan akurasi menjadi 43%.

Tabel 2.1. Penelitian Terdahulu

No Peneliti Judul Keterangan

1 Narit Hnoohom, Sumeth

Yuenyong dan Pitchaya Chotivatunyu (2018)

MEDiDEN: Automatic Medicine Identification

Using a Deep

Convolutional Neural Network

Sistem ini dibuat untuk

mengklasifikasikan obat melalui citra kemasan obat serta pengguna dapat mengatur jadwal untuk mengonsumsi obat. Sistem ini memperoleh akurasi 92.75% menggunakan Inception-V3 dan 94.85% menggunakan Inception-V4 dengan menggunakan 1260 citra.

2 Slamet Fifin Alamsyah (2019)

Implementasi Deep

Learning Untuk

Klasifikasi Tanaman Toga Berdasarkan Ciri Daun Berbasis Android.

Sistem ini menggunakan metode CNN, dengan menggunakan 1200 data training dan 100 data testing menghasilkan tingkat akurasi sebesar 80%.

3 Ferdinan Mulyanto (2020)

Aplikasi Pendeteksian Objek Buah-buahan

Yang Memiliki

Kemiripan Menggunakan

Algoritma Faster R- CNN Berbasis Android.

Sistem ini bertujuan untuk mengurangi kesalahan dalam penyortiran akibat kemiripan buah. Buah yang diteliti adalah apel, pir, anggur, blueberry, leci dan rambutan dengan menggunakan 1147 data testing dan mencapai akurasi 95,98%.

4 Withar Dwiatmoko (2020)

Perancangan Sistem Pengenalan Jenis Tanaman Obat Berbasis Android

Sistem ini menggunakan 191 data training dan 60 data testing.

Mendapatkan akurasi sebesar 43%

dengan total epoch 250.

(27)

Berdasarkan Tabel 2.1, dapat dilihat bahwa penelitian ini masih jarang dilakukan.

Adapun penelitian yang paling mendekati adalah penelitian yang dilakukan oleh Narit Hnoohom dkk, perbedaan penelitian ini dengan penelitian tersebut ialah sistem yang dibuat sebelumnya hanya berupa klasifikasi obat yang belum mampu menampilkan deskripsi dari citra obat, sedangkan sistem yang penulis bangun merupakan identifikasi obat yang mampu menampilkan hasil identifikasi obat serta deskripsi lengkap tentang obat tersebut. Adapun alasan penulis menggunakan metode convolutional neural network karena metode tersebut yang paling mumpuni dalam pemrosesan dengan input berupa citra. Metode ini juga mampu melakukan ekstraksi fitur dengan baik dimana ekstraksi fitur sangat diperlukan untuk pengenalan ciri objek.

(28)

BAB 3

ANALISIS DAN PERENCANAAN

Bab ini menjelaskan tentang bagaimana analisis dan perancangan tampilan antarmuka aplikasi identifikasi citra obat-obatan menggunakan Convolutional Neural Network ini dilakukan.

3.1. Data yang Digunakan

Data digunakan adalah citra obat-obatan berkestensi .jpg yang didapat dari hasil foto penulis.

Data dibagi menjadi tiga dataset, yaitu training, validation dan testing, dimana data training sebanyak 970 citra, validation sebanyak 119 citra dan testing sebanyak 126 citra.

3.2. Analisis Sistem

Adapun metode dalam pengidentifikasian obat ini memiliki beberapa tahapan yaitu sebagai berikut.

3.2.1. Input

Input yang digunakan pada penelitian ialah citra warna dari obat-obatan yang berkestensi .jpg yang didapat dari hasil foto penulis. Data yang diperoleh dibagi menjadi tiga dataset, yaitu training, validation dan testing dengan perbandingan 80%, 10% dan 10%

3.2.2. Proses

Tahap ini akan dilakukan pengolahan terhadap data citra obat-obatan yang telah didapat.

Proses yang dilakukan adalah resize, augmentasi, training dan convert to tflite model.

1. Resize

Resize merupakan tahap awal dari pre-processing, dimana citra akan diperkecil ukurannya untuk mempercepat proses latih. Ukuran yang digunakan adalah 224 x 224 pixel karena perangkat mobile mendukung ukuran demikian.

(29)

2. Augmentasi

Augmentasi data perlu dilakukan untuk memperkaya data citra obat yang telah dimiliki.

Augmentasi yang dilakukan berupa rotasi, flip serta zoom in dan zoom out citra.

3. Training

Tahap training merupakan tahap dimana training dataset dan validation dataset akan dipelajari oleh sistem menggunakan algoritma Convolutional Neural Network.

4. Convert to tflite

Model yang telah dihasilkan pada tahap sebelumnya akan dikonversikan kedalam bentuk tflite agar dapat dipergunakan ke perangkat android.

3.2.3. Output

Output dihasilkan berupa nama obat dari citra obat yang diterima pada proses input.

3.3. Arsitektur Umum

Adapun arsitektur umum dari penelitian ini dapat dilihat pada Gambar 3.1 berikut.

(30)

Keterangan Arsitektur Umum (Gambar 3.1) adalah:

1. Training

a. Pengumpulan data

Pada tahap ini sistem akan diberikan data yang berisi citra obat–obatan dari FG Troches, Galdom, Neo Diaform, Omeprazole, Simdrol-4, Zeviton.

b. Resize

Resize merupakan tahap awal dari pre-processing, dimana citra akan diperkecil ukurannya untuk mempercepat proses latih. Ukuran yang digunakan adalah 224 x 224 pixel. Pada Tabel 3.1 dapat terlihat perbedaan citra sebelum resize dan sesudah dilakukan resize.Dalam melakukan resize, penulis menggunakan fungsi resize yang disediakan oleh library pillow(PIL) menggunakan bahasa pemrograman python.

Tabel 3.1. Resize

Sebelum Sesudah

3000 x 4000

224 x 224

c. Data Augmentation

Data Augmentation perlu dilakukan untuk memperkaya data citra obat. Augmentasi yang dilakukan berupa rotasi, flip serta zoom in dan zoom out citra. Dari augmentasi data yang dimiliki menjadi 1215 citra. Contoh hasil dari data augmentation dapat

(31)

dilihat pada Tabel 3.2. Untuk melakukan augmentasi, penulis memanfaatkan keras dari tensorfow dengan menggunakan data generator yang berfungsi untuk membantu augmentasi berjalan secara statis dan cepat pada bahasa pemrograman python.

Tabel 3.2. Contoh Hasil dari Data Augmentation

No Tahap

Preproses Data

Perintah yang Digunakan

Sampel Hasil

1 Data Asli

-

2 Melakukan rotasi sebesar secara acak

rotation_range

= 45

3 Horizontal Flip horizontal_fli p = True

4 Zoom in dan zoom out

zoom_range = 0.2

(32)

d. Split Data

Dari banyak data yang dimiliki, data tersebut akan dibagi menjadi tiga dataset yaitu training dataset, validation dataset dan testing dataset dengan perbandingan 80%, 10%, 10%, dimana data training sebanyak 970 citra, validation sebanyak 119 citra dan testing sebanyak 126 citra, terlihat pada Tabel 3.3. Untuk membagi dataset, penulis menggunakan splitfolders pada pemrograman python.

Tabel 3.3. Hasil Split Data

No. Nama Dataset % Jumlah Data

1 Training 80 970

2 Validation 10 119

3 Testing 10 126

Jumlah 100 1215

e. Convolutional Neural Network

Pada tahap ini training dataset dan validation dataset akan dilatih menggunakan algoritma Convolutional Neural Network agar sistem dapat mengenali jenis obat- obatan yang sudah diberikan dan dapat digunakan untuk pengujian sistem nantinya.

Adapun tahap yang dilakukan adalah:

1) Convolution Layer

Berikut ini adalah pembahasan untuk lapisan konvolusi.

(33)

Gambar 3.2. Sampel Gambar Data Input

Gambar 3.2 merupakan gambar input image yang mewakili dataset yang tersedia.

Input image memiliki ukuran pixel 224 x 224, oleh sebab itu penulis hanya mengambil sebagian pixel saja, yaitu berukuran 5 x 5. Angka 3 diatas maksudnya adalah bahwa gambar tersebut memiliki 3 channel yaitu red, green, blue atau RGB.

Proses konvolusi dengan kernel dapat dilihat pada Gambar 3.3.

Gambar 3.3. Proses Konvolusi Dengan Kernel 3x3

Pada penelitian ini, penulis tidak menggunakan padding tambahan atau yang disebut zero padding, serta penulis menggunakan stride 1. Oleh sebab itu kita dapat menggunakan rumus pada persamaan 2.1 untuk mengetahui besar output yang akan diperoleh. Pada Gambar 3.3 dapat diketahui bahwa:

W = 5 x 5, F = 3 x 3,

(34)

Sehingga perhitungannya adalah sebagai berikut.

( )

Dari perhitungan diatas, maka kita akan memperoleh output dengan ukuran 3 x 3.

Gambar 3.4. Proses Pergeseran Dengan Stride = 1 dan Kernel 3x3

Gambar 3.5. Proses Konvolusi Pada Pergeseran Pertama

Gambar 3.6. Proses Konvolusi Pada Pergeseran Terakhir

(35)

Adapun perhitungan yang dilakukan untuk mendapatkan hasil pada Gambar 3.5 dan Gambar 3.6 adalah sebagai berikut.

Posisi 1:

(5x1) + (6x4) + (3x2) + (2x2) + (8x1) + (5x0) + (1x1) + (4x3) + (4x6) = 84 Posisi 2:

(6x1) + (3x4) + (6x2) + (8x2) + (5x1) + (5x0) + (4x1) + (4x3) + (3x6) = 85 Posisi 3:

(3x1) + (6x4) + (9x2) + (5x2) + (5x1) + (6x0) + (4x1) + (3x3) + (2x6) = 85 Posisi 4:

(2x1) + (8x4) + (5x2) + (1x2) + (4x1) + (4x0) + (5x1) + (2x3) + (8x6) = 109 Posisi 5:

(8x1) + (5x4) + (5x2) + (4x2) + (4x1) + (3x0) + (2x1) + (8x3) + (3x6) = 94 Posisi 6:

(5x1) + (5x4) + (6x2) + (4x2) + (3x1) + (2x0) + (8x1) + (3x3) + (6x6) = 101 Posisi 7:

(1x1) + (4x4) + (4x2) + (5x2) + (2x1) + (8x0) + (6x1) + (3x3) + (9x6) = 106 Posisi 8:

(4x1) + (4x4) + (3x2) + (2x2) + (8x1) + (3x0) + (3x1) + (9x3) + (6x6) = 104 Posisi 9:

(4x1) + (3x4) + (2x2) + (8x2) + (3x1) + (6x0) + (9x1) + (6x3) + (4x6) = 90

2) Pooling Layer

Hasil akhir pada lapisan konvolusi akan digunakan kembali pada proses pooling sebagai input, dapat dilihat pada Gambar 3.7.

Gambar 3.7. Hasil Akhir Konvolusi Sebagai Input Pada Pooling

(36)

Pada lapisan ini, penulis menggunakan stride 1 dengan kernel 2 x 2 dan juga menggunakan metode MaxPooling. Oleh sebab itu kita dapat menggunakan rumus pada persamaan 2.2 untuk mengetahui besar output yang akan diperoleh. Diketahui bahwa:

W = 3 x 3, F = 2 x 2, S = 1

Sehingga perhitungannya adalah sebagai berikut.

Dari perhitungan diatas kita mengetahui bahwa kita akan memperoleh output sebesar 2 x 2. Adapun proses yang akan dilakukan dapat dilihat pada Gambar 3.8.

Gambar 3.8. Proses Pooling Menggunakan MaxPooling

(37)

MaxPooling berfungsi untuk mengambil nilai maksimal dari kernel 2 x 2, setelah berhasil mendapatkan nilai, maka akan bergerak dengan stride 1 kemudian nilai akan disimpan ke dalam matriks yang baru.Hasil akhir dari pooling layer dapat dilihat pada Gambar 3.9.

Gambar 3.9. Hasil Akhir Pada MaxPooling

3) Flatten Layer

Hasil akhir dari pooling akan dibuat menjadi 1 vektor saja, dimana hasil dari flattening selanjutnya akan digunakan sebagai input pada fully connected layer. Hasil dari flattening dapat dilihat pada Gambar 3.10.

Gambar 3.10. Hasil Dari Flatten Layer

4) Fully Connected Layer

Fully connected layer disini berperan sebagai hidden layer yang merupakan lapisan yang menentukan ke output manakah citra akan dikelompokan. Pada penelitian ini, penulis menggunakan 6 kelas sebagai output, sehingga penulis menggunakan fungsi aktifasi softmax. Gambar 3.11 merupakan tampilan fully connected layer serta output layer.

(38)

Gambar 3.11. Fully Connected Layer

f. Trained Model

Setelah model selesai dilatih, maka model tersebut disimpan untuk digunakan pada tahap pengujian.

g. Convert to tflite

Untuk menggunakan model pada perangkat android, maka model yang telah dilatih di konversikan ke dalam model dengan ekstensi .tflite. Kemudian kita akan menambahkan metadata kedalam model agar memudahkan dalam pengaplikasiannya ke perangkat android. Untuk melakukan ini, penulis menggunakan converter yang disediakan oleh tensorflow itu sendiri, menggunakan bahasa pemrograman python.

2. Testing 1) Input

Tahap ini, sistem akan menerima masukan citra obat yang berasal dari kamera android secara langsung.

2) Load tflite Model

Kemudian sistem akan memproses input yang diterima dari kamera dan akan melakukan identifikasi menggunakan model yang telah dilatih sebelumnya.

3) Output

Hasil identifikasi dari citra obat akan ditampilkan pada layar. Kemudian berdasarkan nama obat yang didapatkan, database akan memroses dan mengambil semua hasil

(39)

yang berhubungan dengan nama obat tersebut, sehingga hasil akhir yang akan didapatkan adalah nama obat, kegunaan obat, cara penggunaan,efek samping serta kontraindikasi dari obat tersebut. Gambar 3.3 merupakan rancangan database yang telah dibuat.

Gambar 3.12. Rancangan Database 3.4. Perancangan Antarmuka Sistem

Perancangan antarmuka sistem ini bertujuan menjelaskan bagaimana gambaran sistem dibangun. Adapun rancangan antarmuka yang dibuat adalah halaman splashscreen, halaman home, halaman testing serta halaman deskripsi.

3.4.1. Rancangan Tampilan Splashscreen

Hal pertama yang ditampilkan ketika membuka aplikasi adalah halaman splashscreen.Halaman ini berisi logo dan nama dari aplikasi. Rancangan tampilan halaman splashscreen dapat dilihat pada Gambar 3.13.

(40)

Gambar 3.13. Rancangan Tampilan Splashscreen 3.4.2. Rancangan Tampilan Home

Halaman home merupakan tampilan utama aplikasi. Pada halaman home akan terdapat dua tombol, yang pertama adalah info button. Info button akan menampilkan pop-up yang berisi tentang info mengenai aplikasi dan nama dari penulis. Kemudian tombol yang kedua adalah scan button, tombol ini akan mengarahkan kita ke halaman selanjutnya. Rancangan tampilan halaman home dapat dilihat pada Gambar 3.14.

Gambar 3.14. Rancangan Tampilan Home

(41)

3.4.3. Rancangan Tampilan Testing

Setelah memilih scan button pada halaman sebelumnya, maka akan tampil halaman testing.

Halaman ini berguna untuk menguji sistem yang telah dibuat. User akan mengarahkan obat ke kamera yang telah dibuka. Kemudian hasilnya akan tampil di bagian result. Untuk melihat deskripsi dari nama obat yang diperoleh, user diharuskan memilih view description button.

Rancangan tampilan testing dapat dilihat pada Gambar 3.15.

Gambar 3.15. Rancangan Tampilan Testing 3.4.4. Rancangan Tampilan Deskripsi

Setelah menekan tombol view description pada halaman sebelumnya, user akan diarahkan ke halaman deskripsi. Halaman ini berisi informasi mengenai obat yang didapatkan pada halaman sebelumnya. Pada halaman ini juga disediakan tombol close bila user ingin mendeteksi obat lain. Maka akan kembali ke halaman testing. Rancangan dari halaman deskripsi dapat dilihat pada Gambar 3.16.

(42)

Gambar 3.16. Rancangan Tampilan Deskripsi

(43)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

Bab ini berisi implementasi dan pengujian algoritma Convolutional Neural Network dalam proses pengidentifikasian citra obat-obatan. Pengujian dilakukan menurut analisis yang dituliskan pada bab sebelumnya.

4.1. Implementasi Sistem

Tahap ini merupakan proses yang dilakukan untuk mengidentifikasi obat-obatan menggunakan metode Convolutional Neural Network. Bahasa pemrograman yang digunakan untuk melakukan training adalah python dengan menggunakan jupyter noebook. Sistem yang dibangun berbasis mobile yang dibuat menggunakan bahasa pemrograman java menggunakan Android Studio.

4.1.1. Spesifikasi Perangkat Keras

Berikut adalah spesifikasi perangkat keras yang penulis gunakan untuk membangun sistem.

Tabel 4.1. Spesifikasi Perangkat Keras

Perangkat Keras Komponen

ASUSTek Computer X456URK

Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz (4 CPUs),

~2.7GHz RAM (12 GB) Harddisk (1 TB)

Redmi S2 Memori Internal (32 GB) RAM (3 GB)

Camera 12 MP

(44)

Battery 3080 mAh Redmi Note 7 Memori Internal (64 MP)

RAM (4 GB) Camera 48 MP Battery 4000 mAh

4.1.2. Spesifikasi Perangkat Lunak

Berikut adalah spesifikasi perangkat lunak yang penulis gunakan untuk membangun sistem.

Tabel 4.2. Spesifikasi Perangkat Lunak

Perangkat Lunak Komponen

ASUSTek Computer X456URK Windows 10 Pro 64-bit Miniconda 3

Python 3.8.10 Tensorflow 2.3.0 Android Studio 4.1.2 Redmi S2 OS Android 9 (Pie) Redmi Note 7 OS Android 10 (Q)

4.1.3. Implementasi Data

Pada bab sebelumnya telah disebutkan bahwa data dibagi menjadi tiga dataset yaitu training dataset, validation dataset dan testing dataset dengan perbandingan 80%, 10%, 10%, dimana data training sebanyak 970 citra, validation sebanyak 119 citra dan testing sebanyak 126 citra. Pada Tabel 4.3 dapat dilihat perbandingan dari ketiga dataset tersebut.

(45)

Tabel 4.3. Pembagian Citra Pada Dataset

Nama Obat Train

Dataset

Validation Dataset

Test Dataset

FG Troches 222 27 29

Galdom 139 17 18

Neo Diaform 168 21 21

Omeprazole 138 17 18

Simdrol-4 165 20 22

Zeviton 138 17 18

Jumlah 138 119 126

Pada Gambar 4.1 dapat dilihat contoh data obat yang digunakan pada proses training untuk penyelesaian penelitian ini.

Gambar 4.1. Implentasi Data 4.1.4. Proses Training

Proses training dilakukan dengan metode Convolutional Neural Network. Untuk menentukan model terbaik, maka penulis melakukan beberapa kali percobaan dengan learning rate dan

(46)

jumlah epoch yang berbeda-beda. Parameter yang diamati dari perbandingan ini adalah tingkat akurasi dan loss yang dihasilkan. Hasil percobaan dapat dilihat pada Tabel 4.4.

Tabel 4.4. Percobaan Dengan Beberapa Learning Rate dan Epoch

No Learning

Rate Epoch

Training Validation

Pecobaan Accuracy Loss Accuracy Loss

1 0.1 50 18.13% 1.92 20% 1.88

2 0.1 100 22.50% 1.86 20.67% 1.89

3 0.1 150 19.37% 1.86 18.67% 1.84

4 0.1 200 23.75% 1.85 24.67% 1.82

5 0.01 50 60.62% 1.04 66.67% 0.96

6 0.01 100 68.18% 0.87 72% 0.80

7 0.01 150 82.50% 0.47 88.67% 0.33

8 0.01 200 76.88% 0.65 81.33% 0.52

9 0.001 50 86.36% 0.36 90.67% 0.26

10 0.001 100 93.12% 0.21 94.67% 0.25

11 0.001 150 99.37% 0.05 96.67% 0.10

12 0.001 200 97.73% 0.12 96.67% 0.12

13 0.0001 50 72.50% 0.71 75.33% 0.64

14 0.0001 100 85% 0.44 89.33% 0.39

15 0.0001 150 85.62% 0.36 92% 0.29

16 0.0001 200 87.50% 0.31 92.67% 0.20

Dari hasil percobaan pada Tabel 4.4, dapat disimpulkan bahwa hasil terbaik diperoleh pada percobaan 11, dimana training accuracy yang dicapai sebesar 99.37% dengan loss 0.05 dan validation accuracy sebesar 96.67% dan loss 0.12. Maka penulis memutuskan menggunakan model terbaik tersebut, dimana learning rate yang digunakan adalah 0.001 dan jumlah epoch adalah 150. Tampilan proses training data dilihat pada Gambar 4.2.

(47)

Gambar 4.2. Proses Training Data

Gambar 4.3. Perbandingan Akurasi Training dan Validation

Gambar 4.4. Perbandingan Loss Training dan Validation

(48)

Berdasarkan hasil yang didapatkan pada Gambar 4.3 dan Gambar 4.4, dapat diketahui bahwa model tidak mengalami undefitting ataupun overfitting. Model dinilai sudah cukup baik untuk mengidentifikasi obat-obatan.

4.1.5. Implementasi Perancangan Antarmuka 1. Logo Aplikasi

Tampilan logo dan nama aplikasi pada android dapat dilihat pada Gambar 4.5.

Gambar 4.5. Logo Aplikasi 2. Tampilan Splashscreen

Hal pertama yang ditampilkan ketika membuka aplikasi adalah halaman splashscreen.Halaman ini berisi logo dan nama dari aplikasi. Implementasi tampilan halaman splashscreen dapat dilihat pada Gambar 4.6.

(49)

Gambar 4.6. Implementasi Halaman Splashscreen 3. Tampilan Home

Halaman home merupakan tampilan utama aplikasi. Pada halaman home terdapat dua tombol, yaitu info button dan scan button. Info button akan menampilkan pop-up yang bertuliskan informasi mengenai aplikasi dan nama penulis (dapat dilihat pada Gambar 4.8). Kemudian scan button akan mengarahkan kita ke halaman selanjutnya.

Implementasi tampilan halaman home dapat dilihat pada Gambar 4.7.

(50)

Gambar 4.7. Implementasi Halaman Home

Gambar 4.8. Implementasi Pop-up dari Info Button

(51)

4. Tampilan Testing

Setelah memilih scan button pada halaman sebelumnya, maka akan tampil halaman testing. Halaman ini berguna untuk menguji sistem yang telah dibuat. User mengarahkan obat ke kamera. Kemudian hasilnya tampil di bagian bawah. Untuk melihat deskripsi dari nama obat yang diperoleh, user diharuskan memilih tombol lihat deskripsi. Implementasi tampilan testing dapat dilihat pada Gambar 4.9.

Gambar 4.9. Implementasi Halaman Testing 5. Tampilan Deskripsi

Seteleh menekan tombol lihat deskripsi pada halaman sebelumnya, user akan diarahkan ke halaman deskripsi. Halaman ini berisi informasi mengenai obat yang didapatkan pada halaman sebelumnya. Jika user menekan tombol tutup, maka user akan kembali ke halaman testing. Implementasi dari halaman deskripsi dapat dilihat pada Gambar 4.10.

(52)

Gambar 4.10. Implementasi Halaman Deskripsi 4.2. Prosedur Penggunaan

Prosedur yang dilakukan untuk proses identifikasi dengan menekan tombol scan button pada halaman home, kemudian akan diarahkan ke halaman testing dimana kamera akan dibuka, dapat dilihat pada Gambar 4.9. Kemudian user akan mengarahkan kamera kepada obat yang ingin diidentifikasi. Setelah mendapatkan hasil nama obat, user dapat menekan tombol lihat deskripsi, kemudian informasi tentang tersebut akan ditampilkan, seperti ditunjukan pada Gambar 4.10.

4.3. Pengujian Sistem

Pengujian sistem bertujuan mengetahui bagaimana kemampuan dari sistem yang sudah dibangun untuk pengidentifikasian obat-obatan. Pengujain dilakukan secara langsung melalui kamera android dan juga menggunakan dataset yang tersedia menggunakan confusion matrix. Pengujian secara langsung dilakukan dengan berbagai kondisi seperti menggunakan perangkat ponsel yang berbeda, intensitas cahaya yang berbeda, jarak yang berbeda serta

(53)

kondisi lainnya. Pada Tabel 4.5 akan menunjukan hasil identifikasi menggunakan ponsel Redmi Note 7.

Tabel 4.5. Contoh Hasil Pengujian Menggunakan Redmi Note 7

No Citra Desired Output Actual Output

1 FG Troches FG Troches

2 Omeprazole Omeprazole

(54)

3 Simdrol-4 Simdrol-4

4 Galdom Galdom

5 Zeviton Zeviton

(55)

6 Neo Diaform Neo Diaform

Berdasarkan hasil yang didapatkan pada Tabel 4.5, dapat dilihat bahwa identifikasi berjalan dengan baik pada perangkat Redmi Note 7.

Tabel 4.6. Hasil Pengujian Berdasarkan Intensitas Cahaya

Intensitas Cahaya Citra Desire Output Actual Output

10 lux Omeprazole Omeprazole

(56)

25 lux Omeprazole Omeprazole

50 lux Omeprazole Omeprazole

80 lux Omeprazole Omeprazole

(57)

270 lux Omeprazole Omeprazole

477 lux Omeprazole Omeprazole

794 lux Omeprazole Omeprazole

(58)

1981 lux Omeprazole Omeprazole

2788 lux Omeprazole Omeprazole

3472 lux Omeprazole Omeprazole

(59)

12372 lux Tidak Diketahui Omeprazole

17315 lux Galdom Omeprazole

Berdasarkan hasil yang diperoleh pada Tabel 4.6 dapat diketahui bahwa sistem bekerja dengan baik ketika intensitas cahaya tidak melebihi 3472 lux. Ketika kondisi intensitas cahaya melebihi 3472 lux, maka sistem akan banyak melakukan kekeliruan dalam mengidentifikasi.

(60)

Tabel 4.7. Hasil Pengujian Berdasarkan Jarak

Jarak Citra Desired Output Actual Output

5 cm Omeprazole Omeprazole

10 cm Omeprazole Omeprazole

15 cm Omeprazole Omeprazole

(61)

20 cm Omeprazole Omeprazole

25 cm Omeprazole Omeprazole

30 cm Omeprazole Omeprazole

(62)

40 cm Galdom Omeprazole

50 cm Galdom Omeprazole

Pada Tabel 4.7 dapat dilihat bahwa sistem dapat mengidentifikasi dengan baik ketika jarak obat dengan kamera tidak melebihi 30 cm. Jarak yang semakin bertambah akan membuat tampilan obat terlihat lebih kecil, hal inilah yang menyebabkan sistem kesulitan dalam mengidentifikasi obat.

(63)

Tabel 4.8. Hasil Pengujian Dengan Latar Berbeda

Background Citra Desired Output Actual Output

Kertas Putih Omeprazole Omeprazole

Latar Merah Omeprazole Omeprazole

Di dalam plastik

transparan Omeprazole Omeprazole

(64)

Motif bunga Galdom Omeprazole

Kayu Cokelat Omeprazole Omeprazole

Kain Motif Galdom Omeprazole

(65)

Kain motif Omeprazole Omeprazole

Buku tulis putih

bergaris Omeprazole Omeprazole

Tabel 4.8 menunjukan bahwa sistem dapat mengidentifikasi obat dengan latar yang berbeda dengan cukup baik namun terjadi beberapa kesalahan bila obat di identifikasi menggunakan latar yang bermotif. Oleh sebab itu disarankan untuk mengidentifikasi obat dengan latar yang hanya memiliki satu warna saja.

(66)

Tabel 4.9. Pengujian Dengan Kondisi Tertentu

No Kondisi Citra Desired Output Actual Output

1 Tidak ada obat Tidak Diketahui Tidak Diketahui

2 Obat baru diluar

dataset Omeprazole Tidak Diketahui

3 Obat baru diluar

dataset Tidak Diketahui Tidak Diketahui

(67)

4 Obat baru diluar

dataset Tidak Diketahui Tidak Diketahui

5

Dua obat (obat yang ada di dataset dan obat

baru)

Neo Diaform Neo Diaform

6 Dua obat FG Troches FG Troches,

Zeviton

(68)

7 Dua Obat Zeviton Omeprazole, Zeviton

8 Dua obat Simdrol-4 Simdrol-4,

Galdom

9 Tiga obat Neo Diaform

Omeprazole, Neo Diaform,

FG Troches

(69)

10 Tiga obat Galdom Simdrol-4, Galdom, Zeviton

11 Tiga obat Neo Diaform

Simdrol-4, Galdom, Neo

Diaform

12 Enam buah obat Neo Diaform

FG Troches, Omeprazole, Neo Diaform,

Simdrol-4, Galdom, Zeviton

Pada Tabel 4.9 dapat dilihat bahwa sistem memiliki kekurangan. Sistem ini dirancang untuk dapat mengidentifikasi satu nama obat saja, tetapi penulis mencoba pengujian dengan

(70)

kondisi-12 dapat penulis simpulkan bahwa sistem akan menampilkan hasil berdasarkan nama obat yang lebih banyak dipelajari pada proses training. Jumlah data yang digunakan pada proses training dapat dilihat pada Tabel 4.3. Sistem akan menampilkan hasil yang paling dikenali oleh sistem saat proses training.

Pengujian juga dilakukan dengan testing dataset yang berisi 126 citra yang belum pernah dikenali sistem. Pengujian dilakukan menggunakan confusion matrix. Hasil dari confusion matrix dapat dilihat pada Tabel 4.10.

Tabel 4.10. Confusion Matrix FG

Troches Galdom Neo

Diaform Omerazole Simdrol-4 Zeviton Total

FG Troches 29 0 0 0 0 0 29

Galdom 0 18 0 0 0 0 18

Neo Diaform 0 0 20 0 1 0 21

Omeprazole 1 0 0 17 0 0 18

Simdrol-4 1 0 0 0 21 0 22

Zeviton 0 1 0 0 0 17 18

Total 31 19 20 17 22 17 126

Untuk mengetahui kinerja algoritma CNN pada penelitian ini maka akan dilakukan pengujian dengan beberapa perhitungan yaitu akurasi, presisi dan recall dengan menggunakan persamaan sebagai berikut.

(4.1)

∑( ) (4.2)

∑( ) (4.3)

Dimana :

TP (True Positive) = jumlah data yang benar yang di identifikasi benar oleh sistem

(71)

FP (False Positive) = jumlah data yang benar namun di identifikasi salah oleh sistem FN (False Negative) = jumlah data yang salah namun di identifikasi salah oleh sistem

Untuk mengetahui tingkat akurasi pengujian sistem ini, maka digunakan persamaan 4.1.

Berdasarkan hasil dari confusion matrix yang didapatkan pada Tabel 4.10, maka kita dapat menghitung akurasi adalah sebagai berikut.

Kemudian kita akan menghitung presisi menggunakan persamaan 4.2 berdasarkan data yang didapatkan pada Tabel 4.10.

Tabel 4.11. Perhitungan Presisi FG

Troches Galdom Neo

Diaform Omerazole Simdrol-4 Zeviton

TP 29 18 20 17 21 17

FP 0 0 1 1 1 1

Presisi =

TP/(TP+FP) 29/29=1 18/18=1 20/21=0.95 17/18=0.94 21/22=0.95 17/18=0.94

Kemudian kita akan menghitung recall menggunakan persamaan 4.3 berdasarkan data yang tersedia pada Tabel 4.10.

(72)

Tabel 4.12. Perhitungan Recall

FG Troches Galdom Neo

Diaform Omerazole Simdrol-4 Zeviton

TP 29 18 20 17 21 17

FN 2 1 0 0 0 0

Recall =

TP/(TP+FN) 29/31=0.93 18/19=0.94 20/20=1 17/17=1 21/21=1 17/17=1

Menurut perhitungan diatas dapat diambil kesimpulan bahwa akurasi algoritma Convolutional Neural Network dalam mengidentifikasi obat-obatan mencapai 96.82%, mendapatkan nilai presisi 96.33% dan nilai recall sebesar 97.83%

(73)

BAB 5 PENUTUP

Bab ini berisi kesimpulan dari hasil dari penelitian dan saran yang diajukan agar berguna bagi penelitian selanjutnya.

5.1. Kesimpulan

Adapun kesimpulan yang diperoleh berdasarkan penelitian adalah sebagai berikut.

1. Sistem pengidentifikasian obat-obatan menggunakan Convolutional Neural Network mendapatkan akurasi hingga 96.82%.

2. Berdasarkan beberapa percobaan, pemilihan parameter berupa learning rate 0.001 dan jumlah epoch 150 merupakan nilai terbaik yang dapat digunakan untuk pelatihan data.

3. Sistem mampu mengidentifikasi obat dengan baik menggunakan ataupun tidak menggunakan kemasan obat serta dengan background yang berbeda-beda.

4. Penyebab kesalahan sistem mengidentifikasi nama obat adalah intensitas cahaya yang berlebihan (lebih dari 3472 lux) dan jarak kamera ke obat yang terlalu jauh (lebih dari 30 cm).

5.2. Saran

Adapun saran untuk pengembangan penelitian selanjutnya adalah sebagai berikut.

1. Diharapkan pada penelitian selanjutnya membuat sistem yang dapat mengidentifikasi beberapa obat sekaligus.

2. Diharapkan pada penelitian selanjutnya untuk mencoba kombinasi parameter- parameter lainnya.

3. Diharapkan pada penelitian selanjutnya menggunakan metode neural network lainnya untuk dapat mengatasi kekurangan pada penelitian ini.

4. Diharapkan pada penelitian selanjutnya memperbanyak dan memperluas jenis obat yang digunakan.

(74)

DAFTAR PUSTAKA

Alamsyah, S.F. 2019. Implementasi Deep Learning Untuk Klasifikasi Tanaman Toga Berdasarkan Ciri Daun Berbasis Android. Ubiquitous: Computers and its Applications Journal 2(2): 113-122.

Almas, P. 2019. WHO: Kesalahan Medis Picu 2,6 Juta Kematian di Dunia. Republika.co.id, 14 September 2019 (diakses 7 April 2021).

Andono, P.N., Sutojo, T. & Muljono. 2017. Pengolahan Citra Digital. Pramesta, A. Penerbit ANDI : Yogyakarta.

Android. (2021). Meet Android Studio. (Online) https://developer.android.com/studio/intro (20 April 2021).

Botha, A., Niksch, L., Terblanche, R., Venter, K., & Joubert, G. 2017. Illegible handwriting and other prescription errors on prescriptions at National District Hospital, Bloemfontein.

59(1):52-55.

Deng, L. & Yu, D., 2014. Deep Learning: Methods and Application. Foundations and Trends in Signal Processing : USA.

Dwiatmoko, W. 2020. Perancangan Sistem Pengenalan Jenis Tanaman Obat Dengan Kamera Berbasis Android. Skripsi. Universitas Muhammadiyah Surakarta.

Fikriya, Z.A., Irawan, M.I., & Soetrisno. 2017. Implementasi Extreme Learning Machine untuk Pengenalan Object Citra Digital. Jurnal Sains dan Seni ITS 6(1): A18-A23

Hidayatullah, P. 2017. Pengolahan Citra Digital Teori Dan Aplikasi Nyata. Penerbit Informatika: Bandung.

Hnoohom, N., Yuenyong, S., & Chotivatunyu, P. 2018. MEDiDEN: Automatic Medicine Identification Using a Deep Convolutional Neural Network. 2018 International Joint Symposium on Artificial Intelligence and Natural Language Processing (iSAI-NLP).

IEEE.

Irfan, I. & Hidayat, D.R. 2020. Literasi Penggunaan Obat Dengan “Tanya Lima O”. Jurnal Pengabdian Kampus 7(1): 14-16.

Karpathy, A. (2018). Introduction to Convolutional Neural Networks.

Kementrian Kesehatan RI. 2017. Memasyarakatkan Tanya Lima O. (Online) https://farmalkes.kemkes.go.id/2017/09/memasyarakatkan-tanya-lima-o/ (7 April 2021).

Kusumanto, R.D., & Tompunu, A.N. 2011. Pengolahan Citra Digital Untuk Mendeteksi Obyek Menggunakan Pengolahan Warna Model Normalisasi RGB (Semantik).

Gambar

Gambar 2.3. Representasi Citra Digital
Gambar 2.4. Arsitektur Convolutional Neural Network (Karapathy, 2018)  Arsitektur dari CNN dibagi menjadi dua bagian besar, yaitu:
Tabel 3.1. Resize
Tabel 3.2. Contoh Hasil dari Data Augmentation
+7

Referensi

Dokumen terkait

Penelitian menggunakan 60 ekor ayam pedaging, dua puluh ekor ayam di awal penelitian diambil darahnya untuk pengamatan titer antibodi asal induk terhadap infeksi virus

Pengaruh Konsentrasi Hidroksipropil Metilselulosa (HPMC) terhadap Sifat Fisikokimia dan Organoleptik Selai Lembaran Nanas, Skripsi S-1, Fakultas Teknologi Pertanian

2 Wakil Dekan Bidang I SALINAN TERKENDALI 02 3 Wakil Dekan Bidang II SALINAN TERKENDALI 03 4 Manajer Pendidikan SALINAN TERKENDALI 04 5 Manajer Riset dan Pengabdian

MERUJUK kepada kerja sama yang telah lama berdiri antara Pemerintah Republik Indonesia dan Pemerintah Belanda yang ditandai dengan Memorandum Saling Pengertian

Kepuasan tersebut akan memiliki bentukan yang berbeda dari setiap persepsi setiap orang, dengan ini sebuah coffee shop memerlukan suatu standar operasional guna memberikan

Pengawasan kualitas merupakan alat bagi manajemen untuk memperbaiki kualitas produk bila dipergunakan, mempertahankan kualitas produk yang sudah tinggi dan

Zaki A., M.Kom Prind Triajeng P, M.Kom Siti Asmiatun, M.Kom Fahrul Pradhana P., M.Kom.. Fuzzy

Puji syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas segala rahmat dan anugerah-Nya sehingga penulis dapat menyelesaikan penyusunan skripsi yang berjudul