IMPLEMENTASI JARINGAN SYARAF TIRUAN BACKPROPAGATION SEBAGAI SISTEM DETEKSI PENYAKIT TUBERCULOSIS (TBC)

(1)

i

IMPLEMENTASI JARINGAN SYARAF TIRUAN

BACKPROPAGATION SEBAGAI SISTEM DETEKSI

PENYAKIT TUBERCULOSIS (TBC)

skripsi

disajikan sebagai salah satu syarat untuk memperoleh gelar Sarjana Sains

Program Studi Matematika

oleh

Ratnaningtyas Widyani Purnamasari 4111409005

JURUSAN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS NEGERI SEMARANG

2013


(2)

ii

PERNYATAAN

Saya menyatakan bahwa skripsi ini bebas plagiat, dan apabila di kemudian hari terbukti terdapat plagiat dalam skripsi ini, maka saya bersedia menerima sanksi sesuai ketentuan peraturan perundang-undangan.

Semarang, Juli 2013

Ratnaningtyas WP. 4111409005


(3)

iii

Implementasi Jaringan Syaraf Tiruan Backpropagation sebagai Sistem Deteksi Tuberculosis (TBC)

disusun oleh

Ratnaningtyas Widyani Purnamasari 4111409005

telah dipertahankan di hadapan sidang Panitia Ujian Skripsi FMIPA UNNES pada tanggal 30 Juli 2013

Panitia:

Ketua Sekretaris

Prof. Dr. Wiyanto, M.Si. Drs. Arief Agoestanto, M.Si NIP. 19631012 198803 1 001 NIP. 19680722 199303 1 005 Ketua Penguji

Zaenal Abidin, S. Si., M. Cs. NIP. 19820504 200501 1 001

Anggota Penguji/ Anggota Penguji/

Pembimbing Utama Pembimbing Pendamping

Dr. Dwijanto, M. S. Endang Sugiharti, S. Si., M. Kom. NIP. 19580430 198403 1 006 NIP. 19740107 199903 2 001


(4)

iv

MOTTO DAN PERSEMBAHAN

Motto

Sesungguhnya bersama kesulitan ada kemudahan, maka apabila engkau telah selesai (dari sesuatu urusan), tetaplah bekerja keras (untuk urusan yang lain) (Q.S. Al Insyiraah : 6-7).

Education is the most powerful weapon which you can use to change the world (Nelson Mandela).

Manisnya keberhasilan akan menghapus pahitnya kesabaran, nikmatnya kemenangan melenyapkan letihnya perjuangan, menuntaskan pekerjaan dengan baik akan melenyapkan lelahnya jerih payah (Dr. Aidh bin Abdullah Al Qarni).

Persembahan

Skripsi ini kupersembahkan untuk:

Ibuku Winatul Ratnawati dan Bapakku Purnomo Dwi Atmojo atas samudra kasih sayang, doa, dan bimbingan yang diberikan.

Kakakku Mas Anggoro Ami Luhur atas doa dan dukungannya.

Mas Nor Sholeh atas kesetiaannya untuk menemani, menyemangati, dan menghiburku.

Sahabatku Erna, Azka, Putut, Fresti , dan teman-teman seperjuangan Matematika 2009 atas semangatnya.

Teman-teman kos atas dukungan dan canda tawanya.


(5)

v

Maha Esa atas segala limpahan rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan skripsi yang berjudul “Implementasi Jaringan Syaraf Tiruan Backpropagation sebagai Sistem Deteksi Penyakit Tuberculosis (TBC)”.

Penulisan skripsi ini dapat diselesaikan berkat bimbingan, bantuan, dukungan, dan kerjasama dari berbagai pihak. Oleh karena itu, penulis mengucapkan terima kasih kepada:

1. Ibu, bapak, dan kakak tercinta yang selalu memberikan doa serta dukungan baik secara moral maupun spiritual.

2. Prof. Dr. Fathur Rokhman, M. Hum., Rektor Universitas Negeri Semarang. 3. Prof. Dr. Wiyanto, M.Si., Dekan FMIPA Universitas Negeri Semarang. 4. Drs. Arief Agoestanto, M.Si., Ketua Jurusan Matematika FMIPA Universitas

Negeri Semarang.

5. Dra. Kristina Wijayanti, M.S., Ketua Prodi Matematika FMIPA Universitas Negeri Semarang.

6. Dr. Dwijanto, M.S., Dosen Pembimbing Utama yang telah memberikan bimbingan, motivasi, dan pengarahan.

7. Endang Sugiharti, S.Si., M.Kom., Dosen Pembimbing Pendamping yang telah memberikan bimbingan, motivasi, dan pengarahan.

8. dr. Budi Santoso, Penanggung Jawab BKPM Kota Pekalongan yang telah memberikan ijin penelitian.


(6)

vi

9. Segenap civitas matematika Unnes, khususnya Bapak dan Ibu dosen yang telah memberikan ilmunya dengan tulus.

10. Mahasiswa matematika angkatan 2009 yang telah berjuang bersama dalam suka dan duka.

11. Semua pihak yang telah membantu terselesaikannya penulisan skripsi ini. Akhirnya penulis berharap semoga skripsi ini dapat bermanfaat bagi para pembaca.

Semarang, Juli 2013


(7)

vii

Universitas Negeri Semarang. Pembimbing Utama Dr. Dwijanto, M.S. dan Pembimbing Pendamping Endang Sugiharti, S.Si., M.Kom.

Kata kunci: Jaringan Syaraf Tiruan (JST), Backpropagation, Software Matlab, Tuberculosis (TBC).

Penelitian tentang hubungan di antara fenomena-fenomena real merupakan dasar dari tujuan sains dan memainkan peranan penting dalam pengambilan keputusan di dalam kehidupan sehari-hari. Sebagai contoh adalah untuk mendeteksi penyakit TBC. Teknologi pengenalan pola dengan jaringan syaraf tiruan (JST) dapat dimanfaatkan dalam permasalahan ini dengan cara membuat sistem deteksi dini suspek atau tidaknya pasien mengidap TBC.

Permasalahan yang diangkat dalam penelitian ini adalah (1) Bagaimana menciptakan suatu sistem yang dapat mendeteksi penyakit Tuberculosis (TBC) secara dini menggunakan model jaringan syaraf tiruan backpropagation? (2) Bagaimana tingkat akurasi sistem dalam mendeteksi suspek atau tidaknya pasien mengidap penyakit Tuberculosis (TBC) berdasarkan data-data yang ada?

Metode yang digunakan untuk menganalisis permasalahan dalam penelitian ini adalah dengan studi pustaka, perumusan masalah, mengumpulkan dan mengolah data-data penelitian, merancang sistem, membuat sistem, menguji sistem, dan penarikan kesimpulan.

Pembahasan dilakukan yaitu tentang sistem deteksi penyakit Tuberculosis (TBC) dengan menggunakan JST backpropagation dengan memanfaatkan software matlab R2009a. Dari hasil pengujian sistem diperoleh tingkat akurasi sistem dalam mendeteksi penyakit Tuberculosis (TBC) sebesar 100%. Arsitektur jaringan yang paling baik digunakan dalam proses mendeteksi penyakit TBC adalah dengan variasi jumlah iterasi 1000, toleransi 0,001, learning rate 0,5 dan banyaknya neuron hidden layer 100. Arsitektur jaringan tersebut menghasilkan MSE sebesar 0,00144 dengan waktu training 11 detik.

Penelitian ini menghasilkan simpulan, yaitu (1) Pembuatan sistem deteksi penyakit TBC menggunakan software Matlab bisa mendapatkan hasil sistem deteksi dengan tingkat akurasi yang lebih optimal. (2) Dalam proses pelatihan dan pengujian sistem dapat diperoleh tingkat akurasi sebesar 100% dengan arsitektur jaringan yang optimal sebagai berikut: variasi jumlah iterasi 1000, toleransi 0,001, learning rate 0,5 dan banyaknya neuron hidden layer 100. Dalam sistem deteksi ini hanya ada enam variabel input, sehingga peneliti menyarankan untuk penelitian selanjutnya diharapkan adanya variabel input yang lebih rinci untuk digunakan sebagai data uji dan data target karena mungkin masih banyak faktor yang menyebabkan seseorang mengidap TBC.


(8)

viii

DAFTAR ISI

Halaman

PRAKATA ... v

ABSTRAK ... vii

DAFTAR ISI ... viii

DAFTAR TABEL ... xiv

DAFTAR GAMBAR ... xvi

DAFTAR LAMPIRAN ... xviii

BAB 1. PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Perumusan Masalah ... 7

1.3 Batasan Masalah ... 8

1.4 Tujuan dan Manfaat ... 8

1.4.1 Tujuan Penulisan ... 8

1.4.2 Manfaat Penulisan ... 9

1.5 Sistematika Penulisan ... 10

1.5.1 Bagian Awal ... 10

1.5.2 Bagian Pokok ... 10

1.5.3 Bagian Akhir ... 11

2. LANDASAN TEORI ... 12

2.1 Tuberculosis (TBC) ... 12


(9)

ix

2.2.3.1 Input Layer... 18

2.2.3.2 Hidden Layer ... 18

2.2.3.3 Output Layer ... 18

2.2.4 Arsitektur Jaringan Syaraf Tiruan ... 18

2.2.4.1 Jaringan Layer Tunggal ... 20

2.2.4.2 Jaringan Layer Jamak ... 21

2.2.4.3 Jaringan Reccurent... 22

2.2.5 Backpropagation ... 22

2.2.6 Fungsi Aktivasi ... 24

2.2.6.1 Fungsi Sigmoid Biner ... 24

2.2.6.2 Fungsi Sigmoid Bipolar ... 25

2.2.6.3 Fungsi Tangen Hiperbolik ... 25

2.2.7 Pelatihan Standar Backpropagation ... 26

2.2.7.1 Fase 1 ... 26

2.2.7.2 Fase 2 ... 26

2.2.7.3 Fase 3 ... 27

2.2.8 Algoritma Pelatihan ... 27

2.2.9 Mean Square Error (MSE) ... 30

2.3. Pengenalan Pola ... 30


(10)

x

2.3.2 Klasifikasi ... 31

2.3.3 Pengenalan ... 31

2.4 Matrix Laboratory (Matlab) ... 31

2.4.1 Jendela-jendela pada Matlab ... 32

2.4.1.1 Command Window/ Editor ... 32

2.4.1.2 Current Directory ... 34

2.4.1.3 Command History ... 34

2.4.1.4 Editor/ Debugger (Editor M-File/ Pencarian Kesalahan) .. 35

2.4.1.5 Figure Windows ... 35

2.4.1.6 Workspace ... 36

2.4.1.7 Matlab Help Window ... 36

2.4.2 Kelengkapan pada Sistem Matlab ... 37

2.4.2.1 Development Environment ... 37

2.4.2.2 Matlab Mathematical Function Library ... 37

2.4.2.3 Matlab Language ... 37

2.4.2.4 Graphics ... 38

2.4.2.5 Matlab Application Program Interface (API) ... 38

2.4.3 GUIDE Matlab ... 38

2.4.3.1 Keunggulan GUIDE Matlab ... 39

