of 64 /64
i Kode/Nama Rumpun Ilmu : 458/Teknik LAPORAN AKHIR PENELITIAN DOSEN PEMULA PENERAPAN DEEP LEARNING PADA APLIKASI PREDIKSI PENYAKIT PNEUMONIA BERBASIS CONVOLUTIONAL NEURAL NETWORKS Tahun ke 1 dari rencana 1 tahun TIM PENGUSUL Agung Pedananto, S.Kom., M.Kom. 0428088701 (Ketua) Achmad Udin Zailani, S.Kom., M.Kom 0429058303 (Anggota) Dibiyai oleh : Direktorat Riset Dan Pengabdian Masyarakat Direktorat Jendral Penguatan Riset Dan Pengembangan Kementrian Riset, Teknologi, dan Pendidikan Tinggi Sesuai Dengan Kontrak Penelitian Nomer : 189/A5/SPKP/LPPM/UNPAM/III/2019 UNIVERSITAS PAMULANG TANGERANG SELATAN November, 2019

Kode/Nama Rumpun Ilmu : 458/Teknik LAPORAN AKHIR

  • Author
    others

  • View
    9

  • Download
    0

Embed Size (px)

Text of Kode/Nama Rumpun Ilmu : 458/Teknik LAPORAN AKHIR

