1
IMPLEMENTASI DEEP LEARNING MENGGUNAKAN
CONVOLUTIONAL NEURAL NETWORK UNTUK KLASIFIKASI
CITRA X-RAY PENYAKIT COVID-19
1Tri Kusuma Wardhani 2 Febriani
1Kp. Sawah Indah Rt 01/09 No.45, Kecamatan Bojonggede, Kota Bogor, Jawa Barat 16922
trikuswrdhn@gmail.com
2Jl. Margonda Raya No.100, Pondok Cina, Kecamatan Beji, Kota Depok, Jawa Barat 16424
febriani@staff.gunadarma.ac.id
Jurusan Teknik Informatika, Fakultas Teknologi Industri, Universitas Gunadarma
ABSTRAK
Berkembangnya teknologi menciptakan banyak teknologi baru seperti deep learning. Deep
learning sering kali digunakan untuk membantu dalam mengambil keputusan. Salah satu
tantangan dalam mengelola COVID-19 adalah identifikasi modalitas diagnostik yang cepat, mudah di akses dan terpercaya yang dapat berfungsi sebagai alternatif untuk proses pemeriksaan. Oleh karena itu, diusulkan sebuah sistem yang mampu melakukan klasifikasi sehingga sistem mampu mengenali citra x-ray pasien yang terinfeksi COVID-19 maupun yang tidak terinfeksi COVID-19.
Dalam perancangan aplikasi terdiri dari tahapan studi pustaka, persiapan dan pengumpulan data, perancangan data, pelatihan data, penyimpanan model dan pengujian model serta menentukan kebutuhan fungsional dan non-fungsional. Perancangan aplikasi menggunakan flowchart untuk menganalisa algoritma yang digunakan mulai dari segmentasi, pendeteksian COVID-19 dan hasil deteksi COVID-19 dengan arsitektur Convolutional Neural Network (CNN) pada Python.
Pelatihan model menggunakan 25 epochs dengan 450 data yang terdiri dari 301 data latih dan 149 data uji dalam proses training model arsitektur Convolutional Neural Network (CNN). Perhitungan yang dilakukan dengan confusion matrix mendapatkan akurasi hasil
training sebesar 95.30% pada data uji. Uji coba pada aplikasi menggunakan 20 citra x-ray
yang terdiri dari 10 citra x-ray yang terinfeksi Covid-19 dan 10 citra x-ray yang Normal. Kata Kunci : Deteksi COVID-19, Convolutional Neural Network, Deep Learning, Python, Tkinter.
2 ABSTRACT
The development of technology creates many new technologies such as deep learning. Deep
learning is often used to help make decisions. One of the challenges in managing
COVID-19 is the identification of diagnostic modalities that are fast, easy to access, and reliable that can serve as an alternative to the screening process. Therefore, a system that is able to perform classification is proposed so that the system is able to recognize x-ray images of patients infected with COVID-19 and those who are not infected with COVID-19.
The design of the application consists of the stages of literature study, data preparation and collection, data design, data training, model storage, and model testing and determining functional and non-functional requirements. The application design uses a flowchart to analyze the algorithms used starting from segmentation, 19 detection, and COVID-19 detection results with the Convolutional Neural Network (CNN) architecture in Python. Model training uses 25 epochs with 450 data consisting of 301 training data and 149 test data in the Convolutional Neural Network (CNN) architectural model training process. Calculations performed with the confusion matrix get an accuracy of 95.30% training results on the test data. Testing on the application uses 20 x-ray images consisting of 10 x-ray images infected with Covid-19 and 10 normal x-ray images.
Keywords : Detection COVID-19, Convolutional Neural Network, Deep Learning, Python, Tkinter.
1.
PENDAHULUAN
1.1 Latar Belakang
Menurut penelitian yang dilakukan oleh Phelan AL, Katz R, Gostin LO. (2020) yang berjudul “The Novel Corona
virus Originating in Wuhan, China: Challenges for Global Health Governance.”, Pada tanggal 31 Desember
2019, WHO China Country Office melaporkan kasus pneumonia yang tidak diketahui etiologinya di Kota Wuhan, Provinsi Hubei, China. Pada tanggal 7 Januari 2020, China mengidentifikasi pneumonia yang tidak diketahui
etiologinya tersebut sebagai coronavirus jenis baru (SARS-CoV-2) dan penyakitnya disebut coronavirus disease 2019 (COVID-19). COVID-19 telah menyebar dengan cepat secara global, sampai saat ini sudah dipastikan terdapat 216 negara telah terjangkit coronavirus
disease 2019 (Data WHO, 20 Mei 2020). Coronavirus disease 2019 adalah
penyakit pernapasan akut yang sangat menular dan dapat menyerang siapa saja, baik balita, anak-anak, orang dewasa, orang tua, ibu hamil ataupun ibu menyusui yang disebabkan oleh Severe Acute
3
Respiratory Syndrome CoronaVirus-2
(SARS-CoV-2) (Zein, 2020). COVID-19 dapat menular dari manusia ke manusia secara langsung maupun tidak langsung melalui hidung, mulut dan mata melalui tetesan (droplets) yang dihasilkan dari batuk atau bersin orang yang terinfeksi. Secara umum, terdapat beberapa gejala yang dapat menandakan seseorang terinfeksi virus COVID-19, yaitu demam, batuk, dan sesak napas. Pada Maret 2020,
World Health Organization (WHO) resmi
menyatakan bahwa COVID-19 sebagai pendemi (Data WHO, 27 Mei 2020)
Berkembangnya teknologi menciptakan banyak teknologi baru seperti deep learning. Deep learning sering kali digunakan untuk dapat membantu dalam mengambil keputusan. Salah satu tantangan dalam mengelola COVID-19 adalah identifikasi modalitas diagnostik yang cepat, mudah di akses, dan terpercaya yang dapat berfungsi sebagai alternatif untuk proses pemeriksaan. Oleh karena itu, diusulkan sebuah sistem yang mampu melakukan klasifikasi sehingga sistem mampu mengenali citra x-ray pasien yang terjangkit COVID-19. Dibutuhkan suatu algoritma untuk mempermudah sistem dalam mengenali, membandingkan, dan
mempelajari secara otomatis struktur data citra (Sari, 2018).
Computer vision merupakan salah
satu bidang ilmu yang memiliki beberapa permasalahan diantaranya yaitu image
classification , object detection, dan neural style transfer. Salah satu tipe
jaringan saraf tiruan yang menangani permasalahan computer vision adalah
Convolutional Neural Network (CNN),
yang saat ini memiliki hasil paling signifikan dalam pengenalan citra dikarenakan CNN memiliki cara kerja menyerupai fungsi otak pada manusia, di mana komputer akan diberikan data citra untuk dipelajari, dilatih mengenali setiap elemen visual pada citra serta memahami setiap pola citranya, hingga nantinya komputer mampu mengidentifikasi citra tersebut (Eka Putra, 2016). Beberapa penelitian mengenai pengolahan citra dengan metode CNN mendapatkan hasil akurasi yang bagus, yaitu penelitian untuk pengenalan wajah secara real-time yang dilakukan oleh Muhammad Zufar dan Budi Setiyono (Zufar & Setiyono, 2016).
Penelitian lain juga dilakukan oleh Afrizal Zein (2020) dikembangkan dari hasil gambar x-ray menggunakan algoritma artificial intelligence baru untuk menganalisis CT Scan, yang dicurigai
4 terinfeksi coronavirus ataupun tidak terinfeksi coronavirus dalam 20 detik, dengan tingkat akurasi hingga 92%, pada data pengujian (Zein, 2020).
Penelitian selanjutnya dilakukan oleh Nurmaini et al. (2020) dengan menggunakan pendekatan Artificial Intelligence (AI) dengan platform web cloud mencapai akurasi yang baik pada
model yang dikembangkan sampai dengan 99%. Pendekatan AI dengan arsitektur
Convolutional Neural Network (CNN)
digunakan untuk memprediksi. Hasilnya akan di validasi kembali oleh ahli radiologi untuk memastikan kesesuaian dan ketahanan dari model CNN yang diusulkan. Hasil penelitian awal, sistem mampu mendeteksi CT image yang terinfeksi 2019-nCoV dan mengalami pneumonia dengan akurasi 99%, sensitivitas 98%, spesifisitas 100% dan presisi 100%. Waktu untuk mendeteksi dan memberikan interpretasi image paru-paru apakah terinfeksi atau tidak kira-kira 0.3 detik (Nurmaini, 2020).
William Christanto S (2018) juga telah melakukan penelitian dengan menggunakan convolutional neural network, citra x-ray digunakan sebagai
masukan untuk proses pengolahan citra. Tahapan citra sebelum klasifikasi yaitu
proses pra pengolahan citra (Grayscaling,
Scaling, dan Thresholding). Kemudian
citra diklasifikasi menggunakan CNN setelah dilakukan pengujian didapatkan kesimpulan bahwa metode yang diajukan memiliki kemampuan dalam mengidentifikasi pneumonia yang baik dengan akurasi sebesar 83,3% (Christanto, 2018).
Berdasarkan permasalahan di atas, penulis membangun program yang bertujuan untuk membantu kinerja para tenaga medis khususnya agar dapat membantu dalam proses identifikasi hasil citra x-ray dengan menggunakan proses komputerisasi. Hasil citra x-ray ini dapat mendeteksi pasien yang terjangkit COVID-19 dan membantu pekerjaan para tenaga medis untuk memberikan penanganan yang sesuai kepada pasien yang terinfeksi COVID-19 maupun yang tidak terinfeksi COVID-19.
1.2 Rumusan Masalah
Berdasarkan uraian latar belakang, maka dibuatlah rumusan masalah sebagai berikut:
1. Bagaimana mendeteksi citra x-ray penyakit COVID-19 menggunakan algoritma convolutional neural
5
network dengan deep learning
python?
2. Bagaimana mengidentifikasi perbedaan citra x-ray antara yang terinfeksi COVID-19 dan yang tidak terinfeksi COVID-19? 3. Berapa nilai akurasi yang
dihasilkan dari proses training algoritma convolutional neural
network pada citra x-ray?
1.3 Batasan Masalah
Agar penyusunan penelitian tidak keluar dari pokok permasalahan yang dirumuskan, maka ruang lingkup pembahasan dibatasi pada:
1. Metode pengumpulan data yang digunakan dalam penulisan adalah studi pustaka dan observasi. 2. Citra yang digunakan dalam
penelitian hanya berupa citra x-ray dengan warna grayscale.
3. Resolusi citra yang digunakan berukuran 256 x 256 dengan format Joint Photographic Group (.jpg,), Joint Photographic Experts Group (.jpeg) atau
Portable Network Graphics (.png).
4. Hasil yang didapatkan berupa identifikasi pasien yang terinfeksi
COVID-19 dan yang tidak terinfeksi COVID-19.
1.4 Tujuan Penelitian
Tujuan penelitian ini adalah: 1. Melakukan pendeteksian citra
x-ray penyakit COVID-19 menggunakan algoritma
convolutional neural network
dengan deep learning python. 2. Mengidentifikasi perbedaan citra
x-ray antara yang terinfeksi COVID-19 dan yang tidak terinfeksi COVID-19.
3. Mengetahui nilai akurasi yang dihasilkan dari proses training algoritma convolutional neural
network pada citra x-ray.
2.
METODE PENELITIAN
2.1 Preparing the Dataset
Pada proses preparing the dataset, digunakan untuk pengumpulan data berupa gambar citra x-ray yang dikategorikan sebagai COVID-19 dan Normal. Gabungkan kedua dataset tersebut berdasarkan folder Normal dan COVID-19 dengan sebanyak 450 data, dengan 225 COVID-19 dan 225 Normal seperti pada Gambar 1.
6 Gambar 1. Klasifikasi Dataset
COVID-19 dan Normal
2.2 Preprocessing
Pada tahap preprocessing dilakukan pengolahan data sebagai materi pelatihan oleh model yang akan dibuat dengan menggunakan bahasa python dan menggunakan pustaka OpenCV dalam model Convolutional Neural Network (CNN). Pada preprocessing data dipisahkan menjadi dua yang terdiri dari 0.33 data latih dan 0.67 data uji, pada data latih ini berfungsi untuk memprediksi yang termasuk COVID-19 dan Normal.
2.2.1 Membaca Dataset dengan OpenCV
OpenCV adalah sebuah library
(perpustakaan) yang digunakan untuk mengolah gambar hingga mampu mengekstrak informasi didalamnya. Dataset yang telah diupload di Google Drive kemudian dibaca dengan tools OpenCV yang tersedia pada Python. File yang telah dibaca kemudian disimpan pada variabel X untuk gambar x-ray dan y untuk label ["COVID-19","Normal"].
2.2.2 Resizing
Resizing adalah sebuah tahapan
pengolahan data gambar yang bertujuan untuk mengubah resolusi citra dari ukuran aslinya ke ukuran yang diinginkan.
Resizing ini dilakukan agar data gambar
yang akan diolah pada tahap training dan
testing memiliki ukuran yang sama karena
ukuran tiap gambar yang dikumpulkan memiliki ukuran yang berbeda-beda. Semua data gambar diubah ukurannya menjadi 256 x 256 piksel.
2.3 Architectural Modelling
Tahap architectural modelling yang diperlihatkan pada listing kode dibawah ini dilakukan perancangan arsitektur Convolutional Neural Network (CNN) menggunakan Keras-Python. Pembuatan arsitektur secara bertahap
7 menggunakan metode sekuensial dengan menggunakan ‘add’ untuk menambah setiap layer. Arsitekturnya dibentuk dengan menyesuaikan dimensi gambar masukan, jumlah convolution layers, dan jumlah filter yang digunakan.
Pada penelitian ini, proses pembuatan model latih dibentuk arsitektur
Convolutional Neural Network (CNN)
dengan beberapa lapisan terlihat pada Gambar 2.
Gambar 2. Diagram Alir pada
Architectural Modelling
Pada architectural modelling
menggunakan CNN Keras-Python untuk mengklasifikasikan citra x-ray penyakit COVID-19, sebelum diproses kedalam masing-masing layer dibutuhkan input citra x-ray COVID-19 yang sudah melalui tahap extraksi, setelah itu citra yang diinputkan akan diproses pada layer pertama convolution layer dengan kernel_size(3,3), activation relu dan input shape(256,256,3), selanjutnya output yang didapat pada convolution layer akan dilakukan maxpooling dengan pool_size(2,2) dan stride(2,2), pada layer ini output sebelumnya akan dibagi menjadi beberapa region dan akan dilakukan pooling nilai maksimum pada masing-masing region.
Berikutnya, output akan diproses kembali dengan layer yang sama seperti sebelumnya yaitu convolution layer dan
maxpooling. Lalu, proses dropout yaitu
teknik regularisasi jaringan syaraf tiruan dimana beberapa neuron akan dipilih secara acak dan tidak dipakai selama pelatihan guna mencegah terjadinya
overfitting dan juga mempercepat proses learning dengan menghapus neuron secara
acak sebesar 0.25.
Selanjutnya, proses flatten, data
8 dikonversi menjadi data satu dimensi single vector. Berikutnya proses dense,
dense adalah fungsi untuk menambahkan
layer yang fully connected dengan jumlah node yang harus ada di hidden layer sebanyak 128, nilainya antara jumlah input node dan output node dengan menggunakan fungsi aktivasi ReLu. Lalu dilakukan kembali proses dropout sebesar 0.5. Setelahnya seluruh layer yang dibuat dikoneksikan dengan menggunakan fully
connected layer lalu proses dense dengan
menggunakan dua node dan mengaktifkan fungsi softmax layer dan dapat diklasifikasikan dengan classification layer.
2.3.1 Convolution Layer
Convolution layer berfungsi untuk
mengekstrak filter dari gambar input dan menghasilkan peta 2D atau peta fitur. Filter yang terkandung dalam lapisan lilitan memiliki panjang, tinggi, dan ketebalan sesuai dengan saluran input data. Setiap lapisan konvolusi memiliki kernel lilitan yang digunakan untuk mendapatkan peta fitur. Lapisan konvolusi mengalami kompleksitas model melalui optimalisasi outputnya. Ini dioptimalkan melalui tiga parameter yaitu kedalaman, stride, dan padding. Pemrosesan layer
pertama Conv2D dengan kernel_size(3,3), fungsi aktivasi ReLu dan input shape(256,256,3). Dan akan diproses kembali layer kedua Conv2D dengan kernel_size(3,3).
Dengan 32 filter dapat menyatakan bahwa citra tersebut menggunakan 32 filter acak dari program. Gambar akan memiliki 32 hasil filter. Filter untuk menentukan pola apa yang akan dilakukan selanjutnya, dimana nilai matriks yang ada bergantung pada pola tersebut.
2.3.2 Pooling Layer
Pooling layer digunakan untuk
mengurangi dimensi parameter masukan spasial. Pooling dilakukan secara independen pada setiap depth dimension, oleh karena itu kedalaman gambar tetap tidak berubah. Fungsi pooling layer sama seperti convolution tetapi tidak memiliki kernel. Metode pooling adalah mengurangi jumlah parameter selama proses pelatihan dengan menghitung input maksimum atau rata-rata.
Pada penelitian ini digunakan
MaxPooling. Prosesnya dilakukan dengan
mengambil nilai piksel terbesar dari dimensi yang ditentukan. Maxpooling dengan pool_size(2,2) dan stride(2,2), pada layer ini output sebelumnya akan
9 dibagi menjadi beberapa region dan akan dilakukan pooling nilai maksimum pada masing-masing region.
2.3.3 Dropout Regularization
Dropout adalah teknik regularisasi
jaringan syaraf dimana beberapa neuron akan dipilih secara acak dan tidak dipakai selama pelatihan guna mencegah terjadinya overfitting dan juga mempercepat proses learning dengan menghapus neuron secara acak sebesar 0.25.
2.3.4 Flatten
Flatten Layer digunakan untuk
merapikan dimensi input spasial ke dimensi saluran. Flatten layer yaitu mengubah nilai vektor menjadi bentuk vektor, jadi tidak ada efek pada ukuran batch. Pada proses flatten, data pooling berupa array 2 dimensi kemudian dikonversi menjadi data satu dimensi single vector.
2.3.5 ReLu Activation
Pada proses dense layer adalah perkalian vektor matriks dengan asumsi ukuran batch adalah 1. Nilai dalam matriks adalah parameter yang dapat dilatih dan diperbarui selama backpropagation.
Dense adalah fungsi untuk menambahkan
layer yang fully connected dengan jumlah node yang harus ada di hidden layer sebanyak 128, nilainya antara jumlah input node dan output node dengan menggunakan fungsi aktivasi ReLu. Fungsi ReLu untuk operasi non-linear. Tujuan dari ReLu untuk memperkenalkan
non-linearitas yang berarti dapat dengan
mudah mempropagasi kesalahan dan memiliki beberapa lapisan neuron yang diaktifkan oleh fungsi ReLu di ConvNet.
2.3.6 Fully-Connected Layer
Feature map yang dihasilkan dari feature extraction layer masih berbentuk
multidimensional array, sehingga harus melakukan “flatten” atau reshape feature
map menjadi sebuah vektor agar bisa
digunakan sebagai input dari
fully-connected layer.
2.3.7 Softmax
Softmax berfungsi untuk mengklasifikasikan lebih dari dua kelas,
softmax memungkinkan untuk menghitung probabilitas untuk semua label.
2.4 Training Dataset
10 melakukan tahap preparing the dataset,
preprocessing dan architectural modelling, maka langkah selanjutnya
adalah training dataset. Training dataset adalah sebuah proses untuk menurunkan nilai dari loss function yang digunakan untuk menghasilkan nilai loss function dalam pelatihan ini adalah cross-entropy. Untuk fungsi optimizer nya digunakan fungsi Stochastic Gradient Descent (SGD) yang berguna untuk proses training berjalan lebih cepat dengan menginisialisasi nilai pembelajaran dari model. Gambar 3 menunjukkan proses
training dataset.
Gambar 3. Proses Training Dataset Berikut detail dari argumen yang
digunakan untuk training dataset 1. Optimizer = SGD
2. Loss = cross-entropy 3. Learning rate = 0.01 4. Epoch = 25
5. Batch_Size = 32
Proses training dataset merupakan inisialisasi dari beberapa hyperparameter seperti optimizer, loss, learning rate,
epoch, decay dan batch size. Optimizer
berfungsi untuk melatih model pembelajaran mesin guna meminimalkan tingkat kesalahan. Loss berfungsi untuk menghitung nilai error atau kesalahan model CNN selama proses training.
Learning rate adalah untuk menyatakan
kecepatan optimasi dari error rate dan ukuran batch untuk menentukan jumlah gambar yang digunakan untuk melewati jaringan CNN. Menormalkan intensitas piksel dataset adalah 0-1 sehingga intensitas piksel menjadi satu ukuran dan memiliki range yang sama. Sehingga mempercepat model dalam melakukan pelatihan.
Epoch adalah iterasi untuk training dataset, proses training dataset akan
11 ‘epoch’. Dalam penelitian ini nilai variabel ‘epoch’ sebanyak 25. Decay adalah hasil pembagian dari learning rate dibagi dengan epochs.
Setelah proses training selesai dilakukan, tahap berikutnya adalah menyimpan model dan bobot yang telah terbentuk dari proses training. Dalam penelitian ini model disimpan dalam format file h5.
2.5 Testing Program
Testing program dilakukan setelah
proses training dataset. Testing program ini berfungsi untuk mengidentifikasi apakah model klasifikasi citra x-ray penyakit COVID-19 dapat berjalan dengan baik atau tidak pada program. Proses testing program pada CNN terdiri atas beberapa tahapan yang dapat dilihat pada Gambar 4.
Gambar 4. Proses Testing Program Langkah berikutnya adalah evaluasi dengan beberapa teknik seperti confusion
matrix, precision, recall dan f1-score.
2.6 Perancangan Tampilan Aplikasi Desain utama aplikasi ini adalah klasifikasi citra X-ray penyakit COVID-19. Pada interface aplikasi terdapat beberapa komponen yang digunakan seperti label yang berfungsi untuk menunjukkan hasil dari prediksi klasifikasi citra X-ray penyakit COVID-19, canvas berfungsi untuk menampilkan gambar yang dipilih untuk mendeteksi COVID-19 atau Normal. Button yang berfungsi untuk button ‘Select & Process’ untuk memilih dan memproses gambar yang hendak dipilih, lalu button ‘Clear’ yang berfungsi untuk membersihkan
canvas dan label. Berikut rancangan
tampilan utama aplikasi klasifikasi penyakit COVID-19 pada Gambar 5 dan rancangan tampilan prediksi pada Gambar 6.
12 Gambar 5. Rancangan Tampilan
Utama
Gambar 6. Rancangan Tampilan Prediksi
3.
PEMBAHASAN
3.1 Uji Coba
Aplikasi telah dibuat, maka langkah selanjutnya adalah melakukan uji coba terhadap aplikasi untuk mengetahui apakah aplikasi dapat menjalankan fungsinya sesuai dengan rancangan yang
telah dibuat.
3.1.1 Uji Coba Model
Pada tahap ini membahas hasil uji coba dari model yang sudah dilatih. Pertama ditampilkan hasil pelatihan model. Kemudian, hasil uji coba model dengan data uji akan diproses dengan
confusion matrix untuk mengukur seberapa banyak model berhasil memprediksi dengan benar semua deteksi COVID-19 dan berapa banyak jumlah data yang salah diprediksi oleh model. Kemudian terdapat classification report yang akan menunjukkan skor precision,
recall, dan f1-score. Hasil pelatihan model
dapat dilihat pada Gambar 7.
Gambar 7. Hasil Pelatihan Model
Berdasarkan hasil pelatihan dengan menggunakan data latih sebesar 0.33 (301 data latih) dan 0.67 data uji (149 data uji).
13 Epochs yang diberikan sebanyak 25 dengan menghasilkan skor akurasi sebesar 0.9668 dan loss sebesar 0.0856, sedangkan pada data validasi didapatkan akurasi sebesar 0.9530 dan loss sebesar 0.1284. Hasil dari classification report dapat dilihat pada Gambar 8 dan confusion
matrix dapat dilihat pada Gambar 9.
Gambar 8. Classification Report pada Data Validasi
Pada hasil classification report
menggunakan 149 data uji didapatkan tingkat akurasi sebesar 0.9530 (95.30%) yang dihitung berdasarkan persamaan 1.
Gambar 9. Confusion Matrix
Accuracy = 75 + 67
75 + 4 + 3 + 67∗ 100 = 0,9530201342 = 95,30%
(1) Pengukuran presisi dihitung berdasarkan persamaan 2 dan persamaan 3.
1. Presisi Covid 75 75 + 3 = 0.961 ~ 0.96 (2) 2. Presisi Normal 67 67 + 4 = 0.943~ 0.94 (3)
Pengukuran recall dihitung berdasarkan persamaan 4 dan persamaan 5.
1. Recall Covid 75 75 + 4 = 0.949 ~ 0.95 (4) 2. Recall Normal 67 67 + 3 = 0.957 ~ 0.96 (5)
Pengukuran f1-score dihitung berdasarkan persamaan 6 dan persamaan 7.
1. F1-Score Covid 2 ∗ (0.96 ∗ 0.95)
(0.96 + 0.95) = 0.955 ~ 0.96 (6)
14 2. F1-Score Normal
2 ∗ (0.96 ∗ 0.95)
(0.96 + 0.95)= 0.955 ~ 0.96 (7)
3.1.2 Uji Coba Aplikasi
Pada tahap uji coba adalah menggunakan metode black box.
Pengujian black box ini memfokuskan untuk pengujian perangkat lunak pada kebutuhan fungsional dari aplikasi. Hasil pengujian dapat dilihat pada Tabel 1.
Tabel 1 Pengujian Black Box
Uji Kasus Skenario Uji Coba Hasil yang
Diharapkan
Hasil yang Diperoleh
Hasil Uji
Training Training Model
menggunakan Convolutional Neural Network (CNN) Sukses dengan akurasi > 80 % Sukses dengan akurasi sebesar 95.30 % Sukses Membuka aplikasi deteksi COVID-19 Membuka dan menjalankan aplikasi deteksi COVID-19 Aplikasi dapat dibuka dengan lancar Aplikasi dapat dibuka dengan lancar Sukses Deteksi COVID-19 Mendeteksi COVID-19 Aplikasi menghasilkan output berupa COVID-19 atau NORMAL Berhasil mendeteksi COVID-19 atau NORMAL Sukses Tombol Select & Process Memilih, memproses dan menampilkan hasil deteksi COVID-19 Menampilkan hasil deteksi COVID-19 Berhasil menampilkan hasil
deteksi COVID-19 Sukses
Tombol Clear Mengosongkan
canvas, text area dan label hasil deteksi
COVID-19
Berhasil mengosongkan
canvas, text area
dan label hasil deteksi COVID-19
Berhasil mengosongkan
canvas, text area
dan label hasil deteksi COVID-19
15 Berikut ini merupakan langkah-langkah untuk uji coba aplikasi:
1. Buka aplikasi dengan menjalankan file GuiDeteksiCovid.py sehingga muncul tampilan awal aplikasi seperti pada Gambar 10.
Gambar 10. Tampilan Awal Aplikasi
2. Pilih ‘Select & Process’ untuk melakukan pencarian gambar yang akan dideteksi. Selanjutnya tekan salah satu gambar yang akan di uji coba dan klik open. Hasilnya tampak pada Gambar 11.
Gambar 11. Search Gambar yang Dipilih
3. Tampilan hasil deteksi COVID-19 yang teridentifikasi Normal dapat dilihat pada Gambar 12 dan hasil deteksi COVID-19 yang teridentifikasi COVID-19 dapat dilihat pada Gambar 13. Setelah berhasil menjalankan aplikasi, pengguna dapat memasukkan gambar yang akan diklasifikasi, kemudian hasil akan muncul pada bagian bawah text ‘Prediction Results’. Jika pengguna ingin memasukkan gambar lainnya untuk dideteksi, maka pengguna dapat menekan tombol ‘clear’ yang secara otomatis mengosongkan text area, canvas dan kolom hasil klasifikasi.
Gambar 12. Hasil Deteksi COVID-19 yang Normal
16 Gambar 13. Hasil Deteksi COVID-19
yang terinfeksi Covid-19
Gambar 14. Perbedaan Hasil Deteksi Normal dan COVID-19
Pada Gambar 14 terdapat perbedaan hasil deteksi yang normal dan yang teridentifikasi COVID-19. Pada gambar terlihat perbedaan secara kasat mata mana gambar yang normal dan yang teridentifikasi COVID-19, pada gambar yang normal terlihat gambar citra x-ray paru-paru terlihat jelas susunan rongga dadanya. Sedangkan pada gambar citra
x-ray paru-paru yang terkena COVID-19
terdapat bercak-bercak putih yang mengidentifikasi bahwa pasien terkena COVID-19.
Selanjutnya, melakukan uji coba deteksi COVID-19 yang dimasukkan ke aplikasi. Hasil dari uji coba dapat dilihat pada Tabel 2.
Tabel 2 Hasil Uji Coba Deteksi COVID-19
No .
Gambar Hasil Keterang an 1. COVI D-19 Benar 2. NOR MAL Benar 3. NOR MAL Benar 4. COVI D-19 Benar 5. NOR MAL Benar 6. COVI D-19 Benar 7. NOR MAL Benar
17 8. COVI D-19 Benar 9. NOR MAL Benar 10. COVI D-19 Benar 11. NOR MAL Benar 12. COVI D-19 Benar 13. NOR MAL Benar 14. COVI D-19 Benar 15. NOR MAL Benar 16. COVI D-19 Benar 17. NOR MAL Benar 18. COVI D-19 Benar 19. NOR MAL Benar 20. COVI D-19 Benar
4.
PENUTUP
4.1 KesimpulanPenelitian ini menggunakan metode Convolutional Neural Network (CNN) untuk mendeteksi citra x-ray penyakit Covid-19 dengan dataset yang digunakan sejumlah 450 data, dengan data latih sebesar 301 dan data uji sebesar 149. Citra yang digunakan memiliki ukuran piksel yang sama yaitu 256x256 piksel. Metode CNN menggunakan library Keras dengan model sequential. Pada
convolutional layer, kernel size yang
digunakan berukuran 3x3 dengan activation ReLu. Pooling layer yang digunakan adalah maxpooling dengan
18 filter 2x2.
Model yang dilakukan untuk proses menggunakan dropout rate sebesar 0.25, batch size sebesar 25 dan menjadikan
flatten untuk proses klasifikasi dari fully connected layer. Classifier yang digunakan berupa softmax dengan dense 2 yaitu 0 atau 1 (Covid-19 atau Normal). Pelatihan model dengan menggunakan 25 epochs dan mendapatkan hasil data latih yaitu akurasi sebesar 0.9668 dan loss sebesar 0.0856, sedangkan pada data validasi mendapatkan hasil akurasi sebesar 0.9530 dan loss sebesar 0.1284. Perhitungan yang dilakukan dengan
confusion matrix mendapatkan akurasi
hasil training sebesar 95.30% pada data uji. Uji coba pada aplikasi menggunakan 20 citra ray yang terdiri dari 10 citra
x-ray yang terinfeksi Covid-19 dan 10 citra x-ray yang normal. Hasil uji coba tersebut
menunjukkan bahwa semua citra x-ray menunjukkan hasil yang benar.
4.2 Saran
Dataset yang digunakan masih sedikit jumlahnya, sehingga pengembangan selanjutnya dapat menambahkan dataset citra x-ray Covid-19 dan citra x-ray Normal. Dapat juga ditambahkan dengan data real-time.
Aplikasi deteksi Covid-19 ini dapat dikembangkan lebih lanjut dengan menggunakan arsitektur model kerja lainnya, sehingga memiliki optimasi tingkat akurasi yang lebih baik.
DAFTAR PUSTAKA
[1] Abbas, A., Abdelsamea, M. M., & Gaber, M. M. (2020). Classification of
COVID-19 in chest X-ray images using DeTraC deep convolutional
neural network. Dari
http://arxiv.org/abs/2003.13815. [2] Ahmad, A. (n.d.). Mengenal Artificial
Intelligence, Machine Learning, Neural Network, dan Deep Learning.
[3] Akmal, Zamroni.”Lebih Dekat
dengan Industri 4.0”, Vol 29, No 1, (2004) ISSN: 978-623-209-811-4. [4] Christanto, W. (2018). Klasifikasi
Pneumonia Menggunakan
Convolutional Neural Network.
[5] Cicuttin, A., Crespo, M. L., Mannatunga, K. S., Garcia, V. V., Baldazzi, G., Rignanese, L. P., Ahangarianabhari, M., Bertuccio, G., Fabiani, S., Rachevski, A., Rashevskaya, I., Vacchi, A., Zampa, G., Zampa, N., Bellutti, P., Picciotto, A., Piemonte, C., & Zorzi, N. (2016). A programmable System-on-Chip based digital pulse processing for high resolution X-ray spectroscopy. 2016
19
International Conference on
Advances in Electrical, Electronic and Systems Engineering, ICAEES 2016,
15, 520–525. Dari
https://doi.org/10.1109/ICAEES.2016 .7888100.
[6] Danukusumo, Kefin Pudi. 2017.
“Implementasi Deep Learning
Menggunakan Convolutional Neural Network Untuk Klasifikasi Citra Candi Berbasis GPU”.
[7] Eka Putra, W. S. (2016). Klasifikasi Citra Menggunakan Convolutional Neural Network (CNN) pada Caltech 101. Jurnal Teknik ITS, 5(1). Dari https://doi.org/10.12962/j23373539.v 5i1.15696.
[8] Hariyani, Y. S., Hadiyoso, S., & Siadari, T. S. (2020). Deteksi Penyakit Covid-19 Berdasarkan Citra X-ray
Menggunakan Deep Residual
Network. ELKOMIKA: Jurnal Teknik
Energi Elektrik, Teknik
Telekomunikasi, & Teknik
Elektronika, 8(2), 443.
[9] Khan, A. I., Shah, J. L., & Bhat, M. M. (2020). CoroNet: A deep neural network for detection and diagnosis of COVID-19 from chest x-ray images.
Computer Methods and Programs in
Biomedicine, 196. Dari
https://doi.org/10.1016/j.cmpb.2020.1 05581.
[10] Le Cun, Y., Boser, B., Denker, J. S., Henderson, D., Howard, R. E., Hubbard, W., and Jackel, L. D. (1990a). Back-Propagation Applied to Handwritten Zipcode Recognition. Neural Computation, 1(4).
[11] Le Cun, Y., Denker, J. S., Solla, S., Howard, R. E., and Jackel, L. D. (1990b). Optimal Brain Damage. In Touretzky, D., editor, Neural Information Processing Systems, volume 2, Denver, 1989. Morgan Kaufman.
[12] Mitchell, T. M. (1997). Machine Learning. New York: McGraw-Hill. [13] Narin, A., Kaya, C., & Pamuk, Z.
(2020). Automatic Detection of Coronavirus Disease (COVID-19) Using X-ray Images and Deep Convolutional Neural Networks.
ArXiv Preprint ArXiv:2003.10849.
Dari https://arxiv.org/abs/2003.10849 [14] Nasri. (2014). Kecerdasan buatan ( Artificial Intelligence ). Artificial
Intelligence, 1(2), 1–10.
[15] PerhimpunanDokterParuIndonesia.(2 020).PanduanPraktikKlinis:Pneumoni a2019-nCoV. PDPI:Jakarta.
[16] Peryanto, A., Yudhana, A., & Umar, R. (2020). Klasifikasi Citra Menggunakan Convolutional Neural Network dan K Fold Cross Validation.
Journal of Applied Informatics and Computing (JAIC), 4(1), 45–51.
20
[17] Suartika, I. W., et.al. 2016. Klasifikasi Citra Menggunakan Convolutional Neural Network (CNN) pada Caltect 101. Jurnal Teknik ITS Vol. 5, No. 1, (2016) ISSN: 2337-3539.
[18] Susilo, A., Rumende, C. M., Pitoyo, C. W., Santoso, W. D., Yulianti, M., Sinto, R., Singh, G., Nainggolan, L., Nelwan, E. J., Khie, L., Widhani, A., Wijaya, E., Wicaksana, B., Maksum, M., Annisa, F., Jasirwan, O. M., Yunihastuti, E., Penanganan, T., New, I., Cipto, R. (2020). Coronavirus Disease 2019 : Tinjauan Literatur Terkini Coronavirus Disease 2019 : Review of Current Literatures. Jurnal
Penyakit Dalam Indonesia, 7(1), 45–
67.
[19] Swastika, W. (2020). Studi Awal Deteksi Covid-19 Menggunakan Citra Ct Berbasis Deep Preliminary Study of Covid-19 Detection Using Ct Image Based on. Jurnal Teknologi
Informasi Dan Ilmu Komputer, 7(3),
629–634. Dari
https://doi.org/10.25126/jtiik.202073 399.
[20] Zein, A. (2020). PENDETEKSIAN
VIRUS CORONA DALAM GAMBAR
X-RAY MENGGUNAKAN
ALGORITMA ARTIFICIAL
INTELLIGENCE DENGAN DEEP LEARNING PYTHON. XV(01), 19–
23.
[21] Zufar, M., & Setiyono, B. (2016). Convolutional Neural Networks Untuk Pengenalan Wajah Secara Real-time. Jurnal Sains Dan Seni ITS,