2.4.3.2 Komponen GUIDE Matlab ... 39

2.4.3.2.1 Push Button ... 40

2.4.3.2.2 Toggle Button ... 40


(11)

xi

2.4.3.2.7 Slider ... 41

2.4.3.2.8 Frames ... 41

2.4.3.2.9 Listboxes ... 42

2.4.3.2.10 Popup Menu ... 42

2.4.3.2.11 Axes ... 42

2.4.4 Toolbox Backpropagation di Matlab ... 42

2.5 Confusion Matrix ... 43

3. METODE PENELITIAN ... 46

3.1 Studi Pustaka ... 46

3.2 Perumusan Masalah ... 46

3.3 Pemecahan Masalah ... 47

3.3.1 Pengumpulan Data dan Pengolahan Data ... 47

3.3.2 Perancangan, Pembuatan, dan Pengujian Sistem ... 48

3.3.2.1 Perancangan Sistem ... 48

3.3.2.2 Pembuatan Sistem ... 48

3.3.2.3 Pengujian Sistem ... 48

3.4 Penarikan Kesimpulan ... 49

4. HASIL DAN PEMBAHASAN ... 50

4.1 Hasil Penelitian ... 50


(12)

xii

4.1.2 Pendefinisian Input dan Target ... 51

4.1.2.1 Pendefinisian Input... 51

4.1.2.2 Penetapan Target ... 52

4.1.3 Tahap Pengolahan Data ... 55

4.1.4 Tahap Perancangan Sistem ... 56

4.1.4.1 Perancangan Sistem Pelatihan ... 56

4.1.4.2 Perancangan Arsitektur Jaringan Syaraf Tiruan ... 57

4.1.4.2.1 Bobot dan Bias ... 57

4.1.4.2.2 Jumlah Neuron pada Lapisan Tersembunyi ... 57

4.1.4.2.3 Error Goal (Kinerja Tujuan) ... 58

4.1.4.2.4 Learning Rate (Laju Pembelajaran) ... 58

4.1.4.2.5 Fungsi Aktivasi ... 59

4.1.4.2.6 Maksimum Epoh ... 59

4.1.4.3 Perancangan Pengujian Sistem Deteksi ... 62

4.1.4.4 Perancangan Desain Sistem ... 63

4.1.4.4.1 Desain Tampilan Form Halaman Depan ... 63

4.1.4.4.2 Desain Tampilan Form Pelatihan ... 64

4.1.4.4.3 Desain Tampilan Form Deteksi Penyakit TBC . 65 4.2 Tahap Implementasi Sistem ... 66

4.2.1 Tampilan Form Halaman Depan ... 66

4.2.2 Implementasi Form Pelatihan ... 67

4.2.3 Implementasi Form Deteksi ... 69


(13)

xiii

4.4 Analisis Hasil Kerja Sistem ... 83

5. PENUTUP ... 86

5.1 Simpulan ... 86

5.2 Saran ... 87

DAFTAR PUSTAKA ... 88


(14)

xiv

DAFTAR TABEL

Tabel Halaman

1.1 Peringkat Penderita TBC di Dunia Tahun 2010 ... 3

2.1 Contoh Confussion Matrix ... 44

4.1 Data Pelatihan ... 53

4.2 Data Pengujian ... 55

4.3 Variasi Learning Rate dan Banyaknya Neuron Hidden Layer ... 59

4.4. Analisis Hasil Variasi Arsitektur Jaringan ... 72

4.5 Confusion Matrix Hasil Deteksi Data Latih Variasi 1 ... 73

4.6 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 1 ... 74

4.7 Confusion Matrix Hasil Deteksi Data Latih Variasi 2 ... 74

4.8 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 2 ... 75

4.9 Confusion Matrix Hasil Deteksi Data Latih Variasi 3 ... 75

4.10 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 3 ... 75

4.11 Confusion Matrix Hasil Deteksi Data Latih Variasi 4 ... 76

4.12 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 4 ... 76

4.13 Confusion Matrix Hasil Deteksi Data Latih Variasi 5 ... 76

4.14 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 5 ... 77

4.15 Confusion Matrix Hasil Deteksi Data Latih Variasi 6 ... 77

4.16 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 6 ... 77

4.17 Confusion Matrix Hasil Deteksi Data Latih Variasi 7 ... 78

4.18 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 7 ... 78


(15)

xv

4.23 Confusion Matrix Hasil Deteksi Data Latih Variasi 10 ... 79

4.24 Confusion Matrix Hasil Deteksi Non Data Latih Variasi 10 ... 80

4.25 Confusion Matrix Hasil Deteksi Data Latih Variasi 11 ... 80

4.26 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 11 ... 80

4.27 Confusion Matrix Hasil Deteksi Data Latih Variasi 12 ... 81

4.28 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 12 ... 81

4.29 Confusion Matrix Hasil Deteksi Data Latih Variasi 13 ... 81

4.30 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 13 ... 82

4.31 Confusion Matrix Hasil Deteksi Data Latih Variasi 14 ... 82

4.32 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 14 ... 82

4.33 Confusion Matrix Hasil Deteksi Data Latih Variasi 15 ... 83


(16)

xvi

DAFTAR GAMBAR

Gambar Halaman

1.1 Diagram Populasi Penderita TBC Tahun 2007 di Jawa Tengah Menurut Usia

dan Jenis Kelamin ... 1

1.2 Grafik Angka Penjaringan Suspek TBC di Indonesia Tahun 2007 – 2011 ... 2

1.3 Peringkat Penderita TBC di Dunia... 3

1.4 Grafik Angka Penemuan TB Paru Kota Pekalongan Tahun 2008-2010 ... 4

2.1 Sebuah Sel Syaraf Tiruan ... 19

2.2 Jaringan Layer Tunggal ... 20

2.3 Jaringan Layer Jamak ... 21

2.4 Jaringan Recurrent ... 22

2.5 Arsitektur Backpropagation ... 23

2.6 Fungsi Sigmoid Biner dengan Range (0,1) ... 24

2.7 Fungsi Sigmoid Bipolar dengan Range (-1,1) ... 25

2.8 Matlab Command Window ... 33

2.9 Matlab Current Directory ... 34

2.10 Matlab Command History ... 34

2.11 Matlab Editor M-File ... 35

2.12 Matlab Figure Windows ... 35

2.13 Matlab Workspace ... 36

2.14 Matlab Help Window ... 36

2.15 Tampilan GUIDE Matlab ... 39


(17)

xvii

4.5 Desain Tampilan Form Pelatihan ... 64

4.6 Desain Tampilan Form Deteksi Penyakit TBC ... 65

4.7 Tampilan Form Halaman Depan ... 66

4.8 Tampilan Form Pelatihan Sistem ... 67


(18)

xviii

DAFTAR LAMPIRAN

Lampiran Halaman

Desain Tampilan Halaman Depan Program dengan Propertinya ... 90

Kode Program untuk Halaman Depan ... 91

Desain Tampilan Pelatihan Sistem dengan Propertinya ... 94

Kode Program untuk Pelatihan Sistem ... 95

Desain Tampilan Pendeteksian TBC dengan Propertinya ... 100

Kode Program untuk Pendeteksian TBC ... 102

Desain Tampilan Halaman Profil ... 114

Kode Program untuk Halaman Profil ... 115

Kode Program untuk Fungsi Backpropagation ... 118

Contoh Program Saat Dijalankan ... 119

Data Pasien Suspek TBC di BKPM Kota Pekalongan ... 122

Data Pasien Non Suspek TBC di BKPM Kota Pekalongan ... 125

Data Uji Coba Variabel Pelatihan ... 127

Surat Ketetapan Dosen Pembimbing ... 131

Surat Ijin Penelitian dari Fakultas ... 132

Surat Ijin Penelitian dari BAPPEDA Kota Pekalongan ... 133


(19)

1

BAB 1

PENDAHULUAN

1.1

Latar Belakang

Penyakit Tuberculosis (TBC) merupakan suatu penyakit infeksi kronis atau menahun dan menular langsung yang disebabkan oleh bakteri Mycobacterium tuberculosis yang dapat menyerang pada siapa saja tanpa memandang usia dan jenis kelamin, namun sesuai fakta yang ada bahwa penyakit TBC lebih banyak menyerang mereka yang berusia produktif, yaitu berkisar antara usia 15 tahun – 35 tahun.

Gambar 1.1 Diagram Populasi Penderita TBC Tahun 2007 di Jawa Tengah Menurut Usia dan Jenis Kelamin (Kemenkes R.I., 2012)

Udara merupakan media penyebaran bakteri Mycobacterium tuberculosis dalam penularan penyakit TBC, biasanya bakteri ini terbawa pada saat penderita TBC batuk atau mengeluarkan dahak dan meludahkannya ke sembarang tempat. Jika bakteri ini sering masuk dan berkumpul di dalam paru-paru, maka perkembangbiakan bakteri ini akan semakin cepat terutama pada orang dengan


(20)

2

daya tahan tubuh yang rendah. Setelah terjadi infeksi, maka akan dengan mudah menyebar melalui pembuluh darah atau kelenjar getah bening. Oleh sebab itu, infeksi TBC dapat menginfeksi hampir seluruh organ tubuh, seperti paru-paru, otak, ginjal, saluran pencernaan, tulang, kelenjar getah bening, dan lain-lain. Meskipun demikian, organ tubuh yang paling sering terkena yaitu paru-paru.

Menurut Zain, sebagaimana dikutip oleh Muttaqin (2008: 72), berdasarkan Survei Kesehatan Rumah Tangga (SKRT) 1992, penyakit TBC di Indonesia merupakan penyebab kematian nomor dua terbesar setelah penyakit jantung. Sebagian besar penderita TB paru berasal dari kelompok masyarakat usia produktif dan berpenghasilan rendah. Adanya wabah HIV/AIDS di seluruh dunia juga turut memengaruhi jumlah penderita TB paru, termasuk Asia Tenggara. Selain itu, peningkatan jumlah penderita TB juga dipengaruhi oleh industrialisasi, kemudahan transportasi, serta perubahan ekosistem. Dari hasil survei yang dilakukan oleh WHO didapatkan fakta bahwa kematian wanita akibat TB lebih besar daripada kematian akibat kehamilan dan persalinan.

Gambar 1.2 Grafik Angka Penjaringan Suspek TBC di Indonesia Tahun 2007 – 2011 (Kemenkes R.I., 2012)


(21)