PENYAKIT PNEUMONIA BERBASIS CONVOLUTIONAL NEURAL
NETWORKS
TIM PENGUSUL
Achmad Udin Zailani, S.Kom., M.Kom 0429058303 (Anggota)
Dibiyai oleh :
Direktorat Jendral Penguatan Riset Dan Pengembangan
Kementrian Riset, Teknologi, dan Pendidikan Tinggi
Sesuai Dengan Kontrak Penelitian
dunia. Badan Kesehatan Dunia (WHO) memperkirakan bahwa penyakit ini memicu
15% dari seluruh kematian anak-anak di bawah usia 5 tahun (WHO, 2015). Dalam
mengenali foto rontgen terdapat banyak metode yang bisa diimplementasikan.
Salah satu dari implementasinya adalah dengan menggunakan Convolutional
Neural Network (CNN). Convolutional Neural Network atau yang biasa disebut
CNN merupakan bagian dari Deep Learning yang melakukan proses pembelajaran
untuk mencari representasi terbaik. Dengan Menggunakan model tersebut yang
diimplementasikan dengan aplikasi web didapatkan hasil akurasi sebesar 75% dari
uji acak yang dilakukan dengan menggunakan data yang berbeda dari data training.
Kata kunci: Pneumonia, Deep Learning, Convolutional Neural Networks, Pooling
iv
KATA PENGANTAR
Puji dan syukur penulis panjat kepada Allah SWT yang telah memberikan rahmat
dan hidayah-Nya sehingga penulis dapat menyelesaikan Penelitian Dosen Pemula
berjudul “PENERAPAN DEEP LEARNING PADA APLIKASI PREDIKSI
PENYAKIT PNEUMONIA BERBASIS CONVOLUTIONAL NEURAL
NETWORKS”. Penulis menyadari bahwa penulisan Penelitian Dosen Pemula
dengan Hibah Ristekdikti ini tidak lepas dari bimbingan, dorongan dan bantuan dari
berbagai pihak. Pada kesempatan ini penulis menyampaikan banyak terima kasih
dan penghargaan yang setinggi-tingginya kepada:
1. Dr. HC. Drs. H. Darsono, selaku Ketua Yayasan Sasmita Jaya.
2. Dr. H. Dayat Hidayat, M.M. selaku Rektor Universitas Pmulang.
3. Dr. Ali Maddinsyah, S.E., M.M. Selaku ketua LPPM
4. Semua pihak yang telah membantu penulis yang tidak bisa penulis sebutkan
satu persatu, terima kasih atas bantuan, dorongan dan semangatnya.
Penulis menyadari sepenuhnya bahwa dalam melakukan penulisan laporam
penelitian ini masih banyak terdapat kekurangan dan ketidaksempurnaan, untuk itu
penulis mengharapkan kritik dan saran yang membangun demi kesempurnaan
penulisan ini. Semoga tulisan ini bermanfaat bagi penulis khususnya dan para
pembaca pada umumnya.
2.1 Kecerdasan Buatan ................................................................................... 4
2.1.1 Machine Learning ............................................................................. 6
2.1.2 Deep Learning ................................................................................... 9
2.1.3 Neural Network ............................................................................... 10
2.7.2 Teori Dasar Pengolahan Citra Digital ............................................. 30
vi
3.1 Tujuan Penelitian .................................................................................... 32
3.2 Manfaat Penelitian ................................................................................. 32
4.1 Analisa Kebutuhan ..................................................................................... 33
4.3 Model Yang Digunakan ......................................................................... 40
4.3.1 Model 1 ........................................................................................... 40
4.3.2 Model 2 ................................................................................................ 42
5.1 Proses Pengolahan Citra ......................................................................... 43
5.2 Hasil Penelitian ....................................................................................... 43
5.3 Pembahasan ............................................................................................... 44
5.3.2 Training Model .................................................................................... 44
5.3.3 Testing Model ...................................................................................... 45
BAB VI RENCANA TAHAP BERIKUTNYA .................................................... 49
BAB VII KESIMPULAN DAN SARAN ............................................................. 50
7.1 Kesimpulan ............................................................................................. 50
Tabel 2.2 Frekuensi Gejala ................................................................................... 20
Tabel 4.1 Hardware ............................................................................................... 33
Tabel 4.2 Software ................................................................................................ 33
Pneumonia merupakan pembunuh utama anak dibawah usia lima tahun
(Balita) di dunia, lebih banyak dibandingkan dengan penyakit lain seperti AIDS,
Malaria dan Campak. Namun, belum banyak perhatian terhadap penyakit ini. Di
dunia, dari 9 juta kematian Balita lebih dari 2 juta Balita meninggal setiap tahun
akibat pneumonia atau sama dengan 4 Balita meninggal setiap menitnya. Dari lima
kematian Balita, satu diantaranya disebabkan pneumonia. Di Indonesia
menunjukkan; prevalensi nasional ISPA: 25,5% (16 provinsi di atas angka
nasional), angka kesakitan (morbiditas) pneumonia pada Bayi: 2.2 %, Balita: 3%,
angka kematian (mortalitas) pada bayi 23,8%, dan Balita 15,5% (Riset Kesehatan
Dasar, 2007) . Pneumonia merupakan salah satu penyebab kematian anak-anak
tertinggi di dunia. Badan Kesehatan Dunia (WHO) memperkirakan bahwa penyakit
ini memicu 15% dari seluruh kematian anak-anak di bawah usia 5 tahun (WHO,
2015). Pada tahun 2015, terdapat lebih dari 900.000 anak-anak yang meninggal
akibat pneumonia. Di Indonesia sendiri, pneumonia diperkirakan telah merenggut
sekitar 25.000 jiwa balita pada tahun 2013. Pneumonia sendiri bisa jadi infeksi
paru-paru biasa tapi kadang kala bisa mematikan. Pneumonia bisa terjadi karena
berbagai organisme, pneumonia karena bakteri atau virus. Upaya pemerintah dalam
menekan angka kematian akibat pneumonia diantaranya melalui penemuan kasus
pneumonia Balita sedini mungkin di pelayanan kesehatan dasar, penatalaksanaan
kasus dan rujukan. Adanya keterpaduan dengan lintas program melalui pendekatan
MTBS di Puskesmas serta penyediaan obat dan peralatan untuk Puskesmas
Perawatan dan di daerah terpencil.
Menurut Menkes, pengendalian penyakit ISPA memiliki kendala
diantaranya cakupan penemuan masih sangat rendah akibat tingginya mutasi tenaga
kesehatan. Selain itu pengendalian pneumonia bukan program prioritas karena di
beberapa daerah anggaran untuk pneumonia jumlahnya tidak memadai bahkan
tidak ada sama sekali. Untuk pneumonia karena bakteri kita punya pilihan
2
pengobatan yang lebih banyak. Jadi dapat dikatakan bahwa lebih baik terkena
pneumoia karena bakteri. Sedangkan pneumonia karena virus, kita semua pernah
mendengar mengenai flu. Flu adalah proses infeksi sangat umum yang
menyebabkan pneumonia. Dan kita tidak punya banyak pilihan untuk
mengobatinya (Dr. Matthew Schreiber, spesialis penyakit paru-paru di RS Medstar
Washington). Dengan melihat permasalahan yang ditemukan di atas, penulis
tertarik untuk melaksanakan penelitian yang berjudul “Penerapan deep learning
pada Aplikasi prediksi penyakit Pneumonia berbasis Convolutional Neural
networks”. Dengan harapan penelitian ini memberikan solusi pemecahan masalah
dan juga membantu mempercepat diagnosis.
1.2 Rumusan Masalah
Atas dasar latar belakang dan identifikasi masalah diatas, maka dapat
dirumuskan “bagaimana kita bisa menerapkan deep learning pada prediksi
penyakit pneumonia menggunakan convolutional neural networks sehingga mampu
mengatasi permasalahan yang ada?
ketersediaan data, dana dan lebih terarah, maka penelitian hanya menekankan pada:
a. Alat diagnostic yang berdasarkan kerangka kerja
b. Kerangka hanya memanfaatkan pembelajaran transfer
c. Pendekatan ke dataset
pneumonia dengan menggunakan algoritma convolutional neural networks . Sistem
ini pada akhirnya dapat membantu mempercepat diagnosis dan rujukan kondisi
yang dapat diobati ini, dengan demikian memfasilitasi pengobatan lebih dini,
menghasilkan hasil klinis yang lebih baik
1.5 Metode Penelitian
Metode penelitian terdiri dari dua macam, yaitu metode pengumpulan data
dan metode pengembangan sistem:
yang menjadi referensi, serta pencarian informasi lainnya yang dapat
mendukung proses penelitian yang bersumber dari media internet
guna memperoleh data-data tambahan.
cara melakukan pengamatan atau peninjauan langsung terhadap
obyek penelitian.
c. Evaluasi
dicapai dibandingkan dengan seperangkat keberhasilan yang
diharapkan. Perbandingan ini kemudian dilanjutkan dengan
pengidentifikasian faktor-faktor yang berpengaruh pada kegagalan
dan keberhasilan.
adalah metode Algoritma Convolutional Neural Networks, yang memiliki
tahaptahap sebagai berikut:
b. Validasi
c. Evaluasi
sistem yang bisa diatur dalam konteks ilmiah atau Intelegensi Artifisial
(bahasa Inggris: Artificial Intelligence atau hanya disingkat AI) didefinisikan
sebagai kecerdasan entitas ilmiah. Sistem seperti ini umumnya dianggap
komputer. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin
(komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan
manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan
antara lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan
saraf tiruan dan robotika.
Secara garis besar, AI terbagi ke dalam dua paham pemikiran yaitu AI
Konvensional dan Kecerdasan Komputasional (CI, Computational
Intelligence). AI konvensional kebanyakan melibatkan metode-metode yang
sekarang diklasifiksikan sebagai pembelajaran mesin, yang ditandai dengan
formalisme dan analisis statistik. Dikenal juga sebagai AI simbolis, AI logis,
AI murni dan AI cara lama (GOFAI, Good Old Fashioned Artificial
Intelligence). Metodemetodenya meliputi:
kesimpulan. Sebuah sistem pakar dapat memproses sejumlah besar informasi
yang diketahui dan menyediakan kesimpulan-kesimpulan berdasarkan pada
informasi-informasi tersebut.
3. Jaringan Bayesian
4. AI berdasar tingkah laku: metode modular pada pembentukan sistem AI secara
manual
pembelajaran iteratif (misalnya penalaan parameter seperti dalam sistem
koneksionis. Pembelajaran ini berdasarkan pada data empiris dan
diasosiasikan dengan AI nonsimbolis, AI yang tak teratur dan perhitungan
lunak. Metode-metode pokoknya meliputi:
1. Jaringan Saraf: sistem dengan kemampuan pengenalan pola yang sangat
kuat
telah digunakan secara meluas dalam industri modern dan sistem kendali
produk konsumen.
3. Komputasi Evolusioner: menerapkan konsep-konsep yang terinspirasi
secara biologis seperti populasi, mutasi dan “survival of the fittest” untuk
menghasilkan pemecahan masalah yang lebih baik.
Metode-metode ini terutama dibagi menjadi algoritme evolusioner
(misalnya algoritme genetik) dan kecerdasan berkelompok (misalnya
algoritme semut)
menggabungkan kedua kelompok ini. Aturan inferensi pakar dapat
dibangkitkan melalui jaringan saraf atau aturan produksi dari pembelajaran
statistik seperti dalam ACT-R. Sebuah pendekatan baru yang menjanjikan
disebutkan bahwa penguatan kecerdasan mencoba untuk mencapai kecerdasan
buatan dalam proses pengembangan evolusioner sebagai efek samping dari
penguatan kecerdasan manusia melalui teknologi.
Gambar 2.1 Contoh A.I.
memungkinkan komputer untuk mengembangkan perilaku yang didasarkan
pada data empiris, seperti dari sensor data basis data. Sistem pembelajar dapat
memanfaatkan contoh (data) untuk menangkap ciri yang diperlukan dari
probabilitas yang mendasarinya (yang tidak diketahui). Data dapat dilihat
sebagai contoh yang menggambarkan hubungan antara variabel yang diamati.
Fokus besar penelitian pembelajaran mesin adalah bagaimana mengenali
secara otomatis pola kompleks dan membuat keputusan cerdas berdasarkan
data. Kesukarannya terjadi karena himpunan semua peri laku yang mungkin,
dari semua masukan yang dimungkinkan, terlalu besar untuk diliput oleh
himpunan contoh pengamatan (data pelatihan). Karena itu pembelajar harus
merampatkan (generalisasi) perilaku dari contoh yang ada untuk
menghasilkan keluaran yang berguna dalam kasus-kasus baru.
Mesin disini adalah mesin dalam pengertian lebih mendekati ‘sistem’
bukan mesin mekanik. Istilah pembelajaran pertama kali muncul dalam
disiplin ilmu kecerdasan buatan. Pembelajaran berarti menambah
pengetahuan, memahami dengan belajar, mengikuti perintah. Pembelajaran
mesin merupakan salah satu cabang dari kecerdasan buatan yang membahas
mengenai pembangunan sistem yang didapat berdasarkan pada pembelajaran
data, atau sebuah studi yang mempelajari cara untuk memprogram sebuah
komputer untuk belajar. Inti dari pembelajaran mesin adalah representasi dan
generalisasi. Pada tahun 1959, Arthur Samuel mendefinisikan bahwa
pembelajaran mesin adalah bidang studi yang memberikan kemampuan untuk
belajar tanpa diprogram secara eksplisit. Kemampuan belajar yang menjadi
dominan ditentukan oleh kemampuan perangkat lunak atau alogaritmanya.
Implementasi kemampuan belajar dapat dicapai dengan berbagai teknik, ada
yang menggunakan kaidah (rule), ada yang menggunakan statistika, ada yang
menggunakan pendekatan fisiologi yaitu sistem saraf manusia atau disebut
dengan ANN (Artificial Neural Network) atau jaringan saraf tiruan.
1. Supervised Learning
dimana jika output yang diharapkan telah diketahui sebelumnya. Biasanya
pembelajaran ini dilakukan dengan menggunakan data yang telah ada. Pada
metode ini, setiap pola yang diberikan kedalam jaringan saraf tiruan telah
diketahui outputnya. Satu pola input akan diberikan ke satu neuron pada
lapisan input. Pola ini akan dirambatkan di sepanjang jaringan syaraf hingga
sampai ke neuron pada lapisan output. Lapisan output ini akan
membangkitkan pola output yang nantinya akan dicocokkan dengan pola
output targetnya. Nah, apabila terjadi perbedaan antara pola output hasil
pembelajaran dengan pola output target, maka akan muncul error. Dan apabila
nilai error ini masih cukup besar, itu berarti masih perlu dilakukan
pembelajaran yang lebih lanjut. Contoh algoritma jaringan saraf tiruan yang
mernggunakan metode supervised learning adalah hebbian (hebb rule),
perceptron, adaline, boltzman, hapfield, dan backpropagation.
2. Unsupervised Learning
dimana tidak memerlukan target output. Pada metode ini tidak dapat
ditentukan hasil seperti apa yang diharapkan selama proses pembelajaran, nilai
bobot yang disusun dalam proses range tertentu tergantung pada nilai output
yang diberikan. Tujuan metode uinsupervised learning ini agar kita dapat
mengelompokkan unit-unit yang hampir sama dalam satu area tertentu.
Pembelajaran ini biasanya sangat cocok untuk klasifikasi pola. Contoh
algoritma jaringan saraf tiruan yang menggunakan metode unsupervised ini
8
neocognitron.
apa yang dilakukan, dan sebagai umpan balik bagaimana memetakan
perubahan situasi lingkungan terhadap aksi yang dilakukan untuk
memaksimalkan keuntungan. Model proses pembelajar ini tidak harus
mendikte aksi yang mana yang harus dilakukan dulu seperti umumnya pada
model mesin learning. Tetapi sistem harus menjelajahi dulu seluruh aksi yang
mana yang menghasilkan reward terbesar dengan cara mencobanya dan
mengerjakannya, seperti yang dituliskan oleh Humphrys (1997).
Prinsip yang digunakan dalam metode ini didasarkan pada teori
reinforcement yang pada intinya adalah ‘konsekuensi mempengaruhi
tindakan’. Ada 3 prinsip dasar pada teori reinforcement yakni (Tadepalli et al,
1998;).
3. Konsekuensi yang tidak ada dampaknya tidak memperngaruhi tindakan.
Dengan kata lain, setiap tindakan mengarah pada konsekuensi baik,
buruk, atau tidak ada konsekuensi sama sekali. Dan konsekuensi tersebut akan
menjadi penyebab terjadi atau tidaknya sebuah tindakan atau kondisi.
Tindakan dan konsekuensi yang diterapkan berbeda-beda dan harus
disesuaikan dengan kasus yang bersangkutan agar dapat berfungsi secara
efektif.
learning dan Reinforcement learning sebagai berikut:
Tabel 2.1 Perbedaan Jenis-Jenis Learning
Perbedaan Supervised
9
tindakan yang dianggap alami oleh manusia, misalnya belajar dari contoh.
Dalam Deep Learning, sebuah komputer belajar mengklasifikasi secara
langsung dari gambar, teks atau suara.
Deep Learning adalah teknik dalam neural network yang menggunakan
teknik tertentu seperti Restricted Boltzmann Machine (RBM) untuk
mempercepat proses pembelajaran dalam Neural Network yang
menggunakan lapis yang banyak. Lapisan pada Deep Learning terdiri atas
tiga bagian yaitu input layer, hidden layer dan output layer. Input layer berisi
node-node yang masing-masing menyimpan sebuah nilai masukan yang tidak
berubah pada fase latih dan hanya bisa berubah jika diberikan nilai masukan
baru. Pada hidden layer dapat dibuat berlapis-lapis untuk menemukan
komposisi algoritma yang tepat agar meminimalisir error pada output.
Kemudian output layer berfungsi untuk menampilkan hasil perhitungan
sistem oleh fungsi aktivasi pada lapisan hidden layer berdasarkan input yang
diterima. Penambahan lebih banyak lapisan menjadikan model pembelajaran
yang bisa mewakili citra berlabel dengan lebih baik. Aplikasi konsep Jaringan
Saraf Tiruan yang lebih dalam atau yang memiliki banyak lapisan dapat
ditangguhkan pada algoritma Machine Learning yang sudah ada sehingga
komputer bisa belajar dengan skala yang besar, kecepatan, dan akurasi.
10
data besar seperti pada Computer Vision, Speech Recognition, dan Neural
Languange Processing.
Arsitektur di bawah ini biasa disebut sebagai Multi Layer Perceptron
(MLP). Arsitektur pertama mempunyai 3 buah neuron pada input layer dan 2
buah node output layer. Diantara input dan output, terdapat 1 hidden layer
dengan 4 buah neuron. Neuron-neuron tersebut akan terhubung langsung
dengan neuron lain pada layer selanjutnya.
Gambar 2.2 Layer-layer pada Deep Learning
Deep Learning memungkinkan model komputasi yang terdiri
dari beberapa processing layer untuk mempelajari representasi data dengan
berbagai tingkat abstraksi. Metode ini telah memperbaiki state-of-the-art
dalam pengenalan suara (speech recognition), pengenalan objek visual (visual
object recognition), deteksi objek (objek detection) dan banyak lainnya.
Beberapa algoritma yang menerapkan konsep Deep Learning anata lain
Convolutional Neural Networks (CNN) untuk klasifikasi gambar, Deep Belief
Network – Deep Neural Network (DBN-DNN) untuk pengenalan suara,
Recurrent Neural Network (RNN) untuk penerjemahan bahasa, Query-
Oriented Deep Extraction (QODE) yang berbasis Restricted Boltzmann
Machine (RBM) untuk mendeteksi Drug-Target Interaction (DTI), dan Deep
Belief Network (DBN) untuk prediksi data sesuai waktu.
2.1.3 Neural Network
Network sebenarnya mengadopsi dari kemampuan otak manusia yang mampu
memberikan stimulasi/rangsangan, melakukan proses, dan memberikan
11
output. Output diperoleh dari variasi stimulasi dan proses yang terjadi di dalam
otak manusia. Kemampuan manusia dalam memproses informasi merupakan
hasil kompleksitas proses di dalam otak. Misalnya, yang terjadi pada anak-
anak, mereka mampu belajar untuk melakukan pengenalan meskipun mereka
tidak mengetahui algoritma apa yang digunakan. Kekuatan komputasi yang
luar biasa dari otak manusia ini merupakan sebuah keunggulan di dalam kajian
ilmu pengetahuan.
1. Pengklasifikasian pola
2. Memetakan pola yang didapat dari input ke dalam pola baru pada output
3. Penyimpan pola yang akan dipanggil kembali
4. Memetakan pola-pola yang sejenis
5. Pengoptimasi permasalahan
Pada dasarnya untuk melakukan training pada neural network, kita
melakukan proses pada diagram dibawah ini secara terus menerus hingga loss
atau error yang didapatkan memiliki nilai yang relatif kecil.
Gambar 2.3 Neural Network Training
12
network dengan menggunakan semua bahasa pemrograman yang kita bisa.
Masalah yang akan kita selesaikan itu adalah permasalahan yang sangat
kompleks atau mungkin kita membutuhkan arsitektur yang unik dan kompleks
atau kita ingin menggunakan GPU untuk mempercepat training. Semua itu
dapat diatasi dengan menggunakan sebuah framework. Sama halnya seperti
semua framework, deep learning framework ada untuk memudahkan kita
untuk menyelesaikan masalah menggunakan deep learning.
Sebenarnya ada banyak sekali framework untuk deep learning. Bisa
dikatakan setiap tech company besar yang ada sekarang memiliki framework
masing-masing. Google mempunyai TensorFlow, Facebook dengan Caffe2,
Microsoft dengan CNTK dan masih banyak lagi framework lain seperti
Theano dan PyTorch. Kali ini yang akan kita pakai TensorFlow (TF). Ada lagi
satu package yang akan kita gunakan yaitu Keras. Sebenarnya TensorFlow
sudah cukup jelas cara penggunaannya, tapi kadang dalam riset kita sering
sekali untuk mencoba arsitektur lain, mencari optimizer yang paling cepat dan
bagus, tweaking hyperparameter, dll.
Dengan menggunakan Keras kita bisa melakukan semua itu dengan relatif
lebih cepat dari pada ‘pure’ TensorFlow. Karena jika dibandingkan dengan
Keras, TensorFlow serasa lebih “low level” meskipun sudah ada tf.layer yang
baru.
pembelajaran terarah untuk melakukan klasifikasi secara biner, membedakan suatu
titik atau data masukan ke dalam dua jenis kelas yang berbeda.
Perceptron termasuk salah satu bentuk jaringan yang cukup sederhana.
Algoritma ini sering digunakan untuk mengklasifikasikan input yang bersifat
linearly separable. Jaringan syaraf perceptron mempunyai satu layer dan
bobot¬bobot sinaptik dan threshold yang bisa diatur. Selama proses pembelajaran,
perceptron akan mengatur parameter secara continue selama iterasi, dan akan
menghasilkan garis pemisah (Decision Boundar y) yang berfungsi untuk
mengklasifikasikan himpunan stimulus yang diaplikasikan secara eksternal x 1, x
2, ... , x nke dalam salah satu dari dua kelas C1 dan C2. Kelas C1 adalah daerah
positif dimana nilai = threshold (Φ), sedangkan kelas C2 adalah daerah negatif
dimana nilai < threshold (Φ).
Secara teori, persamaan ini berfungsi untuk menciptakan decision boundar y
yang membedakan kedua kelas secara akurat. Pengaturan threshold dapat mengatur
pergeseran garis batasan keputusan.
Gambar 2.5 Klasifikasi Perceptron
kelas positif dan negatif.
Algoritma perceptron adalah proses pembelajaran yang melakukan perbaikan
bobot-bobotnya pada setiap epoch (proses perulangan 1 kali untuk setiap data set
input-output). Pada setiap epoch, jaringan akan mengkalkulasi error yang terjadi,
kemudian nilai errorakan dijadikan parameter untuk proses perbaikan bobot
sehingga tercipta nilai bobot yang baru. Proses ini akan berhenti jika errorsudah
mencapai nilai minimum atau perulangan sudah mencapaimaximum epoch yang
sudah ditentukan sebelumnya. Selain itu, proses pelatihan juga dipengaruhi oleh
nilai laju pembelajaran(learning rate).
terdiri dari sejumlah neuron yang dihubungkan oleh bobot-bobot penghubung.
Neuron-neuron tersebut disusun dalam lapisan-lapisan yang terdiri dari satu lapisan
input (input layer), satu atau lebih lapisan tersembunyi (hidden layer), dan satu
lapisan output (output layer). Lapisan input menerima sinyal dari luar, kemudian
melewatkannya ke lapisan tersembunyi pertama, yang akan diteruskan sehingga
akhirnya mencapai lapisan output.
Gambar 2.6 Multi-Layer Perceptron
Tidak ada batasan banyaknya hidden layer dan jumlah neuron pada setiap
layernya. Setiap neuron pada input layer terhubung dengan setiap neuron pada
hidden layer. Demikian juga, setiap neuron pada hidden layer terhubung ke setiap
neuron pada output layer. Setiapneuron, kecuali pada layer input, memiliki input
tambahan yang disebut bias. Bilangan yang diperlihatkan pada gambar di atas
digunakan untuk mengidentifikasi setiap node pada masing-masing layer.
Kemudian, jaringan dilatih agar keluaran jaringan sesuai dengan pola
pasangan masukan-target yang telah ditentukan. Proses pelatihan adalah proses
iteratif untuk mementukan bobot-bobot koneksi antara neuron yang paling optimal.
Kata back propagation yang sering dikaitkan pada MLP merujuk pada cara
bagaimana gradien perubahan bobot dihitung. Jaringan MLP yang sudah dilatih
dengan baik akan memberikan keluaran yang masuk akal jika diberi masukan yang
serupa (tidak harus sama) dengan pola yang dipakai dalam pelatihan.
Berikut ini adalah tahap-tahapan dalam penyelesaian masalah menggunakan
metode Jaringan Syarat Tiruan menggunakan Multilayer Percepteron.
1. Identifikasi masalah
jaringan syaraf tiruan, meliputi identifikasi jenis dan jumlah masukan serta
keluaran pada jaringan.
Training data set merupakan kumpulan pasangan data masukan-keluaran
berdasarkan pengetahuan yang telah dikumpulkan sebelumnya. Banyaknya
data set harus mencukupi dan dapat mewakili setiap kondisi yang hendak
diselesaikan. Terbatasnya data set akan menyebabkan akurasi jaringan menjadi
rendah.
Tahap inisialisasi meliputi penentuan topologi, pemilihan fungsi aktivasi, dan
pemilihan fungsi pelatihan jaringan. Penentuan topologi adalah penentuan
banyaknya hidden layer dan penentuan jumlah neuron pada input layer, hidden
layer dan output layer.
masukan, bobot neuron dan fungsi aktivasinya.
5. Pelatihan / training jaringan
dahulu, seperti penentuan jumlah iterasi, learning rate, error yang diijinkan.
Setelah itu dilakukan pelatihan yang merupakan proses iteratif untuk
menentukan bobot koneksi antar neuron.
16
Setelah pelatihan dilakukan, jaringan siap untuk digunakan untuk pengenalan
pola. Kemampuan jaringan dalam mengenal pola sangat bergantung dari
bagaimana jaringan tersebut dilatih.
yang tidak linier, yang tidak dapat dimodelkan secara matematis. Jaringan
cukup belajar dari pasangan data masukan dan target yang diinginkan, setelah
itu jaringan dapat mengenali pola yang mirip dengan masukan ketika
dilakukan pelatihan. Karena itu, kinerja jaringan pun ditentukan oleh
banyaknya pasangan data set selama training.
Bila data training cukup banyak dan konsisten, akurasi jaringan akan
tinggi, sebaliknya bila data training tidak memadai, akurasi jaringan rendah.
Selain data training, akurasi jaringan juga ditentukan oleh pemilihan topologi
yang tepat.
menerus hingga diperoleh jaringan yang paling baik. Tetapi setelah jaringan
yang optimal ditemukan, proses pengenalan pola dapat dilakukan secara cepat,
lebih cepat bila dibandingkan metoda lainnya.
Seperti yang telah disampaikan sebelumnya, bahwa metode MLP
merupakan salah satu metode dari Jaringan Syaraf Tirual (JST) sangat cocok
untuk menyelesaikan masalah yang tidak linear dan non deterministik. Contoh
aplikasinya antara lain adalah:
1. Untuk speech recognition
2. Untuk image recognition
3. Convolutional Neural Network
Convolutional Neural Network (CNN) adalah salah satu jenis neural network
yang biasa digunakan pada data image. CNN bisa digunakan untuk mendeteksi dan
mengenali object pada sebuah image.
Secara garis besar CNN tidak jauh beda dengan neural network biasanya.
CNN terdiri dari neuron yang memiliki weight, bias dan activation function.
17
Pada umumnya, manusia tidak membuat keputusan secara tunggal setiap
saat. Kita akan selalu memperhitungkan masa lalu dalam membuat sebuah
keputusan. Cara berpikir seperti ini adalah dasar dari pengembangan Recurrent
Neural
Network. Sama seperti analogi tersebut, RNN tidak membuang begitu saja
informasi dari masa lalu dalam proses pembelajarannya. Hal inilah yang
membedakan RNN dari Artificial Neural Networkbiasa.
Gambar 2.8 Recurrent Neural Network
Secara singkat, RNN adalah salah satu bagian dari keluarga Neural Network
untuk memproses data yang bersambung (sequential data). Cara yang dilakukan
RNN untuk dapat menyimpan informasi dari masa lalu adalah dengan melakukan
looping di dalam arsitekturnya, yang secara otomatis membuat informasi dari masa
lalu tetap tersimpan.
Python merupakan salah satu contoh bahasa tingkat tinggi. Contoh lain
bahasa tingkat tinggi adalah Pascal, C++, Pert, Java, dan sebagainya. Sedangkan
bahasa tingkat rendah merupakan bahasa mesin atau bahasa assembly. Secara
sederhana, sebuah komputer hanya dapat mengeksekusi program yang ditulis
dalam bentuk bahasa mesin. Oleh karena itu, jika suatu program ditulis dalam
bentuk bahasa tingkat tinggi, maka program tersebut harus diproses dulu sebelum
bisa dijalankan dalam komputer. Hal. ini merupakan salah satu kekurangan bahasa
tingkat tinggi yang memerlukan waktu untuk memproses suatu program sebelum
program tersebut dijalankan. Akan tetapi, bahasa tingkat tinggi mempunyai banyak
sekali keuntungan. Bahasa tingkat tinggi mudah dipelajari, mudah ditulis, mudah
dibaca, dan tentu saja mudah dicari kesalahannya. Bahasa tingkat tinggi juga mudah
diubah portabel untuk disesuaikan dengan mesin yang menjalankannya. Hal ini
berbeda dengan bahasa mesin yang hanya dapat digunakan untuk mesin tersebut.
Dengan berbagai kelebihan ini, maka banyak aplikasi ditulis menggunakan bahasa
tingkat tinggi. Proses mengubah dad bentuk bahasa tingkat tinggi ke tingkat rendah
datam bahasa pemrograman ada dua tipe, yakni interpreter dan compiler. (Utami,
2004)
TensorFlow adalah perpustakaan perangkat lunak, yang dikembangkan oleh
Tim Google Brain dalam organisasi penelitian Mesin Cerdas Google, untuk tujuan
melakukan pembelajaran mesin dan penelitian jaringan syaraf dalam. TensorFlow
kemudian menggabungkan aljabar komputasi teknik pengoptimalan kompilasi,
mempermudah penghitungan banyak ekspresi matematis dimana masalahnya
adalah waktu yang dibutuhkan untuk melakukan perhitungan. Fitur utamanya
meliputi (TensorFlow):
matematisyang melibatkan array multi dimensi (tensors).
19
mesin
optimalisasi memori yang sama dan data yang digunakan. Tensorflow bisa
menulis kode yang sama dan menjalankannya baik di CPU atau GPU. Lebih
khusus lagi, TensorFlow akan mengetahui bagian perhitungan mana yang
harus dipindahkan ke GPU.
4. Skalabilitas komputasi yang tinggi di seluruh mesin dan kumpulan data
yang besar
2.4 Prediksi
di dalam sekumpulan data. Prediksi menggunakan beberapa variabel atatu field-
field basis data untuk memprediksi nilai-nilai variabel masa mendatang yang
diperlukan, yang belum diketahui saat ini.
2.5 Pneumonia
utamanya memengaruhi kantung-kantung udara mikroskopik yang dikenal sebagai
alveolus. Kondisi ini biasanya disebabkan oleh infeksi virus atau bakteri dan lebih
jarang mikroorganisme lainnya, obat-obatan tertentu, dan kondisi lain seperti
penyakit autoimun.
Gejala khasnya meliputi batuk, nyeri dada, demam, dan kesulitan bernapas.
Alat diagnostik mencakup rontgen dan pengambilan kultur dari sputum. Vaksin
untuk mencegah jenis pneumonia tertentu kini sudah tersedia. Pengobatan yang
dilakukan bergantung pada penyebab dasarnya. Dugaan pneumonia bakterial
diobati dengan antibiotik. Jika pneumonianya parah, penderita biasanya dirujuk ke
rumah sakit.
Setiap tahunnya, pneumonia menjangkiti sekitar 450 juta orang, tujuh persen
dari total populasi dunia, dan menyebabkan sekitar 4 juta kematian. Walaupun
pneumonia dijuluki oleh William Osler pada abad ke-19 sebagai "the captain of the
20
men of death" (pemimpin kematian), penemuan terapi antibiotik dan vaksin pada
abad ke-20 telah meningkatkan daya tahan hidup. Meskipun demikian, di negara
berkembang, dan di antara orang-orang berusia sangat lanjut, sangat muda, dan
penderita sakit kronis, pneumonia tetap menjadi penyebab kematian yang utama
(Wikipedia).
Pasien pneumonia yang menular biasanya menderita batuk produktif, demam
yang disertai menggigil bergetar, sulit bernapas, nyeri dada yang tajam atau
menghunjam selama menarik napas dalam-dalam, dan peningkatan laju respirasi.
Pada manula, adanya kebingungan menjadi tanda yang paling utama. Tanda-tanda
dan gejala khusus pada anak-anak balita yaitu demam, batuk, dan napas yang cepat
atau sulit.
21
Nyeri
Dada
39-49%
Demam tidak sangat spesifik, karena ini gejala yang umum timbul pada
berbagai penyakit, dan mungkin tidak tampak pada penderita penyakit parah atau
malagizi. Selain itu, gejala batuk sering tidak muncul pada anak-anak berusia
kurang dari 2 bulan. Tanda-tanda dan gejala yang lebih parah meliputi: kulit biru,
rasa haus berkurang, konvulsi, muntah-muntah yang menetap, suhu ekstrem, atau
penurunan tingkat kesadaran.
Kasus pneumonia bakterial dan viral biasanya muncul dengan gejala yang
serupa. Beberapa penyebabnya dikaitkan dengan karakteristik klinis yang klasik
tetapi tidak spesifik. Pneumonia yang disebabkan oleh Legionella dapat muncul
disertai nyeri perut, diare, atau kebingungan, sedangkan pneumonia yang
disebabkan oleh Streptococcus pneumoniae dikaitkan dengan sputum berwarna
karat, dan pneumonia yang disebabkan oleh Klebsiella dapat disertai sputum
berdarah yang sering digambarkan sebagai "currant jelly" (lendir merah). Sputum
berdarah (dikenal sebagaihemoptisis) juga dapat muncul pada tuberkulosis,
pneumonia gram-negatif, dan abses paru serta umum dijumpai pada bronkitis akut.
Pneumonia mikoplasma dapat timbul bersama pembengkakan nodus limfa di leher,
nyeri sendi, atau infeksi telinga tengah. Pneumonia viral lebih umum muncul
disertai mengi dibandingkan dengan pneumonia bakterial.
22
2. Penyebab
Pneumonia terutama disebabkan oleh infeksi dari bakteri atau virus dan
jarang dijumpai disebabkan oleh fungi dan parasit. Walaupun terdapat lebih dari
100 galur agen infeksi yang telah diidentifikasi, namun hanya beberapa yang
bertanggungjawab atas mayoritas kasus yang ada. Infeksi bersama dengan virus
beserta bakteri dapat muncul hingga sebanyak 45% infeksi pada anak-anak dan
15% infeksi pada orang dewasa. Agen penyebabnya tidak dapat diisolasi pada
sekitar setengah kasus yang ada walaupun pengujian yang cermat telah dilakukan.
Istilah pneumonia terkadang digunakan secara lebih luas terhadap berbagai
kondisi yang menyebabkan inflamasi paru-paru (misalnya yang disebabkan oleh
penyakit autoimun, luka bakar kimia atau reaksi obat); namun demikian, inflamasi
ini lebih tepat disebut sebagai pneumonitis. Menurut sejarahnya agen penginfeksi
dibagi menjadi "khas" dan "tidak khas" didasarkan pada aspek yang diduga, tetapi
bukti-bukti yang ada tidak mendukung pembedaan ini, sehingga kini tidak lagi
ditekankan.
23
Faktor risiko dan kondisi yang memengaruhi pneumonia mencakup:
merokok, imunodefisiensi, alkoholisme, penyakit obstruktif paru kronis, penyakit
ginjal kronis, dan penyakit hati. Penggunaan obat-obatan yang bersifat menekan
asam seperti penghambat pompa proton atau antagonis H2 dikaitkan dengan
peningkatan risiko pneumonia . Usia lanjut juga berpengaruh pada pneumonia.
2.6 Informatika Kedokteran
pemanfaatan komputer dan teknologi komunikasi di bidang kedokteran. Edward H.
Shortliffe mendefinisikan informatika kedokteran sebagai berikut: "Disiplin ilmu
yang berkembang dengan cepat yang berurusan dengan penyimpanan, penarikan
dan penggunaan data, informasi, serta pengetahuan biomedik secara optimal untuk
tujuan pemecahan masalah dan pengambilan keputusan”. Pakar informatika
kedokteran lainnya, Haux mengatakan dengan istilah "systematic processing of
information in medicine".
dalam kedokteran dan terkait sangat erat dengan teknologi informasi modern, yaitu
komputer dan komunikasi. Posisinya di kedokteran berada di persilangan antara
berbagai disiplin ilmu dasar dan terapan di kedokteran serta disiplin di luar
kedokteran, seperti ilmu informasi, komputer, statistika, dan psikologi. Secara
terapan, aplikasi informatika kedokteran meliputi rekam medis elektronik, sistem
pendukung keputusan medis, sistem penarikan informasi kedokteran, hingga
pemanfaatan internet dan intranet untuk sektor kesehatan, termasuk pengembangan
sistem informasi klinis. Informatika kedokteran sebagai disiplin baru berkembang
terkelola (unmanageable) oleh metode berbasis kertas (paper-based methods).
Menurut Shortliffe, subdomain dalam informatika kedokteran (atau
kesehatan) adalah sebagai berikut:
Bioinformatika bekerja pada proses molekuler dan seluler. Riset dan aplikasi
bioinformatika memfasilitasi upaya-upaya rekayasa genetik, penemuan vaksin,
hingga ke riset besar tentang human genome project.
Medical imaging (informatika pencitraan) mengkaji aspek pengolahan data
dan informasi digital pada level jaringan dan organ. Kemajuan pada sistem
informasi radiologis, PACS (picture archiving communication systems), sistem
pendeteksi biosignal adalah beberapa contoh terapannya.
Informatika klinis, yang menerapkan pada level individu (pasien), mengkaji
mengenai berbagai inovasi teknologi informasi untuk mendukung pelayanan
pasien, komunikasi dokter pasien, serta mempermudah dokter dalam
mengumpulkan hingga mengolah data individu.
Informatika kesehatan masyarakat yang berfokus kepada populasi untuk
mendukung pelayanan, pendidikan dan pembelajaran kesehatan masyarakat.
Para ahli informatika kedokteran memiliki organisasi yang menghimpun
tokoh, peneliti, organisasi (baik akademik, pendidikan, penelitian maupun
pelayanan) serta industri yang memiliki aktivitas dalam informatika kedokteran
yaitu International Medical Informatics Association (IMIA). Organisasi ini
memiliki beberapa workgroup maupun special interest group yang masing-masing
memiliki bidang kajian informatika kedokteran yang berbeda-beda seperti aspek
pendidikan, standar, informatika kedokteran untuk negara berkembang dan lain
sebagainya. Organisasi ini juga memiliki organisasi berdasarkan region, misalnya
untuk Asia Pasifik terdapat Asia Pacific Medical Informatics Association
(APAMI). Setiap tiga tahun sekali, IMIA mengadakan pertemuan kongres yang
dikenal dengan tajuk MEDINFO. Pada tahun 2007 MEDINFO akan dilaksanakan
di Brisbane.
Kesehatan merupakan pendekatan yang sangat berbeda dengan kedokteran. Kita
kenal dalam kesehatan beberapa pendekatan, antara lain :
1. Promotif
2. Preventif,
dalam kajian ilmu terjadi pemisahan dari kedokteran. Berkembang kemudian
Kesehatan masyarakat. Pada Informatika Kesehatan terdapat hal yang prinsip yang
sangat berbeda dengan Informatika Kedokteran. Pada Informatika Kesehatan
beberapa penelusuran masalah akan berawal dari eviden base. Karena itu cakupan
informatika kesehatan merupakan cakupan massal bukan individu.
Indikatorindikator kesehatan tidak terbentuk secara individu tetapi merupakan
komulatif dari massa/public. pada informatika kesehatan tidak dilakukan intervensi
secara personal tetapi secara public. Pada informatika Kesehatan tidak berbasis
kuratif dan rehabilitatif tetapi menekankan pendekatan promotif dan preventif.
Teknologi pada Informatika Kesehatan digunakan untuk melakukan intervensi
secara publik dengan cakupan yang luas. Tahun 1995 Fakultas Kesehatan
Masyarakat Universitas Indonesia melalui Departemen Biostatistik memulai
mengkaji Informatika Kesehatan dengan membuka peminatan Informatika
Kesehatan, hingga sekarang (2007) telah ada alumni yang berkiprah dalam berbagai
bidang.
2.7 Citra Digital
Citra (image) adalah kombinasi antara titik, garis, bidang dan warna untuk
menciptakan suatu imitasi dari suatu objek, biasanya objek fisik atau manusia. Citra
bisa berwujud gambar (picture) dua dimensi, seperti lukisan, foto dan berwujud tiga
dimensi, seperti patung. Citra terbagi 2 yaitu ada citra yang bersifat analog dan ada
citra yang bersifat digital. Citra analog tidak dapat direpresentasikan dalam
komputer, sehingga tidak bisa diproses oleh komputer secara langsung. Citra
analog harus dikonversi menjadi citra digital terlebih dahulu agar dapat diproses
di komputer (Sutojo, 2017).
Sebuah citra dapat didefinisikan sebagai fungsi f (x, y) berukuran M baris dan
N kolom, dengan x dan y adalah koordinat spasial, dan amplitudo f di titik
koordinat (x, y) dinamakan intensitas atau tingkat keabuan dari citra pada titik
tersebut. Apabila nilai x, y dan nilai amplitudo f secara keseluruhan berhingga
(finite) dan bernilai diskrit maka dapat dikatakan bahwa citra tersebut adalah citra
digital (Putra, 2010). Gambar di bawah ini menunjukan posisi koordinat citra
digital.
Sebuah citra sama seperti sebuah grid dengan masing-masing kotak
persegi di dalam grid berisi satu warna atau piksel. Sebuah citra 8 dengan resolusi
1024 × 768 merupakan sebuah grid yang berisi 1024 kolom dan 768 baris, yang
mana berarti berisi 1024 × 768 = 786432 piksel.
27
2.7.1 Tipe Citra Digital
Dalam melakukan pengolahan citra terdapat empat tipe dasar citra digital
yang paling sering digunakan saat melakukan penelitian. Keempat citra tersebut
yaitu sebagai berikut:
1. Citra Biner
Pada citra digital dengan tipe biner, setiap piksel pada citra hanya memiliki
dua nilai saja yaitu 0 dan 1. Nilai 0 mewakili warna hitam dan nilai 1 mewakili
warna putih. Karena hanya memiliki 2 nilai yang mungkin untuk setiap piksel, maka
setiap piksel hanya memiliki ukuran 1 bit saja. Citra dengan tipe biner seperti ini
akan sangat efisien dalam proses penyimpanannya. Berikut adalah contoh tipe
citra biner, dimana warna putih mewakili piksel tepi dan warna hitam mewakili latar
belakang.
Pada citra dengan tipe grayscale, setiap piksel mewakili derajat keabuan
dengan nilai antara 0 (hitam) sampai 255 (putih). Pada jangkauan nilai 0 sampai
255, ini berarti bahwa setiap piksel memiliki ukuran 8 bit atau 1 byte. Berikut adalah
contoh citra bertipe grayscale.
Gambar 2.15 Citra Grayscale
3. Citra Warna RGB
Citra warna RGB biasanya juga disebut sebagai Citra True Color. Pada citra
dengan tipe RGB, setiap piksel memiliki 3 komponen warna, yaitu merah (R), hijau
(G) dan biru (B). Setiap komponen warna memiliki jangkauan nilai antara 0 sampai
255 (8 bit). Warna pada piksel ditentukan dari kombinasi merah, hijau dan biru.
Hal ini akan memberikan kemungkinan total warna sebanyak 2553 =
16.581.375. Jadi total ukuran bit untuk setiap piksel adalah 24 bit (8 bit R,
8 bit G dan 8 bit B). Citra seperti ini biasanya juga disebut dengan citra warna 24
bit.
29
4. Citra Warna Berindeks
Kebanyakan citra warna hanya memiliki sebagian kecil dari 16 juta warna yang
mungkin. Untuk kenyamanan dalam menyimpan dan penanganan berkas file, citra
warna bertipe indeks mempunyai sebuah peta warna yang terkait indeks warna,
yang hanya menyimpan daftar semua warna yang digunakan pada citra tersebut.
Setiap piksel pada citra warna berindeks mempunyai nilai yang tidak mewakili
warna yang diberikan (seperti pada citra warna RGB), tetapi nilai tersebut
hanya mewakili sebuah indeks warna, yang mana representasi warna tersebut
tersimpan pada peta warna. Berikut contoh sebuah citra warna berindeks.
Gambar 2.17 Citra Warna Berindeks
30
Citra digital dapat didefinisikan sebagai fungsi dua variabel, f(x,y), dimana
x dan y adalah koordinat spasial dan nilai f(x,y) adalah intensitas citra pada
koordinat tersebut, hal tersebut diilustrasikan pada gambar 2.2 Teknologi dasar
untuk menciptakan dan menampilkan warna pada citra digital berdasarkan pada
penelitian bahwa sebuah warna merupakan kombinasi dari tiga warna dasar, yaitu
merah, hijau, dan biru (Red, Green, Blue – RGB).
Gambar 2.18 Citra Digital
Sebuah citra diubah ke bentuk digital agar dapat disimpan dalam memori
komputer atau media lain. Proses mengubah citra ke bentuk digital bisa dilakukan
dengan beberapa perangkat, misalnya scanner, kamera digital, dan handycam.
Ketika sebuah citra sudah diubah ke dalam bentuk digital (selanjutnya disebut citra
digital), bermacam-macam proses pengolahan citra dapat diperlakukan terhadap
citra tersebut.
1. Representasi dan permodelan citra
2. Peningkatan kualitas citra
Dalam tugas akhir ini, pengolahan citra digital difokuskan pada teknik
kompresi citra.
Kompresi citra bertujuan untuk meminimalkan jumlah bit yang diperlukan
untuk merepresentasikan citra. Apabila sebuah foto berwarna berukuran 3 inci x 4
inci diubah ke bentuk digital dengan tingkat resolusi sebesar 500 dot per inch (dpi),
maka diperlukan 3 x 4 x 500 x 500 = 3.000.000 dot ( piksel). Setiap piksel terdiri
dari 3 byte dimana masing-masing byte merepresentasikan warna merah, hijau, dan
biru. sehingga citra digital tersebut memerlukan volume penyimpanan sebesar
3.000.000 x 3 byte +1080 = 9.001.080 byte setelah ditambahkan jumlah byte yang
diperlukan untuk menyimpan format (header) citra. Citra tersebut tidak bisa
disimpan ke dalam disket yang berukuran 1.4 MB. Selain itu, pengiriman citra
berukuran 9 MB memerlukan waktu lebih lama. Untuk koneksi internet dial-up (56
kbps), pengiriman citra berukuran 9 MB memerlukan waktu 21 menit. Untuk itulah
diperlukan kompresi citra sehingga ukuran citra tersebut menjadi lebih kecil dan
waktu pengiriman citra menjadi lebih cepat. Citra yang belum dikompres disebut
citra mentah (raw image). Sementara citra hasil kompresi disebut citra
terkompresi(compressed image).
pneumonia dengan menggunakan algoritma convolutional neural networks . Sistem
ini pada akhirnya dapat membantu mempercepat diagnosis dan rujukan kondisi
yang dapat diobati ini, dengan demikian memfasilitasi pengobatan lebih dini,
menghasilkan hasil klinis yang lebih baik
3.2 Manfaat Penelitian
1. Menyediakan informasi yang cepat, tepat dan akurat sehingga dapat
dilakukan pertolongan bagi pengidap penyakit pneumonia.
2. Dapat memahami dan menganalisa faktor-faktor yang mempengaruhi
keberhasilan suatu sistem informasi
3. Dapat mengaplikasikan teori deep learning dan neural networks lebih
aplikatif
33
Perangkat sangat dibutuhkan sekali dalam proses program yang akan kita
buat. Oleh itu yang digunakan dalam penelitian ini adalah:
a. Perangkat Hardware
Tabel 4.1 Hardware
2. Memori : 2 Gb
b. Perangkat Software
Tabel 4.2 Software
2. Bahasa Program : Python 3.6.5
- Tensor flow
- Open cv
Data yang digunakan pada penelitian ini adalah data-data yang didapatkan
dari data training dan data test. Data training terdapat 5216 file gambar yang terdiri
dari 1341 file gambar untuk normal dan 3875 file gambar untuk pneumonia
sedangkan data test terdapat 624 file gambar yang terdiri dari 234 file gambar untuk
34
normal dan 390 file gambar untuk pneumonia. Jadi total seluruh gambar untuk
training dan testing adalah 5840 file. Semua data tersebut dalam format jpg dan
jpeg data diambil dari penelitian Kermany, Daniel; Zhang, Kang; Goldbaum,
Michael (2018), “Labeled Optical Coherence Tomography (OCT) and
Chest X-Ray Images for Classification”, Mendeley Data, v2. Dibawah ini adalah
flowchart untuk preprocessing:
Membaca data gambar dan
baris
Mengubah tiap elemen data
Img data dalam bentuk
data pada masing folder
data
label
format csv
disimpan ke dalam dataframe
sebelumnya. Apabila pelaksanaan penelitian menghadapi suatu kendala, maka
langkah penelitian perlu diperiksa untuk mengetahui proses mana kira-kira yang
bisa diperbaiki atau dikembangkan guna mendapatkan hasil penelitian yang
obyektif. Tahap pertama pada langkah penelitian adalah membuat 2 model
convolutional neural networks. Jadi pada setiap model ada layer-layer. Layer-layer
yang digunakan digambarkan dalam bentuk bagan dan rangkuman. Lalu tahap
kedua kita melakukan training dengan menggunakan data dan jumlah epochs yang
sama, untuk didapatkan bobot yang tepat. Kemudian pada tahap ketiga kita
melakukan testing dengan menggunakan data testing untuk dilihat akurasi dan loss
pada masing-masing model. Dan tahap terakhir kita bandingkan dengan akurasi dan
loss pada proses training.
menggunakan matlab. Referensi yang digunakan bersumber dari buku, paper,
jurnal dan penelitian-penelitian yang sesuai dengan topik bahasan. Setelah
mempelajari topik beberapa referensi didapatkan pengetahuan tentang penelitian
yang pernah dilakukan berupa analisis kelebihan dan kekurangan. Setelah
mendapatkan informasi tersebut, dilakukan analisis untuk mendapatkan solusi dari
permasalahan yang diangkat.
Berikut macam-macam model convolutional neural networks:
1. Convolutional Layer
Gambar dibawah ini adalah RGB (Red, Green, Blue) image berukuran 32 x
32 pixels yang sebenarnya adalah multidimensional array dengan ukuran 32 x 32 x
3 (3 adalah jumlah channel).
36
sehingga membentuk sebuah filter dengan panjang dan tinggi (pixels). Sebagai
contoh, layer pertama pada feature extraction layer biasanya adalah conv. Layer
dengan ukuran 5x5x3. Panjang 5 pixels, tinggi 5 pixels dan tebal/jumlah 3 buah
sesuai dengan channel dari image tersebut.
Ketiga filter ini akan digeser keseluruh bagian dari gambar. Setiap pergeseran
akan dilakukan operasi “dot” antara input dan nilai dari filter tersebut sehingga
menghasilkan sebuah output atau biasa disebut sebagai activation map atau feature
map.
sebelumnya. Layer tersebut adalah proses utama yang mendasari sebuah CNN.
Convolution layer merupakan lapisan utama yang paling penting untuk
digunakan. Konvolusi merupakan suatu istilah matematis yang dalam pengolahan
citra berarti mengaplikasikan sebuah kernel (kotak kuning) pada citra disemua
offset yang memungkinkan seperti yang ditunjukan pada Gambar 3.14, sedangkan
37
kotak berwarna hijau secara keseluruhan merupakan citra yang akan dikonvolusi
Kernel (kotak kuning) bergerak dari sudut kiri atas ke kanan bawah. Sehingga
hasil konvolusi dari citra tersebut dapat dilihat pada gambar disebelah kanannya
Gambar 4.3 Proses Convolution Layer
2. Pooling Layer
Pooling layer biasanya berada setelah conv. layer. Pada prinsipnya pooling
layer terdiri dari sebuah filter dengan ukuran dan stride tertentu yang akan bergeser
pada seluruh area feature map.
Pooling yang biasa digunakan adalah Max Pooling dan Average Pooling.
Sebagai contoh jika kita menggunakan Max Pooling 2x2 dengan stride 2, maka
pada setiap pergeseran filter, nilai maximum pada area 2x2 pixel tersebut yang akan
dipilih, sedangkan Average Pooling akan memilih nilai rata-ratanya.
Gambar 4.4 Pooling Layer
Dimensi output dari Pooling layer juga menggunakan rumus yang sama
seperti pada conv. Layer Tujuan dari penggunaan pooling layer adalah mengurangi
dimensi dari feature map (downsampling), sehingga mempercepat komputasi
karena parameter yang harus diupdate semakin sedikit dan mengatasi overfitting.
Berikut adalah pooling yang biasa digunakan, yaitu:
1. Max Pooling
merupakan bentuk down-sampling non-linear. Max-pooling mempartisi gambar
input ke dalam satu set persegi panjang yang tidak tumpang tindih dan, untuk setiap
sub-wilayah tersebut, menghasilkan nilai maksimum.
Max-pooling berguna dalam penglihatan karena dua alasan:
1) Dengan menghilangkan nilai-nilai non-maksimal, itu mengurangi
perhitungan untuk lapisan atas.
lapisan max-pooling dengan lapisan konvolusional. Ada 8 arah di mana
orang dapat menerjemahkan gambar input dengan satu piksel. Jika
penggabungan maksimum dilakukan di wilayah 2x2, 3 dari 8 konfigurasi
yang memungkinkan ini akan menghasilkan keluaran yang sama persis pada
lapisan konvolusional. Untuk penggabungan maksimal melalui jendela 3x3,
ini melompat ke 5/8.
maksimal adalah cara "pintar" untuk mengurangi dimensi representasi menengah.
Max-pooling dilakukan di Theano dengan cara
theano.tensor.signal.pool.pool_2d. Fungsi ini mengambil masukan sebuah tensor
dimensi N (di mana N> = 2) dan faktor downscaling dan melakukan pembungkusan
maksimum atas 2 trailing dimensi tensor.
2. Average Pooling
karena dibutuhkan semua untuk menghitung dan menghasilkan nilai rata-rata yang
mungkin atau tidak penting untuk deteksi objek. Average pooling membawa semua
ke dalam hitungan dan mengalirkannya ke lapisan berikutnya yang berarti semua
nilai benar-benar digunakan untuk pemetaan fitur dan pembuatan keluaran yang
merupakan perhitungan yang sangat umum. Jika tidak diperlukan semua masukan
dari lapisan konvolusi maka akan mendapatkan akurasi yang buruk untuk average
pooling. Pada klasifikasi objek pooling layer yang banyak digunakan adalah
39
average pooling. Pemilihan pooling layer tergantung pada jenis dataset yang
digunakan. (Rahman, 2017)
3. Dropout Layer
Secara sederhana, dropout mengacu pada mengabaikan unit (yaitu neuron)
selama fase pelatihan set neuron tertentu yang dipilih secara acak. Dengan
"mengabaikan", maksud saya unit-unit ini tidak dipertimbangkan selama pass
depan atau mundur tertentu (Amar Budhiraja, 2016).
Lebih teknis, Pada setiap tahap pelatihan, node-node individu dikeluarkan
dari internet dengan probabilitas 1-p atau disimpan dengan probabilitas p , sehingga
jaringan yang berkurang dibiarkan; tepi masuk dan keluar ke node drop-out juga
dihapus.
neuron mengembangkan ko-dependensi di antara satu sama lain selama pelatihan
yang mengekang daya individu masing-masing neuron yang menyebabkan overpas
dari data pelatihan.
kerugian. Dengan menambahkan penalti ini, model dilatih sedemikian rupa
sehingga tidak belajar serangkaian fitur bobot yang saling bergantung. Bagi Anda
yang tahu Logistic Regression mungkin akrab dengan hukuman L1 (Laplacian) dan
L2 (Gaussian).
4. Fully Connected Layer
Fully connected layer merupakan lapisan dimana semua neuron aktivasi dari
lapisan sebelumnya terhubung semua dengan neuron di lapisan selanjutnya. Fully
connected layer biasanya digunakan dalam penerapan Multi Layer Perceptron
(MLP) dan bertujuan untuk melakukan transformasi pada dimensi data agar dapat
diklasifikasikan secara linear.
Perbedaan antara fully connected layer dan convolution layer biasanya adalah
neuron di convolution layer terhubung hanya ke daerah tertentu pada input,
sedangkan fully connected layer mempunyai neuron yang secara keseluruhan
terhubung. Namun, kedua lapisan tersebut masih mengoprasikan produk dot,
sehingga fungsinya tidak begitu berbeda.
4.3 Model Yang Digunakan
Model yang digunakan dalam model CNN ada 2 macam, yaitu:
4.3.1 Model 1
Model 1 ini kita akan menguji memakai pooling menggunakan max pooling,
max pooling mempartisi gambar input ke dalam satu set persegi panjang yang tidak
41
maksimum.
1. Summary
Pada summary di model 1 terdapat 8 tahap layer yaitu Conv2D-1
MaxPool1 Conv2D-2 MaxPool-2 Flatten Dense_1 Dense_2
Output . dari hasil summary ini kita akan mendapatkan total params, trainable
params dan non-trainable params, seperti gambar dibawah:
Gambar 4.6 Summary Model 1
2. Gambar Diagram
Dibawah ini adalah alur atau diagram bentuk model 1 dengan beberapa
tahap layer yaitu Conv2D-1 MaxPool-1 Conv2D-2 MaxPool-2 Flatten
Dense_1 Dense_2 Output .
42
Model 2 ini kita akan menguji memakai pooling menggunakan average
pooling dimana average hanya akan memilih nilai rata-ratanya.
1. Summary
Pada summary di model 1 terdapat 8 tahap layer yaitu Conv2D-1
AvgPool-1 Conv2D-2 AvgPool-2 Flatten Dense_1 Dense_2
Output . dari hasil summary ini kita akan mendapatkan total params, trainable
params dan nontrainable params, seperti gambar dibawah:
Gambar 4.8 Summary Model 2
2. Gambar Diagram
Dibawah ini adalah alur atau diagram bentuk model 2 dengan beberapa
tahap layer yaitu Conv2D-1 AvgPool-1 Conv2D-2 AvgPool-2 Flatten
Dense_1
43
Proses pengolahan citra yang akan dibahas yaitu mulai dengan mengimport
os, numpy, matplotlib dan pandas. Kemudian kita mendefinisikan data path, lalu
kita berikan data awal agar kita bisa mencari dan mendeteksi tiap folder setelah itu
kita membaca data gambar dan mengubah ke biner. Kita juga mengubah tiap
gambar menjadi format warna grayscale dan mengubah ukuran gambar sesuai baris
dan kolom. Setelah itu kita ubah juga ukuran matriks menjadi satu baris dan
kemudian menambahkan baris ke dalam data list. Disini kita juga mengubah
img_data_list yang berbentuk list menjadi array lalu kitaubah juga tiap elemen data
img_data menjadi float32. Img data ini kita bentuk dalam dataframe. Setelah itu
semua, kita menentukan tabel pada data sesuai dengan jumlah data pada masing
folder. Kemudian kita menambahkan label yang sudah dibuat ke dalam data dan
menampilkan dalam bentuk dataframe data yang sudah diberi label, serta kita
menambahkan header pada tiap-tiap kolom, dan jangan lupa convert ke dalam
format csv. Akhirnya kita dapat membuka file csv yang sudah disimpan ke dalam
dataframe.
Hasil penelitian yang akan dibahas merupakan hasil dari dua perlakuan,
yang pertama adalah hasil dari image processing (preprocessing) dan yang kedua
adalah hasil dari training dan testing data menggunakan jaringan syaraf tiruan.
5.2.1 Hasil Image Processing (Preprocessing)
Hasil image processing ini kita dapatkan dari 2 tabel yaitu tabel test
dan tabel train. Tabel test berasal dari csv yang terdiri dari 625 baris dan 784
kolom. Sedangkan tabel train berasal dari csv juga yang terdiri dari 5218
baris dan 784 kolom.
5.3.1 Train / Test Split
Data yang di gunakan biasanya dibagi menjadi data pelatihan dan data
uji. Set pelatihan berisi output yang diketahui dan model belajar pada data
ini untuk digeneralisasikan ke data lain di kemudian hari. Kami memiliki
dataset uji (atau subset) untuk menguji prediksi model kami pada subset ini.
Gambar 5.1 Train / Test Split
5.3.2 Training Model
Training dilakukan menggunakan 2 model yang berbeda yaitu model 1 yang
dapat dilihat di gambar 3.6 dan model 2 yang dapat dilihat pada gambar 3.8, kedua
model tersebut memiliki jumlah layer dan filter yang sama namun perbedaan
mendasar adalah pada metode pooling yang digunakan masing masing model
tersebut. Pada model 1 menggunakan max-pooling dan pada model 2 menggunakan
average pooling, training dilakukan pada 5216 gambar dengan label pneumonia dan
normal. Dari proses training tersebut diharapkan dapat menghasilkan bobot yang
tepat untuk dapat memprediksi penyakit pneumonia.
Pada training model akan menghasilkan grafik validasi akurasi dan validasi
loss dengan cara epochs seperti gambar dibawah:
45
5.3.3 Testing Model
Pada testing model kita mendapatkan test loss dan test akurasi, data yang
digunakan pada proses testing merupakan data yang berbeda dengan data yang
digunakan pada proses training proses testing tidak menggunakan data sebanyak
proses training, selain itu testing digunakan untuk mengevaluasi bobot yang
dihasilkan pada proses training sehingga proses testing tidak kan mengganti nilai
bobot seperti pada proses training. Hasil dari proses testing dapat dilihat pada
gambar 5.3.
Gambar 5.3 Testing Model
Dari gambar 4.3 dapat dilihat hasil dari testing dengan menggunakan data
test, didapatkan nilai akurasi untuk model 1 sebesar 0.7756 atau 77.56% dan untuk
model 2 sebesar 0.7676 atau 76.76 % dari hasil tersebut dapat dilihat bahwa model
1 memiliki akurasi yang lebih baik ketimbang model 2 namun perbedaannya tidak
signifikan. Sedangkan untuk perbandingan nilai loss untuk kedua model tersebut
adalah 0.7369 atau 73.69 % untuk model 1 dan 0.7859 atau 78.59% untuk model 2,
lagi-lagi dapat dilihat perbandingan kedua model tersebut yaitu nilai loss dari model
2 lebih besar namun sama seperti akurasi perbedaannya tidak signifikan.
5.3.4 Random Simple Testing
Dibawah ini adalah data first images dari test-set. Dimana data ini belum
ada prediksi dan data ini terdiri dari 8 data pneumonia dan 8 data normal:
47
A. Model 1
Pada model 1 dilakukan random sample sebanyak 16 foto dari data test
dengan label masing-masing, yang menghasilkan 12 file foto dengan tepat dapat
diprediksi dengan benar sesuai dengan label datanya dan 4 diprediksi tidak tepat
atau salah, bisa dilihat di gambar bawah berikut ini:
Gambar 5.5 Model 1
75%.
48
B. Model 2
Pada model 1 kita melakukan random sample yang menghasilkan 12 file
foto kesamaan pada true dan prediksi dan 4 yang tidak tepat antara true dan prediksi,
bisa dilihat di gambar bawah berikut ini:
Gambar 5.6 Model 2
5.3.5 Analisa Dan Kesimpulan
Dari semua rangkaian yang kita lakukan mulai dari training data yang akan
menghasilkan grafik validasi akurasi dan validasi loss dengan cara epochs lalu kita
melakukan testing data sehingga kita mendapatkan test loss dan test akurasi. Setelah
itu semua kita melakukan random simple testing dari data first images dari test-set.
Dimana data ini belum ada prediksi dan data ini terdiri dari 8 data pneumonia dan
8 data normal. Sehingga kita memperoleh data untuk model 1 yakni 12 file foto
kesamaan pada true dan prediksi dan 4 yang tidak tepat antara true dan prediksi
sedangkan untuk model 2 sama hasilnya dengan model 1 yakni 12 file foto
kesamaan pada true dan prediksi dan 4 yang tidak tepat antara true dan prediksi.
Jadi, dapat disimpulkan dari semua rangkaian itu kita dapat memperoleh
hasil prediksi yang benar sekitar 75% dari data yang sesuai dengan hasil prediksi
pada sampel acak
Penelitian selanjutnya diharapkan menambahkan lebih banyak gambar yang
digunakan sebagai data train dan data test dengan metode optimasi yang lain.
Karena hal tersebut mungkin mampu menambah tingkat akurasi dalam
memprediksi gambar.
Untuk keperluan publikasi, maka hasil penelitian yang ada sejauh ini akan
dipublikasikan di Jurnal Ilmiah Nasional berISSN tidak terakreditasi dan seminar
nasional dalam temu ilmiah
prediksi pneumonia dengan menggunakan algoritma convolutional neural
networks, maka didapat dibuat kesimpulan yaitu :
a. Metode CNN dapat melakukan proses prediksi gambar khususnya
klasifikasi dengan tinggat akurasi yang cukup tinggi.
b. Setelah dilakukan perbandingan dengan kedua model yang dirancang pada
bab sebelumnya didapatkan hasil diatas 75% baik dengan evaluasi
menggunakan data testing dan random sample, namun kendala yang
ditemukan karena nilai akurasi masih dibawah angka 85% sehingga masih
harus dilakukan penelitian kembali untuk meningkatkan nilai akurasi dari
model tersebut..
7.2 Saran
disarankan untuk pengembangan selanjutnya yaitu :
a. Sistem ini memungkinkan untuk dikembangkan dengan menggunakan
software lain selain software Python. Karena masih banyak software lain
yang dapat digunakan untuk melakukan klasifikasi gambar.
b. Penelitian selanjutnya diharapkan menambahkan lebih banyak gambar yang
digunakan sebagai data train dan data test karena hal tersebut mungkin
mampu menambah tingkat akurasi dalam memprediksi gambar.
51
Network, dan Deep Learning. Jurnal Teknologi Indonesia.
Alodokter. (2018, Juli 20). Retrieved from Alodokter.
Ashby, B., & Turkington, C. (2007). The encyclopedia of infectious diseases (edisi
ke-3rd). New York: Facts on File.
Danukusumo, K. P. (2017). Implementasi Deep Learning Menggunakan
Convolutional Neural Network Untuk Klasifikasi Citra Candi Berbasis
GPU. Yogyakarta : Universitas Atma Jaya.
E. P, I. W. (2016). Klasifikasi Citra Menggunakan Convolutional Neural Network
(CNN). Surabaya : Institut Teknologi Sepuluh Maret.
Indonesia, U. (2013). UNICEF/WHO: New plan to address pneumonia and
diarrhoea could save 2 million children a year.
J. Han, M. K. (2006). Data Mining: Concepts and Techniques. Morgan Kaufmann.
Kusumaningrum, T. F. (2018). IMPLEMENTASI CONVOLUTION NEURAL
NETWORK (CNN) UNTUK KLASIFIKASI JAMUR KONSUMSI DI
INDONESIA MENGGUNAKAN KERAS.
INDONESIA MENGGUNAKAN KERAS. YOGYAKARTA:
UNIVERSITAS ISLAM INDONESIA YOGYAKARTA.
Leach, R. E. (2009). Acute and Critical Care Medicine at a Glance.
WileyBlackwell.
Leach, R. E. (2009). Acute and Critical Care Medicine at a Glance. pp.
WileyBlackwell. ISBN 1-4051-6139-6.
M. J. Zaki, W. M. (2014). Data Mining and Analysis: Fundamental Concepts and
Algorithms. Cambridge: University Press.
McLuckie, A. (2009). Respiratory disease and its management. New Yor: Springer.
Nasichuddin, M. A. (2017). Implementasi CNN Untuk Klasifikasi Teks
Menggunakan Tensorflow.
Pommerville, J. C. (2010). Alcamo's Fundamentals of Microbiology. Sudbury MA:
Jones & Bartlett.
Pommerville, J. C. (2010). Alcamo's Fundamentals of Microbiology. Sudbury MA:
Jones & Bartlett.
Mada.
Suhartono, D. (2012). Dasar Pemahaman Neural Network.
Sutojo, T. E. (2017). Teori Pengolahan Citra Digital. Semarang : Universitas Dian
Nuswantoro.
Tintinalli, J. E. (2010). Emergency Medicine: A Comprehensive Study Guide
(Emergency Medicine (Tintinalli)). New York: McGraw-Hill Companies.
Utami, E. d. (2004). Logika, Algoritma dan Impelementasinya dalam Bahasa
Python di GNU/Linux. Yogyakarta : Andi Offset.
Z, H. (2006). "Pneumonia: update on diagnosis and management"
53
LAMPIRAN
54