Semenjak tahun 2000, TBC telah dinyatakan oleh WHO sebagai remerging disease karena angka kejadian TBC yang telah dinyatakan menurun pada tahun 1990-an kembali meningkat. Meskipun demikian, untuk kasus di Indonesia, angka TBC tidak pernah menurun bahkan cenderung meningkat. Hampir 10 tahun lamanya Indonesia menempati urutan ke-3 sedunia dalam hal jumlah penderita Tuberculosis (TBC). Baru pada tahun 2009 turun ke peringkat lima dan masuk dalam milestone atau pencapaian kinerja satu tahun Kementerian Kesehatan. Berdasarkan Data Badan Kesehatan Dunia (WHO) pada tahun 2007, menyatakan jumlah penderita TBC di Indonesia sekitar 528 ribu atau berada di posisi tiga di dunia setelah India dan Cina. Laporan WHO pada tahun 2010, mencatat peringkat Indonesia menurun ke posisi empat dengan jumlah penderita TBC sebesar 450 ribu orang. Lima negara dengan jumlah terbesar kasus insiden pada tahun 2010 adalah India, Cina, Afrika Selatan, Indonesia, dan Pakistan (http://www. globalhealthfacts.org).

Tabel 1.1 Peringkat Penderita TBC di Dunia Tahun 2010 Peringkat Negara Jumlah Penderita TBC

1 India 2.300.000

2 Cina 1.000.000

3 Afrika Selatan 490.000

4 Indonesia 450.000

5 Pakistan 400.000

6 Bangladesh 330.000

7 Filipina 260.000

8 Kongo 220.000

8 Ethiopia 220.000

9 Nigeria 210.000

10 Myanmar 180.000

10 Vietnam 180.000


(22)

4

Menurut data dari Dinas Kesehatan kota Pekalongan tahun 2010, angka penemuan penderita TB dengan Basil Tahan Asam (BTA) (+) di kota Pekalongan tahun 2010 di 12 Puskesmas sebanyak 145 penderita (Case Detection Rate/ CDR 43,54%) meningkat dibandingkan tahun 2009 sebanyak 127 penderita (CDR 39,81%). Sedangkan angka penemuan kasus dari BKPM dan rumah sakit sebanyak 175 penderita (CDR 52,55%). Sehingga apabila digabungkan, maka pencapaian CDR tahun 2010 adalah sebesar 96,1% dan angka tersebut sudah di atas target nasional yaitu sebesar 70%.

Gambar 1.3 Grafik Angka Penemuan TB Paru Kota Pekalongan Tahun 2008-2010

Balai Kesehatan Paru Masyarakat (BKPM) kota Pekalongan yang beralamat di jalan W.R. Supratman nomor 77 kota Pekalongan merupakan instansi milik pemerintah kota Pekalongan di bawah naungan Dinas Kesehatan

kota Pekalongan. Dengan motto “Paruku Sehat Hidupku Nikmat”, BKPM kota

Pekalongan ini memiliki tujuan meningkatkan derajat kesehatan masyarakat dengan memberikan pelayanan kesehatan paru-paru meliputi kegiatan (1) meningkatkan cakupan penderita baru TBC; (2) mengobati dan mencegah penyakit paru lainnya; (3) mengobati penderita TBC sesuai panduan; (4)


(23)

meningkatkan kesembuhan sampai dengan 85%; serta (5) menekan angka putus berobat atau mangkir. Beberapa pelayanan unggulan yang disediakan oleh BKPM kota Pekalongan antara lain, (1) pelayanan klinik berhenti merokok yang bertujuan mengajak pasien untuk mengurangi faktor risiko penyakit paru kronik melalui konseling berhenti merokok dan (2) pelayanan klinik TB HIV-AIDS yang bertujuan membantu klien mengenali perilaku atau kegiatan yang dapat menjadi sarana penularan TB/ HIV, menyediakan informasi tentang HIV, testing HIV, pencegahan dan pengobatannya, serta memberikan dukungan moril untuk perubahan yang lebih sehat.

Penelitian tentang hubungan di antara fenomena-fenomena real merupakan dasar dari tujuan sains dan memainkan peranan penting dalam pengambilan keputusan di dalam kehidupan sehari-hari. Seiring dengan perkembangan zaman banyak perubahan teknologi dan informasi yang mengalami kemajuan yang pesat. Peranan komputer sangat penting untuk membantu pekerjaan manusia sehari-hari dalam segala aspek bidang. Sejalan dengan perkembangan saat ini, para ahli mencoba menggantikan komputer menjadi suatu alat bantu yang dapat meniru cara kerja otak manusia, sehingga diharapkan suatu saat akan tercipta komputer yang dapat menimbang dan mengambil keputusan sendiri. Hal inilah yang mendorong lahirnya teknologi kecerdasan tiruan (Artificial Intelligece/ AI). Salah satu teknik komputasi yang dikelompokkan dalam AI adalah jaringan syaraf tiruan (Artificial Neural Network/ ANN).


(24)

6

Berdasarkan hasil pengamatan Fausset (1994: 2), saat ini jaringan syaraf tiruan (JST) sangat menarik bagi para peneliti di berbagai bidang untuk alasan yang berbeda.

... electrical engineers find numerous applications in signal processing and control theory. Computer engineers are intrigued by potential for hardware to implement neural nets efficiently and by applications of neural nets robotics. Computer scientists find that neural nets show promise for difficult problems in areas such as artificial intelligence and pattern recognition. For applied mathematicians, neural nets are a powerful tool for modeling problems for which the explicit form of the relationships among certain variables is not known.

JST merupakan sistem pemrosesan informasi yang mempunyai penampilan karakteristik menyerupai jaringan syaraf biologi (Fausett, 1994: 3). JST adalah salah satu alternatif pemecahan masalah dan banyak diminati oleh para peneliti pada saat ini. Hal ini adalah karena keluwesan yang dimiliki oleh JST, baik dalam perancangan maupun penggunaannya. JST merupakan salah satu sistem pemrosesan yang dirancang dan dilatih untuk memiliki kemampuan seperti yang dimiliki oleh manusia dalam menyelesaikan persoalan yang rumit dengan melakukan proses belajar melalui perubahan bobot sinapsisnya. Jaringan syaraf menyimulasi struktur proses-proses otak (fungsi syaraf biologis) dan kemudian membawanya kepada perangkat lunak kelas baru yang dapat mengenali pola-pola yang kompleks serta belajar dari pengalaman-pengalaman masa lalu.

Banyak aplikasi-aplikasi yang telah dihasilkan seiring berkembangnya teknologi. Penelitian-penelitian tentang aplikasi penggunaan JST telah banyak dikaji dalam berbagai ilmu pengetahuan, misalnya di bidang kedokteran adalah Application of Neural Networks to the Interpretation of Laboratory Data in Cancer Diagnosis (Astion et all., 1992). Jaringan syaraf tiruan juga digunakan


(25)

dalam bidang ekonomi seperti Prediksi Harga Saham Menggunakan Jaringan Syaraf Tiruan Multilayer Feed Forward Network dengan Algoritma Backpropagation (Setiawan, 2008).

Berdasarkan permasalahan tersebut dan dengan perkembangan teknologi jaringan syaraf, muncul gagasan untuk membuat suatu sistem yang dapat mendeteksi dini penyakit TBC yang dapat bekerja dengan efektif.

Akan sangat membantu jika ada suatu alat untuk mendeteksi penyakit (TBC) pada pasien agar dapat dilakukan penanganan sedini mungkin. Untuk itu, pada penelitian ini dipelajari dan dicoba membuat aplikasi JST untuk mendeteksi penyakit (TBC). JST dalam mendiagnosis jenis penyakit menyimpan sejumlah data, yaitu informasi gejala-gejala yang terdapat pada pasien. Pelatihan jaringan dapat dipresentasikan dengan input yang terdiri atas serangkaian gejala yang diidap oleh penderita. Setelah itu, jaringan syaraf akan melatih input gejala tersebut, sehingga ditemukan suatu akibat dari gejala tersebut yaitu suspek atau tidaknya pasien mengidap Tuberculosis.

1.2

Perumusan Masalah

Berdasarkan permasalahan yang telah diuraikan pada bagian latar belakang, maka permasalahan yang timbul antara lain:

a. Bagaimana menciptakan suatu sistem yang dapat mendeteksi penyakit Tuberculosis (TBC) secara dini menggunakan model jaringan syaraf tiruan backpropagation?


(26)

8

b. Bagaimana tingkat akurasi sistem dalam mendeteksi suspek atau tidaknya pasien mengidap penyakit Tuberculosis (TBC) berdasarkan data-data yang ada?

1.3 Batasan Masalah

Agar dalam pembahasan skripsi ini tidak terlalu meluas, maka penulis mencantumkan pembatasan masalah sebagai berikut.

a. Penyakit Tuberculosis (TBC) yang dimaksud dalam penelitian ini adalah TBC paru.

b. Menciptakan suatu sistem untuk mendeteksi dini penyakit TBC berdasarkan gejala-gejala umum TBC dengan bantuan software Matlab R2009a.

c. Mengetahui pengaruh perubahan variasi jumlah neuron hidden layer dan learning rate dalam sistem terhadap tingkat akurasi pendeteksian.

d. Data yang digunakan dalam penelitian ini hanya diambil dari Balai Kesehatan Paru Masyarakat (BKPM) kota Pekalongan, Jawa Tengah.

1.4

Tujuan dan Manfaat

1.4.1 Tujuan Penulisan

Tujuan penulisan skripsi ini adalah:

a. Merancang suatu sistem yang dapat mendeteksi penyakit TBC secara dini supaya pasien mendapat pengobatan sedini mungkin dengan menggunakan jaringan syaraf tiruan backpropagation.

b. Mengetahui tingkat akurasi sistem dalam mendeteksi penyakit TBC.

c. Menentukan arsitektur jaringan yang optimal untuk JST dalam mendeteksi penyakit TBC.


(27)

1.4.2 Manfaat Penulisan

Manfaat yang bisa diperoleh dari penyusunan skripsi ini adalah: a. Bagi peneliti

1) Peneliti dapat membuat suatu sistem yang dapat mendeteksi penyakit TBC secara dini dengan jaringan syaraf tiruan backpropagation.

2) Peneliti dapat menentukan dan mengetahui arsitektur jaringan syaraf tiruan yang paling optimal untuk mendeteksi penyakit TBC.

3) Peneliti dapat mengetahui tingkat keakuratan sistem yang digunakan untuk mendeteksi penyakit TBC berdasarkan gejala-gejala yang ada pada pasien. b. Bagi Mahasiswa

Penelitian ini dapat memberikan inspirasi dan gagasan baru bagi mahasiswa untuk mengembangkan dan merancang aplikasi menggunakan JST yang nantinya dapat dimanfaatkan di berbagai bidang ilmu pengetahuan sehingga berguna dalam kehidupan sehari-hari.

c. Bagi instansi terkait

Hasil penelitian ini dapat bermanfaat bagi instansi yang berkaitan dengan kesehatan dalam mendignosis serta memberikan informasi kepada para pasien guna mengantisipasi penyebaran penyakit TBC sehingga dapat melakukan langkah-langkah konkret untuk menanggulanginya.


(28)

10

1.5

Sistematika Penulisan

Secara garis besar penulisan skripsi ini terdiri atas tiga bagian, yaitu bagian awal, bagian isi, dan bagian pokok, yang masing-masing diuraikan sebagai berikut.

1.5.1 Bagian Awal

Dalam penulisan skripsi ini, bagian awal berisi halaman judul, halaman pengesahan, motto dan persembahan, kata pengantar, abstrak, daftar isi, daftar tabel, daftar gambar, dan daftar lampiran.

1.5.2 Bagian Pokok

Bagian pokok dari penulisan skripsi ini adalah isi skripsi yang terdiri atas lima bab, yaitu:

(1) BAB I PENDAHULUAN

Berisi tentang latar belakang, perumusan masalah, batasan masalah, tujuan dan manfaat, serta sistematika penulisan skripsi.

(2) BAB II LANDASAN TEORI

Berisi tentang Tuberculosis, jaringan syaraf tiruan, Matrix Laboratory (Matlab), dan confusion matrix.

(3) BAB III METODE PENELITIAN

Berisi tentang prosedur atau langkah-langkah yang dilakukan dalam penelitian ini meliputi studi pustaka, perumusan masalah, pemecahan masalah, analisis pemecahan masalah, dan penarikan simpulan.


(29)

(4) BAB IV HASIL DAN PEMBAHASAN

Berisi tentang perancangan sistem deteksi dini penyakit TBC dengan metode jaringan syaraf tiruan backpropagation, pengambilan data, pengolahan data, pengukuran evaluasi unjuk kerja sistem, dan analisis hasil kerja sistem

(5) BAB V PENUTUP

Berisi simpulan hasil penelitian dan saran-saran peneliti.

1.5.3 Bagian Akhir

Berisi daftar pustaka sebagai acuan penulisan yang mendukung kelengkapan skripsi ini dan lampiran-lampiran yang melengkapi uraian pada bagian isi.


(30)

12

BAB 2

LANDASAN TEORI

2.1

Tuberculosis

(TBC)

Menurut Misnadiarly (2006: 11), penyakit TBC (Tuberkulosa) merupakan penyakit kronis (menahun) yang telah lama dikenal oleh masyarakat luas dan ditakuti karena menular. Pada 1882, Robert Kock secara meyakinkan telah dapat memberikan bukti bahwa TBC adalah suatu penyakit infeksi yang disebabkan oleh bakteri yang diberi nama Mycobacterium tuberculosis. Bakteri tersebut berwarna merah, berbentuk batang, dan tahan asam disebut Basil Tahan Asam (BTA). Orang yang pertama kali dapat membuktikan bahwa TBC adalah penyakit yang dapat ditularkan adalah Villemin yang hidup pada tahun 1827-1894. Menurut Robbins, sebagaimana dikutip oleh Misnadiarly (2006: 11), TBC adalah penyakit infeksi kronis yang disebabkan oleh Mycobacterium tuberculosis, dan biasa terdapat pada paru-paru, tetapi mungkin juga pada organ lain seperti kelenjar getah bening (nodus lymphaticus). Bakteri TBC yang masuk ke dalam kelenjar getah bening dapat menimbulkan peradangan pada kelenjar tersebut disertai perubahan struktur jaringan.

Gejala-gejala umum dari penyakit Tuberculosis adalah sebagai berikut (Muttaqin: 2008).


(31)

1. Batuk berdahak

Keluhan batuk timbul paling awal dan merupakan gangguan yang paling sering dikeluhkan. Jika penyakit TBC sudah cukup parah, maka batuk akan disertai dengan darah.

2. Sesak napas

Keluhan ini ditemukan bila kerusakan parenkim paru sudah luas atau karena ada hal lain yang menyertai, seperti efusi pleura (adanya cairan di dada), pneumothoraks (rongga pleura terisi udara), anemia, dan lain-lain. 3. Nyeri dada

Nyeri dada pada TBC termasuk nyeri pleuritik ringan (dada terinfeksi bakteri). Gejala ini timbul apabila sistem pernapasan di pleura terkena TBC. 4. Demam pada sore atau malam hari

Keluhan yang sering dijumpai dan biasanya timbul pada sore atau malam hari mirip demam influenza, hilang timbul, dan semakin lama semakin panjang serangannya, sedangkan masa bebas serangan semakin pendek.

5. Keluhan lain yang biasa timbul ialah keringat malam, anoreksia, penurunan berat badan, dan badan lemah (malaise). Timbulnya keluhan biasanya bersifat gradual muncul dalam beberapa minggu – bulan.

Berkembangnya penyakit TBC di Indonesia tidak lain berkaitan dengan memburuknya kondisi sosial ekonomi, belum optimalnya fasilitas pelayanan kesehatan masyarakat, meningkatnya jumlah penduduk yang tidak mempunyai tempat tinggal, dan adanya epidemik dari infeksi HIV. Hal ini juga tentunya


(32)

14

mendapat pengaruh besar dari daya tahan tubuh yang lemah atau menurun dan jumlah kuman yang memegang peranan penting dalam terjadinya infeksi TBC.

2.2

Jaringan Syaraf Tiruan (JST)

2.2.1 Sejarah Jaringan Syaraf Tiruan

Jaringan syaraf tiruan sederhana pertama kali diperkenalkan oleh McCulloch dan Pitts di tahun 1943. McCulloch dan Pitts menyimpulkan bahwa kombinasi beberapa neuron sederhana menjadi sebuah sistem neural akan meningkatkan kemampuan komputasinya. Bobot dalam jaringan yang diusulkan oleh McCulloch dan Pitts diatur untuk melakukan fungsi logika sederhana. Fungsi aktivasi yang dipakai adalah fungsi threshold. Tahun 1949, Hebb mencoba mengkaji proses belajar yang dilakukan oleh neuron. Teori ini dikenal sebagai Hebbian Law. Tahun 1958, Rosenblatt memperkenalkan dan mulai mengembangkan model jaringan yang disebut perceptron. Metode pelatihan diperkenalkan untuk mengoptimalkan hasil iterasinya.

Pada tahun 1960, Widrow dan Hoff mengembangkan perceptron dengan memperkenalkan aturan pelatihan jaringan yang dikenal sebagai aturan delta (atau sering disebut kuadrat rata-rata terkecil). Aturan ini akan mengubah bobot perceptron apabila keluaran yang dihasilkan tidak sesuai dengan target yang diinginkan. Tahun 1969, Minsky dan Papert melontarkan suatu kritikan tentang kelemahan perceptronnya Rosenblatt di dalam memilah-milah pola yang tidak linier. Sejak saat itu, penelitian di bidang JST telah mengalami masa vakum untuk kurang lebih satu dasawarsa.


(33)

Tahun 1982, Hopfield telah memperluas aplikasi JST untuk memecahkan masalah-masalah optimasi. Hopfield telah berhasil memperhitungkan fungsi energi ke dalam jaringan syaraf, yaitu agar jaringan memiliki kemampuan mengingat atau memperhitungkan suatu obyek dengan obyek yang pernah dikenal atau diingat sebelumnya (associative memory). Konfigurasi jaringan yang demikian dikenal sebagai recurrent network. Salah satu aplikasinya adalah Travelling Salesman Problem (TSP) (Puspitaningrum, 2006).

Pada tahun 1986, Rumelhart menciptakan suatu algoritma belajar yang dikenal sebagai propagasi balik (backpropagation). Bila algoritma ini diterapkan pada perceptron yang memiliki lapisan banyak (multi layer perceptron), maka dapat dibuktikan bahwa pemilahan pola-pola yang tidak linier dapat diselesaikan. Perkembangan JST yang ramai dibicarakan sejak tahun 1990-an adalah aplikasi model-model jaringan syaraf tiruan untuk menyelesaikan berbagai masalah di dunia nyata (Siang, 2009).

2.2.2 Definisi Jaringan Syaraf Tiruan

Jaringan syaraf tiruan (JST) didefinisikan sebagai suatu sistem pemrosesan informasi yang mempunyai karakteristik menyerupai jaringan syaraf manusia (Hermawan, 2006). Beberapa istilah dalam JST yang sering ditemui adalah sebagai berikut.

a) Neuron atau node atau unit: sel syaraf tiruan yang merupakan elemen pengolahan jaringan syaraf tiruan. Setiap neuron menerima data input, memproses input tersebut kemudian mengirimkan hasilnya berupa sebuah output.


(34)

16

b) Jaringan: kumpulan neuron yang saling terhubung dan membentuk lapisan. c) Lapisan tersembunyi (hidden layer): lapisan yang tidak secara langsung

berinteraksi dengan dunia luar. Lapisan ini memperluas kemampuan jaringan syaraf tiruan dalam menghadapi masalah-masalah yang kompleks.

d) Input: sebuah nilai input yang akan diproses menjadi nilai output. e) Output: solusi dari nilai input.

f) Bobot: nilai matematis dari sebuah koneksi antar-neuron.

g) Fungsi aktivasi: fungsi yang digunakan untuk meng-update nilai-nilai bobot per-iterasi dari semua nilai input.

h) Fungsi aktivasi sederhana adalah mengalikan input dengan bobotnya dan kemudian menjumlahkannya (disebut penjumlahan sigma) berbentuk linier atau tidak linier dan sigmoid.

i) Paradigma pembelajaran: bentuk pembelajaran, supervised learning, atau unsupervised learning.

Menurut Siang (2009:2), JST adalah sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologi. JST dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologi, dengan asumsi bahwa a. Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron).

b. Sinyal dikirimkan di antara neuron-neuron melalui penghubung-penghubung. c. Penghubung antar-neuron memiliki bobot yang akan memperkuat atau

memperlemah sinyal.

d. Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi (biasanya bukan fungsi linier) yang dikenakan pada jumlahan input yang


(35)

diterima. Besarnya output ini selanjutnya dibandingkan dengan suatu batas ambang (threshold).

JST ditentukan oleh tiga hal, yaitu

(1) Pola hubungan antar-neuron (disebut arsitektur jaringan).

(2) Metode untuk menentukan bobot penghubung (disebut metode training/ learning/ algoritma).

(3) Fungsi aktivasi (fungsi transfer).

Neuron adalah unit pemroses informasi yang menjadi dasar dalam pengoperasian jaringan syaraf tiruan (Siang, 2009:23). Neuron terdiri atas tiga elemen pembentuk sebagai berikut.

(1) Himpunan unit-unit yang dihubungkan dengan jalur koneksi.

(2) Suatu unit penjumlah yang akan menjumlahkan masukan-masukan sinyal yang sudah dikalikan dengan bobotnya.

(3) Fungsi aktivasi yang menentukan apakah sinyal dari input neuron akan diteruskan ke neuron lain ataukah tidak.

Neuron dalam jaringan syaraf tiruan sering diganti dengan istilah simpul. Setiap simpul tersebut berfungsi untuk menerima atau mengirim sinyal dari atau ke simpul-simpul lainnya. Pengiriman sinyal disampaikan melalui penghubung. Kekuatan hubungan yang terjadi antara setiap simpul yang saling terhubung dikenal dengan nama bobot.


(36)

18

2.2.3 Komponen Jaringan Syaraf Tiruan

Pada umumnya JST memiliki dua lapisan, yaitu input layer dan output layer. Tetapi pada perkembangannya, adapula JST yang memiliki satu lapisan lagi yang terletak di antara input layer dan output layer. Lapisan ini disebut lapisan hidden layer. Menurut Halim et all. (2004: 12), berikut penjelasan mengenai komponen JST.

2.2.3.1 Input 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. Node pada lapisan ini tergantung pada banyaknya input dari suatu pola.

2.2.3.2 Hidden Layer

Lapisan ini tidak pernah muncul sehingga dinamakan hidden layer. Akan tetapi semua proses pada fase pelatihan dan fase pengenalan dijalankan di lapisan ini. Jumlah lapisan ini tergantung dari arsitektur yang akan dirancang, tetapi pada umumnya terdiri dari satu lapisan hidden layer.

2.2.3.3 Output Layer

Output layer berfungsi untuk menampilkan hasil perhitungan sistem oleh fungsi aktivasi pada lapisan hidden layer berdasarkan input yang diterima.

2.2.4 Arsitektur Jaringan Syaraf Tiruan

Arsitektur jaringan dan algoritma pelatihan sangat menentukan model-model JST. Arsitektur tersebut gunanya untuk menjelaskan arah perjalanan sinyal atau data di dalam jaringan. Sedangkan algoritma belajar menjelaskan bagaimana


(37)

bobot koneksi harus diubah agar pasangan masukan-keluaran yang diinginkan dapat tercapai. Dalam setiap perubahan harga bobot koneksi dapat dilakukan dengan berbagai cara, tergantung pada jenis algoritma pelatihan yang digunakan. Dengan mengatur besarnya nilai bobot ini diharapkan bahwa kinerja jaringan dalam mempelajari berbagai macam pola yang dinyatakan oleh setiap pasangan masukan-keluaran akan meningkat. Sebagai contoh, perhatikan neuron pada Gambar 2.1 berikut.

Gambar 2.1 Sebuah Sel Syaraf Tiruan

Pada Gambar 2.1 diperlihatkan sebuah sel syaraf tiruan sebagai elemen penghitung. Simpul menerima masukan dari neuron 1, 2, dan 3 dengan

bobot hubungan masing-masing adalah 1, 2, dan 3. Argumen fungsi aktivasi

adalah net masukan (kombinasi linear masukan dan bobotnya). Ketiga sinyal simpul yang ada dijumlahkan = 1 1+ 2 2+ 3 3. Besarnya sinyal yang

diterima oleh mengikuti fungsi aktivasi = ( ). Apabila nilai fungsi aktivasi cukup kuat, maka sinyal akan diteruskan. Nilai fungsi aktivasi (keluaran model jaringan) juga dapat dipakai sebagai dasar untuk merubah bobot (Hartono, 2012).

X2

X1

X3

Y W1

W2


(38)

20

Arsitektur jaringan syaraf tiruan digolongkan menjadi tiga model. 2.2.4.1 Jaringan Layer Tunggal

Dalam jaringan ini, sekumpulan input neuron dihubungkan langsung dengan sekumpulan output-nya, seperti Gambar 2.2.

Keterangan:

1, , : Nilai input ke 1 sampai

1, , : Nilai output hasil pembangkitan nilai input oleh suatu fungsi

aktivasi

: Bobot atau nilai

Pada Gambar 2.2 diperlihatkan bahwa arsitektur jaringan layer tunggal dengan buah masukan ( 1, 2, ) dan buah keluaran ( 1, 2, ). Dalam

jaringan ini semua unit input dihubungkan dengan semua unit output. Tidak ada Gambar 2.2 Jaringan Layer Tunggal

Input Units Output Units

X1

Xi

Xn Y

m

Yj

Y1

W11

W1j

W1m

Wi1

Wij

Wim

Wn1 Wnj


(39)

unit input yang dihubungkan dengan unit input lainnya dan unit output-pun demikian.

2.2.4.2 Jaringan Layer Jamak

Keterangan:

1, , : Nilai input ke 1 sampai 1, , : Nilai dari neuron hidden layer

1, , : Nilai output hasil pembangkitan nilai input oleh suatu

fungsi aktivasi

, : Bobot atau nilai

Pada Gambar 2.3 memperlihatkan jaringan dengan buah unit masukan ( 1, 2,…, ), sebuah layer tersembunyi yang terdiri dari buah unit ( 1, 2,…, ) dan buah unit keluaran ( 1, 2,…, ). Jaringan layer jamak

dapat menyelesaikan masalah yang lebih kompleks dibandingkan dengan layer tunggal, meskipun kadangkala proses pelatihan lebih kompleks dan lama.

Gambar 2.3 Jaringan Layer Jamak Xi Xn Zp Zj Z1 Ym Yk Y1

X1 V

11 V1j V1p Vi1 Vij Vip Vn1 Vnj Vnp W11 W1k W1m Wj1 Wjk Wjm Wp1 Wpk Wpm


(40)

22

2.2.4.3 Jaringan Reccurent

Model jaringan recurrent mirip dengan jaringan layer tunggal ataupun ganda. Hanya saja, ada neuron output yang memberikan sinyal pada unit input (sering disebut feedback loop). Dengan kata lain, sinyal mengalir dua arah, yaitu maju dan mundur.

2.2.5 Backpropagation

Backpropagation merupakan salah satu dari metode pelatihan pada jaringan syaraf, dimana ciri dari metode ini adalah meminimalkan error pada output yang dihasilkan oleh jaringan (Puspita & Eunike, 2007). Backpropagation melatih jaringan untuk mendapatkan keseimbangan antara kemampuan jaringan mengenali pola yang digunakan selama training serta kemampuan jaringan untuk memberikan respon yang benar terhadap pola masukan yang serupa (tapi tidak sama) dengan pola yang dipakai selama pelatihan (Siang, 2009: 97).

Sebagian besar pelatihan untuk jaringan feedforward (umpan maju) menggunakan gradien dari fungsi aktivasi untuk menentukan bagaimana mengatur bobot-bobot dalam rangka meminimumkan kinerja. Gradien ini ditentukan dengan

Gambar 2.4 Jaringan Recurrent A1

Ai Aj

Am

1 1

1

1 −


(41)

Gambar 2.5 Arsitektur Backpropagation

menggunakan suatu teknik yang disebut backpropagation. Pada dasarnya, algoritma pelatihan standar backpropagation akan menggerakkan bobot dengan arah gradien negatif. Prinsip dasar dari algoritma backpropagation adalah memperbaiki bobot-bobot jaringan dengan arah yang membuat fungsi aktivasi menjadi turun dengan cepat.

Backpropagation memiliki beberapa unit yang ada dalam satu atau lebih layer tersembunyi (Siang, 2009: 98). Gambar 2.5 adalah arsitektur back-propagation dengan buah masukan (ditambah sebuah bias), sebuah layer tersembunyi yang terdiri atas unit (ditambah sebuah bias), serta buah keluaran. Arsitektur jaringan ini disebut jaringan layer jamak.

merupakan bobot garis dari unit masukan ke unit layer tersembunyi ( 0 merupakan bobot garis yang menghubungkan bias di unit masukan ke unit layer

Z1 Zj

Yk Ym

1 Zp

1 X1 Xi Xn

Y1

V10 Vj0

Vp0

V11 Vj1

Vp1

V1i Vji

Vpi V1n

Vjn Vkn

W10 Wk0

Wm0 W11

Wk1

Wm1 W1j

Wmj Wkj W1p Wkp Wmp . . . . . . . . . . . . . . . . . .


(42)

24

Gambar 2.6 Fungsi Sigmoid Biner dengan range (0,1)

tersembunyi ). merupakan bobot dari layer tersembunyi ke unit keluaran ( 0 merupakan bobot dari bias di layer tersembunyi ke unit keluaran ).

2.2.6 Fungsi Aktivasi

Dalam backpropagation, fungsi aktivasi yang dipakai harus memenuhi beberapa syarat, yaitu kontinu, terdiferensial dengan mudah, dan merupakan fungsi yang tidak turun (Siang, 2009: 99). Fungsi aktivasi diharapkan jenuh (mendekati nilai-nilai maksimum dan minimum secara asimtot) (Puspitaningrum, 2006: 133).

Beberapa fungsi aktivasi dalam JST adalah sebagai berikut (Puspitaningrum, 2006: 133).

2.2.6.1 Fungsi Sigmoid Biner

Fungsi ini merupakan fungsi yang umum digunakan. Range-nya adalah (0,1) dan didefinisikan sebagai berikut.

1 = 1 1 + − dengan turunan

1 = 1 (1− 1 )


(43)

2.2.6.2 Fungsi Sigmoid Bipolar

Fungsi sigmoid bipolar merupakan fungsi yang umum digunakan dan memiliki range (-1,1) yang didefinisikan sebagai

2 = 2 1 −1

dengan turunan

2 = 1

2 1 + 2 1− 2 Fungsi sigmoid bipolar diilustrasikan sebagai berikut.

2.2.6.3 Fungsi Tangen Hiperbolik

Fungsi tangen hiperbolik didefinisikan sebagai

= −

− + − dengan turunan

= 1 + 1 .


(44)

26

2.2.7 Pelatihan Standar Backpropagation

Ada tiga fase pelatihan backpropagation, antara lain (Siang, 2009:100-101): 2.2.7.1 Fase 1, yaitu propagasi maju

Dalam propagasi maju, setiap sinyal masukan (= ) dipropagasikan ke layer tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari setiap unit layer tersembunyi (= ) tersebut selanjutnya dipropagasikan maju lagi ke layer tersembunyi diatasnya menggunakan fungsi aktivasi, demikian seterusnya hingga menghasilkan keluaran jaringan(= ). Berikutnya, keluaran jaringan (= ) dibandingkan dengan target yang harus dicapai (= ). Selisih

− adalah kesalahan yang terjadi. Jika kesalahan ini lebih kecil dari batas toleransi yang ditentukan, maka iterasi dihentikan. Akan tetapi, apabila kesalahan masih lebih besar dari batas toleransinya, maka bobot setiap garis dalam jaringan akan dimodifikasi untuk mengurangi kesalahan yang terjadi.

2.2.7.2 Fase 2, yaitu propagasi mundur

Berdasarkan kesalahan − , dihitung faktor ( = 1,…, ) yang dipakai untuk mendistribusikan kesalahan di unit ke semua unit tersembunyi yang terhubung langsung dengan . juga dipakai untuk mengubah bobot garis yang berhubungan langsung dengan unit keluaran. Dengan cara yang sama, dihitung faktor di setiap unit di layer tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari unit tersembunyi di layer dibawahnya. Demikian seterusnya hingga semua faktor di unit tersembunyi yang berhubungan langsung dengan unit masukan dihitung.


(45)

2.2.7.3 Fase 3, yaitu perubahan bobot

Setelah semua faktor dihitung, bobot semua garis dimodifikasi bersamaan. Perubahan bobot suatu garis didasarkan atas faktor neuron di layer atasnya. Sebagai contoh, perubahan bobot garis yang menuju ke layer keluaran didasarkan atas yang ada di unit keluaran.

Ketiga fase tersebut diulang-ulang terus hingga kondisi penghentian dipenuhi. Umumnya, kondisi penghentian yang sering dipakai adalah jumlah iterasi atau kesalahan. Iterasi akan dihentikan jika jumlah iterasi yang dilakukan sudah melebihi jumlah maksimum iterasi yang ditetapkan, atau jika kesalahan yang terjadi sudah lebih kecil dari batas toleransi yang diijinkan.

2.2.8 Algoritma Pelatihan

Menurut Siang (2009:102), algoritma pelatihan untuk jaringan dengan satu layer tersembunyi (dengan fungsi aktivasi sigmoid biner) adalah sebagai berikut.

Langkah 0 : Inisialisasi semua bobot dengan bilangan acak kecil.

Langkah 1 : Jika kondisi penghentian belum terpenuhi, lakukan langkah 2-9.

Langkah 2 : Untuk setiap pasang data pelatihan, lakukan langkah 3-8. Fase I : Propagasi Maju

Langkah 3 : Tiap unit masukan menerima sinyal dan meneruskannya ke unit tersembunyi diatasnya.

Langkah 4 : Hitung semua keluaran di unit tersembunyi ( = 1,2,…, ).

_ = 0 + =1

= _ = 1


(46)

28

Langkah 5 : Hitung semua keluaran jaringan di unit ( = 1,2,…, ).

_ = 0+ =1

= _ = 1

1 + − _

Fase II: Propagasi Mundur

Langkah 6 : Hitung faktor unit keluaran berdasarkan kesalahan di setiap unit keluaran = 1,2,…,

= − ′ _ = − 1−

merupakan unit kesalahan yang akan dipakai dalam perubahan bobot layer di bawahnya (langkah 7).

Hitung suku perubahan bobot (yang akan dipakai nanti untuk merubah bobot ) dengan laju percepatan �.

∆ =� ; = 1,2,…, ; = 0,1,…,

Langkah 7 : Hitung faktor unit tersembunyi berdasarkan kesalahan di setiap unit tersembunyi ( = 1,2,…, )

_ = =1

Faktor unit tersembunyi

= _ ′ _ = _ 1−

Hitung suku perubahan bobot (yang dipakai nanti untuk merubah bobot )


(47)

Fase III: Perubahan Bobot

Langkah 8 : Hitung semua perubahan bobot Perubahan bobot garis yang menuju ke unit keluaran

= +∆ , = 1,2,…, ; = 0,1,…, Perubahan bobot garis yang menuju ke unit tersembunyi

= +∆ ( = 1,…, ; = 1,2,…, ).

Setelah pelatihan selesai dilakukan, jaringan dapat dipakai untuk pengenalan pola. Dalam hal ini, hanya propagasi maju (langkah 4 dan 5) saja yang dipakai untuk menentukan keluaran jaringan. Apabila fungsi aktivasi yang dipakai bukan sigmoid biner, maka langkah 4 dan 5 harus disesuaikan. Demikian juga turunannya pada langkah 6 dan 7.

Dalam beberapa kasus pelatihan yang dilakukan memerlukan iterasi yang banyak sehingga membuat proses pelatihan menjadi lama. Untuk mempercepat iterasi dapat dilakukan dengan parameter � atau laju pemahaman. Nilai � terletak antara 0 dan 1 (0 � 1). Jika harga � semakin besar, maka iterasi yang dipakai semakin sedikit. Hal ini menyebabkan pola yang sudah benar menjadi rusak sehingga pemahaman menjadi lambat. Proses pelatihan yang baik dipengaruhi pada pemilihan bobot awal karena bobot awal sangat memengaruhi apakah jaringan mencapai titik minimum lokal atau global, dan seberapa cepat konvergensinya. Oleh karena itu, dalam standar backpropagation, bobot dan bias diisi dengan bilangan acak kecil dan biasanya bobot awal diinisialisasi secara random dengan nilai antara -0,5 sampai 0,5 (atau -1 sampai 1 atau interval yang lainnya) (Amin, 2012).


(48)

30

2.2.9 Mean Square Error (MSE)

Menurut Kusumadewi (2004: 116), dalam pelatihan dengan backpropagation sama halnya seperti pelatihan pada jaringan syaraf yang lain. Pada jaringan feedforward (umpan maju), pelatihan dilakukan dalam rangka perhitungan bobot sehingga pada akhir pelatihan akan diperoleh bobot-bobot yang baik. Selama proses pelatihan, bobot-bobot diatur secara iteratif untuk meminimumkan error (kesalahan) yang terjadi. Kesalahan dihitung berdasarkan rata-rata kuadrat kesalahan (MSE). Rata-rata kuadrat kesalahan juga dijadikan dasar perhitungan unjuk kerja fungsi aktivasi.

Menurut Pratiwi (2011), pelatihan dilakukan berulang-ulang dan berhenti jika telah mencapai batas iterasi maksimum yang ditentukan dan nilai error kurang dari Mean Square Error. Semakin kecil nilai MSE, maka dapat dianggap bahwa arsitektur jaringan semakin baik, demikian sebaliknya.

2.3

Pengenalan Pola

Menurut Gonzalez dan Woods, sebagaimana dikutip oleh Abidin (2010), pola adalah suatu kuantitatif atau gambaran struktural dari suatu objek atau beberapa entitas yang menarik dari suatu citra. Secara umum, pola terbentuk oleh satu atau lebih ciri citra. Dengan kata lain, pola adalah susunan dari ciri-ciri citra. Ciri-ciri yang dapat diperoleh dari suatu citra, misalnya histrogram, arah, dan magnitudo tepi, warna, luas daerah dan sebagainya. Ilmu yang mempelajari klasifikasi atau penggambaran pola dari suatu objek berdasarkan ciri-cirinya adalah pengenalan pola.


(49)

Pengenalan pola dibedakan menjadi tiga, yaitu:

2.3.1 Deteksi

Deteksi adalah usaha untuk menemukan keberadaan, anggapan, atau kenyataan (Poerwadarminta, 2007). Deteksi umumnya berkaitan dengan segmentasi dan proses thresholding, misalnya dalam mendeteksi daun pada suatu gambar, maka benda yang berwarna hijau akan terdeteksi sebagai daun (Rupam, 2011).

2.3.2 Klasifikasi

Klasifikasi adalah proses menemukan sekumpulan model/ fungsi yang menjelaskan dan membedakan data ke dalam kelas-kelas tertentu dengan tujuan menggunakan model tersebut dalam menentukan kelas dari suatu obyek yang belum diketahui kelasnya (Maharani, 2009). Misalnya dalam pengklasifikasian mobil.

2.3.3 Pengenalan

Pengenalan pola bertujuan menentukan kelompok atau kategori pola berdasarkan ciri-ciri yang dimiliki oleh pola tersebut. Tujuan pengelompokan adalah untuk mengenali suatu objek dalam citra (Sari, 2010). Misalnya, dalam mengenali suatu wajah pada gambar, maka wajah akan dideteksi dan diproses untuk dibandingkan dengan database wajah yang dikenal sebelumnya untuk menentukan siapa orang tersebut.

2.4

Matrix Laboratory

(Matlab)

Dalam deteksi dini penyakit TBC ini, diperlukan suatu software yang dapat membantu mengimplementasikan deteksi dini menjadi sebuah angka-angka yang


(50)

32

selanjutnya dapat diolah menjadi suatu informasi. Dalam skripsi ini, penulis menggunakan software Matrix Laboratory (Matlab) untuk mencari penyelesaian masalah pengenalan pola dari suatu data yang telah disiapkan.

Menurut Iqbal (2009), Matlab adalah sebuah bahasa dengan (high-performance) kinerja tinggi untuk komputasi masalah teknik. Matlab mengintegrasikan komputasi, visualisasi, dan pemrograman dalam suatu model yang sangat mudah untuk pakai dimana masalah-masalah dan penyelesaiannya diekspresikan dalam notasi matematika yang familiar. Penggunaan Matlab meliputi bidang-bidang:

(1) matematika dan komputansi, (2) pembentukan algorithm, (3) akusisi data,

(4) pemodelan, simulasi, dan pembuatan prototype, (5) analisis data, eksplorasi, dan visualisasi,

(6) grafik keilmuan dan bidang rekayasa.

2.4.1 Jendela-jendela pada Matlab

Ada beberapa macam jendela yang tersedia dalam Matlab, yang dapat dijelaskan sebagai berikut.

2.4.1.1 Command Window/ Editor

Matlab command window/ editor merupakan jendela yang dibuka pertama kali setiap kali Matlab dijalankan. Pada jendela di atas dapat dilakukan akses-akses ke command-command Matlab dengan cara mengetikkan barisan-barisan ekspresi Matlab, seperti mengakses help window dan lain-lainnya.


(51)

Gambar 2.8 Matlab Command Window

Command window juga digunakan untuk memanggil tool Matlab seperti editor, debugger atau fungsi. Ciri dari jendela ini adalah adanya prompt (>>) yang menyatakan Matlab siap menerima perintah. Perintah dapat berupa fungsi-fungsi pengaturan file (seperti perintah DOS/UNIX) maupun fungsi-fungsi bawaan atau toolbox Matlab sendiri. Berikut ini beberapa fungsi pengaturan file dalam Matlab. dir/ls : digunakan untuk melihat isi dari sebuah direktori aktif;

cd : digunakan untuk melakukan perpindahan dari direktori aktif; pwd : digunakan untuk melihat direktori yang sedang aktif;

mkdir : digunakan untuk membuat sebuah direktori;

what : digunakan untuk melihat nama file m dalam direktori aktif; who : digunakan untuk melihat variabel yang sedang aktif;

whos : digunakan untuk menampilkan nama setiap variabel;

delete : digunakan untuk menghapus file;

clear : digunakan untuk menghapus variabel;

clc : digunakan untuk membersihkan layar;

doc : digunakan untuk melihat dokumentasi The Math Works, Inc. dalam format html secara online;


(52)

34

demo : digunakan untuk mencoba beberapa tampilan demo yang disediakan

oleh Matlab. 2.4.1.2 Current Directory

Jendela ini menampilkan isi dari direktori kerja saat menggunakan Matlab. Direktori ini dapat diganti sesuai dengan tempat direktori kerja yang diinginkan. Default dari alamat direktori berada dalam folder works tempat program files Matlab berada.

Gambar 2.9 Matlab Current Directory 2.4.1.3 Command History

Jendela ini berfungsi untuk menyimpan perintah-perintah apa saja yang sebelumnya dilakukan oleh pengguna terhadap Matlab.


(53)

2.4.1.4 Editor/ Debugger (Editor M-File/ Pencarian Kesalahan)

Jendela ini merupakan tool yang disediakan oleh Matlab 5 ke atas. Berfungsi sebagai editorscript Matlab (M-file). Walaupun sebenarnya script ini untuk pemrograman Matlab, dapat saja menggunakan editor yang lain seperi notepad, wordpad bahkan Microssoft Word.

Gambar 2.11 Matlab Editor M-File 2.4.1.5 Figure Windows

Jendela ini adalah hasil visualisasi dari script Matlab, namun Matlab memberi kemudahan bagi programer untuk mengedit jendela ini sekaligus memberikan program khusus untuk itu. Sehingga jendela ini selain berfungsi sebagai visualisasi output dapat juga sekaligus menjadi media input yang interaktif.


(54)

36

2.4.1.6 Workspace

Workspace berfungsi untuk menampilkan seluruh variabel-variabel yang sedang aktif pada saat pemakaian Matlab. Apabila variabel berupa data matriks berukuran besar maka pengguna dapat melihat isi dari seluruh data dengan melakukan double klik pada variabel tersebut. Matlab secara otomatis akan

menampilkan jendela “array editor” yang berisikan data pada setiap variabel yang

dipilih pengguna.

Gambar 2.13 Matlab Workspace 2.4.1.7 Matlab Help Window

Matlab menyediakan sistem help yang dapat diakses dengan perintah help. Misalnya, untuk memperoleh informasi mengenai fungsi elfun yaitu fungsi untuk trigonometri, eksponensial, compleks dan lain-lain.


(55)

2.4.2 Kelengkapan pada Sistem Matlab

Sebagai sebuah sistem, Matlab tersusun dari lima bagian utama (Iqbal, 2009)

2.4.2.1 Development Environment

Merupakan sekumpulan perangkat dan fasilitas yang membantu untuk menggunakan fungsi-fungsi dan file-file Matlab. Beberapa perangkat ini merupakan sebuah graphical user interfaces (GUI). Termasuk didalamnya adalah Matlab desktop dan command window, command history, sebuah editor dan debugger, dan browsers untuk melihat help, workspace, files, dan search path. 2.4.2.2 MatlabMathematical Function Library

Merupakan sekumpulan algoritma komputasi mulai dari fungsi-fungsi dasar seperti: sum, sin, cos, dan complexarithmetic, sampai dengan fungsi-fungsi yang lebih kompleks seperti matrix inverse, matrix eigenvalues, bessel functions, dan fast fourier transforms.

2.4.2.3 MatlabLanguage

Merupakan suatu high-level matrix/ array language dengan control flow statements, functions, data structures, input/ output, dan fitur-fitur object-oriented programming. Ini memungkinkan untuk melakukan kedua hal baik "pemrograman dalam lingkup sederhana" untuk mendapatkan hasil yang cepat, dan "pemrograman dalam lingkup yang lebih besar" untuk memperoleh hasil-hasil dan aplikasi yang kompleks.


(56)

38

2.4.2.4 Graphics

Matlab memiliki fasilitas untuk menampilkan vektor dan matriks sebagai suatu grafik. Di dalamnya melibatkan high-level functions (fungsi-fungsi tingkat tinggi) untuk visualisasi data dua dimensi dan data tiga dimensi, image processing, animation, dan presentation graphics. Ini juga melibatkan fungsi level rendah yang memungkinkan untuk memunculkan grafik mulai dari bentuk yang sederhana sampai dengan tingkatan graphical user interface pada aplikasi Matlab.

2.4.2.5 Matlab Application Program Interface (API)

Merupakan suatu library yang memungkinkan program yang telah Anda tulis dalam bahasa C dan Fortran mampu berinteraksi dengan Matlab. Ini melibatkan fasilitas untuk pemanggilan routines dari Matlab (dynamic linking), pemanggilan Matlab sebagai contoh computational engine dan untuk membaca dan menuliskan Mat-files.

2.4.3 GUIDE Matlab

GUIDE atau GUI builder merupakan Matlab script file yang dibuat utuk analisis suatu permasalahan khusus. Penggunaan GUIDE memberikan/ menyediakan fasilitas, seperti menu, pushbutton, slider, dan sebagainya sesuai dengan program yang diinginkan atau digunakan tanpa knowledge dari Matlab. GUIDE juga memberikan cara untuk efisiennya manajemen data (Luthfianto et all.)


(57)

Gambar 2.15 Tampilan GUIDE Matlab 2.4.3.1 Keunggulan GUIDE Matlab

GUIDE Matlab mempunyai kelebihan tersendiri dibandingkan dengan bahasa pemrograman lainnya, antara lain:

(1) GUIDE Matlab banyak digunakan dan cocok untuk aplikasi-aplikasi berorientasi sains, sehingga banyak peneliti dan mahasiswa menggunakan GUIDE Matlab untuk menyelesaikan riset atau tugas akhirnya.

(2) GUIDE Matlab mempunyai fungsi built-in yang siap digunakan dan pemakai tidak perlu repot membuatnya sendiri.

(3) Ukuran file, baik FIG-file maupun M-file yang dihasilkan relatif kecil.

(4) Kemampuan grafisnya cukup handal dan tidak kalah dibandingkan dengan bahasa pemrograman lainnya.

2.4.3.2 Komponen GUIDE Matlab

Untuk membuat sebuah user interface Matlab dengan fasilitas GUIDE harus mulai dengan membuat sebuah desain figure. Untuk membuat sebuah desain figure dapat memanfaatkan uicontrol (kontrol user interface). Beberapa uicontrol yang ada pada Matlab, antara lain:


(58)

40

2.4.3.2.1 Push Button

Push button merupakan jenis kontrol berupa tombol tekan yang akan menghasilkan tindakan jika diklik, misalnya OK, Cancel, Hitung, Hapus, dan sebagainya. Untuk menampilkan tulisan pada push button, pengaturannya dapat melalui property inspector atau menggunakan klik kanan dan pilih property inspector. Selanjutnya, isilah tab string dengan label yang diinginkan.

2.4.3.2.2 Toggle Button

Toggle button menghasilkan efek yang hampir sama dengan push button. Perbedaannya adalah saat push button ditekan, maka tombol akan kembali pada posisi semula jika tombol mouse dilepas, sedangkan pada toogle button, tombol tidak akan kembali pada posisi semula, kecuali jika menekannya kembali.

2.4.3.2.3 Radio Button

Radio button digunakan untuk memilih atau menandai satu pilihan dari beberapa pilihan yang ada. Misalnya, sewaktu akan dibuat aplikasi konversi suhu. Suhu awal dalam derajat Celcius diinputkan dan selanjutnya pilihan untuk mengonversi suhu Celcius ke Reamur, Fahrenheit, atau Kelvin.

2.4.3.2.4 Checkboxes

Kontrol checkboxes berguna jika terdapat beberapa pilihan mandiri atau tidak bergantung dengan pilihan-pilihan lainnya. Contoh aplikasi penggunaan checkboxes adalah saat pemilihan hobi. Karena hobi bisa lebih dari satu, maka checkboxes dapat diklik lebih dari satu kali.


(59)

2.4.3.2.5 Edit Text

Kontrol edit text merupakan sebuah tempat yang memungkinkan untuk memasukkan atau memodifikasi text. String property berisi teks yang akan memunculkan pada kotak edit text. Kemudian, edit text bermanfaaat pula untuk menginputkan suatu data dari keyboard. Sebagai contoh, suatu aplikasi untuk menentukan luas dan keliling sebuah lingkaran. Input dan outputnya disajikan dari edit text.

2.4.3.2.6 Static Text

Kontrol static text akan menghasilkan teks bersifat statis (tetap), sehingga pemakai tidak dapat melakukan perubahan padanya. Pada static text, teks dapat diatur dengan beberapa fasilitas, antara lain jenis dan ukuran font, warna justifikasi (left, center, right), dan lain-lain. Semuanya juga dapat dimodifikasi melalui property inspector.

2.4.3.2.7 Slider

Slider berguna jika inputan nilai yang diinginkan tidak menggunakan keyboard, tetapi hanya dengan cara menggeser slider secara vertikal maupun horizontal ke nilai yang kita inginkan. Dengan menggunakan slider, pemasukan nilai data dapat dilakukan secara lebih fleksibel karena nilai max, nilai min, serta sliderstep dapat diatur sendiri.

2.4.3.2.8 Frames

Frames merupakan kotak tertutup yang dapat digunakan untuk

mengelompokkan kontrol-kontrol yang berhubungan. Tidak seperti kontrol lainnya, frames tidak memiliki rutin callback.


(60)

42

2.4.3.2.9 Listboxes

Kontrol listbox menampilkan semua daftar item yang terdapat pada string property dan item yang ada dapat dipilih satu atau lebih. Value property berisi indeks yang dihubungkan dengan daftar item yang dapat dipilih. Jika item yang dipilih lebih dari satu, maka nilai yang dikirimkan merupakan sebuah vektor. Indeks-indeks item sebuah listbox merupakan bilangan bulat, dimana item pertama diberi indeks 0, item kedua diberi indeks 1, dan seterusnya.

2.4.3.2.10 Popup Menu

Popup menu berguna menampilkan daftar pilihan yang didefinisikan pada string property ketika mengklik tanda panah pada aplikasi dan memiliki fungsi yang sama seperti radio button. Ketika tidak dibuka, popup menu hanya menampilkan satu item yang menjadi pilihan pertama pada string property. Popup menu sangat bermanfaat ketika sebuah pilihan tanpa jarak diberikan, tidak seperti radio button.

2.4.3.2.11 Axes

Axes berguna untuk menampilkan sebuah grafik atau gambar (image). Axes sebenarnya tidak masuk dalam uicontrol, tetapi axes dapat diprogram agar pemakai dapat berinteraksi dengan axes dan objek grafik yang ditampilkan melalui axes.

2.4.4 ToolboxBackpropagation di Matlab

Software Matlab mempunyai beberapa perintah yang dapat digunakan untuk membuat jaringan syaraf tiruan backpropagation. Perintah-perintah tersebut adalah (Suharjito, 2008):


(61)

(1) newff : digunakan untuk membentuk jaringan syaraf dengan backpropagation;

(2) train : digunakan untuk melakukan pelatihan jaringan;

(3) sim : digunakan untuk melakukan output dari jaringan yang sudah dilatih;

(4) minmax : digunakan untuk mencari nilai minimum dan maksimum data input;

(5) trainParam : digunakan untuk menentukan parameter pelatihan jaringan seperti epoch, goal, learning rate, dan momentum coefisient (mc);

(6) tansig, logsig : parameter fungsi aktivasi dari suatu layer jaringan: tansig adalah fungsi aktivasi bipolar sigmoid dan logsig fungsi aktivasi binary sigmoid.

2.5

Confusion Matrix

Setelah dilakukan pemodelan data untuk klasifikasi, maka hal yang harus dikerjakan selanjutnya adalah menentukan seberapa besar tingkat akurasi sistem tersebut dalam mengenali data set pengujian.

Suatu confusion matrix merupakan alat yang berguna untuk menganalisis seberapa baik pengklasifikasi tersebut dapat mengenali tupel dalam kelas-kelas yang berbeda (Hermoza et all., 2011). Misalnya terdapat m kelas data, confusion matrix adalah tabel ukuran minimal × . Entri ��, dalam baris pertama dan kolom menunjukkan jumlah tupel kelas yang dilabeli oleh pengelompok sebagai kelas . Agar pengelompok memiliki akurasi yang baik, idealnya sebagian


(62)

44

besar tupel akan diwakili sepanjang diagonal dari confusion matrix, dari entri

��1,1 sampai entri �� , , dengan sisa entri yang mendekati nol. Tabel ini dapat

memiliki tambahan baris atau kolom untuk nilai total atau tingkat persentase per kelas.

Tabel 2.1 Contoh Confussion Matrix Kelas Prediksi Kelas Utama

Suspek TBC Negatif TBC Suspek TBC True Positive False Negative Negatif TBC False Positive True Negative

Diberikan dua kelas, yaitu tupel positif (tupel dari kelas utama, misalnya, suspek TBC) versus tupel negatif (misalnya, negatif TBC).

a. True positives mengacu pada tupel positif yang dikelompokkan dengan benar sebagai positif.

b. True negatives adalah tupel negatif yang dikelompokkan dengan benar sebagai negatif.

c. False positives adalah tupel negatif yang berlabel salah (misalnya, tupel kelas

“negatif TBC” oleh pengelompok dikenali “suspek TBC”).

d. False negatives adalah tupel positif yang dilabelkan dengan salah (misalnya,

tupel dari kelas “suspek TBC” tetapi pengelompok dikenali sebagai “negatif

TBC”).

Untuk mengetahui seberapa baik program tersebut dapat mengenali tupel

“suspek TBC” (tupel positif) dan seberapa baik pengelompok dapat mengenali

tupel “negatif TBC” (tupel negatif). Ukuran sensitivitas dan spesifisitas dapat


(63)

Sensitivitas dapat disebut sebagai angka positif benar (true positive) yaitu proporsi dari tupel positif yang dikenali dengan benar, sedangkan spesifisitas adalah angka negatif benar yaitu proporsi dari tupel negatif yang dikenali dengan benar. Ukuran ini didefinisikan sebagai berikut (Hermoza et all., 2011).

= _

= _

� = _

_ + _

Keterangan:

t_pos : jumlah dari positif benar (misalnya tupel “suspek TBC” yang dikelompokkan dengan benar);

pos : jumlah dari tupel positif (“suspek TBC”);

t_neg : jumlah dari negatif benar (misalnya tupel “negatif TBC ” yang dikelompokkan dengan benar);

neg : jumlah dari tupel negatif (“negatif TBC”);

f_pos : jumlah dari positif salah (misalnya tupel “negatif TBC” yang dilabelkan


(64)

46

BAB 3

METODE PENELITIAN

Pada penelitian ini metode atau langkah-langkah yang digunakan adalah sebagai berikut.

3.1

Studi Pustaka

Dalam studi pustaka ini digunakan sumber pustaka yang relevan yang digunakan untuk mengumpulkan informasi yang diperlukan dalam penelitian. Studi pustaka dengan mengumpulkan sumber pustaka yang dapat berupa buku, teks, makalah, dan sebagainya. Setelah sumber pustaka terkumpul dilanjutkan dengan penelaahan dari sumber pustaka tersebut. Pada akhirnya sumber pustaka itu dijadikan landasan untuk menganalisis permasalahan.

Dalam skripsi ini, perlu adanya studi pustaka yang berkaitan dengan permasalahan yang ada, yaitu tentang apa saja gejala-gejala umum penyakit TBC, jaringan syaraf tiruan backpropagation dan software Matlab yang akan dimanfaatkan untuk membantu menyelesaikan masalah yang ada.

3.2 Perumusan Masalah

Tahap ini dimaksudkan untuk memperjelas permasalahan sehingga mempermudah pembahasan selanjutnya. Selain itu, perumusan masalah juga menjadi sangat penting karena hal ini menjadi dasar dan tujuan akhir kenapa dilakukan penelitian ini. Masalah yang diangkat dalam penelitian ini adalah bagaimana mengimplementasikan jaringan syaraf tiruan backpropagation sebagai sistem deteksi penyakit Tuberculosis. Agar bisa dimanfaatkan sebagai upaya


(65)

untuk memberikan peringatan sedini mungkin berdasarkan pada data-data yang ada sebelumnya.

3.3 Pemecahan Masalah

3.3.1 Pengumpulan Data dan Pengolahan Data

Dalam perancangan sistem jaringan syaraf tiruan ini, variabel yang digunakan adalah gejala-gejala umum penyakit TBC yang meliputi batuk, sesak napas, nyeri dada, demam pada sore atau malam hari, penurunan nafsu makan, dan badan lemah (malaise). Sebagai outputnya merupakan prediksi seseorang suspek TBC atau tidak.

Pengumpulan data dilakukan dengan cara mengumpulkan data-data terkait dengan gejala-gejala TBC, seperti batuk berdahak, sesak napas, nyeri dada, demam pada sore hari, penurunan nafsu makan, dan badan lemah (malaise). Data-data yang digunakan untuk melakukan pelatihan program dan sebagai Data-data latih serta data uji untuk sistem melalui proses wawancara secara langsung kepada pasien BKPM kota Pekalongan serta dengan menganalisis data rekam medis setiap pasien. Data-data yang telah ada kemudian diolah berdasarkan kebutuhan agar bisa dijadikan data input serta akan dijadikan data latih dan data target sistem. Hal ini bertujuan untuk mempermudah penulis dalam merancang sistem deteksi dini penyakit TBC.


(66)

48

3.3.2

Perancangan, Pembuatan, dan Pengujian Sistem 3.3.2.1 Perancangan Sistem

Setelah data-data terkait gejala-gejala TBC telah diperoleh, langkah selanjutnya adalah merancang sistem deteksi penyakit TBC. Sistem deteksi penyakit TBC ini dirancang sebagai tahap awal untuk membuat sistem. Pada dasarnya tahap perancangan sistem ini merupakan kombinasi dari komponen-komponen perangkat lunak dan perangkat keras dari suatu sistem. Ada beberapa tahap yang dibuat dalam perancangan sistem ini adalah perancangan sistem pelatihan, arsitektur jaringan, dan perancangan sistem deteksi.

3.3.2.2 Pembuatan Sistem

Pembuatan sistem deteksi penyakit TBC ini menggunakan software Matlab. Software ini memiliki tools yang dapat memudahkan dalam proses pembuatan program khususnya jaringan syaraf tiruan. Dalam pembuatan sistem tahap yang harus dilakukan mulai dari pembuatan desain program dengan menggunakan Grapics User Interface (GUI) kemudian dilanjutkan dengan melengkapi coding Matlab agar desain program bisa berfungsi.

3.3.2.3 Pengujian Sistem

Pada tahap ini dilakukan pengujian terhadap sistem yang telah dibangun. Pengujian sistem dilakukan dengan menghitung tingkat keakuratan sistem dalam mendeteksi positif atau negatifnya penyakit TBC pada pasien. Langkah yang harus ditempuh yakni menggunakan confusion matrix.


(67)

Untuk melihat arsitektur jaringan yang paling efektif, dapat dilihat dari Mean Square Error (MSE) dari proses pelatihan serta melihat recognition rate dari proses perhitungan dengan melihat hasil confusion matrix.

3.4

Penarikan Kesimpulan

Langkah ini merupakan langkah terakhir dari penelitan. Penarikan kesimpulan didasarkan pada studi pustaka dan pembahasan permasalahan serta merupakan hasil analisis dari penelitian. Simpulan yang diperoleh adalah tentang bagaimana cara membuat sistem deteksi penyakit TBC dengan menggunakan jaringan syaraf tiruan backpropagation. Sehingga dapat diketahui besar tingkat akurasi sistem yang dihasilkan pada proses mendeteksi penyakit TBC.


(68)

50

BAB 4

HASIL DAN PEMBAHASAN

4.1

Hasil Penelitian

4.1.1 Tahap Pengambilan Data

Pada penelitian ini, dibuat sistem deteksi untuk mengetahui suspek atau tidaknya pasien menderita penyakit TBC di kota Pekalongan. Untuk membuatnya diperlukan data-data terkait gejala-gejala umum penyakit TBC yang meliputi batuk, sesak napas, nyeri dada, demam pada sore atau malam hari, penurunan nafsu makan, dan badan lemah (malaise). Data-data tersebut digunakan untuk melakukan pelatihan program dan sebagai data latih dan data uji untuk sistem. Sebagai outputnya merupakan prediksi seseorang suspek TBC atau tidak.

Data-data yang digunakan untuk melakukan pelatihan program dan sebagai data latih serta data uji diambil secara acak melalui proses wawancara secara langsung kepada pasien serta dengan menganalisis data rekam medis setiap pasien, mulai dari anak-anak, orang dewasa, dan orang tua pada tanggal 11 – 28 Februari 2013 di Balai Kesehatan Paru Masyarakat kota Pekalongan. Jumlah data yang digunakan sebanyak 70 pasien suspek TBC dan 30 pasien non TBC, dengan 80 data sebagai pelatihan dan 20 data dipergunakan untuk menguji keakuratan sistem yang digunakan untuk mengenali pola masukan.


(69)

4.1.2 Pendefinisian Input dan Target

Data gejala-gejala yang dialami oleh pasien selanjutnya akan diolah oleh jaringan. Agar data dapat dikenali oleh jaringan, maka data harus direpresentasikan ke dalam bentuk numerik antara 0 sampai dengan 1, baik variabel maupun isinya yang merupakan masukan gejala penyakit TBC beserta kategori dan keluaran yang merupakan prediksi penyakit TBC. Hal ini dikarenakan jaringan menggunakan fungsi aktivasi sigmoid biner (logsig) yang rangenya dari 0 sampai 1. Nilai-nilai yang digunakan diperoleh berdasarkan kategori dari masing-masing variabel selain juga untuk memudahkan mengingat dalam pendefinisiannya.

4.1.2.1 Pendefinisian Input

Gejala-gejala penyakit TBC diubah ke dalam variabel sedangkan kategori dari masing-masing gejala tersebut diubah ke bentuk numerik, yaitu:

a. Batuk ( 1) dengan kategori: Tidak batuk = 0 Batuk biasa = 0,25 Batuk berdahak = 0,5

Batuk lama = 0,75

Batuk berdarah = 1

b. Sesak napas ( 2) dengan kategori:

Tidak sesak = 0

Sedang = 0,5


(70)

52

c. Nyeri dada ( 3) dengan kategori:

Tidak nyeri = 0

Jarang = 0,5

Sering = 1

d. Demam pada sore atau malam hari ( 4) dengan kategori:

Tidak = 0

Kadang-kadang demam = 0,5 Demam agak panas = 0,75

Panas sekali = 1

e. Penurunan nafsu makan ( 5) dengan kategori:

Tidak turun = 0

Turun = 1

f. Badan lemah (malaise) ( 6) dengan kategori:

Tidak lemah = 0

Lemah = 1

4.1.2.2 Penetapan Target

Hasil yang ingin diperoleh pada tahap ini, yaitu terdeteksinya suatu nilai untuk memprediksi seseorang suspek TBC atau tidak. Hasil yang maksud adalah sebagai berikut.

a. Jika output bernilai 0 berarti pasien tidak suspek TBC. b. Jika output bernilai 1 berarti pasien suspek TBC.


(1)

54 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

55 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

56 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

57 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

58 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

59 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1

60 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

61 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

62 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

63 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

64 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

65 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1

66 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

67 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

68 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

69 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

70 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

71 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0

72 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

73 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0

74 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

75 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

76 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0

77 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0

78 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0

79 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

80 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

81 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1

82 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1


(2)

86 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

87 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

88 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

89 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

90 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

91 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

92 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

93 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1

94 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0

95 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

96 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

97 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

98 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

99 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

100 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0

Time 0:00:09 0:00:10 0:00:09 0:00:16 0:00:11 0:00:10 0:00:11 0:00:18 0:00:08 0:00:11 0:00:10 0:00:11 0:00:07 0:00:09 0:00:08 0:00:07 0:00:07 MSE 0,0378 0,0112 0,0152 0,0217 0,00554 0,00549 0.00383 0,00383 0,00368 0,00144 0,00193 0,00128 0,283 0.135 0,0832 0,012 0,00757 Recognition(

%) 94 100 98 98 99 100 100 100 99 100 100 98 70 82 90 99 100


(3)

Lampiran 14


(4)

(5)

Lampiran 16


(6)